From 18a76a274941217c2224c38378353bea744fa864 Mon Sep 17 00:00:00 2001 From: jaywcjlove Date: Wed, 29 Nov 2023 08:00:44 +0000 Subject: [PATCH] deploy: 7a9ba6d12efaf1378a8ee019092d3f1b38c36ec3 --- asset-manifest.json | 42 +++++++++---------- badges.svg | 8 ++-- coverage/lcov-report/index.html | 2 +- coverage/lcov-report/index.tsx.html | 2 +- index.html | 2 +- static/css/main.16ad0cf7.css.map | 2 +- ...r.db1975c1.css => uiw-vendor.ce1c9203.css} | 4 +- static/css/uiw-vendor.ce1c9203.css.map | 1 + static/css/uiw-vendor.db1975c1.css.map | 1 - static/js/babel-standalone-vendor.ce7e7bf6.js | 2 - .../babel-standalone-vendor.ce7e7bf6.js.map | 1 - static/js/babel-standalone-vendor.fd21f9c7.js | 2 + .../babel-standalone-vendor.fd21f9c7.js.map | 1 + static/js/main.dcd36b78.js | 3 -- static/js/main.dcd36b78.js.map | 1 - static/js/main.ec270b69.js | 3 ++ ...CENSE.txt => main.ec270b69.js.LICENSE.txt} | 13 +++++- static/js/main.ec270b69.js.map | 1 + static/js/parse5-vendor.2b2a1193.js | 2 - static/js/parse5-vendor.2b2a1193.js.map | 1 - static/js/parse5-vendor.4d76d34f.js | 2 + static/js/parse5-vendor.4d76d34f.js.map | 1 + static/js/react-vendor.06730ae1.js | 3 -- static/js/react-vendor.d6e737a5.js | 3 ++ ...t => react-vendor.d6e737a5.js.LICENSE.txt} | 0 ...e1.js.map => react-vendor.d6e737a5.js.map} | 2 +- static/js/refractor-vendor.bffefd2d.js | 2 - static/js/refractor-vendor.bffefd2d.js.map | 1 - static/js/refractor-vendor.eb103d1f.js | 2 + static/js/refractor-vendor.eb103d1f.js.map | 1 + static/js/uiw-vendor.50e35bef.js | 3 ++ ...txt => uiw-vendor.50e35bef.js.LICENSE.txt} | 2 +- static/js/uiw-vendor.50e35bef.js.map | 1 + static/js/uiw-vendor.6ef1d37e.js | 3 -- static/js/uiw-vendor.6ef1d37e.js.map | 1 - 35 files changed, 65 insertions(+), 56 deletions(-) rename static/css/{uiw-vendor.db1975c1.css => uiw-vendor.ce1c9203.css} (80%) create mode 100644 static/css/uiw-vendor.ce1c9203.css.map delete mode 100644 static/css/uiw-vendor.db1975c1.css.map delete mode 100644 static/js/babel-standalone-vendor.ce7e7bf6.js delete mode 100644 static/js/babel-standalone-vendor.ce7e7bf6.js.map create mode 100644 static/js/babel-standalone-vendor.fd21f9c7.js create mode 100644 static/js/babel-standalone-vendor.fd21f9c7.js.map delete mode 100644 static/js/main.dcd36b78.js delete mode 100644 static/js/main.dcd36b78.js.map create mode 100644 static/js/main.ec270b69.js rename static/js/{main.dcd36b78.js.LICENSE.txt => main.ec270b69.js.LICENSE.txt} (70%) create mode 100644 static/js/main.ec270b69.js.map delete mode 100644 static/js/parse5-vendor.2b2a1193.js delete mode 100644 static/js/parse5-vendor.2b2a1193.js.map create mode 100644 static/js/parse5-vendor.4d76d34f.js create mode 100644 static/js/parse5-vendor.4d76d34f.js.map delete mode 100644 static/js/react-vendor.06730ae1.js create mode 100644 static/js/react-vendor.d6e737a5.js rename static/js/{react-vendor.06730ae1.js.LICENSE.txt => react-vendor.d6e737a5.js.LICENSE.txt} (100%) rename static/js/{react-vendor.06730ae1.js.map => react-vendor.d6e737a5.js.map} (99%) delete mode 100644 static/js/refractor-vendor.bffefd2d.js delete mode 100644 static/js/refractor-vendor.bffefd2d.js.map create mode 100644 static/js/refractor-vendor.eb103d1f.js create mode 100644 static/js/refractor-vendor.eb103d1f.js.map create mode 100644 static/js/uiw-vendor.50e35bef.js rename static/js/{uiw-vendor.6ef1d37e.js.LICENSE.txt => uiw-vendor.50e35bef.js.LICENSE.txt} (93%) create mode 100644 static/js/uiw-vendor.50e35bef.js.map delete mode 100644 static/js/uiw-vendor.6ef1d37e.js delete mode 100644 static/js/uiw-vendor.6ef1d37e.js.map diff --git a/asset-manifest.json b/asset-manifest.json index 57dca7af..29330a72 100644 --- a/asset-manifest.json +++ b/asset-manifest.json @@ -1,31 +1,31 @@ { "files": { "main.css": "/static/css/main.16ad0cf7.css", - "main.js": "/static/js/main.dcd36b78.js", - "refractor-vendor.js": "/static/js/refractor-vendor.bffefd2d.js", - "uiw-vendor.css": "/static/css/uiw-vendor.db1975c1.css", - "uiw-vendor.js": "/static/js/uiw-vendor.6ef1d37e.js", - "parse5-vendor.js": "/static/js/parse5-vendor.2b2a1193.js", - "react-vendor.js": "/static/js/react-vendor.06730ae1.js", - "babel-standalone-vendor.js": "/static/js/babel-standalone-vendor.ce7e7bf6.js", + "main.js": "/static/js/main.ec270b69.js", + "refractor-vendor.js": "/static/js/refractor-vendor.eb103d1f.js", + "uiw-vendor.css": "/static/css/uiw-vendor.ce1c9203.css", + "uiw-vendor.js": "/static/js/uiw-vendor.50e35bef.js", + "parse5-vendor.js": "/static/js/parse5-vendor.4d76d34f.js", + "react-vendor.js": "/static/js/react-vendor.d6e737a5.js", + "babel-standalone-vendor.js": "/static/js/babel-standalone-vendor.fd21f9c7.js", "index.html": "/index.html", "main.16ad0cf7.css.map": "/static/css/main.16ad0cf7.css.map", - "main.dcd36b78.js.map": "/static/js/main.dcd36b78.js.map", - "refractor-vendor.bffefd2d.js.map": "/static/js/refractor-vendor.bffefd2d.js.map", - "uiw-vendor.db1975c1.css.map": "/static/css/uiw-vendor.db1975c1.css.map", - "uiw-vendor.6ef1d37e.js.map": "/static/js/uiw-vendor.6ef1d37e.js.map", - "parse5-vendor.2b2a1193.js.map": "/static/js/parse5-vendor.2b2a1193.js.map", - "react-vendor.06730ae1.js.map": "/static/js/react-vendor.06730ae1.js.map", - "babel-standalone-vendor.ce7e7bf6.js.map": "/static/js/babel-standalone-vendor.ce7e7bf6.js.map" + "main.ec270b69.js.map": "/static/js/main.ec270b69.js.map", + "refractor-vendor.eb103d1f.js.map": "/static/js/refractor-vendor.eb103d1f.js.map", + "uiw-vendor.ce1c9203.css.map": "/static/css/uiw-vendor.ce1c9203.css.map", + "uiw-vendor.50e35bef.js.map": "/static/js/uiw-vendor.50e35bef.js.map", + "parse5-vendor.4d76d34f.js.map": "/static/js/parse5-vendor.4d76d34f.js.map", + "react-vendor.d6e737a5.js.map": "/static/js/react-vendor.d6e737a5.js.map", + "babel-standalone-vendor.fd21f9c7.js.map": "/static/js/babel-standalone-vendor.fd21f9c7.js.map" }, "entrypoints": [ - "static/js/refractor-vendor.bffefd2d.js", - "static/css/uiw-vendor.db1975c1.css", - "static/js/uiw-vendor.6ef1d37e.js", - "static/js/parse5-vendor.2b2a1193.js", - "static/js/react-vendor.06730ae1.js", - "static/js/babel-standalone-vendor.ce7e7bf6.js", + "static/js/refractor-vendor.eb103d1f.js", + "static/css/uiw-vendor.ce1c9203.css", + "static/js/uiw-vendor.50e35bef.js", + "static/js/parse5-vendor.4d76d34f.js", + "static/js/react-vendor.d6e737a5.js", + "static/js/babel-standalone-vendor.fd21f9c7.js", "static/css/main.16ad0cf7.css", - "static/js/main.dcd36b78.js" + "static/js/main.ec270b69.js" ] } \ No newline at end of file diff --git a/badges.svg b/badges.svg index 421a087d..d18bff3d 100644 --- a/badges.svg +++ b/badges.svg @@ -1,14 +1,14 @@ coverage: 29.26% - + - - + + - +

All files

\ No newline at end of file +React Split
\ No newline at end of file diff --git a/static/css/main.16ad0cf7.css.map b/static/css/main.16ad0cf7.css.map index 07ff7841..a547b58b 100644 --- a/static/css/main.16ad0cf7.css.map +++ b/static/css/main.16ad0cf7.css.map @@ -1 +1 @@ -{"version":3,"file":"static/css/main.16ad0cf7.css","mappings":"AAAA,mGACE,6BAA8B,CAC9B,4BACF,CACA,gGACE,6BAA8B,CAC9B,4BACF,CAEA,mBACE,0CACF,CACA,mCACE,8CACF,CACA,+CACE,+CACF,CAEA,QAEE,2CAA4C,CAD5C,iBAEF,CACA,iCACE,yBACF,CACA,sBACE,QAAS,CAET,eAAgB,CADhB,SAEF,CACA,aAIE,wBAA2B,CAC3B,yBAA4B,CAH5B,WAAY,CACZ,aAAc,CAFd,8CAKF,CACA,eAEE,kBAAoB,CADpB,mBAEF,CACA,qCACE,qBACF,CACA,gBACE,4TACF,CACA,6BACE,YACF,CACA,4BAEE,kBAAmB,CADnB,YAEF,CACA,2BAEE,aAAc,CACd,WAAY,CAFZ,WAAa,CAGb,sBACF,CACA,iCACE,SACF,CACA,uBAGE,4BAA6B,CAI7B,QAAS,CACT,qBAAsB,CAPtB,kBAAmB,CAQnB,cAAe,CALf,oBAAqB,CACrB,cAAe,CAKf,YAAa,CAJb,eAAgB,CAJhB,iBAAkB,CASlB,qCACF,CACA,gBACE,YAAa,CACb,6BAA8B,CAE9B,uBACF,CClFA,SAIE,4BAA6B,CAC7B,oCAAqC,CAHrC,YAAa,CACb,kBAAmB,CAFnB,WAKF,CACA,aAKE,kBAAkD,CAAlD,gDAAkD,CADlD,YAAa,CADb,sBAAuB,CADvB,iBAAkB,CAIlB,wBAAyB,CACjB,qBAAiB,CAAjB,gBAAiB,CANzB,UAOF,CACA,uCAEE,UAAW,CACX,aACF,CACA,qBAEE,4BAA8B,CAD9B,mBAEF,CACA,iCAEE,kBAAwD,CAAxD,sDAAwD,CADxD,+BAEF,CACA,gCACE,iBACF,CACA,uCACE,UAAW,CACX,aAAc,CAEd,WAAY,CADZ,iBAAkB,CAElB,UAAW,CACX,UACF,CACA,uBAEU,cACV,CACA,sCACE,kBACF,CACA,iCAIE,wFAA0F,CAH1F,iBAAkB,CAElB,qBAAsB,CADtB,SAGF,CACA,+EAIE,wFAA0F,CAF1F,UAAW,CACX,UAEF,CACA,wCACE,eACF,CACA,uCACE,cACF,CACA,yCACE,kHACF,CACA,kBACE,qBACF,CACA,+BAIE,kBAAmB,CAEnB,wFAA0F,CAL1F,iBAAkB,CAIlB,kBAAmB,CAFnB,UAAW,CADX,UAKF,CACA,uCACE,kHACF,CACA,2EAIE,wFAA0F,CAF1F,WAAY,CACZ,SAEF,CACA,sCACE,gBACF,CACA,qCACE,eACF,CACA,uBAIE,QAAS,CAFT,MAAO,CADP,iBAAkB,CAElB,OAAQ,CAER,KACF,CACA,oGAEE,kBAA+D,CAA/D,6DACF,CACA,oCACE,UACF,CACA,wCACE,iBAAkB,CAElB,UAAW,CAEX,kBAAmB,CADnB,eAAgB,CAFhB,UAIF,CACA,2IAKE,UAAW,CADX,kBAAmB,CADnB,eAGF,CACA,6JAGE,kBAA8D,CAA9D,4DACF,CACA,8CACE,UAAW,CACX,UACF,CACA,sCACE,SACF,CACA,0CACE,iBAAkB,CAClB,WAAY,CAEZ,gBAAiB,CACjB,iBAAkB,CAFlB,SAGF,CACA,iJAGE,gBAAiB,CACjB,iBAAkB,CAClB,SACF,CACA,mKAGE,kBAA8D,CAA9D,4DACF,CACA,gDAEE,WAAY,CADZ,SAEF,CACA,0EAEE,sBACF,CACA,wFAEE,YACF,CACA,kFAIE,kBAAmB,CADnB,YAAa,CAEb,sBAAuB,CAHvB,iBAIF,CACA,8FAIE,wBAA6D,CAA7D,2DAA6D,CAF7D,UAAW,CACX,aAEF,CACA,kBAEE,sBACF,CACA,2CAHE,kCAKF,CACA,wBACE,YACF","sources":["../../node_modules/react-code-preview-layout/esm/styles.css","../../core/esm/style/index.css"],"sourcesContent":[".code-preview-layout[data-color-mode*='light'], [data-color-mode*='light'], body[data-color-mode*='light'] {\n --color-canvas-subtle: #f6f8fa;\n --color-border-muted: hsl(210, 18%, 87%);\n}\n.code-preview-layout[data-color-mode*='dark'], [data-color-mode*='dark'], body[data-color-mode*='dark'] {\n --color-canvas-subtle: #161b22;\n --color-border-muted: #21262d;\n}\n\n.w-rcpl.w-bordered {\n border: 1px solid var(--color-border-muted);\n}\n.w-rcpl.w-bordered > .w-rcpl-toolbar {\n border-top: 1px solid var(--color-border-muted);\n}\n.w-rcpl.w-bordered > .w-rcpl-code:not(.w-hidden) {\n border-top: 1px dashed var(--color-border-muted);\n}\n\n.w-rcpl {\n border-radius: 5px;\n background-color: var(--color-canvas-subtle);\n}\n.w-rcpl-preview:not(:last-child) {\n border-radius: 5px 5px 0 0;\n}\n.w-rcpl-code.w-hidden {\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.w-rcpl-code {\n transition: height cubic-bezier(0.360, 0.000, 0.660, -0.560);;\n height: auto;\n overflow: auto;\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n}\n.w-rcpl-code > * {\n padding: 0 !important;\n margin: 0 !important;\n}\n.w-disable-checkered > .w-rcpl-preview {\n background-image: none;\n}\n.w-rcpl-preview {\n background: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cpattern id='a' width='16' height='16' patternUnits='userSpaceOnUse'%3E%3Cpath fill='rgba(0, 0, 0, 0.06)' d='M0 0h8v8H0zm8 8h8v8H8z'/%3E%3C/pattern%3E%3Crect fill='url(%23a)' width='100%25' height='100%25'/%3E%3C/svg%3E\")\n}\n.w-rcpl-preview, .w-rcpl-code {\n padding: 15px;\n}\n.w-rcpl-extra, .w-rcpl-title {\n display: flex;\n align-items: center;\n}\n.w-rcpl-toolbar button svg {\n opacity: 0.37;\n display: block;\n height: 18px;\n transition: opacity 0.3s;\n}\n.w-rcpl-toolbar button svg:hover {\n opacity: 1;\n}\n.w-rcpl-toolbar button {\n color: currentColor;\n position: relative;\n background-color: transparent;\n display: inline-block;\n height: inherit;\n padding: 3px 4px;\n border: 0;\n box-sizing: border-box;\n cursor: pointer;\n outline: none;\n transition: opacity .2s, background .2s;\n}\n.w-rcpl-toolbar {\n display: flex;\n justify-content: space-between;\n padding: 5px 5px;\n padding-left: 8px;\n}",".w-split {\n height: 100%;\n display: flex;\n flex-direction: row;\n --w-split-bar-shadow: #d5d5d5;\n --w-split-bar-shadow-disable: #d5d5d5;\n}\n.w-split-bar {\n z-index: 10;\n position: relative;\n justify-content: center;\n display: flex;\n background: var(--w-split-bar-background, #f8f8f9);\n -webkit-user-select: none;\n user-select: none;\n}\n.w-split-bar::before,\n.w-split-bar::after {\n content: '';\n display: block;\n}\n.w-split-bar.disable {\n pointer-events: none;\n cursor: not-allowed !important;\n}\n.w-split-bar:hover:not(.disable) {\n transition: background-color 0.3s;\n background: var(--w-split-bar-hover-background, #ecf7ff);\n}\n.w-split.dragging .w-split-pane {\n position: relative;\n}\n.w-split.dragging .w-split-pane::before {\n content: '';\n display: block;\n position: absolute;\n height: 100%;\n width: 100%;\n z-index: 10;\n}\n.w-split > .w-split-pane {\n -webkit-transform: none;\n transform: none;\n}\n.w-split:not(.dragging) > .w-split-pane {\n transition: all 0.3s;\n}\n.w-split-horizontal > .w-split-bar {\n cursor: col-resize;\n width: 5px;\n flex-direction: column;\n box-shadow: inset 1px 0 0 0 var(--w-split-bar-shadow), 1px 0 0 0 var(--w-split-bar-shadow);\n}\n.w-split-horizontal > .w-split-bar::before,\n.w-split-horizontal > .w-split-bar::after {\n height: 3px;\n width: 100%;\n box-shadow: inset 0 1px 0 0 var(--w-split-bar-shadow), 0 1px 0 0 var(--w-split-bar-shadow);\n}\n.w-split-horizontal > .w-split-bar::before {\n margin-top: -1px;\n}\n.w-split-horizontal > .w-split-bar::after {\n margin-top: 3px;\n}\n.w-split-horizontal > .w-split-bar.disable {\n box-shadow: inset 1px 0 0 0 var(--w-split-bar-shadow-disable), 1px 0 0 0 var(--w-split-bar-shadow-disable) !important;\n}\n.w-split-vertical {\n flex-direction: column;\n}\n.w-split-vertical > .w-split-bar {\n cursor: row-resize;\n width: 100%;\n height: 5px;\n align-items: center;\n flex-direction: row;\n box-shadow: inset 0 1px 0 0 var(--w-split-bar-shadow), 0 1px 0 0 var(--w-split-bar-shadow);\n}\n.w-split-vertical > .w-split-bar.disable {\n box-shadow: inset 0 1px 0 0 var(--w-split-bar-shadow-disable), 0 1px 0 0 var(--w-split-bar-shadow-disable) !important;\n}\n.w-split-vertical > .w-split-bar::before,\n.w-split-vertical > .w-split-bar::after {\n height: 100%;\n width: 3px;\n box-shadow: inset 1px 0 0 0 var(--w-split-bar-shadow), 1px 0 0 0 var(--w-split-bar-shadow);\n}\n.w-split-vertical > .w-split-bar::before {\n margin-left: -1px;\n}\n.w-split-vertical > .w-split-bar::after {\n margin-left: 3px;\n}\n.w-split-large-bar div {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n}\n.w-split-vertical > .w-split-line-bar:hover::before,\n.w-split-horizontal > .w-split-line-bar:hover::before {\n background: var(--w-split-line-bar-hover-border-color, #008ef0);\n}\n.w-split-vertical > .w-split-line-bar {\n height: 1px;\n}\n.w-split-vertical > .w-split-line-bar div {\n cursor: row-resize;\n width: 100%;\n height: 8px;\n margin-top: -2px;\n margin-bottom: -2px;\n}\n.w-split-vertical > .w-split-line-bar div:hover,\n.w-split-vertical > .w-split-line-bar div:active,\n.w-split-vertical > .w-split-line-bar div:focus {\n margin-top: -6px;\n margin-bottom: -6px;\n height: 6px;\n}\n.w-split-vertical > .w-split-line-bar div:hover::after,\n.w-split-vertical > .w-split-line-bar div:active::after,\n.w-split-vertical > .w-split-line-bar div:focus::after {\n background: var(--w-split-line-bar-active-background, #008ef0);\n}\n.w-split-vertical > .w-split-line-bar div::after {\n height: 1px;\n width: 100%;\n}\n.w-split-horizontal > .w-split-line-bar {\n width: 1px;\n}\n.w-split-horizontal > .w-split-line-bar div {\n cursor: col-resize;\n height: 100%;\n width: 8px;\n margin-left: -2px;\n margin-right: -2px;\n}\n.w-split-horizontal > .w-split-line-bar div:hover,\n.w-split-horizontal > .w-split-line-bar div:active,\n.w-split-horizontal > .w-split-line-bar div:focus {\n margin-left: -6px;\n margin-right: -6px;\n width: 6px;\n}\n.w-split-horizontal > .w-split-line-bar div:hover::after,\n.w-split-horizontal > .w-split-line-bar div:active::after,\n.w-split-horizontal > .w-split-line-bar div:focus::after {\n background: var(--w-split-line-bar-active-background, #008ef0);\n}\n.w-split-horizontal > .w-split-line-bar div::after {\n width: 1px;\n height: 100%;\n}\n.w-split-vertical > .w-split-line-bar,\n.w-split-horizontal > .w-split-line-bar {\n flex-direction: inherit;\n}\n.w-split-vertical > .w-split-line-bar::before,\n.w-split-horizontal > .w-split-line-bar::before {\n display: none;\n}\n.w-split-vertical > .w-split-line-bar div,\n.w-split-horizontal > .w-split-line-bar div {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.w-split-vertical > .w-split-line-bar div::after,\n.w-split-horizontal > .w-split-line-bar div::after {\n content: '';\n display: block;\n background-color: var(--w-split-line-bar-background, #d5d5d5);\n}\n.w-split-line-bar {\n box-shadow: inset 0 0 0 0 !important;\n background: transparent;\n}\n.w-split-line-bar::before {\n box-shadow: inset 0 0 0 0 !important;\n}\n.w-split-line-bar::after {\n display: none;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/css/main.16ad0cf7.css","mappings":"AAAA,mGACE,6BAA8B,CAC9B,4BACF,CACA,gGACE,6BAA8B,CAC9B,4BACF,CAEA,mBACE,0CACF,CACA,mCACE,8CACF,CACA,+CACE,+CACF,CAEA,QAEE,2CAA4C,CAD5C,iBAEF,CACA,iCACE,yBACF,CACA,sBACE,QAAS,CAET,eAAgB,CADhB,SAEF,CACA,aAIE,wBAA2B,CAC3B,yBAA4B,CAH5B,WAAY,CACZ,aAAc,CAFd,8CAKF,CACA,eAEE,kBAAoB,CADpB,mBAEF,CACA,qCACE,qBACF,CACA,gBACE,4TACF,CACA,6BACE,YACF,CACA,4BAEE,kBAAmB,CADnB,YAEF,CACA,2BAEE,aAAc,CACd,WAAY,CAFZ,WAAa,CAGb,sBACF,CACA,iCACE,SACF,CACA,uBAGE,4BAA6B,CAI7B,QAAS,CACT,qBAAsB,CAPtB,kBAAmB,CAQnB,cAAe,CALf,oBAAqB,CACrB,cAAe,CAKf,YAAa,CAJb,eAAgB,CAJhB,iBAAkB,CASlB,qCACF,CACA,gBACE,YAAa,CACb,6BAA8B,CAE9B,uBACF,CClFA,SAIE,4BAA6B,CAC7B,oCAAqC,CAHrC,YAAa,CACb,kBAAmB,CAFnB,WAKF,CACA,aAKE,kBAAkD,CAAlD,gDAAkD,CADlD,YAAa,CADb,sBAAuB,CADvB,iBAAkB,CAIlB,wBAAyB,CACjB,qBAAiB,CAAjB,gBAAiB,CANzB,UAOF,CACA,uCAEE,UAAW,CACX,aACF,CACA,qBAEE,4BAA8B,CAD9B,mBAEF,CACA,iCAEE,kBAAwD,CAAxD,sDAAwD,CADxD,+BAEF,CACA,gCACE,iBACF,CACA,uCACE,UAAW,CACX,aAAc,CAEd,WAAY,CADZ,iBAAkB,CAElB,UAAW,CACX,UACF,CACA,uBACE,cACF,CACA,sCACE,kBACF,CACA,iCAIE,wFAA0F,CAH1F,iBAAkB,CAElB,qBAAsB,CADtB,SAGF,CACA,+EAIE,wFAA0F,CAF1F,UAAW,CACX,UAEF,CACA,wCACE,eACF,CACA,uCACE,cACF,CACA,yCACE,kHACF,CACA,kBACE,qBACF,CACA,+BAIE,kBAAmB,CAEnB,wFAA0F,CAL1F,iBAAkB,CAIlB,kBAAmB,CAFnB,UAAW,CADX,UAKF,CACA,uCACE,kHACF,CACA,2EAIE,wFAA0F,CAF1F,WAAY,CACZ,SAEF,CACA,sCACE,gBACF,CACA,qCACE,eACF,CACA,uBAIE,QAAS,CAFT,MAAO,CADP,iBAAkB,CAElB,OAAQ,CAER,KACF,CACA,oGAEE,kBAA+D,CAA/D,6DACF,CACA,oCACE,UACF,CACA,wCACE,iBAAkB,CAElB,UAAW,CAEX,kBAAmB,CADnB,eAAgB,CAFhB,UAIF,CACA,2IAKE,UAAW,CADX,kBAAmB,CADnB,eAGF,CACA,6JAGE,kBAA8D,CAA9D,4DACF,CACA,8CACE,UAAW,CACX,UACF,CACA,sCACE,SACF,CACA,0CACE,iBAAkB,CAClB,WAAY,CAEZ,gBAAiB,CACjB,iBAAkB,CAFlB,SAGF,CACA,iJAGE,gBAAiB,CACjB,iBAAkB,CAClB,SACF,CACA,mKAGE,kBAA8D,CAA9D,4DACF,CACA,gDAEE,WAAY,CADZ,SAEF,CACA,0EAEE,sBACF,CACA,wFAEE,YACF,CACA,kFAIE,kBAAmB,CADnB,YAAa,CAEb,sBAAuB,CAHvB,iBAIF,CACA,8FAIE,wBAA6D,CAA7D,2DAA6D,CAF7D,UAAW,CACX,aAEF,CACA,kBAEE,sBACF,CACA,2CAHE,kCAKF,CACA,wBACE,YACF","sources":["../../node_modules/react-code-preview-layout/esm/styles.css","../../core/esm/style/index.css"],"sourcesContent":[".code-preview-layout[data-color-mode*='light'], [data-color-mode*='light'], body[data-color-mode*='light'] {\n --color-canvas-subtle: #f6f8fa;\n --color-border-muted: hsl(210, 18%, 87%);\n}\n.code-preview-layout[data-color-mode*='dark'], [data-color-mode*='dark'], body[data-color-mode*='dark'] {\n --color-canvas-subtle: #161b22;\n --color-border-muted: #21262d;\n}\n\n.w-rcpl.w-bordered {\n border: 1px solid var(--color-border-muted);\n}\n.w-rcpl.w-bordered > .w-rcpl-toolbar {\n border-top: 1px solid var(--color-border-muted);\n}\n.w-rcpl.w-bordered > .w-rcpl-code:not(.w-hidden) {\n border-top: 1px dashed var(--color-border-muted);\n}\n\n.w-rcpl {\n border-radius: 5px;\n background-color: var(--color-canvas-subtle);\n}\n.w-rcpl-preview:not(:last-child) {\n border-radius: 5px 5px 0 0;\n}\n.w-rcpl-code.w-hidden {\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.w-rcpl-code {\n transition: height cubic-bezier(0.360, 0.000, 0.660, -0.560);;\n height: auto;\n overflow: auto;\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n}\n.w-rcpl-code > * {\n padding: 0 !important;\n margin: 0 !important;\n}\n.w-disable-checkered > .w-rcpl-preview {\n background-image: none;\n}\n.w-rcpl-preview {\n background: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cpattern id='a' width='16' height='16' patternUnits='userSpaceOnUse'%3E%3Cpath fill='rgba(0, 0, 0, 0.06)' d='M0 0h8v8H0zm8 8h8v8H8z'/%3E%3C/pattern%3E%3Crect fill='url(%23a)' width='100%25' height='100%25'/%3E%3C/svg%3E\")\n}\n.w-rcpl-preview, .w-rcpl-code {\n padding: 15px;\n}\n.w-rcpl-extra, .w-rcpl-title {\n display: flex;\n align-items: center;\n}\n.w-rcpl-toolbar button svg {\n opacity: 0.37;\n display: block;\n height: 18px;\n transition: opacity 0.3s;\n}\n.w-rcpl-toolbar button svg:hover {\n opacity: 1;\n}\n.w-rcpl-toolbar button {\n color: currentColor;\n position: relative;\n background-color: transparent;\n display: inline-block;\n height: inherit;\n padding: 3px 4px;\n border: 0;\n box-sizing: border-box;\n cursor: pointer;\n outline: none;\n transition: opacity .2s, background .2s;\n}\n.w-rcpl-toolbar {\n display: flex;\n justify-content: space-between;\n padding: 5px 5px;\n padding-left: 8px;\n}",".w-split {\n height: 100%;\n display: flex;\n flex-direction: row;\n --w-split-bar-shadow: #d5d5d5;\n --w-split-bar-shadow-disable: #d5d5d5;\n}\n.w-split-bar {\n z-index: 10;\n position: relative;\n justify-content: center;\n display: flex;\n background: var(--w-split-bar-background, #f8f8f9);\n -webkit-user-select: none;\n user-select: none;\n}\n.w-split-bar::before,\n.w-split-bar::after {\n content: '';\n display: block;\n}\n.w-split-bar.disable {\n pointer-events: none;\n cursor: not-allowed !important;\n}\n.w-split-bar:hover:not(.disable) {\n transition: background-color 0.3s;\n background: var(--w-split-bar-hover-background, #ecf7ff);\n}\n.w-split.dragging .w-split-pane {\n position: relative;\n}\n.w-split.dragging .w-split-pane::before {\n content: '';\n display: block;\n position: absolute;\n height: 100%;\n width: 100%;\n z-index: 10;\n}\n.w-split > .w-split-pane {\n transform: none;\n}\n.w-split:not(.dragging) > .w-split-pane {\n transition: all 0.3s;\n}\n.w-split-horizontal > .w-split-bar {\n cursor: col-resize;\n width: 5px;\n flex-direction: column;\n box-shadow: inset 1px 0 0 0 var(--w-split-bar-shadow), 1px 0 0 0 var(--w-split-bar-shadow);\n}\n.w-split-horizontal > .w-split-bar::before,\n.w-split-horizontal > .w-split-bar::after {\n height: 3px;\n width: 100%;\n box-shadow: inset 0 1px 0 0 var(--w-split-bar-shadow), 0 1px 0 0 var(--w-split-bar-shadow);\n}\n.w-split-horizontal > .w-split-bar::before {\n margin-top: -1px;\n}\n.w-split-horizontal > .w-split-bar::after {\n margin-top: 3px;\n}\n.w-split-horizontal > .w-split-bar.disable {\n box-shadow: inset 1px 0 0 0 var(--w-split-bar-shadow-disable), 1px 0 0 0 var(--w-split-bar-shadow-disable) !important;\n}\n.w-split-vertical {\n flex-direction: column;\n}\n.w-split-vertical > .w-split-bar {\n cursor: row-resize;\n width: 100%;\n height: 5px;\n align-items: center;\n flex-direction: row;\n box-shadow: inset 0 1px 0 0 var(--w-split-bar-shadow), 0 1px 0 0 var(--w-split-bar-shadow);\n}\n.w-split-vertical > .w-split-bar.disable {\n box-shadow: inset 0 1px 0 0 var(--w-split-bar-shadow-disable), 0 1px 0 0 var(--w-split-bar-shadow-disable) !important;\n}\n.w-split-vertical > .w-split-bar::before,\n.w-split-vertical > .w-split-bar::after {\n height: 100%;\n width: 3px;\n box-shadow: inset 1px 0 0 0 var(--w-split-bar-shadow), 1px 0 0 0 var(--w-split-bar-shadow);\n}\n.w-split-vertical > .w-split-bar::before {\n margin-left: -1px;\n}\n.w-split-vertical > .w-split-bar::after {\n margin-left: 3px;\n}\n.w-split-large-bar div {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n}\n.w-split-vertical > .w-split-line-bar:hover::before,\n.w-split-horizontal > .w-split-line-bar:hover::before {\n background: var(--w-split-line-bar-hover-border-color, #008ef0);\n}\n.w-split-vertical > .w-split-line-bar {\n height: 1px;\n}\n.w-split-vertical > .w-split-line-bar div {\n cursor: row-resize;\n width: 100%;\n height: 8px;\n margin-top: -2px;\n margin-bottom: -2px;\n}\n.w-split-vertical > .w-split-line-bar div:hover,\n.w-split-vertical > .w-split-line-bar div:active,\n.w-split-vertical > .w-split-line-bar div:focus {\n margin-top: -6px;\n margin-bottom: -6px;\n height: 6px;\n}\n.w-split-vertical > .w-split-line-bar div:hover::after,\n.w-split-vertical > .w-split-line-bar div:active::after,\n.w-split-vertical > .w-split-line-bar div:focus::after {\n background: var(--w-split-line-bar-active-background, #008ef0);\n}\n.w-split-vertical > .w-split-line-bar div::after {\n height: 1px;\n width: 100%;\n}\n.w-split-horizontal > .w-split-line-bar {\n width: 1px;\n}\n.w-split-horizontal > .w-split-line-bar div {\n cursor: col-resize;\n height: 100%;\n width: 8px;\n margin-left: -2px;\n margin-right: -2px;\n}\n.w-split-horizontal > .w-split-line-bar div:hover,\n.w-split-horizontal > .w-split-line-bar div:active,\n.w-split-horizontal > .w-split-line-bar div:focus {\n margin-left: -6px;\n margin-right: -6px;\n width: 6px;\n}\n.w-split-horizontal > .w-split-line-bar div:hover::after,\n.w-split-horizontal > .w-split-line-bar div:active::after,\n.w-split-horizontal > .w-split-line-bar div:focus::after {\n background: var(--w-split-line-bar-active-background, #008ef0);\n}\n.w-split-horizontal > .w-split-line-bar div::after {\n width: 1px;\n height: 100%;\n}\n.w-split-vertical > .w-split-line-bar,\n.w-split-horizontal > .w-split-line-bar {\n flex-direction: inherit;\n}\n.w-split-vertical > .w-split-line-bar::before,\n.w-split-horizontal > .w-split-line-bar::before {\n display: none;\n}\n.w-split-vertical > .w-split-line-bar div,\n.w-split-horizontal > .w-split-line-bar div {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.w-split-vertical > .w-split-line-bar div::after,\n.w-split-horizontal > .w-split-line-bar div::after {\n content: '';\n display: block;\n background-color: var(--w-split-line-bar-background, #d5d5d5);\n}\n.w-split-line-bar {\n box-shadow: inset 0 0 0 0 !important;\n background: transparent;\n}\n.w-split-line-bar::before {\n box-shadow: inset 0 0 0 0 !important;\n}\n.w-split-line-bar::after {\n display: none;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/css/uiw-vendor.db1975c1.css b/static/css/uiw-vendor.ce1c9203.css similarity index 80% rename from static/css/uiw-vendor.db1975c1.css rename to static/css/uiw-vendor.ce1c9203.css index 2334ec80..78f97cb6 100644 --- a/static/css/uiw-vendor.db1975c1.css +++ b/static/css/uiw-vendor.ce1c9203.css @@ -1,2 +1,2 @@ -@media (prefers-color-scheme:dark){.wmde-markdown,.wmde-markdown-var{--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-invalid-illegal-text:#f0f6fc;--color-prettylights-syntax-invalid-illegal-bg:#8e1519;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-italic:#c9d1d9;--color-prettylights-syntax-markup-bold:#c9d1d9;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-ignored-text:#c9d1d9;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-brackethighlighter-angle:#8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#c9d1d9;--color-fg-muted:#8b949e;--color-fg-subtle:#484f58;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:hsla(215,8%,47%,.4);--color-accent-fg:#58a6ff;--color-accent-emphasis:#1f6feb;--color-attention-subtle:rgba(187,128,9,.15);--color-danger-fg:#f85149;color-scheme:dark}}@media (prefers-color-scheme:light){.wmde-markdown,.wmde-markdown-var{--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-brackethighlighter-unmatched:#82071e;--color-prettylights-syntax-invalid-illegal-text:#f6f8fa;--color-prettylights-syntax-invalid-illegal-bg:#82071e;--color-prettylights-syntax-carriage-return-text:#f6f8fa;--color-prettylights-syntax-carriage-return-bg:#cf222e;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-list:#3b2300;--color-prettylights-syntax-markup-heading:#0550ae;--color-prettylights-syntax-markup-italic:#24292f;--color-prettylights-syntax-markup-bold:#24292f;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-markup-changed-text:#953800;--color-prettylights-syntax-markup-changed-bg:#ffd8b5;--color-prettylights-syntax-markup-ignored-text:#eaeef2;--color-prettylights-syntax-markup-ignored-bg:#0550ae;--color-prettylights-syntax-meta-diff-range:#8250df;--color-prettylights-syntax-brackethighlighter-angle:#57606a;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#24292f;--color-fg-muted:#57606a;--color-fg-subtle:#6e7781;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-attention-subtle:#fff8c5;--color-danger-fg:#cf222e;color-scheme:light}}.wmde-markdown-var[data-color-mode*=dark],.wmde-markdown[data-color-mode*=dark],[data-color-mode*=dark] .wmde-markdown,[data-color-mode*=dark] .wmde-markdown-var,body[data-color-mode*=dark]{--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-invalid-illegal-text:#f0f6fc;--color-prettylights-syntax-invalid-illegal-bg:#8e1519;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-italic:#c9d1d9;--color-prettylights-syntax-markup-bold:#c9d1d9;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-ignored-text:#c9d1d9;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-brackethighlighter-angle:#8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#c9d1d9;--color-fg-muted:#8b949e;--color-fg-subtle:#484f58;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:hsla(215,8%,47%,.4);--color-accent-fg:#58a6ff;--color-accent-emphasis:#1f6feb;--color-attention-subtle:rgba(187,128,9,.15);--color-danger-fg:#f85149;color-scheme:dark}.wmde-markdown-var[data-color-mode*=light],.wmde-markdown[data-color-mode*=light],[data-color-mode*=light] .wmde-markdown,[data-color-mode*=light] .wmde-markdown-var,body[data-color-mode*=light]{--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-brackethighlighter-unmatched:#82071e;--color-prettylights-syntax-invalid-illegal-text:#f6f8fa;--color-prettylights-syntax-invalid-illegal-bg:#82071e;--color-prettylights-syntax-carriage-return-text:#f6f8fa;--color-prettylights-syntax-carriage-return-bg:#cf222e;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-list:#3b2300;--color-prettylights-syntax-markup-heading:#0550ae;--color-prettylights-syntax-markup-italic:#24292f;--color-prettylights-syntax-markup-bold:#24292f;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-markup-changed-text:#953800;--color-prettylights-syntax-markup-changed-bg:#ffd8b5;--color-prettylights-syntax-markup-ignored-text:#eaeef2;--color-prettylights-syntax-markup-ignored-bg:#0550ae;--color-prettylights-syntax-meta-diff-range:#8250df;--color-prettylights-syntax-brackethighlighter-angle:#57606a;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#24292f;--color-fg-muted:#57606a;--color-fg-subtle:#6e7781;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-attention-subtle:#fff8c5;--color-danger-fg:#cf222e;color-scheme:light}.wmde-markdown{-webkit-text-size-adjust:100%;word-wrap:break-word;background-color:var(--color-canvas-default);color:var(--color-fg-default);font-family:-apple-system,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:16px;line-height:1.5}.wmde-markdown details,.wmde-markdown figcaption,.wmde-markdown figure{display:block}.wmde-markdown summary{display:list-item}.wmde-markdown [hidden]{display:none!important}.wmde-markdown a{background-color:transparent;color:var(--color-accent-fg);text-decoration:none}.wmde-markdown a:active,.wmde-markdown a:hover{outline-width:0}.wmde-markdown abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.wmde-markdown b,.wmde-markdown strong{font-weight:600}.wmde-markdown dfn{font-style:italic}.wmde-markdown h1{border-bottom:1px solid var(--color-border-muted);font-size:2em;font-weight:600;margin:.67em 0;padding-bottom:.3em}.wmde-markdown mark{background-color:var(--color-attention-subtle);color:var(--color-text-primary)}.wmde-markdown small{font-size:90%}.wmde-markdown sub,.wmde-markdown sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.wmde-markdown sub{bottom:-.25em}.wmde-markdown sup{top:-.5em}.wmde-markdown img{background-color:var(--color-canvas-default);border-style:none;box-sizing:content-box;display:inline-block;max-width:100%}.wmde-markdown code,.wmde-markdown kbd,.wmde-markdown pre,.wmde-markdown samp{font-family:monospace,monospace;font-size:1em}.wmde-markdown figure{margin:1em 40px}.wmde-markdown hr{background:transparent;background-color:var(--color-border-default);border:0;border-bottom:1px solid var(--color-border-muted);box-sizing:content-box;height:.25em;margin:24px 0;overflow:hidden;padding:0}.wmde-markdown input{font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible}.wmde-markdown [type=button],.wmde-markdown [type=reset],.wmde-markdown [type=submit]{-webkit-appearance:button}.wmde-markdown [type=button]::-moz-focus-inner,.wmde-markdown [type=reset]::-moz-focus-inner,.wmde-markdown [type=submit]::-moz-focus-inner{border-style:none;padding:0}.wmde-markdown [type=button]:-moz-focusring,.wmde-markdown [type=reset]:-moz-focusring,.wmde-markdown [type=submit]:-moz-focusring{outline:1px dotted ButtonText}.wmde-markdown [type=checkbox],.wmde-markdown [type=radio]{box-sizing:border-box;padding:0}.wmde-markdown [type=number]::-webkit-inner-spin-button,.wmde-markdown [type=number]::-webkit-outer-spin-button{height:auto}.wmde-markdown [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.wmde-markdown [type=search]::-webkit-search-cancel-button,.wmde-markdown [type=search]::-webkit-search-decoration{-webkit-appearance:none}.wmde-markdown ::-webkit-input-placeholder{color:inherit;opacity:.54}.wmde-markdown ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.wmde-markdown a:hover{text-decoration:underline}.wmde-markdown hr:after,.wmde-markdown hr:before{content:"";display:table}.wmde-markdown hr:after{clear:both}.wmde-markdown table{border-collapse:collapse;border-spacing:0;display:block;max-width:100%;width:-moz-max-content;width:max-content}.wmde-markdown td,.wmde-markdown th{padding:0}.wmde-markdown details summary{cursor:pointer}.wmde-markdown details:not([open])>:not(summary){display:none!important}.wmde-markdown kbd{background-color:var(--color-canvas-subtle);border-bottom-color:var(--color-neutral-muted);border:1px solid var(--color-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-neutral-muted);color:var(--color-fg-default);display:inline-block;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;padding:3px 5px;vertical-align:middle}.wmde-markdown h1,.wmde-markdown h2,.wmde-markdown h3,.wmde-markdown h4,.wmde-markdown h5,.wmde-markdown h6{font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:24px}.wmde-markdown h2{border-bottom:1px solid var(--color-border-muted);font-size:1.5em;font-weight:600;padding-bottom:.3em}.wmde-markdown h3{font-size:1.25em;font-weight:600}.wmde-markdown h4{font-size:1em;font-weight:600}.wmde-markdown h5{font-size:.875em;font-weight:600}.wmde-markdown h6{color:var(--color-fg-muted);font-size:.85em;font-weight:600}.wmde-markdown p{margin-bottom:10px;margin-top:0}.wmde-markdown blockquote{border-left:.25em solid var(--color-border-default);color:var(--color-fg-muted);margin:0;padding:0 1em}.wmde-markdown ol,.wmde-markdown ul{margin-bottom:0;margin-top:0;padding-left:2em}.wmde-markdown ol ol,.wmde-markdown ul ol{list-style-type:lower-roman}.wmde-markdown ol ol ol,.wmde-markdown ol ul ol,.wmde-markdown ul ol ol,.wmde-markdown ul ul ol{list-style-type:lower-alpha}.wmde-markdown dd{margin-left:0}.wmde-markdown code,.wmde-markdown pre,.wmde-markdown tt{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.wmde-markdown pre{word-wrap:normal;margin-bottom:0;margin-top:0}.wmde-markdown .octicon{fill:currentColor;display:inline-block;overflow:visible!important;vertical-align:text-bottom}.wmde-markdown ::-moz-placeholder{color:var(--color-fg-subtle);opacity:1}.wmde-markdown ::placeholder{color:var(--color-fg-subtle);opacity:1}.wmde-markdown input::-webkit-inner-spin-button,.wmde-markdown input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.wmde-markdown [data-catalyst]{display:block}.wmde-markdown:after,.wmde-markdown:before{content:"";display:table}.wmde-markdown:after{clear:both}.wmde-markdown>:first-child{margin-top:0!important}.wmde-markdown>:last-child{margin-bottom:0!important}.wmde-markdown a:not([href]){color:inherit;text-decoration:none}.wmde-markdown .absent{color:var(--color-danger-fg)}.wmde-markdown a.anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.wmde-markdown .anchor:focus{outline:none}.wmde-markdown blockquote,.wmde-markdown details,.wmde-markdown dl,.wmde-markdown ol,.wmde-markdown p,.wmde-markdown pre,.wmde-markdown table,.wmde-markdown ul{margin-bottom:16px;margin-top:0}.wmde-markdown blockquote>:first-child{margin-top:0}.wmde-markdown blockquote>:last-child{margin-bottom:0}.wmde-markdown sup>a:before{content:"["}.wmde-markdown sup>a:after{content:"]"}.wmde-markdown h1 .octicon-link,.wmde-markdown h2 .octicon-link,.wmde-markdown h3 .octicon-link,.wmde-markdown h4 .octicon-link,.wmde-markdown h5 .octicon-link,.wmde-markdown h6 .octicon-link{color:var(--color-fg-default);vertical-align:middle;visibility:hidden}.wmde-markdown h1:hover .anchor,.wmde-markdown h2:hover .anchor,.wmde-markdown h3:hover .anchor,.wmde-markdown h4:hover .anchor,.wmde-markdown h5:hover .anchor,.wmde-markdown h6:hover .anchor{text-decoration:none}.wmde-markdown h1:hover .anchor .octicon-link,.wmde-markdown h2:hover .anchor .octicon-link,.wmde-markdown h3:hover .anchor .octicon-link,.wmde-markdown h4:hover .anchor .octicon-link,.wmde-markdown h5:hover .anchor .octicon-link,.wmde-markdown h6:hover .anchor .octicon-link{visibility:visible}.wmde-markdown h1 code,.wmde-markdown h1 tt,.wmde-markdown h2 code,.wmde-markdown h2 tt,.wmde-markdown h3 code,.wmde-markdown h3 tt,.wmde-markdown h4 code,.wmde-markdown h4 tt,.wmde-markdown h5 code,.wmde-markdown h5 tt,.wmde-markdown h6 code,.wmde-markdown h6 tt{font-size:inherit;padding:0 .2em}.wmde-markdown ol.no-list,.wmde-markdown ul.no-list{list-style-type:none;padding:0}.wmde-markdown ol[type="1"]{list-style-type:decimal}.wmde-markdown ol[type=a]{list-style-type:lower-alpha}.wmde-markdown ol[type=i]{list-style-type:lower-roman}.wmde-markdown div>ol:not([type]){list-style-type:decimal}.wmde-markdown ol ol,.wmde-markdown ol ul,.wmde-markdown ul ol,.wmde-markdown ul ul{margin-bottom:0;margin-top:0}.wmde-markdown li>p{margin-top:16px}.wmde-markdown li+li{margin-top:.25em}.wmde-markdown dl{padding:0}.wmde-markdown dl dt{font-size:1em;font-style:italic;font-weight:600;margin-top:16px;padding:0}.wmde-markdown dl dd{margin-bottom:16px;padding:0 16px}.wmde-markdown table th{font-weight:600}.wmde-markdown table td,.wmde-markdown table th{border:1px solid var(--color-border-default);padding:6px 13px}.wmde-markdown table tr{background-color:var(--color-canvas-default);border-top:1px solid var(--color-border-muted)}.wmde-markdown table tr:nth-child(2n){background-color:var(--color-canvas-subtle)}.wmde-markdown table img{background-color:transparent}.wmde-markdown img[align=right]{padding-left:20px}.wmde-markdown img[align=left]{padding-right:20px}.wmde-markdown .emoji{background-color:transparent;max-width:none;vertical-align:text-top}.wmde-markdown span.frame{display:block;overflow:hidden}.wmde-markdown span.frame>span{border:1px solid var(--color-border-default);display:block;float:left;margin:13px 0 0;overflow:hidden;padding:7px;width:auto}.wmde-markdown span.frame span img{display:block;float:left}.wmde-markdown span.frame span span{clear:both;color:var(--color-fg-default);display:block;padding:5px 0 0}.wmde-markdown span.align-center{clear:both;display:block;overflow:hidden}.wmde-markdown span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.wmde-markdown span.align-center span img{margin:0 auto;text-align:center}.wmde-markdown span.align-right{clear:both;display:block;overflow:hidden}.wmde-markdown span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.wmde-markdown span.align-right span img{margin:0;text-align:right}.wmde-markdown span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.wmde-markdown span.float-left span{margin:13px 0 0}.wmde-markdown span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.wmde-markdown span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.wmde-markdown code,.wmde-markdown tt{background-color:var(--color-neutral-muted);border-radius:6px;font-size:85%;margin:0;padding:.2em .4em}.wmde-markdown code br,.wmde-markdown tt br{display:none}.wmde-markdown del code{text-decoration:inherit}.wmde-markdown pre code{font-size:100%}.wmde-markdown pre>code{background:transparent;border:0;margin:0;padding:0;white-space:pre;word-break:normal}.wmde-markdown pre{background-color:var(--color-canvas-subtle);border-radius:6px;font-size:85%;line-height:1.45}.wmde-markdown pre code,.wmde-markdown pre tt{word-wrap:normal;background-color:transparent;border:0;display:inline;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0}.wmde-markdown pre>code{display:block;overflow:auto;padding:16px}.wmde-markdown .csv-data td,.wmde-markdown .csv-data th{font-size:12px;line-height:1;overflow:hidden;padding:5px;text-align:left;white-space:nowrap}.wmde-markdown .csv-data .blob-num{background:var(--color-canvas-default);border:0;padding:10px 8px 9px;text-align:right}.wmde-markdown .csv-data tr{border-top:0}.wmde-markdown .csv-data th{background:var(--color-canvas-subtle);border-top:0;font-weight:600}.wmde-markdown .footnotes{border-top:1px solid var(--color-border-default);color:var(--color-fg-muted);font-size:12px}.wmde-markdown .footnotes ol{padding-left:16px}.wmde-markdown .footnotes li{position:relative}.wmde-markdown .footnotes li:target:before{border:2px solid var(--color-accent-emphasis);border-radius:6px;bottom:-8px;content:"";left:-24px;pointer-events:none;position:absolute;right:-8px;top:-8px}.wmde-markdown .footnotes li:target{color:var(--color-fg-default)}.wmde-markdown .footnotes .data-footnote-backref g-emoji{font-family:monospace}.wmde-markdown .task-list-item{list-style-type:none}.wmde-markdown .task-list-item label{font-weight:400}.wmde-markdown .task-list-item.enabled label{cursor:pointer}.wmde-markdown .task-list-item+.wmde-markdown .task-list-item{margin-top:3px}.wmde-markdown .task-list-item .handle{display:none}.wmde-markdown .contains-task-list input[type=checkbox],.wmde-markdown .task-list-item-checkbox{margin:0 .2em .25em -1.6em;vertical-align:middle}.wmde-markdown .contains-task-list:dir(rtl) .task-list-item-checkbox,.wmde-markdown .contains-task-list:dir(rtl) input[type=checkbox]{margin:0 -1.6em .25em .2em}.wmde-markdown ::-webkit-calendar-picker-indicator{filter:invert(50%)}.wmde-markdown pre{position:relative}.wmde-markdown pre .copied{background:var(--color-border-default);border-radius:5px;color:var(--color-fg-defaul);cursor:pointer;display:flex;font-size:12px;padding:6px;position:absolute;right:6px;top:6px;transition:all .3s;visibility:hidden}.wmde-markdown pre .copied .octicon-copy{display:block}.wmde-markdown pre .copied .octicon-check{display:none}.wmde-markdown pre:hover .copied{visibility:visible}.wmde-markdown pre:hover .copied:hover{background:var(--color-prettylights-syntax-entity-tag);color:var(--color-canvas-default)}.wmde-markdown pre .copied.active,.wmde-markdown pre:hover .copied:active{background:#2e9b33;color:var(--color-canvas-default)}.wmde-markdown pre .active .octicon-copy{display:none}.wmde-markdown pre .active .octicon-check{display:block}.highlight-line{background-color:var(--color-neutral-muted)}.code-line.line-number:before{color:var(--color-fg-subtle);content:attr(line);display:inline-block;margin-right:16px;text-align:right;white-space:nowrap;width:1rem}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:var(--color-prettylights-syntax-comment)}.token.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.selector,.token.symbol,.token.tag{color:var(--color-prettylights-syntax-entity-tag)}.token.maybe-class-name{color:var(--color-prettylights-syntax-variable)}.token.attr-name,.token.boolean,.token.builtin,.token.char,.token.number,.token.operator,.token.property-access,.token.selector .token.class,.token.string{color:var(--color-prettylights-syntax-constant)}.token.deleted{color:var(--color-prettylights-syntax-markup-deleted-text)}.code-line .token.deleted{background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.token.inserted{color:var(--color-prettylights-syntax-markup-inserted-text)}.code-line .token.inserted{background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.token.variable{color:var(--color-prettylights-syntax-constant)}.language-css .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.class-name,.token.color,.token.entity,.token.function,.token.url{color:var(--color-prettylights-syntax-string)}.token.important,.token.keyword,.token.regex,.token.rule{color:var(--color-prettylights-syntax-keyword)}.token.coord{color:var(--color-prettylights-syntax-meta-diff-range)}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.w-overlay{-webkit-overflow-scrolling:touch;bottom:0;display:none;height:100%;left:0;outline:0;overflow:auto;position:fixed;right:0;text-align:center;top:0;width:100%;z-index:999}.w-overlay.open{z-index:9999}.w-overlay-open{overflow:hidden}.w-overlay-content{display:inline-block;margin:20px 0;outline:0;position:relative;text-align:left;vertical-align:middle;z-index:20}.w-overlay-inline{overflow:visible;overflow:initial;position:absolute}.w-overlay-inline .w-overlay-container{position:relative}.w-overlay-inline .w-overlay-backdrop{position:absolute}.w-overlay-container{bottom:0;left:0;overflow:auto;position:absolute;right:0;top:0;z-index:99999}.w-overlay-container:before{content:" ";display:inline-block;height:100%;vertical-align:middle;width:1px}.w-overlay-backdrop{background-color:rgba(16,22,26,.7);bottom:0;left:0;opacity:1;overflow:auto;position:fixed;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:20}.w-overlay-enter .w-overlay-backdrop{opacity:0}.w-overlay-enter-active .w-overlay-backdrop{opacity:1;transition:opacity .3s ease-in}.w-overlay-exit .w-overlay-backdrop{opacity:1}.w-overlay-exit-active .w-overlay-backdrop{opacity:0;transition:opacity .3s ease-in}.w-overlay-enter .w-overlay-content{opacity:0;transform:scale(.5)}.w-overlay-enter-active .w-overlay-content,.w-overlay-exit .w-overlay-content{opacity:1;transform:translate(0);transition:transform .3s ease,opacity .3s ease}.w-overlay-exit-active .w-overlay-content{opacity:0;transform:scale(.5)}.w-overlay-enter,.w-overlay-enter-done,.w-overlay-exit{display:inherit}.w-icon,.w-icon svg{height:1em;width:1em}.w-icon{align-self:center;box-sizing:inherit;display:inline-flex;position:relative;transition:color .3s}.w-icon-baseline{top:.125em}.w-icon-spin svg{animation:loading-circle 1s linear infinite}@keyframes loading-circle{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.w-btn{align-items:center;border:none;border-radius:3px;color:#fff;cursor:pointer;display:inline-flex;flex-direction:row;font-size:14px;justify-content:center;line-height:14px;min-height:30px;min-width:30px;padding:5px 7px;position:relative;text-align:left;text-align:center;transition:background-color .5s,opacity 1s;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.w-btn>:not(:last-child){margin-right:5px}.w-btn+.w-btn:not(.block){margin-left:5px}.w-btn.block{display:block;width:100%}.w-btn.disabled,.w-btn[disabled]{cursor:not-allowed}.w-btn-primary{background-color:#008ef0;color:#fff;z-index:1}.w-btn-primary.focus,.w-btn-primary:focus{box-shadow:0 0 0 2px rgba(0,142,240,.26);outline:0}.w-btn-primary:hover{background-color:#0070bd;color:#fff;z-index:2}.w-btn-primary.active,.w-btn-primary:active{background-color:#00528a;background-image:none;color:#fff}.w-btn-primary.disabled,.w-btn-primary[disabled]{background-color:#57baff;z-index:0}.w-btn-primary.w-btn-basic{background-color:transparent!important;box-shadow:inset 0 0 0 #000;color:#008ef0}.w-btn-primary.w-btn-basic:hover{background-color:#c7e8ff!important}.w-btn-primary.w-btn-basic.active,.w-btn-primary.w-btn-basic:active{background-color:#94d3ff!important;background-image:none;color:#008ef0}.w-btn-primary.w-btn-basic.disabled,.w-btn-primary.w-btn-basic[disabled]{background-color:transparent!important;color:#24a6ff}.w-btn-success{background-color:#28a745;color:#fff;z-index:1}.w-btn-success.focus,.w-btn-success:focus{box-shadow:0 0 0 2px rgba(40,167,69,.26);outline:0}.w-btn-success:hover{background-color:#1e7e34;color:#fff;z-index:2}.w-btn-success.active,.w-btn-success:active{background-color:#145523;background-image:none;color:#fff}.w-btn-success.disabled,.w-btn-success[disabled]{background-color:#5dd879;z-index:0}.w-btn-success.w-btn-basic{background-color:transparent!important;box-shadow:inset 0 0 0 #000;color:#28a745}.w-btn-success.w-btn-basic:hover{background-color:#b7eec4!important}.w-btn-success.w-btn-basic.active,.w-btn-success.w-btn-basic:active{background-color:#8ee4a2!important;background-image:none;color:#28a745}.w-btn-success.w-btn-basic.disabled,.w-btn-success.w-btn-basic[disabled]{background-color:transparent!important;color:#34ce57}.w-btn-warning{background-color:#ffc107;color:#fff;z-index:1}.w-btn-warning.focus,.w-btn-warning:focus{box-shadow:0 0 0 2px rgba(255,193,7,.26);outline:0}.w-btn-warning:hover{background-color:#d39e00;color:#fff;z-index:2}.w-btn-warning.active,.w-btn-warning:active{background-color:#a07800;background-image:none;color:#fff}.w-btn-warning.disabled,.w-btn-warning[disabled]{background-color:#ffdb6d;z-index:0}.w-btn-warning.w-btn-basic{background-color:transparent!important;box-shadow:inset 0 0 0 #000;color:#ffc107}.w-btn-warning.w-btn-basic:hover{background-color:#fff7dd!important}.w-btn-warning.w-btn-basic.active,.w-btn-warning.w-btn-basic:active{background-color:#ffeaaa!important;background-image:none;color:#ffc107}.w-btn-warning.w-btn-basic.disabled,.w-btn-warning.w-btn-basic[disabled]{background-color:transparent!important;color:#ffce3a}.w-btn-danger{background-color:#dc3545;color:#fff;z-index:1}.w-btn-danger.focus,.w-btn-danger:focus{box-shadow:0 0 0 2px rgba(220,53,69,.26);outline:0}.w-btn-danger:hover{background-color:#bd2130;color:#fff;z-index:2}.w-btn-danger.active,.w-btn-danger:active{background-color:#921925;background-image:none;color:#fff}.w-btn-danger.disabled,.w-btn-danger[disabled]{background-color:#eb8c95;z-index:0}.w-btn-danger.w-btn-basic{background-color:transparent!important;box-shadow:inset 0 0 0 #000;color:#dc3545}.w-btn-danger.w-btn-basic:hover{background-color:#fceced!important}.w-btn-danger.w-btn-basic.active,.w-btn-danger.w-btn-basic:active{background-color:#f4c0c5!important;background-image:none;color:#dc3545}.w-btn-danger.w-btn-basic.disabled,.w-btn-danger.w-btn-basic[disabled]{background-color:transparent!important;color:#e4606d}.w-btn-light{background-color:#f8f9fa;box-shadow:inset 0 1px 0 0 rgba(0,0,0,.17),inset 1px -1px 0 0 rgba(0,0,0,.17),inset -1px 0 0 0 rgba(0,0,0,.17);color:#393e48;z-index:1}.w-btn-light.focus,.w-btn-light:focus{box-shadow:0 0 0 2px rgba(248,249,250,.26)}.w-btn-light:hover{background-color:#dae0e5;color:#393e48;z-index:2}.w-btn-light.active,.w-btn-light:active{background-color:#bcc6cf;background-image:none;color:#393e48}.w-btn-light.disabled,.w-btn-light[disabled]{background-color:#fff}.w-btn-light.w-btn-basic{background-color:transparent!important;box-shadow:inset 0 0 0 #000;color:#f8f9fa}.w-btn-light.w-btn-basic:hover{background-color:#fff!important}.w-btn-light.w-btn-basic.active,.w-btn-light.w-btn-basic:active{background-color:#fff!important;color:#f8f9fa}.w-btn-light.w-btn-basic.disabled,.w-btn-light.w-btn-basic[disabled]{color:#fff}.w-btn-light.focus,.w-btn-light:focus{box-shadow:inset 0 1px 0 0 rgba(0,0,0,.17),inset 1px -1px 0 0 rgba(0,0,0,.17),inset -1px 0 0 0 rgba(0,0,0,.17),0 0 0 2px rgba(0,0,0,.1);outline:0}.w-btn-light.w-btn-basic{color:#9199a7}.w-btn-light.w-btn-basic.focus,.w-btn-light.w-btn-basic:focus{box-shadow:inset 0 0 0 0 rgba(0,0,0,.17)}.w-btn-light.w-btn-basic:hover{background-color:#ecedf0!important}.w-btn-light.w-btn-basic.active,.w-btn-light.w-btn-basic:active{background-color:#d5d8dd!important;background-image:none;color:#9199a7}.w-btn-light.w-btn-basic.disabled,.w-btn-light.w-btn-basic[disabled]{background-color:transparent!important;color:#adb3be}.w-btn-light.disabled,.w-btn-light[disabled]{color:#666f81;z-index:0}.w-btn-dark{background-color:#393e48;color:#fff;z-index:1}.w-btn-dark.focus,.w-btn-dark:focus{box-shadow:0 0 0 2px rgba(57,62,72,.26);outline:0}.w-btn-dark:hover{background-color:#22252c;color:#fff;z-index:2}.w-btn-dark.active,.w-btn-dark:active{background-color:#0c0d0f;background-image:none;color:#fff}.w-btn-dark.disabled,.w-btn-dark[disabled]{background-color:#666f81;z-index:0}.w-btn-dark.w-btn-basic{background-color:transparent!important;box-shadow:inset 0 0 0 #000;color:#393e48}.w-btn-dark.w-btn-basic:hover{background-color:#a2a8b5!important}.w-btn-dark.w-btn-basic.active,.w-btn-dark.w-btn-basic:active{background-color:#858e9f!important;background-image:none;color:#393e48}.w-btn-dark.w-btn-basic.disabled,.w-btn-dark.w-btn-basic[disabled]{background-color:transparent!important;color:#505764}.w-btn-link{background-color:transparent;color:#008ef0;color:#008ef0!important;z-index:1}.w-btn-link.focus,.w-btn-link:focus{box-shadow:0 0 0 2px transparent;outline:0}.w-btn-link:hover{background-color:transparent;color:#008ef0;z-index:2}.w-btn-link.active,.w-btn-link:active{background-color:transparent;background-image:none;color:#008ef0}.w-btn-link.disabled,.w-btn-link[disabled]{background-color:rgba(51,51,51,0)}.w-btn-link.w-btn-basic{background-color:transparent!important;box-shadow:inset 0 0 0 #000;color:transparent}.w-btn-link.w-btn-basic:hover{background-color:hsla(0,0%,42%,0)!important}.w-btn-link.w-btn-basic.active,.w-btn-link.w-btn-basic:active{background-color:rgba(82,82,82,0)!important;background-image:none;color:transparent}.w-btn-link.w-btn-basic.disabled,.w-btn-link.w-btn-basic[disabled]{background-color:transparent!important;color:rgba(26,26,26,0)}.w-btn-link:hover:not([disabled]){color:#006ab3;text-decoration:underline}.w-btn-link:not([disabled]).active,.w-btn-link:not([disabled]):active{box-shadow:none;color:#002d4d;text-decoration:underline}.w-btn-link.disabled,.w-btn-link[disabled]{z-index:0}.w-btn .w-icon{font-size:16px}.w-btn-size-large{font-size:16px;line-height:16px;min-height:36px}.w-btn-size-large .w-icon{font-size:20px}.w-btn-size-small{font-size:12px;line-height:24px;min-height:24px;min-width:20px;padding:0 6px}.w-btn-size-small .w-icon{font-size:14px}.w-btn .w-icon:not(:last-child){margin-right:5px}.w-btn-loading.w-btn-light:before{border:1.2px solid #666f81}.w-btn-loading:before{animation:rotate .5s linear infinite;border:1.2px solid #fff;border-radius:50%;-webkit-clip-path:polygon(0 0,100% 0,100% 30%,0 30%);clip-path:polygon(0 0,100% 0,100% 30%,0 30%);color:#fff;content:"";display:inline-block;height:1em;margin:0 3px 0 0;width:1em}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.w-modal{z-index:1001}.w-modal-inner{background:#f9f9f9;border-radius:5px;box-shadow:0 0 0 1px rgba(16,22,26,.1),0 4px 8px rgba(16,22,26,.2),0 18px 46px 6px rgba(16,22,26,.2);min-width:320px;padding-bottom:20px}.w-modal-header{align-items:center;background-color:#fff;border-radius:5px 5px 0 0;box-shadow:0 1px 0 rgba(16,22,26,.15);display:flex;font-size:16px;min-height:40px;padding-left:13px;padding-right:5px}.w-modal-header>.w-icon{color:#393e48;margin-right:10px}.w-modal-header h4{flex:1 1 auto;font-weight:700;margin:0;min-height:22px;padding:0}.w-modal-body,.w-modal-footer{margin:0 20px}.w-modal-body{font-size:14px;padding-top:20px}.w-modal-footer{display:flex;flex-direction:row-reverse;margin-top:15px}.w-modal-footer .w-btn+.w-btn{margin-right:10px}.w-alert .w-modal-body,.w-alert .w-modal-header{display:table-cell}.w-alert .w-modal-header{background-color:transparent;box-shadow:0 0 0 0;padding:20px 0 0 20px}.w-alert .w-modal-header>.w-icon{font-size:40px;margin-right:0}.w-alert .w-modal-body{padding-left:20px;padding-right:20px;vertical-align:top}.w-alert.primary .w-modal-header>.w-icon{color:#008ef0}.w-alert.success .w-modal-header>.w-icon{color:#28a745}.w-alert.warning .w-modal-header>.w-icon{color:#ffc107}.w-alert.danger .w-modal-header>.w-icon{color:#dc3545}.w-alert .w-modal-inner .w-modal-header>button{min-height:18px;min-width:18px;padding:5px;position:absolute;right:10px;top:10px}.w-alert .w-modal-shown-title.w-modal-inner .w-modal-header{display:flex;padding-right:10px;padding-top:15px;word-break:break-word}.w-alert .w-modal-shown-title.w-modal-inner .w-modal-header>.w-icon{font-size:40px;position:absolute;top:18px}.w-alert .w-modal-shown-title.w-modal-inner .w-modal-header>button>.w-icon{font-size:14px}.w-alert .w-modal-shown-title.w-modal-inner .w-modal-body{padding-top:5px;word-break:break-word}.w-alert .w-modal-shown-icon .w-modal-header>h4{padding-left:60px}.w-alert .w-modal-shown-title.w-modal-shown-icon .w-modal-body{padding-left:80px}.w-avatar{align-items:center;background:#ccc;border-radius:3px;color:#fff;display:inline-block;display:inline-flex;font-size:18px;height:30px;justify-content:center;overflow:hidden;position:relative;text-align:center;vertical-align:middle;white-space:nowrap;width:30px}.w-avatar+.w-avatar{margin-left:5px}.w-avatar-mini{font-size:12px;height:18px;width:18px}.w-avatar-small{font-size:12px;height:24px;width:24px}.w-avatar-large{font-size:24px;height:40px;width:40px}.w-avatar-circle{border-radius:50%}.w-avatar>img{display:block;height:100%;width:100%}.w-back-top{bottom:50px;cursor:pointer;position:fixed;right:50px;transition:all 1s;z-index:1006}.w-back-top.no-fixed{cursor:auto;position:static}.w-back-top-hide{height:0;opacity:0;transition:all 1s}.w-back-top-show{opacity:1}.w-badge{display:inline-block;line-height:1;position:relative;vertical-align:middle}.w-badge sup.w-badge-count{background:#f04134;border-radius:10px;box-shadow:0 0 0 1px #fff;color:#fff;font-family:tahoma;font-size:12px;height:16px;line-height:16px;min-width:16px;padding:0 5px;position:absolute;text-align:center;top:-10px;transform:translateX(-50%);transform-origin:-10% center;white-space:nowrap}.w-badge.nowrap sup.w-badge-count{display:block;overflow:hidden;position:relative;top:auto;transform:none!important}.w-badge sup.dot{background:#f04134;border-radius:100%;box-shadow:0 0 0 1px #fff;color:transparent;height:6px;overflow:hidden;padding:0;position:absolute;top:-4px;transform:translateX(-50%);transform-origin:0 center;width:6px;z-index:10}.w-badge-dot{border-radius:50%;display:inline-block;font-size:14px;height:6px;line-height:inherit;margin:0 4px;position:relative;top:-1px;vertical-align:baseline;vertical-align:middle;width:6px}.w-badge-processing .w-badge-dot{background-color:#007bff;position:relative}.w-badge-processing .w-badge-dot:after{animation:wStatusProcessing 1.2s ease-in-out infinite;background-color:inherit;border-radius:50%;content:"";height:100%;left:0;position:absolute;top:0;width:100%}@keyframes wStatusProcessing{0%{opacity:.5;transform:scale(.8)}to{opacity:0;transform:scale(2.8)}}.w-breadcrumb-item{display:inline-flex}.w-breadcrumb-item+.w-breadcrumb-item .w-breadcrumb-separator,.w-breadcrumb-item+.w-breadcrumb-item:before{color:#6e6e6e;padding-left:8px;padding-right:8px}.w-breadcrumb-item+.w-breadcrumb-item:before{content:attr(data-separator);display:inline-block}.w-breadcrumb-item+.w-breadcrumb-item.no-before:before{display:none}.w-breadcrumb-item+.w-breadcrumb-item.no-separator{margin-left:6px}.w-breadcrumb-item+.w-breadcrumb-item.no-separator:before{display:none}.w-breadcrumb-item.active{color:#6e6e6e}.w-breadcrumb{display:inline-flex;font-size:14px}.w-btn-group>.w-btn{border-radius:0;box-shadow:inset 1px 0 0 0 rgba(0,0,0,.17),inset -1px 0 0 0 rgba(0,0,0,.17),inset -1px 0 0 0 rgba(0,0,0,.17)}.w-btn-group>.w-btn:last-child{border-radius:0 3px 3px 0}.w-btn-group>.w-btn:first-child{border-radius:3px 0 0 3px}.w-btn-group>.w-btn:first-child:last-child{border-radius:3px!important}.w-btn-group>.w-btn:focus{z-index:2}.w-btn-group .w-btn+.w-btn{margin-left:-1px!important}.w-btn-group .w-btn:not(.w-btn-light):first-child{box-shadow:inset -1px 0 0 0 rgba(0,0,0,.17)!important}.w-btn-group .w-btn:not(.w-btn-light):last-child{box-shadow:inset 1px 0 0 0 rgba(0,0,0,.17),inset 0 0 0 0 rgba(0,0,0,.17)}.w-btn-group .w-btn-light{box-shadow:inset 0 1px 0 0 rgba(0,0,0,.17),inset 1px -1px 0 0 rgba(0,0,0,.17),inset -1px 0 0 0 rgba(0,0,0,.17)!important}.w-btn-group-vertical .w-btn:not(.w-btn-light){box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.17),inset 0 1px 0 0 rgba(0,0,0,.17)!important}.w-btn-group-vertical .w-btn:not(.w-btn-light):first-child{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.17),inset 0 0 0 0 rgba(0,0,0,.17)!important}.w-btn-group-vertical .w-btn{width:100%}.w-btn-group-vertical .w-btn+.w-btn{margin-left:0!important;margin-top:-1px!important}.w-btn-group-vertical .w-btn:last-child{border-radius:0 0 3px 3px}.w-btn-group-vertical .w-btn:first-child{border-radius:3px 3px 0 0}.w-overlay.w-overlay-trigger{bottom:auto;height:auto;left:auto;overflow:inherit;position:absolute;right:auto;top:auto;width:auto}.w-overlay.w-overlay-trigger .w-overlay-container{overflow:inherit;position:relative}.w-overlay.w-overlay-trigger .w-overlay-container:before{display:none}.w-overlay.w-overlay-trigger .w-overlay-content{margin:0}.w-overlay.w-overlay-trigger.rightTop .w-overlay-content{transform-origin:left top}.w-overlay.w-overlay-trigger.right .w-overlay-content{transform-origin:left center}.w-overlay.w-overlay-trigger.rightBottom .w-overlay-content{transform-origin:left bottom}.w-overlay.w-overlay-trigger.topLeft .w-overlay-content{transform-origin:bottom left}.w-overlay.w-overlay-trigger.top .w-overlay-content{transform-origin:bottom center}.w-overlay.w-overlay-trigger.topRight .w-overlay-content{transform-origin:bottom right}.w-overlay.w-overlay-trigger.leftTop .w-overlay-content{transform-origin:right top}.w-overlay.w-overlay-trigger.left .w-overlay-content{transform-origin:right center}.w-overlay.w-overlay-trigger.leftBottom .w-overlay-content{transform-origin:right bottom}.w-overlay.w-overlay-trigger.bottomLeft .w-overlay-content{transform-origin:top left}.w-overlay.w-overlay-trigger.bottom .w-overlay-content{transform-origin:top center}.w-overlay.w-overlay-trigger.bottomRight .w-overlay-content{transform-origin:top right}.w-overlay-trigger-disabled{cursor:not-allowed}.w-popover{display:inline-block;outline:0;position:relative}.w-popover-arrow{border-color:transparent;height:30px;position:absolute;width:30px;z-index:21}.w-popover-inner{background-color:#fff;border-radius:4px;box-shadow:0 0 0 1px rgba(16,22,26,.1),0 2px 4px rgba(16,22,26,.2),0 8px 24px rgba(16,22,26,.2);display:block;font-size:12px;min-height:23px;text-align:left;text-decoration:none}.w-popover.right .w-popover-arrow,.w-popover.rightBottom .w-popover-arrow,.w-popover.rightTop .w-popover-arrow{left:2px;margin-top:-15px;top:50%}.w-popover.left .w-popover-arrow,.w-popover.leftBottom .w-popover-arrow,.w-popover.leftTop .w-popover-arrow{margin-top:-15px;right:2px;top:50%;transform:rotate(180deg)}.w-popover.leftTop .w-popover-arrow,.w-popover.rightTop .w-popover-arrow{top:15px}.w-popover.leftBottom .w-popover-arrow,.w-popover.rightBottom .w-popover-arrow{bottom:0;top:auto}.w-popover.top .w-popover-arrow,.w-popover.topLeft .w-popover-arrow,.w-popover.topRight .w-popover-arrow{bottom:2px;left:50%;margin-left:-15px;transform:rotate(-90deg)}.w-popover.bottom .w-popover-arrow,.w-popover.bottomLeft .w-popover-arrow,.w-popover.bottomRight .w-popover-arrow{left:50%;margin-left:-15px;top:2px;transform:rotate(90deg)}.w-popover.bottomLeft .w-popover-arrow,.w-popover.topLeft .w-popover-arrow{left:15px}.w-popover.bottomRight .w-popover-arrow,.w-popover.topRight .w-popover-arrow{left:auto;right:0}.w-popover.top,.w-popover.topLeft,.w-popover.topRight{padding-bottom:13px}.w-popover.bottom,.w-popover.bottomLeft,.w-popover.bottomRight{padding-top:13px}.w-popover.right,.w-popover.rightBottom,.w-popover.rightTop{padding-left:13px}.w-popover.left,.w-popover.leftBottom,.w-popover.leftTop{padding-right:13px}.w-popover.no-arrow{padding:0!important}.w-input{font-size:14px;line-height:14px;position:relative;width:100%}.w-input-inner{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:none;border-radius:3px;box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2);box-sizing:border-box;color:#393e48;font-size:inherit;font-weight:400;height:30px;line-height:30px;margin:0!important;outline:none;padding:0 10px;transition:box-shadow .3s cubic-bezier(.4,1,.75,.9);vertical-align:middle}.w-input-inner:not(:first-child){padding-left:26px}.w-input-inner:focus{box-shadow:0 0 0 1px #393e48,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-input-inner:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,0),inset 0 1px 1px rgba(16,22,26,.2)}.w-input-inner:focus.w-input-inner:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-input-inner:disabled{background:#ddd;box-shadow:none;color:#a5a5a5;cursor:not-allowed;opacity:.75;resize:none}.w-input .w-input-inner{width:100%}.w-input>.w-icon{margin:0 7px;position:absolute;top:50%;transform:translateY(-50%)}.w-input-addon-after{bottom:3px;display:flex;position:absolute;right:3px;top:3px}.w-input-addon-after>*{align-items:center;display:flex!important}.w-input-large{font-size:16px}.w-input-large .w-input-inner{height:36px;line-height:36px}.w-input-small{min-width:20px}.w-input-small .w-input-inner{height:24px;line-height:24px;padding:0 6px}.w-input-small .w-input-inner:not(:first-child){padding-left:26px}.w-input-small .w-input-addon-after>*{line-height:16px;min-height:16px}.w-timepicker{display:flex}.w-timepicker:after{clear:both;content:"";display:block}.w-timepicker-spinner{flex:1 1;font-size:14px;max-height:189px;overflow:auto}.w-timepicker-spinner:hover{overflow:auto}.w-timepicker-spinner>ul{list-style:none;margin:0!important;min-width:56px;padding-bottom:162px!important;padding-left:0!important;padding-right:0!important}.w-timepicker-spinner>ul>li+li{margin-top:0!important}.w-timepicker-spinner>ul>li{color:#393e48;cursor:pointer;height:28px;line-height:28px;text-align:center;transition:all .3s}.w-timepicker-spinner>ul>li:hover:not(.disabled){background-color:#f6f8fa}.w-timepicker-spinner>ul>li:active:not(.disabled){background-color:#e1e5e8}.w-timepicker-spinner>ul>li.selected{background-color:#f1f1f1;color:#000;font-weight:700}.w-timepicker-spinner>ul>li.disabled{color:#d4d4d4;cursor:not-allowed}.w-timepicker-spinner>ul>li.disabled.hide{display:none}.w-timepicker-spinner+.w-timepicker-spinner ul{border-left:1px solid #e9e9e9}.w-timepicker{border-radius:4px;overflow:hidden}.w-timepicker-input.disabled .w-timepicker-close-btn{display:none!important}.w-timepicker-input .w-timepicker-close-btn{color:#a5a5a5;display:none;min-height:0;min-height:auto}.w-timepicker-input .w-timepicker-close-btn:hover{background-color:transparent!important;color:#393e48}.w-datepicker-week,.w-datepicker-weekday{display:flex;width:100%}.w-datepicker-week>div,.w-datepicker-weekday>div{display:table-cell;flex:1 1;min-height:26px;min-width:26px;text-align:center;vertical-align:middle}.w-datepicker-weekday>div{font-weight:700}.w-datepicker-week>div.end,.w-datepicker-weekday>div.end{color:#6f6f6f}.w-datepicker-week>div{border-radius:3px;cursor:pointer}.w-datepicker-week>div.next,.w-datepicker-week>div.prev{color:#d3d3d3}.w-datepicker-week>div>div{border-radius:3px;line-height:22px;margin:0 2px;transition:background-color .3s,color .3s}.w-datepicker-week>div.today>div{background-color:#eaeaea}.w-datepicker-week>div.selected:hover>div,.w-datepicker-week>div.selected>div{background-color:#2ea3f4;color:#fff}.w-datepicker-week>div:hover>div{background-color:#eaeaea;color:#393e48}.w-datepicker-week>div:active>div{background-color:#d2d2d2}.w-datepicker-week>div.disabled:hover>div,.w-datepicker-week>div.disabled>div{background-color:#f5f5f5;color:#d3d3d3;cursor:not-allowed}.w-datepicker-week>div.disabled.today>div,.w-datepicker-week>div.disabled:hover.today>div{background-color:hsla(0,0%,74%,.47);color:#fff}.w-datepicker-week>div.disabled.selected>div,.w-datepicker-week>div.disabled:hover.selected>div{background-color:rgba(46,163,244,.47);color:#fff}.w-datepicker-body{padding-top:5px}.w-datepicker-month,.w-datepicker-year{max-width:100%;padding:10px 0 9px;text-align:center}.w-datepicker-month>div,.w-datepicker-year>div{display:inline-block;line-height:20px;margin:3px 0;width:50%}.w-datepicker-month>div>span,.w-datepicker-year>div>span{border-radius:3px;cursor:pointer;display:inline-block;padding:1px 6px}.w-datepicker-month>div.selected>span,.w-datepicker-year>div.selected>span{background-color:#2ea3f4;color:#fff}.w-datepicker-month>div>span:hover,.w-datepicker-year>div>span:hover{background-color:#dcf0fd;color:#2ea3f4}.w-datepicker-month>div.paging,.w-datepicker-year>div.paging{color:rgba(0,0,0,.25)}.w-datepicker-year>div{width:33.333%}.w-datepicker-caption{border-bottom:1px solid #ececec;padding:0 0 3px;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.w-datepicker-caption-pane{border-radius:3px;cursor:pointer;display:inline-block;font-weight:700;padding:1px 5px;transition:background-color .3s}.w-datepicker-caption-pane:hover{background-color:#eaeaea}.w-datepicker-caption-pane:active{background-color:#d2d2d2}.w-datepicker-caption-pane.year+.w-datepicker-caption-pane.month{margin-left:5px}.w-datepicker-caption-pane.next,.w-datepicker-caption-pane.prev{padding:1px 8px 6px;position:relative;z-index:30}.w-datepicker-caption-pane.next:after,.w-datepicker-caption-pane.next:before,.w-datepicker-caption-pane.prev:after,.w-datepicker-caption-pane.prev:before{background-color:#333;border-radius:2px;content:"";display:block;height:8px;width:2px}.w-datepicker-caption-pane.next:after,.w-datepicker-caption-pane.prev:after{margin-top:-4px}.w-datepicker-caption-pane.next:before,.w-datepicker-caption-pane.prev:before{margin-top:4px}.w-datepicker-caption-pane.next:before,.w-datepicker-caption-pane.prev:after{transform:rotate(-45deg)}.w-datepicker-caption-pane.next:after,.w-datepicker-caption-pane.prev:before{transform:rotate(45deg)}.w-datepicker-caption-pane.prev{float:left}.w-datepicker-caption-pane.next{float:right}.w-datepicker-caption-today{background:#dedede;border-radius:3px;cursor:pointer;display:inline-block;height:10px;margin:0 0 0 2px;overflow:hidden;transition:background-color .3s;width:10px}.w-datepicker-caption-today:before{background-color:#a0a0a0;border-radius:3px;content:"";display:block;height:4px;margin:3px 0 0 3px;width:4px}.w-datepicker-caption-today:hover{background-color:#2ea3f4}.w-datepicker-caption-today:hover:before{background-color:#fff}.w-datepicker-caption-today:active{background-color:#007cd2}.w-datepicker-caption-today:active:before{background-color:#fff}.w-datepicker{background:#fff;border-radius:3px;box-shadow:0 0 0 1px rgba(16,22,26,.1),0 0 0 rgba(16,22,26,0),0 1px 1px rgba(16,22,26,.2);color:#393e48;display:inline-block;font-size:14px;line-height:21px;max-width:192px;min-width:192px;padding:5px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:top}.w-datepicker-timepicker{border:1px solid #e9e9e9;border-radius:0 0 4px 4px!important;border-top:0}.w-datepicker-timepicker>div{max-height:186px}.w-datepicker-time-btn{border-radius:3px;cursor:pointer;display:inline-block;margin-top:2px;padding:1px 5px;transition:background-color .3s}.w-datepicker-time-btn:hover{background-color:#eaeaea}.w-datepicker-time-btn:active{background-color:#d2d2d2}.w-calendar-inner{padding:5px;text-align:right}.w-calendar-panel{height:90px;line-height:16px;overflow-y:auto;text-align:left;width:100%}.w-calendar-panel>*{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.w-calendar-caption{display:inline-block;font-size:26px;font-weight:200;width:100%}.w-calendar-btn-group,.w-calendar-title{display:inline-block;-webkit-user-select:none;-moz-user-select:none;user-select:none}.w-calendar-btn-group{float:right}.w-calendar-btn-group>.w-calendar-btn{font-size:16px;padding:2px 3px;position:relative;top:-3px}.w-calendar-btn-group>.w-calendar-btn,.w-calendar-btn-group>.w-icon{border-radius:3px;cursor:pointer;transition:all .3s}.w-calendar-btn-group>.w-calendar-btn:hover,.w-calendar-btn-group>.w-icon:hover{background-color:#ececec}.w-calendar-btn-group>.w-calendar-btn:active,.w-calendar-btn-group>.w-icon:active{background-color:#dedddd}.w-calendar-btn-group>.w-calendar-btn,.w-calendar-btn-group>.w-icon{margin-top:-6px;vertical-align:middle}.w-calendar-btn-group>.w-calendar-btn>svg,.w-calendar-btn-group>.w-icon>svg{height:18px;margin:4px 0 0 4px;width:18px}.w-calendar-btn-group>.w-calendar-btn:last-child,.w-calendar-btn-group>.w-icon:last-child{transform:rotate(-90deg)}.w-calendar-btn-group>.w-calendar-btn:first-child,.w-calendar-btn-group>.w-icon:first-child{transform:rotate(90deg)}.w-calendar-day{padding-right:5px}.w-calendar .w-datepicker-body{padding:0}.w-calendar .w-datepicker-week:last-child>div{border-bottom:0}.w-calendar .w-datepicker-week>div{border-bottom:1px solid #ececec;border-radius:0;border-right:1px solid #ececec}.w-calendar .w-datepicker-week>div:last-child{border-right:0}.w-calendar .w-datepicker-week>div>div{border-radius:0;margin:0}.w-calendar .w-datepicker-weekday>div{background-color:#ececec;height:32px;line-height:32px}.w-card{background:#fff;border-radius:5px;font-size:14px;line-height:1.5;position:relative;transition:all .3s}.w-card.active,.w-card:not(.w-card-no-hover):hover{border-color:rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.2)}.w-card-bordered{border:1px solid #e9e9e9}.w-card-head{zoom:1;border-radius:2px 2px 0 0;height:40px;line-height:40px;padding:0 14px}.w-card-head+.w-card-body{border-top:1px solid #e9e9e9}.w-card-head-title{color:rgba(0,0,0,.85);display:inline-block;font-size:14px;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-card-extra{position:absolute;right:16px;top:0}.w-card-body{padding:14px}.w-card-body+.w-card-footer{border-top:1px solid rgba(0,0,0,.05)}.w-card-footer{padding:8px 10px}.w-card-footer a{color:rgba(0,0,0,.4)}.w-carousel{overflow:hidden}.w-carousel-content{height:200px;transition:.6s ease-in-out}.w-menu-item{align-items:flex-start;border-radius:2px;color:inherit;display:flex;flex-direction:row;line-height:20px;padding:5px 7px;position:relative;text-decoration:none;transition:initial;transition:background-color .3s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.w-menu-item.active,.w-menu-item:hover{background-color:rgba(167,182,194,.3);color:inherit;cursor:pointer;text-decoration:none}.w-menu-item:active{background-color:rgba(115,134,148,.3)}.w-menu-item.w-disabled{background-color:inherit!important;cursor:not-allowed!important;outline:none!important}.w-menu-item.w-disabled,.w-menu-item.w-disabled .w-menu-item-icon{color:rgba(92,112,128,.5)!important}.w-menu-item-text{flex-grow:1}.w-menu-item>*{margin-right:7px}.w-menu-item>:last-child{margin-right:0}.w-menu-item-multiline{word-wrap:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-menu-subitem .w-menu-subitem-collapse{height:0}.w-menu-subitem-collapse{bottom:auto!important;left:auto!important;overflow:hidden!important;position:relative!important;right:auto!important;top:auto!important;transition:height .3s;width:auto!important}.w-menu-subitem-collapse ul{min-width:100%;padding-right:0!important}.w-menu-subitem-collapse-icon{transform:scale(.79)}.w-menu-subitem-popup{min-width:180px}.w-menu-subitem-title.w-menu-subitem-collapse-title .w-close,.w-menu-subitem-title.w-menu-subitem-collapse-title .w-open{transition:rotate all .3s}.w-menu-subitem-title.w-menu-subitem-collapse-title .w-close{transform:scale(.79) rotate(90deg)}.w-menu-subitem-title.w-menu-subitem-collapse-title .w-open{transform:scale(.79) rotate(-90deg)}.w-menu-subitem-enter,.w-menu-subitem-enter-done,.w-menu-subitem-exit{display:inherit}.w-menu{border-radius:3px;box-sizing:border-box;font-size:14px;margin:0!important;min-width:100%;padding:5px;text-align:left;transition:width .2s,min-width .2s,max-width .2s,height .2s,min-height .2s,max-height .2s;width:100%}.w-menu.w-menu-dark,.w-menu.w-menu-light{padding-left:5px}.w-menu:not(.w-menu-dark){background:#fff;color:#182026}.w-menu li{list-style:none!important;margin:0!important;position:relative}.w-menu li:first-of-type{border-top:none}.w-menu li a:not([href]){color:inherit}.w-menu.w-bordered{box-shadow:0 0 0 1px rgba(16,22,26,.1),0 0 0 rgba(16,22,26,0),0 1px 1px rgba(16,22,26,.2)}.w-menu .w-menu-divider{border-top:1px solid rgba(16,22,26,.15);display:block;margin:5px!important}.w-menu .w-menu-divider>strong{display:block;line-height:17px}.w-menu .w-menu-divider:not(:first-of-type)>strong{margin-top:10px}.w-menu.w-menu-light.w-menu-inline-collapsed>li>.w-menu-item:hover{color:#008ef0}.w-menu-inline-collapsed{min-width:80px;width:80px}.w-menu-inline-collapsed>li>.w-menu-item{font-size:18px;justify-content:center;padding-bottom:10px;padding-top:10px}.w-menu-inline-collapsed>li>.w-menu-item:hover{background-color:transparent;color:#fff}.w-menu-inline-collapsed>li>.w-menu-item>*{margin-right:0}.w-menu-inline-collapsed>li>.w-menu-item .w-menu-item-text{flex-grow:0;width:0}.w-menu-inline-collapsed>li>.w-menu-item .w-menu-subitem-collapse-icon{display:none}.w-menu-dark,.w-menu-dark .w-menu,.w-menu-dark.w-bordered{background:#343a40;color:hsla(0,0%,100%,.65)}.w-menu-dark.w-bordered{box-shadow:none}.w-menu-dark .active{color:#fff!important}.w-menu-dark .w-menu-item.w-disabled,.w-menu-dark .w-menu-item.w-disabled .w-menu-item-icon{color:hsla(0,0%,56%,.79)!important}.w-menu-dark .w-menu-divider{border-top:1px solid hsla(0,0%,100%,.2)}.w-cascader-close{color:#393e48;font-size:15px;margin-right:1px}.w-radio{display:inline-block;font-size:12px;vertical-align:middle}.w-radio input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-clip:border-box;background-color:#fff;border:1px solid #d7d7d7;border-radius:50%;height:16px;margin:-.15px .6px 0 0;outline:none;position:relative;transition:border .25s,box-shadow .25s;width:16px}.w-radio input[type=radio]:not(:checked):not(:disabled):not(.disabled):focus,.w-radio input[type=radio]:not(:checked):not(:disabled):not(.disabled):hover{box-shadow:0 0 0 2px rgba(0,142,240,.25)}.w-radio input[type=radio],.w-radio-text{vertical-align:middle}.w-radio input[type=radio]:checked{border:5px solid #008ef0}.w-radio input[type=radio]:checked:focus{box-shadow:0 0 0 2px rgba(0,142,240,.25)}.w-radio.disabled{color:#c7c7c7}.w-radio.disabled,.w-radio.disabled input[type=radio]{cursor:not-allowed}.w-radio.disabled input[type=radio]:checked{border:5px solid #cecece}.w-radio.disabled:not(.checked) input[type=radio]{background-color:#efefef}.w-radio-text{display:inline-block;font-size:14px;margin-left:4px;margin-right:5px}.w-radio-group{font-size:0}.w-checkbox{cursor:pointer;font-size:0;vertical-align:middle;white-space:nowrap}.w-checkbox input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-clip:border-box;background-color:#d7d7d7;border-radius:2px;font-size:14px;height:14px;line-height:14px;margin:0!important;outline:none;transition:background-color .3s,box-shadow .3s;width:14px}.w-checkbox input[type=checkbox]:after{box-sizing:inherit;content:""}.w-checkbox input[type=checkbox]:not(:checked):not(:disabled):not(.disabled):focus,.w-checkbox input[type=checkbox]:not(:checked):not(:disabled):not(.disabled):hover{box-shadow:inset 0 1px 2px rgba(16,22,26,.35)}.w-checkbox.disabled,.w-checkbox.disabled input[type=checkbox]{cursor:not-allowed}.w-checkbox.disabled input[type=checkbox]{opacity:.5}.w-checkbox.disabled .w-checkbox-text{color:#6e6e6e}.w-checkbox.indeterminate input[type=checkbox],.w-checkbox.indeterminate input[type=checkbox]:checked{background-color:transparent;box-shadow:inset 0 0 0 1px #008ef0}.w-checkbox.indeterminate input[type=checkbox]:after,.w-checkbox.indeterminate input[type=checkbox]:checked:after{background-color:#008df8;border-radius:2px;border-width:0;box-sizing:inherit;display:inline-block;height:8px;position:relative;right:-3px;top:-1px;transform:rotate(0);width:8px}.w-checkbox input[type=checkbox],.w-checkbox-text{vertical-align:middle}.w-checkbox input[type=checkbox]:checked{background-color:#008ef0}.w-checkbox input[type=checkbox]:checked:after{border:solid #fff;border-width:0 2px 2px 0;display:inline-block;height:10px;position:relative;right:-4px;top:-1px;transform:rotate(33deg);transition:background-color .2s ease-in;width:6px}.w-checkbox-text{display:inline-block;font-size:14px;margin-right:5px;padding-left:4px}.w-collapse{background-color:#fff;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;line-height:16px;overflow:hidden}.w-collapse>.w-collapse-item:last-child,.w-collapse>.w-collapse-item:last-child .w-collapse-header{border-radius:0 0 5px 5px}.w-collapse-title{flex:1 1}.w-collapse-header{background-color:#fafafa;color:rgba(0,0,0,.85);cursor:pointer;display:flex;padding:8px 10px;position:relative;transition:all .3s;z-index:1}.w-collapse-header>.w-icon:first-child{margin-right:5px;margin-top:-2px;transform:scale(.85) rotate(-90deg);transition:transform .24s}.w-collapse-header>.w-icon:first-child svg{display:block}.w-collapse-header>*{display:inline-block;vertical-align:middle}.w-collapse-active .w-collapse-header>.w-icon:first-child{transform:scale(.85) rotate(0)}.w-collapse-panel{color:rgba(0,0,0,.65);overflow:hidden;padding:0 10px}.w-collapse-panel:after,.w-collapse-panel:before{content:"";display:block;height:10px;overflow:hidden}.w-collapse-panel:before{border-top:1px solid #d9d9d9;margin:0 -10px;position:relative;z-index:1}.w-collapse-panel:after{border-bottom:1px solid #d9d9d9;margin:0 -10px;position:relative;z-index:1}.w-collapse>.w-collapse-item:last-child .w-collapse-panel:after{border-bottom:0 solid #d9d9d9}.w-collapse>.w-collapse-item:not(.w-collapse-active):last-child .w-collapse-panel:before{border-top:0 solid #d9d9d9}.w-collapse-disabled .w-collapse-header{background-color:#f7f7f7;color:rgba(0,0,0,.25);cursor:not-allowed}.w-collapse.w-noborder .w-collapse-header{background-color:transparent}.w-collapse.w-noborder,.w-collapse.w-noborder .w-collapse-item .w-collapse-panel:after,.w-collapse.w-noborder .w-collapse-item .w-collapse-panel:before,.w-collapse.w-noborder .w-collapse-item:last-child{border:0}.w-copy-to-clipboard{cursor:pointer}.w-copy-to-clipboard-select{display:none;-webkit-user-select:text;-moz-user-select:text;user-select:text}.w-dateinputrange-contents{display:flex;justify-content:space-between}.w-dateinputrange-contents input{box-shadow:none;height:20px;padding:0}.w-dateinputrange-contents .w-input-inner:focus,.w-dateinputrange-contents .w-input-inner:hover{box-shadow:none!important}.w-dateinputrange-inner{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:none;border-radius:3px;box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2);box-sizing:border-box;color:#393e48;display:flex;font-size:inherit;font-weight:400;justify-content:space-between;line-height:30px;margin:0!important;min-height:30px;outline:none;padding:3px 10px;transition:box-shadow .3s cubic-bezier(.4,1,.75,.9);vertical-align:middle}.w-dateinputrange-inner:focus{box-shadow:0 0 0 1px #393e48,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-dateinputrange-inner:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,0),inset 0 1px 1px rgba(16,22,26,.2)}.w-dateinputrange-inner:focus.w-dateinputrange-inner:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-dateinputrange-inner:disabled{background:#ddd;box-shadow:none;color:#a5a5a5;cursor:not-allowed;opacity:.75;resize:none}.w-dateinput{display:inline-block}.w-dateinput-popover{box-shadow:0 0 0 0}.w-dateinput.disabled:before{bottom:0;content:" ";cursor:not-allowed;display:block;left:0;position:absolute;right:0;top:0;z-index:1}.w-dateinput-close-btn{color:#a5a5a5;cursor:pointer;display:flex;margin:0 3px}.w-dateinput-close-btn:hover{color:#393e48}.w-descriptions table{border-collapse:collapse;border-spacing:0;display:table!important;margin-bottom:0!important;margin:0;table-layout:fixed;width:100%!important}.w-descriptions{background:#fff}.w-descriptions-title{color:rgba(0,0,0,.85);font-size:16px;font-weight:700;line-height:1.5;margin-bottom:8px;text-align:left}.w-descriptions-tbody{word-wrap:break-word}.w-descriptions .w-descriptions-row:nth-child(2n){background-color:transparent}.w-descriptions-item-label{font-size:14px;font-weight:400}.w-descriptions-item-label:after{content:" ";margin:0 8px 0 2px;position:relative;top:-.5px}.w-descriptions-item-colon:after{content:":"}.w-descriptions-item-colon{color:rgba(0,0,0,.95)}.w-descriptions-item-content{color:rgba(0,0,0,.65);font-size:14px}.w-descriptions-small.w-descriptions-bordered tbody .w-descriptions-row td,.w-descriptions-small.w-descriptions-bordered tbody tr th{padding:4px 8px}.w-descriptions-large.w-descriptions-bordered tbody .w-descriptions-row td,.w-descriptions-large.w-descriptions-bordered tbody tr th{padding:14px 16px}.w-descriptions-bordered{border:1px solid #dfe2e5;border-radius:3px;overflow:hidden}.w-descriptions-bordered tbody tr th{background-color:#fafafa;font-weight:400;padding:8px 12px}.w-descriptions-bordered tbody tr td,.w-descriptions-bordered tbody tr th{border-bottom:0;border-left:0;border-right:1px solid #dfe2e5;border-top:1px solid #dfe2e5}.w-descriptions-bordered tbody:first-child tr:first-child td,.w-descriptions-bordered tbody:first-child tr:first-child th{border-top:0}.w-descriptions:not(.w-descriptions-bordered) .w-descriptions-row td{padding-bottom:8px}.w-descriptions-bordered .w-descriptions-row td{padding:8px 12px}.w-descriptions-bordered .w-descriptions-title{margin-bottom:0;padding:7px 12px}.w-descriptions-bordered .w-descriptions-item-content:last-child,.w-descriptions-bordered .w-descriptions-item-label:last-child{border-right:none}.w-divider{background:#e8e8e8;box-sizing:border-box;font-size:16px;line-height:16px;list-style:none;padding:0}.w-divider-vertical{display:inline-block;height:.9em;margin:0 8px;position:relative;top:-.06em;vertical-align:middle;width:1px}.w-divider-horizontal{height:1px;margin:16px 0;width:100%}.w-divider-horizontal.w-divider-with-text{background:transparent;color:#353535;display:flex;font-weight:500;height:inherit;margin:16px 0;text-align:center;white-space:nowrap}.w-divider-horizontal.w-divider-with-text:after,.w-divider-horizontal.w-divider-with-text:before{border-top:1px solid #e8e8e8;content:"";display:table-cell;position:relative;top:50%;transform:translateY(50%);width:50%}.w-divider-left.w-divider-with-text:before,.w-divider-right.w-divider-with-text:after{width:5%}.w-divider-left.w-divider-with-text:after,.w-divider-right.w-divider-with-text:before{width:95%}.w-divider-dashed.w-divider-with-text:after,.w-divider-dashed.w-divider-with-text:before{border-top-style:dashed}.w-divider-inner-text{display:inline-block;padding:0 10px}.w-divider-dashed:not(.w-divider-with-text){background:none;border-top:1px dashed #e8e8e8}.w-drawer-wrapper{background-color:#fff;box-shadow:0 0 0 1px rgba(16,22,26,.1),0 0 46px 6px rgba(16,22,26,.2);display:flex;flex-direction:column;margin:0!important;position:fixed}.w-drawer-header{align-items:center;background-color:#fff;border-radius:5px 5px 0 0;box-shadow:0 1px 0 rgba(16,22,26,.15);display:flex;font-size:16px;min-height:40px;padding-left:13px;padding-right:5px}.w-drawer-header>.w-icon{color:#393e48;margin-right:10px}.w-drawer-header h4{flex:1 1 auto;margin:0;padding:0}.w-drawer-body{flex:1 1 auto;line-height:18px;overflow:auto}.w-drawer-footer{align-items:center;box-shadow:0 -1px 0 rgba(16,22,26,.15);display:flex;min-height:40px;padding-left:13px;padding-right:5px}.w-drawer-body-inner{padding:15px}.w-drawer.bottom .w-drawer-wrapper,.w-drawer.top .w-drawer-wrapper{left:0;right:0}.w-drawer.top .w-drawer-wrapper{top:0}.w-drawer.bottom .w-drawer-wrapper{bottom:0}.w-drawer.left .w-drawer-wrapper,.w-drawer.right .w-drawer-wrapper{bottom:0;top:0}.w-drawer.right .w-drawer-wrapper{right:0}.w-drawer.left .w-drawer-wrapper{left:0}.w-drawer.w-overlay-enter .w-overlay-content{opacity:1}.w-drawer.w-overlay-enter-active .w-overlay-content{transition:all .2s cubic-bezier(.4,1,.75,.9)}.w-drawer.w-overlay-exit .w-overlay-content{opacity:1}.w-drawer.w-overlay-exit-active .w-overlay-content{transition:all .2s cubic-bezier(.4,1,.75,.9)}.w-drawer.right.w-overlay-enter .w-overlay-content{transform:translateX(100%)}.w-drawer.right.w-overlay-enter-active .w-overlay-content,.w-drawer.right.w-overlay-exit .w-overlay-content{transform:translateX(0)}.w-drawer.right.w-overlay-exit-active .w-overlay-content{transform:translateX(100%)}.w-drawer.left.w-overlay-enter .w-overlay-content{transform:translateX(-100%)}.w-drawer.left.w-overlay-enter-active .w-overlay-content,.w-drawer.left.w-overlay-exit .w-overlay-content{transform:translateX(0)}.w-drawer.left.w-overlay-exit-active .w-overlay-content{transform:translateX(-100%)}.w-drawer.top.w-overlay-enter .w-overlay-content{transform:translateY(-100%)}.w-drawer.top.w-overlay-enter-active .w-overlay-content,.w-drawer.top.w-overlay-exit .w-overlay-content{transform:translateY(0)}.w-drawer.top.w-overlay-exit-active .w-overlay-content{transform:translateY(-100%)}.w-drawer.bottom.w-overlay-enter .w-overlay-content{transform:translateY(100%)}.w-drawer.bottom.w-overlay-enter-active .w-overlay-content,.w-drawer.bottom.w-overlay-exit .w-overlay-content{transform:translateY(0)}.w-drawer.bottom.w-overlay-exit-active .w-overlay-content{transform:translateY(100%)}.w-empty{color:#c7c7c7;text-align:center}.w-empty-description{margin-top:10px}.w-empty-footer{margin-top:16px}.w-fileinput input::-webkit-file-upload-button{background:transparent;border:0;color:#0000;left:-300px;position:absolute}.w-fileinput input:hover:after{background-clip:padding-box;background-color:#ebf1f5;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 -1px 0 rgba(16,22,26,.1)}.w-fileinput input:after{word-wrap:normal;align-items:center;background-color:#f5f8fa;background-image:linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0));border-radius:3px;box-shadow:inset 0 0 0 1px rgba(16,22,26,.08);color:#182026;content:"Browse";content:attr(data-label);display:flex;margin:3px;overflow:hidden;padding:0 10px;right:0;text-align:center;text-overflow:ellipsis;white-space:nowrap}.w-fileinput input:after,.w-fileinput input:before{bottom:0;color:#757575;position:absolute;top:0}.w-fileinput-card{margin-right:-8px}.w-fileinput-card-box{background-color:#fafafa;border:1px dashed #d9d9d9;border-radius:2px;cursor:pointer;display:inline-flex;margin-bottom:8px;margin-right:8px;overflow:hidden;position:relative;text-align:center;transition:border-color .3s;vertical-align:top}.w-fileinput-card-box-info{box-sizing:border-box;height:100%;width:100%}.w-fileinput-card-box-info img{height:100%;width:100%}.w-fileinput-card-actions{align-items:center;background:rgba(0,0,0,.6);border-radius:2px;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:all .5s;width:100%}.w-fileinput-card-actions-remove{cursor:pointer;display:flex;height:20px;width:24px}.w-fileinput-card-actions-remove,.w-fileinput-card-btn{align-items:center;justify-content:center}.w-fileinput-card-box:hover .w-fileinput-card-actions{opacity:1}.w-fileinput-card-size-large .w-fileinput-card-box{height:110px;width:110px}.w-fileinput-card-size-middle .w-fileinput-card-box{height:80px;width:80px}.w-fileinput-card-size-small .w-fileinput-card-box{height:50px;width:50px}.w-fileinput-card-shape-round .w-fileinput-card-box{border-radius:2px}.w-fileinput-card-shape-circle .w-fileinput-card-box{border-radius:50%}.w-fileinput-list{padding-bottom:8px;width:100%}.w-fileinput-list-actions{align-items:center;background:rgba(0,0,0,.6);border-radius:2px;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:all .5s;width:100%}.w-fileinput-list-actions-search{align-items:center;cursor:pointer;display:flex;height:20px;justify-content:center;width:24px}.w-fileinput-list-info:hover .w-fileinput-list-actions{opacity:1}.w-fileinput-list-picture{align-items:center;border:1px solid #d9d9d9;display:flex;margin-top:8px;padding:5px}.w-fileinput-list-picture-info{margin-right:10px;overflow:hidden;position:relative}.w-fileinput-list-picture-info img{display:block;height:48px;width:48px}.w-fileinput-list-picture-text{flex:1 1}.w-fileinput-list-picture-icon{cursor:pointer;padding:5px}.w-fileinput-list-size-large .w-fileinput-list-picture-info img{height:70px;width:70px}.w-fileinput-list-size-middle .w-fileinput-list-picture-info img{height:50px;width:50px}.w-fileinput-list-size-small .w-fileinput-list-picture-info img{height:30px;width:30px}.w-fileinput-list-shape-round .w-fileinput-list-picture-info{border-radius:2px}.w-fileinput-list-shape-circle .w-fileinput-list-box-info{border-radius:50px}.w-fileinput-list-text{align-items:center;border:1px solid transparent;display:flex;padding:5px;transition:all .5s}.w-fileinput-list-text:hover{background:#f5f5f5}.w-fileinput-list-text:first-child{margin-top:8px}.w-fileinput-list-text-text{flex:1 1}.w-fileinput-list-text-icon{cursor:pointer;padding:0 5px}.w-col{box-sizing:border-box;flex:0 0 auto;flex-basis:0;flex-grow:1;max-width:100%;min-width:0}.w-col-fixed{flex:0 1 auto}.w-col-align-top{align-self:flex-start}.w-col-align-middle{align-self:center}.w-col-align-bottom{align-self:flex-end}.w-col-align-baseline{align-self:baseline}.w-col-grow-1{flex-grow:1}.w-col-grow-2{flex-grow:2}.w-col-grow-3{flex-grow:3}.w-col-grow-4{flex-grow:4}.w-col-grow-5{flex-grow:5}.w-col-grow-6{flex-grow:6}.w-col-grow-7{flex-grow:7}.w-col-grow-8{flex-grow:8}.w-col-grow-9{flex-grow:9}.w-col-grow-10{flex-grow:10}.w-col-grow-11{flex-grow:11}.w-col-1{flex-basis:4.16666667%;max-width:4.16666667%}.w-col-2{flex-basis:8.33333333%;max-width:8.33333333%}.w-col-3{flex-basis:12.5%;max-width:12.5%}.w-col-4{flex-basis:16.66666667%;max-width:16.66666667%}.w-col-5{flex-basis:20.83333333%;max-width:20.83333333%}.w-col-6{flex-basis:25%;max-width:25%}.w-col-7{flex-basis:29.16666667%;max-width:29.16666667%}.w-col-8{flex-basis:33.33333333%;max-width:33.33333333%}.w-col-9{flex-basis:37.5%;max-width:37.5%}.w-col-10{flex-basis:41.66666667%;max-width:41.66666667%}.w-col-11{flex-basis:45.83333333%;max-width:45.83333333%}.w-col-12{flex-basis:50%;max-width:50%}.w-col-13{flex-basis:54.16666667%;max-width:54.16666667%}.w-col-14{flex-basis:58.33333333%;max-width:58.33333333%}.w-col-15{flex-basis:62.5%;max-width:62.5%}.w-col-16{flex-basis:66.66666667%;max-width:66.66666667%}.w-col-17{flex-basis:70.83333333%;max-width:70.83333333%}.w-col-18{flex-basis:75%;max-width:75%}.w-col-19{flex-basis:79.16666667%;max-width:79.16666667%}.w-col-20{flex-basis:83.33333333%;max-width:83.33333333%}.w-col-21{flex-basis:87.5%;max-width:87.5%}.w-col-22{flex-basis:91.66666667%;max-width:91.66666667%}.w-col-23{flex-basis:95.83333333%;max-width:95.83333333%}.w-col-24{flex-basis:100%;max-width:100%}.w-row{box-sizing:border-box;display:flex;flex:0 1 auto;flex-direction:row;flex-wrap:wrap}.w-row.w-row-justify-flex-start{justify-content:flex-start}.w-row.w-row-justify-flex-end{justify-content:flex-end}.w-row.w-row-justify-center{justify-content:center}.w-row.w-row-justify-space-between{justify-content:space-between}.w-row.w-row-justify-space-around{justify-content:space-around}.w-row.w-row-justify-space-evenly{justify-content:space-evenly}.w-row-align-top{align-items:flex-start}.w-row-align-middle{align-items:center}.w-row-align-bottom{align-items:flex-end}.w-row-align-baseline{align-items:baseline}.w-form-item{margin-bottom:10px}.w-form-item-error .w-form-help,.w-form-item-error .w-form-label{color:#dc3545}.w-form-item-error .w-input-inner,.w-form-item-error .w-input-inner:focus.w-input-inner:hover,.w-form-item-error .w-input-inner:hover,.w-form-item-error .w-search-tree-inner,.w-form-item-error .w-select,.w-form-item-error .w-select-default,.w-form-item-error .w-select-default:hover,.w-form-item-error .w-select:hover,.w-form-item-error .w-textarea,.w-form-item-error .w-textarea:focus.w-textarea:hover,.w-form-item-error .w-textarea:hover{box-shadow:0 0 0 1px #dc3545,0 0 0 3px rgba(220,53,69,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-form-item-error .w-search-tree-inner .w-input .w-input-inner{box-shadow:none!important}.w-form-label{font-size:14px;font-weight:600;line-height:32px;min-height:32px;padding-right:5px}.w-form-label label{display:inline-block}.w-form-row{align-items:center;display:flex}.w-form-help{color:#c2c2c2;font-size:12px;padding-top:3px}.w-form fieldset{border-width:0;margin:0;padding:0}.w-list{background-color:#fff;box-sizing:border-box;color:#52575c;font-size:14px;line-height:1.5;list-style:none;margin:0;padding:0;position:relative;transition:all .3s}.w-list-active,.w-list:not(.w-list-no-hover):hover{border-color:rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.2)}.w-list-bordered{border:1px solid #e9e9e9;border-radius:4px}.w-list-bordered .w-list-item:last-child{border-bottom:0;border-radius:0 0 4px 4px}.w-list-item{align-items:center;display:flex}.w-list-item.w-disabled{color:#a3a6a9;cursor:not-allowed;pointer-events:none;text-decoration:none}.w-list-item.w-active{background:#f8f8f9;color:#007bff}.w-list-item-main{display:block;flex:1 1}.w-list-item-extra{margin-left:40px}a.w-list-item{color:#52575c;display:block}.w-list-striped .w-list-item:nth-of-type(2n),a.w-list-item:hover:not(.w-disabled){background:#f8f8f9}.w-list-bordered .w-list-header,.w-list-bordered .w-list-item{border-bottom:1px solid #e8e8e8}.w-list-footer,.w-list-header,.w-list-item{padding:12px 18px}.w-list-size-small .w-list-footer,.w-list-size-small .w-list-header,.w-list-size-small .w-list-item{padding:8px 16px}.w-list-size-large .w-list-footer,.w-list-size-large .w-list-header,.w-list-size-large .w-list-item{padding:16px 24px}.w-layout,.w-layout *{box-sizing:border-box}.w-layout{background:#f0f2f5;display:flex;flex:auto;flex-direction:column;margin:0;min-height:0;padding:0}.w-layout.w-layout-has-sider>.w-layout,.w-layout.w-layout-has-sider>.w-layout-content{width:0}.w-layout-footer,.w-layout-header{flex:0 0 auto}.w-layout-header{background:#202225;color:rgba(0,0,0,.65);height:53px;line-height:53px;padding:0 23px}.w-layout-footer{background:#f0f2f5;color:rgba(0,0,0,.65);font-size:14px;padding:16px 23px}.w-layout-content{flex:auto}.w-layout.w-layout-has-sider{flex-direction:row}.w-layout-sider{background:#343a40;min-width:0;position:relative;transition:all .2s}.w-loader{display:inline-block;position:relative}.w-loader-tips-nested svg{fill:currentcolor;animation:loaderRotate 2s linear infinite;height:100%;transform-origin:center center;vertical-align:middle;width:100%}.w-loader-tips-nested svg circle{stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:loaderDash 1.5s ease-in-out infinite,loaderColor 6s ease-in-out infinite}.w-loader-large .w-loader-tips-nested svg{height:30px;width:30px}.w-loader-large .w-loader-tips-nested svg circle{stroke-width:3px}.w-loader-default .w-loader-tips-nested svg{height:20px;width:20px}.w-loader-small .w-loader-tips-nested svg{height:14px;width:14px}.w-loader-blur{filter:blur(.5px);opacity:.5;overflow:hidden}.w-loader-warp{transition:all .3s cubic-bezier(.645,.045,.355,1)}.w-loader-tips-nested{display:inline-block;vertical-align:middle}.w-loader-tips{color:#2d8cf0;font-weight:400;height:100%;position:relative;text-align:center;width:100%;z-index:4}.w-loader-tips:before{content:" ";display:inline-block;height:100%;vertical-align:middle;width:.1px}.w-loader-tips:not(:last-child){position:absolute}.w-loader-text{display:inline-block;margin-left:5px;vertical-align:middle}.w-loader-vertical{display:block;margin-left:0;margin-top:5px}.w-loader-fullscreen{bottom:0;left:0;position:fixed;right:0;top:0;z-index:99999}@keyframes loaderRotate{to{transform:rotate(1turn)}}@keyframes loaderDash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}@keyframes loaderColor{0%,to{stroke:currentColor}80%,90%{stroke:currentColor}}.w-message{font-size:14px;padding:10px 15px;position:relative}.w-message+.w-message{margin-top:10px}.w-message-description,.w-message-title{display:block}.w-message-rounded{border-radius:5px}.w-message-description{color:rgba(0,0,0,.65)}.w-message-title{color:rgba(0,0,0,.85)}.w-message-title-description>.w-icon{font-size:24px}.w-message-title-description .w-message-title{font-size:16px}.w-message-title-description .w-message-description,.w-message-title-description .w-message-title{padding-left:16px}.w-message-icon{padding-left:34px}.w-message-success{background:#afecbd;color:#28a745}.w-message>button{position:absolute;right:10px;top:10px}.w-message>button.w-btn{color:rgba(0,0,0,.38);min-height:16px;min-width:16px;padding:2px}.w-message>button.w-btn:hover{background-color:hsla(0,0%,100%,.21)!important}.w-message>button.w-btn:active{background-color:rgba(0,0,0,.1)!important}.w-message-warning{background:#fff4d3;color:#ffc107}.w-message-info{background:#bde4ff;color:#008ef0}.w-message-error{background:#fae3e5;color:#dc3545}.w-message>.w-icon{left:14px;position:absolute;top:14px}.w-message-enter{opacity:0;transform:scaleY(.5)}.w-message-enter-active,.w-message-exit{opacity:1;transform:scaleY(1);transition:transform .3s ease,opacity .3s ease}.w-message-exit-active{opacity:0;transform:scaleY(.5)}.w-monthpicker{display:inline-block}.w-monthpicker-popover{font-size:14px;line-height:21px;max-width:192px;min-width:192px;padding:5px}.w-monthpicker.disabled .w-monthpicker-close-btn{display:none!important}.w-monthpicker .w-monthpicker-close-btn{color:#a5a5a5;cursor:pointer;min-height:0;min-height:auto}.w-monthpicker .w-monthpicker-close-btn:hover{color:#393e48}.w-monthpicker .w-monthpicker-close-btn:active,.w-monthpicker .w-monthpicker-close-btn:hover{background-color:transparent!important}.w-notify{position:relative!important;z-index:9999}.w-notify-warpper .w-notify .w-modal-inner .w-modal-header>.w-icon{font-size:28px!important}.w-notify-warpper .w-notify .w-modal-inner .w-modal-header>.w-btn{min-height:18px;min-width:18px;padding:5px}.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-icon:not(.w-modal-shown-title) .w-modal-header>button{position:absolute;right:10px;top:12px}.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-icon:not(.w-modal-shown-title) .w-modal-body{padding-right:36px}.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title .w-modal-header{padding-top:20px}.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title .w-modal-header>button{position:absolute;right:5px;top:5px}.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title .w-modal-header>h4{padding-left:40px;padding-right:20px}.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title .w-modal-body{opacity:.75;padding-left:60px}.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title:not(.w-modal-shown-icon) .w-modal-header>h4{padding-left:5px}.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title:not(.w-modal-shown-icon) .w-modal-body{padding-left:25px}.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title):not(.w-modal-shown-icon) .w-modal-body{padding:16px}.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title).w-modal-inner{padding-bottom:0}.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title).w-modal-inner .w-modal-header{padding-top:16px}.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title).w-modal-inner .w-modal-header>.w-icon{font-size:20px!important}.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title) .w-modal-body{padding:16px 12px}.w-notify-warpper .w-notify .w-overlay-content{margin:5px}.w-notify-warpper{padding:5px;position:fixed;z-index:999}.w-notify-warpper.topLeft{left:0;top:0}.w-notify-warpper.topRight{right:0;top:0}.w-notify-warpper.bottomLeft{bottom:0;left:0}.w-notify-warpper.bottomRight{bottom:0;right:0}.w-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#f5f8fa;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iIzM5M0U0OCIgZD0iTS4yMjIgNS42MTMgNS40NTEuMjIzYS43ODYuNzg2IDAgMCAxIDEuMDk3IDBsNS4yMyA1LjM5Yy40MDIuNDE0LjI0NyAxLjA1NC0uMzcxIDEuMDU0SC41OTJjLS42MTYgMC0uNzcyLS42NC0uMzctMS4wNTRabS4zNyAzLjcyaDEwLjgxNWMuNjE4IDAgLjc3My42NC4zNyAxLjA1NGwtNS4yMyA1LjM5YS43ODYuNzg2IDAgMCAxLTEuMDk2IDBsLTUuMjI5LTUuMzljLS40MDItLjQxNC0uMjQ2LTEuMDU0LjM3LTEuMDU0WiIvPjwvc3ZnPg==),linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0));background-position:right .7em top 50%,0 0;background-repeat:no-repeat,repeat;background-size:.62em auto,100%;border:none;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 -1px 0 rgba(16,22,26,.1);box-sizing:border-box;color:#182026;cursor:pointer;display:inline-flex;font-size:14px;line-height:18px;margin:0;max-width:100%;padding:6px 25px 6px 10px;vertical-align:middle;width:100%}.w-select:focus{outline:none!important}.w-select:hover{background-clip:padding-box;background-color:#ebf1f5;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 -1px 0 rgba(16,22,26,.1)}.w-select:disabled{background-color:#ddd;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iIzM5M0U0OCIgZD0iTS4yMjIgNS42MTMgNS40NTEuMjIzYS43ODYuNzg2IDAgMCAxIDEuMDk3IDBsNS4yMyA1LjM5Yy40MDIuNDE0LjI0NyAxLjA1NC0uMzcxIDEuMDU0SC41OTJjLS42MTYgMC0uNzcyLS42NC0uMzctMS4wNTRabS4zNyAzLjcyaDEwLjgxNWMuNjE4IDAgLjc3My42NC4zNyAxLjA1NGwtNS4yMyA1LjM5YS43ODYuNzg2IDAgMCAxLTEuMDk2IDBsLTUuMjI5LTUuMzljLS40MDItLjQxNC0uMjQ2LTEuMDU0LjM3LTEuMDU0WiIvPjwvc3ZnPg==);background-size:.52em auto,100%;box-shadow:none;color:#a5a5a5;cursor:not-allowed;opacity:.75;resize:none}.w-select-large{font-size:16px;padding:9px 25px 9px 12px}.w-select-small{font-size:12px;padding:3px 25px 3px 7px}.w-pagination{font-size:12px;margin:0!important;padding:0!important;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.w-pagination-left{text-align:left}.w-pagination-center{text-align:center}.w-pagination-right{text-align:right}.w-pagination>li{align-items:center;cursor:pointer;display:inline-flex!important;display:inline-flex;height:28px;line-height:28px;margin:0!important;position:relative;text-align:center;transition:background-color .2s ease-in,box-shadow .2s ease-in;vertical-align:middle}.w-pagination>li>a{color:rgba(0,0,0,.5);display:block;margin:0 10px;text-decoration:none;transition:none}.w-pagination>li>a.arrow{padding:0 3px}.w-pagination>li>a.arrow:after,.w-pagination>li>a.arrow:before{background-color:#565656;border-radius:2px;content:"";display:block;height:8px;transition:all .3s;width:2px}.w-pagination>li>a.arrow:after{margin-top:-4px}.w-pagination>li>a.arrow.next:before,.w-pagination>li>a.arrow.prev:after{transform:rotate(-45deg)}.w-pagination>li>a.arrow.next:after,.w-pagination>li>a.arrow.prev:before{transform:rotate(45deg)}.w-pagination>li.disabled{cursor:not-allowed}.w-pagination>li.disabled>a.arrow:after,.w-pagination>li.disabled>a.arrow:before{background:#d4d4d4}.w-pagination.small>li{border-radius:4px;height:21px;line-height:21px}.w-pagination.small>li>a{margin:0 3px;min-width:15px}.w-pagination.small>li>a.arrow:after,.w-pagination.small>li>a.arrow:before{margin-left:6px}.w-pagination.small>li.active{background-color:#ececec}.w-pagination.small>li:not(.active):hover a{color:#2ea3f4}.w-pagination.default>li{background:#fff;border:1px solid #d4d4d4;border-left:0}.w-pagination.default>li:not(.disabled):not(.active):hover{background-color:#f6f6f6}.w-pagination.default>li:not(.disabled):active{box-shadow:inset 0 8px 42px -12px rgba(0,0,0,.2)}.w-pagination.default>li:first-child{border-left:1px solid #d4d4d4;border-radius:3px 0 0 3px}.w-pagination.default>li:last-child{border-radius:0 3px 3px 0}.w-pagination.default>li.active{background-color:#ececec}.w-pagination.default>li.active:active{box-shadow:inset 0 0 0 transparent}.w-pagination.default.divider li+li{border:1px solid #d4d4d4;margin-left:8px!important}.w-pagination.default.divider li{border-radius:4px}.w-pagination-options{margin-left:8px!important}.w-pagination-options .w-select{border:none!important;box-shadow:none!important;height:100%;padding-bottom:0;padding-top:0}.w-pin-code{display:flex}.w-pin-code-inner+.w-pin-code-inner{margin-left:8px}.w-pin-code-inner{width:30px}.w-pin-code-inner>input{font-size:14px;font-weight:700;padding:0!important;text-align:center}.w-pin-code-large .w-pin-code-inner{width:36px}.w-pin-code-large .w-pin-code-inner input{font-size:16px}.w-pin-code-small .w-pin-code-inner{width:24px}.w-pin-code-small .w-pin-code-inner input{font-size:12px}.w-progress{position:relative}.w-progress,.w-progress-text{display:inline-block;line-height:1}.w-progress-text{color:#48576a;margin-left:10px;vertical-align:middle}.w-progress-circle .w-progress-text{font-size:16px;left:0;margin:0;position:absolute;text-align:center;top:50%;transform:translateY(-50%);width:100%}.w-progress-trail{stroke:#e5e9f2}.w-progress-stroke{stroke:#20a0ff}.w-progress-status-success .w-progress-stroke{stroke:#28a745}.w-progress-status-exception .w-progress-stroke{stroke:#ff4949}.w-progress-line{font-size:12px;width:100%}.w-progress-bar,.w-progress-text{box-sizing:border-box}.w-progress-bar{display:inline-block;vertical-align:middle;width:100%}.w-progress-status-active .w-progress-bg{animation:progress-bar-stripes 1s linear infinite;background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:12px 12px}.w-progress-status-active .w-progress-bg:before{animation:w-progress-active 2.4s cubic-bezier(.23,1,.32,1) infinite;background:#fff;border-radius:10px;bottom:0;content:" ";left:0;opacity:0;position:absolute;right:0;top:0}.w-progress-status-exception .w-progress-bg{background-color:#dc3545}.w-progress-status-exception .w-progress-text{color:#dc3545}.w-progress-status-success .w-progress-bg{background-color:#28a745}.w-progress-status-success .w-progress-text{color:#28a745}.w-progress-show-text .w-progress-bar{margin-right:-50px;padding-right:50px}.w-progress-inner{background-color:#e5e9f2;border-radius:100px;height:100%;overflow:hidden;width:100%}.w-progress-bg{background-color:#108ee9;border-radius:100px;height:100%;position:relative;transition:all .4s cubic-bezier(.08,.82,.17,1) 0s}@keyframes progress-bar-stripes{0%{background-position:0 0}to{background-position:24px 0}}@keyframes w-progress-active{0%{opacity:.1;width:0}20%{opacity:.5;width:0}to{opacity:0;width:100%}}.w-rate{display:inline-block;font-family:auto;font-size:20px;line-height:12px;position:relative;vertical-align:middle}.w-rate>span+span{margin-left:3px}.w-rate-bg{color:#e9e9e9}.w-rate-bg,.w-rate>span{cursor:pointer;display:inline-block;position:relative}.w-rate-hight{color:#e9e9e9;display:none;line-height:12px;position:absolute;transition:color .3s,width .3s;z-index:3}.w-rate .hover-on{cursor:pointer}.w-rate .half-on,.w-rate .hover-on,.w-rate .star-on{color:#f5a623;display:inline-block}.w-rate .half-on:not(.hover-on){overflow:hidden;width:50%}.w-tag{border-radius:2px;display:inline-block;font-size:12px;padding:1px 5px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.w-tag+.w-tag{margin-left:5px}.w-tag.disabled{cursor:not-allowed;opacity:.75}.w-tag-light .w-tag-close:hover{background-color:currentcolor}.w-tag-light .w-tag-close:hover path{fill:#fff}.w-tag-light .w-tag-close:active{background-color:rgba(0,0,0,.15)}.w-tag-close{fill:currentcolor;border-radius:2px;cursor:pointer;margin:0 -3px 0 2px;position:relative;top:-1px;transition:all .3s;vertical-align:bottom}.w-tag-close:hover{background-color:rgba(0,0,0,.22)}.w-tag-close:active{background-color:rgba(0,0,0,.32)}.w-search-select-input-contents input{box-shadow:none;height:28px;padding:0}.w-search-select-input-contents.w-input-small{min-width:0}.w-search-select-input-contents .w-input-inner:focus,.w-search-select-input-contents .w-input-inner:hover{box-shadow:none!important}.w-search-select-input-contents .w-input-inner.disabled{background:#ddd;box-shadow:none;color:#a5a5a5;cursor:not-allowed;opacity:.75;resize:none}.w-search-select-inner{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:none;border-radius:3px;box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2);box-sizing:border-box;color:#393e48;display:flex;font-size:inherit;font-weight:400;justify-content:space-between;line-height:30px;margin:0!important;outline:none;padding:1px;transition:box-shadow .3s cubic-bezier(.4,1,.75,.9);vertical-align:middle}.w-search-select-inner:focus{box-shadow:0 0 0 1px #393e48,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-search-select-inner:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,0),inset 0 1px 1px rgba(16,22,26,.2)}.w-search-select-inner:focus.w-search-select-inner:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-search-select-inner:disabled{background:#ddd;box-shadow:none;color:#a5a5a5;cursor:not-allowed;opacity:.75;resize:none}.w-search-select-inner-inner-small{height:20px}.w-search-select-inner-inner-large{height:30px}.w-search-select-inner .w-input-small .w-input-inner{font-size:10px;height:16px;padding:0}.w-search-select-inner .w-input-large .w-input-inner{height:28px}.w-search-select-tag-content{align-items:center;display:flex;flex-flow:wrap;padding:0 9px;width:100%}.w-search-select-tag-content-disabled{background:#ddd}.w-search-select-search-false{cursor:pointer}.w-search-select-multiple-colse{font-size:15px;right:3px}.w-search-select-singe-colse{font-size:15px}.w-split{display:flex;flex-direction:row;height:100%}.w-split-bar{background:#f8f8f9;display:flex;justify-content:center;position:relative;-webkit-user-select:none;user-select:none;z-index:10}.w-split-bar:after,.w-split-bar:before{content:"";display:block}.w-split-bar.disable{cursor:not-allowed!important;pointer-events:none}.w-split-bar:hover:not(.disable){background:#ecf7ff;transition:background-color .3s}.w-split.dragging .w-split-pane{position:relative}.w-split.dragging .w-split-pane:before{content:"";display:block;height:100%;position:absolute;width:100%;z-index:10}.w-split>.w-split-pane{-webkit-transform:none;transform:none}.w-split:not(.dragging)>.w-split-pane{transition:all .3s}.w-split-horizontal>.w-split-bar{box-shadow:inset 1px 0 0 0 #d5d5d5,1px 0 0 0 #d5d5d5;cursor:col-resize;flex-direction:column;width:5px}.w-split-horizontal>.w-split-bar:after,.w-split-horizontal>.w-split-bar:before{box-shadow:inset 0 1px 0 0 #d5d5d5,0 1px 0 0 #d5d5d5;height:3px;width:100%}.w-split-horizontal>.w-split-bar:before{margin-top:-1px}.w-split-horizontal>.w-split-bar:after{margin-top:3px}.w-split-horizontal>.w-split-bar.disable{box-shadow:inset 1px 0 0 0 #e6e6e6,1px 0 0 0 #eaeaea!important}.w-split-vertical{flex-direction:column}.w-split-vertical>.w-split-bar{align-items:center;box-shadow:inset 0 1px 0 0 #d5d5d5,0 1px 0 0 #d5d5d5;cursor:row-resize;flex-direction:row;height:5px;width:100%}.w-split-vertical>.w-split-bar.disable{box-shadow:inset 0 1px 0 0 #e6e6e6,0 1px 0 0 #eaeaea!important}.w-split-vertical>.w-split-bar:after,.w-split-vertical>.w-split-bar:before{box-shadow:inset 1px 0 0 0 #d5d5d5,1px 0 0 0 #d5d5d5;height:100%;width:3px}.w-split-vertical>.w-split-bar:before{margin-left:-1px}.w-split-vertical>.w-split-bar:after{margin-left:3px}.w-split-large-bar div{bottom:0;left:0;position:absolute;right:0;top:0}.w-split-horizontal>.w-split-line-bar:hover:before,.w-split-vertical>.w-split-line-bar:hover:before{border-color:#008ef0}.w-split-vertical>.w-split-line-bar{height:1px}.w-split-vertical>.w-split-line-bar div{cursor:row-resize;height:8px;margin-bottom:-2px;margin-top:-2px;width:100%}.w-split-vertical>.w-split-line-bar div:active,.w-split-vertical>.w-split-line-bar div:focus,.w-split-vertical>.w-split-line-bar div:hover{height:6px;margin-bottom:-6px;margin-top:-6px}.w-split-vertical>.w-split-line-bar div:active:after,.w-split-vertical>.w-split-line-bar div:focus:after,.w-split-vertical>.w-split-line-bar div:hover:after{background-color:#008ef0}.w-split-vertical>.w-split-line-bar div:after{height:1px;width:100%}.w-split-horizontal>.w-split-line-bar{width:1px}.w-split-horizontal>.w-split-line-bar div{cursor:col-resize;height:100%;margin-left:-2px;margin-right:-2px;width:8px}.w-split-horizontal>.w-split-line-bar div:active,.w-split-horizontal>.w-split-line-bar div:focus,.w-split-horizontal>.w-split-line-bar div:hover{margin-left:-6px;margin-right:-6px;width:6px}.w-split-horizontal>.w-split-line-bar div:active:after,.w-split-horizontal>.w-split-line-bar div:focus:after,.w-split-horizontal>.w-split-line-bar div:hover:after{background-color:#008ef0}.w-split-horizontal>.w-split-line-bar div:after{height:100%;width:1px}.w-split-horizontal>.w-split-line-bar,.w-split-vertical>.w-split-line-bar{flex-direction:inherit}.w-split-horizontal>.w-split-line-bar:before,.w-split-vertical>.w-split-line-bar:before{display:none}.w-split-horizontal>.w-split-line-bar div,.w-split-vertical>.w-split-line-bar div{align-items:center;display:flex;justify-content:center;position:relative}.w-split-horizontal>.w-split-line-bar div:after,.w-split-vertical>.w-split-line-bar div:after{background-color:#d5d5d5;content:"";display:block}.w-split-line-bar{background:transparent}.w-split-line-bar,.w-split-line-bar:before{box-shadow:inset 0 0 0 0!important}.w-split-line-bar:after{display:none}.w-steps{font-size:0;line-height:1.5;width:100%}.w-steps .w-steps-item{display:inline-block;position:relative;vertical-align:top}.w-steps .w-steps-item:last-child .w-steps-item-tail{display:none;text-align:center}.w-steps .w-steps-item-tail{height:1px;left:0;padding:0 10px;position:absolute;top:13px;width:100%}.w-steps .w-steps-item-tail i{background-color:#e9e9e9;display:block;height:100%;position:relative;width:100%}.w-steps .w-steps-item-tail i:after{content:" ";height:100%;position:absolute;top:0;transition:all .6s;width:0}.w-steps .w-steps-item-head,.w-steps .w-steps-item-main{display:inline-block;position:relative;vertical-align:top}.w-steps .w-steps-item-head{background:#fff;padding-left:10px}.w-steps .w-steps-item-head:not(:first-child){margin-left:-10px}.w-steps .w-steps-item-title{background:#fff;color:#999;display:inline-block;font-size:14px;font-weight:700;line-height:26px;padding-right:10px}.w-steps .w-steps-item-description{color:#999;font-size:12px;max-width:130px}.w-steps .w-steps-item-inner{align-items:center;background-color:#fff;border:1px solid rgba(0,0,0,.25);border-radius:26px;color:rgba(0,0,0,.25);display:flex;font-size:14px;height:26px;justify-content:center;line-height:26px;margin-right:8px;text-align:center;transition:background-color .3s ease,border-color .3s ease;width:26px}.w-steps .w-steps-item-finish .w-steps-item-inner,.w-steps .w-steps-item-process .w-steps-item-inner{background-color:#2d8cf0;border-color:#2d8cf0;color:#fff}.w-steps .w-steps-item-finish .w-steps-item-inner.is-icon .w-steps-icon,.w-steps .w-steps-item-process .w-steps-item-inner.is-icon .w-steps-icon{color:#108ee9}.w-steps .w-steps-item-finish [class*=" w-icon-"],.w-steps .w-steps-item-finish [class^=w-icon-],.w-steps .w-steps-item-process [class*=" w-icon-"],.w-steps .w-steps-item-process [class^=w-icon-]{position:relative;top:-1px;vertical-align:middle}.w-steps .w-steps-item-finish .w-steps-item-tail i:after{background-color:#2d8cf0;width:100%}.w-steps .w-steps-item-process .w-steps-item-description,.w-steps .w-steps-item-process .w-steps-item-title{color:rgba(0,0,0,.65)}.w-steps .w-steps-item-error .w-steps-item-inner{background-color:#fff;border-color:#f04134;color:#f04134}.w-steps .w-steps-item-error .w-steps-icon,.w-steps .w-steps-item-error .w-steps-item-description,.w-steps .w-steps-item-error .w-steps-item-title,.w-steps .w-steps-item-error i[class^=w-icon-]{color:#f04134}.w-steps .w-steps-next-error .w-steps-item-tail i:after{background-color:#f04134;transition:all .6s;width:100%}.w-steps-custom .w-steps-item-inner.is-icon{background:none;border:0;font-size:26px;height:26px;width:26px}.w-steps-dot .w-steps-item-main{display:block;text-align:center}.w-steps-dot .w-steps-item-inner{border:0;height:7px;line-height:5px;margin:0 auto;width:7px}.w-steps-dot .w-steps-item-title{padding-top:5px}.w-steps-dot .w-steps-item-description{max-width:none}.w-steps-dot .w-steps-item-error .w-steps-item-tail i:after{background-color:#2d8cf0}.w-steps-dot .w-steps-item-error .w-steps-item-inner{background:#f04134}.w-steps-dot .w-steps-item-error .w-steps-item-tail{background:#e9e9e9;padding-right:50%}.w-steps-dot .w-steps-item-error .w-steps-item-tail i:after{background-color:#f04134;width:100%}.w-steps-dot .w-steps-item-finish.w-steps-next-error .w-steps-item-tail i:after{background-color:#2d8cf0}.w-steps-dot .w-steps-item-wait .w-steps-item-inner{background-color:rgba(0,0,0,.25);border-color:rgba(0,0,0,.25)}.w-steps-dot .w-steps-item-wait .w-steps-item-inner .w-steps-dot{background:rgba(0,0,0,.25)}.w-steps-dot .w-steps-item-process .w-steps-item-tail{background:#e9e9e9;padding-right:50%}.w-steps-dot .w-steps-item-process .w-steps-item-tail i:after{background-color:#2d8cf0;width:100%}.w-steps-dot .w-steps-item-tail{height:2px;padding:0;position:static;width:100%}.w-steps-dot .w-steps-item:first-child .w-steps-item-tail{padding-left:50%}.w-steps-dot .w-steps-item:last-child .w-steps-item-tail{display:block;padding-right:50%}.w-steps-dot .w-steps-item-head:not(:first-child){display:block;margin-left:0;padding-left:0;text-align:center}.w-steps-dot .w-steps-item-head{background:transparent;margin-top:-4px}.w-steps-dot .w-steps-item-head .is-icon{background-color:transparent;margin-left:-10px!important}.w-steps-dot.w-steps-vertical .w-steps-item:last-child .w-steps-item-tail{display:none}.w-steps-dot.w-steps-vertical .w-steps-item .w-steps-item-tail{left:3px;padding:0 0 21px;position:absolute}.w-steps-dot.w-steps-vertical .w-steps-item-inner{margin:0}.w-steps-dot.w-steps-vertical .w-steps-item-main{margin-top:-21px;padding-bottom:24px;padding-left:20px;text-align:left}.w-steps-dot.w-steps-vertical .is-icon-main{margin-top:-35px}.w-steps-dot.w-steps-vertical .w-steps-next-error .w-steps-item-tail i:after{background-color:#f04134}.w-steps-dot.w-steps-vertical .w-steps-item-error .w-steps-item-tail,.w-steps-dot.w-steps-vertical .w-steps-item-error .w-steps-item-tail i:after{background-color:transparent}.w-steps-vertical>.w-steps-item{display:block}.w-steps-vertical>.w-steps-item>.w-steps-item-tail{height:100%;left:13px;padding:18px 0;width:1px}.w-steps-vertical .w-steps-item-main{overflow:hidden;padding-bottom:12px}.w-steps-vertical .w-steps-item .w-steps-item-main .w-steps-item-description{max-width:inherit}.w-slider{background-color:#e4e8f1;cursor:pointer;font-size:12px;margin:13px 7px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:-webkit-fill-available;width:-moz-available;width:stretch}.w-slider,.w-slider-bar{border-radius:3px;height:4px}.w-slider-bar{background-color:#008ef0;position:absolute}.w-slider.disabled,.w-slider.disabled .w-slider-mark>div{cursor:not-allowed}.w-slider.disabled .w-slider-bar{background-color:#bdc2cc}.w-slider.disabled .w-slider-handle{background-color:#e6e6e6;box-shadow:0 0 0 1px rgba(16,22,26,.2),0 0 0 rgba(16,22,26,.2)}.w-slider-handle{background-color:#f5f8fa;background-image:linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0));border-radius:50%;box-shadow:0 0 0 1px rgba(16,22,26,.2),0 1px 1px rgba(16,22,26,.2);height:14px;left:0;margin-top:-5px;transition:all .3;width:14px;z-index:1}.w-slider-dots>div,.w-slider-handle{position:absolute;transform:translateX(-50%)}.w-slider-dots>div{background-color:#fff;border-radius:100%;box-shadow:0 0 0 1.6px rgba(16,22,26,.16);height:4px;top:0;width:4px}.w-slider:not(.disabled) .w-slider-handle:active{background-color:#d8e1e8;box-shadow:0 0 0 1px rgba(16,22,26,.2),0 1px 1px rgba(16,22,26,.2),0 0 0 2px rgba(0,0,0,.1);transition:all .3}.w-slider:not(.disabled) .w-slider-handle:active .w-slider-tooltip,.w-slider:not(.disabled) .w-slider-handle:focus .w-slider-tooltip,.w-slider:not(.disabled) .w-slider-handle:hover .w-slider-tooltip{display:inline-block}.w-slider-tooltip{background-color:rgba(0,0,0,.75);border-radius:3px;color:#fff;display:none;font-size:12px;margin-left:6px;margin-top:-3px;padding:0 4px;position:absolute;transform:translate(-50%,-100%)}.w-slider-tooltip.open{display:inline-block}.w-slider-with-marks{margin-bottom:24px}.w-slider-mark.no-marks{display:none}.w-slider-mark>div{color:rgba(0,0,0,.43);cursor:pointer;display:inline-block;margin-bottom:-50%;margin-left:3px;padding:0 3px;position:absolute;text-align:center;transform:translate(-50%,50%);vertical-align:middle}.w-slider-vertical{height:100%;height:-webkit-fill-available;height:-moz-available;height:stretch;margin:7px 13px;width:4px}.w-slider-vertical .w-slider-dots>div{left:2px}.w-slider-vertical .w-slider-bar{height:auto;width:4px}.w-slider-vertical .w-slider-handle{margin-left:2px}.w-slider-vertical .w-slider-mark>div{margin-left:12px;margin-top:2px;padding:0;transform:translateY(-50%)}.w-switch{cursor:pointer;font-size:12px;vertical-align:middle}.w-switch input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-clip:border-box;background-color:#dfdfdf;border-radius:16px;box-shadow:inset 0 1px 2px rgba(16,22,26,.2);cursor:pointer;font-size:12px;height:20px;margin:0!important;min-width:35px;outline:0;position:relative;transition:all .3s;white-space:nowrap}.w-switch input[type=checkbox]:after,.w-switch input[type=checkbox]:before{display:inline-block;vertical-align:middle}.w-switch input[type=checkbox]:before{color:#fff;content:attr(data-checked);line-height:20px;padding:0 21px 0 6px;transition:all .3s}.w-switch input[type=checkbox]:checked{background-color:#008ef0}.w-switch input[type=checkbox]:checked:after{margin-right:0;right:2px}.w-switch input[type=checkbox]:checked:before{content:attr(data-unchecked)}.w-switch input[type=checkbox]:not(:checked):before{color:#393e48;padding:0 6px 0 21px}.w-switch input[type=checkbox]:after{background-color:#fff;border-radius:50%;box-shadow:0 1px 2px 0 rgba(0,35,11,.2);content:" ";height:16px;margin-left:1px;margin-right:-18px;margin-top:2px;position:absolute;right:100%;transition:all .2s;width:16px}.w-switch input[type=checkbox]:disabled{cursor:not-allowed;opacity:.45}.w-switch input[type=checkbox]:focus{box-shadow:0 0 0 2px rgba(0,142,240,.25),inset 0 1px 2px rgba(16,22,26,.2)}.w-switch.disabled{cursor:not-allowed}.w-switch-large input[type=checkbox]{height:24px;min-width:38px}.w-switch-large input[type=checkbox]:after{height:20px;margin-right:-22px;width:20px}.w-switch-large input[type=checkbox]:before{font-size:16px;line-height:24px;margin-top:0;padding:0 25px 0 8px}.w-switch-large input[type=checkbox]:not(:checked):before{padding:0 8px 0 25px}.w-switch-small{font-size:12px}.w-switch-small input[type=checkbox]{height:16px;min-width:15px}.w-switch-small input[type=checkbox]:after{height:12px;margin-right:-14px;width:12px}.w-switch-small input[type=checkbox]:before{line-height:16px;padding:0 16px 0 6px}.w-switch-small input[type=checkbox]:not(:checked):before{padding:0 6px 0 16px}.w-switch input[type=checkbox],.w-switch-text{vertical-align:middle}.w-switch-text{display:inline-block;margin-left:5px}.w-table{overflow:auto;width:100%}.w-table>table{border-collapse:collapse;border-spacing:0;display:table!important;margin:0!important;width:100%!important}.w-table>table tr>td,.w-table>table tr>th{border:0;border-bottom:1px solid #e8e8e8;padding:5px 8px}.w-table>table tr{background-color:transparent}.w-table>table>caption{padding:10px 8px;text-align:left}.w-table>table>tbody>tr{transition:all .3s}.w-table>table>tbody>tr>td{background-color:#fff;position:relative;z-index:1}.w-table>table>tbody>tr:hover:nth-child(2n)>td,.w-table>table>tbody>tr:hover>td{background-color:#efefef}.w-table>table>tbody>tr:nth-child(2n)>td{background-color:#f9f9f9}.w-table>table>thead>tr>th{background-color:#f6f9fb;font-weight:400;padding:8px;position:relative;z-index:1}.w-table>table>thead tr:nth-child(2n),.w-table>table>thead>tr{background-color:#f6f9fb;border:transparent}.w-table-ellipsis{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all}.w-table-tr-children-center{text-align:center}.w-table-tr-children-left{text-align:left}.w-table-tr-children-right{text-align:right}.w-table-fixed-right,.w-table-fixed-true{position:sticky!important;z-index:2!important}.w-table-fixed-true:after{bottom:-1px;box-shadow:inset 10px 0 8px -8px rgba(0,0,0,.15);content:"";pointer-events:none;position:absolute;right:0;top:0;transform:translateX(100%);transition:box-shadow .3s;width:30px}.w-table-fixed-true:before{border-left:1px solid #dfe2e5;bottom:0;content:"";left:-1px;position:absolute;top:0}.w-table-fixed-right:after{border-right:1px solid #f0f0f0;bottom:-1px;content:"";left:0;pointer-events:none;position:absolute;top:0;transform:translateX(-100%);transition:box-shadow .3s;width:30px}.w-table-fixed-right-first:after{box-shadow:inset -10px 0 8px -8px rgba(0,0,0,.15)}.w-table-fixed-right:before{border-right:1px solid #dfe2e5;bottom:0;content:"";position:absolute;right:-1px;top:0}.w-table-bordered>table tr>td,.w-table-bordered>table tr>th,.w-table-bordered>table>caption{border:1px solid #dfe2e5}.w-table-bordered>table>caption{border-bottom:0}.w-table-bordered .w-table-footer{border:1px solid #dfe2e5;border-top:0}.w-table-footer{background:#fafafa;padding:10px 8px}.w-tabs-bar{height:calc(100% + 17px);overflow-x:auto}.w-tabs-bar,.w-tabs-nav{position:relative}.w-tabs-nav-hidden{display:flex;flex-direction:column;max-height:200px;overflow-y:auto;padding:5px 10px 5px 5px}.w-tabs-nav-hidden :hover{background:#d9d9d9}.w-tabs-item{box-sizing:border-box;cursor:pointer;display:inline-block;font-size:14px;height:100%;padding:7px 10px;position:relative;text-decoration:none;transition:all .3s}.w-tabs-item.active{color:#008ef0}.w-tabs-item.disabled{color:rgba(0,0,0,.25);cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;user-select:none}.w-tabs-flow-content{box-shadow:inset 1px 0 0 #d9d9d9;cursor:pointer;margin-left:5px;padding:0 10px}.w-tabs-card>div>div>.w-tabs-bar>.w-tabs-nav:after,.w-tabs-line>div>div>.w-tabs-bar>.w-tabs-nav:after{border-bottom:1px solid #d9d9d9;content:"";display:block;position:relative}.w-tabs-line>div>div>.w-tabs-bar>.w-tabs-nav>.w-tabs-slide{background-color:#108ee9;bottom:0;box-sizing:border-box;height:1px;left:0;position:absolute;transition:all .3s;width:20px;z-index:1}.w-tabs-card>div>div>.w-tabs-bar>.w-tabs-nav:after{border-bottom:1px solid #d9d9d9;content:"";display:block;position:relative}.w-tabs-card>div>div>.w-tabs-bar>.w-tabs-nav>.w-tabs-item{background:#f9f9f9;border:1px solid #d9d9d9;border-bottom:0;border-radius:4px 4px 0 0;bottom:-1px;margin:0 5px 0 0;padding:7px 16px}.w-tabs-card>div>div>.w-tabs-bar>.w-tabs-nav>.w-tabs-item.active{background:#fff;z-index:1}.w-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:none;border-radius:3px;box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2);color:#393e48;font-size:14px;font-weight:400;height:auto;max-width:100%;min-height:30px;min-width:100%;outline:none;padding:5px 10px;position:relative;transition:box-shadow .1s cubic-bezier(.4,1,.75,.9);vertical-align:middle;width:100%}.w-textarea:not(:first-child){padding-left:30px}.w-textarea:focus{box-shadow:0 0 0 1px #393e48,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-textarea:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,0),inset 0 1px 1px rgba(16,22,26,.2)}.w-textarea:focus.w-textarea:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-textarea:disabled{background:#ddd;box-shadow:none;color:#a5a5a5;cursor:not-allowed;opacity:.75;resize:none}.w-tooltip{display:inline-block;position:relative}.w-tooltip-arrow{border-color:transparent;border-style:solid;height:0;position:absolute;width:0}.w-tooltip-inner{background-color:rgba(0,0,0,.75);border-radius:4px;box-shadow:0 1px 6px rgba(0,0,0,.2);color:#fff;display:block;font-size:12px;max-width:250px;padding:5px 10px;text-align:left;text-decoration:none;word-break:break-all}.w-tooltip.right .w-tooltip-arrow,.w-tooltip.rightBottom .w-tooltip-arrow,.w-tooltip.rightTop .w-tooltip-arrow{border-right-color:rgba(0,0,0,.75);border-width:5px 5px 5px 0;left:0;margin-top:-5px;top:50%}.w-tooltip.left .w-tooltip-arrow,.w-tooltip.leftBottom .w-tooltip-arrow,.w-tooltip.leftTop .w-tooltip-arrow{border-left-color:rgba(0,0,0,.75);border-width:5px 0 5px 5px;margin-top:-5px;right:0;top:50%}.w-tooltip.leftTop .w-tooltip-arrow,.w-tooltip.rightTop .w-tooltip-arrow{top:15px}.w-tooltip.leftBottom .w-tooltip-arrow,.w-tooltip.rightBottom .w-tooltip-arrow{bottom:10px;top:auto}.w-tooltip.top .w-tooltip-arrow,.w-tooltip.topLeft .w-tooltip-arrow,.w-tooltip.topRight .w-tooltip-arrow{border-top-color:rgba(0,0,0,.75);border-width:5px 5px 0;bottom:0;left:50%;margin-left:-5px}.w-tooltip.bottom .w-tooltip-arrow,.w-tooltip.bottomLeft .w-tooltip-arrow,.w-tooltip.bottomRight .w-tooltip-arrow{border-bottom-color:rgba(0,0,0,.75);border-width:0 5px 5px;left:50%;margin-left:-5px;top:0}.w-tooltip.bottomLeft .w-tooltip-arrow,.w-tooltip.topLeft .w-tooltip-arrow{left:15px}.w-tooltip.bottomRight .w-tooltip-arrow,.w-tooltip.topRight .w-tooltip-arrow{left:auto;right:10px}.w-tooltip.bottom,.w-tooltip.bottomLeft,.w-tooltip.bottomRight{padding-top:5px}.w-tooltip.top,.w-tooltip.topLeft,.w-tooltip.topRight{padding-bottom:5px}.w-tooltip.right,.w-tooltip.rightBottom,.w-tooltip.rightTop{padding-left:5px}.w-tooltip.left,.w-tooltip.leftBottom,.w-tooltip.leftTop{padding-right:5px}.w-tooltip.no-arrow{padding:0!important}.w-tree{font-size:14px}.w-tree ul{margin:0;overflow:hidden;padding:0!important;transition:all .3s}.w-tree ul ul{margin-bottom:0;padding-left:18px!important}.w-tree li{list-style:none!important}.w-tree li+li{margin-top:2px!important}.w-tree li:first-child{padding-top:3px}.w-tree-close{height:0}.w-tree-label .no-child:not(.w-tree-switcher-noop) svg{display:none}.w-tree-label{line-height:normal}.w-tree-label>*{vertical-align:middle}.w-tree-switcher{cursor:pointer;display:inline-block;height:14px;line-height:14px;position:relative;text-align:center;width:14px;z-index:1}.w-tree-switcher:hover{color:#2ea3f4}.w-tree-switcher .w-icon{transform:scale(.79) rotate(0deg);transition:all .3s}.w-tree-switcher .w-icon.open:not(.no-animation){transform:scale(.79) rotate(90deg)!important}.w-tree-title{cursor:pointer;display:inline-block;padding:2px 5px}.w-tree-title>*{vertical-align:middle}.w-tree-disabled-mouse{cursor:not-allowed}.w-tree-disabled-ele{color:#00000040}.w-tree-title.selected{background-color:#d5e8fc}.w-tree-line li{position:relative}.w-tree-line li li:after,.w-tree-line li li:before{border-left:1px solid #d9d9d9;content:" ";left:-12px;position:absolute}.w-tree-line li li:after{height:100%;top:5px}.w-tree-line li li:last-child:after{height:16px;top:-18px}.w-tree-line li li:before{border-bottom:1px solid #d9d9d9;content:" ";height:16px;top:-2px;width:10px}.w-tree-line li li:last-child:before{border-radius:0 0 0 3px}.w-treechecked-checked{margin-right:5px}.w-search-tree-input-contents{flex:1 1;top:1px}.w-search-tree-input-contents input{box-shadow:none;height:20px;min-width:50px;padding:0}.w-search-tree-input-contents .w-input-inner:focus,.w-search-tree-input-contents .w-input-inner:hover{box-shadow:none!important}.w-search-tree-inner{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:none;border-radius:3px;box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2);box-sizing:border-box;color:#393e48;display:flex;font-size:inherit;font-weight:400;justify-content:space-between;line-height:30px;margin:0!important;min-height:30px;outline:none;padding:3px 10px;transition:box-shadow .3s cubic-bezier(.4,1,.75,.9);vertical-align:middle}.w-search-tree-inner:focus{box-shadow:0 0 0 1px #393e48,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-search-tree-inner:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,0),inset 0 1px 1px rgba(16,22,26,.2)}.w-search-tree-inner:focus.w-search-tree-inner:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-search-tree-inner:disabled{background:#ddd;box-shadow:none;color:#a5a5a5;cursor:not-allowed;opacity:.75;resize:none}.w-search-tree-inner-close-tag-contents{align-content:center;display:flex;width:14px}.w-search-tree-inner-inner-small{height:20px}.w-search-tree-inner-inner-large{height:30px}.w-search-tree-inner .w-input-small .w-input-inner{font-size:10px;height:16px;padding:0}.w-search-tree-inner .w-input-large .w-input-inner{height:28px}.w-transfer{display:flex;justify-content:space-between}.w-transfer-card{width:50%}.w-transfer-cheked-content{height:200px;overflow-y:auto}.w-transfer-arrow-content{align-self:center;display:flex;flex-direction:column;height:50px;justify-content:space-between;width:50px}.w-transfer-arrow{border-radius:3px;transition:all .3s}.w-transfer-arrow:hover{box-shadow:0 1px 6px rgba(0,0,0,.2);cursor:pointer} -/*# sourceMappingURL=uiw-vendor.db1975c1.css.map*/ \ No newline at end of file +@media (prefers-color-scheme:dark){.wmde-markdown,.wmde-markdown-var{--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-invalid-illegal-text:#f0f6fc;--color-prettylights-syntax-invalid-illegal-bg:#8e1519;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-italic:#c9d1d9;--color-prettylights-syntax-markup-bold:#c9d1d9;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-ignored-text:#c9d1d9;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-brackethighlighter-angle:#8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#c9d1d9;--color-fg-muted:#8b949e;--color-fg-subtle:#484f58;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:hsla(215,8%,47%,.4);--color-accent-fg:#58a6ff;--color-accent-emphasis:#1f6feb;--color-attention-subtle:rgba(187,128,9,.15);--color-danger-fg:#f85149;color-scheme:dark}}@media (prefers-color-scheme:light){.wmde-markdown,.wmde-markdown-var{--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-brackethighlighter-unmatched:#82071e;--color-prettylights-syntax-invalid-illegal-text:#f6f8fa;--color-prettylights-syntax-invalid-illegal-bg:#82071e;--color-prettylights-syntax-carriage-return-text:#f6f8fa;--color-prettylights-syntax-carriage-return-bg:#cf222e;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-list:#3b2300;--color-prettylights-syntax-markup-heading:#0550ae;--color-prettylights-syntax-markup-italic:#24292f;--color-prettylights-syntax-markup-bold:#24292f;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-markup-changed-text:#953800;--color-prettylights-syntax-markup-changed-bg:#ffd8b5;--color-prettylights-syntax-markup-ignored-text:#eaeef2;--color-prettylights-syntax-markup-ignored-bg:#0550ae;--color-prettylights-syntax-meta-diff-range:#8250df;--color-prettylights-syntax-brackethighlighter-angle:#57606a;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#24292f;--color-fg-muted:#57606a;--color-fg-subtle:#6e7781;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-attention-subtle:#fff8c5;--color-danger-fg:#cf222e;color-scheme:light}}.wmde-markdown-var[data-color-mode*=dark],.wmde-markdown[data-color-mode*=dark],[data-color-mode*=dark] .wmde-markdown,[data-color-mode*=dark] .wmde-markdown-var,body[data-color-mode*=dark]{--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-invalid-illegal-text:#f0f6fc;--color-prettylights-syntax-invalid-illegal-bg:#8e1519;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-italic:#c9d1d9;--color-prettylights-syntax-markup-bold:#c9d1d9;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-ignored-text:#c9d1d9;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-brackethighlighter-angle:#8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#c9d1d9;--color-fg-muted:#8b949e;--color-fg-subtle:#484f58;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:hsla(215,8%,47%,.4);--color-accent-fg:#58a6ff;--color-accent-emphasis:#1f6feb;--color-attention-subtle:rgba(187,128,9,.15);--color-danger-fg:#f85149;color-scheme:dark}.wmde-markdown-var[data-color-mode*=light],.wmde-markdown[data-color-mode*=light],[data-color-mode*=light] .wmde-markdown,[data-color-mode*=light] .wmde-markdown-var,body[data-color-mode*=light]{--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-brackethighlighter-unmatched:#82071e;--color-prettylights-syntax-invalid-illegal-text:#f6f8fa;--color-prettylights-syntax-invalid-illegal-bg:#82071e;--color-prettylights-syntax-carriage-return-text:#f6f8fa;--color-prettylights-syntax-carriage-return-bg:#cf222e;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-list:#3b2300;--color-prettylights-syntax-markup-heading:#0550ae;--color-prettylights-syntax-markup-italic:#24292f;--color-prettylights-syntax-markup-bold:#24292f;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-markup-changed-text:#953800;--color-prettylights-syntax-markup-changed-bg:#ffd8b5;--color-prettylights-syntax-markup-ignored-text:#eaeef2;--color-prettylights-syntax-markup-ignored-bg:#0550ae;--color-prettylights-syntax-meta-diff-range:#8250df;--color-prettylights-syntax-brackethighlighter-angle:#57606a;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#24292f;--color-fg-muted:#57606a;--color-fg-subtle:#6e7781;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-attention-subtle:#fff8c5;--color-danger-fg:#cf222e;color-scheme:light}.wmde-markdown{-webkit-text-size-adjust:100%;word-wrap:break-word;background-color:var(--color-canvas-default);color:var(--color-fg-default);font-family:-apple-system,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:16px;line-height:1.5}.wmde-markdown details,.wmde-markdown figcaption,.wmde-markdown figure{display:block}.wmde-markdown summary{display:list-item}.wmde-markdown [hidden]{display:none!important}.wmde-markdown a{background-color:transparent;color:var(--color-accent-fg);text-decoration:none}.wmde-markdown a:active,.wmde-markdown a:hover{outline-width:0}.wmde-markdown abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.wmde-markdown b,.wmde-markdown strong{font-weight:600}.wmde-markdown dfn{font-style:italic}.wmde-markdown h1{border-bottom:1px solid var(--color-border-muted);font-size:2em;font-weight:600;margin:.67em 0;padding-bottom:.3em}.wmde-markdown mark{background-color:var(--color-attention-subtle);color:var(--color-text-primary)}.wmde-markdown small{font-size:90%}.wmde-markdown sub,.wmde-markdown sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.wmde-markdown sub{bottom:-.25em}.wmde-markdown sup{top:-.5em}.wmde-markdown img{background-color:var(--color-canvas-default);border-style:none;box-sizing:content-box;display:inline-block;max-width:100%}.wmde-markdown code,.wmde-markdown kbd,.wmde-markdown pre,.wmde-markdown samp{font-family:monospace,monospace;font-size:1em}.wmde-markdown figure{margin:1em 40px}.wmde-markdown hr{background:transparent;background-color:var(--color-border-default);border:0;border-bottom:1px solid var(--color-border-muted);box-sizing:content-box;height:.25em;margin:24px 0;overflow:hidden;padding:0}.wmde-markdown input{font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible}.wmde-markdown [type=button],.wmde-markdown [type=reset],.wmde-markdown [type=submit]{-webkit-appearance:button}.wmde-markdown [type=button]::-moz-focus-inner,.wmde-markdown [type=reset]::-moz-focus-inner,.wmde-markdown [type=submit]::-moz-focus-inner{border-style:none;padding:0}.wmde-markdown [type=button]:-moz-focusring,.wmde-markdown [type=reset]:-moz-focusring,.wmde-markdown [type=submit]:-moz-focusring{outline:1px dotted ButtonText}.wmde-markdown [type=checkbox],.wmde-markdown [type=radio]{box-sizing:border-box;padding:0}.wmde-markdown [type=number]::-webkit-inner-spin-button,.wmde-markdown [type=number]::-webkit-outer-spin-button{height:auto}.wmde-markdown [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.wmde-markdown [type=search]::-webkit-search-cancel-button,.wmde-markdown [type=search]::-webkit-search-decoration{-webkit-appearance:none}.wmde-markdown ::-webkit-input-placeholder{color:inherit;opacity:.54}.wmde-markdown ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.wmde-markdown a:hover{text-decoration:underline}.wmde-markdown hr:after,.wmde-markdown hr:before{content:"";display:table}.wmde-markdown hr:after{clear:both}.wmde-markdown table{border-collapse:collapse;border-spacing:0;display:block;max-width:100%;width:-moz-max-content;width:max-content}.wmde-markdown td,.wmde-markdown th{padding:0}.wmde-markdown details summary{cursor:pointer}.wmde-markdown details:not([open])>:not(summary){display:none!important}.wmde-markdown kbd{background-color:var(--color-canvas-subtle);border-bottom-color:var(--color-neutral-muted);border:1px solid var(--color-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-neutral-muted);color:var(--color-fg-default);display:inline-block;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;padding:3px 5px;vertical-align:middle}.wmde-markdown h1,.wmde-markdown h2,.wmde-markdown h3,.wmde-markdown h4,.wmde-markdown h5,.wmde-markdown h6{font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:24px}.wmde-markdown h2{border-bottom:1px solid var(--color-border-muted);font-size:1.5em;font-weight:600;padding-bottom:.3em}.wmde-markdown h3{font-size:1.25em;font-weight:600}.wmde-markdown h4{font-size:1em;font-weight:600}.wmde-markdown h5{font-size:.875em;font-weight:600}.wmde-markdown h6{color:var(--color-fg-muted);font-size:.85em;font-weight:600}.wmde-markdown p{margin-bottom:10px;margin-top:0}.wmde-markdown blockquote{border-left:.25em solid var(--color-border-default);color:var(--color-fg-muted);margin:0;padding:0 1em}.wmde-markdown ol,.wmde-markdown ul{margin-bottom:0;margin-top:0;padding-left:2em}.wmde-markdown ol ol,.wmde-markdown ul ol{list-style-type:lower-roman}.wmde-markdown ol ol ol,.wmde-markdown ol ul ol,.wmde-markdown ul ol ol,.wmde-markdown ul ul ol{list-style-type:lower-alpha}.wmde-markdown dd{margin-left:0}.wmde-markdown code,.wmde-markdown pre,.wmde-markdown tt{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.wmde-markdown pre{word-wrap:normal;margin-bottom:0;margin-top:0}.wmde-markdown .octicon{fill:currentColor;display:inline-block;overflow:visible!important;vertical-align:text-bottom}.wmde-markdown ::-moz-placeholder{color:var(--color-fg-subtle);opacity:1}.wmde-markdown ::placeholder{color:var(--color-fg-subtle);opacity:1}.wmde-markdown input::-webkit-inner-spin-button,.wmde-markdown input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.wmde-markdown [data-catalyst]{display:block}.wmde-markdown:after,.wmde-markdown:before{content:"";display:table}.wmde-markdown:after{clear:both}.wmde-markdown>:first-child{margin-top:0!important}.wmde-markdown>:last-child{margin-bottom:0!important}.wmde-markdown a:not([href]){color:inherit;text-decoration:none}.wmde-markdown .absent{color:var(--color-danger-fg)}.wmde-markdown a.anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.wmde-markdown .anchor:focus{outline:none}.wmde-markdown blockquote,.wmde-markdown details,.wmde-markdown dl,.wmde-markdown ol,.wmde-markdown p,.wmde-markdown pre,.wmde-markdown table,.wmde-markdown ul{margin-bottom:16px;margin-top:0}.wmde-markdown blockquote>:first-child{margin-top:0}.wmde-markdown blockquote>:last-child{margin-bottom:0}.wmde-markdown sup>a:before{content:"["}.wmde-markdown sup>a:after{content:"]"}.wmde-markdown h1 .octicon-link,.wmde-markdown h2 .octicon-link,.wmde-markdown h3 .octicon-link,.wmde-markdown h4 .octicon-link,.wmde-markdown h5 .octicon-link,.wmde-markdown h6 .octicon-link{color:var(--color-fg-default);vertical-align:middle;visibility:hidden}.wmde-markdown h1:hover .anchor,.wmde-markdown h2:hover .anchor,.wmde-markdown h3:hover .anchor,.wmde-markdown h4:hover .anchor,.wmde-markdown h5:hover .anchor,.wmde-markdown h6:hover .anchor{text-decoration:none}.wmde-markdown h1:hover .anchor .octicon-link,.wmde-markdown h2:hover .anchor .octicon-link,.wmde-markdown h3:hover .anchor .octicon-link,.wmde-markdown h4:hover .anchor .octicon-link,.wmde-markdown h5:hover .anchor .octicon-link,.wmde-markdown h6:hover .anchor .octicon-link{visibility:visible}.wmde-markdown h1 code,.wmde-markdown h1 tt,.wmde-markdown h2 code,.wmde-markdown h2 tt,.wmde-markdown h3 code,.wmde-markdown h3 tt,.wmde-markdown h4 code,.wmde-markdown h4 tt,.wmde-markdown h5 code,.wmde-markdown h5 tt,.wmde-markdown h6 code,.wmde-markdown h6 tt{font-size:inherit;padding:0 .2em}.wmde-markdown ol.no-list,.wmde-markdown ul.no-list{list-style-type:none;padding:0}.wmde-markdown ol[type="1"]{list-style-type:decimal}.wmde-markdown ol[type=a]{list-style-type:lower-alpha}.wmde-markdown ol[type=i]{list-style-type:lower-roman}.wmde-markdown div>ol:not([type]){list-style-type:decimal}.wmde-markdown ol ol,.wmde-markdown ol ul,.wmde-markdown ul ol,.wmde-markdown ul ul{margin-bottom:0;margin-top:0}.wmde-markdown li>p{margin-top:16px}.wmde-markdown li+li{margin-top:.25em}.wmde-markdown dl{padding:0}.wmde-markdown dl dt{font-size:1em;font-style:italic;font-weight:600;margin-top:16px;padding:0}.wmde-markdown dl dd{margin-bottom:16px;padding:0 16px}.wmde-markdown table th{font-weight:600}.wmde-markdown table td,.wmde-markdown table th{border:1px solid var(--color-border-default);padding:6px 13px}.wmde-markdown table tr{background-color:var(--color-canvas-default);border-top:1px solid var(--color-border-muted)}.wmde-markdown table tr:nth-child(2n){background-color:var(--color-canvas-subtle)}.wmde-markdown table img{background-color:transparent}.wmde-markdown img[align=right]{padding-left:20px}.wmde-markdown img[align=left]{padding-right:20px}.wmde-markdown .emoji{background-color:transparent;max-width:none;vertical-align:text-top}.wmde-markdown span.frame{display:block;overflow:hidden}.wmde-markdown span.frame>span{border:1px solid var(--color-border-default);display:block;float:left;margin:13px 0 0;overflow:hidden;padding:7px;width:auto}.wmde-markdown span.frame span img{display:block;float:left}.wmde-markdown span.frame span span{clear:both;color:var(--color-fg-default);display:block;padding:5px 0 0}.wmde-markdown span.align-center{clear:both;display:block;overflow:hidden}.wmde-markdown span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.wmde-markdown span.align-center span img{margin:0 auto;text-align:center}.wmde-markdown span.align-right{clear:both;display:block;overflow:hidden}.wmde-markdown span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.wmde-markdown span.align-right span img{margin:0;text-align:right}.wmde-markdown span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.wmde-markdown span.float-left span{margin:13px 0 0}.wmde-markdown span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.wmde-markdown span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.wmde-markdown code,.wmde-markdown tt{background-color:var(--color-neutral-muted);border-radius:6px;font-size:85%;margin:0;padding:.2em .4em}.wmde-markdown code br,.wmde-markdown tt br{display:none}.wmde-markdown del code{text-decoration:inherit}.wmde-markdown pre code{font-size:100%}.wmde-markdown pre>code{background:transparent;border:0;margin:0;padding:0;white-space:pre;word-break:normal}.wmde-markdown pre{background-color:var(--color-canvas-subtle);border-radius:6px;font-size:85%;line-height:1.45}.wmde-markdown pre code,.wmde-markdown pre tt{word-wrap:normal;background-color:transparent;border:0;display:inline;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0}.wmde-markdown pre>code{display:block;overflow:auto;padding:16px}.wmde-markdown .csv-data td,.wmde-markdown .csv-data th{font-size:12px;line-height:1;overflow:hidden;padding:5px;text-align:left;white-space:nowrap}.wmde-markdown .csv-data .blob-num{background:var(--color-canvas-default);border:0;padding:10px 8px 9px;text-align:right}.wmde-markdown .csv-data tr{border-top:0}.wmde-markdown .csv-data th{background:var(--color-canvas-subtle);border-top:0;font-weight:600}.wmde-markdown .footnotes{border-top:1px solid var(--color-border-default);color:var(--color-fg-muted);font-size:12px}.wmde-markdown .footnotes ol{padding-left:16px}.wmde-markdown .footnotes li{position:relative}.wmde-markdown .footnotes li:target:before{border:2px solid var(--color-accent-emphasis);border-radius:6px;bottom:-8px;content:"";left:-24px;pointer-events:none;position:absolute;right:-8px;top:-8px}.wmde-markdown .footnotes li:target{color:var(--color-fg-default)}.wmde-markdown .footnotes .data-footnote-backref g-emoji{font-family:monospace}.wmde-markdown .task-list-item{list-style-type:none}.wmde-markdown .task-list-item label{font-weight:400}.wmde-markdown .task-list-item.enabled label{cursor:pointer}.wmde-markdown .task-list-item+.wmde-markdown .task-list-item{margin-top:3px}.wmde-markdown .task-list-item .handle{display:none}.wmde-markdown .contains-task-list input[type=checkbox],.wmde-markdown .task-list-item-checkbox{margin:0 .2em .25em -1.6em;vertical-align:middle}.wmde-markdown .contains-task-list:dir(rtl) .task-list-item-checkbox,.wmde-markdown .contains-task-list:dir(rtl) input[type=checkbox]{margin:0 -1.6em .25em .2em}.wmde-markdown ::-webkit-calendar-picker-indicator{filter:invert(50%)}.wmde-markdown pre{position:relative}.wmde-markdown pre .copied{background:var(--color-border-default);border-radius:5px;color:var(--color-fg-defaul);cursor:pointer;display:flex;font-size:12px;padding:6px;position:absolute;right:6px;top:6px;transition:all .3s;visibility:hidden}.wmde-markdown pre .copied .octicon-copy{display:block}.wmde-markdown pre .copied .octicon-check{display:none}.wmde-markdown pre:hover .copied{visibility:visible}.wmde-markdown pre:hover .copied:hover{background:var(--color-prettylights-syntax-entity-tag);color:var(--color-canvas-default)}.wmde-markdown pre .copied.active,.wmde-markdown pre:hover .copied:active{background:#2e9b33;color:var(--color-canvas-default)}.wmde-markdown pre .active .octicon-copy{display:none}.wmde-markdown pre .active .octicon-check{display:block}.highlight-line{background-color:var(--color-neutral-muted)}.code-line.line-number:before{color:var(--color-fg-subtle);content:attr(line);display:inline-block;margin-right:16px;text-align:right;white-space:nowrap;width:1rem}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:var(--color-prettylights-syntax-comment)}.token.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.selector,.token.symbol,.token.tag{color:var(--color-prettylights-syntax-entity-tag)}.token.maybe-class-name{color:var(--color-prettylights-syntax-variable)}.token.attr-name,.token.boolean,.token.builtin,.token.char,.token.number,.token.operator,.token.property-access,.token.selector .token.class,.token.string{color:var(--color-prettylights-syntax-constant)}.token.deleted{color:var(--color-prettylights-syntax-markup-deleted-text)}.code-line .token.deleted{background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.token.inserted{color:var(--color-prettylights-syntax-markup-inserted-text)}.code-line .token.inserted{background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.token.variable{color:var(--color-prettylights-syntax-constant)}.language-css .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.class-name,.token.color,.token.entity,.token.function,.token.url{color:var(--color-prettylights-syntax-string)}.token.important,.token.keyword,.token.regex,.token.rule{color:var(--color-prettylights-syntax-keyword)}.token.coord{color:var(--color-prettylights-syntax-meta-diff-range)}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.w-overlay{-webkit-overflow-scrolling:touch;bottom:0;display:none;height:100%;left:0;outline:0;overflow:auto;position:fixed;right:0;text-align:center;top:0;width:100%;z-index:999}.w-overlay.open{z-index:9999}.w-overlay-open{overflow:hidden}.w-overlay-content{display:inline-block;margin:20px 0;outline:0;position:relative;text-align:left;vertical-align:middle;z-index:20}.w-overlay-inline{overflow:visible;overflow:initial;position:absolute}.w-overlay-inline .w-overlay-container{position:relative}.w-overlay-inline .w-overlay-backdrop{position:absolute}.w-overlay-container{bottom:0;left:0;overflow:auto;position:absolute;right:0;top:0;z-index:99999}.w-overlay-container:before{content:" ";display:inline-block;height:100%;vertical-align:middle;width:1px}.w-overlay-backdrop{background-color:rgba(16,22,26,.7);bottom:0;left:0;opacity:1;overflow:auto;position:fixed;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:20}.w-overlay-enter .w-overlay-backdrop{opacity:0}.w-overlay-enter-active .w-overlay-backdrop{opacity:1;transition:opacity .3s ease-in}.w-overlay-exit .w-overlay-backdrop{opacity:1}.w-overlay-exit-active .w-overlay-backdrop{opacity:0;transition:opacity .3s ease-in}.w-overlay-enter .w-overlay-content{opacity:0;transform:scale(.5)}.w-overlay-enter-active .w-overlay-content,.w-overlay-exit .w-overlay-content{opacity:1;transform:translate(0);transition:transform .3s ease,opacity .3s ease}.w-overlay-exit-active .w-overlay-content{opacity:0;transform:scale(.5)}.w-overlay-enter,.w-overlay-enter-done,.w-overlay-exit{display:inherit}.w-icon,.w-icon svg{height:1em;width:1em}.w-icon{align-self:center;box-sizing:inherit;display:inline-flex;position:relative;transition:color .3s}.w-icon-baseline{top:.125em}.w-icon-spin svg{animation:loading-circle 1s linear infinite}@keyframes loading-circle{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.w-btn{align-items:center;border:none;border-radius:3px;color:#fff;cursor:pointer;display:inline-flex;flex-direction:row;font-size:14px;justify-content:center;line-height:14px;min-height:30px;min-width:30px;padding:5px 7px;position:relative;text-align:left;text-align:center;transition:background-color .5s,opacity 1s;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.w-btn>:not(:last-child){margin-right:5px}.w-btn+.w-btn:not(.block){margin-left:5px}.w-btn.block{display:block;width:100%}.w-btn.disabled,.w-btn[disabled]{cursor:not-allowed}.w-btn-primary{background-color:#008ef0;color:#fff;z-index:1}.w-btn-primary.focus,.w-btn-primary:focus{box-shadow:0 0 0 2px rgba(0,142,240,.26);outline:0}.w-btn-primary:hover{background-color:#0070bd;color:#fff;z-index:2}.w-btn-primary.active,.w-btn-primary:active{background-color:#00528a;background-image:none;color:#fff}.w-btn-primary.disabled,.w-btn-primary[disabled]{background-color:#57baff;z-index:0}.w-btn-primary.w-btn-basic{background-color:transparent!important;box-shadow:inset 0 0 0 #000;color:#008ef0}.w-btn-primary.w-btn-basic:hover{background-color:#c7e8ff!important}.w-btn-primary.w-btn-basic.active,.w-btn-primary.w-btn-basic:active{background-color:#94d3ff!important;background-image:none;color:#008ef0}.w-btn-primary.w-btn-basic.disabled,.w-btn-primary.w-btn-basic[disabled]{background-color:transparent!important;color:#24a6ff}.w-btn-success{background-color:#28a745;color:#fff;z-index:1}.w-btn-success.focus,.w-btn-success:focus{box-shadow:0 0 0 2px rgba(40,167,69,.26);outline:0}.w-btn-success:hover{background-color:#1e7e34;color:#fff;z-index:2}.w-btn-success.active,.w-btn-success:active{background-color:#145523;background-image:none;color:#fff}.w-btn-success.disabled,.w-btn-success[disabled]{background-color:#5dd879;z-index:0}.w-btn-success.w-btn-basic{background-color:transparent!important;box-shadow:inset 0 0 0 #000;color:#28a745}.w-btn-success.w-btn-basic:hover{background-color:#b7eec4!important}.w-btn-success.w-btn-basic.active,.w-btn-success.w-btn-basic:active{background-color:#8ee4a2!important;background-image:none;color:#28a745}.w-btn-success.w-btn-basic.disabled,.w-btn-success.w-btn-basic[disabled]{background-color:transparent!important;color:#34ce57}.w-btn-warning{background-color:#ffc107;color:#fff;z-index:1}.w-btn-warning.focus,.w-btn-warning:focus{box-shadow:0 0 0 2px rgba(255,193,7,.26);outline:0}.w-btn-warning:hover{background-color:#d39e00;color:#fff;z-index:2}.w-btn-warning.active,.w-btn-warning:active{background-color:#a07800;background-image:none;color:#fff}.w-btn-warning.disabled,.w-btn-warning[disabled]{background-color:#ffdb6d;z-index:0}.w-btn-warning.w-btn-basic{background-color:transparent!important;box-shadow:inset 0 0 0 #000;color:#ffc107}.w-btn-warning.w-btn-basic:hover{background-color:#fff7dd!important}.w-btn-warning.w-btn-basic.active,.w-btn-warning.w-btn-basic:active{background-color:#ffeaaa!important;background-image:none;color:#ffc107}.w-btn-warning.w-btn-basic.disabled,.w-btn-warning.w-btn-basic[disabled]{background-color:transparent!important;color:#ffce3a}.w-btn-danger{background-color:#dc3545;color:#fff;z-index:1}.w-btn-danger.focus,.w-btn-danger:focus{box-shadow:0 0 0 2px rgba(220,53,69,.26);outline:0}.w-btn-danger:hover{background-color:#bd2130;color:#fff;z-index:2}.w-btn-danger.active,.w-btn-danger:active{background-color:#921925;background-image:none;color:#fff}.w-btn-danger.disabled,.w-btn-danger[disabled]{background-color:#eb8c95;z-index:0}.w-btn-danger.w-btn-basic{background-color:transparent!important;box-shadow:inset 0 0 0 #000;color:#dc3545}.w-btn-danger.w-btn-basic:hover{background-color:#fceced!important}.w-btn-danger.w-btn-basic.active,.w-btn-danger.w-btn-basic:active{background-color:#f4c0c5!important;background-image:none;color:#dc3545}.w-btn-danger.w-btn-basic.disabled,.w-btn-danger.w-btn-basic[disabled]{background-color:transparent!important;color:#e4606d}.w-btn-light{background-color:#f8f9fa;box-shadow:inset 0 1px 0 0 rgba(0,0,0,.17),inset 1px -1px 0 0 rgba(0,0,0,.17),inset -1px 0 0 0 rgba(0,0,0,.17);color:#393e48;z-index:1}.w-btn-light.focus,.w-btn-light:focus{box-shadow:0 0 0 2px rgba(248,249,250,.26)}.w-btn-light:hover{background-color:#dae0e5;color:#393e48;z-index:2}.w-btn-light.active,.w-btn-light:active{background-color:#bcc6cf;background-image:none;color:#393e48}.w-btn-light.disabled,.w-btn-light[disabled]{background-color:#fff}.w-btn-light.w-btn-basic{background-color:transparent!important;box-shadow:inset 0 0 0 #000;color:#f8f9fa}.w-btn-light.w-btn-basic:hover{background-color:#fff!important}.w-btn-light.w-btn-basic.active,.w-btn-light.w-btn-basic:active{background-color:#fff!important;color:#f8f9fa}.w-btn-light.w-btn-basic.disabled,.w-btn-light.w-btn-basic[disabled]{color:#fff}.w-btn-light.focus,.w-btn-light:focus{box-shadow:inset 0 1px 0 0 rgba(0,0,0,.17),inset 1px -1px 0 0 rgba(0,0,0,.17),inset -1px 0 0 0 rgba(0,0,0,.17),0 0 0 2px rgba(0,0,0,.1);outline:0}.w-btn-light.w-btn-basic{color:#9199a7}.w-btn-light.w-btn-basic.focus,.w-btn-light.w-btn-basic:focus{box-shadow:inset 0 0 0 0 rgba(0,0,0,.17)}.w-btn-light.w-btn-basic:hover{background-color:#ecedf0!important}.w-btn-light.w-btn-basic.active,.w-btn-light.w-btn-basic:active{background-color:#d5d8dd!important;background-image:none;color:#9199a7}.w-btn-light.w-btn-basic.disabled,.w-btn-light.w-btn-basic[disabled]{background-color:transparent!important;color:#adb3be}.w-btn-light.disabled,.w-btn-light[disabled]{color:#666f81;z-index:0}.w-btn-dark{background-color:#393e48;color:#fff;z-index:1}.w-btn-dark.focus,.w-btn-dark:focus{box-shadow:0 0 0 2px rgba(57,62,72,.26);outline:0}.w-btn-dark:hover{background-color:#22252c;color:#fff;z-index:2}.w-btn-dark.active,.w-btn-dark:active{background-color:#0c0d0f;background-image:none;color:#fff}.w-btn-dark.disabled,.w-btn-dark[disabled]{background-color:#666f81;z-index:0}.w-btn-dark.w-btn-basic{background-color:transparent!important;box-shadow:inset 0 0 0 #000;color:#393e48}.w-btn-dark.w-btn-basic:hover{background-color:#a2a8b5!important}.w-btn-dark.w-btn-basic.active,.w-btn-dark.w-btn-basic:active{background-color:#858e9f!important;background-image:none;color:#393e48}.w-btn-dark.w-btn-basic.disabled,.w-btn-dark.w-btn-basic[disabled]{background-color:transparent!important;color:#505764}.w-btn-link{background-color:transparent;color:#008ef0;color:#008ef0!important;z-index:1}.w-btn-link.focus,.w-btn-link:focus{box-shadow:0 0 0 2px transparent;outline:0}.w-btn-link:hover{background-color:transparent;color:#008ef0;z-index:2}.w-btn-link.active,.w-btn-link:active{background-color:transparent;background-image:none;color:#008ef0}.w-btn-link.disabled,.w-btn-link[disabled]{background-color:rgba(51,51,51,0)}.w-btn-link.w-btn-basic{background-color:transparent!important;box-shadow:inset 0 0 0 #000;color:transparent}.w-btn-link.w-btn-basic:hover{background-color:hsla(0,0%,42%,0)!important}.w-btn-link.w-btn-basic.active,.w-btn-link.w-btn-basic:active{background-color:rgba(82,82,82,0)!important;background-image:none;color:transparent}.w-btn-link.w-btn-basic.disabled,.w-btn-link.w-btn-basic[disabled]{background-color:transparent!important;color:rgba(26,26,26,0)}.w-btn-link:hover:not([disabled]){color:#006ab3;text-decoration:underline}.w-btn-link:not([disabled]).active,.w-btn-link:not([disabled]):active{box-shadow:none;color:#002d4d;text-decoration:underline}.w-btn-link.disabled,.w-btn-link[disabled]{z-index:0}.w-btn .w-icon{font-size:16px}.w-btn-size-large{font-size:16px;line-height:16px;min-height:36px}.w-btn-size-large .w-icon{font-size:20px}.w-btn-size-small{font-size:12px;line-height:24px;min-height:24px;min-width:20px;padding:0 6px}.w-btn-size-small .w-icon{font-size:14px}.w-btn .w-icon:not(:last-child){margin-right:5px}.w-btn-loading.w-btn-light:before{border:1.2px solid #666f81}.w-btn-loading:before{animation:rotate .5s linear infinite;border:1.2px solid #fff;border-radius:50%;-webkit-clip-path:polygon(0 0,100% 0,100% 30%,0 30%);clip-path:polygon(0 0,100% 0,100% 30%,0 30%);color:#fff;content:"";display:inline-block;height:1em;margin:0 3px 0 0;width:1em}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.w-modal{z-index:1001}.w-modal-inner{background:#f9f9f9;border-radius:5px;box-shadow:0 0 0 1px rgba(16,22,26,.1),0 4px 8px rgba(16,22,26,.2),0 18px 46px 6px rgba(16,22,26,.2);min-width:320px;padding-bottom:20px}.w-modal-header{align-items:center;background-color:#fff;border-radius:5px 5px 0 0;box-shadow:0 1px 0 rgba(16,22,26,.15);display:flex;font-size:16px;min-height:40px;padding-left:13px;padding-right:5px}.w-modal-header>.w-icon{color:#393e48;margin-right:10px}.w-modal-header h4{flex:1 1 auto;font-weight:700;margin:0;min-height:22px;padding:0}.w-modal-body,.w-modal-footer{margin:0 20px}.w-modal-body{font-size:14px;padding-top:20px}.w-modal-footer{display:flex;flex-direction:row-reverse;margin-top:15px}.w-modal-footer .w-btn+.w-btn{margin-right:10px}.w-alert .w-modal-body,.w-alert .w-modal-header{display:table-cell}.w-alert .w-modal-header{background-color:transparent;box-shadow:0 0 0 0;padding:20px 0 0 20px}.w-alert .w-modal-header>.w-icon{font-size:40px;margin-right:0}.w-alert .w-modal-body{padding-left:20px;padding-right:20px;vertical-align:top}.w-alert.primary .w-modal-header>.w-icon{color:#008ef0}.w-alert.success .w-modal-header>.w-icon{color:#28a745}.w-alert.warning .w-modal-header>.w-icon{color:#ffc107}.w-alert.danger .w-modal-header>.w-icon{color:#dc3545}.w-alert .w-modal-inner .w-modal-header>button{min-height:18px;min-width:18px;padding:5px;position:absolute;right:10px;top:10px}.w-alert .w-modal-shown-title.w-modal-inner .w-modal-header{display:flex;padding-right:10px;padding-top:15px;word-break:break-word}.w-alert .w-modal-shown-title.w-modal-inner .w-modal-header>.w-icon{font-size:40px;position:absolute;top:18px}.w-alert .w-modal-shown-title.w-modal-inner .w-modal-header>button>.w-icon{font-size:14px}.w-alert .w-modal-shown-title.w-modal-inner .w-modal-body{padding-top:5px;word-break:break-word}.w-alert .w-modal-shown-icon .w-modal-header>h4{padding-left:60px}.w-alert .w-modal-shown-title.w-modal-shown-icon .w-modal-body{padding-left:80px}.w-avatar{align-items:center;background:#ccc;border-radius:3px;color:#fff;display:inline-block;display:inline-flex;font-size:18px;height:30px;justify-content:center;overflow:hidden;position:relative;text-align:center;vertical-align:middle;white-space:nowrap;width:30px}.w-avatar+.w-avatar{margin-left:5px}.w-avatar-mini{font-size:12px;height:18px;width:18px}.w-avatar-small{font-size:12px;height:24px;width:24px}.w-avatar-large{font-size:24px;height:40px;width:40px}.w-avatar-circle{border-radius:50%}.w-avatar>img{display:block;height:100%;width:100%}.w-back-top{bottom:50px;cursor:pointer;position:fixed;right:50px;transition:all 1s;z-index:1006}.w-back-top.no-fixed{cursor:auto;position:static}.w-back-top-hide{height:0;opacity:0;transition:all 1s}.w-back-top-show{opacity:1}.w-badge{display:inline-block;line-height:1;position:relative;vertical-align:middle}.w-badge sup.w-badge-count{background:#f04134;border-radius:10px;box-shadow:0 0 0 1px #fff;color:#fff;font-family:tahoma;font-size:12px;height:16px;line-height:16px;min-width:16px;padding:0 5px;position:absolute;text-align:center;top:-10px;transform:translateX(-50%);transform-origin:-10% center;white-space:nowrap}.w-badge.nowrap sup.w-badge-count{display:block;overflow:hidden;position:relative;top:auto;transform:none!important}.w-badge sup.dot{background:#f04134;border-radius:100%;box-shadow:0 0 0 1px #fff;color:transparent;height:6px;overflow:hidden;padding:0;position:absolute;top:-4px;transform:translateX(-50%);transform-origin:0 center;width:6px;z-index:10}.w-badge-dot{border-radius:50%;display:inline-block;font-size:14px;height:6px;line-height:inherit;margin:0 4px;position:relative;top:-1px;vertical-align:baseline;vertical-align:middle;width:6px}.w-badge-processing .w-badge-dot{background-color:#007bff;position:relative}.w-badge-processing .w-badge-dot:after{animation:wStatusProcessing 1.2s ease-in-out infinite;background-color:inherit;border-radius:50%;content:"";height:100%;left:0;position:absolute;top:0;width:100%}@keyframes wStatusProcessing{0%{opacity:.5;transform:scale(.8)}to{opacity:0;transform:scale(2.8)}}.w-breadcrumb-item{display:inline-flex}.w-breadcrumb-item+.w-breadcrumb-item .w-breadcrumb-separator,.w-breadcrumb-item+.w-breadcrumb-item:before{color:#6e6e6e;padding-left:8px;padding-right:8px}.w-breadcrumb-item+.w-breadcrumb-item:before{content:attr(data-separator);display:inline-block}.w-breadcrumb-item+.w-breadcrumb-item.no-before:before{display:none}.w-breadcrumb-item+.w-breadcrumb-item.no-separator{margin-left:6px}.w-breadcrumb-item+.w-breadcrumb-item.no-separator:before{display:none}.w-breadcrumb-item.active{color:#6e6e6e}.w-breadcrumb{display:inline-flex;font-size:14px}.w-btn-group>.w-btn{border-radius:0;box-shadow:inset 1px 0 0 0 rgba(0,0,0,.17),inset -1px 0 0 0 rgba(0,0,0,.17),inset -1px 0 0 0 rgba(0,0,0,.17)}.w-btn-group>.w-btn:last-child{border-radius:0 3px 3px 0}.w-btn-group>.w-btn:first-child{border-radius:3px 0 0 3px}.w-btn-group>.w-btn:first-child:last-child{border-radius:3px!important}.w-btn-group>.w-btn:focus{z-index:2}.w-btn-group .w-btn+.w-btn{margin-left:-1px!important}.w-btn-group .w-btn:not(.w-btn-light):first-child{box-shadow:inset -1px 0 0 0 rgba(0,0,0,.17)!important}.w-btn-group .w-btn:not(.w-btn-light):last-child{box-shadow:inset 1px 0 0 0 rgba(0,0,0,.17),inset 0 0 0 0 rgba(0,0,0,.17)}.w-btn-group .w-btn-light{box-shadow:inset 0 1px 0 0 rgba(0,0,0,.17),inset 1px -1px 0 0 rgba(0,0,0,.17),inset -1px 0 0 0 rgba(0,0,0,.17)!important}.w-btn-group-vertical .w-btn:not(.w-btn-light){box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.17),inset 0 1px 0 0 rgba(0,0,0,.17)!important}.w-btn-group-vertical .w-btn:not(.w-btn-light):first-child{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.17),inset 0 0 0 0 rgba(0,0,0,.17)!important}.w-btn-group-vertical .w-btn{width:100%}.w-btn-group-vertical .w-btn+.w-btn{margin-left:0!important;margin-top:-1px!important}.w-btn-group-vertical .w-btn:last-child{border-radius:0 0 3px 3px}.w-btn-group-vertical .w-btn:first-child{border-radius:3px 3px 0 0}.w-overlay.w-overlay-trigger{bottom:auto;height:auto;left:auto;overflow:inherit;position:absolute;right:auto;top:auto;width:auto}.w-overlay.w-overlay-trigger .w-overlay-container{overflow:inherit;position:relative}.w-overlay.w-overlay-trigger .w-overlay-container:before{display:none}.w-overlay.w-overlay-trigger .w-overlay-content{margin:0}.w-overlay.w-overlay-trigger.rightTop .w-overlay-content{transform-origin:left top}.w-overlay.w-overlay-trigger.right .w-overlay-content{transform-origin:left center}.w-overlay.w-overlay-trigger.rightBottom .w-overlay-content{transform-origin:left bottom}.w-overlay.w-overlay-trigger.topLeft .w-overlay-content{transform-origin:bottom left}.w-overlay.w-overlay-trigger.top .w-overlay-content{transform-origin:bottom center}.w-overlay.w-overlay-trigger.topRight .w-overlay-content{transform-origin:bottom right}.w-overlay.w-overlay-trigger.leftTop .w-overlay-content{transform-origin:right top}.w-overlay.w-overlay-trigger.left .w-overlay-content{transform-origin:right center}.w-overlay.w-overlay-trigger.leftBottom .w-overlay-content{transform-origin:right bottom}.w-overlay.w-overlay-trigger.bottomLeft .w-overlay-content{transform-origin:top left}.w-overlay.w-overlay-trigger.bottom .w-overlay-content{transform-origin:top center}.w-overlay.w-overlay-trigger.bottomRight .w-overlay-content{transform-origin:top right}.w-overlay-trigger-disabled{cursor:not-allowed}.w-popover{display:inline-block;outline:0;position:relative}.w-popover-arrow{border-color:transparent;height:30px;position:absolute;width:30px;z-index:21}.w-popover-inner{background-color:#fff;border-radius:4px;box-shadow:0 0 0 1px rgba(16,22,26,.1),0 2px 4px rgba(16,22,26,.2),0 8px 24px rgba(16,22,26,.2);display:block;font-size:12px;min-height:23px;text-align:left;text-decoration:none}.w-popover.right .w-popover-arrow,.w-popover.rightBottom .w-popover-arrow,.w-popover.rightTop .w-popover-arrow{left:2px;margin-top:-15px;top:50%}.w-popover.left .w-popover-arrow,.w-popover.leftBottom .w-popover-arrow,.w-popover.leftTop .w-popover-arrow{margin-top:-15px;right:2px;top:50%;transform:rotate(180deg)}.w-popover.leftTop .w-popover-arrow,.w-popover.rightTop .w-popover-arrow{top:15px}.w-popover.leftBottom .w-popover-arrow,.w-popover.rightBottom .w-popover-arrow{bottom:0;top:auto}.w-popover.top .w-popover-arrow,.w-popover.topLeft .w-popover-arrow,.w-popover.topRight .w-popover-arrow{bottom:2px;left:50%;margin-left:-15px;transform:rotate(-90deg)}.w-popover.bottom .w-popover-arrow,.w-popover.bottomLeft .w-popover-arrow,.w-popover.bottomRight .w-popover-arrow{left:50%;margin-left:-15px;top:2px;transform:rotate(90deg)}.w-popover.bottomLeft .w-popover-arrow,.w-popover.topLeft .w-popover-arrow{left:15px}.w-popover.bottomRight .w-popover-arrow,.w-popover.topRight .w-popover-arrow{left:auto;right:0}.w-popover.top,.w-popover.topLeft,.w-popover.topRight{padding-bottom:13px}.w-popover.bottom,.w-popover.bottomLeft,.w-popover.bottomRight{padding-top:13px}.w-popover.right,.w-popover.rightBottom,.w-popover.rightTop{padding-left:13px}.w-popover.left,.w-popover.leftBottom,.w-popover.leftTop{padding-right:13px}.w-popover.no-arrow{padding:0!important}.w-input{font-size:14px;line-height:14px;position:relative;width:100%}.w-input-inner{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:none;border-radius:3px;box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2);box-sizing:border-box;color:#393e48;font-size:inherit;font-weight:400;height:30px;line-height:30px;margin:0!important;outline:none;padding:0 10px;transition:box-shadow .3s cubic-bezier(.4,1,.75,.9);vertical-align:middle}.w-input-inner:not(:first-child){padding-left:26px}.w-input-inner:focus{box-shadow:0 0 0 1px #393e48,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-input-inner:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,0),inset 0 1px 1px rgba(16,22,26,.2)}.w-input-inner:focus.w-input-inner:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-input-inner:disabled{background:#ddd;box-shadow:none;color:#a5a5a5;cursor:not-allowed;opacity:.75;resize:none}.w-input .w-input-inner{width:100%}.w-input>.w-icon{margin:0 7px;position:absolute;top:50%;transform:translateY(-50%)}.w-input-addon-after{bottom:3px;display:flex;position:absolute;right:3px;top:3px}.w-input-addon-after>*{align-items:center;display:flex!important}.w-input-large{font-size:16px}.w-input-large .w-input-inner{height:36px;line-height:36px}.w-input-small{min-width:20px}.w-input-small .w-input-inner{height:24px;line-height:24px;padding:0 6px}.w-input-small .w-input-inner:not(:first-child){padding-left:26px}.w-input-small .w-input-addon-after>*{line-height:16px;min-height:16px}.w-timepicker{display:flex}.w-timepicker:after{clear:both;content:"";display:block}.w-timepicker-spinner{flex:1 1;font-size:14px;max-height:189px;overflow:auto}.w-timepicker-spinner:hover{overflow:auto}.w-timepicker-spinner>ul{list-style:none;margin:0!important;min-width:56px;padding-bottom:162px!important;padding-left:0!important;padding-right:0!important}.w-timepicker-spinner>ul>li+li{margin-top:0!important}.w-timepicker-spinner>ul>li{color:#393e48;cursor:pointer;height:28px;line-height:28px;text-align:center;transition:all .3s}.w-timepicker-spinner>ul>li:hover:not(.disabled){background-color:#f6f8fa}.w-timepicker-spinner>ul>li:active:not(.disabled){background-color:#e1e5e8}.w-timepicker-spinner>ul>li.selected{background-color:#f1f1f1;color:#000;font-weight:700}.w-timepicker-spinner>ul>li.disabled{color:#d4d4d4;cursor:not-allowed}.w-timepicker-spinner>ul>li.disabled.hide{display:none}.w-timepicker-spinner+.w-timepicker-spinner ul{border-left:1px solid #e9e9e9}.w-timepicker{border-radius:4px;overflow:hidden}.w-timepicker-input.disabled .w-timepicker-close-btn{display:none!important}.w-timepicker-input .w-timepicker-close-btn{color:#a5a5a5;display:none;min-height:0;min-height:auto}.w-timepicker-input .w-timepicker-close-btn:hover{background-color:transparent!important;color:#393e48}.w-datepicker-week,.w-datepicker-weekday{display:flex;width:100%}.w-datepicker-week>div,.w-datepicker-weekday>div{display:table-cell;flex:1 1;min-height:26px;min-width:26px;text-align:center;vertical-align:middle}.w-datepicker-weekday>div{font-weight:700}.w-datepicker-week>div.end,.w-datepicker-weekday>div.end{color:#6f6f6f}.w-datepicker-week>div{border-radius:3px;cursor:pointer}.w-datepicker-week>div.next,.w-datepicker-week>div.prev{color:#d3d3d3}.w-datepicker-week>div>div{border-radius:3px;line-height:22px;margin:0 2px;transition:background-color .3s,color .3s}.w-datepicker-week>div.today>div{background-color:#eaeaea}.w-datepicker-week>div.selected:hover>div,.w-datepicker-week>div.selected>div{background-color:#2ea3f4;color:#fff}.w-datepicker-week>div:hover>div{background-color:#eaeaea;color:#393e48}.w-datepicker-week>div:active>div{background-color:#d2d2d2}.w-datepicker-week>div.disabled:hover>div,.w-datepicker-week>div.disabled>div{background-color:#f5f5f5;color:#d3d3d3;cursor:not-allowed}.w-datepicker-week>div.disabled.today>div,.w-datepicker-week>div.disabled:hover.today>div{background-color:hsla(0,0%,74%,.47);color:#fff}.w-datepicker-week>div.disabled.selected>div,.w-datepicker-week>div.disabled:hover.selected>div{background-color:rgba(46,163,244,.47);color:#fff}.w-datepicker-body{padding-top:5px}.w-datepicker-month,.w-datepicker-year{max-width:100%;padding:10px 0 9px;text-align:center}.w-datepicker-month>div,.w-datepicker-year>div{display:inline-block;line-height:20px;margin:3px 0;width:50%}.w-datepicker-month>div>span,.w-datepicker-year>div>span{border-radius:3px;cursor:pointer;display:inline-block;padding:1px 6px}.w-datepicker-month>div.selected>span,.w-datepicker-year>div.selected>span{background-color:#2ea3f4;color:#fff}.w-datepicker-month>div>span:hover,.w-datepicker-year>div>span:hover{background-color:#dcf0fd;color:#2ea3f4}.w-datepicker-month>div.paging,.w-datepicker-year>div.paging{color:rgba(0,0,0,.25)}.w-datepicker-year>div{width:33.333%}.w-datepicker-caption{border-bottom:1px solid #ececec;padding:0 0 3px;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.w-datepicker-caption-pane{border-radius:3px;cursor:pointer;display:inline-block;font-weight:700;padding:1px 5px;transition:background-color .3s}.w-datepicker-caption-pane:hover{background-color:#eaeaea}.w-datepicker-caption-pane:active{background-color:#d2d2d2}.w-datepicker-caption-pane.year+.w-datepicker-caption-pane.month{margin-left:5px}.w-datepicker-caption-pane.next,.w-datepicker-caption-pane.prev{padding:1px 8px 6px;position:relative;z-index:30}.w-datepicker-caption-pane.next:after,.w-datepicker-caption-pane.next:before,.w-datepicker-caption-pane.prev:after,.w-datepicker-caption-pane.prev:before{background-color:#333;border-radius:2px;content:"";display:block;height:8px;width:2px}.w-datepicker-caption-pane.next:after,.w-datepicker-caption-pane.prev:after{margin-top:-4px}.w-datepicker-caption-pane.next:before,.w-datepicker-caption-pane.prev:before{margin-top:4px}.w-datepicker-caption-pane.next:before,.w-datepicker-caption-pane.prev:after{transform:rotate(-45deg)}.w-datepicker-caption-pane.next:after,.w-datepicker-caption-pane.prev:before{transform:rotate(45deg)}.w-datepicker-caption-pane.prev{float:left}.w-datepicker-caption-pane.next{float:right}.w-datepicker-caption-today{background:#dedede;border-radius:3px;cursor:pointer;display:inline-block;height:10px;margin:0 0 0 2px;overflow:hidden;transition:background-color .3s;width:10px}.w-datepicker-caption-today:before{background-color:#a0a0a0;border-radius:3px;content:"";display:block;height:4px;margin:3px 0 0 3px;width:4px}.w-datepicker-caption-today:hover{background-color:#2ea3f4}.w-datepicker-caption-today:hover:before{background-color:#fff}.w-datepicker-caption-today:active{background-color:#007cd2}.w-datepicker-caption-today:active:before{background-color:#fff}.w-datepicker{background:#fff;border-radius:3px;box-shadow:0 0 0 1px rgba(16,22,26,.1),0 0 0 rgba(16,22,26,0),0 1px 1px rgba(16,22,26,.2);color:#393e48;display:inline-block;font-size:14px;line-height:21px;max-width:192px;min-width:192px;padding:5px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:top}.w-datepicker-timepicker{border:1px solid #e9e9e9;border-radius:0 0 4px 4px!important;border-top:0}.w-datepicker-timepicker>div{max-height:186px}.w-datepicker-time-btn{border-radius:3px;cursor:pointer;display:inline-block;margin-top:2px;padding:1px 5px;transition:background-color .3s}.w-datepicker-time-btn:hover{background-color:#eaeaea}.w-datepicker-time-btn:active{background-color:#d2d2d2}.w-calendar-inner{padding:5px;text-align:right}.w-calendar-panel{height:90px;line-height:16px;overflow-y:auto;text-align:left;width:100%}.w-calendar-panel>*{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.w-calendar-caption{display:inline-block;font-size:26px;font-weight:200;width:100%}.w-calendar-btn-group,.w-calendar-title{display:inline-block;-webkit-user-select:none;-moz-user-select:none;user-select:none}.w-calendar-btn-group{float:right}.w-calendar-btn-group>.w-calendar-btn{font-size:16px;padding:2px 3px;position:relative;top:-3px}.w-calendar-btn-group>.w-calendar-btn,.w-calendar-btn-group>.w-icon{border-radius:3px;cursor:pointer;transition:all .3s}.w-calendar-btn-group>.w-calendar-btn:hover,.w-calendar-btn-group>.w-icon:hover{background-color:#ececec}.w-calendar-btn-group>.w-calendar-btn:active,.w-calendar-btn-group>.w-icon:active{background-color:#dedddd}.w-calendar-btn-group>.w-calendar-btn,.w-calendar-btn-group>.w-icon{margin-top:-6px;vertical-align:middle}.w-calendar-btn-group>.w-calendar-btn>svg,.w-calendar-btn-group>.w-icon>svg{height:18px;margin:4px 0 0 4px;width:18px}.w-calendar-btn-group>.w-calendar-btn:last-child,.w-calendar-btn-group>.w-icon:last-child{transform:rotate(-90deg)}.w-calendar-btn-group>.w-calendar-btn:first-child,.w-calendar-btn-group>.w-icon:first-child{transform:rotate(90deg)}.w-calendar-day{padding-right:5px}.w-calendar .w-datepicker-body{padding:0}.w-calendar .w-datepicker-week:last-child>div{border-bottom:0}.w-calendar .w-datepicker-week>div{border-bottom:1px solid #ececec;border-radius:0;border-right:1px solid #ececec}.w-calendar .w-datepicker-week>div:last-child{border-right:0}.w-calendar .w-datepicker-week>div>div{border-radius:0;margin:0}.w-calendar .w-datepicker-weekday>div{background-color:#ececec;height:32px;line-height:32px}.w-card{background:#fff;border-radius:5px;font-size:14px;line-height:1.5;position:relative;transition:all .3s}.w-card.active,.w-card:not(.w-card-no-hover):hover{border-color:rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.2)}.w-card-bordered{border:1px solid #e9e9e9}.w-card-head{zoom:1;border-radius:2px 2px 0 0;height:40px;line-height:40px;padding:0 14px}.w-card-head+.w-card-body{border-top:1px solid #e9e9e9}.w-card-head-title{color:rgba(0,0,0,.85);display:inline-block;font-size:14px;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-card-extra{position:absolute;right:16px;top:0}.w-card-body{padding:14px}.w-card-body+.w-card-footer{border-top:1px solid rgba(0,0,0,.05)}.w-card-footer{padding:8px 10px}.w-card-footer a{color:rgba(0,0,0,.4)}.w-carousel{overflow:hidden}.w-carousel-content{height:200px;transition:.6s ease-in-out}.w-menu-item{align-items:flex-start;border-radius:2px;color:inherit;display:flex;flex-direction:row;line-height:20px;padding:5px 7px;position:relative;text-decoration:none;transition:initial;transition:background-color .3s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.w-menu-item.active,.w-menu-item:hover{background-color:rgba(167,182,194,.3);color:inherit;cursor:pointer;text-decoration:none}.w-menu-item:active{background-color:rgba(115,134,148,.3)}.w-menu-item.w-disabled{background-color:inherit!important;cursor:not-allowed!important;outline:none!important}.w-menu-item.w-disabled,.w-menu-item.w-disabled .w-menu-item-icon{color:rgba(92,112,128,.5)!important}.w-menu-item-text{flex-grow:1}.w-menu-item>*{margin-right:7px}.w-menu-item>:last-child{margin-right:0}.w-menu-item-multiline{word-wrap:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-menu-subitem .w-menu-subitem-collapse{height:0}.w-menu-subitem-collapse{bottom:auto!important;left:auto!important;overflow:hidden!important;position:relative!important;right:auto!important;top:auto!important;transition:height .3s;width:auto!important}.w-menu-subitem-collapse ul{min-width:100%;padding-right:0!important}.w-menu-subitem-collapse-icon{transform:scale(.79)}.w-menu-subitem-popup{min-width:180px}.w-menu-subitem-title.w-menu-subitem-collapse-title .w-close,.w-menu-subitem-title.w-menu-subitem-collapse-title .w-open{transition:rotate all .3s}.w-menu-subitem-title.w-menu-subitem-collapse-title .w-close{transform:scale(.79) rotate(90deg)}.w-menu-subitem-title.w-menu-subitem-collapse-title .w-open{transform:scale(.79) rotate(-90deg)}.w-menu-subitem-enter,.w-menu-subitem-enter-done,.w-menu-subitem-exit{display:inherit}.w-menu{border-radius:3px;box-sizing:border-box;font-size:14px;margin:0!important;min-width:100%;padding:5px;text-align:left;transition:width .2s,min-width .2s,max-width .2s,height .2s,min-height .2s,max-height .2s;width:100%}.w-menu.w-menu-dark,.w-menu.w-menu-light{padding-left:5px}.w-menu:not(.w-menu-dark){background:#fff;color:#182026}.w-menu li{list-style:none!important;margin:0!important;position:relative}.w-menu li:first-of-type{border-top:none}.w-menu li a:not([href]){color:inherit}.w-menu.w-bordered{box-shadow:0 0 0 1px rgba(16,22,26,.1),0 0 0 rgba(16,22,26,0),0 1px 1px rgba(16,22,26,.2)}.w-menu .w-menu-divider{border-top:1px solid rgba(16,22,26,.15);display:block;margin:5px!important}.w-menu .w-menu-divider>strong{display:block;line-height:17px}.w-menu .w-menu-divider:not(:first-of-type)>strong{margin-top:10px}.w-menu.w-menu-light.w-menu-inline-collapsed>li>.w-menu-item:hover{color:#008ef0}.w-menu-inline-collapsed{min-width:80px;width:80px}.w-menu-inline-collapsed>li>.w-menu-item{font-size:18px;justify-content:center;padding-bottom:10px;padding-top:10px}.w-menu-inline-collapsed>li>.w-menu-item:hover{background-color:transparent;color:#fff}.w-menu-inline-collapsed>li>.w-menu-item>*{margin-right:0}.w-menu-inline-collapsed>li>.w-menu-item .w-menu-item-text{flex-grow:0;width:0}.w-menu-inline-collapsed>li>.w-menu-item .w-menu-subitem-collapse-icon{display:none}.w-menu-dark,.w-menu-dark .w-menu,.w-menu-dark.w-bordered{background:#343a40;color:hsla(0,0%,100%,.65)}.w-menu-dark.w-bordered{box-shadow:none}.w-menu-dark .active{color:#fff!important}.w-menu-dark .w-menu-item.w-disabled,.w-menu-dark .w-menu-item.w-disabled .w-menu-item-icon{color:hsla(0,0%,56%,.79)!important}.w-menu-dark .w-menu-divider{border-top:1px solid hsla(0,0%,100%,.2)}.w-cascader-close{color:#393e48;font-size:15px;margin-right:1px}.w-radio{display:inline-block;font-size:12px;vertical-align:middle}.w-radio input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-clip:border-box;background-color:#fff;border:1px solid #d7d7d7;border-radius:50%;height:16px;margin:-.15px .6px 0 0;outline:none;position:relative;transition:border .25s,box-shadow .25s;width:16px}.w-radio input[type=radio]:not(:checked):not(:disabled):not(.disabled):focus,.w-radio input[type=radio]:not(:checked):not(:disabled):not(.disabled):hover{box-shadow:0 0 0 2px rgba(0,142,240,.25)}.w-radio input[type=radio],.w-radio-text{vertical-align:middle}.w-radio input[type=radio]:checked{border:5px solid #008ef0}.w-radio input[type=radio]:checked:focus{box-shadow:0 0 0 2px rgba(0,142,240,.25)}.w-radio.disabled{color:#c7c7c7}.w-radio.disabled,.w-radio.disabled input[type=radio]{cursor:not-allowed}.w-radio.disabled input[type=radio]:checked{border:5px solid #cecece}.w-radio.disabled:not(.checked) input[type=radio]{background-color:#efefef}.w-radio-text{display:inline-block;font-size:14px;margin-left:4px;margin-right:5px}.w-radio-group{font-size:0}.w-checkbox{cursor:pointer;font-size:0;vertical-align:middle;white-space:nowrap}.w-checkbox input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-clip:border-box;background-color:#d7d7d7;border-radius:2px;font-size:14px;height:14px;line-height:14px;margin:0!important;outline:none;transition:background-color .3s,box-shadow .3s;width:14px}.w-checkbox input[type=checkbox]:after{box-sizing:inherit;content:""}.w-checkbox input[type=checkbox]:not(:checked):not(:disabled):not(.disabled):focus,.w-checkbox input[type=checkbox]:not(:checked):not(:disabled):not(.disabled):hover{box-shadow:inset 0 1px 2px rgba(16,22,26,.35)}.w-checkbox.disabled,.w-checkbox.disabled input[type=checkbox]{cursor:not-allowed}.w-checkbox.disabled input[type=checkbox]{opacity:.5}.w-checkbox.disabled .w-checkbox-text{color:#6e6e6e}.w-checkbox.indeterminate input[type=checkbox],.w-checkbox.indeterminate input[type=checkbox]:checked{background-color:transparent;box-shadow:inset 0 0 0 1px #008ef0}.w-checkbox.indeterminate input[type=checkbox]:after,.w-checkbox.indeterminate input[type=checkbox]:checked:after{background-color:#008df8;border-radius:2px;border-width:0;box-sizing:inherit;display:inline-block;height:8px;position:relative;right:-3px;top:-1px;transform:rotate(0);width:8px}.w-checkbox input[type=checkbox],.w-checkbox-text{vertical-align:middle}.w-checkbox input[type=checkbox]:checked{background-color:#008ef0}.w-checkbox input[type=checkbox]:checked:after{border:solid #fff;border-width:0 2px 2px 0;display:inline-block;height:10px;position:relative;right:-4px;top:-1px;transform:rotate(33deg);transition:background-color .2s ease-in;width:6px}.w-checkbox-text{display:inline-block;font-size:14px;margin-right:5px;padding-left:4px}.w-collapse{background-color:#fff;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;line-height:16px;overflow:hidden}.w-collapse>.w-collapse-item:last-child,.w-collapse>.w-collapse-item:last-child .w-collapse-header{border-radius:0 0 5px 5px}.w-collapse-title{flex:1 1}.w-collapse-header{background-color:#fafafa;color:rgba(0,0,0,.85);cursor:pointer;display:flex;padding:8px 10px;position:relative;transition:all .3s;z-index:1}.w-collapse-header>.w-icon:first-child{margin-right:5px;margin-top:-2px;transform:scale(.85) rotate(-90deg);transition:transform .24s}.w-collapse-header>.w-icon:first-child svg{display:block}.w-collapse-header>*{display:inline-block;vertical-align:middle}.w-collapse-active .w-collapse-header>.w-icon:first-child{transform:scale(.85) rotate(0)}.w-collapse-panel{color:rgba(0,0,0,.65);overflow:hidden;padding:0 10px}.w-collapse-panel:after,.w-collapse-panel:before{content:"";display:block;height:10px;overflow:hidden}.w-collapse-panel:before{border-top:1px solid #d9d9d9;margin:0 -10px;position:relative;z-index:1}.w-collapse-panel:after{border-bottom:1px solid #d9d9d9;margin:0 -10px;position:relative;z-index:1}.w-collapse>.w-collapse-item:last-child .w-collapse-panel:after{border-bottom:0 solid #d9d9d9}.w-collapse>.w-collapse-item:not(.w-collapse-active):last-child .w-collapse-panel:before{border-top:0 solid #d9d9d9}.w-collapse-disabled .w-collapse-header{background-color:#f7f7f7;color:rgba(0,0,0,.25);cursor:not-allowed}.w-collapse.w-noborder .w-collapse-header{background-color:transparent}.w-collapse.w-noborder,.w-collapse.w-noborder .w-collapse-item .w-collapse-panel:after,.w-collapse.w-noborder .w-collapse-item .w-collapse-panel:before,.w-collapse.w-noborder .w-collapse-item:last-child{border:0}.w-copy-to-clipboard{cursor:pointer}.w-copy-to-clipboard-select{display:none;-webkit-user-select:text;-moz-user-select:text;user-select:text}.w-dateinputrange-contents{display:flex;justify-content:space-between}.w-dateinputrange-contents input{box-shadow:none;height:20px;padding:0}.w-dateinputrange-contents .w-input-inner:focus,.w-dateinputrange-contents .w-input-inner:hover{box-shadow:none!important}.w-dateinputrange-inner{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:none;border-radius:3px;box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2);box-sizing:border-box;color:#393e48;display:flex;font-size:inherit;font-weight:400;justify-content:space-between;line-height:30px;margin:0!important;min-height:30px;outline:none;padding:3px 10px;transition:box-shadow .3s cubic-bezier(.4,1,.75,.9);vertical-align:middle}.w-dateinputrange-inner:focus{box-shadow:0 0 0 1px #393e48,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-dateinputrange-inner:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,0),inset 0 1px 1px rgba(16,22,26,.2)}.w-dateinputrange-inner:focus.w-dateinputrange-inner:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-dateinputrange-inner:disabled{background:#ddd;box-shadow:none;color:#a5a5a5;cursor:not-allowed;opacity:.75;resize:none}.w-dateinput{display:inline-block}.w-dateinput-popover{box-shadow:0 0 0 0}.w-dateinput.disabled:before{bottom:0;content:" ";cursor:not-allowed;display:block;left:0;position:absolute;right:0;top:0;z-index:1}.w-dateinput-close-btn{color:#a5a5a5;cursor:pointer;display:flex;margin:0 3px}.w-dateinput-close-btn:hover{color:#393e48}.w-descriptions table{border-collapse:collapse;border-spacing:0;display:table!important;margin-bottom:0!important;margin:0;table-layout:fixed;width:100%!important}.w-descriptions{background:#fff}.w-descriptions-title{color:rgba(0,0,0,.85);font-size:16px;font-weight:700;line-height:1.5;margin-bottom:8px;text-align:left}.w-descriptions-tbody{word-wrap:break-word}.w-descriptions .w-descriptions-row:nth-child(2n){background-color:transparent}.w-descriptions-item-label{font-size:14px;font-weight:400}.w-descriptions-item-label:after{content:" ";margin:0 8px 0 2px;position:relative;top:-.5px}.w-descriptions-item-colon:after{content:":"}.w-descriptions-item-colon{color:rgba(0,0,0,.95)}.w-descriptions-item-content{color:rgba(0,0,0,.65);font-size:14px}.w-descriptions-small.w-descriptions-bordered tbody .w-descriptions-row td,.w-descriptions-small.w-descriptions-bordered tbody tr th{padding:4px 8px}.w-descriptions-large.w-descriptions-bordered tbody .w-descriptions-row td,.w-descriptions-large.w-descriptions-bordered tbody tr th{padding:14px 16px}.w-descriptions-bordered{border:1px solid #dfe2e5;border-radius:3px;overflow:hidden}.w-descriptions-bordered tbody tr th{background-color:#fafafa;font-weight:400;padding:8px 12px}.w-descriptions-bordered tbody tr td,.w-descriptions-bordered tbody tr th{border-bottom:0;border-left:0;border-right:1px solid #dfe2e5;border-top:1px solid #dfe2e5}.w-descriptions-bordered tbody:first-child tr:first-child td,.w-descriptions-bordered tbody:first-child tr:first-child th{border-top:0}.w-descriptions:not(.w-descriptions-bordered) .w-descriptions-row td{padding-bottom:8px}.w-descriptions-bordered .w-descriptions-row td{padding:8px 12px}.w-descriptions-bordered .w-descriptions-title{margin-bottom:0;padding:7px 12px}.w-descriptions-bordered .w-descriptions-item-content:last-child,.w-descriptions-bordered .w-descriptions-item-label:last-child{border-right:none}.w-divider{background:#e8e8e8;box-sizing:border-box;font-size:16px;line-height:16px;list-style:none;padding:0}.w-divider-vertical{display:inline-block;height:.9em;margin:0 8px;position:relative;top:-.06em;vertical-align:middle;width:1px}.w-divider-horizontal{height:1px;margin:16px 0;width:100%}.w-divider-horizontal.w-divider-with-text{background:transparent;color:#353535;display:flex;font-weight:500;height:inherit;margin:16px 0;text-align:center;white-space:nowrap}.w-divider-horizontal.w-divider-with-text:after,.w-divider-horizontal.w-divider-with-text:before{border-top:1px solid #e8e8e8;content:"";display:table-cell;position:relative;top:50%;transform:translateY(50%);width:50%}.w-divider-left.w-divider-with-text:before,.w-divider-right.w-divider-with-text:after{width:5%}.w-divider-left.w-divider-with-text:after,.w-divider-right.w-divider-with-text:before{width:95%}.w-divider-dashed.w-divider-with-text:after,.w-divider-dashed.w-divider-with-text:before{border-top-style:dashed}.w-divider-inner-text{display:inline-block;padding:0 10px}.w-divider-dashed:not(.w-divider-with-text){background:none;border-top:1px dashed #e8e8e8}.w-drawer-wrapper{background-color:#fff;box-shadow:0 0 0 1px rgba(16,22,26,.1),0 0 46px 6px rgba(16,22,26,.2);display:flex;flex-direction:column;margin:0!important;position:fixed}.w-drawer-header{align-items:center;background-color:#fff;border-radius:5px 5px 0 0;box-shadow:0 1px 0 rgba(16,22,26,.15);display:flex;font-size:16px;min-height:40px;padding-left:13px;padding-right:5px}.w-drawer-header>.w-icon{color:#393e48;margin-right:10px}.w-drawer-header h4{flex:1 1 auto;margin:0;padding:0}.w-drawer-body{flex:1 1 auto;line-height:18px;overflow:auto}.w-drawer-footer{align-items:center;box-shadow:0 -1px 0 rgba(16,22,26,.15);display:flex;min-height:40px;padding-left:13px;padding-right:5px}.w-drawer-body-inner{padding:15px}.w-drawer.bottom .w-drawer-wrapper,.w-drawer.top .w-drawer-wrapper{left:0;right:0}.w-drawer.top .w-drawer-wrapper{top:0}.w-drawer.bottom .w-drawer-wrapper{bottom:0}.w-drawer.left .w-drawer-wrapper,.w-drawer.right .w-drawer-wrapper{bottom:0;top:0}.w-drawer.right .w-drawer-wrapper{right:0}.w-drawer.left .w-drawer-wrapper{left:0}.w-drawer.w-overlay-enter .w-overlay-content{opacity:1}.w-drawer.w-overlay-enter-active .w-overlay-content{transition:all .2s cubic-bezier(.4,1,.75,.9)}.w-drawer.w-overlay-exit .w-overlay-content{opacity:1}.w-drawer.w-overlay-exit-active .w-overlay-content{transition:all .2s cubic-bezier(.4,1,.75,.9)}.w-drawer.right.w-overlay-enter .w-overlay-content{transform:translateX(100%)}.w-drawer.right.w-overlay-enter-active .w-overlay-content,.w-drawer.right.w-overlay-exit .w-overlay-content{transform:translateX(0)}.w-drawer.right.w-overlay-exit-active .w-overlay-content{transform:translateX(100%)}.w-drawer.left.w-overlay-enter .w-overlay-content{transform:translateX(-100%)}.w-drawer.left.w-overlay-enter-active .w-overlay-content,.w-drawer.left.w-overlay-exit .w-overlay-content{transform:translateX(0)}.w-drawer.left.w-overlay-exit-active .w-overlay-content{transform:translateX(-100%)}.w-drawer.top.w-overlay-enter .w-overlay-content{transform:translateY(-100%)}.w-drawer.top.w-overlay-enter-active .w-overlay-content,.w-drawer.top.w-overlay-exit .w-overlay-content{transform:translateY(0)}.w-drawer.top.w-overlay-exit-active .w-overlay-content{transform:translateY(-100%)}.w-drawer.bottom.w-overlay-enter .w-overlay-content{transform:translateY(100%)}.w-drawer.bottom.w-overlay-enter-active .w-overlay-content,.w-drawer.bottom.w-overlay-exit .w-overlay-content{transform:translateY(0)}.w-drawer.bottom.w-overlay-exit-active .w-overlay-content{transform:translateY(100%)}.w-empty{color:#c7c7c7;text-align:center}.w-empty-description{margin-top:10px}.w-empty-footer{margin-top:16px}.w-fileinput input::-webkit-file-upload-button{background:transparent;border:0;color:#0000;left:-300px;position:absolute}.w-fileinput input:hover:after{background-clip:padding-box;background-color:#ebf1f5;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 -1px 0 rgba(16,22,26,.1)}.w-fileinput input:after{word-wrap:normal;align-items:center;background-color:#f5f8fa;background-image:linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0));border-radius:3px;box-shadow:inset 0 0 0 1px rgba(16,22,26,.08);color:#182026;content:"Browse";content:attr(data-label);display:flex;margin:3px;overflow:hidden;padding:0 10px;right:0;text-align:center;text-overflow:ellipsis;white-space:nowrap}.w-fileinput input:after,.w-fileinput input:before{bottom:0;color:#757575;position:absolute;top:0}.w-fileinput-card{margin-right:-8px}.w-fileinput-card-box{background-color:#fafafa;border:1px dashed #d9d9d9;border-radius:2px;cursor:pointer;display:inline-flex;margin-bottom:8px;margin-right:8px;overflow:hidden;position:relative;text-align:center;transition:border-color .3s;vertical-align:top}.w-fileinput-card-box-info{box-sizing:border-box;height:100%;width:100%}.w-fileinput-card-box-info img{height:100%;width:100%}.w-fileinput-card-actions{align-items:center;background:rgba(0,0,0,.6);border-radius:2px;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:all .5s;width:100%}.w-fileinput-card-actions-remove{cursor:pointer;display:flex;height:20px;width:24px}.w-fileinput-card-actions-remove,.w-fileinput-card-btn{align-items:center;justify-content:center}.w-fileinput-card-box:hover .w-fileinput-card-actions{opacity:1}.w-fileinput-card-size-large .w-fileinput-card-box{height:110px;width:110px}.w-fileinput-card-size-middle .w-fileinput-card-box{height:80px;width:80px}.w-fileinput-card-size-small .w-fileinput-card-box{height:50px;width:50px}.w-fileinput-card-shape-round .w-fileinput-card-box{border-radius:2px}.w-fileinput-card-shape-circle .w-fileinput-card-box{border-radius:50%}.w-fileinput-list{padding-bottom:8px;width:100%}.w-fileinput-list-actions{align-items:center;background:rgba(0,0,0,.6);border-radius:2px;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:all .5s;width:100%}.w-fileinput-list-actions-search{align-items:center;cursor:pointer;display:flex;height:20px;justify-content:center;width:24px}.w-fileinput-list-info:hover .w-fileinput-list-actions{opacity:1}.w-fileinput-list-picture{align-items:center;border:1px solid #d9d9d9;display:flex;margin-top:8px;padding:5px}.w-fileinput-list-picture-info{margin-right:10px;overflow:hidden;position:relative}.w-fileinput-list-picture-info img{display:block;height:48px;width:48px}.w-fileinput-list-picture-text{flex:1 1}.w-fileinput-list-picture-icon{cursor:pointer;padding:5px}.w-fileinput-list-size-large .w-fileinput-list-picture-info img{height:70px;width:70px}.w-fileinput-list-size-middle .w-fileinput-list-picture-info img{height:50px;width:50px}.w-fileinput-list-size-small .w-fileinput-list-picture-info img{height:30px;width:30px}.w-fileinput-list-shape-round .w-fileinput-list-picture-info{border-radius:2px}.w-fileinput-list-shape-circle .w-fileinput-list-box-info{border-radius:50px}.w-fileinput-list-text{align-items:center;border:1px solid transparent;display:flex;padding:5px;transition:all .5s}.w-fileinput-list-text:hover{background:#f5f5f5}.w-fileinput-list-text:first-child{margin-top:8px}.w-fileinput-list-text-text{flex:1 1}.w-fileinput-list-text-icon{cursor:pointer;padding:0 5px}.w-col{box-sizing:border-box;flex:0 0 auto;flex-basis:0;flex-grow:1;max-width:100%;min-width:0}.w-col-fixed{flex:0 1 auto}.w-col-align-top{align-self:flex-start}.w-col-align-middle{align-self:center}.w-col-align-bottom{align-self:flex-end}.w-col-align-baseline{align-self:baseline}.w-col-grow-1{flex-grow:1}.w-col-grow-2{flex-grow:2}.w-col-grow-3{flex-grow:3}.w-col-grow-4{flex-grow:4}.w-col-grow-5{flex-grow:5}.w-col-grow-6{flex-grow:6}.w-col-grow-7{flex-grow:7}.w-col-grow-8{flex-grow:8}.w-col-grow-9{flex-grow:9}.w-col-grow-10{flex-grow:10}.w-col-grow-11{flex-grow:11}.w-col-1{flex-basis:4.16666667%;max-width:4.16666667%}.w-col-2{flex-basis:8.33333333%;max-width:8.33333333%}.w-col-3{flex-basis:12.5%;max-width:12.5%}.w-col-4{flex-basis:16.66666667%;max-width:16.66666667%}.w-col-5{flex-basis:20.83333333%;max-width:20.83333333%}.w-col-6{flex-basis:25%;max-width:25%}.w-col-7{flex-basis:29.16666667%;max-width:29.16666667%}.w-col-8{flex-basis:33.33333333%;max-width:33.33333333%}.w-col-9{flex-basis:37.5%;max-width:37.5%}.w-col-10{flex-basis:41.66666667%;max-width:41.66666667%}.w-col-11{flex-basis:45.83333333%;max-width:45.83333333%}.w-col-12{flex-basis:50%;max-width:50%}.w-col-13{flex-basis:54.16666667%;max-width:54.16666667%}.w-col-14{flex-basis:58.33333333%;max-width:58.33333333%}.w-col-15{flex-basis:62.5%;max-width:62.5%}.w-col-16{flex-basis:66.66666667%;max-width:66.66666667%}.w-col-17{flex-basis:70.83333333%;max-width:70.83333333%}.w-col-18{flex-basis:75%;max-width:75%}.w-col-19{flex-basis:79.16666667%;max-width:79.16666667%}.w-col-20{flex-basis:83.33333333%;max-width:83.33333333%}.w-col-21{flex-basis:87.5%;max-width:87.5%}.w-col-22{flex-basis:91.66666667%;max-width:91.66666667%}.w-col-23{flex-basis:95.83333333%;max-width:95.83333333%}.w-col-24{flex-basis:100%;max-width:100%}.w-row{box-sizing:border-box;display:flex;flex:0 1 auto;flex-direction:row;flex-wrap:wrap}.w-row.w-row-justify-flex-start{justify-content:flex-start}.w-row.w-row-justify-flex-end{justify-content:flex-end}.w-row.w-row-justify-center{justify-content:center}.w-row.w-row-justify-space-between{justify-content:space-between}.w-row.w-row-justify-space-around{justify-content:space-around}.w-row.w-row-justify-space-evenly{justify-content:space-evenly}.w-row-align-top{align-items:flex-start}.w-row-align-middle{align-items:center}.w-row-align-bottom{align-items:flex-end}.w-row-align-baseline{align-items:baseline}.w-form-item{margin-bottom:10px}.w-form-item-error .w-form-help,.w-form-item-error .w-form-label{color:#dc3545}.w-form-item-error .w-input-inner,.w-form-item-error .w-input-inner:focus.w-input-inner:hover,.w-form-item-error .w-input-inner:hover,.w-form-item-error .w-search-tree-inner,.w-form-item-error .w-select,.w-form-item-error .w-select-default,.w-form-item-error .w-select-default:hover,.w-form-item-error .w-select:hover,.w-form-item-error .w-textarea,.w-form-item-error .w-textarea:focus.w-textarea:hover,.w-form-item-error .w-textarea:hover{box-shadow:0 0 0 1px #dc3545,0 0 0 3px rgba(220,53,69,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-form-item-error .w-search-tree-inner .w-input .w-input-inner{box-shadow:none!important}.w-form-label{font-size:14px;font-weight:600;line-height:32px;min-height:32px;padding-right:5px}.w-form-label label{display:inline-block}.w-form-row{align-items:center;display:flex}.w-form-help{color:#c2c2c2;font-size:12px;padding-top:3px}.w-form fieldset{border-width:0;margin:0;padding:0}.w-list{background-color:#fff;box-sizing:border-box;color:#52575c;font-size:14px;line-height:1.5;list-style:none;margin:0;padding:0;position:relative;transition:all .3s}.w-list-active,.w-list:not(.w-list-no-hover):hover{border-color:rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.2)}.w-list-bordered{border:1px solid #e9e9e9;border-radius:4px}.w-list-bordered .w-list-item:last-child{border-bottom:0;border-radius:0 0 4px 4px}.w-list-item{align-items:center;display:flex}.w-list-item.w-disabled{color:#a3a6a9;cursor:not-allowed;pointer-events:none;text-decoration:none}.w-list-item.w-active{background:#f8f8f9;color:#007bff}.w-list-item-main{display:block;flex:1 1}.w-list-item-extra{margin-left:40px}a.w-list-item{color:#52575c;display:block}.w-list-striped .w-list-item:nth-of-type(2n),a.w-list-item:hover:not(.w-disabled){background:#f8f8f9}.w-list-bordered .w-list-header,.w-list-bordered .w-list-item{border-bottom:1px solid #e8e8e8}.w-list-footer,.w-list-header,.w-list-item{padding:12px 18px}.w-list-size-small .w-list-footer,.w-list-size-small .w-list-header,.w-list-size-small .w-list-item{padding:8px 16px}.w-list-size-large .w-list-footer,.w-list-size-large .w-list-header,.w-list-size-large .w-list-item{padding:16px 24px}.w-layout,.w-layout *{box-sizing:border-box}.w-layout{background:#f0f2f5;display:flex;flex:auto;flex-direction:column;margin:0;min-height:0;padding:0}.w-layout.w-layout-has-sider>.w-layout,.w-layout.w-layout-has-sider>.w-layout-content{width:0}.w-layout-footer,.w-layout-header{flex:0 0 auto}.w-layout-header{background:#202225;color:rgba(0,0,0,.65);height:53px;line-height:53px;padding:0 23px}.w-layout-footer{background:#f0f2f5;color:rgba(0,0,0,.65);font-size:14px;padding:16px 23px}.w-layout-content{flex:auto}.w-layout.w-layout-has-sider{flex-direction:row}.w-layout-sider{background:#343a40;min-width:0;position:relative;transition:all .2s}.w-loader{display:inline-block;position:relative}.w-loader-tips-nested svg{fill:currentcolor;animation:loaderRotate 2s linear infinite;height:100%;transform-origin:center center;vertical-align:middle;width:100%}.w-loader-tips-nested svg circle{stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:loaderDash 1.5s ease-in-out infinite,loaderColor 6s ease-in-out infinite}.w-loader-large .w-loader-tips-nested svg{height:30px;width:30px}.w-loader-large .w-loader-tips-nested svg circle{stroke-width:3px}.w-loader-default .w-loader-tips-nested svg{height:20px;width:20px}.w-loader-small .w-loader-tips-nested svg{height:14px;width:14px}.w-loader-blur{filter:blur(.5px);opacity:.5;overflow:hidden}.w-loader-warp{transition:all .3s cubic-bezier(.645,.045,.355,1)}.w-loader-tips-nested{display:inline-block;vertical-align:middle}.w-loader-tips{color:#2d8cf0;font-weight:400;height:100%;position:relative;text-align:center;width:100%;z-index:4}.w-loader-tips:before{content:" ";display:inline-block;height:100%;vertical-align:middle;width:.1px}.w-loader-tips:not(:last-child){position:absolute}.w-loader-text{display:inline-block;margin-left:5px;vertical-align:middle}.w-loader-vertical{display:block;margin-left:0;margin-top:5px}.w-loader-fullscreen{bottom:0;left:0;position:fixed;right:0;top:0;z-index:99999}@keyframes loaderRotate{to{transform:rotate(1turn)}}@keyframes loaderDash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}@keyframes loaderColor{0%,to{stroke:currentColor}80%,90%{stroke:currentColor}}.w-message{font-size:14px;padding:10px 15px;position:relative}.w-message+.w-message{margin-top:10px}.w-message-description,.w-message-title{display:block}.w-message-rounded{border-radius:5px}.w-message-description{color:rgba(0,0,0,.65)}.w-message-title{color:rgba(0,0,0,.85)}.w-message-title-description>.w-icon{font-size:24px}.w-message-title-description .w-message-title{font-size:16px}.w-message-title-description .w-message-description,.w-message-title-description .w-message-title{padding-left:16px}.w-message-icon{padding-left:34px}.w-message-success{background:#afecbd;color:#28a745}.w-message>button{position:absolute;right:10px;top:10px}.w-message>button.w-btn{color:rgba(0,0,0,.38);min-height:16px;min-width:16px;padding:2px}.w-message>button.w-btn:hover{background-color:hsla(0,0%,100%,.21)!important}.w-message>button.w-btn:active{background-color:rgba(0,0,0,.1)!important}.w-message-warning{background:#fff4d3;color:#ffc107}.w-message-info{background:#bde4ff;color:#008ef0}.w-message-error{background:#fae3e5;color:#dc3545}.w-message>.w-icon{left:14px;position:absolute;top:14px}.w-message-enter{opacity:0;transform:scaleY(.5)}.w-message-enter-active,.w-message-exit{opacity:1;transform:scaleY(1);transition:transform .3s ease,opacity .3s ease}.w-message-exit-active{opacity:0;transform:scaleY(.5)}.w-monthpicker{display:inline-block}.w-monthpicker-popover{font-size:14px;line-height:21px;max-width:192px;min-width:192px;padding:5px}.w-monthpicker.disabled .w-monthpicker-close-btn{display:none!important}.w-monthpicker .w-monthpicker-close-btn{color:#a5a5a5;cursor:pointer;min-height:0;min-height:auto}.w-monthpicker .w-monthpicker-close-btn:hover{color:#393e48}.w-monthpicker .w-monthpicker-close-btn:active,.w-monthpicker .w-monthpicker-close-btn:hover{background-color:transparent!important}.w-notify{position:relative!important;z-index:9999}.w-notify-warpper .w-notify .w-modal-inner .w-modal-header>.w-icon{font-size:28px!important}.w-notify-warpper .w-notify .w-modal-inner .w-modal-header>.w-btn{min-height:18px;min-width:18px;padding:5px}.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-icon:not(.w-modal-shown-title) .w-modal-header>button{position:absolute;right:10px;top:12px}.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-icon:not(.w-modal-shown-title) .w-modal-body{padding-right:36px}.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title .w-modal-header{padding-top:20px}.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title .w-modal-header>button{position:absolute;right:5px;top:5px}.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title .w-modal-header>h4{padding-left:40px;padding-right:20px}.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title .w-modal-body{opacity:.75;padding-left:60px}.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title:not(.w-modal-shown-icon) .w-modal-header>h4{padding-left:5px}.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title:not(.w-modal-shown-icon) .w-modal-body{padding-left:25px}.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title):not(.w-modal-shown-icon) .w-modal-body{padding:16px}.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title).w-modal-inner{padding-bottom:0}.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title).w-modal-inner .w-modal-header{padding-top:16px}.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title).w-modal-inner .w-modal-header>.w-icon{font-size:20px!important}.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title) .w-modal-body{padding:16px 12px}.w-notify-warpper .w-notify .w-overlay-content{margin:5px}.w-notify-warpper{padding:5px;position:fixed;z-index:999}.w-notify-warpper.topLeft{left:0;top:0}.w-notify-warpper.topRight{right:0;top:0}.w-notify-warpper.bottomLeft{bottom:0;left:0}.w-notify-warpper.bottomRight{bottom:0;right:0}.w-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#f5f8fa;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iIzM5M0U0OCIgZD0iTS4yMjIgNS42MTMgNS40NTEuMjIzYS43ODYuNzg2IDAgMCAxIDEuMDk3IDBsNS4yMyA1LjM5Yy40MDIuNDE0LjI0NyAxLjA1NC0uMzcxIDEuMDU0SC41OTJjLS42MTYgMC0uNzcyLS42NC0uMzctMS4wNTRabS4zNyAzLjcyaDEwLjgxNWMuNjE4IDAgLjc3My42NC4zNyAxLjA1NGwtNS4yMyA1LjM5YS43ODYuNzg2IDAgMCAxLTEuMDk2IDBsLTUuMjI5LTUuMzljLS40MDItLjQxNC0uMjQ2LTEuMDU0LjM3LTEuMDU0WiIvPjwvc3ZnPg==),linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0));background-position:right .7em top 50%,0 0;background-repeat:no-repeat,repeat;background-size:.62em auto,100%;border:none;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 -1px 0 rgba(16,22,26,.1);box-sizing:border-box;color:#182026;cursor:pointer;display:inline-flex;font-size:14px;line-height:18px;margin:0;max-width:100%;padding:6px 25px 6px 10px;vertical-align:middle;width:100%}.w-select:focus{outline:none!important}.w-select:hover{background-clip:padding-box;background-color:#ebf1f5;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 -1px 0 rgba(16,22,26,.1)}.w-select:disabled{background-color:#ddd;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iIzM5M0U0OCIgZD0iTS4yMjIgNS42MTMgNS40NTEuMjIzYS43ODYuNzg2IDAgMCAxIDEuMDk3IDBsNS4yMyA1LjM5Yy40MDIuNDE0LjI0NyAxLjA1NC0uMzcxIDEuMDU0SC41OTJjLS42MTYgMC0uNzcyLS42NC0uMzctMS4wNTRabS4zNyAzLjcyaDEwLjgxNWMuNjE4IDAgLjc3My42NC4zNyAxLjA1NGwtNS4yMyA1LjM5YS43ODYuNzg2IDAgMCAxLTEuMDk2IDBsLTUuMjI5LTUuMzljLS40MDItLjQxNC0uMjQ2LTEuMDU0LjM3LTEuMDU0WiIvPjwvc3ZnPg==);background-size:.52em auto,100%;box-shadow:none;color:#a5a5a5;cursor:not-allowed;opacity:.75;resize:none}.w-select-large{font-size:16px;padding:9px 25px 9px 12px}.w-select-small{font-size:12px;padding:3px 25px 3px 7px}.w-pagination{font-size:12px;margin:0!important;padding:0!important;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.w-pagination-left{text-align:left}.w-pagination-center{text-align:center}.w-pagination-right{text-align:right}.w-pagination>li{align-items:center;cursor:pointer;display:inline-flex!important;display:inline-flex;height:28px;line-height:28px;margin:0!important;position:relative;text-align:center;transition:background-color .2s ease-in,box-shadow .2s ease-in;vertical-align:middle}.w-pagination>li>a{color:rgba(0,0,0,.5);display:block;margin:0 10px;text-decoration:none;transition:none}.w-pagination>li>a.arrow{padding:0 3px}.w-pagination>li>a.arrow:after,.w-pagination>li>a.arrow:before{background-color:#565656;border-radius:2px;content:"";display:block;height:8px;transition:all .3s;width:2px}.w-pagination>li>a.arrow:after{margin-top:-4px}.w-pagination>li>a.arrow.next:before,.w-pagination>li>a.arrow.prev:after{transform:rotate(-45deg)}.w-pagination>li>a.arrow.next:after,.w-pagination>li>a.arrow.prev:before{transform:rotate(45deg)}.w-pagination>li.disabled{cursor:not-allowed}.w-pagination>li.disabled>a.arrow:after,.w-pagination>li.disabled>a.arrow:before{background:#d4d4d4}.w-pagination.small>li{border-radius:4px;height:21px;line-height:21px}.w-pagination.small>li>a{margin:0 3px;min-width:15px}.w-pagination.small>li>a.arrow:after,.w-pagination.small>li>a.arrow:before{margin-left:6px}.w-pagination.small>li.active{background-color:#ececec}.w-pagination.small>li:not(.active):hover a{color:#2ea3f4}.w-pagination.default>li{background:#fff;border:1px solid #d4d4d4;border-left:0}.w-pagination.default>li:not(.disabled):not(.active):hover{background-color:#f6f6f6}.w-pagination.default>li:not(.disabled):active{box-shadow:inset 0 8px 42px -12px rgba(0,0,0,.2)}.w-pagination.default>li:first-child{border-left:1px solid #d4d4d4;border-radius:3px 0 0 3px}.w-pagination.default>li:last-child{border-radius:0 3px 3px 0}.w-pagination.default>li.active{background-color:#ececec}.w-pagination.default>li.active:active{box-shadow:inset 0 0 0 transparent}.w-pagination.default.divider li+li{border:1px solid #d4d4d4;margin-left:8px!important}.w-pagination.default.divider li{border-radius:4px}.w-pagination-options{margin-left:8px!important}.w-pagination-options .w-select{border:none!important;box-shadow:none!important;height:100%;padding-bottom:0;padding-top:0}.w-pin-code{display:flex}.w-pin-code-inner+.w-pin-code-inner{margin-left:8px}.w-pin-code-inner{width:30px}.w-pin-code-inner>input{font-size:14px;font-weight:700;padding:0!important;text-align:center}.w-pin-code-large .w-pin-code-inner{width:36px}.w-pin-code-large .w-pin-code-inner input{font-size:16px}.w-pin-code-small .w-pin-code-inner{width:24px}.w-pin-code-small .w-pin-code-inner input{font-size:12px}.w-progress{position:relative}.w-progress,.w-progress-text{display:inline-block;line-height:1}.w-progress-text{color:#48576a;margin-left:10px;vertical-align:middle}.w-progress-circle .w-progress-text{font-size:16px;left:0;margin:0;position:absolute;text-align:center;top:50%;transform:translateY(-50%);width:100%}.w-progress-trail{stroke:#e5e9f2}.w-progress-stroke{stroke:#20a0ff}.w-progress-status-success .w-progress-stroke{stroke:#28a745}.w-progress-status-exception .w-progress-stroke{stroke:#ff4949}.w-progress-line{font-size:12px;width:100%}.w-progress-bar,.w-progress-text{box-sizing:border-box}.w-progress-bar{display:inline-block;vertical-align:middle;width:100%}.w-progress-status-active .w-progress-bg{animation:progress-bar-stripes 1s linear infinite;background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:12px 12px}.w-progress-status-active .w-progress-bg:before{animation:w-progress-active 2.4s cubic-bezier(.23,1,.32,1) infinite;background:#fff;border-radius:10px;bottom:0;content:" ";left:0;opacity:0;position:absolute;right:0;top:0}.w-progress-status-exception .w-progress-bg{background-color:#dc3545}.w-progress-status-exception .w-progress-text{color:#dc3545}.w-progress-status-success .w-progress-bg{background-color:#28a745}.w-progress-status-success .w-progress-text{color:#28a745}.w-progress-show-text .w-progress-bar{margin-right:-50px;padding-right:50px}.w-progress-inner{background-color:#e5e9f2;border-radius:100px;height:100%;overflow:hidden;width:100%}.w-progress-bg{background-color:#108ee9;border-radius:100px;height:100%;position:relative;transition:all .4s cubic-bezier(.08,.82,.17,1) 0s}@keyframes progress-bar-stripes{0%{background-position:0 0}to{background-position:24px 0}}@keyframes w-progress-active{0%{opacity:.1;width:0}20%{opacity:.5;width:0}to{opacity:0;width:100%}}.w-rate{display:inline-block;font-family:auto;font-size:20px;line-height:12px;position:relative;vertical-align:middle}.w-rate>span+span{margin-left:3px}.w-rate-bg{color:#e9e9e9}.w-rate-bg,.w-rate>span{cursor:pointer;display:inline-block;position:relative}.w-rate-hight{color:#e9e9e9;display:none;line-height:12px;position:absolute;transition:color .3s,width .3s;z-index:3}.w-rate .hover-on{cursor:pointer}.w-rate .half-on,.w-rate .hover-on,.w-rate .star-on{color:#f5a623;display:inline-block}.w-rate .half-on:not(.hover-on){overflow:hidden;width:50%}.w-tag{border-radius:2px;display:inline-block;font-size:12px;padding:1px 5px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.w-tag+.w-tag{margin-left:5px}.w-tag.disabled{cursor:not-allowed;opacity:.75}.w-tag-light .w-tag-close:hover{background-color:currentcolor}.w-tag-light .w-tag-close:hover path{fill:#fff}.w-tag-light .w-tag-close:active{background-color:rgba(0,0,0,.15)}.w-tag-close{fill:currentcolor;border-radius:2px;cursor:pointer;margin:0 -3px 0 2px;position:relative;top:-1px;transition:all .3s;vertical-align:bottom}.w-tag-close:hover{background-color:rgba(0,0,0,.22)}.w-tag-close:active{background-color:rgba(0,0,0,.32)}.w-search-select-input-contents input{box-shadow:none;height:28px;padding:0}.w-search-select-input-contents.w-input-small{min-width:0}.w-search-select-input-contents .w-input-inner:focus,.w-search-select-input-contents .w-input-inner:hover{box-shadow:none!important}.w-search-select-input-contents .w-input-inner.disabled{background:#ddd;box-shadow:none;color:#a5a5a5;cursor:not-allowed;opacity:.75;resize:none}.w-search-select-inner{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:none;border-radius:3px;box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2);box-sizing:border-box;color:#393e48;display:flex;font-size:inherit;font-weight:400;justify-content:space-between;line-height:30px;margin:0!important;outline:none;padding:1px;transition:box-shadow .3s cubic-bezier(.4,1,.75,.9);vertical-align:middle}.w-search-select-inner:focus{box-shadow:0 0 0 1px #393e48,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-search-select-inner:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,0),inset 0 1px 1px rgba(16,22,26,.2)}.w-search-select-inner:focus.w-search-select-inner:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-search-select-inner:disabled{background:#ddd;box-shadow:none;color:#a5a5a5;cursor:not-allowed;opacity:.75;resize:none}.w-search-select-inner-inner-small{height:20px}.w-search-select-inner-inner-large{height:30px}.w-search-select-inner .w-input-small .w-input-inner{font-size:10px;height:16px;padding:0}.w-search-select-inner .w-input-large .w-input-inner{height:28px}.w-search-select-tag-content{align-items:center;display:flex;flex-flow:wrap;padding:0 9px;width:100%}.w-search-select-tag-content-disabled{background:#ddd}.w-search-select-search-false{cursor:pointer}.w-search-select-multiple-colse{font-size:15px;right:3px}.w-search-select-singe-colse{font-size:15px}.w-split{display:flex;flex-direction:row;height:100%}.w-split-bar{background:#f8f8f9;display:flex;justify-content:center;position:relative;-webkit-user-select:none;user-select:none;z-index:10}.w-split-bar:after,.w-split-bar:before{content:"";display:block}.w-split-bar.disable{cursor:not-allowed!important;pointer-events:none}.w-split-bar:hover:not(.disable){background:#ecf7ff;transition:background-color .3s}.w-split.dragging .w-split-pane{position:relative}.w-split.dragging .w-split-pane:before{content:"";display:block;height:100%;position:absolute;width:100%;z-index:10}.w-split>.w-split-pane{transform:none}.w-split:not(.dragging)>.w-split-pane{transition:all .3s}.w-split-horizontal>.w-split-bar{box-shadow:inset 1px 0 0 0 #d5d5d5,1px 0 0 0 #d5d5d5;cursor:col-resize;flex-direction:column;width:5px}.w-split-horizontal>.w-split-bar:after,.w-split-horizontal>.w-split-bar:before{box-shadow:inset 0 1px 0 0 #d5d5d5,0 1px 0 0 #d5d5d5;height:3px;width:100%}.w-split-horizontal>.w-split-bar:before{margin-top:-1px}.w-split-horizontal>.w-split-bar:after{margin-top:3px}.w-split-horizontal>.w-split-bar.disable{box-shadow:inset 1px 0 0 0 #e6e6e6,1px 0 0 0 #eaeaea!important}.w-split-vertical{flex-direction:column}.w-split-vertical>.w-split-bar{align-items:center;box-shadow:inset 0 1px 0 0 #d5d5d5,0 1px 0 0 #d5d5d5;cursor:row-resize;flex-direction:row;height:5px;width:100%}.w-split-vertical>.w-split-bar.disable{box-shadow:inset 0 1px 0 0 #e6e6e6,0 1px 0 0 #eaeaea!important}.w-split-vertical>.w-split-bar:after,.w-split-vertical>.w-split-bar:before{box-shadow:inset 1px 0 0 0 #d5d5d5,1px 0 0 0 #d5d5d5;height:100%;width:3px}.w-split-vertical>.w-split-bar:before{margin-left:-1px}.w-split-vertical>.w-split-bar:after{margin-left:3px}.w-split-large-bar div{bottom:0;left:0;position:absolute;right:0;top:0}.w-split-horizontal>.w-split-line-bar:hover:before,.w-split-vertical>.w-split-line-bar:hover:before{border-color:#008ef0}.w-split-vertical>.w-split-line-bar{height:1px}.w-split-vertical>.w-split-line-bar div{cursor:row-resize;height:8px;margin-bottom:-2px;margin-top:-2px;width:100%}.w-split-vertical>.w-split-line-bar div:active,.w-split-vertical>.w-split-line-bar div:focus,.w-split-vertical>.w-split-line-bar div:hover{height:6px;margin-bottom:-6px;margin-top:-6px}.w-split-vertical>.w-split-line-bar div:active:after,.w-split-vertical>.w-split-line-bar div:focus:after,.w-split-vertical>.w-split-line-bar div:hover:after{background-color:#008ef0}.w-split-vertical>.w-split-line-bar div:after{height:1px;width:100%}.w-split-horizontal>.w-split-line-bar{width:1px}.w-split-horizontal>.w-split-line-bar div{cursor:col-resize;height:100%;margin-left:-2px;margin-right:-2px;width:8px}.w-split-horizontal>.w-split-line-bar div:active,.w-split-horizontal>.w-split-line-bar div:focus,.w-split-horizontal>.w-split-line-bar div:hover{margin-left:-6px;margin-right:-6px;width:6px}.w-split-horizontal>.w-split-line-bar div:active:after,.w-split-horizontal>.w-split-line-bar div:focus:after,.w-split-horizontal>.w-split-line-bar div:hover:after{background-color:#008ef0}.w-split-horizontal>.w-split-line-bar div:after{height:100%;width:1px}.w-split-horizontal>.w-split-line-bar,.w-split-vertical>.w-split-line-bar{flex-direction:inherit}.w-split-horizontal>.w-split-line-bar:before,.w-split-vertical>.w-split-line-bar:before{display:none}.w-split-horizontal>.w-split-line-bar div,.w-split-vertical>.w-split-line-bar div{align-items:center;display:flex;justify-content:center;position:relative}.w-split-horizontal>.w-split-line-bar div:after,.w-split-vertical>.w-split-line-bar div:after{background-color:#d5d5d5;content:"";display:block}.w-split-line-bar{background:transparent}.w-split-line-bar,.w-split-line-bar:before{box-shadow:inset 0 0 0 0!important}.w-split-line-bar:after{display:none}.w-steps{font-size:0;line-height:1.5;width:100%}.w-steps .w-steps-item{display:inline-block;position:relative;vertical-align:top}.w-steps .w-steps-item:last-child .w-steps-item-tail{display:none;text-align:center}.w-steps .w-steps-item-tail{height:1px;left:0;padding:0 10px;position:absolute;top:13px;width:100%}.w-steps .w-steps-item-tail i{background-color:#e9e9e9;display:block;height:100%;position:relative;width:100%}.w-steps .w-steps-item-tail i:after{content:" ";height:100%;position:absolute;top:0;transition:all .6s;width:0}.w-steps .w-steps-item-head,.w-steps .w-steps-item-main{display:inline-block;position:relative;vertical-align:top}.w-steps .w-steps-item-head{background:#fff;padding-left:10px}.w-steps .w-steps-item-head:not(:first-child){margin-left:-10px}.w-steps .w-steps-item-title{background:#fff;color:#999;display:inline-block;font-size:14px;font-weight:700;line-height:26px;padding-right:10px}.w-steps .w-steps-item-description{color:#999;font-size:12px;max-width:130px}.w-steps .w-steps-item-inner{align-items:center;background-color:#fff;border:1px solid rgba(0,0,0,.25);border-radius:26px;color:rgba(0,0,0,.25);display:flex;font-size:14px;height:26px;justify-content:center;line-height:26px;margin-right:8px;text-align:center;transition:background-color .3s ease,border-color .3s ease;width:26px}.w-steps .w-steps-item-finish .w-steps-item-inner,.w-steps .w-steps-item-process .w-steps-item-inner{background-color:#2d8cf0;border-color:#2d8cf0;color:#fff}.w-steps .w-steps-item-finish .w-steps-item-inner.is-icon .w-steps-icon,.w-steps .w-steps-item-process .w-steps-item-inner.is-icon .w-steps-icon{color:#108ee9}.w-steps .w-steps-item-finish [class*=" w-icon-"],.w-steps .w-steps-item-finish [class^=w-icon-],.w-steps .w-steps-item-process [class*=" w-icon-"],.w-steps .w-steps-item-process [class^=w-icon-]{position:relative;top:-1px;vertical-align:middle}.w-steps .w-steps-item-finish .w-steps-item-tail i:after{background-color:#2d8cf0;width:100%}.w-steps .w-steps-item-process .w-steps-item-description,.w-steps .w-steps-item-process .w-steps-item-title{color:rgba(0,0,0,.65)}.w-steps .w-steps-item-error .w-steps-item-inner{background-color:#fff;border-color:#f04134;color:#f04134}.w-steps .w-steps-item-error .w-steps-icon,.w-steps .w-steps-item-error .w-steps-item-description,.w-steps .w-steps-item-error .w-steps-item-title,.w-steps .w-steps-item-error i[class^=w-icon-]{color:#f04134}.w-steps .w-steps-next-error .w-steps-item-tail i:after{background-color:#f04134;transition:all .6s;width:100%}.w-steps-custom .w-steps-item-inner.is-icon{background:none;border:0;font-size:26px;height:26px;width:26px}.w-steps-dot .w-steps-item-main{display:block;text-align:center}.w-steps-dot .w-steps-item-inner{border:0;height:7px;line-height:5px;margin:0 auto;width:7px}.w-steps-dot .w-steps-item-title{padding-top:5px}.w-steps-dot .w-steps-item-description{max-width:none}.w-steps-dot .w-steps-item-error .w-steps-item-tail i:after{background-color:#2d8cf0}.w-steps-dot .w-steps-item-error .w-steps-item-inner{background:#f04134}.w-steps-dot .w-steps-item-error .w-steps-item-tail{background:#e9e9e9;padding-right:50%}.w-steps-dot .w-steps-item-error .w-steps-item-tail i:after{background-color:#f04134;width:100%}.w-steps-dot .w-steps-item-finish.w-steps-next-error .w-steps-item-tail i:after{background-color:#2d8cf0}.w-steps-dot .w-steps-item-wait .w-steps-item-inner{background-color:rgba(0,0,0,.25);border-color:rgba(0,0,0,.25)}.w-steps-dot .w-steps-item-wait .w-steps-item-inner .w-steps-dot{background:rgba(0,0,0,.25)}.w-steps-dot .w-steps-item-process .w-steps-item-tail{background:#e9e9e9;padding-right:50%}.w-steps-dot .w-steps-item-process .w-steps-item-tail i:after{background-color:#2d8cf0;width:100%}.w-steps-dot .w-steps-item-tail{height:2px;padding:0;position:static;width:100%}.w-steps-dot .w-steps-item:first-child .w-steps-item-tail{padding-left:50%}.w-steps-dot .w-steps-item:last-child .w-steps-item-tail{display:block;padding-right:50%}.w-steps-dot .w-steps-item-head:not(:first-child){display:block;margin-left:0;padding-left:0;text-align:center}.w-steps-dot .w-steps-item-head{background:transparent;margin-top:-4px}.w-steps-dot .w-steps-item-head .is-icon{background-color:transparent;margin-left:-10px!important}.w-steps-dot.w-steps-vertical .w-steps-item:last-child .w-steps-item-tail{display:none}.w-steps-dot.w-steps-vertical .w-steps-item .w-steps-item-tail{left:3px;padding:0 0 21px;position:absolute}.w-steps-dot.w-steps-vertical .w-steps-item-inner{margin:0}.w-steps-dot.w-steps-vertical .w-steps-item-main{margin-top:-21px;padding-bottom:24px;padding-left:20px;text-align:left}.w-steps-dot.w-steps-vertical .is-icon-main{margin-top:-35px}.w-steps-dot.w-steps-vertical .w-steps-next-error .w-steps-item-tail i:after{background-color:#f04134}.w-steps-dot.w-steps-vertical .w-steps-item-error .w-steps-item-tail,.w-steps-dot.w-steps-vertical .w-steps-item-error .w-steps-item-tail i:after{background-color:transparent}.w-steps-vertical>.w-steps-item{display:block}.w-steps-vertical>.w-steps-item>.w-steps-item-tail{height:100%;left:13px;padding:18px 0;width:1px}.w-steps-vertical .w-steps-item-main{overflow:hidden;padding-bottom:12px}.w-steps-vertical .w-steps-item .w-steps-item-main .w-steps-item-description{max-width:inherit}.w-slider{background-color:#e4e8f1;cursor:pointer;font-size:12px;margin:13px 7px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:-webkit-fill-available;width:-moz-available;width:stretch}.w-slider,.w-slider-bar{border-radius:3px;height:4px}.w-slider-bar{background-color:#008ef0;position:absolute}.w-slider.disabled,.w-slider.disabled .w-slider-mark>div{cursor:not-allowed}.w-slider.disabled .w-slider-bar{background-color:#bdc2cc}.w-slider.disabled .w-slider-handle{background-color:#e6e6e6;box-shadow:0 0 0 1px rgba(16,22,26,.2),0 0 0 rgba(16,22,26,.2)}.w-slider-handle{background-color:#f5f8fa;background-image:linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0));border-radius:50%;box-shadow:0 0 0 1px rgba(16,22,26,.2),0 1px 1px rgba(16,22,26,.2);height:14px;left:0;margin-top:-5px;transition:all .3;width:14px;z-index:1}.w-slider-dots>div,.w-slider-handle{position:absolute;transform:translateX(-50%)}.w-slider-dots>div{background-color:#fff;border-radius:100%;box-shadow:0 0 0 1.6px rgba(16,22,26,.16);height:4px;top:0;width:4px}.w-slider:not(.disabled) .w-slider-handle:active{background-color:#d8e1e8;box-shadow:0 0 0 1px rgba(16,22,26,.2),0 1px 1px rgba(16,22,26,.2),0 0 0 2px rgba(0,0,0,.1);transition:all .3}.w-slider:not(.disabled) .w-slider-handle:active .w-slider-tooltip,.w-slider:not(.disabled) .w-slider-handle:focus .w-slider-tooltip,.w-slider:not(.disabled) .w-slider-handle:hover .w-slider-tooltip{display:inline-block}.w-slider-tooltip{background-color:rgba(0,0,0,.75);border-radius:3px;color:#fff;display:none;font-size:12px;margin-left:6px;margin-top:-3px;padding:0 4px;position:absolute;transform:translate(-50%,-100%)}.w-slider-tooltip.open{display:inline-block}.w-slider-with-marks{margin-bottom:24px}.w-slider-mark.no-marks{display:none}.w-slider-mark>div{color:rgba(0,0,0,.43);cursor:pointer;display:inline-block;margin-bottom:-50%;margin-left:3px;padding:0 3px;position:absolute;text-align:center;transform:translate(-50%,50%);vertical-align:middle}.w-slider-vertical{height:100%;height:-webkit-fill-available;height:-moz-available;height:stretch;margin:7px 13px;width:4px}.w-slider-vertical .w-slider-dots>div{left:2px}.w-slider-vertical .w-slider-bar{height:auto;width:4px}.w-slider-vertical .w-slider-handle{margin-left:2px}.w-slider-vertical .w-slider-mark>div{margin-left:12px;margin-top:2px;padding:0;transform:translateY(-50%)}.w-switch{cursor:pointer;font-size:12px;vertical-align:middle}.w-switch input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-clip:border-box;background-color:#dfdfdf;border-radius:16px;box-shadow:inset 0 1px 2px rgba(16,22,26,.2);cursor:pointer;font-size:12px;height:20px;margin:0!important;min-width:35px;outline:0;position:relative;transition:all .3s;white-space:nowrap}.w-switch input[type=checkbox]:after,.w-switch input[type=checkbox]:before{display:inline-block;vertical-align:middle}.w-switch input[type=checkbox]:before{color:#fff;content:attr(data-checked);line-height:20px;padding:0 21px 0 6px;transition:all .3s}.w-switch input[type=checkbox]:checked{background-color:#008ef0}.w-switch input[type=checkbox]:checked:after{margin-right:0;right:2px}.w-switch input[type=checkbox]:checked:before{content:attr(data-unchecked)}.w-switch input[type=checkbox]:not(:checked):before{color:#393e48;padding:0 6px 0 21px}.w-switch input[type=checkbox]:after{background-color:#fff;border-radius:50%;box-shadow:0 1px 2px 0 rgba(0,35,11,.2);content:" ";height:16px;margin-left:1px;margin-right:-18px;margin-top:2px;position:absolute;right:100%;transition:all .2s;width:16px}.w-switch input[type=checkbox]:disabled{cursor:not-allowed;opacity:.45}.w-switch input[type=checkbox]:focus{box-shadow:0 0 0 2px rgba(0,142,240,.25),inset 0 1px 2px rgba(16,22,26,.2)}.w-switch.disabled{cursor:not-allowed}.w-switch-large input[type=checkbox]{height:24px;min-width:38px}.w-switch-large input[type=checkbox]:after{height:20px;margin-right:-22px;width:20px}.w-switch-large input[type=checkbox]:before{font-size:16px;line-height:24px;margin-top:0;padding:0 25px 0 8px}.w-switch-large input[type=checkbox]:not(:checked):before{padding:0 8px 0 25px}.w-switch-small{font-size:12px}.w-switch-small input[type=checkbox]{height:16px;min-width:15px}.w-switch-small input[type=checkbox]:after{height:12px;margin-right:-14px;width:12px}.w-switch-small input[type=checkbox]:before{line-height:16px;padding:0 16px 0 6px}.w-switch-small input[type=checkbox]:not(:checked):before{padding:0 6px 0 16px}.w-switch input[type=checkbox],.w-switch-text{vertical-align:middle}.w-switch-text{display:inline-block;margin-left:5px}.w-table{overflow:auto;width:100%}.w-table>table{border-collapse:collapse;border-spacing:0;display:table!important;margin:0!important;width:100%!important}.w-table>table tr>td,.w-table>table tr>th{border:0;border-bottom:1px solid #e8e8e8;padding:5px 8px}.w-table>table tr{background-color:transparent}.w-table>table>caption{padding:10px 8px;text-align:left}.w-table>table>tbody>tr{transition:all .3s}.w-table>table>tbody>tr>td{background-color:#fff;position:relative;z-index:1}.w-table>table>tbody>tr:hover:nth-child(2n)>td,.w-table>table>tbody>tr:hover>td{background-color:#efefef}.w-table>table>tbody>tr:nth-child(2n)>td{background-color:#f9f9f9}.w-table>table>thead>tr>th{background-color:#f6f9fb;font-weight:400;padding:8px;position:relative;z-index:1}.w-table>table>thead tr:nth-child(2n),.w-table>table>thead>tr{background-color:#f6f9fb;border:transparent}.w-table-ellipsis{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all}.w-table-tr-children-center{text-align:center}.w-table-tr-children-left{text-align:left}.w-table-tr-children-right{text-align:right}.w-table-fixed-right,.w-table-fixed-true{position:sticky!important;z-index:2!important}.w-table-fixed-true:after{bottom:-1px;box-shadow:inset 10px 0 8px -8px rgba(0,0,0,.15);content:"";pointer-events:none;position:absolute;right:0;top:0;transform:translateX(100%);transition:box-shadow .3s;width:30px}.w-table-fixed-true:before{border-left:1px solid #dfe2e5;bottom:0;content:"";left:-1px;position:absolute;top:0}.w-table-fixed-right:after{border-right:1px solid #f0f0f0;bottom:-1px;content:"";left:0;pointer-events:none;position:absolute;top:0;transform:translateX(-100%);transition:box-shadow .3s;width:30px}.w-table-fixed-right-first:after{box-shadow:inset -10px 0 8px -8px rgba(0,0,0,.15)}.w-table-fixed-right:before{border-right:1px solid #dfe2e5;bottom:0;content:"";position:absolute;right:-1px;top:0}.w-table-bordered>table tr>td,.w-table-bordered>table tr>th,.w-table-bordered>table>caption{border:1px solid #dfe2e5}.w-table-bordered>table>caption{border-bottom:0}.w-table-bordered .w-table-footer{border:1px solid #dfe2e5;border-top:0}.w-table-footer{background:#fafafa;padding:10px 8px}.w-tabs-bar{height:calc(100% + 17px);overflow-x:auto}.w-tabs-bar,.w-tabs-nav{position:relative}.w-tabs-nav-hidden{display:flex;flex-direction:column;max-height:200px;overflow-y:auto;padding:5px 10px 5px 5px}.w-tabs-nav-hidden :hover{background:#d9d9d9}.w-tabs-item{box-sizing:border-box;cursor:pointer;display:inline-block;font-size:14px;height:100%;padding:7px 10px;position:relative;text-decoration:none;transition:all .3s}.w-tabs-item.active{color:#008ef0}.w-tabs-item.disabled{color:rgba(0,0,0,.25);cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;user-select:none}.w-tabs-flow-content{box-shadow:inset 1px 0 0 #d9d9d9;cursor:pointer;margin-left:5px;padding:0 10px}.w-tabs-card>div>div>.w-tabs-bar>.w-tabs-nav:after,.w-tabs-line>div>div>.w-tabs-bar>.w-tabs-nav:after{border-bottom:1px solid #d9d9d9;content:"";display:block;position:relative}.w-tabs-line>div>div>.w-tabs-bar>.w-tabs-nav>.w-tabs-slide{background-color:#108ee9;bottom:0;box-sizing:border-box;height:1px;left:0;position:absolute;transition:all .3s;width:20px;z-index:1}.w-tabs-card>div>div>.w-tabs-bar>.w-tabs-nav:after{border-bottom:1px solid #d9d9d9;content:"";display:block;position:relative}.w-tabs-card>div>div>.w-tabs-bar>.w-tabs-nav>.w-tabs-item{background:#f9f9f9;border:1px solid #d9d9d9;border-bottom:0;border-radius:4px 4px 0 0;bottom:-1px;margin:0 5px 0 0;padding:7px 16px}.w-tabs-card>div>div>.w-tabs-bar>.w-tabs-nav>.w-tabs-item.active{background:#fff;z-index:1}.w-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:none;border-radius:3px;box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2);color:#393e48;font-size:14px;font-weight:400;height:auto;max-width:100%;min-height:30px;min-width:100%;outline:none;padding:5px 10px;position:relative;transition:box-shadow .1s cubic-bezier(.4,1,.75,.9);vertical-align:middle;width:100%}.w-textarea:not(:first-child){padding-left:30px}.w-textarea:focus{box-shadow:0 0 0 1px #393e48,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-textarea:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,0),inset 0 1px 1px rgba(16,22,26,.2)}.w-textarea:focus.w-textarea:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-textarea:disabled{background:#ddd;box-shadow:none;color:#a5a5a5;cursor:not-allowed;opacity:.75;resize:none}.w-tooltip{display:inline-block;position:relative}.w-tooltip-arrow{border-color:transparent;border-style:solid;height:0;position:absolute;width:0}.w-tooltip-inner{background-color:rgba(0,0,0,.75);border-radius:4px;box-shadow:0 1px 6px rgba(0,0,0,.2);color:#fff;display:block;font-size:12px;max-width:250px;padding:5px 10px;text-align:left;text-decoration:none;word-break:break-all}.w-tooltip.right .w-tooltip-arrow,.w-tooltip.rightBottom .w-tooltip-arrow,.w-tooltip.rightTop .w-tooltip-arrow{border-right-color:rgba(0,0,0,.75);border-width:5px 5px 5px 0;left:0;margin-top:-5px;top:50%}.w-tooltip.left .w-tooltip-arrow,.w-tooltip.leftBottom .w-tooltip-arrow,.w-tooltip.leftTop .w-tooltip-arrow{border-left-color:rgba(0,0,0,.75);border-width:5px 0 5px 5px;margin-top:-5px;right:0;top:50%}.w-tooltip.leftTop .w-tooltip-arrow,.w-tooltip.rightTop .w-tooltip-arrow{top:15px}.w-tooltip.leftBottom .w-tooltip-arrow,.w-tooltip.rightBottom .w-tooltip-arrow{bottom:10px;top:auto}.w-tooltip.top .w-tooltip-arrow,.w-tooltip.topLeft .w-tooltip-arrow,.w-tooltip.topRight .w-tooltip-arrow{border-top-color:rgba(0,0,0,.75);border-width:5px 5px 0;bottom:0;left:50%;margin-left:-5px}.w-tooltip.bottom .w-tooltip-arrow,.w-tooltip.bottomLeft .w-tooltip-arrow,.w-tooltip.bottomRight .w-tooltip-arrow{border-bottom-color:rgba(0,0,0,.75);border-width:0 5px 5px;left:50%;margin-left:-5px;top:0}.w-tooltip.bottomLeft .w-tooltip-arrow,.w-tooltip.topLeft .w-tooltip-arrow{left:15px}.w-tooltip.bottomRight .w-tooltip-arrow,.w-tooltip.topRight .w-tooltip-arrow{left:auto;right:10px}.w-tooltip.bottom,.w-tooltip.bottomLeft,.w-tooltip.bottomRight{padding-top:5px}.w-tooltip.top,.w-tooltip.topLeft,.w-tooltip.topRight{padding-bottom:5px}.w-tooltip.right,.w-tooltip.rightBottom,.w-tooltip.rightTop{padding-left:5px}.w-tooltip.left,.w-tooltip.leftBottom,.w-tooltip.leftTop{padding-right:5px}.w-tooltip.no-arrow{padding:0!important}.w-tree{font-size:14px}.w-tree ul{margin:0;overflow:hidden;padding:0!important;transition:all .3s}.w-tree ul ul{margin-bottom:0;padding-left:18px!important}.w-tree li{list-style:none!important}.w-tree li+li{margin-top:2px!important}.w-tree li:first-child{padding-top:3px}.w-tree-close{height:0}.w-tree-label .no-child:not(.w-tree-switcher-noop) svg{display:none}.w-tree-label{line-height:normal}.w-tree-label>*{vertical-align:middle}.w-tree-switcher{cursor:pointer;display:inline-block;height:14px;line-height:14px;position:relative;text-align:center;width:14px;z-index:1}.w-tree-switcher:hover{color:#2ea3f4}.w-tree-switcher .w-icon{transform:scale(.79) rotate(0deg);transition:all .3s}.w-tree-switcher .w-icon.open:not(.no-animation){transform:scale(.79) rotate(90deg)!important}.w-tree-title{cursor:pointer;display:inline-block;padding:2px 5px}.w-tree-title>*{vertical-align:middle}.w-tree-disabled-mouse{cursor:not-allowed}.w-tree-disabled-ele{color:#00000040}.w-tree-title.selected{background-color:#d5e8fc}.w-tree-line li{position:relative}.w-tree-line li li:after,.w-tree-line li li:before{border-left:1px solid #d9d9d9;content:" ";left:-12px;position:absolute}.w-tree-line li li:after{height:100%;top:5px}.w-tree-line li li:last-child:after{height:16px;top:-18px}.w-tree-line li li:before{border-bottom:1px solid #d9d9d9;content:" ";height:16px;top:-2px;width:10px}.w-tree-line li li:last-child:before{border-radius:0 0 0 3px}.w-treechecked-checked{margin-right:5px}.w-search-tree-input-contents{flex:1 1;top:1px}.w-search-tree-input-contents input{box-shadow:none;height:20px;min-width:50px;padding:0}.w-search-tree-input-contents .w-input-inner:focus,.w-search-tree-input-contents .w-input-inner:hover{box-shadow:none!important}.w-search-tree-inner{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:none;border-radius:3px;box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2);box-sizing:border-box;color:#393e48;display:flex;font-size:inherit;font-weight:400;justify-content:space-between;line-height:30px;margin:0!important;min-height:30px;outline:none;padding:3px 10px;transition:box-shadow .3s cubic-bezier(.4,1,.75,.9);vertical-align:middle}.w-search-tree-inner:focus{box-shadow:0 0 0 1px #393e48,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-search-tree-inner:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,0),inset 0 1px 1px rgba(16,22,26,.2)}.w-search-tree-inner:focus.w-search-tree-inner:hover{box-shadow:0 0 0 1px #6e6e6e,0 0 0 3px rgba(57,62,72,.17),inset 0 1px 1px rgba(16,22,26,.2)}.w-search-tree-inner:disabled{background:#ddd;box-shadow:none;color:#a5a5a5;cursor:not-allowed;opacity:.75;resize:none}.w-search-tree-inner-close-tag-contents{align-content:center;display:flex;width:14px}.w-search-tree-inner-inner-small{height:20px}.w-search-tree-inner-inner-large{height:30px}.w-search-tree-inner .w-input-small .w-input-inner{font-size:10px;height:16px;padding:0}.w-search-tree-inner .w-input-large .w-input-inner{height:28px}.w-transfer{display:flex;justify-content:space-between}.w-transfer-card{width:50%}.w-transfer-cheked-content{height:200px;overflow-y:auto}.w-transfer-arrow-content{align-self:center;display:flex;flex-direction:column;height:50px;justify-content:space-between;width:50px}.w-transfer-arrow{border-radius:3px;transition:all .3s}.w-transfer-arrow:hover{box-shadow:0 1px 6px rgba(0,0,0,.2);cursor:pointer} +/*# sourceMappingURL=uiw-vendor.ce1c9203.css.map*/ \ No newline at end of file diff --git a/static/css/uiw-vendor.ce1c9203.css.map b/static/css/uiw-vendor.ce1c9203.css.map new file mode 100644 index 00000000..6b71f34d --- /dev/null +++ b/static/css/uiw-vendor.ce1c9203.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/uiw-vendor.ce1c9203.css","mappings":"AAAA,mCACE,kCAGE,2CAA4C,CAC5C,4CAA6C,CAC7C,0CAA2C,CAC3C,2DAA4D,CAC5D,8CAA+C,CAC/C,2CAA4C,CAC5C,0CAA2C,CAC3C,4CAA6C,CAC7C,gEAAiE,CACjE,wDAAyD,CACzD,sDAAuD,CACvD,wDAAyD,CACzD,sDAAuD,CACvD,iDAAkD,CAClD,+CAAgD,CAChD,kDAAmD,CACnD,iDAAkD,CAClD,+CAAgD,CAChD,uDAAwD,CACxD,qDAAsD,CACtD,wDAAyD,CACzD,sDAAuD,CACvD,uDAAwD,CACxD,qDAAsD,CACtD,uDAAwD,CACxD,qDAAsD,CACtD,mDAAoD,CACpD,4DAA6D,CAC7D,6DAA8D,CAC9D,iEAAkE,CAClE,0BAA2B,CAC3B,wBAAyB,CACzB,yBAA0B,CAC1B,8BAA+B,CAC/B,6BAA8B,CAC9B,8BAA+B,CAC/B,4BAA6B,CAC7B,yCAA+C,CAC/C,yBAA0B,CAC1B,+BAAgC,CAChC,4CAAiD,CACjD,yBAA0B,CA1C1B,iBA2CF,CACF,CACA,oCACE,kCAGE,2CAA4C,CAC5C,4CAA6C,CAC7C,0CAA2C,CAC3C,2DAA4D,CAC5D,8CAA+C,CAC/C,2CAA4C,CAC5C,0CAA2C,CAC3C,4CAA6C,CAC7C,gEAAiE,CACjE,wDAAyD,CACzD,sDAAuD,CACvD,wDAAyD,CACzD,sDAAuD,CACvD,iDAAkD,CAClD,+CAAgD,CAChD,kDAAmD,CACnD,iDAAkD,CAClD,+CAAgD,CAChD,uDAAwD,CACxD,qDAAsD,CACtD,wDAAyD,CACzD,sDAAuD,CACvD,uDAAwD,CACxD,qDAAsD,CACtD,uDAAwD,CACxD,qDAAsD,CACtD,mDAAoD,CACpD,4DAA6D,CAC7D,6DAA8D,CAC9D,iEAAkE,CAClE,0BAA2B,CAC3B,wBAAyB,CACzB,yBAA0B,CAC1B,2BAA+B,CAC/B,6BAA8B,CAC9B,8BAA+B,CAC/B,4BAAwC,CACxC,0CAA+C,CAC/C,yBAA0B,CAC1B,+BAAgC,CAChC,gCAAiC,CACjC,yBAA0B,CA1C1B,kBA2CF,CACF,CACA,8LAME,2CAA4C,CAC5C,4CAA6C,CAC7C,0CAA2C,CAC3C,2DAA4D,CAC5D,8CAA+C,CAC/C,2CAA4C,CAC5C,0CAA2C,CAC3C,4CAA6C,CAC7C,gEAAiE,CACjE,wDAAyD,CACzD,sDAAuD,CACvD,wDAAyD,CACzD,sDAAuD,CACvD,iDAAkD,CAClD,+CAAgD,CAChD,kDAAmD,CACnD,iDAAkD,CAClD,+CAAgD,CAChD,uDAAwD,CACxD,qDAAsD,CACtD,wDAAyD,CACzD,sDAAuD,CACvD,uDAAwD,CACxD,qDAAsD,CACtD,uDAAwD,CACxD,qDAAsD,CACtD,mDAAoD,CACpD,4DAA6D,CAC7D,6DAA8D,CAC9D,iEAAkE,CAClE,0BAA2B,CAC3B,wBAAyB,CACzB,yBAA0B,CAC1B,8BAA+B,CAC/B,6BAA8B,CAC9B,8BAA+B,CAC/B,4BAA6B,CAC7B,yCAA+C,CAC/C,yBAA0B,CAC1B,+BAAgC,CAChC,4CAAiD,CACjD,yBAA0B,CA1C1B,iBA2CF,CACA,mMAME,2CAA4C,CAC5C,4CAA6C,CAC7C,0CAA2C,CAC3C,2DAA4D,CAC5D,8CAA+C,CAC/C,2CAA4C,CAC5C,0CAA2C,CAC3C,4CAA6C,CAC7C,gEAAiE,CACjE,wDAAyD,CACzD,sDAAuD,CACvD,wDAAyD,CACzD,sDAAuD,CACvD,iDAAkD,CAClD,+CAAgD,CAChD,kDAAmD,CACnD,iDAAkD,CAClD,+CAAgD,CAChD,uDAAwD,CACxD,qDAAsD,CACtD,wDAAyD,CACzD,sDAAuD,CACvD,uDAAwD,CACxD,qDAAsD,CACtD,uDAAwD,CACxD,qDAAsD,CACtD,mDAAoD,CACpD,4DAA6D,CAC7D,6DAA8D,CAC9D,iEAAkE,CAClE,0BAA2B,CAC3B,wBAAyB,CACzB,yBAA0B,CAC1B,2BAA+B,CAC/B,6BAA8B,CAC9B,8BAA+B,CAC/B,4BAAwC,CACxC,0CAA+C,CAC/C,yBAA0B,CAC1B,+BAAgC,CAChC,gCAAiC,CACjC,yBAA0B,CA1C1B,kBA2CF,CACA,eACE,6BAA8B,CAI9B,oBAAqB,CAErB,4CAA6C,CAD7C,6BAA8B,CAJ9B,8FAA2G,CAC3G,cAAe,CACf,eAIF,CACA,uEAGE,aACF,CACA,uBACE,iBACF,CACA,wBACE,sBACF,CACA,iBACE,4BAA6B,CAC7B,4BAA6B,CAC7B,oBACF,CACA,+CAEE,eACF,CACA,2BACE,kBAAmB,CACnB,wCAAyC,CACjC,gCACV,CACA,uCAEE,eACF,CACA,mBACE,iBACF,CACA,kBAKE,iDAAkD,CADlD,aAAc,CAFd,eAAgB,CADhB,cAAgB,CAEhB,mBAGF,CACA,oBACE,8CAA+C,CAC/C,+BACF,CACA,qBACE,aACF,CACA,sCAEE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,uBACF,CACA,mBACE,aACF,CACA,mBACE,SACF,CACA,mBAKE,4CAA6C,CAH7C,iBAAkB,CAElB,sBAAuB,CAHvB,oBAAqB,CAErB,cAGF,CACA,8EAIE,+BAAiC,CACjC,aACF,CACA,sBACE,eACF,CACA,kBAGE,sBAAuB,CAMvB,4CAA6C,CAL7C,QAAS,CACT,iDAAkD,CAJlD,sBAAuB,CAKvB,YAAc,CAEd,aAAc,CANd,eAAgB,CAKhB,SAGF,CACA,qBACE,YAAa,CAGb,mBAAoB,CACpB,iBAAkB,CAClB,mBAAoB,CAJpB,QAAS,CACT,gBAIF,CACA,sFAGE,yBACF,CACA,4IAGE,iBAAkB,CAClB,SACF,CACA,mIAGE,6BACF,CACA,2DAEE,qBAAsB,CACtB,SACF,CACA,gHAEE,WACF,CACA,6BACE,4BAA6B,CAC7B,mBACF,CACA,mHAEE,uBACF,CACA,2CACE,aAAc,CACd,WACF,CACA,4CACE,yBAA0B,CAC1B,YACF,CACA,uBACE,yBACF,CAKA,iDAFE,UAAW,CADX,aAOF,CAJA,wBAEE,UAEF,CACA,qBAEE,wBAAyB,CADzB,gBAAiB,CAEjB,aAAc,CAGd,cAAe,CADf,sBAAkB,CAAlB,iBAEF,CAmCA,oCAEE,SACF,CACA,+BACE,cACF,CACA,iDACE,sBACF,CACA,mBAOE,2CAA4C,CAC5C,8CAA4C,CAC5C,2CAA+C,CAC/C,iBAAkB,CAClB,oDAAqD,CANrD,6BAA8B,CAJ9B,oBAAqB,CAErB,sFAA6F,CAC7F,gBAAiB,CAFjB,eAAgB,CAIhB,qBAMF,CACA,4GAQE,eAAgB,CAChB,gBAAiB,CAFjB,kBAAmB,CADnB,eAIF,CACA,kBAIE,iDAAkD,CADlD,eAAgB,CAFhB,eAAgB,CAChB,mBAGF,CACA,kBAEE,gBAAiB,CADjB,eAEF,CACA,kBAEE,aAAc,CADd,eAEF,CACA,kBAEE,gBAAkB,CADlB,eAEF,CACA,kBAGE,2BAA4B,CAD5B,eAAiB,CADjB,eAGF,CACA,iBAEE,kBAAmB,CADnB,YAEF,CACA,0BAIE,mDAAqD,CADrD,2BAA4B,CAF5B,QAAS,CACT,aAGF,CACA,oCAGE,eAAgB,CADhB,YAAa,CAEb,gBACF,CACA,0CAEE,2BACF,CACA,gGAIE,2BACF,CACA,kBACE,aACF,CAMA,yDAHE,wFAA+F,CAC/F,cAQF,CANA,mBAKE,gBAAiB,CAHjB,eAAgB,CADhB,YAKF,CACA,wBAIE,iBAAkB,CAHlB,oBAAqB,CACrB,0BAA4B,CAC5B,0BAEF,CAKA,kCACE,4BAA6B,CAC7B,SACF,CAHA,6BACE,4BAA6B,CAC7B,SACF,CACA,gGAGE,uBAAwB,CACxB,eAAgB,CAFhB,QAGF,CACA,+BACE,aACF,CAKA,2CAFE,UAAW,CADX,aAOF,CAJA,qBAEE,UAEF,CACA,4BACE,sBACF,CACA,2BACE,yBACF,CACA,6BACE,aAAc,CACd,oBACF,CACA,uBACE,4BACF,CACA,wBACE,UAAW,CAGX,aAAc,CADd,iBAAkB,CADlB,iBAGF,CACA,6BACE,YACF,CACA,gKASE,kBAAmB,CADnB,YAEF,CACA,uCACE,YACF,CACA,sCACE,eACF,CACA,4BACE,WACF,CACA,2BACE,WACF,CACA,gMAME,6BAA8B,CAC9B,qBAAsB,CACtB,iBACF,CACA,gMAME,oBACF,CACA,oRAME,kBACF,CACA,wQAaE,iBAAkB,CADlB,cAEF,CACA,oDAGE,oBAAqB,CADrB,SAEF,CACA,4BACE,uBACF,CACA,0BACE,2BACF,CACA,0BACE,2BACF,CACA,kCACE,uBACF,CACA,oFAKE,eAAgB,CADhB,YAEF,CACA,oBACE,eACF,CACA,qBACE,gBACF,CACA,kBACE,SACF,CACA,qBAGE,aAAc,CACd,iBAAkB,CAClB,eAAgB,CAHhB,eAAgB,CADhB,SAKF,CACA,qBAEE,kBAAmB,CADnB,cAEF,CACA,wBACE,eACF,CACA,gDAGE,4CAA6C,CAD7C,gBAEF,CACA,wBACE,4CAA6C,CAC7C,8CACF,CACA,sCACE,2CACF,CACA,yBACE,4BACF,CACA,gCACE,iBACF,CACA,+BACE,kBACF,CACA,sBAGE,4BAA6B,CAF7B,cAAe,CACf,uBAEF,CACA,0BACE,aAAc,CACd,eACF,CACA,+BAOE,4CAA6C,CAN7C,aAAc,CACd,UAAW,CAGX,eAAgB,CAChB,eAAgB,CAFhB,WAAY,CADZ,UAKF,CACA,mCACE,aAAc,CACd,UACF,CACA,oCAGE,UAAW,CACX,6BAA8B,CAH9B,aAAc,CACd,eAGF,CACA,iCAGE,UAAW,CAFX,aAAc,CACd,eAEF,CACA,sCACE,aAAc,CACd,kBAAmB,CACnB,eAAgB,CAChB,iBACF,CACA,0CACE,aAAc,CACd,iBACF,CACA,gCAGE,UAAW,CAFX,aAAc,CACd,eAEF,CACA,qCACE,aAAc,CACd,eAAgB,CAChB,eAAgB,CAChB,gBACF,CACA,yCACE,QAAS,CACT,gBACF,CACA,+BACE,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,eACF,CACA,oCACE,eACF,CACA,gCACE,aAAc,CACd,WAAY,CACZ,gBAAiB,CACjB,eACF,CACA,qCACE,aAAc,CACd,kBAAmB,CACnB,eAAgB,CAChB,gBACF,CACA,sCAKE,2CAA4C,CAC5C,iBAAkB,CAFlB,aAAc,CADd,QAAS,CADT,iBAKF,CACA,4CAEE,YACF,CACA,wBACE,uBACF,CACA,wBACE,cACF,CACA,wBAKE,sBAAuB,CACvB,QAAS,CAJT,QAAS,CADT,SAAU,CAGV,eAAgB,CADhB,iBAIF,CACA,mBAGE,2CAA4C,CAC5C,iBAAkB,CAHlB,aAAc,CACd,gBAGF,CACA,8CAQE,gBAAiB,CACjB,4BAA6B,CAC7B,QAAS,CART,cAAe,CAKf,mBAAoB,CAFpB,QAAS,CAFT,cAAe,CAGf,gBAAiB,CAFjB,SAOF,CACA,wBAGE,aAAc,CADd,aAAc,CADd,YAGF,CACA,wDAIE,cAAe,CACf,aAAc,CAFd,eAAgB,CADhB,WAAY,CAIZ,eAAgB,CAChB,kBACF,CACA,mCAGE,sCAAuC,CACvC,QAAS,CAHT,oBAAqB,CACrB,gBAGF,CACA,4BACE,YACF,CACA,4BAEE,qCAAsC,CACtC,YAAa,CAFb,eAGF,CACA,0BAGE,gDAAiD,CADjD,2BAA4B,CAD5B,cAGF,CACA,6BACE,iBACF,CACA,6BACE,iBACF,CACA,2CAQE,6CAA8C,CAC9C,iBAAkB,CALlB,WAAY,CAGZ,UAAW,CAFX,UAAW,CACX,mBAAoB,CALpB,iBAAkB,CAElB,UAAW,CADX,QAQF,CACA,oCACE,6BACF,CACA,yDACE,qBACF,CACA,+BACE,oBACF,CACA,qCACE,eACF,CACA,6CACE,cACF,CACA,8DACE,cACF,CACA,uCACE,YACF,CACA,gGAEE,0BAA6B,CAC7B,qBACF,CACA,sIAEE,0BACF,CACA,mDAEU,kBACV,CACA,mBACE,iBACF,CACA,2BASE,sCAAuC,CADvC,iBAAkB,CAHlB,4BAA6B,CAD7B,cAAe,CAFf,YAAa,CASb,cAAe,CADf,WAAY,CAPZ,iBAAkB,CAIlB,SAAU,CADV,OAAQ,CAMR,kBAAoB,CAXpB,iBAYF,CACA,yCACE,aACF,CACA,0CACE,YACF,CACA,iCACE,kBACF,CACA,uCACE,sDAAuD,CACvD,iCACF,CACA,0EAEE,kBAAmB,CACnB,iCACF,CACA,yCACE,YACF,CACA,0CACE,aACF,CACA,gBACE,2CACF,CACA,8BAKE,4BAA6B,CAC7B,kBAAmB,CALnB,oBAAqB,CAGrB,iBAAkB,CADlB,gBAAiB,CAIjB,kBAAmB,CALnB,UAMF,CACA,yDAIE,8CACF,CACA,iBACE,UACF,CACA,wFAME,iDACF,CACA,wBACE,+CACF,CACA,2JASE,+CACF,CACA,eACE,0DACF,CACA,0BACE,mEACF,CACA,gBACE,2DACF,CACA,2BACE,oEACF,CACA,gBACE,+CACF,CAOA,yJAKE,6CACF,CACA,yDAIE,8CACF,CACA,aACE,sDACF,C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gD,CAChD,qBAAsB,CAFtB,iBAGF,CACA,mEAEE,sCAAwC,CACxC,sBACF,CACA,kCACE,aAAc,CACd,yBACF,CACA,sEAGE,eAAgB,CADhB,aAAc,CAEd,yBACF,CACA,2CAEE,SACF,CACA,eACE,cACF,CACA,kBACE,cAAe,CACf,gBAAiB,CACjB,eACF,CACA,0BACE,cACF,CACA,kBAGE,cAAe,CACf,gBAAiB,CACjB,eAAgB,CAHhB,cAAe,CADf,aAKF,CACA,0BACE,cACF,CACA,gCACE,gBACF,CACA,kCACE,0BACF,CACA,sBAWE,oCAAsC,CALtC,uBAAwB,CADxB,iBAAkB,CAIlB,oDAA2D,CACnD,4CAAmD,CAH3D,UAAW,CANX,UAAW,CACX,oBAAqB,CAErB,UAAW,CAIX,gBAAiB,CALjB,SASF,CACA,kBACE,GACE,sBACF,CACA,GACE,uBACF,CACF,CCldA,SACE,YACF,CACA,eAEE,kBAAmB,CAEnB,iBAAkB,CAClB,oGAAmH,CAFnH,eAAgB,CAFhB,mBAKF,CACA,gBAEE,kBAAmB,CAInB,qBAAsB,CACtB,yBAA0B,CAC1B,qCAA0C,CAP1C,YAAa,CAQb,cAAe,CANf,eAAgB,CAChB,iBAAkB,CAClB,iBAKF,CACA,wBAEE,aAAc,CADd,iBAEF,CACA,mBAGE,aAAc,CACd,eAAiB,CAHjB,QAAS,CAIT,eAAgB,CAHhB,SAIF,CACA,8BAEE,aACF,CACA,cAEE,cAAe,CADf,gBAEF,CACA,gBACE,YAAa,CAEb,0BAA2B,CAD3B,eAEF,CACA,8BACE,iBACF,CC/CA,gDAEE,kBACF,CACA,yBACE,4BAA6B,CAE7B,kBAAmB,CACnB,qBACF,CACA,iCACE,cAAe,CACf,cACF,CACA,uBAEE,iBAAkB,CADlB,kBAAmB,CAEnB,kBACF,CACA,yCACE,aACF,CACA,yCACE,aACF,CACA,yCACE,aACF,CACA,wCACE,aACF,CACA,+CAEE,eAAgB,CADhB,cAAe,CAEf,WAAgB,CAChB,iBAAkB,CAClB,UAAW,CACX,QACF,CACA,4DAEE,YAAa,CAEb,kBAAmB,CADnB,gBAAiB,CAFjB,qBAIF,CACA,oEACE,cAAe,CACf,iBAAkB,CAClB,QACF,CACA,2EACE,cACF,CACA,0DAEE,eAAgB,CADhB,qBAEF,CACA,gDACE,iBACF,CACA,+DACE,iBACF,CC9DA,UAeE,kBAAmB,CAZnB,eAAgB,CAShB,iBAAkB,CARlB,UAAW,CAHX,oBAAqB,CAYrB,mBAAoB,CAJpB,cAAe,CAEf,WAAY,CAGZ,sBAAuB,CANvB,eAAgB,CADhB,iBAAkB,CALlB,iBAAkB,CAGlB,qBAAsB,CACtB,kBAAmB,CAInB,UAMF,CACA,oBACE,eACF,CACA,eAGE,cAAe,CAFf,WAAY,CACZ,UAEF,CACA,gBAGE,cAAe,CAFf,WAAY,CACZ,UAEF,CACA,gBAGE,cAAe,CAFf,WAAY,CACZ,UAEF,CACA,iBACE,iBACF,CACA,cAGE,aAAc,CADd,WAAY,CADZ,UAGF,CC1CA,YAEE,WAAY,CAEZ,cAAe,CAHf,cAAe,CAEf,UAAW,CAGX,iBAAkB,CADlB,YAEF,CACA,qBACE,WAAY,CACZ,eACF,CACA,iBAGE,QAAW,CADX,SAAU,CADV,iBAGF,CACA,iBACE,SACF,CCnBA,SAEE,oBAAqB,CACrB,aAAc,CAFd,iBAAkB,CAGlB,qBACF,CACA,2BAOE,kBAAmB,CAFnB,kBAAmB,CAWnB,yBAA0B,CAR1B,UAAW,CAOX,kBAAmB,CAHnB,cAAe,CARf,WAAY,CAKZ,gBAAiB,CAHjB,cAAe,CAKf,aAAc,CAVd,iBAAkB,CASlB,iBAAkB,CAPlB,SAAU,CADV,0BAA2B,CAY3B,4BAA6B,CAD7B,kBAIF,CACA,kCAEE,aAAc,CAGd,eAAgB,CAFhB,iBAAkB,CAFlB,QAAS,CAGT,wBAEF,CACA,iBAWE,kBAAmB,CADnB,kBAAmB,CAGnB,yBAA0B,CAR1B,iBAAkB,CAElB,UAAW,CAHX,eAAgB,CAKhB,SAAU,CARV,iBAAkB,CAKlB,QAAS,CAJT,0BAA2B,CAC3B,yBAA0B,CAK1B,SAAU,CAIV,UAEF,CACA,aAQE,iBAAkB,CADlB,oBAAqB,CAJrB,cAAe,CAGf,UAAW,CALX,mBAAoB,CAGpB,YAAa,CAMb,iBAAkB,CAClB,QAAS,CATT,uBAAwB,CAOxB,qBAAsB,CAJtB,SAOF,CACA,iCAEE,wBAAyB,CADzB,iBAEF,CACA,uCASE,qDAAsD,CAFtD,wBAAyB,CADzB,iBAAkB,CAElB,UAAW,CAHX,WAAY,CAFZ,MAAO,CAFP,iBAAkB,CAClB,KAAM,CAEN,UAMF,CACA,6BACE,GAEE,UAAY,CADZ,mBAEF,CACA,GAEE,SAAU,CADV,oBAEF,CACF,CCnFA,mBACE,mBACF,CACA,2GAIE,aAAc,CADd,gBAAiB,CADjB,iBAGF,CACA,6CAEE,4BAA6B,CAD7B,oBAEF,CACA,uDACE,YACF,CACA,mDACE,eACF,CACA,0DACE,YACF,CACA,0BACE,aACF,CCxBA,cACE,mBAAoB,CACpB,cACF,CCHA,oBACE,eAAgB,CAChB,4GACF,CACA,+BACE,yBACF,CACA,gCACE,yBACF,CACA,2CACE,2BACF,CACA,0BACE,SACF,CACA,2BACE,0BACF,CACA,kDACE,qDACF,CACA,iDACE,wEACF,CACA,0BACE,wHACF,CACA,+CACE,qFACF,CACA,2DACE,mFACF,CACA,6BACE,UACF,CACA,oCACE,uBAAyB,CACzB,yBACF,CACA,wCACE,yBACF,CACA,yCACE,yBACF,CC9CA,6BAKE,WAAY,CAGZ,WAAe,CALf,SAAU,CAGV,gBAAiB,CALjB,iBAAkB,CAGlB,UAAW,CAFX,QAAS,CAKT,UAEF,CACA,kDAEE,gBAAiB,CADjB,iBAEF,CACA,yDACE,YACF,CACA,gDACE,QACF,CACA,yDACE,yBACF,CACA,sDACE,4BACF,CACA,4DACE,4BACF,CACA,wDACE,4BACF,CACA,oDACE,8BACF,CACA,yDACE,6BACF,CACA,wDACE,0BACF,CACA,qDACE,6BACF,CACA,2DACE,6BACF,CACA,2DACE,yBACF,CACA,uDACE,2BACF,CACA,4DACE,0BACF,CACA,4BACE,kBACF,CC1DA,WAEE,oBAAqB,CACrB,SAAU,CAFV,iBAGF,CACA,iBAIE,wBAAyB,CADzB,WAAY,CAFZ,iBAAkB,CAClB,UAAW,CAGX,UACF,CACA,iBAKE,qBAAsB,CACtB,iBAAkB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aAAc,CADd,iBAEF,CACA,oBAGE,aAAc,CAFd,QAAS,CACT,SAEF,CACA,eACE,aAAc,CAEd,gBAAiB,CADjB,aAEF,CACA,iBAME,kBAAmB,CALnB,sCAA2C,CAI3C,YAAa,CAHb,eAAgB,CAChB,iBAAkB,CAClB,iBAGF,CACA,qBACE,YACF,CACA,mEAEE,MAAO,CACP,OACF,CACA,gCACE,KACF,CACA,mCACE,QACF,CACA,mEAEE,QAAS,CACT,KACF,CACA,kCACE,OACF,CACA,iCACE,MACF,CACA,6CACE,SACF,CACA,oDACE,4CACF,CACA,4CACE,SACF,CACA,mDACE,4CACF,CACA,mDACE,0BACF,CAIA,4GACE,uBACF,CACA,yDACE,0BACF,CACA,kDACE,2BACF,CAIA,0GACE,uBACF,CACA,wDACE,2BACF,CACA,iDACE,2BACF,CAIA,wGACE,uBACF,CACA,uDACE,2BACF,CACA,oDACE,0BACF,CAIA,8GACE,uBACF,CACA,0DACE,0BACF,CC7HA,SACE,aAAc,CACd,iBACF,CACA,qBACE,eACF,CACA,gBACE,eACF,CCTA,+CACE,sBAAuB,CACvB,QAAS,CACT,WAAY,CAEZ,WAAY,CADZ,iBAEF,CACA,+BACE,2BAA4B,CAC5B,wBAAyB,CACzB,6EACF,CACA,yBAQE,gBAAiB,CASjB,kBAAmB,CAfnB,wBAAyB,CACzB,6EAAuF,CAMvF,iBAAkB,CARlB,6CAAkD,CAGlD,aAAc,CAMd,gBAAiB,CACjB,wBAAyB,CAKzB,YAAa,CAHb,UAAW,CARX,eAAgB,CAOhB,cAAe,CAGf,OAAQ,CADR,iBAAkB,CARlB,sBAAuB,CACvB,kBAWF,CACA,mDAKE,QAAS,CAHT,aAAc,CACd,iBAAkB,CAClB,KAEF,CACA,kBACE,iBACF,CACA,sBAKE,wBAAyB,CACzB,yBAA0B,CAE1B,iBAAkB,CAClB,cAAe,CAEf,mBAAoB,CATpB,iBAAkB,CADlB,gBAAiB,CAMjB,eAAgB,CAKhB,iBAAkB,CATlB,iBAAkB,CAOlB,2BAA6B,CAN7B,kBASF,CACA,2BACE,qBAAsB,CAEtB,WAAY,CADZ,UAEF,CACA,+BAEE,WAAY,CADZ,UAEF,CACA,0BAOE,kBAAmB,CAInB,yBAA8B,CAC9B,iBAAkB,CANlB,YAAa,CADb,WAAY,CAGZ,sBAAuB,CANvB,MAAO,CAQP,SAAU,CATV,iBAAkB,CAElB,KAAM,CAMN,kBAAoB,CALpB,UASF,CACA,iCAME,cAAe,CAHf,YAAa,CADb,WAAY,CADZ,UAMF,CACA,uDAJE,kBAAmB,CACnB,sBAMF,CACA,sDACE,SACF,CACA,mDAEE,YAAa,CADb,WAEF,CACA,oDAEE,WAAY,CADZ,UAEF,CACA,mDAEE,WAAY,CADZ,UAEF,CACA,oDACE,iBACF,CACA,qDACE,iBACF,CACA,kBACE,kBAAmB,CACnB,UACF,CACA,0BAOE,kBAAmB,CAInB,yBAA8B,CAC9B,iBAAkB,CANlB,YAAa,CADb,WAAY,CAGZ,sBAAuB,CANvB,MAAO,CAQP,SAAU,CATV,iBAAkB,CAElB,KAAM,CAMN,kBAAoB,CALpB,UASF,CACA,iCAIE,kBAAmB,CAEnB,cAAe,CAHf,YAAa,CADb,WAAY,CAGZ,sBAAuB,CAJvB,UAMF,CACA,uDACE,SACF,CACA,0BAGE,kBAAmB,CAFnB,wBAAyB,CACzB,YAAa,CAGb,cAAe,CADf,WAEF,CACA,+BACE,iBAAkB,CAElB,eAAgB,CADhB,iBAEF,CACA,mCAGE,aAAc,CADd,WAAY,CADZ,UAGF,CACA,+BACE,QACF,CACA,+BAEE,cAAe,CADf,WAEF,CACA,gEAEE,WAAY,CADZ,UAEF,CACA,iEAEE,WAAY,CADZ,UAEF,CACA,gEAEE,WAAY,CADZ,UAEF,CACA,6DACE,iBACF,CACA,0DACE,kBACF,CACA,uBAGE,kBAAmB,CAFnB,4BAA6B,CAC7B,YAAa,CAEb,WAAY,CACZ,kBACF,CACA,6BACE,kBACF,CACA,mCACE,cACF,CACA,4BACE,QACF,CACA,4BAEE,cAAe,CADf,aAEF,CCzMA,OAEE,qBAAsB,CACtB,aAAc,CAEd,YAAa,CADb,WAAY,CAEZ,cAAe,CALf,WAMF,CACA,aACE,aACF,CACA,iBACE,qBACF,CACA,oBACE,iBACF,CACA,oBACE,mBACF,CACA,sBACE,mBACF,CACA,cACE,WACF,CACA,cACE,WACF,CACA,cACE,WACF,CACA,cACE,WACF,CACA,cACE,WACF,CACA,cACE,WACF,CACA,cACE,WACF,CACA,cACE,WACF,CACA,cACE,WACF,CACA,eACE,YACF,CACA,eACE,YACF,CACA,SACE,sBAAuB,CACvB,qBACF,CACA,SACE,sBAAuB,CACvB,qBACF,CACA,SACE,gBAAiB,CACjB,eACF,CACA,SACE,uBAAwB,CACxB,sBACF,CACA,SACE,uBAAwB,CACxB,sBACF,CACA,SACE,cAAe,CACf,aACF,CACA,SACE,uBAAwB,CACxB,sBACF,CACA,SACE,uBAAwB,CACxB,sBACF,CACA,SACE,gBAAiB,CACjB,eACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,cAAe,CACf,aACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,gBAAiB,CACjB,eACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,cAAe,CACf,aACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,gBAAiB,CACjB,eACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,eAAgB,CAChB,cACF,CCvJA,OACE,qBAAsB,CACtB,YAAa,CACb,aAAc,CACd,kBAAmB,CACnB,cACF,CACA,gCACE,0BACF,CACA,8BACE,wBACF,CACA,4BACE,sBACF,CACA,mCACE,6BACF,CACA,kCACE,4BACF,CACA,kCACE,4BACF,CACA,iBACE,sBACF,CACA,oBACE,kBACF,CACA,oBACE,oBACF,CACA,sBACE,oBACF,CCpCA,aACE,kBACF,CACA,iEAEE,aACF,CACA,wbAWE,4FACF,CACA,gEACE,yBACF,CACA,cAIE,cAAe,CADf,eAAgB,CAFhB,gBAAiB,CACjB,eAAgB,CAGhB,iBACF,CACA,oBACE,oBACF,CACA,YACE,kBAAmB,CACnB,YACF,CACA,aACE,aAAc,CACd,cAAe,CACf,eACF,CCzCA,iBAGE,cAAe,CAFf,QAAS,CACT,SAEF,CCJA,QASE,qBAAsB,CALtB,qBAAsB,CADtB,aAAc,CAFd,cAAe,CACf,eAAgB,CAKhB,eAAgB,CAFhB,QAAS,CACT,SAAU,CAEV,iBAAkB,CAElB,kBACF,CACA,mDAGE,2BAAgC,CADhC,mCAEF,CACA,iBACE,wBAAyB,CACzB,iBACF,CACA,yCACE,eAAgB,CAChB,yBACF,CACA,aAEE,kBAAmB,CADnB,YAEF,CACA,wBAIE,aAAc,CAHd,kBAAmB,CAEnB,mBAAoB,CADpB,oBAGF,CACA,sBACE,kBAAmB,CACnB,aACF,CACA,kBACE,aAAc,CACd,QACF,CACA,mBACE,gBACF,CACA,cAEE,aAAc,CADd,aAEF,CAIA,kFACE,kBACF,CACA,8DAEE,+BACF,CACA,2CAGE,iBACF,CACA,oGAGE,gBACF,CACA,oGAGE,iBACF,CC1EA,sBAEE,qBACF,CACA,UAKE,kBAAmB,CAJnB,YAAa,CACb,SAAU,CACV,qBAAsB,CAGtB,QAAS,CAFT,YAAa,CAGb,SACF,CACA,sFAEE,OACF,CACA,kCAEE,aACF,CACA,iBAKE,kBAAmB,CAFnB,qBAA0B,CAF1B,WAAY,CAGZ,gBAAiB,CAFjB,cAIF,CACA,iBAIE,kBAAmB,CAFnB,qBAA0B,CAC1B,cAAe,CAFf,iBAIF,CACA,kBACE,SACF,CACA,6BACE,kBACF,CACA,gBAGE,kBAAmB,CADnB,WAAY,CADZ,iBAAkB,CAGlB,kBACF,CC7CA,UAEE,oBAAqB,CADrB,iBAEF,CACA,0BAKE,iBAAkB,CAFlB,yCAA0C,CAF1C,WAAY,CAGZ,8BAA+B,CAE/B,qBAAsB,CAJtB,UAKF,CACA,iCACE,sBAAwB,CACxB,mBAAoB,CAEpB,oBAAqB,CADrB,kFAEF,CACA,0CAEE,WAAY,CADZ,UAEF,CACA,iDACE,gBACF,CACA,4CAEE,WAAY,CADZ,UAEF,CACA,0CAEE,WAAY,CADZ,UAEF,CACA,eAEE,iBAAmB,CADnB,UAAY,CAEZ,eACF,CACA,eACE,iDACF,CACA,sBAEE,oBAAqB,CADrB,qBAEF,CACA,eACE,aAAc,CAMd,eAAgB,CAHhB,WAAY,CADZ,iBAAkB,CADlB,iBAAkB,CAGlB,UAAW,CACX,SAEF,CACA,sBACE,WAAY,CACZ,oBAAqB,CACrB,WAAY,CAEZ,qBAAsB,CADtB,UAEF,CACA,gCACE,iBACF,CACA,eACE,oBAAqB,CACrB,eAAgB,CAChB,qBACF,CACA,mBACE,aAAc,CACd,aAAc,CACd,cACF,CACA,qBAIE,QAAW,CACX,MAAS,CAJT,cAAe,CAEf,OAAU,CADV,KAAQ,CAIR,aACF,CACA,wBACE,GACE,uBACF,CACF,CACA,sBACE,GACE,sBAAwB,CACxB,mBACF,CACA,IACE,uBAAyB,CACzB,qBACF,CACA,GACE,uBAAyB,CACzB,sBACF,CACF,CACA,uBACE,MAEE,mBACF,CACA,QAEE,mBACF,CACF,CC9GA,WAGE,cAAe,CAFf,iBAAkB,CAClB,iBAEF,CACA,sBACE,eACF,CACA,wCAEE,aACF,CACA,mBACE,iBACF,CACA,uBACE,qBACF,CACA,iBACE,qBACF,CACA,qCACE,cACF,CACA,8CACE,cACF,CACA,kGAEE,iBACF,CACA,gBACE,iBACF,CACA,mBACE,kBAAmB,CACnB,aACF,CACA,kBACE,iBAAkB,CAClB,UAAW,CACX,QACF,CACA,wBAIE,qBAA0B,CAD1B,eAAgB,CADhB,cAAe,CADf,WAIF,CACA,8BACE,8CACF,CACA,+BACE,yCACF,CACA,mBACE,kBAAmB,CACnB,aACF,CACA,gBACE,kBAAmB,CACnB,aACF,CACA,iBACE,kBAAmB,CACnB,aACF,CACA,mBAEE,SAAU,CACV,iBAAkB,CAFlB,QAGF,CACA,iBAEE,SAAU,CADV,oBAEF,CAMA,wCACE,SAAU,CACV,mBAAoB,CACpB,8CACF,CACA,uBAEE,SAAU,CADV,oBAEF,CCzFA,eACE,oBACF,CACA,uBAIE,cAAe,CACf,gBAAiB,CAFjB,eAAgB,CADhB,eAAgB,CADhB,WAKF,CACA,iDACE,sBACF,CACA,wCAEE,aAAc,CACd,cAAe,CAFf,YAAmB,CAAnB,eAGF,CACA,8CACE,aACF,CACA,6FAEE,sCACF,CCxBA,UACE,2BAA6B,CAC7B,YACF,CACA,mEACE,wBACF,CACA,kEAEE,eAAgB,CADhB,cAAe,CAEf,WACF,CACA,+GAGE,iBAAkB,CADlB,UAAW,CADX,QAGF,CACA,sGACE,kBACF,CACA,+EACE,gBACF,CACA,sFAGE,iBAAkB,CADlB,SAAU,CADV,OAGF,CACA,kFACE,iBAAkB,CAClB,kBACF,CACA,6EAEE,WAAa,CADb,iBAEF,CACA,2GACE,gBACF,CACA,sGACE,iBACF,CACA,4GACE,YACF,CACA,mFACE,gBACF,CACA,mGACE,gBACF,CACA,2GACE,wBACF,CACA,mFACE,iBACF,CACA,+CACE,UACF,CACA,kBAEE,WAAY,CADZ,cAAe,CAEf,WACF,CACA,0BAEE,MAAO,CADP,KAEF,CACA,2BAEE,OAAQ,CADR,KAEF,CACA,6BACE,QAAS,CACT,MACF,CACA,8BACE,QAAS,CACT,OACF,CChFA,UAGE,uBAAwB,CAChB,oBAAgB,CAAhB,eAAgB,CAaxB,wBAAyB,CACzB,yiBAA8xB,CAE9xB,0CAA6C,CAD7C,kCAAoC,CAEpC,+BAAkC,CAPlC,WAAY,CAEZ,iBAAkB,CADlB,6EAAuF,CAFvF,qBAAsB,CAPtB,aAAc,CADd,cAAe,CAJf,mBAAoB,CACpB,cAAe,CASf,gBAAiB,CADjB,QAAS,CADT,cAAe,CAFf,yBAA0B,CAK1B,qBAAsB,CAJtB,UAcF,CACA,gBACE,sBACF,CACA,gBAEE,2BAA4B,CAC5B,wBAAyB,CAFzB,6EAGF,CACA,mBAIE,qBAAyB,CAFzB,4eAAutB,CACvtB,+BAAkC,CAFlC,eAAgB,CAKhB,aAAc,CACd,kBAAmB,CAFnB,WAAa,CAGb,WACF,CACA,gBAEE,cAAe,CADf,yBAEF,CACA,gBAEE,cAAe,CADf,wBAEF,CChDA,cAME,cAAe,CAJf,kBAAoB,CADpB,mBAAqB,CAErB,iBAAkB,CAClB,wBAAyB,CACjB,qBAAiB,CAAjB,gBAEV,CACA,mBACE,eACF,CACA,qBACE,iBACF,CACA,oBACE,gBACF,CACA,iBAWE,kBAAmB,CALnB,cAAe,CACf,6BAA+B,CAG/B,mBAAoB,CATpB,WAAY,CACZ,gBAAiB,CAOjB,kBAAoB,CAJpB,iBAAkB,CADlB,iBAAkB,CAIlB,8DAAkE,CALlE,qBASF,CACA,mBAEE,oBAAyB,CAGzB,aAAc,CADd,aAAc,CAHd,oBAAqB,CAErB,eAGF,CACA,yBACE,aACF,CACA,+DAOE,wBAAyB,CADzB,iBAAkB,CAJlB,UAAW,CACX,aAAc,CACd,UAAW,CAIX,kBAAoB,CAHpB,SAIF,CACA,+BACE,eACF,CACA,yEAEE,wBACF,CACA,yEAEE,uBACF,CACA,0BACE,kBACF,CACA,iFAEE,kBACF,CACA,uBAGE,iBAAkB,CAFlB,WAAY,CACZ,gBAEF,CACA,yBACE,YAAa,CACb,cACF,CACA,2EAEE,eACF,CACA,8BACE,wBACF,CACA,4CACE,aACF,CACA,yBACE,eAAgB,CAChB,wBAAyB,CACzB,aACF,CACA,2DACE,wBACF,CACA,+CACE,gDACF,CACA,qCACE,6BAA8B,CAC9B,yBACF,CACA,oCACE,yBACF,CACA,gCACE,wBACF,CACA,uCACE,kCACF,CACA,oCAEE,wBAAyB,CADzB,yBAEF,CACA,iCACE,iBACF,CACA,sBACE,yBACF,CACA,gCACE,qBAAuB,CAGvB,yBAA2B,CAC3B,WAAY,CAFZ,gBAAiB,CADjB,aAIF,CC/HA,YACE,YACF,CACA,oCACE,eACF,CACA,kBACE,UACF,CACA,wBAGE,cAAe,CACf,eAAiB,CAFjB,mBAAqB,CADrB,iBAIF,CACA,oCACE,UACF,CACA,0CACE,cACF,CACA,oCACE,UACF,CACA,0CACE,cACF,CC1BA,YACE,iBAGF,CACA,6BAFE,oBAAqB,CADrB,aASF,CANA,iBACE,aAAc,CAGd,gBAAiB,CADjB,qBAGF,CCXA,oCAQE,cAAe,CALf,MAAO,CAGP,QAAS,CALT,iBAAkB,CAIlB,iBAAkB,CAHlB,OAAQ,CAKR,0BAA6B,CAH7B,UAKF,CACA,kBACE,cACF,CACA,mBACE,cACF,CACA,8CACE,cACF,CACA,gDACE,cACF,CCrBA,iBAEE,cAAe,CADf,UAEF,CACA,iCAEE,qBACF,CACA,gBACE,oBAAqB,CAErB,qBAAsB,CADtB,UAEF,CACA,yCAGE,iDAAkD,CAFlD,qKAAqM,CACrM,yBAEF,CACA,gDAUE,mEAAyE,CAFzE,eAAgB,CAChB,kBAAmB,CAFnB,QAAS,CANT,WAAY,CAIZ,MAAO,CAHP,SAAU,CACV,iBAAkB,CAGlB,OAAQ,CAFR,KAOF,CACA,4CACE,wBACF,CACA,8CACE,aACF,CACA,0CACE,wBACF,CACA,4CACE,aACF,CACA,sCACE,kBAAmB,CACnB,kBACF,CACA,kBAIE,wBAAyB,CADzB,mBAAoB,CAFpB,WAAY,CAIZ,eAAgB,CAHhB,UAIF,CACA,eAGE,wBAAyB,CADzB,mBAAoB,CADpB,WAAY,CAIZ,iBAAkB,CADlB,iDAEF,CACA,gCACE,GACE,uBACF,CACA,GACE,0BACF,CACF,CACA,6BACE,GACE,UAAY,CACZ,OACF,CACA,IACE,UAAY,CACZ,OACF,CACA,GACE,SAAU,CACV,UACF,CACF,CCjFA,QAKE,oBAAqB,CADrB,gBAAiB,CADjB,cAAe,CADf,gBAAiB,CADjB,iBAAkB,CAKlB,qBACF,CACA,kBACE,eACF,CACA,WACE,aACF,CACA,wBAEE,cAAe,CAEf,oBAAqB,CADrB,iBAEF,CACA,cAKE,aAAc,CACd,YAAa,CAJb,gBAAiB,CACjB,iBAAkB,CAClB,8BAAkC,CAHlC,SAMF,CACA,kBACE,cACF,CACA,oDAIE,aAAc,CADd,oBAEF,CACA,gCACE,eAAgB,CAChB,SACF,CCxCA,OACE,iBAAkB,CAClB,oBAAqB,CAGrB,cAAe,CACf,eAAgB,CAChB,iBAAkB,CAJlB,wBAAyB,CACjB,qBAAiB,CAAjB,gBAAiB,CAKzB,qBAAsB,CADtB,kBAEF,CACA,cACE,eACF,CACA,gBAEE,kBAAmB,CADnB,WAEF,CACA,gCACE,6BACF,CACA,qCACE,SACF,CACA,iCACE,gCACF,CACA,aAME,iBAAkB,CAHl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","sources":["../../node_modules/@uiw/react-markdown-preview/esm/styles/markdown.css","../../node_modules/@uiw/react-overlay/esm/style/index.css","../../node_modules/@uiw/react-icon/esm/style/index.css","../../node_modules/@uiw/react-button/esm/style/index.css","../../node_modules/@uiw/react-modal/esm/style/index.css","../../node_modules/@uiw/react-alert/esm/style/index.css","../../node_modules/@uiw/react-avatar/esm/style/index.css","../../node_modules/@uiw/react-back-top/esm/style/index.css","../../node_modules/@uiw/react-badge/esm/style/index.css","../../node_modules/@uiw/react-breadcrumb/esm/style/item.css","../../node_modules/@uiw/react-breadcrumb/esm/style/index.css","../../node_modules/@uiw/react-button-group/esm/style/index.css","../../node_modules/@uiw/react-overlay-trigger/esm/style/index.css","../../node_modules/@uiw/react-popover/esm/style/index.css","../../node_modules/@uiw/react-input/esm/style/input.css","../../node_modules/@uiw/react-time-picker/esm/style/time-picker.css","../../node_modules/@uiw/react-time-picker/esm/style/index.css","../../node_modules/@uiw/react-date-picker/esm/style/day.css","../../node_modules/@uiw/react-date-picker/esm/style/year-month.css","../../node_modules/@uiw/react-date-picker/esm/style/caption.css","../../node_modules/@uiw/react-date-picker/esm/style/index.css","../../node_modules/@uiw/react-calendar/esm/style/index.css","../../node_modules/@uiw/react-card/esm/style/index.css","../../node_modules/@uiw/react-carousel/esm/style/index.css","../../node_modules/@uiw/react-menu/esm/style/item.css","../../node_modules/@uiw/react-menu/esm/style/submenu.css","../../node_modules/@uiw/react-menu/esm/style/menu.css","../../node_modules/@uiw/react-cascader/esm/style/index.css","../../node_modules/@uiw/react-radio/esm/style/index.css","../../node_modules/@uiw/react-radio/esm/style/group.css","../../node_modules/@uiw/react-checkbox/esm/style/index.css","../../node_modules/@uiw/react-collapse/esm/style/index.css","../../node_modules/@uiw/react-copy-to-clipboard/esm/style/index.css","../../node_modules/@uiw/react-date-input/esm/style/date-input-range.css","../../node_modules/@uiw/react-date-input/esm/style/index.css","../../node_modules/@uiw/react-descriptions/esm/style/index.css","../../node_modules/@uiw/react-divider/esm/style/index.css","../../node_modules/@uiw/react-drawer/esm/style/index.css","../../node_modules/@uiw/react-empty/esm/style/index.css","../../node_modules/@uiw/react-file-input/esm/style/index.css","../../node_modules/@uiw/react-grid/esm/style/col.css","../../node_modules/@uiw/react-grid/esm/style/row.css","../../node_modules/@uiw/react-form/esm/style/form-item.css","../../node_modules/@uiw/react-form/esm/style/form.css","../../node_modules/@uiw/react-list/esm/style/index.css","../../node_modules/@uiw/react-layout/esm/style/index.css","../../node_modules/@uiw/react-loader/esm/style/index.css","../../node_modules/@uiw/react-message/esm/style/index.css","../../node_modules/@uiw/react-month-picker/esm/style/index.css","../../node_modules/@uiw/react-notify/esm/style/index.css","../../node_modules/@uiw/react-select/esm/style/index.css","../../node_modules/@uiw/react-pagination/esm/style/index.css","../../node_modules/@uiw/react-pin-code/esm/style/input.css","../../node_modules/@uiw/react-progress/esm/style/index.css","../../node_modules/@uiw/react-progress/esm/style/circle.css","../../node_modules/@uiw/react-progress/esm/style/line.css","../../node_modules/@uiw/react-rate/esm/style/index.css","../../node_modules/@uiw/react-tag/esm/style/index.css","../../node_modules/@uiw/react-search-select/esm/style/index.css","../../node_modules/uiw/node_modules/@uiw/react-split/esm/style/index.css","../../node_modules/@uiw/react-steps/esm/style/index.css","../../node_modules/@uiw/react-slider/esm/style/index.css","../../node_modules/@uiw/react-switch/esm/style/index.css","../../node_modules/@uiw/react-table/esm/style/index.css","../../node_modules/@uiw/react-tabs/esm/style/index.css","../../node_modules/@uiw/react-textarea/esm/style/index.css","../../node_modules/@uiw/react-tooltip/esm/style/index.css","../../node_modules/@uiw/react-tree/esm/style/index.css","../../node_modules/@uiw/react-tree-checked/esm/style/index.css","../../node_modules/@uiw/react-search-tree/esm/style/index.css","../../node_modules/@uiw/react-transfer/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .wmde-markdown,\n .wmde-markdown-var {\n color-scheme: dark;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-storage-modifier-import: #c9d1d9;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-variable: #ffa657;\n --color-prettylights-syntax-brackethighlighter-unmatched: #f85149;\n --color-prettylights-syntax-invalid-illegal-text: #f0f6fc;\n --color-prettylights-syntax-invalid-illegal-bg: #8e1519;\n --color-prettylights-syntax-carriage-return-text: #f0f6fc;\n --color-prettylights-syntax-carriage-return-bg: #b62324;\n --color-prettylights-syntax-string-regexp: #7ee787;\n --color-prettylights-syntax-markup-list: #f2cc60;\n --color-prettylights-syntax-markup-heading: #1f6feb;\n --color-prettylights-syntax-markup-italic: #c9d1d9;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n --color-prettylights-syntax-markup-deleted-text: #ffdcd7;\n --color-prettylights-syntax-markup-deleted-bg: #67060c;\n --color-prettylights-syntax-markup-inserted-text: #aff5b4;\n --color-prettylights-syntax-markup-inserted-bg: #033a16;\n --color-prettylights-syntax-markup-changed-text: #ffdfb6;\n --color-prettylights-syntax-markup-changed-bg: #5a1e02;\n --color-prettylights-syntax-markup-ignored-text: #c9d1d9;\n --color-prettylights-syntax-markup-ignored-bg: #1158c7;\n --color-prettylights-syntax-meta-diff-range: #d2a8ff;\n --color-prettylights-syntax-brackethighlighter-angle: #8b949e;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant-other-reference-link: #a5d6ff;\n --color-fg-default: #c9d1d9;\n --color-fg-muted: #8b949e;\n --color-fg-subtle: #484f58;\n --color-canvas-default: #0d1117;\n --color-canvas-subtle: #161b22;\n --color-border-default: #30363d;\n --color-border-muted: #21262d;\n --color-neutral-muted: rgba(110, 118, 129, 0.4);\n --color-accent-fg: #58a6ff;\n --color-accent-emphasis: #1f6feb;\n --color-attention-subtle: rgba(187, 128, 9, 0.15);\n --color-danger-fg: #f85149;\n }\n}\n@media (prefers-color-scheme: light) {\n .wmde-markdown,\n .wmde-markdown-var {\n color-scheme: light;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-storage-modifier-import: #24292f;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-variable: #953800;\n --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;\n --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;\n --color-prettylights-syntax-invalid-illegal-bg: #82071e;\n --color-prettylights-syntax-carriage-return-text: #f6f8fa;\n --color-prettylights-syntax-carriage-return-bg: #cf222e;\n --color-prettylights-syntax-string-regexp: #116329;\n --color-prettylights-syntax-markup-list: #3b2300;\n --color-prettylights-syntax-markup-heading: #0550ae;\n --color-prettylights-syntax-markup-italic: #24292f;\n --color-prettylights-syntax-markup-bold: #24292f;\n --color-prettylights-syntax-markup-deleted-text: #82071e;\n --color-prettylights-syntax-markup-deleted-bg: #ffebe9;\n --color-prettylights-syntax-markup-inserted-text: #116329;\n --color-prettylights-syntax-markup-inserted-bg: #dafbe1;\n --color-prettylights-syntax-markup-changed-text: #953800;\n --color-prettylights-syntax-markup-changed-bg: #ffd8b5;\n --color-prettylights-syntax-markup-ignored-text: #eaeef2;\n --color-prettylights-syntax-markup-ignored-bg: #0550ae;\n --color-prettylights-syntax-meta-diff-range: #8250df;\n --color-prettylights-syntax-brackethighlighter-angle: #57606a;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant-other-reference-link: #0a3069;\n --color-fg-default: #24292f;\n --color-fg-muted: #57606a;\n --color-fg-subtle: #6e7781;\n --color-canvas-default: #ffffff;\n --color-canvas-subtle: #f6f8fa;\n --color-border-default: #d0d7de;\n --color-border-muted: hsl(210, 18%, 87%);\n --color-neutral-muted: rgba(175, 184, 193, 0.2);\n --color-accent-fg: #0969da;\n --color-accent-emphasis: #0969da;\n --color-attention-subtle: #fff8c5;\n --color-danger-fg: #cf222e;\n }\n}\n[data-color-mode*='dark'] .wmde-markdown,\n[data-color-mode*='dark'] .wmde-markdown-var,\n.wmde-markdown-var[data-color-mode*='dark'],\n.wmde-markdown[data-color-mode*='dark'],\nbody[data-color-mode*='dark'] {\n color-scheme: dark;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-storage-modifier-import: #c9d1d9;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-variable: #ffa657;\n --color-prettylights-syntax-brackethighlighter-unmatched: #f85149;\n --color-prettylights-syntax-invalid-illegal-text: #f0f6fc;\n --color-prettylights-syntax-invalid-illegal-bg: #8e1519;\n --color-prettylights-syntax-carriage-return-text: #f0f6fc;\n --color-prettylights-syntax-carriage-return-bg: #b62324;\n --color-prettylights-syntax-string-regexp: #7ee787;\n --color-prettylights-syntax-markup-list: #f2cc60;\n --color-prettylights-syntax-markup-heading: #1f6feb;\n --color-prettylights-syntax-markup-italic: #c9d1d9;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n --color-prettylights-syntax-markup-deleted-text: #ffdcd7;\n --color-prettylights-syntax-markup-deleted-bg: #67060c;\n --color-prettylights-syntax-markup-inserted-text: #aff5b4;\n --color-prettylights-syntax-markup-inserted-bg: #033a16;\n --color-prettylights-syntax-markup-changed-text: #ffdfb6;\n --color-prettylights-syntax-markup-changed-bg: #5a1e02;\n --color-prettylights-syntax-markup-ignored-text: #c9d1d9;\n --color-prettylights-syntax-markup-ignored-bg: #1158c7;\n --color-prettylights-syntax-meta-diff-range: #d2a8ff;\n --color-prettylights-syntax-brackethighlighter-angle: #8b949e;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant-other-reference-link: #a5d6ff;\n --color-fg-default: #c9d1d9;\n --color-fg-muted: #8b949e;\n --color-fg-subtle: #484f58;\n --color-canvas-default: #0d1117;\n --color-canvas-subtle: #161b22;\n --color-border-default: #30363d;\n --color-border-muted: #21262d;\n --color-neutral-muted: rgba(110, 118, 129, 0.4);\n --color-accent-fg: #58a6ff;\n --color-accent-emphasis: #1f6feb;\n --color-attention-subtle: rgba(187, 128, 9, 0.15);\n --color-danger-fg: #f85149;\n}\n[data-color-mode*='light'] .wmde-markdown,\n[data-color-mode*='light'] .wmde-markdown-var,\n.wmde-markdown-var[data-color-mode*='light'],\n.wmde-markdown[data-color-mode*='light'],\nbody[data-color-mode*='light'] {\n color-scheme: light;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-storage-modifier-import: #24292f;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-variable: #953800;\n --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;\n --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;\n --color-prettylights-syntax-invalid-illegal-bg: #82071e;\n --color-prettylights-syntax-carriage-return-text: #f6f8fa;\n --color-prettylights-syntax-carriage-return-bg: #cf222e;\n --color-prettylights-syntax-string-regexp: #116329;\n --color-prettylights-syntax-markup-list: #3b2300;\n --color-prettylights-syntax-markup-heading: #0550ae;\n --color-prettylights-syntax-markup-italic: #24292f;\n --color-prettylights-syntax-markup-bold: #24292f;\n --color-prettylights-syntax-markup-deleted-text: #82071e;\n --color-prettylights-syntax-markup-deleted-bg: #ffebe9;\n --color-prettylights-syntax-markup-inserted-text: #116329;\n --color-prettylights-syntax-markup-inserted-bg: #dafbe1;\n --color-prettylights-syntax-markup-changed-text: #953800;\n --color-prettylights-syntax-markup-changed-bg: #ffd8b5;\n --color-prettylights-syntax-markup-ignored-text: #eaeef2;\n --color-prettylights-syntax-markup-ignored-bg: #0550ae;\n --color-prettylights-syntax-meta-diff-range: #8250df;\n --color-prettylights-syntax-brackethighlighter-angle: #57606a;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant-other-reference-link: #0a3069;\n --color-fg-default: #24292f;\n --color-fg-muted: #57606a;\n --color-fg-subtle: #6e7781;\n --color-canvas-default: #ffffff;\n --color-canvas-subtle: #f6f8fa;\n --color-border-default: #d0d7de;\n --color-border-muted: hsl(210, 18%, 87%);\n --color-neutral-muted: rgba(175, 184, 193, 0.2);\n --color-accent-fg: #0969da;\n --color-accent-emphasis: #0969da;\n --color-attention-subtle: #fff8c5;\n --color-danger-fg: #cf222e;\n}\n.wmde-markdown {\n -webkit-text-size-adjust: 100%;\n font-family: -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';\n font-size: 16px;\n line-height: 1.5;\n word-wrap: break-word;\n color: var(--color-fg-default);\n background-color: var(--color-canvas-default);\n}\n.wmde-markdown details,\n.wmde-markdown figcaption,\n.wmde-markdown figure {\n display: block;\n}\n.wmde-markdown summary {\n display: list-item;\n}\n.wmde-markdown [hidden] {\n display: none !important;\n}\n.wmde-markdown a {\n background-color: transparent;\n color: var(--color-accent-fg);\n text-decoration: none;\n}\n.wmde-markdown a:active,\n.wmde-markdown a:hover {\n outline-width: 0;\n}\n.wmde-markdown abbr[title] {\n border-bottom: none;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n.wmde-markdown b,\n.wmde-markdown strong {\n font-weight: 600;\n}\n.wmde-markdown dfn {\n font-style: italic;\n}\n.wmde-markdown h1 {\n margin: 0.67em 0;\n font-weight: 600;\n padding-bottom: 0.3em;\n font-size: 2em;\n border-bottom: 1px solid var(--color-border-muted);\n}\n.wmde-markdown mark {\n background-color: var(--color-attention-subtle);\n color: var(--color-text-primary);\n}\n.wmde-markdown small {\n font-size: 90%;\n}\n.wmde-markdown sub,\n.wmde-markdown sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n.wmde-markdown sub {\n bottom: -0.25em;\n}\n.wmde-markdown sup {\n top: -0.5em;\n}\n.wmde-markdown img {\n display: inline-block;\n border-style: none;\n max-width: 100%;\n box-sizing: content-box;\n background-color: var(--color-canvas-default);\n}\n.wmde-markdown code,\n.wmde-markdown kbd,\n.wmde-markdown pre,\n.wmde-markdown samp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n.wmde-markdown figure {\n margin: 1em 40px;\n}\n.wmde-markdown hr {\n box-sizing: content-box;\n overflow: hidden;\n background: transparent;\n border: 0;\n border-bottom: 1px solid var(--color-border-muted);\n height: 0.25em;\n padding: 0;\n margin: 24px 0;\n background-color: var(--color-border-default);\n}\n.wmde-markdown input {\n font: inherit;\n margin: 0;\n overflow: visible;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n.wmde-markdown [type='button'],\n.wmde-markdown [type='reset'],\n.wmde-markdown [type='submit'] {\n -webkit-appearance: button;\n}\n.wmde-markdown [type='button']::-moz-focus-inner,\n.wmde-markdown [type='reset']::-moz-focus-inner,\n.wmde-markdown [type='submit']::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n.wmde-markdown [type='button']:-moz-focusring,\n.wmde-markdown [type='reset']:-moz-focusring,\n.wmde-markdown [type='submit']:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n.wmde-markdown [type='checkbox'],\n.wmde-markdown [type='radio'] {\n box-sizing: border-box;\n padding: 0;\n}\n.wmde-markdown [type='number']::-webkit-inner-spin-button,\n.wmde-markdown [type='number']::-webkit-outer-spin-button {\n height: auto;\n}\n.wmde-markdown [type='search'] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n.wmde-markdown [type='search']::-webkit-search-cancel-button,\n.wmde-markdown [type='search']::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n.wmde-markdown ::-webkit-input-placeholder {\n color: inherit;\n opacity: 0.54;\n}\n.wmde-markdown ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n.wmde-markdown a:hover {\n text-decoration: underline;\n}\n.wmde-markdown hr::before {\n display: table;\n content: '';\n}\n.wmde-markdown hr::after {\n display: table;\n clear: both;\n content: '';\n}\n.wmde-markdown table {\n border-spacing: 0;\n border-collapse: collapse;\n display: block;\n width: -webkit-max-content;\n width: max-content;\n max-width: 100%;\n}\n.wmde-markdown td,\n.wmde-markdown th {\n padding: 0;\n}\n.wmde-markdown details summary {\n cursor: pointer;\n}\n.wmde-markdown details:not([open]) > *:not(summary) {\n display: none !important;\n}\n.wmde-markdown kbd {\n display: inline-block;\n padding: 3px 5px;\n font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n line-height: 10px;\n color: var(--color-fg-default);\n vertical-align: middle;\n background-color: var(--color-canvas-subtle);\n border: solid 1px var(--color-neutral-muted);\n border-bottom-color: var(--color-neutral-muted);\n border-radius: 6px;\n box-shadow: inset 0 -1px 0 var(--color-neutral-muted);\n}\n.wmde-markdown h1,\n.wmde-markdown h2,\n.wmde-markdown h3,\n.wmde-markdown h4,\n.wmde-markdown h5,\n.wmde-markdown h6 {\n margin-top: 24px;\n margin-bottom: 16px;\n font-weight: 600;\n line-height: 1.25;\n}\n.wmde-markdown td,\n.wmde-markdown th {\n padding: 0;\n}\n.wmde-markdown details summary {\n cursor: pointer;\n}\n.wmde-markdown details:not([open]) > *:not(summary) {\n display: none !important;\n}\n.wmde-markdown kbd {\n display: inline-block;\n padding: 3px 5px;\n font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n line-height: 10px;\n color: var(--color-fg-default);\n vertical-align: middle;\n background-color: var(--color-canvas-subtle);\n border: solid 1px var(--color-neutral-muted);\n border-bottom-color: var(--color-neutral-muted);\n border-radius: 6px;\n box-shadow: inset 0 -1px 0 var(--color-neutral-muted);\n}\n.wmde-markdown h1,\n.wmde-markdown h2,\n.wmde-markdown h3,\n.wmde-markdown h4,\n.wmde-markdown h5,\n.wmde-markdown h6 {\n margin-top: 24px;\n margin-bottom: 16px;\n font-weight: 600;\n line-height: 1.25;\n}\n.wmde-markdown h2 {\n font-weight: 600;\n padding-bottom: 0.3em;\n font-size: 1.5em;\n border-bottom: 1px solid var(--color-border-muted);\n}\n.wmde-markdown h3 {\n font-weight: 600;\n font-size: 1.25em;\n}\n.wmde-markdown h4 {\n font-weight: 600;\n font-size: 1em;\n}\n.wmde-markdown h5 {\n font-weight: 600;\n font-size: 0.875em;\n}\n.wmde-markdown h6 {\n font-weight: 600;\n font-size: 0.85em;\n color: var(--color-fg-muted);\n}\n.wmde-markdown p {\n margin-top: 0;\n margin-bottom: 10px;\n}\n.wmde-markdown blockquote {\n margin: 0;\n padding: 0 1em;\n color: var(--color-fg-muted);\n border-left: 0.25em solid var(--color-border-default);\n}\n.wmde-markdown ul,\n.wmde-markdown ol {\n margin-top: 0;\n margin-bottom: 0;\n padding-left: 2em;\n}\n.wmde-markdown ol ol,\n.wmde-markdown ul ol {\n list-style-type: lower-roman;\n}\n.wmde-markdown ul ul ol,\n.wmde-markdown ul ol ol,\n.wmde-markdown ol ul ol,\n.wmde-markdown ol ol ol {\n list-style-type: lower-alpha;\n}\n.wmde-markdown dd {\n margin-left: 0;\n}\n.wmde-markdown tt,\n.wmde-markdown code {\n font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n font-size: 12px;\n}\n.wmde-markdown pre {\n margin-top: 0;\n margin-bottom: 0;\n font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n font-size: 12px;\n word-wrap: normal;\n}\n.wmde-markdown .octicon {\n display: inline-block;\n overflow: visible !important;\n vertical-align: text-bottom;\n fill: currentColor;\n}\n.wmde-markdown ::-webkit-input-placeholder {\n color: var(--color-fg-subtle);\n opacity: 1;\n}\n.wmde-markdown ::placeholder {\n color: var(--color-fg-subtle);\n opacity: 1;\n}\n.wmde-markdown input::-webkit-outer-spin-button,\n.wmde-markdown input::-webkit-inner-spin-button {\n margin: 0;\n -webkit-appearance: none;\n appearance: none;\n}\n.wmde-markdown [data-catalyst] {\n display: block;\n}\n.wmde-markdown::before {\n display: table;\n content: '';\n}\n.wmde-markdown::after {\n display: table;\n clear: both;\n content: '';\n}\n.wmde-markdown > *:first-child {\n margin-top: 0 !important;\n}\n.wmde-markdown > *:last-child {\n margin-bottom: 0 !important;\n}\n.wmde-markdown a:not([href]) {\n color: inherit;\n text-decoration: none;\n}\n.wmde-markdown .absent {\n color: var(--color-danger-fg);\n}\n.wmde-markdown a.anchor {\n float: left;\n padding-right: 4px;\n margin-left: -20px;\n line-height: 1;\n}\n.wmde-markdown .anchor:focus {\n outline: none;\n}\n.wmde-markdown p,\n.wmde-markdown blockquote,\n.wmde-markdown ul,\n.wmde-markdown ol,\n.wmde-markdown dl,\n.wmde-markdown table,\n.wmde-markdown pre,\n.wmde-markdown details {\n margin-top: 0;\n margin-bottom: 16px;\n}\n.wmde-markdown blockquote > :first-child {\n margin-top: 0;\n}\n.wmde-markdown blockquote > :last-child {\n margin-bottom: 0;\n}\n.wmde-markdown sup > a::before {\n content: '[';\n}\n.wmde-markdown sup > a::after {\n content: ']';\n}\n.wmde-markdown h1 .octicon-link,\n.wmde-markdown h2 .octicon-link,\n.wmde-markdown h3 .octicon-link,\n.wmde-markdown h4 .octicon-link,\n.wmde-markdown h5 .octicon-link,\n.wmde-markdown h6 .octicon-link {\n color: var(--color-fg-default);\n vertical-align: middle;\n visibility: hidden;\n}\n.wmde-markdown h1:hover .anchor,\n.wmde-markdown h2:hover .anchor,\n.wmde-markdown h3:hover .anchor,\n.wmde-markdown h4:hover .anchor,\n.wmde-markdown h5:hover .anchor,\n.wmde-markdown h6:hover .anchor {\n text-decoration: none;\n}\n.wmde-markdown h1:hover .anchor .octicon-link,\n.wmde-markdown h2:hover .anchor .octicon-link,\n.wmde-markdown h3:hover .anchor .octicon-link,\n.wmde-markdown h4:hover .anchor .octicon-link,\n.wmde-markdown h5:hover .anchor .octicon-link,\n.wmde-markdown h6:hover .anchor .octicon-link {\n visibility: visible;\n}\n.wmde-markdown h1 tt,\n.wmde-markdown h1 code,\n.wmde-markdown h2 tt,\n.wmde-markdown h2 code,\n.wmde-markdown h3 tt,\n.wmde-markdown h3 code,\n.wmde-markdown h4 tt,\n.wmde-markdown h4 code,\n.wmde-markdown h5 tt,\n.wmde-markdown h5 code,\n.wmde-markdown h6 tt,\n.wmde-markdown h6 code {\n padding: 0 0.2em;\n font-size: inherit;\n}\n.wmde-markdown ul.no-list,\n.wmde-markdown ol.no-list {\n padding: 0;\n list-style-type: none;\n}\n.wmde-markdown ol[type='1'] {\n list-style-type: decimal;\n}\n.wmde-markdown ol[type='a'] {\n list-style-type: lower-alpha;\n}\n.wmde-markdown ol[type='i'] {\n list-style-type: lower-roman;\n}\n.wmde-markdown div > ol:not([type]) {\n list-style-type: decimal;\n}\n.wmde-markdown ul ul,\n.wmde-markdown ul ol,\n.wmde-markdown ol ol,\n.wmde-markdown ol ul {\n margin-top: 0;\n margin-bottom: 0;\n}\n.wmde-markdown li > p {\n margin-top: 16px;\n}\n.wmde-markdown li + li {\n margin-top: 0.25em;\n}\n.wmde-markdown dl {\n padding: 0;\n}\n.wmde-markdown dl dt {\n padding: 0;\n margin-top: 16px;\n font-size: 1em;\n font-style: italic;\n font-weight: 600;\n}\n.wmde-markdown dl dd {\n padding: 0 16px;\n margin-bottom: 16px;\n}\n.wmde-markdown table th {\n font-weight: 600;\n}\n.wmde-markdown table th,\n.wmde-markdown table td {\n padding: 6px 13px;\n border: 1px solid var(--color-border-default);\n}\n.wmde-markdown table tr {\n background-color: var(--color-canvas-default);\n border-top: 1px solid var(--color-border-muted);\n}\n.wmde-markdown table tr:nth-child(2n) {\n background-color: var(--color-canvas-subtle);\n}\n.wmde-markdown table img {\n background-color: transparent;\n}\n.wmde-markdown img[align='right'] {\n padding-left: 20px;\n}\n.wmde-markdown img[align='left'] {\n padding-right: 20px;\n}\n.wmde-markdown .emoji {\n max-width: none;\n vertical-align: text-top;\n background-color: transparent;\n}\n.wmde-markdown span.frame {\n display: block;\n overflow: hidden;\n}\n.wmde-markdown span.frame > span {\n display: block;\n float: left;\n width: auto;\n padding: 7px;\n margin: 13px 0 0;\n overflow: hidden;\n border: 1px solid var(--color-border-default);\n}\n.wmde-markdown span.frame span img {\n display: block;\n float: left;\n}\n.wmde-markdown span.frame span span {\n display: block;\n padding: 5px 0 0;\n clear: both;\n color: var(--color-fg-default);\n}\n.wmde-markdown span.align-center {\n display: block;\n overflow: hidden;\n clear: both;\n}\n.wmde-markdown span.align-center > span {\n display: block;\n margin: 13px auto 0;\n overflow: hidden;\n text-align: center;\n}\n.wmde-markdown span.align-center span img {\n margin: 0 auto;\n text-align: center;\n}\n.wmde-markdown span.align-right {\n display: block;\n overflow: hidden;\n clear: both;\n}\n.wmde-markdown span.align-right > span {\n display: block;\n margin: 13px 0 0;\n overflow: hidden;\n text-align: right;\n}\n.wmde-markdown span.align-right span img {\n margin: 0;\n text-align: right;\n}\n.wmde-markdown span.float-left {\n display: block;\n float: left;\n margin-right: 13px;\n overflow: hidden;\n}\n.wmde-markdown span.float-left span {\n margin: 13px 0 0;\n}\n.wmde-markdown span.float-right {\n display: block;\n float: right;\n margin-left: 13px;\n overflow: hidden;\n}\n.wmde-markdown span.float-right > span {\n display: block;\n margin: 13px auto 0;\n overflow: hidden;\n text-align: right;\n}\n.wmde-markdown code,\n.wmde-markdown tt {\n padding: 0.2em 0.4em;\n margin: 0;\n font-size: 85%;\n background-color: var(--color-neutral-muted);\n border-radius: 6px;\n}\n.wmde-markdown code br,\n.wmde-markdown tt br {\n display: none;\n}\n.wmde-markdown del code {\n text-decoration: inherit;\n}\n.wmde-markdown pre code {\n font-size: 100%;\n}\n.wmde-markdown pre > code {\n padding: 0;\n margin: 0;\n word-break: normal;\n white-space: pre;\n background: transparent;\n border: 0;\n}\n.wmde-markdown pre {\n font-size: 85%;\n line-height: 1.45;\n background-color: var(--color-canvas-subtle);\n border-radius: 6px;\n}\n.wmde-markdown pre code,\n.wmde-markdown pre tt {\n display: inline;\n max-width: auto;\n padding: 0;\n margin: 0;\n overflow: visible;\n line-height: inherit;\n word-wrap: normal;\n background-color: transparent;\n border: 0;\n}\n.wmde-markdown pre > code {\n padding: 16px;\n overflow: auto;\n display: block;\n}\n.wmde-markdown .csv-data td,\n.wmde-markdown .csv-data th {\n padding: 5px;\n overflow: hidden;\n font-size: 12px;\n line-height: 1;\n text-align: left;\n white-space: nowrap;\n}\n.wmde-markdown .csv-data .blob-num {\n padding: 10px 8px 9px;\n text-align: right;\n background: var(--color-canvas-default);\n border: 0;\n}\n.wmde-markdown .csv-data tr {\n border-top: 0;\n}\n.wmde-markdown .csv-data th {\n font-weight: 600;\n background: var(--color-canvas-subtle);\n border-top: 0;\n}\n.wmde-markdown .footnotes {\n font-size: 12px;\n color: var(--color-fg-muted);\n border-top: 1px solid var(--color-border-default);\n}\n.wmde-markdown .footnotes ol {\n padding-left: 16px;\n}\n.wmde-markdown .footnotes li {\n position: relative;\n}\n.wmde-markdown .footnotes li:target::before {\n position: absolute;\n top: -8px;\n right: -8px;\n bottom: -8px;\n left: -24px;\n pointer-events: none;\n content: '';\n border: 2px solid var(--color-accent-emphasis);\n border-radius: 6px;\n}\n.wmde-markdown .footnotes li:target {\n color: var(--color-fg-default);\n}\n.wmde-markdown .footnotes .data-footnote-backref g-emoji {\n font-family: monospace;\n}\n.wmde-markdown .task-list-item {\n list-style-type: none;\n}\n.wmde-markdown .task-list-item label {\n font-weight: 400;\n}\n.wmde-markdown .task-list-item.enabled label {\n cursor: pointer;\n}\n.wmde-markdown .task-list-item + .wmde-markdown .task-list-item {\n margin-top: 3px;\n}\n.wmde-markdown .task-list-item .handle {\n display: none;\n}\n.wmde-markdown .task-list-item-checkbox,\n.wmde-markdown .contains-task-list input[type='checkbox'] {\n margin: 0 0.2em 0.25em -1.6em;\n vertical-align: middle;\n}\n.wmde-markdown .contains-task-list:dir(rtl) .task-list-item-checkbox,\n.wmde-markdown .contains-task-list:dir(rtl) input[type='checkbox'] {\n margin: 0 -1.6em 0.25em 0.2em;\n}\n.wmde-markdown ::-webkit-calendar-picker-indicator {\n -webkit-filter: invert(50%);\n filter: invert(50%);\n}\n.wmde-markdown pre {\n position: relative;\n}\n.wmde-markdown pre .copied {\n visibility: hidden;\n display: flex;\n position: absolute;\n cursor: pointer;\n color: var(--color-fg-defaul);\n top: 6px;\n right: 6px;\n border-radius: 5px;\n background: var(--color-border-default);\n padding: 6px;\n font-size: 12px;\n transition: all 0.3s;\n}\n.wmde-markdown pre .copied .octicon-copy {\n display: block;\n}\n.wmde-markdown pre .copied .octicon-check {\n display: none;\n}\n.wmde-markdown pre:hover .copied {\n visibility: visible;\n}\n.wmde-markdown pre:hover .copied:hover {\n background: var(--color-prettylights-syntax-entity-tag);\n color: var(--color-canvas-default);\n}\n.wmde-markdown pre:hover .copied:active,\n.wmde-markdown pre .copied.active {\n background: #2e9b33;\n color: var(--color-canvas-default);\n}\n.wmde-markdown pre .active .octicon-copy {\n display: none;\n}\n.wmde-markdown pre .active .octicon-check {\n display: block;\n}\n.highlight-line {\n background-color: var(--color-neutral-muted);\n}\n.code-line.line-number::before {\n display: inline-block;\n width: 1rem;\n text-align: right;\n margin-right: 16px;\n color: var(--color-fg-subtle);\n content: attr(line);\n white-space: nowrap;\n}\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n color: var(--color-prettylights-syntax-comment);\n}\n.token.namespace {\n opacity: 0.7;\n}\n.token.property,\n.token.tag,\n.token.selector,\n.token.constant,\n.token.symbol,\n.token.deleted {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.token.maybe-class-name {\n color: var(--color-prettylights-syntax-variable);\n}\n.token.property-access,\n.token.operator,\n.token.boolean,\n.token.number,\n.token.selector .token.class,\n.token.attr-name,\n.token.string,\n.token.char,\n.token.builtin {\n color: var(--color-prettylights-syntax-constant);\n}\n.token.deleted {\n color: var(--color-prettylights-syntax-markup-deleted-text);\n}\n.code-line .token.deleted {\n background-color: var(--color-prettylights-syntax-markup-deleted-bg);\n}\n.token.inserted {\n color: var(--color-prettylights-syntax-markup-inserted-text);\n}\n.code-line .token.inserted {\n background-color: var(--color-prettylights-syntax-markup-inserted-bg);\n}\n.token.variable {\n color: var(--color-prettylights-syntax-constant);\n}\n.token.entity,\n.token.url,\n.language-css .token.string,\n.style .token.string {\n color: var(--color-prettylights-syntax-string);\n}\n.token.color,\n.token.atrule,\n.token.attr-value,\n.token.function,\n.token.class-name {\n color: var(--color-prettylights-syntax-string);\n}\n.token.rule,\n.token.regex,\n.token.important,\n.token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.token.coord {\n color: var(--color-prettylights-syntax-meta-diff-range);\n}\n.token.important,\n.token.bold {\n font-weight: bold;\n}\n.token.italic {\n font-style: italic;\n}\n.token.entity {\n cursor: help;\n}\n",".w-overlay {\n position: fixed;\n overflow: auto;\n top: 0;\n right: 0;\n left: 0;\n outline: 0;\n bottom: 0;\n z-index: 999;\n -webkit-overflow-scrolling: touch;\n text-align: center;\n height: 100%;\n width: 100%;\n display: none;\n}\n.w-overlay.open {\n z-index: 9999;\n}\n.w-overlay-open {\n overflow: hidden;\n}\n.w-overlay-content {\n position: relative;\n outline: 0;\n display: inline-block;\n vertical-align: middle;\n text-align: left;\n margin: 20px 0;\n z-index: 20;\n}\n.w-overlay-inline {\n position: absolute;\n overflow: initial;\n}\n.w-overlay-inline .w-overlay-container {\n position: relative;\n}\n.w-overlay-inline .w-overlay-backdrop {\n position: absolute;\n}\n.w-overlay-container {\n position: absolute;\n overflow: auto;\n z-index: 99999;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n.w-overlay-container:before {\n content: ' ';\n display: inline-block;\n height: 100%;\n width: 1px;\n vertical-align: middle;\n}\n.w-overlay-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n opacity: 1;\n z-index: 20;\n background-color: rgba(16, 22, 26, 0.7);\n overflow: auto;\n -webkit-user-select: none;\n user-select: none;\n}\n.w-overlay-enter .w-overlay-backdrop {\n opacity: 0;\n}\n.w-overlay-enter-active .w-overlay-backdrop {\n opacity: 1;\n transition: opacity 300ms ease-in;\n}\n.w-overlay-exit .w-overlay-backdrop {\n opacity: 1;\n}\n.w-overlay-exit-active .w-overlay-backdrop {\n opacity: 0;\n transition: opacity 300ms ease-in;\n}\n.w-overlay-enter .w-overlay-content {\n transform: scale(0.5);\n opacity: 0;\n}\n.w-overlay-enter-active .w-overlay-content {\n opacity: 1;\n transform: translate(0);\n transition: transform 300ms ease, opacity 300ms ease;\n}\n.w-overlay-exit .w-overlay-content {\n opacity: 1;\n transform: translate(0);\n transition: transform 300ms ease, opacity 300ms ease;\n}\n.w-overlay-exit-active .w-overlay-content {\n transform: scale(0.5);\n opacity: 0;\n}\n.w-overlay-enter,\n.w-overlay-enter-done,\n.w-overlay-exit {\n display: inherit;\n}\n",".w-icon,\n.w-icon svg {\n height: 1em;\n width: 1em;\n}\n.w-icon {\n display: inline-flex;\n align-self: center;\n position: relative;\n transition: color 0.3s;\n box-sizing: inherit;\n}\n.w-icon-baseline {\n top: 0.125em;\n}\n.w-icon-spin svg {\n animation: loading-circle 1s infinite linear;\n}\n@keyframes loading-circle {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n",".w-btn {\n -webkit-user-select: none;\n user-select: none;\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n border: none;\n border-radius: 3px;\n cursor: pointer;\n padding: 5px 7px;\n position: relative;\n vertical-align: middle;\n text-align: left;\n line-height: 14px;\n font-size: 14px;\n min-width: 30px;\n min-height: 30px;\n text-align: center;\n color: #fff;\n transition: background-color 0.5s, opacity 1s;\n}\n.w-btn > *:not(:last-child) {\n margin-right: 5px;\n}\n.w-btn + .w-btn:not(.block) {\n margin-left: 5px;\n}\n.w-btn.block {\n display: block;\n width: 100%;\n}\n.w-btn.disabled,\n.w-btn[disabled] {\n cursor: not-allowed;\n}\n.w-btn-primary {\n color: #fff;\n background-color: #008ef0;\n z-index: 1;\n}\n.w-btn-primary:hover {\n background-color: #0070bd;\n}\n.w-btn-primary:focus,\n.w-btn-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(0, 142, 240, 0.26);\n}\n.w-btn-primary:hover {\n color: #fff;\n background-color: #0070bd;\n z-index: 2;\n}\n.w-btn-primary:active,\n.w-btn-primary.active {\n color: #fff;\n background-color: #00528a;\n background-image: none;\n}\n.w-btn-primary.disabled,\n.w-btn-primary[disabled] {\n background-color: #57baff;\n z-index: 0;\n}\n.w-btn-primary.w-btn-basic {\n background-color: transparent !important;\n box-shadow: inset 0 0 0 #000;\n color: #008ef0;\n}\n.w-btn-primary.w-btn-basic:hover {\n background-color: #c7e8ff !important;\n}\n.w-btn-primary.w-btn-basic:active,\n.w-btn-primary.w-btn-basic.active {\n color: #008ef0;\n background-color: #94d3ff !important;\n background-image: none;\n}\n.w-btn-primary.w-btn-basic.disabled,\n.w-btn-primary.w-btn-basic[disabled] {\n background-color: transparent !important;\n color: #24a6ff;\n}\n.w-btn-success {\n color: #fff;\n background-color: #28a745;\n z-index: 1;\n}\n.w-btn-success:hover {\n background-color: #1e7e34;\n}\n.w-btn-success:focus,\n.w-btn-success.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.26);\n}\n.w-btn-success:hover {\n color: #fff;\n background-color: #1e7e34;\n z-index: 2;\n}\n.w-btn-success:active,\n.w-btn-success.active {\n color: #fff;\n background-color: #145523;\n background-image: none;\n}\n.w-btn-success.disabled,\n.w-btn-success[disabled] {\n background-color: #5dd879;\n z-index: 0;\n}\n.w-btn-success.w-btn-basic {\n background-color: transparent !important;\n box-shadow: inset 0 0 0 #000;\n color: #28a745;\n}\n.w-btn-success.w-btn-basic:hover {\n background-color: #b7eec4 !important;\n}\n.w-btn-success.w-btn-basic:active,\n.w-btn-success.w-btn-basic.active {\n color: #28a745;\n background-color: #8ee4a2 !important;\n background-image: none;\n}\n.w-btn-success.w-btn-basic.disabled,\n.w-btn-success.w-btn-basic[disabled] {\n background-color: transparent !important;\n color: #34ce57;\n}\n.w-btn-warning {\n color: #fff;\n background-color: #ffc107;\n z-index: 1;\n}\n.w-btn-warning:hover {\n background-color: #d39e00;\n}\n.w-btn-warning:focus,\n.w-btn-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(255, 193, 7, 0.26);\n}\n.w-btn-warning:hover {\n color: #fff;\n background-color: #d39e00;\n z-index: 2;\n}\n.w-btn-warning:active,\n.w-btn-warning.active {\n color: #fff;\n background-color: #a07800;\n background-image: none;\n}\n.w-btn-warning.disabled,\n.w-btn-warning[disabled] {\n background-color: #ffdb6d;\n z-index: 0;\n}\n.w-btn-warning.w-btn-basic {\n background-color: transparent !important;\n box-shadow: inset 0 0 0 #000;\n color: #ffc107;\n}\n.w-btn-warning.w-btn-basic:hover {\n background-color: #fff7dd !important;\n}\n.w-btn-warning.w-btn-basic:active,\n.w-btn-warning.w-btn-basic.active {\n color: #ffc107;\n background-color: #ffeaaa !important;\n background-image: none;\n}\n.w-btn-warning.w-btn-basic.disabled,\n.w-btn-warning.w-btn-basic[disabled] {\n background-color: transparent !important;\n color: #ffce3a;\n}\n.w-btn-danger {\n color: #fff;\n background-color: #dc3545;\n z-index: 1;\n}\n.w-btn-danger:hover {\n background-color: #bd2130;\n}\n.w-btn-danger:focus,\n.w-btn-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.26);\n}\n.w-btn-danger:hover {\n color: #fff;\n background-color: #bd2130;\n z-index: 2;\n}\n.w-btn-danger:active,\n.w-btn-danger.active {\n color: #fff;\n background-color: #921925;\n background-image: none;\n}\n.w-btn-danger.disabled,\n.w-btn-danger[disabled] {\n background-color: #eb8c95;\n z-index: 0;\n}\n.w-btn-danger.w-btn-basic {\n background-color: transparent !important;\n box-shadow: inset 0 0 0 #000;\n color: #dc3545;\n}\n.w-btn-danger.w-btn-basic:hover {\n background-color: #fceced !important;\n}\n.w-btn-danger.w-btn-basic:active,\n.w-btn-danger.w-btn-basic.active {\n color: #dc3545;\n background-color: #f4c0c5 !important;\n background-image: none;\n}\n.w-btn-danger.w-btn-basic.disabled,\n.w-btn-danger.w-btn-basic[disabled] {\n background-color: transparent !important;\n color: #e4606d;\n}\n.w-btn-light {\n box-shadow: inset 0 1px 0 0 rgba(0, 0, 0, 0.17), inset 1px -1px 0 0 rgba(0, 0, 0, 0.17), inset -1px 0px 0 0 rgba(0, 0, 0, 0.17);\n color: #393e48;\n background-color: #f8f9fa;\n z-index: 1;\n}\n.w-btn-light:hover {\n background-color: #dae0e5;\n}\n.w-btn-light:focus,\n.w-btn-light.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(248, 249, 250, 0.26);\n}\n.w-btn-light:hover {\n color: #393e48;\n background-color: #dae0e5;\n z-index: 2;\n}\n.w-btn-light:active,\n.w-btn-light.active {\n color: #393e48;\n background-color: #bcc6cf;\n background-image: none;\n}\n.w-btn-light.disabled,\n.w-btn-light[disabled] {\n background-color: #ffffff;\n z-index: 0;\n}\n.w-btn-light.w-btn-basic {\n background-color: transparent !important;\n box-shadow: inset 0 0 0 #000;\n color: #f8f9fa;\n}\n.w-btn-light.w-btn-basic:hover {\n background-color: #ffffff !important;\n}\n.w-btn-light.w-btn-basic:active,\n.w-btn-light.w-btn-basic.active {\n color: #f8f9fa;\n background-color: #ffffff !important;\n background-image: none;\n}\n.w-btn-light.w-btn-basic.disabled,\n.w-btn-light.w-btn-basic[disabled] {\n background-color: transparent !important;\n color: #ffffff;\n}\n.w-btn-light:focus,\n.w-btn-light.focus {\n outline: 0;\n box-shadow: inset 0 1px 0 0 rgba(0, 0, 0, 0.17), inset 1px -1px 0 0 rgba(0, 0, 0, 0.17), inset -1px 0px 0 0 rgba(0, 0, 0, 0.17), 0 0 0 2px rgba(0, 0, 0, 0.1);\n}\n.w-btn-light.w-btn-basic {\n color: #9199a7;\n}\n.w-btn-light.w-btn-basic:focus,\n.w-btn-light.w-btn-basic.focus {\n box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.17);\n}\n.w-btn-light.w-btn-basic:hover {\n background-color: #ecedf0 !important;\n}\n.w-btn-light.w-btn-basic:active,\n.w-btn-light.w-btn-basic.active {\n color: #9199a7;\n background-color: #d5d8dd !important;\n background-image: none;\n}\n.w-btn-light.w-btn-basic.disabled,\n.w-btn-light.w-btn-basic[disabled] {\n background-color: transparent !important;\n color: #adb3be;\n}\n.w-btn-light.disabled,\n.w-btn-light[disabled] {\n color: #666f81;\n z-index: 0;\n}\n.w-btn-dark {\n color: #fff;\n background-color: #393e48;\n z-index: 1;\n}\n.w-btn-dark:hover {\n background-color: #22252c;\n}\n.w-btn-dark:focus,\n.w-btn-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(57, 62, 72, 0.26);\n}\n.w-btn-dark:hover {\n color: #fff;\n background-color: #22252c;\n z-index: 2;\n}\n.w-btn-dark:active,\n.w-btn-dark.active {\n color: #fff;\n background-color: #0c0d0f;\n background-image: none;\n}\n.w-btn-dark.disabled,\n.w-btn-dark[disabled] {\n background-color: #666f81;\n z-index: 0;\n}\n.w-btn-dark.w-btn-basic {\n background-color: transparent !important;\n box-shadow: inset 0 0 0 #000;\n color: #393e48;\n}\n.w-btn-dark.w-btn-basic:hover {\n background-color: #a2a8b5 !important;\n}\n.w-btn-dark.w-btn-basic:active,\n.w-btn-dark.w-btn-basic.active {\n color: #393e48;\n background-color: #858e9f !important;\n background-image: none;\n}\n.w-btn-dark.w-btn-basic.disabled,\n.w-btn-dark.w-btn-basic[disabled] {\n background-color: transparent !important;\n color: #505764;\n}\n.w-btn-link {\n color: #008ef0;\n background-color: transparent;\n z-index: 1;\n color: #008ef0 !important;\n}\n.w-btn-link:hover {\n background-color: rgba(0, 0, 0, 0);\n}\n.w-btn-link:focus,\n.w-btn-link.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0);\n}\n.w-btn-link:hover {\n color: #008ef0;\n background-color: rgba(0, 0, 0, 0);\n z-index: 2;\n}\n.w-btn-link:active,\n.w-btn-link.active {\n color: #008ef0;\n background-color: rgba(0, 0, 0, 0);\n background-image: none;\n}\n.w-btn-link.disabled,\n.w-btn-link[disabled] {\n background-color: rgba(51, 51, 51, 0);\n z-index: 0;\n}\n.w-btn-link.w-btn-basic {\n background-color: transparent !important;\n box-shadow: inset 0 0 0 #000;\n color: transparent;\n}\n.w-btn-link.w-btn-basic:hover {\n background-color: rgba(107, 107, 107, 0) !important;\n}\n.w-btn-link.w-btn-basic:active,\n.w-btn-link.w-btn-basic.active {\n color: transparent;\n background-color: rgba(82, 82, 82, 0) !important;\n background-image: none;\n}\n.w-btn-link.w-btn-basic.disabled,\n.w-btn-link.w-btn-basic[disabled] {\n background-color: transparent !important;\n color: rgba(26, 26, 26, 0);\n}\n.w-btn-link:hover:not([disabled]) {\n color: #006ab3;\n text-decoration: underline;\n}\n.w-btn-link:not([disabled]):active,\n.w-btn-link:not([disabled]).active {\n color: #002d4d;\n box-shadow: none;\n text-decoration: underline;\n}\n.w-btn-link.disabled,\n.w-btn-link[disabled] {\n z-index: 0;\n}\n.w-btn .w-icon {\n font-size: 16px;\n}\n.w-btn-size-large {\n font-size: 16px;\n line-height: 16px;\n min-height: 36px;\n}\n.w-btn-size-large .w-icon {\n font-size: 20px;\n}\n.w-btn-size-small {\n padding: 0 6px;\n min-width: 20px;\n font-size: 12px;\n line-height: 24px;\n min-height: 24px;\n}\n.w-btn-size-small .w-icon {\n font-size: 14px;\n}\n.w-btn .w-icon:not(:last-child) {\n margin-right: 5px;\n}\n.w-btn-loading.w-btn-light::before {\n border: 1.2px solid #666f81;\n}\n.w-btn-loading::before {\n content: '';\n display: inline-block;\n width: 1em;\n height: 1em;\n border-radius: 50%;\n border: 1.2px solid #fff;\n color: #fff;\n margin: 0 3px 0 0;\n -webkit-clip-path: polygon(0% 0%, 100% 0, 100% 30%, 0% 30%);\n clip-path: polygon(0% 0%, 100% 0, 100% 30%, 0% 30%);\n animation: rotate 0.5s linear infinite;\n}\n@keyframes rotate {\n from {\n transform: rotateZ(0deg);\n }\n to {\n transform: rotateZ(360deg);\n }\n}\n",".w-modal {\n z-index: 1001;\n}\n.w-modal-inner {\n padding-bottom: 20px;\n background: #f9f9f9;\n min-width: 320px;\n border-radius: 5px;\n box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2);\n}\n.w-modal-header {\n display: flex;\n align-items: center;\n min-height: 40px;\n padding-left: 13px;\n padding-right: 5px;\n background-color: #fff;\n border-radius: 5px 5px 0 0;\n box-shadow: 0 1px 0 rgba(16, 22, 26, 0.15);\n font-size: 16px;\n}\n.w-modal-header > .w-icon {\n margin-right: 10px;\n color: #393e48;\n}\n.w-modal-header h4 {\n margin: 0;\n padding: 0;\n flex: 1 1 auto;\n font-weight: bold;\n min-height: 22px;\n}\n.w-modal-body,\n.w-modal-footer {\n margin: 0 20px;\n}\n.w-modal-body {\n padding-top: 20px;\n font-size: 14px;\n}\n.w-modal-footer {\n display: flex;\n margin-top: 15px;\n flex-direction: row-reverse;\n}\n.w-modal-footer .w-btn + .w-btn {\n margin-right: 10px;\n}\n",".w-alert .w-modal-header,\n.w-alert .w-modal-body {\n display: table-cell;\n}\n.w-alert .w-modal-header {\n background-color: transparent;\n padding: 20px 0 0 20px;\n box-shadow: 0 0 0 0;\n padding-right: 0;\n}\n.w-alert .w-modal-header > .w-icon {\n font-size: 40px;\n margin-right: 0;\n}\n.w-alert .w-modal-body {\n padding-right: 20px;\n padding-left: 20px;\n vertical-align: top;\n}\n.w-alert.primary .w-modal-header > .w-icon {\n color: #008ef0;\n}\n.w-alert.success .w-modal-header > .w-icon {\n color: #28a745;\n}\n.w-alert.warning .w-modal-header > .w-icon {\n color: #ffc107;\n}\n.w-alert.danger .w-modal-header > .w-icon {\n color: #dc3545;\n}\n.w-alert .w-modal-inner .w-modal-header > button {\n min-width: 18px;\n min-height: 18px;\n padding: 5px 5px;\n position: absolute;\n right: 10px;\n top: 10px;\n}\n.w-alert .w-modal-shown-title.w-modal-inner .w-modal-header {\n word-break: break-word;\n display: flex;\n padding-top: 15px;\n padding-right: 10px;\n}\n.w-alert .w-modal-shown-title.w-modal-inner .w-modal-header > .w-icon {\n font-size: 40px;\n position: absolute;\n top: 18px;\n}\n.w-alert .w-modal-shown-title.w-modal-inner .w-modal-header > button > .w-icon {\n font-size: 14px;\n}\n.w-alert .w-modal-shown-title.w-modal-inner .w-modal-body {\n word-break: break-word;\n padding-top: 5px;\n}\n.w-alert .w-modal-shown-icon .w-modal-header > h4 {\n padding-left: 60px;\n}\n.w-alert .w-modal-shown-title.w-modal-shown-icon .w-modal-body {\n padding-left: 80px;\n}\n",".w-avatar {\n display: inline-block;\n text-align: center;\n background: #ccc;\n color: #fff;\n vertical-align: middle;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n font-size: 18px;\n width: 30px;\n height: 30px;\n border-radius: 3px;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n}\n.w-avatar + .w-avatar {\n margin-left: 5px;\n}\n.w-avatar-mini {\n height: 18px;\n width: 18px;\n font-size: 12px;\n}\n.w-avatar-small {\n height: 24px;\n width: 24px;\n font-size: 12px;\n}\n.w-avatar-large {\n height: 40px;\n width: 40px;\n font-size: 24px;\n}\n.w-avatar-circle {\n border-radius: 50%;\n}\n.w-avatar > img {\n width: 100%;\n height: 100%;\n display: block;\n}\n",".w-back-top {\n position: fixed;\n bottom: 50px;\n right: 50px;\n cursor: pointer;\n z-index: 1006;\n transition: all 1s;\n}\n.w-back-top.no-fixed {\n cursor: auto;\n position: static;\n}\n.w-back-top-hide {\n transition: all 1s;\n opacity: 0;\n height: 0px;\n}\n.w-back-top-show {\n opacity: 1;\n}\n",".w-badge {\n position: relative;\n display: inline-block;\n line-height: 1;\n vertical-align: middle;\n}\n.w-badge sup.w-badge-count {\n position: absolute;\n transform: translateX(-50%);\n top: -10px;\n height: 16px;\n border-radius: 10px;\n min-width: 16px;\n background: #f04134;\n color: #fff;\n line-height: 16px;\n text-align: center;\n padding: 0 5px;\n font-size: 12px;\n white-space: nowrap;\n transform-origin: -10% center;\n font-family: tahoma;\n box-shadow: 0 0 0 1px #fff;\n}\n.w-badge.nowrap sup.w-badge-count {\n top: auto;\n display: block;\n position: relative;\n transform: none !important;\n overflow: hidden;\n}\n.w-badge sup.dot {\n position: absolute;\n transform: translateX(-50%);\n transform-origin: 0 center;\n overflow: hidden;\n color: transparent;\n top: -4px;\n height: 6px;\n width: 6px;\n padding: 0;\n border-radius: 100%;\n background: #f04134;\n z-index: 10;\n box-shadow: 0 0 0 1px #fff;\n}\n.w-badge-dot {\n line-height: inherit;\n vertical-align: baseline;\n font-size: 14px;\n margin: 0 4px;\n width: 6px;\n height: 6px;\n display: inline-block;\n border-radius: 50%;\n vertical-align: middle;\n position: relative;\n top: -1px;\n}\n.w-badge-processing .w-badge-dot {\n position: relative;\n background-color: #007bff;\n}\n.w-badge-processing .w-badge-dot:after {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: inherit;\n content: '';\n animation: wStatusProcessing 1.2s infinite ease-in-out;\n}\n@keyframes wStatusProcessing {\n 0% {\n transform: scale(0.8);\n opacity: 0.5;\n }\n 100% {\n transform: scale(2.8);\n opacity: 0;\n }\n}\n",".w-breadcrumb-item {\n display: inline-flex;\n}\n.w-breadcrumb-item + .w-breadcrumb-item::before,\n.w-breadcrumb-item + .w-breadcrumb-item .w-breadcrumb-separator {\n padding-right: 8px;\n padding-left: 8px;\n color: #6e6e6e;\n}\n.w-breadcrumb-item + .w-breadcrumb-item::before {\n display: inline-block;\n content: attr(data-separator);\n}\n.w-breadcrumb-item + .w-breadcrumb-item.no-before:before {\n display: none;\n}\n.w-breadcrumb-item + .w-breadcrumb-item.no-separator {\n margin-left: 6px;\n}\n.w-breadcrumb-item + .w-breadcrumb-item.no-separator:before {\n display: none;\n}\n.w-breadcrumb-item.active {\n color: #6e6e6e;\n}\n",".w-breadcrumb {\n display: inline-flex;\n font-size: 14px;\n}\n",".w-btn-group > .w-btn {\n border-radius: 0;\n box-shadow: inset 1px 0 0 0 rgba(0, 0, 0, 0.17), inset -1px 0 0 0 rgba(0, 0, 0, 0.17), inset -1px 0px 0 0 rgba(0, 0, 0, 0.17);\n}\n.w-btn-group > .w-btn:last-child {\n border-radius: 0 3px 3px 0;\n}\n.w-btn-group > .w-btn:first-child {\n border-radius: 3px 0 0 3px;\n}\n.w-btn-group > .w-btn:first-child:last-child {\n border-radius: 3px !important;\n}\n.w-btn-group > .w-btn:focus {\n z-index: 2;\n}\n.w-btn-group .w-btn + .w-btn {\n margin-left: -1px !important;\n}\n.w-btn-group .w-btn:not(.w-btn-light):first-child {\n box-shadow: inset -1px 0px 0 0 rgba(0, 0, 0, 0.17) !important;\n}\n.w-btn-group .w-btn:not(.w-btn-light):last-child {\n box-shadow: inset 1px 0 0 0 rgba(0, 0, 0, 0.17), inset 0px 0 0 0 rgba(0, 0, 0, 0.17);\n}\n.w-btn-group .w-btn-light {\n box-shadow: inset 0 1px 0 0 rgba(0, 0, 0, 0.17), inset 1px -1px 0 0 rgba(0, 0, 0, 0.17), inset -1px 0px 0 0 rgba(0, 0, 0, 0.17) !important;\n}\n.w-btn-group-vertical .w-btn:not(.w-btn-light) {\n box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.17), inset 0 1px 0 0 rgba(0, 0, 0, 0.17) !important;\n}\n.w-btn-group-vertical .w-btn:not(.w-btn-light):first-child {\n box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.17), inset 0 0 0 0 rgba(0, 0, 0, 0.17) !important;\n}\n.w-btn-group-vertical .w-btn {\n width: 100%;\n}\n.w-btn-group-vertical .w-btn + .w-btn {\n margin-left: 0 !important;\n margin-top: -1px !important;\n}\n.w-btn-group-vertical .w-btn:last-child {\n border-radius: 0 0 3px 3px;\n}\n.w-btn-group-vertical .w-btn:first-child {\n border-radius: 3px 3px 0 0;\n}\n",".w-overlay.w-overlay-trigger {\n position: absolute;\n top: auto;\n left: auto;\n right: auto;\n bottom: auto;\n overflow: inherit;\n width: initial;\n height: initial;\n}\n.w-overlay.w-overlay-trigger .w-overlay-container {\n position: relative;\n overflow: inherit;\n}\n.w-overlay.w-overlay-trigger .w-overlay-container::before {\n display: none;\n}\n.w-overlay.w-overlay-trigger .w-overlay-content {\n margin: 0;\n}\n.w-overlay.w-overlay-trigger.rightTop .w-overlay-content {\n transform-origin: left top;\n}\n.w-overlay.w-overlay-trigger.right .w-overlay-content {\n transform-origin: left center;\n}\n.w-overlay.w-overlay-trigger.rightBottom .w-overlay-content {\n transform-origin: left bottom;\n}\n.w-overlay.w-overlay-trigger.topLeft .w-overlay-content {\n transform-origin: bottom left;\n}\n.w-overlay.w-overlay-trigger.top .w-overlay-content {\n transform-origin: bottom center;\n}\n.w-overlay.w-overlay-trigger.topRight .w-overlay-content {\n transform-origin: bottom right;\n}\n.w-overlay.w-overlay-trigger.leftTop .w-overlay-content {\n transform-origin: right top;\n}\n.w-overlay.w-overlay-trigger.left .w-overlay-content {\n transform-origin: right center;\n}\n.w-overlay.w-overlay-trigger.leftBottom .w-overlay-content {\n transform-origin: right bottom;\n}\n.w-overlay.w-overlay-trigger.bottomLeft .w-overlay-content {\n transform-origin: top left;\n}\n.w-overlay.w-overlay-trigger.bottom .w-overlay-content {\n transform-origin: top center;\n}\n.w-overlay.w-overlay-trigger.bottomRight .w-overlay-content {\n transform-origin: top right;\n}\n.w-overlay-trigger-disabled {\n cursor: not-allowed;\n}\n",".w-popover {\n position: relative;\n display: inline-block;\n outline: 0;\n}\n.w-popover-arrow {\n position: absolute;\n width: 30px;\n height: 30px;\n border-color: transparent;\n z-index: 21;\n}\n.w-popover-inner {\n font-size: 12px;\n display: block;\n text-align: left;\n text-decoration: none;\n background-color: #fff;\n border-radius: 4px;\n min-height: 23px;\n box-shadow: rgba(16, 22, 26, 0.1) 0px 0px 0px 1px, rgba(16, 22, 26, 0.2) 0px 2px 4px, rgba(16, 22, 26, 0.2) 0px 8px 24px;\n}\n.w-popover.right .w-popover-arrow,\n.w-popover.rightTop .w-popover-arrow,\n.w-popover.rightBottom .w-popover-arrow {\n left: 2px;\n margin-top: -15px;\n top: 50%;\n}\n.w-popover.left .w-popover-arrow,\n.w-popover.leftTop .w-popover-arrow,\n.w-popover.leftBottom .w-popover-arrow {\n transform: rotate(180deg);\n margin-top: -15px;\n right: 2px;\n top: 50%;\n}\n.w-popover.leftTop .w-popover-arrow,\n.w-popover.rightTop .w-popover-arrow {\n top: 15px;\n}\n.w-popover.leftBottom .w-popover-arrow,\n.w-popover.rightBottom .w-popover-arrow {\n bottom: 0;\n top: auto;\n}\n.w-popover.top .w-popover-arrow,\n.w-popover.topLeft .w-popover-arrow,\n.w-popover.topRight .w-popover-arrow {\n transform: rotate(-90deg);\n bottom: 2px;\n left: 50%;\n margin-left: -15px;\n}\n.w-popover.bottom .w-popover-arrow,\n.w-popover.bottomLeft .w-popover-arrow,\n.w-popover.bottomRight .w-popover-arrow {\n transform: rotate(90deg);\n left: 50%;\n margin-left: -15px;\n top: 2px;\n}\n.w-popover.bottomLeft .w-popover-arrow,\n.w-popover.topLeft .w-popover-arrow {\n left: 15px;\n}\n.w-popover.bottomRight .w-popover-arrow,\n.w-popover.topRight .w-popover-arrow {\n right: 0;\n left: auto;\n}\n.w-popover.top,\n.w-popover.topLeft,\n.w-popover.topRight {\n padding-bottom: 13px;\n}\n.w-popover.bottom,\n.w-popover.bottomLeft,\n.w-popover.bottomRight {\n padding-top: 13px;\n}\n.w-popover.right,\n.w-popover.rightTop,\n.w-popover.rightBottom {\n padding-left: 13px;\n}\n.w-popover.left,\n.w-popover.leftTop,\n.w-popover.leftBottom {\n padding-right: 13px;\n}\n.w-popover.no-arrow {\n padding: 0 !important;\n}\n",".w-input {\n position: relative;\n font-size: 14px;\n line-height: 14px;\n width: 100%;\n}\n.w-input-inner {\n outline: none;\n border: none;\n border-radius: 3px;\n box-shadow: 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n box-sizing: border-box;\n background: #fff;\n height: 30px;\n margin: 0 !important;\n padding: 0 10px;\n vertical-align: middle;\n line-height: 30px;\n color: #393e48;\n font-weight: 400;\n font-size: inherit;\n transition: box-shadow 0.3s cubic-bezier(0.4, 1, 0.75, 0.9);\n -webkit-appearance: none;\n appearance: none;\n}\n.w-input-inner:not(:first-child) {\n padding-left: 26px;\n}\n.w-input-inner:focus {\n box-shadow: 0 0 0 1px #393e48, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-input-inner:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-input-inner:focus.w-input-inner:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-input-inner:disabled {\n box-shadow: none;\n background: #dddddd;\n opacity: 0.75;\n color: #a5a5a5;\n cursor: not-allowed;\n resize: none;\n}\n.w-input .w-input-inner {\n width: 100%;\n}\n.w-input > .w-icon {\n position: absolute;\n margin: 0 7px 0 7px;\n transform: translateY(-50%);\n top: 50%;\n}\n.w-input-addon-after {\n position: absolute;\n top: 3px;\n right: 3px;\n display: flex;\n bottom: 3px;\n}\n.w-input-addon-after > * {\n display: flex !important;\n align-items: center;\n}\n.w-input-large {\n font-size: 16px;\n}\n.w-input-large .w-input-inner {\n line-height: 36px;\n height: 36px;\n}\n.w-input-small {\n min-width: 20px;\n}\n.w-input-small .w-input-inner {\n line-height: 24px;\n height: 24px;\n padding: 0 6px;\n}\n.w-input-small .w-input-inner:not(:first-child) {\n padding-left: 26px;\n}\n.w-input-small .w-input-addon-after > * {\n line-height: 16px;\n min-height: 16px;\n}\n",".w-timepicker {\n display: flex;\n}\n.w-timepicker::after {\n content: '';\n display: block;\n clear: both;\n}\n.w-timepicker-spinner {\n max-height: 189px;\n flex: 1;\n overflow: auto;\n font-size: 14px;\n}\n.w-timepicker-spinner:hover {\n overflow: auto;\n}\n.w-timepicker-spinner > ul {\n list-style: none;\n min-width: 56px;\n margin: 0 !important;\n padding-left: 0 !important;\n padding-right: 0 !important;\n padding-bottom: 162px !important;\n}\n.w-timepicker-spinner > ul > li + li {\n margin-top: 0 !important;\n}\n.w-timepicker-spinner > ul > li {\n cursor: pointer;\n text-align: center;\n height: 28px;\n line-height: 28px;\n transition: all 0.3s;\n color: #393e48;\n}\n.w-timepicker-spinner > ul > li:hover:not(.disabled) {\n background-color: #f6f8fa;\n}\n.w-timepicker-spinner > ul > li:active:not(.disabled) {\n background-color: #e1e5e8;\n}\n.w-timepicker-spinner > ul > li.selected {\n background-color: #f1f1f1;\n font-weight: bold;\n color: #000;\n}\n.w-timepicker-spinner > ul > li.disabled {\n color: #d4d4d4;\n cursor: not-allowed;\n}\n.w-timepicker-spinner > ul > li.disabled.hide {\n display: none;\n}\n.w-timepicker-spinner + .w-timepicker-spinner ul {\n border-left: 1px solid #e9e9e9;\n}\n",".w-timepicker {\n overflow: hidden;\n border-radius: 4px;\n}\n.w-timepicker-input.disabled .w-timepicker-close-btn {\n display: none !important;\n}\n.w-timepicker-input .w-timepicker-close-btn {\n display: none;\n min-height: initial;\n color: #a5a5a5;\n}\n.w-timepicker-input .w-timepicker-close-btn:hover {\n color: #393e48;\n background-color: transparent !important;\n}\n",".w-datepicker-weekday,\n.w-datepicker-week {\n display: flex;\n width: 100%;\n}\n.w-datepicker-weekday > div,\n.w-datepicker-week > div {\n display: table-cell;\n flex: 1;\n min-width: 26px;\n min-height: 26px;\n vertical-align: middle;\n text-align: center;\n}\n.w-datepicker-weekday > div {\n font-weight: bold;\n}\n.w-datepicker-weekday > div.end,\n.w-datepicker-week > div.end {\n color: #6f6f6f;\n}\n.w-datepicker-week > div {\n border-radius: 3px;\n cursor: pointer;\n}\n.w-datepicker-week > div.prev,\n.w-datepicker-week > div.next {\n color: #d3d3d3;\n}\n.w-datepicker-week > div > div {\n transition: background-color 0.3s, color 0.3s;\n margin: 0 2px;\n border-radius: 3px;\n line-height: 22px;\n}\n.w-datepicker-week > div.today > div {\n background-color: #eaeaea;\n}\n.w-datepicker-week > div.selected > div,\n.w-datepicker-week > div.selected:hover > div {\n color: #fff;\n background-color: #2ea3f4;\n}\n.w-datepicker-week > div:hover > div {\n background-color: #eaeaea;\n color: #393e48;\n}\n.w-datepicker-week > div:active > div {\n background-color: #d2d2d2;\n}\n.w-datepicker-week > div.disabled > div,\n.w-datepicker-week > div.disabled:hover > div {\n color: #d3d3d3;\n cursor: not-allowed;\n background-color: #f5f5f5;\n}\n.w-datepicker-week > div.disabled.today > div,\n.w-datepicker-week > div.disabled:hover.today > div {\n background-color: rgba(189, 189, 189, 0.47);\n color: #fff;\n}\n.w-datepicker-week > div.disabled.selected > div,\n.w-datepicker-week > div.disabled:hover.selected > div {\n background-color: rgba(46, 163, 244, 0.47);\n color: #fff;\n}\n.w-datepicker-body {\n padding-top: 5px;\n}\n",".w-datepicker-month,\n.w-datepicker-year {\n text-align: center;\n max-width: 100%;\n padding: 10px 0 9px 0;\n}\n.w-datepicker-month > div,\n.w-datepicker-year > div {\n display: inline-block;\n width: 50%;\n line-height: 20px;\n margin: 3px 0;\n}\n.w-datepicker-month > div > span,\n.w-datepicker-year > div > span {\n display: inline-block;\n padding: 1px 6px;\n border-radius: 3px;\n cursor: pointer;\n}\n.w-datepicker-month > div.selected > span,\n.w-datepicker-year > div.selected > span {\n color: #fff;\n background-color: #2ea3f4;\n}\n.w-datepicker-month > div > span:hover,\n.w-datepicker-year > div > span:hover {\n background-color: #dcf0fd;\n color: #2ea3f4;\n}\n.w-datepicker-month > div.paging,\n.w-datepicker-year > div.paging {\n color: rgba(0, 0, 0, 0.25);\n}\n.w-datepicker-year > div {\n width: 33.333%;\n}\n",".w-datepicker-caption {\n -webkit-user-select: none;\n user-select: none;\n text-align: center;\n padding: 0 0 3px 0;\n border-bottom: 1px solid #ececec;\n}\n.w-datepicker-caption-pane {\n transition: background-color 0.3s;\n display: inline-block;\n border-radius: 3px;\n padding: 1px 5px;\n font-weight: bold;\n cursor: pointer;\n}\n.w-datepicker-caption-pane:hover {\n background-color: #eaeaea;\n}\n.w-datepicker-caption-pane:active {\n background-color: #d2d2d2;\n}\n.w-datepicker-caption-pane.year + .w-datepicker-caption-pane.month {\n margin-left: 5px;\n}\n.w-datepicker-caption-pane.prev,\n.w-datepicker-caption-pane.next {\n z-index: 30;\n position: relative;\n padding: 1px 8px 6px 8px;\n}\n.w-datepicker-caption-pane.prev::after,\n.w-datepicker-caption-pane.next::after,\n.w-datepicker-caption-pane.prev::before,\n.w-datepicker-caption-pane.next::before {\n content: '';\n display: block;\n height: 8px;\n width: 2px;\n border-radius: 2px;\n background-color: #333;\n}\n.w-datepicker-caption-pane.prev::after,\n.w-datepicker-caption-pane.next::after {\n margin-top: -4px;\n}\n.w-datepicker-caption-pane.prev::before,\n.w-datepicker-caption-pane.next::before {\n margin-top: 4px;\n}\n.w-datepicker-caption-pane.prev::after,\n.w-datepicker-caption-pane.next::before {\n transform: rotate(-45deg);\n}\n.w-datepicker-caption-pane.prev::before,\n.w-datepicker-caption-pane.next::after {\n transform: rotate(45deg);\n}\n.w-datepicker-caption-pane.prev {\n float: left;\n}\n.w-datepicker-caption-pane.next {\n float: right;\n}\n.w-datepicker-caption-today {\n cursor: pointer;\n background: #dedede;\n border-radius: 3px;\n display: inline-block;\n height: 10px;\n width: 10px;\n overflow: hidden;\n margin: 0 0 0 2px;\n transition: background-color 0.3s;\n}\n.w-datepicker-caption-today::before {\n content: '';\n display: block;\n height: 4px;\n width: 4px;\n border-radius: 3px;\n margin: 3px 0 0 3px;\n background-color: #a0a0a0;\n}\n.w-datepicker-caption-today:hover {\n background-color: #2ea3f4;\n}\n.w-datepicker-caption-today:hover::before {\n background-color: #fff;\n}\n.w-datepicker-caption-today:active {\n background-color: #007cd2;\n}\n.w-datepicker-caption-today:active::before {\n background-color: #fff;\n}\n",".w-datepicker {\n vertical-align: top;\n display: inline-block;\n position: relative;\n border-radius: 3px;\n background: #fff;\n color: #393e48;\n -webkit-user-select: none;\n user-select: none;\n font-size: 14px;\n line-height: 21px;\n padding: 5px;\n min-width: 192px;\n max-width: 192px;\n box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-datepicker-timepicker {\n border: 1px solid #e9e9e9;\n border-top: 0;\n border-radius: 0 0 4px 4px !important;\n}\n.w-datepicker-timepicker > div {\n max-height: 186px;\n}\n.w-datepicker-time-btn {\n cursor: pointer;\n margin-top: 2px;\n transition: background-color 0.3s;\n display: inline-block;\n border-radius: 3px;\n padding: 1px 5px;\n}\n.w-datepicker-time-btn:hover {\n background-color: #eaeaea;\n}\n.w-datepicker-time-btn:active {\n background-color: #d2d2d2;\n}\n",".w-calendar-inner {\n text-align: right;\n padding: 5px;\n}\n.w-calendar-panel {\n width: 100%;\n height: 90px;\n line-height: 16px;\n overflow-y: auto;\n text-align: left;\n}\n.w-calendar-panel > * {\n overflow: hidden;\n white-space: nowrap;\n width: 100%;\n text-overflow: ellipsis;\n font-size: 12px;\n}\n.w-calendar-caption {\n font-size: 26px;\n font-weight: 200;\n width: 100%;\n display: inline-block;\n}\n.w-calendar-title,\n.w-calendar-btn-group {\n display: inline-block;\n -webkit-user-select: none;\n user-select: none;\n}\n.w-calendar-btn-group {\n float: right;\n}\n.w-calendar-btn-group > .w-calendar-btn {\n font-size: 16px;\n padding: 2px 3px;\n position: relative;\n top: -3px;\n}\n.w-calendar-btn-group > .w-icon,\n.w-calendar-btn-group > .w-calendar-btn {\n cursor: pointer;\n border-radius: 3px;\n transition: all 0.3s;\n}\n.w-calendar-btn-group > .w-icon:hover,\n.w-calendar-btn-group > .w-calendar-btn:hover {\n background-color: #ececec;\n}\n.w-calendar-btn-group > .w-icon:active,\n.w-calendar-btn-group > .w-calendar-btn:active {\n background-color: #dedddd;\n}\n.w-calendar-btn-group > .w-icon,\n.w-calendar-btn-group > .w-calendar-btn {\n vertical-align: middle;\n margin-top: -6px;\n}\n.w-calendar-btn-group > .w-icon > svg,\n.w-calendar-btn-group > .w-calendar-btn > svg {\n width: 18px;\n height: 18px;\n margin: 4px 0px 0px 4px;\n}\n.w-calendar-btn-group > .w-icon:last-child,\n.w-calendar-btn-group > .w-calendar-btn:last-child {\n transform: rotate(-90deg);\n}\n.w-calendar-btn-group > .w-icon:first-child,\n.w-calendar-btn-group > .w-calendar-btn:first-child {\n transform: rotate(90deg);\n}\n.w-calendar-day {\n padding-right: 5px;\n}\n.w-calendar .w-datepicker-body {\n padding: 0 0 0 0;\n}\n.w-calendar .w-datepicker-week:last-child > div {\n border-bottom: 0;\n}\n.w-calendar .w-datepicker-week > div {\n border-radius: 0;\n border-right: 1px solid #ececec;\n border-bottom: 1px solid #ececec;\n}\n.w-calendar .w-datepicker-week > div:last-child {\n border-right: 0;\n}\n.w-calendar .w-datepicker-week > div > div {\n margin: 0;\n border-radius: 0;\n}\n.w-calendar .w-datepicker-weekday > div {\n background-color: #ececec;\n height: 32px;\n line-height: 32px;\n}\n",".w-card {\n background: #fff;\n border-radius: 5px;\n font-size: 14px;\n line-height: 1.5;\n position: relative;\n transition: all 0.3s;\n}\n.w-card:not(.w-card-no-hover):hover,\n.w-card.active {\n box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);\n border-color: rgba(0, 0, 0, 0.2);\n}\n.w-card-bordered {\n border: 1px solid #e9e9e9;\n}\n.w-card-head {\n height: 40px;\n line-height: 40px;\n padding: 0 14px;\n border-radius: 2px 2px 0 0;\n zoom: 1;\n}\n.w-card-head + .w-card-body {\n border-top: 1px solid #e9e9e9;\n}\n.w-card-head-title {\n font-size: 14px;\n text-overflow: ellipsis;\n max-width: 100%;\n overflow: hidden;\n white-space: nowrap;\n color: rgba(0, 0, 0, 0.85);\n font-weight: 500;\n display: inline-block;\n}\n.w-card-extra {\n position: absolute;\n right: 16px;\n top: 0;\n}\n.w-card-body {\n padding: 14px;\n}\n.w-card-body + .w-card-footer {\n border-top: 1px solid rgba(0, 0, 0, 0.05);\n}\n.w-card-footer {\n padding: 8px 10px;\n}\n.w-card-footer a {\n color: rgba(0, 0, 0, 0.4);\n}\n",".w-carousel {\n overflow: hidden;\n}\n.w-carousel-content {\n height: 200px;\n transition: 0.6s ease-in-out;\n}\n",".w-menu-item {\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n border-radius: 2px;\n padding: 5px 7px;\n text-decoration: none;\n line-height: 20px;\n color: inherit;\n -webkit-user-select: none;\n user-select: none;\n transition: initial;\n transition: background-color 0.3s;\n}\n.w-menu-item:hover,\n.w-menu-item.active {\n color: inherit;\n cursor: pointer;\n text-decoration: none;\n background-color: rgba(167, 182, 194, 0.3);\n}\n.w-menu-item:active {\n background-color: rgba(115, 134, 148, 0.3);\n}\n.w-menu-item.w-disabled {\n outline: none !important;\n background-color: inherit !important;\n cursor: not-allowed !important;\n}\n.w-menu-item.w-disabled .w-menu-item-icon,\n.w-menu-item.w-disabled {\n color: rgba(92, 112, 128, 0.5) !important;\n}\n.w-menu-item-text {\n flex-grow: 1;\n}\n.w-menu-item > * {\n margin-right: 7px;\n}\n.w-menu-item > :last-child {\n margin-right: 0;\n}\n.w-menu-item-multiline {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n word-wrap: normal;\n}\n",".w-menu-subitem .w-menu-subitem-collapse {\n height: 0;\n}\n.w-menu-subitem-collapse {\n transition: height 300ms;\n position: relative !important;\n top: initial !important;\n left: initial !important;\n right: initial !important;\n bottom: initial !important;\n width: auto !important;\n overflow: hidden !important;\n}\n.w-menu-subitem-collapse ul {\n min-width: 100%;\n padding-right: 0px !important;\n}\n.w-menu-subitem-collapse-icon {\n transform: scale(0.79);\n}\n.w-menu-subitem-popup {\n min-width: 180px;\n}\n.w-menu-subitem-title.w-menu-subitem-collapse-title .w-close,\n.w-menu-subitem-title.w-menu-subitem-collapse-title .w-open {\n transition: rotate 0.3s all;\n}\n.w-menu-subitem-title.w-menu-subitem-collapse-title .w-close {\n transform: scale(0.79) rotate(90deg);\n}\n.w-menu-subitem-title.w-menu-subitem-collapse-title .w-open {\n transform: scale(0.79) rotate(-90deg);\n}\n.w-menu-subitem-enter,\n.w-menu-subitem-enter-done,\n.w-menu-subitem-exit {\n display: inherit;\n}\n",".w-menu {\n margin: 0 !important;\n padding: 5px;\n box-sizing: border-box;\n border-radius: 3px;\n min-width: 100%;\n width: 100%;\n text-align: left;\n font-size: 14px;\n transition: width 0.2s, min-width 0.2s, max-width 0.2s, height 0.2s, min-height 0.2s, max-height 0.2s;\n}\n.w-menu.w-menu-dark,\n.w-menu.w-menu-light {\n padding-left: 5px;\n}\n.w-menu:not(.w-menu-dark) {\n color: #182026;\n background: #fff;\n}\n.w-menu li {\n margin: 0 !important;\n list-style: none !important;\n position: relative;\n}\n.w-menu li:first-of-type {\n border-top: none;\n}\n.w-menu li a:not([href]) {\n color: inherit;\n}\n.w-menu.w-bordered {\n box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-menu .w-menu-divider {\n display: block;\n margin: 5px !important;\n border-top: 1px solid rgba(16, 22, 26, 0.15);\n}\n.w-menu .w-menu-divider > strong {\n display: block;\n line-height: 17px;\n}\n.w-menu .w-menu-divider:not(:first-of-type) > strong {\n margin-top: 10px;\n}\n.w-menu.w-menu-light.w-menu-inline-collapsed > li > .w-menu-item:hover {\n color: #008ef0;\n}\n.w-menu-inline-collapsed {\n width: 80px;\n min-width: 80px;\n}\n.w-menu-inline-collapsed > li > .w-menu-item {\n justify-content: center;\n padding-top: 10px;\n padding-bottom: 10px;\n font-size: 18px;\n}\n.w-menu-inline-collapsed > li > .w-menu-item:hover {\n background-color: transparent;\n color: #fff;\n}\n.w-menu-inline-collapsed > li > .w-menu-item > * {\n margin-right: 0;\n}\n.w-menu-inline-collapsed > li > .w-menu-item .w-menu-item-text {\n width: 0;\n flex-grow: 0;\n}\n.w-menu-inline-collapsed > li > .w-menu-item .w-menu-subitem-collapse-icon {\n display: none;\n}\n.w-menu-dark,\n.w-menu-dark.w-bordered,\n.w-menu-dark .w-menu {\n background: #343a40;\n color: rgba(255, 255, 255, 0.65);\n}\n.w-menu-dark.w-bordered {\n box-shadow: initial;\n}\n.w-menu-dark .active {\n color: #fff !important;\n}\n.w-menu-dark .w-menu-item.w-disabled,\n.w-menu-dark .w-menu-item.w-disabled .w-menu-item-icon {\n color: rgba(142, 142, 142, 0.79) !important;\n}\n.w-menu-dark .w-menu-divider {\n border-top: 1px solid rgba(255, 255, 255, 0.2);\n}\n",".w-cascader-close {\n font-size: 15px;\n margin-right: 1px;\n color: #393e48;\n}\n",".w-radio {\n vertical-align: middle;\n display: inline-block;\n font-size: 12px;\n}\n.w-radio input[type='radio'] {\n outline: none;\n position: relative;\n width: 16px;\n height: 16px;\n background-clip: border-box;\n -webkit-appearance: none;\n appearance: none;\n margin: -0.15px 0.6px 0 0;\n border-radius: 50%;\n background-color: #fff;\n border: 1px solid #d7d7d7;\n transition: border 0.25s, box-shadow 0.25s;\n}\n.w-radio input[type='radio']:not(:checked):not(:disabled):not(.disabled):hover,\n.w-radio input[type='radio']:not(:checked):not(:disabled):not(.disabled):focus {\n box-shadow: 0 0 0 2px rgba(0, 142, 240, 0.25);\n}\n.w-radio input[type='radio'],\n.w-radio-text {\n vertical-align: middle;\n}\n.w-radio input[type='radio']:checked {\n border: 5px solid #008ef0;\n}\n.w-radio input[type='radio']:checked:focus {\n box-shadow: 0 0 0 2px rgba(0, 142, 240, 0.25);\n}\n.w-radio.disabled {\n color: #c7c7c7;\n cursor: not-allowed;\n}\n.w-radio.disabled input[type='radio'] {\n cursor: not-allowed;\n}\n.w-radio.disabled input[type='radio']:checked {\n border: 5px solid #cecece;\n}\n.w-radio.disabled:not(.checked) input[type='radio'] {\n background-color: #efefef;\n}\n.w-radio-text {\n display: inline-block;\n margin-left: 4px;\n margin-right: 5px;\n font-size: 14px;\n}\n",".w-radio-group {\n font-size: 0;\n}\n",".w-checkbox {\n vertical-align: middle;\n font-size: 0;\n cursor: pointer;\n white-space: nowrap;\n}\n.w-checkbox input[type='checkbox'] {\n outline: none;\n width: 14px;\n height: 14px;\n font-size: 14px;\n line-height: 14px;\n border-radius: 2px;\n background-clip: border-box;\n -webkit-appearance: none;\n appearance: none;\n margin: 0 !important;\n background-color: #d7d7d7;\n transition: background-color 0.3s, box-shadow 0.3s;\n}\n.w-checkbox input[type='checkbox']:after {\n content: '';\n box-sizing: inherit;\n}\n.w-checkbox input[type='checkbox']:not(:checked):not(:disabled):not(.disabled):focus,\n.w-checkbox input[type='checkbox']:not(:checked):not(:disabled):not(.disabled):hover {\n box-shadow: inset 0 1px 2px rgba(16, 22, 26, 0.35);\n}\n.w-checkbox.disabled,\n.w-checkbox.disabled input[type='checkbox'] {\n cursor: not-allowed;\n}\n.w-checkbox.disabled input[type='checkbox'] {\n opacity: 0.5;\n}\n.w-checkbox.disabled .w-checkbox-text {\n color: #6e6e6e;\n}\n.w-checkbox.indeterminate input[type='checkbox'],\n.w-checkbox.indeterminate input[type='checkbox']:checked {\n background-color: transparent;\n box-shadow: inset 0 0 0 1px #008ef0;\n}\n.w-checkbox.indeterminate input[type='checkbox']:after,\n.w-checkbox.indeterminate input[type='checkbox']:checked:after {\n display: inline-block;\n background-color: #008df8;\n box-sizing: inherit;\n transform: rotate(0);\n position: relative;\n top: -1px;\n right: -3px;\n border-width: 0;\n border-radius: 2px;\n height: 8px;\n width: 8px;\n}\n.w-checkbox input[type='checkbox'],\n.w-checkbox-text {\n vertical-align: middle;\n}\n.w-checkbox input[type='checkbox']:checked {\n background-color: #008ef0;\n}\n.w-checkbox input[type='checkbox']:checked:after {\n transition: background-color 0.2s ease-in;\n display: inline-block;\n border: solid #fff;\n border-width: 0 2px 2px 0;\n transform: rotate(33deg);\n position: relative;\n top: -1px;\n right: -4px;\n height: 10px;\n width: 6px;\n}\n.w-checkbox-text {\n display: inline-block;\n padding-left: 4px;\n margin-right: 5px;\n font-size: 14px;\n}\n",".w-collapse {\n border-radius: 4px;\n line-height: 16px;\n font-size: 14px;\n background-color: #fff;\n border: 1px solid #d9d9d9;\n overflow: hidden;\n}\n.w-collapse > .w-collapse-item:last-child .w-collapse-header,\n.w-collapse > .w-collapse-item:last-child {\n border-radius: 0 0 5px 5px;\n}\n.w-collapse-title {\n flex: 1;\n}\n.w-collapse-header {\n padding: 8px 10px;\n color: rgba(0, 0, 0, 0.85);\n background-color: #fafafa;\n cursor: pointer;\n position: relative;\n transition: all 0.3s;\n z-index: 1;\n display: flex;\n}\n.w-collapse-header > .w-icon:first-child {\n margin-top: -2px;\n margin-right: 5px;\n transform: scale(0.85) rotate(-90deg);\n transition: transform 0.24s;\n}\n.w-collapse-header > .w-icon:first-child svg {\n display: block;\n}\n.w-collapse-header > * {\n vertical-align: middle;\n display: inline-block;\n}\n.w-collapse-active .w-collapse-header > .w-icon:first-child {\n transform: scale(0.85) rotate(0);\n}\n.w-collapse-panel {\n overflow: hidden;\n color: rgba(0, 0, 0, 0.65);\n padding: 0 10px;\n}\n.w-collapse-panel:before,\n.w-collapse-panel:after {\n content: '';\n height: 10px;\n display: block;\n overflow: hidden;\n}\n.w-collapse-panel:before {\n border-top: 1px solid #d9d9d9;\n margin: 0 -10px;\n z-index: 1;\n position: relative;\n}\n.w-collapse-panel:after {\n border-bottom: 1px solid #d9d9d9;\n margin: 0 -10px;\n z-index: 1;\n position: relative;\n}\n.w-collapse > .w-collapse-item:last-child .w-collapse-panel:after {\n border-bottom: 0 solid #d9d9d9;\n}\n.w-collapse > .w-collapse-item:not(.w-collapse-active):last-child .w-collapse-panel:before {\n border-top: 0 solid #d9d9d9;\n}\n.w-collapse-disabled .w-collapse-header {\n cursor: not-allowed;\n color: rgba(0, 0, 0, 0.25);\n background-color: #f7f7f7;\n}\n.w-collapse.w-noborder .w-collapse-header {\n background-color: transparent;\n}\n.w-collapse.w-noborder {\n border: 0;\n}\n.w-collapse.w-noborder .w-collapse-item .w-collapse-panel:after,\n.w-collapse.w-noborder .w-collapse-item .w-collapse-panel:before {\n border: 0;\n}\n.w-collapse.w-noborder .w-collapse-item:last-child {\n border: 0;\n}\n",".w-copy-to-clipboard {\n cursor: pointer;\n}\n.w-copy-to-clipboard-select {\n -webkit-user-select: text;\n user-select: text;\n display: none;\n}\n",".w-dateinputrange-contents {\n display: flex;\n justify-content: space-between;\n}\n.w-dateinputrange-contents input {\n box-shadow: none;\n padding: 0px;\n height: 20px;\n}\n.w-dateinputrange-contents .w-input-inner:hover {\n box-shadow: none !important;\n}\n.w-dateinputrange-contents .w-input-inner:focus {\n box-shadow: none !important;\n}\n.w-dateinputrange-inner {\n display: flex;\n justify-content: space-between;\n outline: none;\n border: none;\n align-items: center;\n border-radius: 3px;\n box-shadow: 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n box-sizing: border-box;\n background: #fff;\n min-height: 30px;\n margin: 0 !important;\n padding: 3px 10px 3px 10px;\n vertical-align: middle;\n line-height: 30px;\n color: #393e48;\n font-weight: 400;\n font-size: inherit;\n transition: box-shadow 0.3s cubic-bezier(0.4, 1, 0.75, 0.9);\n -webkit-appearance: none;\n appearance: none;\n}\n.w-dateinputrange-inner:focus {\n box-shadow: 0 0 0 1px #393e48, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-dateinputrange-inner:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-dateinputrange-inner:focus.w-dateinputrange-inner:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-dateinputrange-inner:disabled {\n box-shadow: none;\n background: #dddddd;\n opacity: 0.75;\n color: #a5a5a5;\n cursor: not-allowed;\n resize: none;\n}\n",".w-dateinput {\n display: inline-block;\n}\n.w-dateinput-popover {\n box-shadow: 0 0 0 0;\n}\n.w-dateinput.disabled::before {\n cursor: not-allowed;\n content: ' ';\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n}\n.w-dateinput-close-btn {\n display: flex;\n margin: 0 3px;\n color: #a5a5a5;\n cursor: pointer;\n}\n.w-dateinput-close-btn:hover {\n color: #393e48;\n}\n",".w-descriptions table {\n display: table !important;\n margin-bottom: 0 !important;\n margin: 0;\n border-spacing: 0;\n border-collapse: collapse;\n table-layout: fixed;\n width: 100% !important;\n}\n.w-descriptions {\n background: #fff;\n}\n.w-descriptions-title {\n font-weight: bold;\n text-align: left;\n margin-bottom: 8px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 16px;\n line-height: 1.5;\n}\n.w-descriptions-tbody {\n word-wrap: break-word;\n}\n.w-descriptions .w-descriptions-row:nth-child(2n) {\n background-color: transparent;\n}\n.w-descriptions-item-label {\n font-size: 14px;\n font-weight: normal;\n}\n.w-descriptions-item-label::after {\n position: relative;\n top: -0.5px;\n margin: 0 8px 0 2px;\n content: ' ';\n}\n.w-descriptions-item-colon::after {\n content: ':';\n}\n.w-descriptions-item-colon {\n color: rgba(0, 0, 0, 0.95);\n}\n.w-descriptions-item-content {\n font-size: 14px;\n color: rgba(0, 0, 0, 0.65);\n}\n.w-descriptions-small.w-descriptions-bordered tbody tr th,\n.w-descriptions-small.w-descriptions-bordered tbody .w-descriptions-row td {\n padding: 4px 8px;\n}\n.w-descriptions-large.w-descriptions-bordered tbody tr th,\n.w-descriptions-large.w-descriptions-bordered tbody .w-descriptions-row td {\n padding: 14px 16px;\n}\n.w-descriptions-bordered {\n overflow: hidden;\n border-radius: 3px;\n border: 1px solid #dfe2e5;\n}\n.w-descriptions-bordered tbody tr th {\n padding: 8px 12px;\n background-color: #fafafa;\n font-weight: normal;\n}\n.w-descriptions-bordered tbody tr th,\n.w-descriptions-bordered tbody tr td {\n border-top: 1px solid #dfe2e5;\n border-right: 1px solid #dfe2e5;\n border-left: 0;\n border-bottom: 0;\n}\n.w-descriptions-bordered tbody:first-child tr:first-child th,\n.w-descriptions-bordered tbody:first-child tr:first-child td {\n border-top: 0;\n}\n.w-descriptions:not(.w-descriptions-bordered) .w-descriptions-row td {\n padding-bottom: 8px;\n}\n.w-descriptions-bordered .w-descriptions-row td {\n padding: 8px 12px;\n}\n.w-descriptions-bordered .w-descriptions-title {\n margin-bottom: 0;\n padding: 7px 12px;\n}\n.w-descriptions-bordered .w-descriptions-item-label:last-child,\n.w-descriptions-bordered .w-descriptions-item-content:last-child {\n border-right: none;\n}\n",".w-divider {\n font-size: 16px;\n line-height: 16px;\n box-sizing: border-box;\n padding: 0;\n list-style: none;\n background: #e8e8e8;\n}\n.w-divider-vertical {\n margin: 0 8px;\n display: inline-block;\n height: 0.9em;\n width: 1px;\n vertical-align: middle;\n position: relative;\n top: -0.06em;\n}\n.w-divider-horizontal {\n height: 1px;\n width: 100%;\n margin: 16px 0;\n}\n.w-divider-horizontal.w-divider-with-text {\n display: flex;\n white-space: nowrap;\n text-align: center;\n background: transparent;\n font-weight: 500;\n color: #353535;\n height: inherit;\n margin: 16px 0;\n}\n.w-divider-horizontal.w-divider-with-text:before,\n.w-divider-horizontal.w-divider-with-text:after {\n content: '';\n display: table-cell;\n position: relative;\n top: 50%;\n width: 50%;\n border-top: 1px solid #e8e8e8;\n transform: translateY(50%);\n}\n.w-divider-left.w-divider-with-text::before,\n.w-divider-right.w-divider-with-text::after {\n width: 5%;\n}\n.w-divider-left.w-divider-with-text::after,\n.w-divider-right.w-divider-with-text::before {\n width: 95%;\n}\n.w-divider-dashed.w-divider-with-text::before,\n.w-divider-dashed.w-divider-with-text::after {\n border-top-style: dashed;\n}\n.w-divider-inner-text {\n display: inline-block;\n padding: 0 10px;\n}\n.w-divider-dashed:not(.w-divider-with-text) {\n background: none;\n border-top: 1px dashed #e8e8e8;\n}\n",".w-drawer-wrapper {\n box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 46px 6px rgba(16, 22, 26, 0.2);\n background-color: #fff;\n position: fixed;\n margin: 0 !important;\n display: flex;\n flex-direction: column;\n}\n.w-drawer-header {\n display: flex;\n align-items: center;\n min-height: 40px;\n padding-left: 13px;\n padding-right: 5px;\n background-color: #fff;\n border-radius: 5px 5px 0 0;\n box-shadow: 0 1px 0 rgba(16, 22, 26, 0.15);\n font-size: 16px;\n}\n.w-drawer-header > .w-icon {\n margin-right: 10px;\n color: #393e48;\n}\n.w-drawer-header h4 {\n margin: 0;\n padding: 0;\n flex: 1 1 auto;\n}\n.w-drawer-body {\n flex: 1 1 auto;\n overflow: auto;\n line-height: 18px;\n}\n.w-drawer-footer {\n box-shadow: 0 -1px 0 rgba(16, 22, 26, 0.15);\n min-height: 40px;\n padding-left: 13px;\n padding-right: 5px;\n display: flex;\n align-items: center;\n}\n.w-drawer-body-inner {\n padding: 15px;\n}\n.w-drawer.top .w-drawer-wrapper,\n.w-drawer.bottom .w-drawer-wrapper {\n left: 0;\n right: 0;\n}\n.w-drawer.top .w-drawer-wrapper {\n top: 0;\n}\n.w-drawer.bottom .w-drawer-wrapper {\n bottom: 0;\n}\n.w-drawer.right .w-drawer-wrapper,\n.w-drawer.left .w-drawer-wrapper {\n bottom: 0;\n top: 0;\n}\n.w-drawer.right .w-drawer-wrapper {\n right: 0;\n}\n.w-drawer.left .w-drawer-wrapper {\n left: 0;\n}\n.w-drawer.w-overlay-enter .w-overlay-content {\n opacity: 1;\n}\n.w-drawer.w-overlay-enter-active .w-overlay-content {\n transition: all 0.2s cubic-bezier(0.4, 1, 0.75, 0.9);\n}\n.w-drawer.w-overlay-exit .w-overlay-content {\n opacity: 1;\n}\n.w-drawer.w-overlay-exit-active .w-overlay-content {\n transition: all 0.2s cubic-bezier(0.4, 1, 0.75, 0.9);\n}\n.w-drawer.right.w-overlay-enter .w-overlay-content {\n transform: translateX(100%);\n}\n.w-drawer.right.w-overlay-enter-active .w-overlay-content {\n transform: translateX(0);\n}\n.w-drawer.right.w-overlay-exit .w-overlay-content {\n transform: translateX(0);\n}\n.w-drawer.right.w-overlay-exit-active .w-overlay-content {\n transform: translateX(100%);\n}\n.w-drawer.left.w-overlay-enter .w-overlay-content {\n transform: translateX(-100%);\n}\n.w-drawer.left.w-overlay-enter-active .w-overlay-content {\n transform: translateX(0);\n}\n.w-drawer.left.w-overlay-exit .w-overlay-content {\n transform: translateX(0);\n}\n.w-drawer.left.w-overlay-exit-active .w-overlay-content {\n transform: translateX(-100%);\n}\n.w-drawer.top.w-overlay-enter .w-overlay-content {\n transform: translateY(-100%);\n}\n.w-drawer.top.w-overlay-enter-active .w-overlay-content {\n transform: translateY(0);\n}\n.w-drawer.top.w-overlay-exit .w-overlay-content {\n transform: translateY(0);\n}\n.w-drawer.top.w-overlay-exit-active .w-overlay-content {\n transform: translateY(-100%);\n}\n.w-drawer.bottom.w-overlay-enter .w-overlay-content {\n transform: translateY(100%);\n}\n.w-drawer.bottom.w-overlay-enter-active .w-overlay-content {\n transform: translateY(0);\n}\n.w-drawer.bottom.w-overlay-exit .w-overlay-content {\n transform: translateY(0);\n}\n.w-drawer.bottom.w-overlay-exit-active .w-overlay-content {\n transform: translateY(100%);\n}\n",".w-empty {\n color: #c7c7c7;\n text-align: center;\n}\n.w-empty-description {\n margin-top: 10px;\n}\n.w-empty-footer {\n margin-top: 16px;\n}\n",".w-fileinput input::-webkit-file-upload-button {\n background: transparent;\n border: 0;\n color: #0000;\n position: absolute;\n left: -300px;\n}\n.w-fileinput input:hover:after {\n background-clip: padding-box;\n background-color: #ebf1f5;\n box-shadow: inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);\n}\n.w-fileinput input:after {\n box-shadow: inset 0 0 0 1px rgba(16, 22, 26, 0.08);\n background-color: #f5f8fa;\n background-image: linear-gradient(180deg, hsla(0, 0%, 100%, 0.8), hsla(0, 0%, 100%, 0));\n color: #182026;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n word-wrap: normal;\n border-radius: 3px;\n content: 'Browse';\n content: attr(data-label);\n padding: 0 10px;\n margin: 3px;\n text-align: center;\n right: 0;\n display: flex;\n align-items: center;\n}\n.w-fileinput input::before,\n.w-fileinput input::after {\n color: #757575;\n position: absolute;\n top: 0;\n bottom: 0;\n}\n.w-fileinput-card {\n margin-right: -8px;\n}\n.w-fileinput-card-box {\n margin-right: 8px;\n margin-bottom: 8px;\n text-align: center;\n vertical-align: top;\n background-color: #fafafa;\n border: 1px dashed #d9d9d9;\n overflow: hidden;\n border-radius: 2px;\n cursor: pointer;\n transition: border-color 0.3s;\n display: inline-flex;\n position: relative;\n}\n.w-fileinput-card-box-info {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n}\n.w-fileinput-card-box-info img {\n width: 100%;\n height: 100%;\n}\n.w-fileinput-card-actions {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.5s;\n opacity: 0;\n background: rgba(0, 0, 0, 0.6);\n border-radius: 2px;\n}\n.w-fileinput-card-actions-remove {\n width: 24px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n.w-fileinput-card-btn {\n align-items: center;\n justify-content: center;\n}\n.w-fileinput-card-box:hover .w-fileinput-card-actions {\n opacity: 1;\n}\n.w-fileinput-card-size-large .w-fileinput-card-box {\n width: 110px;\n height: 110px;\n}\n.w-fileinput-card-size-middle .w-fileinput-card-box {\n width: 80px;\n height: 80px;\n}\n.w-fileinput-card-size-small .w-fileinput-card-box {\n width: 50px;\n height: 50px;\n}\n.w-fileinput-card-shape-round .w-fileinput-card-box {\n border-radius: 2px;\n}\n.w-fileinput-card-shape-circle .w-fileinput-card-box {\n border-radius: 50%;\n}\n.w-fileinput-list {\n padding-bottom: 8px;\n width: 100%;\n}\n.w-fileinput-list-actions {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.5s;\n opacity: 0;\n background: rgba(0, 0, 0, 0.6);\n border-radius: 2px;\n}\n.w-fileinput-list-actions-search {\n width: 24px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n.w-fileinput-list-info:hover .w-fileinput-list-actions {\n opacity: 1;\n}\n.w-fileinput-list-picture {\n border: 1px solid #d9d9d9;\n display: flex;\n align-items: center;\n padding: 5px;\n margin-top: 8px;\n}\n.w-fileinput-list-picture-info {\n margin-right: 10px;\n position: relative;\n overflow: hidden;\n}\n.w-fileinput-list-picture-info img {\n width: 48px;\n height: 48px;\n display: block;\n}\n.w-fileinput-list-picture-text {\n flex: 1;\n}\n.w-fileinput-list-picture-icon {\n padding: 5px;\n cursor: pointer;\n}\n.w-fileinput-list-size-large .w-fileinput-list-picture-info img {\n width: 70px;\n height: 70px;\n}\n.w-fileinput-list-size-middle .w-fileinput-list-picture-info img {\n width: 50px;\n height: 50px;\n}\n.w-fileinput-list-size-small .w-fileinput-list-picture-info img {\n width: 30px;\n height: 30px;\n}\n.w-fileinput-list-shape-round .w-fileinput-list-picture-info {\n border-radius: 2px;\n}\n.w-fileinput-list-shape-circle .w-fileinput-list-box-info {\n border-radius: 50px;\n}\n.w-fileinput-list-text {\n border: 1px solid transparent;\n display: flex;\n align-items: center;\n padding: 5px;\n transition: all 0.5s;\n}\n.w-fileinput-list-text:hover {\n background: #f5f5f5;\n}\n.w-fileinput-list-text:first-child {\n margin-top: 8px;\n}\n.w-fileinput-list-text-text {\n flex: 1;\n}\n.w-fileinput-list-text-icon {\n padding: 0 5px;\n cursor: pointer;\n}\n",".w-col {\n min-width: 0;\n box-sizing: border-box;\n flex: 0 0 auto;\n flex-grow: 1;\n flex-basis: 0;\n max-width: 100%;\n}\n.w-col-fixed {\n flex: 0 1 auto;\n}\n.w-col-align-top {\n align-self: flex-start;\n}\n.w-col-align-middle {\n align-self: center;\n}\n.w-col-align-bottom {\n align-self: flex-end;\n}\n.w-col-align-baseline {\n align-self: baseline;\n}\n.w-col-grow-1 {\n flex-grow: 1;\n}\n.w-col-grow-2 {\n flex-grow: 2;\n}\n.w-col-grow-3 {\n flex-grow: 3;\n}\n.w-col-grow-4 {\n flex-grow: 4;\n}\n.w-col-grow-5 {\n flex-grow: 5;\n}\n.w-col-grow-6 {\n flex-grow: 6;\n}\n.w-col-grow-7 {\n flex-grow: 7;\n}\n.w-col-grow-8 {\n flex-grow: 8;\n}\n.w-col-grow-9 {\n flex-grow: 9;\n}\n.w-col-grow-10 {\n flex-grow: 10;\n}\n.w-col-grow-11 {\n flex-grow: 11;\n}\n.w-col-1 {\n flex-basis: 4.16666667%;\n max-width: 4.16666667%;\n}\n.w-col-2 {\n flex-basis: 8.33333333%;\n max-width: 8.33333333%;\n}\n.w-col-3 {\n flex-basis: 12.5%;\n max-width: 12.5%;\n}\n.w-col-4 {\n flex-basis: 16.66666667%;\n max-width: 16.66666667%;\n}\n.w-col-5 {\n flex-basis: 20.83333333%;\n max-width: 20.83333333%;\n}\n.w-col-6 {\n flex-basis: 25%;\n max-width: 25%;\n}\n.w-col-7 {\n flex-basis: 29.16666667%;\n max-width: 29.16666667%;\n}\n.w-col-8 {\n flex-basis: 33.33333333%;\n max-width: 33.33333333%;\n}\n.w-col-9 {\n flex-basis: 37.5%;\n max-width: 37.5%;\n}\n.w-col-10 {\n flex-basis: 41.66666667%;\n max-width: 41.66666667%;\n}\n.w-col-11 {\n flex-basis: 45.83333333%;\n max-width: 45.83333333%;\n}\n.w-col-12 {\n flex-basis: 50%;\n max-width: 50%;\n}\n.w-col-13 {\n flex-basis: 54.16666667%;\n max-width: 54.16666667%;\n}\n.w-col-14 {\n flex-basis: 58.33333333%;\n max-width: 58.33333333%;\n}\n.w-col-15 {\n flex-basis: 62.5%;\n max-width: 62.5%;\n}\n.w-col-16 {\n flex-basis: 66.66666667%;\n max-width: 66.66666667%;\n}\n.w-col-17 {\n flex-basis: 70.83333333%;\n max-width: 70.83333333%;\n}\n.w-col-18 {\n flex-basis: 75%;\n max-width: 75%;\n}\n.w-col-19 {\n flex-basis: 79.16666667%;\n max-width: 79.16666667%;\n}\n.w-col-20 {\n flex-basis: 83.33333333%;\n max-width: 83.33333333%;\n}\n.w-col-21 {\n flex-basis: 87.5%;\n max-width: 87.5%;\n}\n.w-col-22 {\n flex-basis: 91.66666667%;\n max-width: 91.66666667%;\n}\n.w-col-23 {\n flex-basis: 95.83333333%;\n max-width: 95.83333333%;\n}\n.w-col-24 {\n flex-basis: 100%;\n max-width: 100%;\n}\n",".w-row {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n}\n.w-row.w-row-justify-flex-start {\n justify-content: flex-start;\n}\n.w-row.w-row-justify-flex-end {\n justify-content: flex-end;\n}\n.w-row.w-row-justify-center {\n justify-content: center;\n}\n.w-row.w-row-justify-space-between {\n justify-content: space-between;\n}\n.w-row.w-row-justify-space-around {\n justify-content: space-around;\n}\n.w-row.w-row-justify-space-evenly {\n justify-content: space-evenly;\n}\n.w-row-align-top {\n align-items: flex-start;\n}\n.w-row-align-middle {\n align-items: center;\n}\n.w-row-align-bottom {\n align-items: flex-end;\n}\n.w-row-align-baseline {\n align-items: baseline;\n}\n",".w-form-item {\n margin-bottom: 10px;\n}\n.w-form-item-error .w-form-help,\n.w-form-item-error .w-form-label {\n color: #dc3545;\n}\n.w-form-item-error .w-input-inner,\n.w-form-item-error .w-select,\n.w-form-item-error .w-select-default,\n.w-form-item-error .w-select:hover,\n.w-form-item-error .w-select-default:hover,\n.w-form-item-error .w-input-inner:hover,\n.w-form-item-error .w-input-inner:focus.w-input-inner:hover,\n.w-form-item-error .w-textarea,\n.w-form-item-error .w-textarea:hover,\n.w-form-item-error .w-search-tree-inner,\n.w-form-item-error .w-textarea:focus.w-textarea:hover {\n box-shadow: 0 0 0 1px #dc3545, 0 0 0 3px rgba(220, 53, 69, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-form-item-error .w-search-tree-inner .w-input .w-input-inner {\n box-shadow: none !important;\n}\n.w-form-label {\n line-height: 32px;\n min-height: 32px;\n font-weight: 600;\n font-size: 14px;\n padding-right: 5px;\n}\n.w-form-label label {\n display: inline-block;\n}\n.w-form-row {\n align-items: center;\n display: flex;\n}\n.w-form-help {\n color: #c2c2c2;\n font-size: 12px;\n padding-top: 3px;\n}\n",".w-form fieldset {\n margin: 0;\n padding: 0;\n border-width: 0;\n}\n",".w-list {\n font-size: 14px;\n line-height: 1.5;\n color: #52575c;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n position: relative;\n background-color: #fff;\n transition: all 0.3s;\n}\n.w-list:not(.w-list-no-hover):hover,\n.w-list-active {\n box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);\n border-color: rgba(0, 0, 0, 0.2);\n}\n.w-list-bordered {\n border: 1px solid #e9e9e9;\n border-radius: 4px;\n}\n.w-list-bordered .w-list-item:last-child {\n border-bottom: 0;\n border-radius: 0 0 4px 4px;\n}\n.w-list-item {\n display: flex;\n align-items: center;\n}\n.w-list-item.w-disabled {\n cursor: not-allowed;\n text-decoration: none;\n pointer-events: none;\n color: #a3a6a9;\n}\n.w-list-item.w-active {\n background: #f8f8f9;\n color: #007bff;\n}\n.w-list-item-main {\n display: block;\n flex: 1;\n}\n.w-list-item-extra {\n margin-left: 40px;\n}\na.w-list-item {\n display: block;\n color: #52575c;\n}\na.w-list-item:hover:not(.w-disabled) {\n background: #f8f8f9;\n}\n.w-list-striped .w-list-item:nth-of-type(2n) {\n background: #f8f8f9;\n}\n.w-list-bordered .w-list-item,\n.w-list-bordered .w-list-header {\n border-bottom: 1px solid #e8e8e8;\n}\n.w-list-item,\n.w-list-footer,\n.w-list-header {\n padding: 12px 18px;\n}\n.w-list-size-small .w-list-item,\n.w-list-size-small .w-list-footer,\n.w-list-size-small .w-list-header {\n padding: 8px 16px;\n}\n.w-list-size-large .w-list-item,\n.w-list-size-large .w-list-footer,\n.w-list-size-large .w-list-header {\n padding: 16px 24px;\n}\n",".w-layout,\n.w-layout * {\n box-sizing: border-box;\n}\n.w-layout {\n display: flex;\n flex: auto;\n flex-direction: column;\n min-height: 0;\n background: #f0f2f5;\n margin: 0;\n padding: 0;\n}\n.w-layout.w-layout-has-sider > .w-layout,\n.w-layout.w-layout-has-sider > .w-layout-content {\n width: 0;\n}\n.w-layout-header,\n.w-layout-footer {\n flex: 0 0 auto;\n}\n.w-layout-header {\n height: 53px;\n padding: 0 23px;\n color: rgba(0, 0, 0, 0.65);\n line-height: 53px;\n background: #202225;\n}\n.w-layout-footer {\n padding: 16px 23px;\n color: rgba(0, 0, 0, 0.65);\n font-size: 14px;\n background: #f0f2f5;\n}\n.w-layout-content {\n flex: auto;\n}\n.w-layout.w-layout-has-sider {\n flex-direction: row;\n}\n.w-layout-sider {\n position: relative;\n min-width: 0;\n background: #343a40;\n transition: all 0.2s;\n}\n",".w-loader {\n position: relative;\n display: inline-block;\n}\n.w-loader-tips-nested svg {\n height: 100%;\n width: 100%;\n animation: loaderRotate 2s linear infinite;\n transform-origin: center center;\n fill: currentcolor;\n vertical-align: middle;\n}\n.w-loader-tips-nested svg circle {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n animation: loaderDash 1.5s ease-in-out infinite, loaderColor 6s ease-in-out infinite;\n stroke-linecap: round;\n}\n.w-loader-large .w-loader-tips-nested svg {\n width: 30px;\n height: 30px;\n}\n.w-loader-large .w-loader-tips-nested svg circle {\n stroke-width: 3px;\n}\n.w-loader-default .w-loader-tips-nested svg {\n width: 20px;\n height: 20px;\n}\n.w-loader-small .w-loader-tips-nested svg {\n width: 14px;\n height: 14px;\n}\n.w-loader-blur {\n opacity: 0.5;\n filter: blur(0.5px);\n overflow: hidden;\n}\n.w-loader-warp {\n transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.w-loader-tips-nested {\n vertical-align: middle;\n display: inline-block;\n}\n.w-loader-tips {\n color: #2d8cf0;\n text-align: center;\n position: relative;\n height: 100%;\n width: 100%;\n z-index: 4;\n font-weight: 400;\n}\n.w-loader-tips:before {\n content: ' ';\n display: inline-block;\n height: 100%;\n width: 0.1px;\n vertical-align: middle;\n}\n.w-loader-tips:not(:last-child) {\n position: absolute;\n}\n.w-loader-text {\n display: inline-block;\n margin-left: 5px;\n vertical-align: middle;\n}\n.w-loader-vertical {\n display: block;\n margin-left: 0;\n margin-top: 5px;\n}\n.w-loader-fullscreen {\n position: fixed;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n z-index: 99999;\n}\n@keyframes loaderRotate {\n to {\n transform: rotate(1turn);\n }\n}\n@keyframes loaderDash {\n 0% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -35;\n }\n to {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -124;\n }\n}\n@keyframes loaderColor {\n 0%,\n to {\n stroke: currentColor;\n }\n 80%,\n 90% {\n stroke: currentColor;\n }\n}\n",".w-message {\n padding: 10px 15px;\n position: relative;\n font-size: 14px;\n}\n.w-message + .w-message {\n margin-top: 10px;\n}\n.w-message-title,\n.w-message-description {\n display: block;\n}\n.w-message-rounded {\n border-radius: 5px;\n}\n.w-message-description {\n color: rgba(0, 0, 0, 0.65);\n}\n.w-message-title {\n color: rgba(0, 0, 0, 0.85);\n}\n.w-message-title-description > .w-icon {\n font-size: 24px;\n}\n.w-message-title-description .w-message-title {\n font-size: 16px;\n}\n.w-message-title-description .w-message-title,\n.w-message-title-description .w-message-description {\n padding-left: 16px;\n}\n.w-message-icon {\n padding-left: 34px;\n}\n.w-message-success {\n background: #afecbd;\n color: #28a745;\n}\n.w-message > button {\n position: absolute;\n right: 10px;\n top: 10px;\n}\n.w-message > button.w-btn {\n padding: 2px;\n min-width: 16px;\n min-height: 16px;\n color: rgba(0, 0, 0, 0.38);\n}\n.w-message > button.w-btn:hover {\n background-color: rgba(255, 255, 255, 0.21) !important;\n}\n.w-message > button.w-btn:active {\n background-color: rgba(0, 0, 0, 0.1) !important;\n}\n.w-message-warning {\n background: #fff4d3;\n color: #ffc107;\n}\n.w-message-info {\n background: #bde4ff;\n color: #008ef0;\n}\n.w-message-error {\n background: #fae3e5;\n color: #dc3545;\n}\n.w-message > .w-icon {\n top: 14px;\n left: 14px;\n position: absolute;\n}\n.w-message-enter {\n transform: scaleY(0.5);\n opacity: 0;\n}\n.w-message-enter-active {\n opacity: 1;\n transform: scaleY(1);\n transition: transform 300ms ease, opacity 300ms ease;\n}\n.w-message-exit {\n opacity: 1;\n transform: scaleY(1);\n transition: transform 300ms ease, opacity 300ms ease;\n}\n.w-message-exit-active {\n transform: scaleY(0.5);\n opacity: 0;\n}\n",".w-monthpicker {\n display: inline-block;\n}\n.w-monthpicker-popover {\n padding: 5px;\n min-width: 192px;\n max-width: 192px;\n font-size: 14px;\n line-height: 21px;\n}\n.w-monthpicker.disabled .w-monthpicker-close-btn {\n display: none !important;\n}\n.w-monthpicker .w-monthpicker-close-btn {\n min-height: initial;\n color: #a5a5a5;\n cursor: pointer;\n}\n.w-monthpicker .w-monthpicker-close-btn:hover {\n color: #393e48;\n}\n.w-monthpicker .w-monthpicker-close-btn:active,\n.w-monthpicker .w-monthpicker-close-btn:hover {\n background-color: transparent !important;\n}\n",".w-notify {\n position: relative !important;\n z-index: 9999;\n}\n.w-notify-warpper .w-notify .w-modal-inner .w-modal-header > .w-icon {\n font-size: 28px !important;\n}\n.w-notify-warpper .w-notify .w-modal-inner .w-modal-header > .w-btn {\n min-width: 18px;\n min-height: 18px;\n padding: 5px 5px;\n}\n.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-icon:not(.w-modal-shown-title) .w-modal-header > button {\n top: 12px;\n right: 10px;\n position: absolute;\n}\n.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-icon:not(.w-modal-shown-title) .w-modal-body {\n padding-right: 36px;\n}\n.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title .w-modal-header {\n padding-top: 20px;\n}\n.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title .w-modal-header > button {\n top: 5px;\n right: 5px;\n position: absolute;\n}\n.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title .w-modal-header > h4 {\n padding-left: 40px;\n padding-right: 20px;\n}\n.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title .w-modal-body {\n padding-left: 60px;\n opacity: 0.75;\n}\n.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title:not(.w-modal-shown-icon) .w-modal-header > h4 {\n padding-left: 5px;\n}\n.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title:not(.w-modal-shown-icon) .w-modal-body {\n padding-left: 25px;\n}\n.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title):not(.w-modal-shown-icon) .w-modal-body {\n padding: 16px;\n}\n.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title).w-modal-inner {\n padding-bottom: 0;\n}\n.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title).w-modal-inner .w-modal-header {\n padding-top: 16px;\n}\n.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title).w-modal-inner .w-modal-header > .w-icon {\n font-size: 20px !important;\n}\n.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title) .w-modal-body {\n padding: 16px 12px;\n}\n.w-notify-warpper .w-notify .w-overlay-content {\n margin: 5px;\n}\n.w-notify-warpper {\n position: fixed;\n padding: 5px;\n z-index: 999;\n}\n.w-notify-warpper.topLeft {\n top: 0;\n left: 0;\n}\n.w-notify-warpper.topRight {\n top: 0;\n right: 0;\n}\n.w-notify-warpper.bottomLeft {\n bottom: 0;\n left: 0;\n}\n.w-notify-warpper.bottomRight {\n bottom: 0;\n right: 0;\n}\n",".w-select {\n display: inline-flex;\n font-size: 14px;\n -webkit-appearance: none;\n appearance: none;\n cursor: pointer;\n color: #182026;\n padding: 6px 25px 6px 10px;\n width: 100%;\n max-width: 100%;\n margin: 0;\n line-height: 18px;\n vertical-align: middle;\n box-sizing: border-box;\n border: none;\n box-shadow: inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);\n border-radius: 3px;\n background-color: #f5f8fa;\n background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDEyIDE2Ij4gIDxwYXRoIGZpbGw9IiMzOTNFNDgiIGQ9Ik0wLjIyMiw1LjYxMyBMNS40NTEsMC4yMjMgQzUuNzU2MjEyMDksLTAuMDc0MzYzMjMzMyA2LjI0Mjc4NzkxLC0wLjA3NDM2MzIzMzMgNi41NDgsMC4yMjMgTDExLjc3OCw1LjYxMyBDMTIuMTgsNi4wMjcgMTIuMDI1LDYuNjY3IDExLjQwNyw2LjY2NyBMMC41OTIsNi42NjcgQy0wLjAyNCw2LjY2NyAtMC4xOCw2LjAyNyAwLjIyMiw1LjYxMyBaIE0wLjU5Miw5LjMzMyBMMTEuNDA3LDkuMzMzIEMxMi4wMjUsOS4zMzMgMTIuMTgsOS45NzMgMTEuNzc3LDEwLjM4NyBMNi41NDcsMTUuNzc3IEM2LjI0MTkxMjU4LDE2LjA3MzcxNDMgNS43NTYwODc0MiwxNi4wNzM3MTQzIDUuNDUxLDE1Ljc3NyBMMC4yMjIsMTAuMzg3IEMtMC4xOCw5Ljk3MyAtMC4wMjQsOS4zMzMgMC41OTIsOS4zMzMgWiIvPjwvc3ZnPg=='), linear-gradient(180deg, hsla(0, 0%, 100%, 0.8), hsla(0, 0%, 100%, 0));\n background-repeat: no-repeat, repeat;\n background-position: right 0.7em top 50%, 0 0;\n background-size: 0.62em auto, 100%;\n}\n.w-select:focus {\n outline: none !important;\n}\n.w-select:hover {\n box-shadow: inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);\n background-clip: padding-box;\n background-color: #ebf1f5;\n}\n.w-select:disabled {\n box-shadow: none;\n background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDEyIDE2Ij4gIDxwYXRoIGZpbGw9IiMzOTNFNDgiIGQ9Ik0wLjIyMiw1LjYxMyBMNS40NTEsMC4yMjMgQzUuNzU2MjEyMDksLTAuMDc0MzYzMjMzMyA2LjI0Mjc4NzkxLC0wLjA3NDM2MzIzMzMgNi41NDgsMC4yMjMgTDExLjc3OCw1LjYxMyBDMTIuMTgsNi4wMjcgMTIuMDI1LDYuNjY3IDExLjQwNyw2LjY2NyBMMC41OTIsNi42NjcgQy0wLjAyNCw2LjY2NyAtMC4xOCw2LjAyNyAwLjIyMiw1LjYxMyBaIE0wLjU5Miw5LjMzMyBMMTEuNDA3LDkuMzMzIEMxMi4wMjUsOS4zMzMgMTIuMTgsOS45NzMgMTEuNzc3LDEwLjM4NyBMNi41NDcsMTUuNzc3IEM2LjI0MTkxMjU4LDE2LjA3MzcxNDMgNS43NTYwODc0MiwxNi4wNzM3MTQzIDUuNDUxLDE1Ljc3NyBMMC4yMjIsMTAuMzg3IEMtMC4xOCw5Ljk3MyAtMC4wMjQsOS4zMzMgMC41OTIsOS4zMzMgWiIvPjwvc3ZnPg==');\n background-size: 0.52em auto, 100%;\n background-color: #dddddd;\n opacity: 0.75;\n color: #a5a5a5;\n cursor: not-allowed;\n resize: none;\n}\n.w-select-large {\n padding: 9px 25px 9px 12px;\n font-size: 16px;\n}\n.w-select-small {\n padding: 3px 25px 3px 7px;\n font-size: 12px;\n}\n",".w-pagination {\n padding: 0 !important;\n margin: 0 !important;\n position: relative;\n -webkit-user-select: none;\n user-select: none;\n font-size: 12px;\n}\n.w-pagination-left {\n text-align: left;\n}\n.w-pagination-center {\n text-align: center;\n}\n.w-pagination-right {\n text-align: right;\n}\n.w-pagination > li {\n height: 28px;\n line-height: 28px;\n vertical-align: middle;\n text-align: center;\n position: relative;\n cursor: pointer;\n display: inline-flex !important;\n transition: background-color 0.2s ease-in, box-shadow 0.2s ease-in;\n margin: 0 !important;\n display: inline-flex;\n align-items: center;\n}\n.w-pagination > li > a {\n text-decoration: none;\n color: rgba(0, 0, 0, 0.5);\n transition: none;\n margin: 0 10px;\n display: block;\n}\n.w-pagination > li > a.arrow {\n padding: 0 3px;\n}\n.w-pagination > li > a.arrow::after,\n.w-pagination > li > a.arrow::before {\n content: '';\n display: block;\n height: 8px;\n width: 2px;\n border-radius: 2px;\n background-color: #565656;\n transition: all 0.3s;\n}\n.w-pagination > li > a.arrow::after {\n margin-top: -4px;\n}\n.w-pagination > li > a.arrow.prev::after,\n.w-pagination > li > a.arrow.next::before {\n transform: rotate(-45deg);\n}\n.w-pagination > li > a.arrow.prev::before,\n.w-pagination > li > a.arrow.next::after {\n transform: rotate(45deg);\n}\n.w-pagination > li.disabled {\n cursor: not-allowed;\n}\n.w-pagination > li.disabled > a.arrow::after,\n.w-pagination > li.disabled > a.arrow::before {\n background: #d4d4d4;\n}\n.w-pagination.small > li {\n height: 21px;\n line-height: 21px;\n border-radius: 4px;\n}\n.w-pagination.small > li > a {\n margin: 0 3px;\n min-width: 15px;\n}\n.w-pagination.small > li > a.arrow::after,\n.w-pagination.small > li > a.arrow::before {\n margin-left: 6px;\n}\n.w-pagination.small > li.active {\n background-color: #ececec;\n}\n.w-pagination.small > li:not(.active):hover a {\n color: #2ea3f4;\n}\n.w-pagination.default > li {\n background: #fff;\n border: 1px solid #d4d4d4;\n border-left: 0;\n}\n.w-pagination.default > li:not(.disabled):not(.active):hover {\n background-color: #f6f6f6;\n}\n.w-pagination.default > li:not(.disabled):active {\n box-shadow: inset 0 8px 42px -12px rgba(0, 0, 0, 0.2);\n}\n.w-pagination.default > li:first-child {\n border-left: 1px solid #d4d4d4;\n border-radius: 3px 0 0 3px;\n}\n.w-pagination.default > li:last-child {\n border-radius: 0 3px 3px 0;\n}\n.w-pagination.default > li.active {\n background-color: #ececec;\n}\n.w-pagination.default > li.active:active {\n box-shadow: inset 0 0 0 rgba(0, 0, 0, 0);\n}\n.w-pagination.default.divider li + li {\n margin-left: 8px !important;\n border: 1px solid #d4d4d4;\n}\n.w-pagination.default.divider li {\n border-radius: 4px;\n}\n.w-pagination-options {\n margin-left: 8px !important;\n}\n.w-pagination-options .w-select {\n border: none !important;\n padding-top: 0;\n padding-bottom: 0;\n box-shadow: none !important;\n height: 100%;\n}\n",".w-pin-code {\n display: flex;\n}\n.w-pin-code-inner + .w-pin-code-inner {\n margin-left: 8px;\n}\n.w-pin-code-inner {\n width: 30px;\n}\n.w-pin-code-inner > input {\n text-align: center;\n padding: 0 !important;\n font-size: 14px;\n font-weight: bold;\n}\n.w-pin-code-large .w-pin-code-inner {\n width: 36px;\n}\n.w-pin-code-large .w-pin-code-inner input {\n font-size: 16px;\n}\n.w-pin-code-small .w-pin-code-inner {\n width: 24px;\n}\n.w-pin-code-small .w-pin-code-inner input {\n font-size: 12px;\n}\n",".w-progress {\n position: relative;\n line-height: 1;\n display: inline-block;\n}\n.w-progress-text {\n color: #48576a;\n display: inline-block;\n vertical-align: middle;\n margin-left: 10px;\n line-height: 1;\n}\n",".w-progress-circle .w-progress-text {\n position: absolute;\n top: 50%;\n left: 0;\n width: 100%;\n text-align: center;\n margin: 0;\n transform: translate(0, -50%);\n font-size: 16px;\n}\n.w-progress-trail {\n stroke: #e5e9f2;\n}\n.w-progress-stroke {\n stroke: #20a0ff;\n}\n.w-progress-status-success .w-progress-stroke {\n stroke: #28a745;\n}\n.w-progress-status-exception .w-progress-stroke {\n stroke: #ff4949;\n}\n",".w-progress-line {\n width: 100%;\n font-size: 12px;\n}\n.w-progress-bar,\n.w-progress-text {\n box-sizing: border-box;\n}\n.w-progress-bar {\n display: inline-block;\n width: 100%;\n vertical-align: middle;\n}\n.w-progress-status-active .w-progress-bg {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 12px 12px;\n animation: progress-bar-stripes 1s linear infinite;\n}\n.w-progress-status-active .w-progress-bg:before {\n content: ' ';\n opacity: 0;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #fff;\n border-radius: 10px;\n animation: w-progress-active 2.4s cubic-bezier(0.23, 1, 0.32, 1) infinite;\n}\n.w-progress-status-exception .w-progress-bg {\n background-color: #dc3545;\n}\n.w-progress-status-exception .w-progress-text {\n color: #dc3545;\n}\n.w-progress-status-success .w-progress-bg {\n background-color: #28a745;\n}\n.w-progress-status-success .w-progress-text {\n color: #28a745;\n}\n.w-progress-show-text .w-progress-bar {\n margin-right: -50px;\n padding-right: 50px;\n}\n.w-progress-inner {\n height: 100%;\n width: 100%;\n border-radius: 100px;\n background-color: #e5e9f2;\n overflow: hidden;\n}\n.w-progress-bg {\n height: 100%;\n border-radius: 100px;\n background-color: #108ee9;\n transition: all 0.4s cubic-bezier(0.08, 0.82, 0.17, 1) 0s;\n position: relative;\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 0 0;\n }\n to {\n background-position: 24px 0;\n }\n}\n@keyframes w-progress-active {\n 0% {\n opacity: 0.1;\n width: 0;\n }\n 20% {\n opacity: 0.5;\n width: 0;\n }\n 100% {\n opacity: 0;\n width: 100%;\n }\n}\n",".w-rate {\n position: relative;\n line-height: 12px;\n font-size: 20px;\n font-family: auto;\n display: inline-block;\n vertical-align: middle;\n}\n.w-rate > span + span {\n margin-left: 3px;\n}\n.w-rate-bg {\n color: #e9e9e9;\n}\n.w-rate > span,\n.w-rate-bg {\n cursor: pointer;\n position: relative;\n display: inline-block;\n}\n.w-rate-hight {\n z-index: 3;\n line-height: 12px;\n position: absolute;\n transition: color 0.3s, width 0.3s;\n color: #e9e9e9;\n display: none;\n}\n.w-rate .hover-on {\n cursor: pointer;\n}\n.w-rate .star-on,\n.w-rate .hover-on,\n.w-rate .half-on {\n display: inline-block;\n color: #f5a623;\n}\n.w-rate .half-on:not(.hover-on) {\n overflow: hidden;\n width: 50%;\n}\n",".w-tag {\n border-radius: 2px;\n display: inline-block;\n -webkit-user-select: none;\n user-select: none;\n font-size: 12px;\n padding: 1px 5px;\n position: relative;\n white-space: nowrap;\n vertical-align: middle;\n}\n.w-tag + .w-tag {\n margin-left: 5px;\n}\n.w-tag.disabled {\n opacity: 0.75;\n cursor: not-allowed;\n}\n.w-tag-light .w-tag-close:hover {\n background-color: currentcolor;\n}\n.w-tag-light .w-tag-close:hover path {\n fill: #fff;\n}\n.w-tag-light .w-tag-close:active {\n background-color: rgba(0, 0, 0, 0.15);\n}\n.w-tag-close {\n vertical-align: bottom;\n margin: 0px -3px 0 2px;\n border-radius: 2px;\n position: relative;\n top: -1px;\n fill: currentcolor;\n transition: all 0.3s;\n cursor: pointer;\n}\n.w-tag-close:hover {\n background-color: rgba(0, 0, 0, 0.22);\n}\n.w-tag-close:active {\n background-color: rgba(0, 0, 0, 0.32);\n}\n",".w-search-select-input-contents input {\n box-shadow: none;\n padding: 0px;\n height: 28px;\n}\n.w-search-select-input-contents.w-input-small {\n min-width: 0;\n}\n.w-search-select-input-contents .w-input-inner:hover {\n box-shadow: none !important;\n}\n.w-search-select-input-contents .w-input-inner:focus {\n box-shadow: none !important;\n}\n.w-search-select-input-contents .w-input-inner.disabled {\n box-shadow: none;\n background: #dddddd;\n opacity: 0.75;\n color: #a5a5a5;\n cursor: not-allowed;\n resize: none;\n}\n.w-search-select-inner {\n display: flex;\n justify-content: space-between;\n outline: none;\n border: none;\n border-radius: 3px;\n box-shadow: 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n box-sizing: border-box;\n background: #fff;\n margin: 0 !important;\n padding: 1px 1px;\n vertical-align: middle;\n line-height: 30px;\n align-items: center;\n color: #393e48;\n font-weight: 400;\n font-size: inherit;\n transition: box-shadow 0.3s cubic-bezier(0.4, 1, 0.75, 0.9);\n -webkit-appearance: none;\n appearance: none;\n}\n.w-search-select-inner:focus {\n box-shadow: 0 0 0 1px #393e48, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-search-select-inner:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-search-select-inner:focus.w-search-select-inner:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-search-select-inner:disabled {\n box-shadow: none;\n background: #dddddd;\n opacity: 0.75;\n color: #a5a5a5;\n cursor: not-allowed;\n resize: none;\n}\n.w-search-select-inner-inner-small {\n height: 20px;\n}\n.w-search-select-inner-inner-large {\n height: 30px;\n}\n.w-search-select-inner .w-input-small .w-input-inner {\n height: 16px;\n font-size: 10px;\n padding: 0;\n}\n.w-search-select-inner .w-input-large .w-input-inner {\n height: 28px;\n}\n.w-search-select-tag-content {\n display: flex;\n align-items: center;\n flex-flow: wrap;\n width: 100%;\n padding: 0 9px;\n}\n.w-search-select-tag-content-disabled {\n background: #dddddd;\n}\n.w-search-select-search-false {\n cursor: pointer;\n}\n.w-search-select-multiple-colse {\n right: 3px;\n font-size: 15px;\n}\n.w-search-select-singe-colse {\n font-size: 15px;\n}\n",".w-split {\n height: 100%;\n display: flex;\n flex-direction: row;\n}\n.w-split-bar {\n z-index: 10;\n position: relative;\n justify-content: center;\n display: flex;\n background: #f8f8f9;\n -webkit-user-select: none;\n user-select: none;\n}\n.w-split-bar::before,\n.w-split-bar::after {\n content: '';\n display: block;\n}\n.w-split-bar.disable {\n pointer-events: none;\n cursor: not-allowed !important;\n}\n.w-split-bar:hover:not(.disable) {\n transition: background-color 0.3s;\n background: #ecf7ff;\n}\n.w-split.dragging .w-split-pane {\n position: relative;\n}\n.w-split.dragging .w-split-pane::before {\n content: '';\n display: block;\n position: absolute;\n height: 100%;\n width: 100%;\n z-index: 10;\n}\n.w-split > .w-split-pane {\n -webkit-transform: none;\n transform: none;\n}\n.w-split:not(.dragging) > .w-split-pane {\n transition: all 0.3s;\n}\n.w-split-horizontal > .w-split-bar {\n cursor: col-resize;\n width: 5px;\n flex-direction: column;\n box-shadow: inset 1px 0 0 0 #d5d5d5, 1px 0 0 0 #d5d5d5;\n}\n.w-split-horizontal > .w-split-bar::before,\n.w-split-horizontal > .w-split-bar::after {\n height: 3px;\n width: 100%;\n box-shadow: inset 0 1px 0 0 #d5d5d5, 0 1px 0 0 #d5d5d5;\n}\n.w-split-horizontal > .w-split-bar::before {\n margin-top: -1px;\n}\n.w-split-horizontal > .w-split-bar::after {\n margin-top: 3px;\n}\n.w-split-horizontal > .w-split-bar.disable {\n box-shadow: inset 1px 0 0 0 #e6e6e6, 1px 0 0 0 #eaeaea !important;\n}\n.w-split-vertical {\n flex-direction: column;\n}\n.w-split-vertical > .w-split-bar {\n cursor: row-resize;\n width: 100%;\n height: 5px;\n align-items: center;\n flex-direction: row;\n box-shadow: inset 0 1px 0 0 #d5d5d5, 0 1px 0 0 #d5d5d5;\n}\n.w-split-vertical > .w-split-bar.disable {\n box-shadow: inset 0 1px 0 0 #e6e6e6, 0 1px 0 0 #eaeaea !important;\n}\n.w-split-vertical > .w-split-bar::before,\n.w-split-vertical > .w-split-bar::after {\n height: 100%;\n width: 3px;\n box-shadow: inset 1px 0 0 0 #d5d5d5, 1px 0 0 0 #d5d5d5;\n}\n.w-split-vertical > .w-split-bar::before {\n margin-left: -1px;\n}\n.w-split-vertical > .w-split-bar::after {\n margin-left: 3px;\n}\n.w-split-large-bar div {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n}\n.w-split-vertical > .w-split-line-bar:hover::before,\n.w-split-horizontal > .w-split-line-bar:hover::before {\n border-color: #008EF0;\n}\n.w-split-vertical > .w-split-line-bar {\n height: 1px;\n}\n.w-split-vertical > .w-split-line-bar div {\n cursor: row-resize;\n width: 100%;\n height: 8px;\n margin-top: -2px;\n margin-bottom: -2px;\n}\n.w-split-vertical > .w-split-line-bar div:hover,\n.w-split-vertical > .w-split-line-bar div:active,\n.w-split-vertical > .w-split-line-bar div:focus {\n margin-top: -6px;\n margin-bottom: -6px;\n height: 6px;\n}\n.w-split-vertical > .w-split-line-bar div:hover::after,\n.w-split-vertical > .w-split-line-bar div:active::after,\n.w-split-vertical > .w-split-line-bar div:focus::after {\n background-color: #008EF0;\n}\n.w-split-vertical > .w-split-line-bar div::after {\n height: 1px;\n width: 100%;\n}\n.w-split-horizontal > .w-split-line-bar {\n width: 1px;\n}\n.w-split-horizontal > .w-split-line-bar div {\n cursor: col-resize;\n height: 100%;\n width: 8px;\n margin-left: -2px;\n margin-right: -2px;\n}\n.w-split-horizontal > .w-split-line-bar div:hover,\n.w-split-horizontal > .w-split-line-bar div:active,\n.w-split-horizontal > .w-split-line-bar div:focus {\n margin-left: -6px;\n margin-right: -6px;\n width: 6px;\n}\n.w-split-horizontal > .w-split-line-bar div:hover::after,\n.w-split-horizontal > .w-split-line-bar div:active::after,\n.w-split-horizontal > .w-split-line-bar div:focus::after {\n background-color: #008EF0;\n}\n.w-split-horizontal > .w-split-line-bar div::after {\n width: 1px;\n height: 100%;\n}\n.w-split-vertical > .w-split-line-bar,\n.w-split-horizontal > .w-split-line-bar {\n flex-direction: inherit;\n}\n.w-split-vertical > .w-split-line-bar::before,\n.w-split-horizontal > .w-split-line-bar::before {\n display: none;\n}\n.w-split-vertical > .w-split-line-bar div,\n.w-split-horizontal > .w-split-line-bar div {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.w-split-vertical > .w-split-line-bar div::after,\n.w-split-horizontal > .w-split-line-bar div::after {\n content: '';\n display: block;\n background-color: #d5d5d5;\n}\n.w-split-line-bar {\n box-shadow: inset 0 0 0 0 !important;\n background: transparent;\n}\n.w-split-line-bar::before {\n box-shadow: inset 0 0 0 0 !important;\n}\n.w-split-line-bar::after {\n display: none;\n}\n",".w-steps {\n font-size: 0;\n width: 100%;\n line-height: 1.5;\n}\n.w-steps .w-steps-item {\n position: relative;\n display: inline-block;\n vertical-align: top;\n}\n.w-steps .w-steps-item:last-child .w-steps-item-tail {\n display: none;\n text-align: center;\n}\n.w-steps .w-steps-item-tail {\n position: absolute;\n left: 0;\n width: 100%;\n top: 13px;\n padding: 0 10px;\n height: 1px;\n}\n.w-steps .w-steps-item-tail i {\n display: block;\n width: 100%;\n height: 100%;\n position: relative;\n background-color: #e9e9e9;\n}\n.w-steps .w-steps-item-tail i:after {\n position: absolute;\n content: ' ';\n top: 0;\n width: 0;\n height: 100%;\n transition: all 0.6s;\n}\n.w-steps .w-steps-item-head,\n.w-steps .w-steps-item-main {\n position: relative;\n display: inline-block;\n vertical-align: top;\n}\n.w-steps .w-steps-item-head {\n padding-left: 10px;\n background: #fff;\n}\n.w-steps .w-steps-item-head:not(:first-child) {\n margin-left: -10px;\n}\n.w-steps .w-steps-item-title {\n padding-right: 10px;\n line-height: 26px;\n font-size: 14px;\n font-weight: 700;\n background: #fff;\n color: #999;\n display: inline-block;\n}\n.w-steps .w-steps-item-description {\n font-size: 12px;\n color: #999;\n max-width: 130px;\n}\n.w-steps .w-steps-item-inner {\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid rgba(0, 0, 0, 0.25);\n color: rgba(0, 0, 0, 0.25);\n background-color: #fff;\n width: 26px;\n height: 26px;\n line-height: 26px;\n text-align: center;\n border-radius: 26px;\n font-size: 14px;\n margin-right: 8px;\n transition: background-color 0.3s ease, border-color 0.3s ease;\n}\n.w-steps .w-steps-item-process .w-steps-item-inner,\n.w-steps .w-steps-item-finish .w-steps-item-inner {\n border-color: #2d8cf0;\n background-color: #2d8cf0;\n color: #fff;\n}\n.w-steps .w-steps-item-process .w-steps-item-inner.is-icon .w-steps-icon,\n.w-steps .w-steps-item-finish .w-steps-item-inner.is-icon .w-steps-icon {\n color: #108ee9;\n}\n.w-steps .w-steps-item-process [class^='w-icon-'],\n.w-steps .w-steps-item-finish [class^='w-icon-'],\n.w-steps .w-steps-item-process [class*=' w-icon-'],\n.w-steps .w-steps-item-finish [class*=' w-icon-'] {\n vertical-align: middle;\n position: relative;\n top: -1px;\n}\n.w-steps .w-steps-item-finish .w-steps-item-tail i:after {\n background-color: #2d8cf0;\n width: 100%;\n}\n.w-steps .w-steps-item-process .w-steps-item-title,\n.w-steps .w-steps-item-process .w-steps-item-description {\n color: rgba(0, 0, 0, 0.65);\n}\n.w-steps .w-steps-item-error .w-steps-item-inner {\n color: #f04134;\n border-color: #f04134;\n background-color: #fff;\n}\n.w-steps .w-steps-item-error .w-steps-item-title,\n.w-steps .w-steps-item-error .w-steps-item-description,\n.w-steps .w-steps-item-error .w-steps-icon,\n.w-steps .w-steps-item-error i[class^='w-icon-'] {\n color: #f04134;\n}\n.w-steps .w-steps-next-error .w-steps-item-tail i:after {\n background-color: #f04134;\n width: 100%;\n transition: all 0.6s;\n}\n.w-steps-custom .w-steps-item-inner.is-icon {\n background: none;\n border: 0;\n width: 26px;\n height: 26px;\n font-size: 26px;\n}\n.w-steps-dot .w-steps-item-main {\n display: block;\n text-align: center;\n}\n.w-steps-dot .w-steps-item-inner {\n margin: 0 auto;\n width: 7px;\n height: 7px;\n line-height: 5px;\n border: 0;\n}\n.w-steps-dot .w-steps-item-title {\n padding-top: 5px;\n}\n.w-steps-dot .w-steps-item-description {\n max-width: initial;\n}\n.w-steps-dot .w-steps-item-error .w-steps-item-tail i:after {\n background-color: #2d8cf0;\n}\n.w-steps-dot .w-steps-item-error .w-steps-item-inner {\n background: #f04134;\n}\n.w-steps-dot .w-steps-item-error .w-steps-item-tail {\n padding-right: 50%;\n background: #e9e9e9;\n}\n.w-steps-dot .w-steps-item-error .w-steps-item-tail i:after {\n background-color: #f04134;\n width: 100%;\n}\n.w-steps-dot .w-steps-item-finish.w-steps-next-error .w-steps-item-tail i:after {\n background-color: #2d8cf0;\n}\n.w-steps-dot .w-steps-item-wait .w-steps-item-inner {\n border-color: rgba(0, 0, 0, 0.25);\n background-color: rgba(0, 0, 0, 0.25);\n}\n.w-steps-dot .w-steps-item-wait .w-steps-item-inner .w-steps-dot {\n background: rgba(0, 0, 0, 0.25);\n}\n.w-steps-dot .w-steps-item-process .w-steps-item-tail {\n padding-right: 50%;\n background: #e9e9e9;\n}\n.w-steps-dot .w-steps-item-process .w-steps-item-tail i:after {\n background-color: #2d8cf0;\n width: 100%;\n}\n.w-steps-dot .w-steps-item-tail {\n padding: 0;\n width: 100%;\n position: initial;\n height: 2px;\n}\n.w-steps-dot .w-steps-item:first-child .w-steps-item-tail {\n padding-left: 50%;\n}\n.w-steps-dot .w-steps-item:last-child .w-steps-item-tail {\n display: block;\n padding-right: 50%;\n}\n.w-steps-dot .w-steps-item-head:not(:first-child) {\n margin-left: 0;\n padding-left: 0;\n text-align: center;\n display: block;\n}\n.w-steps-dot .w-steps-item-head {\n background: transparent;\n margin-top: -4px;\n}\n.w-steps-dot .w-steps-item-head .is-icon {\n margin-left: -10px !important;\n background-color: transparent;\n}\n.w-steps-dot.w-steps-vertical .w-steps-item:last-child .w-steps-item-tail {\n display: none;\n}\n.w-steps-dot.w-steps-vertical .w-steps-item .w-steps-item-tail {\n position: absolute;\n left: 3px;\n padding: 0 0 21px;\n}\n.w-steps-dot.w-steps-vertical .w-steps-item-inner {\n margin: 0;\n}\n.w-steps-dot.w-steps-vertical .w-steps-item-main {\n text-align: left;\n padding-left: 20px;\n padding-bottom: 24px;\n margin-top: -21px;\n}\n.w-steps-dot.w-steps-vertical .is-icon-main {\n margin-top: -35px;\n}\n.w-steps-dot.w-steps-vertical .w-steps-next-error .w-steps-item-tail i:after {\n background-color: #f04134;\n}\n.w-steps-dot.w-steps-vertical .w-steps-item-error .w-steps-item-tail {\n background-color: transparent;\n}\n.w-steps-dot.w-steps-vertical .w-steps-item-error .w-steps-item-tail i:after {\n background-color: transparent;\n}\n.w-steps-vertical > .w-steps-item {\n display: block;\n}\n.w-steps-vertical > .w-steps-item > .w-steps-item-tail {\n height: 100%;\n width: 1px;\n padding: 18px 0;\n left: 13px;\n}\n.w-steps-vertical .w-steps-item-main {\n padding-bottom: 12px;\n overflow: hidden;\n}\n.w-steps-vertical .w-steps-item .w-steps-item-main .w-steps-item-description {\n max-width: inherit;\n}\n",".w-slider {\n width: -webkit-fill-available;\n width: stretch;\n height: 4px;\n margin: 13px 7px;\n background-color: #e4e8f1;\n border-radius: 3px;\n position: relative;\n font-size: 12px;\n cursor: pointer;\n -webkit-user-select: none;\n user-select: none;\n vertical-align: middle;\n}\n.w-slider-bar {\n height: 4px;\n border-radius: 3px;\n background-color: #008ef0;\n position: absolute;\n}\n.w-slider.disabled,\n.w-slider.disabled .w-slider-mark > div {\n cursor: not-allowed;\n}\n.w-slider.disabled .w-slider-bar {\n background-color: #bdc2cc;\n}\n.w-slider.disabled .w-slider-handle {\n background-color: #e6e6e6;\n box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 0px 0px rgba(16, 22, 26, 0.2);\n}\n.w-slider-handle {\n left: 0%;\n width: 14px;\n height: 14px;\n position: absolute;\n z-index: 1;\n margin-top: -5px;\n transform: translateX(-50%);\n box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2);\n background-color: #f5f8fa;\n background-image: linear-gradient(180deg, hsla(0, 0%, 100%, 0.8), hsla(0, 0%, 100%, 0));\n border-radius: 50%;\n transition: all 0.3;\n}\n.w-slider-dots > div {\n position: absolute;\n width: 4px;\n height: 4px;\n border-radius: 100%;\n background-color: #fff;\n box-shadow: 0 0 0 1.6px rgba(16, 22, 26, 0.16);\n top: 0px;\n transform: translateX(-50%);\n}\n.w-slider:not(.disabled) .w-slider-handle:active {\n background-color: #d8e1e8;\n transition: all 0.3;\n box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2), 0px 0px 0px 2px rgba(0, 0, 0, 0.1);\n}\n.w-slider:not(.disabled) .w-slider-handle:hover .w-slider-tooltip,\n.w-slider:not(.disabled) .w-slider-handle:focus .w-slider-tooltip,\n.w-slider:not(.disabled) .w-slider-handle:active .w-slider-tooltip {\n display: inline-block;\n}\n.w-slider-tooltip {\n display: none;\n font-size: 12px;\n position: absolute;\n background-color: rgba(0, 0, 0, 0.75);\n color: #fff;\n padding: 0px 4px;\n margin-top: -3px;\n border-radius: 3px;\n transform: translate(-50%, -100%);\n margin-left: 6px;\n}\n.w-slider-tooltip.open {\n display: inline-block;\n}\n.w-slider-with-marks {\n margin-bottom: 24px;\n}\n.w-slider-mark.no-marks {\n display: none;\n}\n.w-slider-mark > div {\n margin-bottom: -50%;\n margin-left: 3px;\n padding: 0 3px;\n position: absolute;\n display: inline-block;\n vertical-align: middle;\n text-align: center;\n cursor: pointer;\n transform: translate(-50%, 50%);\n color: rgba(0, 0, 0, 0.43);\n}\n.w-slider-vertical {\n height: 100%;\n height: -webkit-fill-available;\n height: stretch;\n width: 4px;\n margin: 7px 13px;\n}\n.w-slider-vertical .w-slider-dots > div {\n left: 2px;\n}\n.w-slider-vertical .w-slider-bar {\n width: 4px;\n height: initial;\n}\n.w-slider-vertical .w-slider-handle {\n margin-left: 2px;\n}\n.w-slider-vertical .w-slider-mark > div {\n transform: translate(0, -50%);\n padding: 0;\n margin-left: 12px;\n margin-top: 2px;\n}\n",".w-switch {\n vertical-align: middle;\n font-size: 12px;\n cursor: pointer;\n}\n.w-switch input[type='checkbox'] {\n cursor: pointer;\n white-space: nowrap;\n position: relative;\n min-width: 35px;\n height: 20px;\n margin: 0 !important;\n background-clip: border-box;\n background-color: #dfdfdf;\n -webkit-appearance: none;\n appearance: none;\n outline: 0;\n font-size: 12px;\n border-radius: 16px;\n transition: all 0.3s;\n box-shadow: inset 0 1px 2px rgba(16, 22, 26, 0.2);\n}\n.w-switch input[type='checkbox']:before,\n.w-switch input[type='checkbox']:after {\n display: inline-block;\n vertical-align: middle;\n}\n.w-switch input[type='checkbox']:before {\n content: attr(data-checked);\n transition: all 0.3s;\n padding: 0 21px 0 6px;\n color: #fff;\n line-height: 20px;\n}\n.w-switch input[type='checkbox']:checked {\n background-color: #008ef0;\n}\n.w-switch input[type='checkbox']:checked:after {\n right: 2px;\n margin-right: 0;\n}\n.w-switch input[type='checkbox']:checked:before {\n content: attr(data-unchecked);\n}\n.w-switch input[type='checkbox']:not(:checked):before {\n padding: 0 6px 0 21px;\n color: #393e48;\n}\n.w-switch input[type='checkbox']:after {\n content: ' ';\n position: absolute;\n margin-right: -18px;\n right: 100%;\n margin-top: 2px;\n margin-left: 1px;\n height: 16px;\n width: 16px;\n border-radius: 50%;\n transition: all 0.2s;\n background-color: #fff;\n box-shadow: 0 1px 2px 0 rgba(0, 35, 11, 0.2);\n}\n.w-switch input[type='checkbox']:disabled {\n cursor: not-allowed;\n opacity: 0.45;\n}\n.w-switch input[type='checkbox']:focus {\n box-shadow: 0 0 0 2px rgba(0, 142, 240, 0.25), inset 0 1px 2px rgba(16, 22, 26, 0.2);\n}\n.w-switch.disabled {\n cursor: not-allowed;\n}\n.w-switch-large input[type='checkbox'] {\n min-width: 38px;\n height: 24px;\n}\n.w-switch-large input[type='checkbox']::after {\n margin-right: -22px;\n height: 20px;\n width: 20px;\n}\n.w-switch-large input[type='checkbox']:before {\n padding: 0 25px 0 8px;\n margin-top: 0;\n line-height: 24px;\n font-size: 16px;\n}\n.w-switch-large input[type='checkbox']:not(:checked):before {\n padding: 0 8px 0 25px;\n}\n.w-switch-small {\n font-size: 12px;\n}\n.w-switch-small input[type='checkbox'] {\n min-width: 15px;\n height: 16px;\n}\n.w-switch-small input[type='checkbox']::after {\n margin-right: -14px;\n height: 12px;\n width: 12px;\n}\n.w-switch-small input[type='checkbox']:before {\n padding: 0 16px 0 6px;\n line-height: 16px;\n}\n.w-switch-small input[type='checkbox']:not(:checked):before {\n padding: 0 6px 0 16px;\n}\n.w-switch-text,\n.w-switch input[type='checkbox'] {\n vertical-align: middle;\n}\n.w-switch-text {\n display: inline-block;\n margin-left: 5px;\n}\n",".w-table {\n width: 100%;\n overflow: auto;\n}\n.w-table > table {\n display: table !important;\n margin: 0 !important;\n width: 100% !important;\n border-spacing: 0;\n border-collapse: collapse;\n}\n.w-table > table tr > th,\n.w-table > table tr > td {\n border: 0;\n padding: 5px 8px;\n border-bottom: 1px solid #e8e8e8;\n}\n.w-table > table tr {\n background-color: transparent;\n}\n.w-table > table > caption {\n text-align: left;\n padding: 10px 8px;\n}\n.w-table > table > tbody > tr {\n transition: all 0.3s;\n}\n.w-table > table > tbody > tr > td {\n background-color: #fff;\n position: relative;\n z-index: 1;\n}\n.w-table > table > tbody > tr:hover > td,\n.w-table > table > tbody > tr:hover:nth-child(2n) > td {\n background-color: #efefef;\n}\n.w-table > table > tbody > tr:nth-child(2n) > td {\n background-color: #f9f9f9;\n}\n.w-table > table > thead > tr > th {\n font-weight: normal;\n padding: 8px;\n background-color: #f6f9fb;\n position: relative;\n z-index: 1;\n}\n.w-table > table > thead > tr,\n.w-table > table > thead tr:nth-child(2n) {\n background-color: #f6f9fb;\n border: transparent;\n}\n.w-table-ellipsis {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n word-break: keep-all;\n display: block;\n}\n.w-table-tr-children-center {\n text-align: center;\n}\n.w-table-tr-children-left {\n text-align: left;\n}\n.w-table-tr-children-right {\n text-align: right;\n}\n.w-table-fixed-true {\n position: -webkit-sticky !important;\n position: sticky !important;\n z-index: 2 !important;\n}\n.w-table-fixed-right {\n position: -webkit-sticky !important;\n position: sticky !important;\n z-index: 2 !important;\n}\n.w-table-fixed-true::after {\n box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.15);\n position: absolute;\n top: 0;\n right: 0;\n bottom: -1px;\n width: 30px;\n transform: translateX(100%);\n transition: box-shadow 0.3s;\n content: '';\n pointer-events: none;\n}\n.w-table-fixed-true::before {\n content: '';\n position: absolute;\n left: -1px;\n top: 0;\n bottom: 0;\n border-left: 1px solid #dfe2e5;\n}\n.w-table-fixed-right::after {\n position: absolute;\n top: 0;\n bottom: -1px;\n left: 0;\n width: 30px;\n transform: translateX(-100%);\n transition: box-shadow 0.3s;\n content: '';\n pointer-events: none;\n border-right: 1px solid #f0f0f0;\n}\n.w-table-fixed-right-first::after {\n box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.15);\n}\n.w-table-fixed-right::before {\n content: '';\n position: absolute;\n right: -1px;\n top: 0;\n bottom: 0;\n border-right: 1px solid #dfe2e5;\n}\n.w-table-bordered > table tr > th,\n.w-table-bordered > table tr > td,\n.w-table-bordered > table > caption {\n border: 1px solid #dfe2e5;\n}\n.w-table-bordered > table > caption {\n border-bottom: 0;\n}\n.w-table-bordered .w-table-footer {\n border: 1px solid #dfe2e5;\n border-top: 0;\n}\n.w-table-footer {\n background: #fafafa;\n padding: 10px 8px;\n}\n",".w-tabs-bar {\n position: relative;\n overflow-x: auto;\n height: calc(100% + 17px);\n}\n.w-tabs-nav {\n position: relative;\n}\n.w-tabs-nav-hidden {\n display: flex;\n overflow-y: auto;\n padding: 5px 10px 5px 5px;\n max-height: 200px;\n flex-direction: column;\n}\n.w-tabs-nav-hidden :hover {\n background: #d9d9d9;\n}\n.w-tabs-item {\n padding: 7px 10px;\n display: inline-block;\n height: 100%;\n font-size: 14px;\n box-sizing: border-box;\n position: relative;\n cursor: pointer;\n text-decoration: none;\n transition: all 0.3s;\n}\n.w-tabs-item.active {\n color: #008ef0;\n}\n.w-tabs-item.disabled {\n cursor: not-allowed;\n -webkit-user-select: none;\n user-select: none;\n color: rgba(0, 0, 0, 0.25);\n}\n.w-tabs-flow-content {\n margin-left: 5px;\n padding: 0px 10px 0px 10px;\n box-shadow: 1px 0px 0px #d9d9d9 inset;\n cursor: pointer;\n}\n.w-tabs-card > div > div > .w-tabs-bar > .w-tabs-nav::after,\n.w-tabs-line > div > div > .w-tabs-bar > .w-tabs-nav::after {\n content: '';\n position: relative;\n display: block;\n border-bottom: 1px solid #d9d9d9;\n}\n.w-tabs-line > div > div > .w-tabs-bar > .w-tabs-nav > .w-tabs-slide {\n background-color: #108ee9;\n box-sizing: border-box;\n bottom: 0;\n position: absolute;\n height: 1px;\n left: 0;\n width: 20px;\n z-index: 1;\n transition: all 0.3s;\n}\n.w-tabs-card > div > div > .w-tabs-bar > .w-tabs-nav::after {\n content: '';\n position: relative;\n display: block;\n border-bottom: 1px solid #d9d9d9;\n}\n.w-tabs-card > div > div > .w-tabs-bar > .w-tabs-nav > .w-tabs-item {\n margin: 0;\n border: 1px solid #d9d9d9;\n border-bottom: 0;\n padding: 7px 16px;\n border-radius: 4px 4px 0 0;\n background: #f9f9f9;\n margin-right: 5px;\n bottom: -1px;\n}\n.w-tabs-card > div > div > .w-tabs-bar > .w-tabs-nav > .w-tabs-item.active {\n background: #fff;\n z-index: 1;\n}\n",".w-textarea {\n position: relative;\n font-size: 14px;\n outline: none;\n border: none;\n border-radius: 3px;\n box-shadow: 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n background: #fff;\n padding: 5px 10px;\n vertical-align: middle;\n height: auto;\n min-height: 30px;\n color: #393e48;\n font-weight: 400;\n max-width: 100%;\n min-width: 100%;\n width: 100%;\n transition: box-shadow 0.1s cubic-bezier(0.4, 1, 0.75, 0.9);\n -webkit-appearance: none;\n appearance: none;\n}\n.w-textarea:not(:first-child) {\n padding-left: 30px;\n}\n.w-textarea:focus {\n box-shadow: 0 0 0 1px #393e48, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-textarea:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-textarea:focus.w-textarea:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-textarea:disabled {\n box-shadow: none;\n background: #dddddd;\n opacity: 0.75;\n color: #a5a5a5;\n cursor: not-allowed;\n resize: none;\n}\n",".w-tooltip {\n position: relative;\n display: inline-block;\n}\n.w-tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.w-tooltip-inner {\n font-size: 12px;\n max-width: 250px;\n padding: 5px 10px;\n display: block;\n color: #fff;\n text-align: left;\n text-decoration: none;\n background-color: rgba(0, 0, 0, 0.75);\n border-radius: 4px;\n box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);\n word-break: break-all;\n}\n.w-tooltip.right .w-tooltip-arrow,\n.w-tooltip.rightTop .w-tooltip-arrow,\n.w-tooltip.rightBottom .w-tooltip-arrow {\n border-right-color: rgba(0, 0, 0, 0.75);\n border-width: 5px 5px 5px 0;\n left: 0;\n margin-top: -5px;\n top: 50%;\n}\n.w-tooltip.left .w-tooltip-arrow,\n.w-tooltip.leftTop .w-tooltip-arrow,\n.w-tooltip.leftBottom .w-tooltip-arrow {\n border-left-color: rgba(0, 0, 0, 0.75);\n border-width: 5px 0 5px 5px;\n margin-top: -5px;\n right: 0;\n top: 50%;\n}\n.w-tooltip.leftTop .w-tooltip-arrow,\n.w-tooltip.rightTop .w-tooltip-arrow {\n top: 15px;\n}\n.w-tooltip.leftBottom .w-tooltip-arrow,\n.w-tooltip.rightBottom .w-tooltip-arrow {\n bottom: 10px;\n top: auto;\n}\n.w-tooltip.top .w-tooltip-arrow,\n.w-tooltip.topLeft .w-tooltip-arrow,\n.w-tooltip.topRight .w-tooltip-arrow {\n border-top-color: rgba(0, 0, 0, 0.75);\n border-width: 5px 5px 0;\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n}\n.w-tooltip.bottom .w-tooltip-arrow,\n.w-tooltip.bottomLeft .w-tooltip-arrow,\n.w-tooltip.bottomRight .w-tooltip-arrow {\n border-bottom-color: rgba(0, 0, 0, 0.75);\n border-width: 0 5px 5px;\n left: 50%;\n margin-left: -5px;\n top: 0;\n}\n.w-tooltip.bottomLeft .w-tooltip-arrow,\n.w-tooltip.topLeft .w-tooltip-arrow {\n left: 15px;\n}\n.w-tooltip.bottomRight .w-tooltip-arrow,\n.w-tooltip.topRight .w-tooltip-arrow {\n right: 10px;\n left: auto;\n}\n.w-tooltip.bottom,\n.w-tooltip.bottomLeft,\n.w-tooltip.bottomRight {\n padding-top: 5px;\n}\n.w-tooltip.top,\n.w-tooltip.topLeft,\n.w-tooltip.topRight {\n padding-bottom: 5px;\n}\n.w-tooltip.right,\n.w-tooltip.rightTop,\n.w-tooltip.rightBottom {\n padding-left: 5px;\n}\n.w-tooltip.left,\n.w-tooltip.leftTop,\n.w-tooltip.leftBottom {\n padding-right: 5px;\n}\n.w-tooltip.no-arrow {\n padding: 0 !important;\n}\n",".w-tree {\n font-size: 14px;\n}\n.w-tree ul {\n padding: 0 !important;\n transition: 0.3s all;\n overflow: hidden;\n margin: 0;\n}\n.w-tree ul ul {\n padding-left: 18px !important;\n margin-bottom: 0;\n}\n.w-tree li {\n list-style: none !important;\n}\n.w-tree li + li {\n margin-top: 2px !important;\n}\n.w-tree li:first-child {\n padding-top: 3px;\n}\n.w-tree-close {\n height: 0;\n}\n.w-tree-label .no-child:not(.w-tree-switcher-noop) svg {\n display: none;\n}\n.w-tree-label {\n line-height: initial;\n}\n.w-tree-label > * {\n vertical-align: middle;\n}\n.w-tree-switcher {\n cursor: pointer;\n position: relative;\n z-index: 1;\n width: 14px;\n height: 14px;\n line-height: 14px;\n display: inline-block;\n text-align: center;\n}\n.w-tree-switcher:hover {\n color: #2ea3f4;\n}\n.w-tree-switcher .w-icon {\n transition: 0.3s all;\n transform: scale(0.79) rotate(0deg);\n}\n.w-tree-switcher .w-icon.open:not(.no-animation) {\n transform: scale(0.79) rotate(90deg) !important;\n}\n.w-tree-title {\n display: inline-block;\n padding: 2px 5px;\n cursor: pointer;\n}\n.w-tree-title > * {\n vertical-align: middle;\n}\n.w-tree-disabled-mouse {\n cursor: not-allowed;\n}\n.w-tree-disabled-ele {\n color: #00000040;\n}\n.w-tree-title.selected {\n background-color: #d5e8fc;\n}\n.w-tree-line li {\n position: relative;\n}\n.w-tree-line li li:before,\n.w-tree-line li li::after {\n content: ' ';\n border-left: 1px solid #d9d9d9;\n left: -12px;\n position: absolute;\n}\n.w-tree-line li li::after {\n height: 100%;\n top: 5px;\n}\n.w-tree-line li li:last-child::after {\n height: 16px;\n top: -18px;\n}\n.w-tree-line li li:before {\n content: ' ';\n width: 10px;\n height: 16px;\n border-bottom: 1px solid #d9d9d9;\n top: -2px;\n}\n.w-tree-line li li:last-child::before {\n border-radius: 0 0 0 3px;\n}\n",".w-treechecked-checked {\n margin-right: 5px;\n}\n",".w-search-tree-input-contents {\n flex: 1;\n top: 1px;\n}\n.w-search-tree-input-contents input {\n box-shadow: none;\n padding: 0px;\n height: 20px;\n min-width: 50px;\n}\n.w-search-tree-input-contents .w-input-inner:hover {\n box-shadow: none !important;\n}\n.w-search-tree-input-contents .w-input-inner:focus {\n box-shadow: none !important;\n}\n.w-search-tree-inner {\n display: flex;\n justify-content: space-between;\n outline: none;\n border: none;\n align-items: center;\n border-radius: 3px;\n box-shadow: 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n box-sizing: border-box;\n background: #fff;\n min-height: 30px;\n margin: 0 !important;\n padding: 3px 10px 3px 10px;\n vertical-align: middle;\n line-height: 30px;\n color: #393e48;\n font-weight: 400;\n font-size: inherit;\n transition: box-shadow 0.3s cubic-bezier(0.4, 1, 0.75, 0.9);\n -webkit-appearance: none;\n appearance: none;\n}\n.w-search-tree-inner:focus {\n box-shadow: 0 0 0 1px #393e48, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-search-tree-inner:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-search-tree-inner:focus.w-search-tree-inner:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-search-tree-inner:disabled {\n box-shadow: none;\n background: #dddddd;\n opacity: 0.75;\n color: #a5a5a5;\n cursor: not-allowed;\n resize: none;\n}\n.w-search-tree-inner-close-tag-contents {\n width: 14px;\n display: flex;\n align-content: center;\n}\n.w-search-tree-inner-inner-small {\n height: 20px;\n}\n.w-search-tree-inner-inner-large {\n height: 30px;\n}\n.w-search-tree-inner .w-input-small .w-input-inner {\n height: 16px;\n font-size: 10px;\n padding: 0px;\n}\n.w-search-tree-inner .w-input-large .w-input-inner {\n height: 28px;\n}\n",".w-transfer {\n display: flex;\n justify-content: space-between;\n}\n.w-transfer-card {\n width: 50%;\n}\n.w-transfer-cheked-content {\n height: 200px;\n overflow-y: auto;\n}\n.w-transfer-arrow-content {\n width: 50px;\n height: 50px;\n display: flex;\n flex-direction: column;\n align-self: center;\n justify-content: space-between;\n}\n.w-transfer-arrow {\n transition: all 0.3s;\n border-radius: 3px;\n}\n.w-transfer-arrow:hover {\n cursor: pointer;\n box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/css/uiw-vendor.db1975c1.css.map b/static/css/uiw-vendor.db1975c1.css.map deleted file mode 100644 index 1b2fc537..00000000 --- a/static/css/uiw-vendor.db1975c1.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/css/uiw-vendor.db1975c1.css","mappings":"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eAAgB,CAChB,gBAAiB,CAFjB,kBAAmB,CADnB,eAIF,CACA,kBAIE,iDAAkD,CADlD,eAAgB,CAFhB,eAAgB,CAChB,mBAGF,CACA,kBAEE,gBAAiB,CADjB,eAEF,CACA,kBAEE,aAAc,CADd,eAEF,CACA,kBAEE,gBAAkB,CADlB,eAEF,CACA,kBAGE,2BAA4B,CAD5B,eAAiB,CADjB,eAGF,CACA,iBAEE,kBAAmB,CADnB,YAEF,CACA,0BAIE,mDAAqD,CADrD,2BAA4B,CAF5B,QAAS,CACT,aAGF,CACA,oCAGE,eAAgB,CADhB,YAAa,CAEb,gBACF,CACA,0CAEE,2BACF,CACA,gGAIE,2BACF,CACA,kBACE,aACF,CAMA,yDAHE,wFAA+F,CAC/F,cAQF,CANA,mBAKE,gBAAiB,CAHjB,eAAgB,CADhB,YAKF,CACA,wBAIE,iBAAkB,CAHlB,oBAAqB,CACrB,0BAA4B,CAC5B,0BAEF,CAKA,kCACE,4BAA6B,CAC7B,SACF,CAHA,6BACE,4BAA6B,CAC7B,SACF,CACA,gGAGE,uBAAwB,CACxB,eAAgB,CAFhB,QAGF,CACA,+BACE,aACF,CAKA,2CAFE,UAAW,CADX,aAOF,CAJA,qBAEE,UAEF,CACA,4BACE,sBACF,CACA,2BACE,yBACF,CACA,6BACE,aAAc,CACd,oBACF,CACA,uBACE,4BACF,CACA,wBACE,UAAW,CAGX,aAAc,CADd,iBAAkB,CADlB,iBAGF,CACA,6BACE,YACF,CACA,gKASE,kBAAmB,CADnB,YAEF,CACA,uCACE,YACF,CACA,sCACE,eACF,CACA,4BACE,WACF,CACA,2BACE,WACF,CACA,gMAME,6BAA8B,CAC9B,qBAAsB,CACtB,iBACF,CACA,gMAME,oBACF,CACA,oRAME,kBACF,CACA,wQAaE,iBAAkB,CADlB,cAEF,CACA,oDAGE,oBAAqB,CADrB,SAEF,CACA,4BACE,uBACF,CACA,0BACE,2BACF,CACA,0BACE,2BACF,CACA,kCACE,uBACF,CACA,oFAKE,eAAgB,CADhB,YAEF,CACA,oBACE,eACF,CACA,qBACE,gBACF,CACA,kBACE,SACF,CACA,qBAGE,aAAc,CACd,iBAAkB,CAClB,eAAgB,CAHhB,eAAgB,CADhB,SAKF,CACA,qBAEE,kBAAmB,CADnB,cAEF,CACA,wBACE,eACF,CACA,gDAGE,4CAA6C,CAD7C,gBAEF,CACA,wBACE,4CAA6C,CAC7C,8CACF,CACA,sCACE,2CACF,CACA,yBACE,4BACF,CACA,gCACE,iBACF,CACA,+BACE,kBACF,CACA,sBAGE,4BAA6B,CAF7B,cAAe,CACf,uBAEF,CACA,0BACE,aAAc,CACd,eACF,CACA,+BAOE,4CAA6C,CAN7C,aAAc,CACd,UAAW,CAGX,eAAgB,CAChB,eAAgB,CAFhB,WAAY,CADZ,UAKF,CACA,mCACE,aAAc,CACd,UACF,CACA,oCAGE,UAAW,CACX,6BAA8B,CAH9B,aAAc,CACd,eAGF,CACA,iCAGE,UAAW,CAFX,aAAc,CACd,eAEF,CACA,sCACE,aAAc,CACd,kBAAmB,CACnB,eAAgB,CAChB,iBACF,CACA,0CACE,aAAc,CACd,iBACF,CACA,gCAGE,UAAW,CAFX,aAAc,CACd,eAEF,CACA,qCACE,aAAc,CACd,eAAgB,CAChB,eAAgB,CAChB,gBACF,CACA,yCACE,QAAS,CACT,gBACF,CACA,+BACE,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,eACF,CACA,oCACE,eACF,CACA,gCACE,aAAc,CACd,WAAY,CACZ,gBAAiB,CACjB,eACF,CACA,qCACE,aAAc,CACd,kBAAmB,CACnB,eAAgB,CAChB,gBACF,CACA,sCAKE,2CAA4C,CAC5C,iBAAkB,CAFlB,aAAc,CADd,QAAS,CADT,iBAKF,CACA,4CAEE,YACF,CACA,wBACE,uBACF,CACA,wBACE,cACF,CACA,wBAKE,sBAAuB,CACvB,QAAS,CAJT,QAAS,CADT,SAAU,CAGV,eAAgB,CADhB,iBAIF,CACA,mBAGE,2CAA4C,CAC5C,iBAAkB,CAHlB,aAAc,CACd,gBAGF,CACA,8CAQE,gBAAiB,CACjB,4BAA6B,CAC7B,QAAS,CART,cAAe,CAKf,mBAAoB,CAFpB,QAAS,CAFT,cAAe,CAGf,gBAAiB,CAFjB,SAOF,CACA,wBAGE,aAAc,CADd,aAAc,CADd,YAGF,CACA,wDAIE,cAAe,CACf,aAAc,CAFd,eAAgB,CADhB,WAAY,CAIZ,eAAgB,CAChB,kBACF,CACA,mCAGE,sCAAuC,CACvC,QAAS,CAHT,oBAAqB,CACrB,gBAGF,CACA,4BACE,YACF,CACA,4BAEE,qCAAsC,CACtC,YAAa,CAFb,eAGF,CACA,0BAGE,gDAAiD,CADjD,2BAA4B,CAD5B,cAGF,CACA,6BACE,iBACF,CACA,6BACE,iBACF,CACA,2CAQE,6CAA8C,CAC9C,iBAAkB,CALlB,WAAY,CAGZ,UAAW,CAFX,UAAW,CACX,mBAAoB,CALpB,iBAAkB,CAElB,UAAW,CADX,QAQF,CACA,oCACE,6BACF,CACA,yDACE,qBACF,CACA,+BACE,oBACF,CACA,qCACE,eACF,CACA,6CACE,cACF,CACA,8DACE,cACF,CACA,uCACE,YACF,CACA,gGAEE,0BAA6B,CAC7B,qBACF,CACA,sIAEE,0BACF,CACA,mDAEU,kBACV,CACA,mBACE,iBACF,CACA,2BASE,sCAAuC,CADvC,iBAAkB,CAHlB,4BAA6B,CAD7B,cAAe,CAFf,YAAa,CASb,cAAe,CADf,WAAY,CAPZ,iBAAkB,CAIlB,SAAU,CADV,OAAQ,CAMR,kBAAoB,CAXpB,iBAYF,CACA,yCACE,aACF,CACA,0CACE,YACF,CACA,iCACE,kBACF,CACA,uCACE,sDAAuD,CACvD,iCACF,CACA,0EAEE,kBAAmB,CACnB,iCACF,CACA,yCACE,YACF,CACA,0CACE,aACF,CACA,gBACE,2CACF,CACA,8BAKE,4BAA6B,CAC7B,kBAAmB,CALnB,oBAAqB,CAGrB,iBAAkB,CADlB,gBAAiB,CAIjB,kBAAmB,CALnB,UAMF,CACA,yDAIE,8CACF,CACA,iBACE,UACF,CACA,wFAME,iDACF,CACA,wBACE,+CACF,CACA,2JASE,+CACF,CACA,eACE,0DACF,CACA,0BACE,mEACF,CACA,gBACE,2DACF,CACA,2BACE,oEACF,CACA,gBACE,+CACF,CAOA,yJAKE,6CACF,CACA,yDAIE,8CACF,CACA,aACE,sDACF,C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,uBAAwB,CAOxB,qBAAsB,CAJtB,SAOF,CACA,iCAEE,wBAAyB,CADzB,iBAEF,CACA,uCAUU,qDAAsD,CAH9D,wBAAyB,CADzB,iBAAkB,CAElB,UAAW,CAHX,WAAY,CAFZ,MAAO,CAFP,iBAAkB,CAClB,KAAM,CAEN,UAOF,CAaA,6BACE,GAGE,UAAY,CADJ,mBAEV,CACA,GAGE,SAAU,CADF,oBAEV,CACF,CCvGA,mBACE,mBACF,CACA,2GAIE,aAAc,CADd,gBAAiB,CADjB,iBAGF,CACA,6CAEE,4BAA6B,CAD7B,oBAEF,CACA,uDACE,YACF,CACA,mDACE,eACF,CACA,0DACE,YACF,CACA,0BACE,aACF,CCxBA,cACE,mBAAoB,CACpB,cACF,CCHA,oBACE,eAAgB,CAChB,4GACF,CACA,+BACE,yBACF,CACA,gCACE,yBACF,CACA,2CACE,2BACF,CACA,0BACE,SACF,CACA,2BACE,0BACF,CACA,kDACE,qDACF,CACA,iDACE,wEACF,CACA,0BACE,wHACF,CACA,+CACE,qFACF,CACA,2DACE,mFACF,CACA,6BACE,UACF,CACA,oCACE,uBAAyB,CACzB,yBACF,CACA,wCACE,yBACF,CACA,yCACE,yBACF,CC9CA,6BAKE,WAAY,CAGZ,WAAe,CALf,SAAU,CAGV,gBAAiB,CALjB,iBAAkB,CAGlB,UAAW,CAFX,QAAS,CAKT,UAEF,CACA,kDAEE,gBAAiB,CADjB,iBAEF,CACA,yDACE,YACF,CACA,gDACE,QACF,CACA,yDAEU,yBACV,CACA,sDAEU,4BACV,CACA,4DAEU,4BACV,CACA,wDAEU,4BACV,CACA,oDAEU,8BACV,CACA,yDAEU,6BACV,CACA,wDAEU,0BACV,CACA,qDAEU,6BACV,CACA,2DAEU,6BACV,CACA,2DAEU,yBACV,CACA,uDAEU,2BACV,CACA,4DAEU,0BACV,CACA,4BACE,kBACF,CCtEA,WAEE,oBAAqB,CACrB,SAAU,CAFV,iBAGF,CACA,iBAIE,wBAAyB,CADzB,WAAY,CAFZ,iBAAkB,CAClB,UAAW,CAGX,UACF,CACA,iBAKE,qBAAsB,CACtB,iBAAkB,CAElB,+FAAwH,CANxH,aAAc,CADd,cAAe,CAMf,eAAgB,CAJhB,eAAgB,CAChB,oBAKF,CACA,+GAGE,QAAS,CACT,gBAAiB,CACjB,OACF,CACA,4GAKE,gBAAiB,CACjB,SAAU,CACV,OAAQ,CAHA,wBAIV,CACA,yEAEE,QACF,CACA,+EAEE,QAAS,CACT,QACF,CACA,yGAKE,UAAW,CACX,QAAS,CACT,iBAAkB,CAHV,wBAIV,CACA,kHAKE,QAAS,CACT,iBAAkB,CAClB,OAAQ,CAHA,uBAIV,CACA,2EAEE,SACF,CACA,6EAGE,SAAU,CADV,OAEF,CACA,sDAGE,mBACF,CACA,+DAGE,gBACF,CACA,4DAGE,iBACF,CACA,yDAGE,kBACF,CACA,oBACE,mBACF,CChGA,SAEE,cAAe,CACf,gBAAiB,CAFjB,iBAAkB,CAGlB,UACF,CACA,eAgBE,uBAAwB,CAChB,oBAAgB,CAAhB,eAAgB,CAXxB,eAAgB,CAJhB,WAAY,CACZ,iBAAkB,CAClB,qIAAuJ,CACvJ,qBAAsB,CAOtB,aAAc,CAEd,iBAAkB,CADlB,eAAgB,CANhB,WAAY,CAIZ,gBAAiB,CAHjB,kBAAoB,CAPpB,YAAa,CAQb,cAAe,CAMf,mDAA2D,CAL3D,qBAQF,CACA,iCACE,iBACF,CACA,qBACE,2FACF,CACA,qBACE,yFACF,CACA,yCACE,2FACF,CACA,wBAEE,eAAmB,CADnB,eAAgB,CAGhB,aAAc,CACd,kBAAmB,CAFnB,WAAa,CAGb,WACF,CACA,wBACE,UACF,CACA,iBAEE,YAAmB,CADnB,iBAAkB,CAIlB,OAAQ,CADA,0BAEV,CACA,qBAKE,UAAW,CADX,YAAa,CAHb,iBAAkB,CAElB,SAAU,CADV,OAIF,CACA,uBAEE,kBAAmB,CADnB,sBAEF,CACA,eACE,cACF,CACA,8BAEE,WAAY,CADZ,gBAEF,CACA,eACE,cACF,CACA,8BAEE,WAAY,CADZ,gBAAiB,CAEjB,aACF,CACA,gDACE,iBACF,CACA,sCACE,gBAAiB,CACjB,eACF,CCvFA,cACE,YACF,CACA,oBAGE,UAAW,CAFX,UAAW,CACX,aAEF,CACA,sBAEE,QAAO,CAEP,cAAe,CAHf,gBAAiB,CAEjB,aAEF,CACA,4BACE,aACF,CACA,yBACE,eAAgB,CAEhB,kBAAoB,CADpB,cAAe,CAIf,8BAAgC,CAFhC,wBAA0B,CAC1B,yBAEF,CACA,+BACE,sBACF,CACA,4BAME,aAAc,CALd,cAAe,CAEf,WAAY,CACZ,gBAAiB,CAFjB,iBAAkB,CAGlB,kBAEF,CACA,iDACE,wBACF,CACA,kDACE,wBACF,CACA,qCACE,wBAAyB,CAEzB,UAAW,CADX,eAEF,CACA,qCACE,aAAc,CACd,kBACF,CACA,0CACE,YACF,CACA,+CACE,6BACF,CCxDA,cAEE,iBAAkB,CADlB,eAEF,CACA,qDACE,sBACF,CACA,4CAGE,aAAc,CAFd,YAAa,CACb,YAAmB,CAAnB,eAEF,CACA,kDAEE,sCAAwC,CADxC,aAEF,CCfA,yCAEE,YAAa,CACb,UACF,CACA,iDAEE,kBAAmB,CACnB,QAAO,CAEP,eAAgB,CADhB,cAAe,CAGf,iBAAkB,CADlB,qBAEF,CACA,0BACE,eACF,CACA,yDAEE,aACF,CACA,uBACE,iBAAkB,CAClB,cACF,CACA,wDAEE,aACF,CACA,2BAGE,iBAAkB,CAClB,gBAAiB,CAFjB,YAAa,CADb,yCAIF,CACA,iCACE,wBACF,CACA,8EAGE,wBAAyB,CADzB,UAEF,CACA,iCACE,wBAAyB,CACzB,aACF,CACA,kCACE,wBACF,CACA,8EAIE,wBAAyB,CAFzB,aAAc,CACd,kBAEF,CACA,0FAEE,mCAA2C,CAC3C,UACF,CACA,gGAEE,qCAA0C,CAC1C,UACF,CACA,mBACE,eACF,CCpEA,uCAGE,cAAe,CACf,kBAAqB,CAFrB,iBAGF,CACA,+CAEE,oBAAqB,CAErB,gBAAiB,CACjB,YAAa,CAFb,SAGF,CACA,yDAIE,iBAAkB,CAClB,cAAe,CAHf,oBAAqB,CACrB,eAGF,CACA,2EAGE,wBAAyB,CADzB,UAEF,CACA,qEAEE,wBAAyB,CACzB,aACF,CACA,6DAEE,qBACF,CACA,uBACE,aACF,CCpCA,sBAKE,+BAAgC,CADhC,eAAkB,CADlB,iBAAkB,CAFlB,wBAAyB,CACjB,qBAAiB,CAAjB,gBAIV,CACA,2BAGE,iBAAkB,CAGlB,cAAe,CAJf,oBAAqB,CAGrB,eAAiB,CADjB,eAAgB,CAHhB,+BAMF,CACA,iCACE,wBACF,CACA,kCACE,wBACF,CACA,iEACE,eACF,CACA,gEAIE,mBAAwB,CADxB,iBAAkB,CADlB,UAGF,CACA,0JASE,qBAAsB,CADtB,iBAAkB,CAJlB,UAAW,CACX,aAAc,CACd,UAAW,CACX,SAGF,CACA,4EAEE,eACF,CACA,8EAEE,cACF,CACA,6EAGU,wBACV,CACA,6EAGU,uBACV,CACA,gCACE,UACF,CACA,gCACE,WACF,CACA,4BAEE,kBAAmB,CACnB,iBAAkB,CAFlB,cAAe,CAGf,oBAAqB,CACrB,WAAY,CAGZ,gBAAiB,CADjB,eAAgB,CAEhB,+BAAiC,CAHjC,UAIF,CACA,mCAOE,wBAAyB,CAFzB,iBAAkB,CAJlB,UAAW,CACX,aAAc,CACd,UAAW,CAGX,kBAAmB,CAFnB,SAIF,CACA,kCACE,wBACF,CACA,yCACE,qBACF,CACA,mCACE,wBACF,CACA,0CACE,qBACF,CChGA,cAKE,eAAgB,CADhB,iBAAkB,CAUlB,yFAAuG,CARvG,aAAc,CAJd,oBAAqB,CAOrB,cAAe,CACf,gBAAiB,CAGjB,eAAgB,CADhB,eAAgB,CADhB,WAAY,CARZ,iBAAkB,CAIlB,wBAAyB,CACjB,qBAAiB,CAAjB,gBAAiB,CAPzB,kBAcF,CACA,yBACE,wBAAyB,CAEzB,mCAAqC,CADrC,YAEF,CACA,6BACE,gBACF,CACA,uBAKE,iBAAkB,CAJlB,cAAe,CAGf,oBAAqB,CAFrB,cAAe,CAIf,eAAgB,CAHhB,+BAIF,CACA,6BACE,wBACF,CACA,8BACE,wBACF,CCrCA,kBAEE,WAAY,CADZ,gBAEF,CACA,kBAEE,WAAY,CACZ,gBAAiB,CACjB,eAAgB,CAChB,eAAgB,CAJhB,UAKF,CACA,oBAKE,cAAe,CAJf,eAAgB,CAGhB,sBAAuB,CAFvB,kBAAmB,CACnB,UAGF,CACA,oBAIE,oBAAqB,CAHrB,cAAe,CACf,eAAgB,CAChB,UAEF,CACA,wCAEE,oBAAqB,CACrB,wBAAyB,CACjB,qBAAiB,CAAjB,gBACV,CACA,sBACE,WACF,CACA,sCACE,cAAe,CACf,eAAgB,CAChB,iBAAkB,CAClB,QACF,CACA,oEAGE,iBAAkB,CADlB,cAAe,CAEf,kBACF,CACA,gFAEE,wBACF,CACA,kFAEE,wBACF,CACA,oEAGE,eAAgB,CADhB,qBAEF,CACA,4EAGE,WAAY,CACZ,kBAAuB,CAFvB,UAGF,CACA,0FAGU,wBACV,CACA,4FAGU,uBACV,CACA,gBACE,iBACF,CACA,+BACE,SACF,CACA,8CACE,eACF,CACA,mCAGE,+BAAgC,CAFhC,eAAgB,CAChB,8BAEF,CACA,8CACE,cACF,CACA,uCAEE,eAAgB,CADhB,QAEF,CACA,sCACE,wBAAyB,CACzB,WAAY,CACZ,gBACF,CCnGA,QACE,eAAgB,CAChB,iBAAkB,CAClB,cAAe,CACf,eAAgB,CAChB,iBAAkB,CAClB,kBACF,CACA,mDAGE,2BAAgC,CADhC,mCAEF,CACA,iBACE,wBACF,CACA,aAKE,MAAO,CADP,yBAA0B,CAH1B,WAAY,CACZ,gBAAiB,CACjB,cAGF,CACA,0BACE,4BACF,CACA,mBAME,qBAA0B,CAE1B,oBAAqB,CAPrB,cAAe,CAMf,eAAgB,CAJhB,cAAe,CACf,eAAgB,CAFhB,sBAAuB,CAGvB,kBAIF,CACA,cACE,iBAAkB,CAClB,UAAW,CACX,KACF,CACA,aACE,YACF,CACA,4BACE,oCACF,CACA,eACE,gBACF,CACA,iBACE,oBACF,CCpDA,YACE,eACF,CACA,oBACE,YAAa,CACb,0BACF,CCNA,aAIE,sBAAuB,CACvB,iBAAkB,CAIlB,aAAc,CAPd,YAAa,CACb,kBAAmB,CAKnB,gBAAiB,CAFjB,eAAgB,CALhB,iBAAkB,CAMlB,oBAAqB,CAKrB,kBAAmB,CACnB,+BAAiC,CAHjC,wBAAyB,CACjB,qBAAiB,CAAjB,gBAGV,CACA,uCAKE,qCAA0C,CAH1C,aAAc,CACd,cAAe,CACf,oBAEF,CACA,oBACE,qCACF,CACA,wBAEE,kCAAoC,CACpC,4BAA8B,CAF9B,sBAGF,CACA,kEAEE,mCACF,CACA,kBACE,WACF,CACA,eACE,gBACF,CACA,yBACE,cACF,CACA,uBAIE,gBAAiB,CAHjB,eAAgB,CAChB,sBAAuB,CACvB,kBAEF,CChDA,yCACE,QACF,CACA,yBAME,qBAA0B,CAF1B,mBAAwB,CAIxB,yBAA2B,CAN3B,2BAA6B,CAG7B,oBAAyB,CAFzB,kBAAuB,CAFvB,qBAAwB,CAMxB,oBAEF,CACA,4BACE,cAAe,CACf,yBACF,CACA,8BAEU,oBACV,CACA,sBACE,eACF,CACA,yHAEE,yBACF,CACA,6DAEU,kCACV,CACA,4DAEU,mCACV,CACA,sEAGE,eACF,CCxCA,QAIE,iBAAkB,CADlB,qBAAsB,CAKtB,cAAe,CAPf,kBAAoB,CAIpB,cAAe,CAHf,WAAY,CAKZ,eAAgB,CAEhB,yFAAqG,CAHrG,UAIF,CACA,yCAEE,gBACF,CACA,0BAEE,eAAgB,CADhB,aAEF,CACA,WAEE,yBAA2B,CAD3B,kBAAoB,CAEpB,iBACF,CACA,yBACE,eACF,CACA,yBACE,aACF,CACA,mBACE,yFACF,CACA,wBAGE,uCAA4C,CAF5C,aAAc,CACd,oBAEF,CACA,+BACE,aAAc,CACd,gBACF,CACA,mDACE,eACF,CACA,mEACE,aACF,CACA,yBAEE,cAAe,CADf,UAEF,CACA,yCAIE,cAAe,CAHf,sBAAuB,CAEvB,mBAAoB,CADpB,gBAGF,CACA,+CACE,4BAA6B,CAC7B,UACF,CACA,2CACE,cACF,CACA,2DAEE,WAAY,CADZ,OAEF,CACA,uEACE,YACF,CACA,0DAGE,kBAAmB,CACnB,yBACF,CACA,wBACE,eACF,CACA,qBACE,oBACF,CACA,4FAEE,kCACF,CACA,6BACE,uCACF,CC1FA,kBAGE,aAAc,CAFd,cAAe,CACf,gBAEF,CCJA,SAEE,oBAAqB,CACrB,cAAe,CAFf,qBAGF,CACA,2BAME,uBAAwB,CAChB,oBAAgB,CAAhB,eAAgB,CAFxB,0BAA2B,CAK3B,qBAAsB,CACtB,wBAAyB,CAFzB,iBAAkB,CALlB,WAAY,CAIZ,sBAAyB,CAPzB,YAAa,CACb,iBAAkB,CAUlB,sCAA0C,CAT1C,UAUF,CACA,0JAEE,wCACF,CACA,yCAEE,qBACF,CACA,mCACE,wBACF,CACA,yCACE,wCACF,CACA,kBACE,aAEF,CACA,sDAFE,kBAIF,CACA,4CACE,wBACF,CACA,kDACE,wBACF,CACA,cACE,oBAAqB,CAGrB,cAAe,CAFf,eAAgB,CAChB,gBAEF,CCnDA,eACE,WACF,CCFA,YAGE,cAAe,CADf,WAAY,CADZ,qBAAsB,CAGtB,kBACF,CACA,iCAQE,uBAAwB,CAChB,oBAAgB,CAAhB,eAAgB,CAFxB,0BAA2B,CAI3B,wBAAyB,CALzB,iBAAkB,CAFlB,cAAe,CADf,WAAY,CAEZ,gBAAiB,CAKjB,kBAAoB,CATpB,YAAa,CAWb,8CAAkD,CAVlD,UAWF,CACA,uCAEE,kBAAmB,CADnB,UAEF,CACA,sKAEE,6CACF,CACA,+DAEE,kBACF,CACA,0CACE,UACF,CACA,sCACE,aACF,CACA,sGAEE,4BAA6B,CAC7B,kCACF,CACA,kHAGE,wBAAyB,CAQzB,iBAAkB,CADlB,cAAe,CANf,kBAAmB,CAFnB,oBAAqB,CAUrB,UAAW,CALX,iBAAkB,CAElB,UAAW,CADX,QAAS,CAFD,mBAAoB,CAO5B,SACF,CACA,kDAEE,qBACF,CACA,yCACE,wBACF,CACA,+CAIE,iBAAyB,CAAzB,wBAAyB,CAFzB,oBAAqB,CAQrB,WAAY,CAHZ,iBAAkB,CAElB,UAAW,CADX,QAAS,CAFD,uBAAwB,CALhC,uCAAyC,CAUzC,SACF,CACA,iBACE,oBAAqB,CAGrB,cAAe,CADf,gBAAiB,CADjB,gBAGF,CCnFA,YAIE,qBAAsB,CACtB,wBAAyB,CAJzB,iBAAkB,CAElB,cAAe,CADf,gBAAiB,CAIjB,eACF,CACA,mGAEE,yBACF,CACA,kBACE,QACF,CACA,mBAGE,wBAAyB,CADzB,qBAA0B,CAE1B,cAAe,CAIf,YAAa,CAPb,gBAAiB,CAIjB,iBAAkB,CAClB,kBAAoB,CACpB,SAEF,CACA,uCAEE,gBAAiB,CADjB,eAAgB,CAGR,mCAAqC,CAE7C,yBAEF,CACA,2CACE,aACF,CACA,qBAEE,oBAAqB,CADrB,qBAEF,CACA,0DAEU,8BACV,CACA,kBAEE,qBAA0B,CAD1B,eAAgB,CAEhB,cACF,CACA,iDAEE,UAAW,CAEX,aAAc,CADd,WAAY,CAEZ,eACF,CACA,yBACE,4BAA6B,CAC7B,cAAe,CAEf,iBAAkB,CADlB,SAEF,CACA,wBACE,+BAAgC,CAChC,cAAe,CAEf,iBAAkB,CADlB,SAEF,CACA,gEACE,6BACF,CACA,yFACE,0BACF,CACA,wCAGE,wBAAyB,CADzB,qBAA0B,CAD1B,kBAGF,CACA,0CACE,4BACF,CAQA,2MACE,QACF,CC5FA,qBACE,cACF,CACA,4BAGE,YAAa,CAFb,wBAAyB,CACjB,qBAAiB,CAAjB,gBAEV,CCPA,2BACE,YAAa,CACb,6BACF,CACA,iCACE,eAAgB,CAEhB,WAAY,CADZ,SAEF,CAIA,gGACE,yBACF,CACA,wBAKE,kBAAmB,CAcnB,uBAAwB,CAChB,oBAAgB,CAAhB,eAAgB,CAXxB,eAAgB,CALhB,WAAY,CAEZ,iBAAkB,CAClB,qIAAuJ,CACvJ,qBAAsB,CAOtB,aAAc,CAdd,YAAa,CAgBb,iBAAkB,CADlB,eAAgB,CAdhB,6BAA8B,CAY9B,gBAAiB,CAHjB,kBAAoB,CADpB,eAAgB,CAPhB,YAAa,CASb,gBAA0B,CAM1B,mDAA2D,CAL3D,qBAQF,CACA,8BACE,2FACF,CACA,8BACE,yFACF,CACA,2DACE,2FACF,CACA,iCAEE,eAAmB,CADnB,eAAgB,CAGhB,aAAc,CACd,kBAAmB,CAFnB,WAAa,CAGb,WACF,CCrDA,aACE,oBACF,CACA,qBACE,kBACF,CACA,6BAME,QAAS,CAJT,WAAY,CADZ,kBAAmB,CAEnB,aAAc,CAId,MAAO,CAHP,iBAAkB,CAIlB,OAAQ,CAHR,KAAM,CAIN,SACF,CACA,uBAGE,aAAc,CACd,cAAe,CAHf,YAAa,CACb,YAGF,CACA,6BACE,aACF,CCzBA,sBAKE,wBAAyB,CADzB,gBAAiB,CAHjB,uBAAyB,CACzB,yBAA2B,CAC3B,QAAS,CAGT,kBAAmB,CACnB,oBACF,CACA,gBACE,eACF,CACA,sBAIE,qBAA0B,CAC1B,cAAe,CAJf,eAAiB,CAKjB,eAAgB,CAHhB,iBAAkB,CADlB,eAKF,CACA,sBACE,oBACF,CACA,kDACE,4BACF,CACA,2BACE,cAAe,CACf,eACF,CACA,iCAIE,WAAY,CADZ,kBAAmB,CAFnB,iBAAkB,CAClB,SAGF,CACA,iCACE,WACF,CACA,2BACE,qBACF,CACA,6BAEE,qBAA0B,CAD1B,cAEF,CACA,qIAEE,eACF,CACA,qIAEE,iBACF,CACA,yBAGE,wBAAyB,CADzB,iBAAkB,CADlB,eAGF,CACA,qCAEE,wBAAyB,CACzB,eAAmB,CAFnB,gBAGF,CACA,0EAKE,eAAgB,CADhB,aAAc,CADd,8BAA+B,CAD/B,4BAIF,CACA,0HAEE,YACF,CACA,qEACE,kBACF,CACA,gDACE,gBACF,CACA,+CACE,eAAgB,CAChB,gBACF,CACA,gIAEE,iBACF,CCxFA,WAME,kBAAmB,CAHnB,qBAAsB,CAFtB,cAAe,CACf,gBAAiB,CAGjB,eAAgB,CADhB,SAGF,CACA,oBAEE,oBAAqB,CACrB,WAAa,CAFb,YAAa,CAKb,iBAAkB,CAClB,UAAY,CAFZ,qBAAsB,CADtB,SAIF,CACA,sBACE,UAAW,CAEX,aAAc,CADd,UAEF,CACA,0CAIE,sBAAuB,CAEvB,aAAc,CALd,YAAa,CAIb,eAAgB,CAEhB,cAAe,CACf,aAAc,CALd,iBAAkB,CADlB,kBAOF,CACA,iGAOE,4BAA6B,CAL7B,UAAW,CACX,kBAAmB,CACnB,iBAAkB,CAClB,OAAQ,CAIA,yBAA0B,CAHlC,SAIF,CACA,sFAEE,QACF,CACA,sFAEE,SACF,CACA,yFAEE,uBACF,CACA,sBACE,oBAAqB,CACrB,cACF,CACA,4CACE,eAAgB,CAChB,6BACF,CC9DA,kBAEE,qBAAsB,CADtB,qEAA+E,CAI/E,YAAa,CACb,qBAAsB,CAFtB,kBAAoB,CADpB,cAIF,CACA,iBAEE,kBAAmB,CAInB,qBAAsB,CACtB,yBAA0B,CAC1B,qCAA0C,CAP1C,YAAa,CAQb,cAAe,CANf,eAAgB,CAChB,iBAAkB,CAClB,iBAKF,CACA,yBAEE,aAAc,CADd,iBAEF,CACA,oBAGE,aAAc,CAFd,QAAS,CACT,SAEF,CACA,eACE,aAAc,CAEd,gBAAiB,CADjB,aAEF,CACA,iBAME,kBAAmB,CALnB,sCAA2C,CAI3C,YAAa,CAHb,eAAgB,CAChB,iBAAkB,CAClB,iBAGF,CACA,qBACE,YACF,CACA,mEAEE,MAAO,CACP,OACF,CACA,gCACE,KACF,CACA,mCACE,QACF,CACA,mEAEE,QAAS,CACT,KACF,CACA,kCACE,OACF,CACA,iCACE,MACF,CACA,6CACE,SACF,CACA,oDACE,4CACF,CACA,4CACE,SACF,CACA,mDACE,4CACF,CACA,mDAEU,0BACV,CAKA,4GAEU,uBACV,CACA,yDAEU,0BACV,CACA,kDAEU,2BACV,CAKA,0GAEU,uBACV,CACA,wDAEU,2BACV,CACA,iDAEU,2BACV,CAKA,wGAEU,uBACV,CACA,uDAEU,2BACV,CACA,oDAEU,0BACV,CAKA,8GAEU,uBACV,CACA,0DAEU,0BACV,CC7IA,SACE,aAAc,CACd,iBACF,CACA,qBACE,eACF,CACA,gBACE,eACF,CCTA,+CACE,sBAAuB,CACvB,QAAS,CACT,WAAY,CAEZ,WAAY,CADZ,iBAEF,CACA,+BACE,2BAA4B,CAC5B,wBAAyB,CACzB,6EACF,CACA,yBAQE,gBAAiB,CASjB,kBAAmB,CAfnB,wBAAyB,CACzB,6EAAuF,CAMvF,iBAAkB,CARlB,6CAAkD,CAGlD,aAAc,CAMd,gBAAiB,CACjB,wBAAyB,CAKzB,YAAa,CAHb,UAAW,CARX,eAAgB,CAOhB,cAAe,CAGf,OAAQ,CADR,iBAAkB,CARlB,sBAAuB,CACvB,kBAWF,CACA,mDAKE,QAAS,CAHT,aAAc,CACd,iBAAkB,CAClB,KAEF,CACA,kBACE,iBACF,CACA,sBAKE,wBAAyB,CACzB,yBAA0B,CAE1B,iBAAkB,CAClB,cAAe,CAEf,mBAAoB,CATpB,iBAAkB,CADlB,gBAAiB,CAMjB,eAAgB,CAKhB,iBAAkB,CATlB,iBAAkB,CAOlB,2BAA6B,CAN7B,kBASF,CACA,2BACE,qBAAsB,CAEtB,WAAY,CADZ,UAEF,CACA,+BAEE,WAAY,CADZ,UAEF,CACA,0BAOE,kBAAmB,CAInB,yBAA8B,CAC9B,iBAAkB,CANlB,YAAa,CADb,WAAY,CAGZ,sBAAuB,CANvB,MAAO,CAQP,SAAU,CATV,iBAAkB,CAElB,KAAM,CAMN,kBAAoB,CALpB,UASF,CACA,iCAME,cAAe,CAHf,YAAa,CADb,WAAY,CADZ,UAMF,CACA,uDAJE,kBAAmB,CACnB,sBAMF,CACA,sDACE,SACF,CACA,mDAEE,YAAa,CADb,WAEF,CACA,oDAEE,WAAY,CADZ,UAEF,CACA,mDAEE,WAAY,CADZ,UAEF,CACA,oDACE,iBACF,CACA,qDACE,iBACF,CACA,kBACE,kBAAmB,CACnB,UACF,CACA,0BAOE,kBAAmB,CAInB,yBAA8B,CAC9B,iBAAkB,CANlB,YAAa,CADb,WAAY,CAGZ,sBAAuB,CANvB,MAAO,CAQP,SAAU,CATV,iBAAkB,CAElB,KAAM,CAMN,kBAAoB,CALpB,UASF,CACA,iCAIE,kBAAmB,CAEnB,cAAe,CAHf,YAAa,CADb,WAAY,CAGZ,sBAAuB,CAJvB,UAMF,CACA,uDACE,SACF,CACA,0BAGE,kBAAmB,CAFnB,wBAAyB,CACzB,YAAa,CAGb,cAAe,CADf,WAEF,CACA,+BACE,iBAAkB,CAElB,eAAgB,CADhB,iBAEF,CACA,mCAGE,aAAc,CADd,WAAY,CADZ,UAGF,CACA,+BACE,QACF,CACA,+BAEE,cAAe,CADf,WAEF,CACA,gEAEE,WAAY,CADZ,UAEF,CACA,iEAEE,WAAY,CADZ,UAEF,CACA,gEAEE,WAAY,CADZ,UAEF,CACA,6DACE,iBACF,CACA,0DACE,kBACF,CACA,uBAGE,kBAAmB,CAFnB,4BAA6B,CAC7B,YAAa,CAEb,WAAY,CACZ,kBACF,CACA,6BACE,kBACF,CACA,mCACE,cACF,CACA,4BACE,QACF,CACA,4BAEE,cAAe,CADf,aAEF,CCzMA,OAEE,qBAAsB,CACtB,aAAc,CAEd,YAAa,CADb,WAAY,CAEZ,cAAe,CALf,WAMF,CACA,aACE,aACF,CACA,iBACE,qBACF,CACA,oBACE,iBACF,CACA,oBACE,mBACF,CACA,sBACE,mBACF,CACA,cACE,WACF,CACA,cACE,WACF,CACA,cACE,WACF,CACA,cACE,WACF,CACA,cACE,WACF,CACA,cACE,WACF,CACA,cACE,WACF,CACA,cACE,WACF,CACA,cACE,WACF,CACA,eACE,YACF,CACA,eACE,YACF,CACA,SACE,sBAAuB,CACvB,qBACF,CACA,SACE,sBAAuB,CACvB,qBACF,CACA,SACE,gBAAiB,CACjB,eACF,CACA,SACE,uBAAwB,CACxB,sBACF,CACA,SACE,uBAAwB,CACxB,sBACF,CACA,SACE,cAAe,CACf,aACF,CACA,SACE,uBAAwB,CACxB,sBACF,CACA,SACE,uBAAwB,CACxB,sBACF,CACA,SACE,gBAAiB,CACjB,eACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,cAAe,CACf,aACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,gBAAiB,CACjB,eACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,cAAe,CACf,aACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,gBAAiB,CACjB,eACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,uBAAwB,CACxB,sBACF,CACA,UACE,eAAgB,CAChB,cACF,CCvJA,OACE,qBAAsB,CACtB,YAAa,CACb,aAAc,CACd,kBAAmB,CACnB,cACF,CACA,gCACE,0BACF,CACA,8BACE,wBACF,CACA,4BACE,sBACF,CACA,mCACE,6BACF,CACA,kCACE,4BACF,CACA,kCACE,4BACF,CACA,iBACE,sBACF,CACA,oBACE,kBACF,CACA,oBACE,oBACF,CACA,sBACE,oBACF,CCpCA,aACE,kBACF,CACA,iEAEE,aACF,CACA,wbAWE,4FACF,CACA,gEACE,yBACF,CACA,cAIE,cAAe,CADf,eAAgB,CAFhB,gBAAiB,CACjB,eAAgB,CAGhB,iBACF,CACA,oBACE,oBACF,CACA,YACE,kBAAmB,CACnB,YACF,CACA,aACE,aAAc,CACd,cAAe,CACf,eACF,CCzCA,iBAGE,cAAe,CAFf,QAAS,CACT,SAEF,CCJA,QASE,qBAAsB,CALtB,qBAAsB,CADtB,aAAc,CAFd,cAAe,CACf,eAAgB,CAKhB,eAAgB,CAFhB,QAAS,CACT,SAAU,CAEV,iBAAkB,CAElB,kBACF,CACA,mDAGE,2BAAgC,CADhC,mCAEF,CACA,iBACE,wBAAyB,CACzB,iBACF,CACA,yCACE,eAAgB,CAChB,yBACF,CACA,aAEE,kBAAmB,CADnB,YAEF,CACA,wBAIE,aAAc,CAHd,kBAAmB,CAEnB,mBAAoB,CADpB,oBAGF,CACA,sBACE,kBAAmB,CACnB,aACF,CACA,kBACE,aAAc,CACd,QACF,CACA,mBACE,gBACF,CACA,cAEE,aAAc,CADd,aAEF,CAIA,kFACE,kBACF,CACA,8DAEE,+BACF,CACA,2CAGE,iBACF,CACA,oGAGE,gBACF,CACA,oGAGE,iBACF,CC1EA,sBAEE,qBACF,CACA,UAKE,kBAAmB,CAJnB,YAAa,CACb,SAAU,CACV,qBAAsB,CAGtB,QAAS,CAFT,YAAa,CAGb,SACF,CACA,sFAEE,OACF,CACA,kCAEE,aACF,CACA,iBAKE,kBAAmB,CAFnB,qBAA0B,CAF1B,WAAY,CAGZ,gBAAiB,CAFjB,cAIF,CACA,iBAIE,kBAAmB,CAFnB,qBAA0B,CAC1B,cAAe,CAFf,iBAIF,CACA,kBACE,SACF,CACA,6BACE,kBACF,CACA,gBAGE,kBAAmB,CADnB,WAAY,CADZ,iBAAkB,CAGlB,kBACF,CC7CA,UAEE,oBAAqB,CADrB,iBAEF,CACA,0BAOE,iBAAkB,CAHV,yCAA0C,CAHlD,WAAY,CAKJ,8BAA+B,CAEvC,qBAAsB,CANtB,UAOF,CACA,iCACE,sBAAwB,CACxB,mBAAoB,CAGpB,oBAAqB,CADb,kFAEV,CACA,0CAEE,WAAY,CADZ,UAEF,CACA,iDACE,gBACF,CACA,4CAEE,WAAY,CADZ,UAEF,CACA,0CAEE,WAAY,CADZ,UAEF,CACA,eAGU,iBAAmB,CAF3B,UAAY,CAGZ,eACF,CACA,eACE,iDACF,CACA,sBAEE,oBAAqB,CADrB,qBAEF,CACA,eACE,aAAc,CAMd,eAAgB,CAHhB,WAAY,CADZ,iBAAkB,CADlB,iBAAkB,CAGlB,UAAW,CACX,SAEF,CACA,sBACE,WAAY,CACZ,oBAAqB,CACrB,WAAY,CAEZ,qBAAsB,CADtB,UAEF,CACA,gCACE,iBACF,CACA,eACE,oBAAqB,CACrB,eAAgB,CAChB,qBACF,CACA,mBACE,aAAc,CACd,aAAc,CACd,cACF,CACA,qBAIE,QAAW,CACX,MAAS,CAJT,cAAe,CAEf,OAAU,CADV,KAAQ,CAIR,aACF,CAOA,wBACE,GAEU,uBACV,CACF,CAeA,sBACE,GACE,sBAAwB,CACxB,mBACF,CACA,IACE,uBAAyB,CACzB,qBACF,CACA,GACE,uBAAyB,CACzB,sBACF,CACF,CAWA,uBACE,MAEE,mBACF,CACA,QAEE,mBACF,CACF,CCjJA,WAGE,cAAe,CAFf,iBAAkB,CAClB,iBAEF,CACA,sBACE,eACF,CACA,wCAEE,aACF,CACA,mBACE,iBACF,CACA,uBACE,qBACF,CACA,iBACE,qBACF,CACA,qCACE,cACF,CACA,8CACE,cACF,CACA,kGAEE,iBACF,CACA,gBACE,iBACF,CACA,mBACE,kBAAmB,CACnB,aACF,CACA,kBACE,iBAAkB,CAClB,UAAW,CACX,QACF,CACA,wBAIE,qBAA0B,CAD1B,eAAgB,CADhB,cAAe,CADf,WAIF,CACA,8BACE,8CACF,CACA,+BACE,yCACF,CACA,mBACE,kBAAmB,CACnB,aACF,CACA,gBACE,kBAAmB,CACnB,aACF,CACA,iBACE,kBAAmB,CACnB,aACF,CACA,mBAEE,SAAU,CACV,iBAAkB,CAFlB,QAGF,CACA,iBAGE,SAAU,CADF,oBAEV,CASA,wCACE,SAAU,CAEF,mBAAoB,CAE5B,8CAEF,CACA,uBAGE,SAAU,CADF,oBAEV,CCjGA,eACE,oBACF,CACA,uBAIE,cAAe,CACf,gBAAiB,CAFjB,eAAgB,CADhB,eAAgB,CADhB,WAKF,CACA,iDACE,sBACF,CACA,wCAEE,aAAc,CACd,cAAe,CAFf,YAAmB,CAAnB,eAGF,CACA,8CACE,aACF,CACA,6FAEE,sCACF,CCxBA,UACE,2BAA6B,CAC7B,YACF,CACA,mEACE,wBACF,CACA,kEAEE,eAAgB,CADhB,cAAe,CAEf,WACF,CACA,+GAGE,iBAAkB,CADlB,UAAW,CADX,QAGF,CACA,sGACE,kBACF,CACA,+EACE,gBACF,CACA,sFAGE,iBAAkB,CADlB,SAAU,CADV,OAGF,CACA,kFACE,iBAAkB,CAClB,kBACF,CACA,6EAEE,WAAa,CADb,iBAEF,CACA,2GACE,gBACF,CACA,sGACE,iBACF,CACA,4GACE,YACF,CACA,mFACE,gBACF,CACA,mGACE,gBACF,CACA,2GACE,wBACF,CACA,mFACE,iBACF,CACA,+CACE,UACF,CACA,kBAEE,WAAY,CADZ,cAAe,CAEf,WACF,CACA,0BAEE,MAAO,CADP,KAEF,CACA,2BAEE,OAAQ,CADR,KAEF,CACA,6BACE,QAAS,CACT,MACF,CACA,8BACE,QAAS,CACT,OACF,CChFA,UAGE,uBAAwB,CAChB,oBAAgB,CAAhB,eAAgB,CAaxB,wBAAyB,CACzB,yiBAA8xB,CAE9xB,0CAA6C,CAD7C,kCAAoC,CAEpC,+BAAkC,CAPlC,WAAY,CAEZ,iBAAkB,CADlB,6EAAuF,CAFvF,qBAAsB,CAPtB,aAAc,CADd,cAAe,CAJf,mBAAoB,CACpB,cAAe,CASf,gBAAiB,CADjB,QAAS,CADT,cAAe,CAFf,yBAA0B,CAK1B,qBAAsB,CAJtB,UAcF,CACA,gBACE,sBACF,CACA,gBAEE,2BAA4B,CAC5B,wBAAyB,CAFzB,6EAGF,CACA,mBAIE,qBAAyB,CAFzB,4eAAutB,CACvtB,+BAAkC,CAFlC,eAAgB,CAKhB,aAAc,CACd,kBAAmB,CAFnB,WAAa,CAGb,WACF,CACA,gBAEE,cAAe,CADf,yBAEF,CACA,gBAEE,cAAe,CADf,wBAEF,CChDA,cAME,cAAe,CAJf,kBAAoB,CADpB,mBAAqB,CAErB,iBAAkB,CAClB,wBAAyB,CACjB,qBAAiB,CAAjB,gBAEV,CACA,mBACE,eACF,CACA,qBACE,iBACF,CACA,oBACE,gBACF,CACA,iBAWE,kBAAmB,CALnB,cAAe,CACf,6BAA+B,CAG/B,mBAAoB,CATpB,WAAY,CACZ,gBAAiB,CAOjB,kBAAoB,CAJpB,iBAAkB,CADlB,iBAAkB,CAIlB,8DAAkE,CALlE,qBASF,CACA,mBAEE,oBAAyB,CAGzB,aAAc,CADd,aAAc,CAHd,oBAAqB,CAErB,eAGF,CACA,yBACE,aACF,CACA,+DAOE,wBAAyB,CADzB,iBAAkB,CAJlB,UAAW,CACX,aAAc,CACd,UAAW,CAIX,kBAAoB,CAHpB,SAIF,CACA,+BACE,eACF,CACA,yEAGU,wBACV,CACA,yEAGU,uBACV,CACA,0BACE,kBACF,CACA,iFAEE,kBACF,CACA,uBAGE,iBAAkB,CAFlB,WAAY,CACZ,gBAEF,CACA,yBACE,YAAa,CACb,cACF,CACA,2EAEE,eACF,CACA,8BACE,wBACF,CACA,4CACE,aACF,CACA,yBACE,eAAgB,CAChB,wBAAyB,CACzB,aACF,CACA,2DACE,wBACF,CACA,+CACE,gDACF,CACA,qCACE,6BAA8B,CAC9B,yBACF,CACA,oCACE,yBACF,CACA,gCACE,wBACF,CACA,uCACE,kCACF,CACA,oCAEE,wBAAyB,CADzB,yBAEF,CACA,iCACE,iBACF,CACA,sBACE,yBACF,CACA,gCACE,qBAAuB,CAGvB,yBAA2B,CAC3B,WAAY,CAFZ,gBAAiB,CADjB,aAIF,CCjIA,YACE,YACF,CACA,oCACE,eACF,CACA,kBACE,UACF,CACA,wBAGE,cAAe,CACf,eAAiB,CAFjB,mBAAqB,CADrB,iBAIF,CACA,oCACE,UACF,CACA,0CACE,cACF,CACA,oCACE,UACF,CACA,0CACE,cACF,CC1BA,YACE,iBAGF,CACA,6BAFE,oBAAqB,CADrB,aASF,CANA,iBACE,aAAc,CAGd,gBAAiB,CADjB,qBAGF,CCXA,oCASE,cAAe,CANf,MAAO,CAGP,QAAS,CALT,iBAAkB,CAIlB,iBAAkB,CAHlB,OAAQ,CAMA,0BAA6B,CAJrC,UAMF,CACA,kBA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","sources":["../../node_modules/@uiw/react-markdown-preview/esm/styles/markdown.css","../../node_modules/@uiw/react-overlay/esm/style/index.css","../../node_modules/@uiw/react-icon/esm/style/index.css","../../node_modules/@uiw/react-button/esm/style/index.css","../../node_modules/@uiw/react-modal/esm/style/index.css","../../node_modules/@uiw/react-alert/esm/style/index.css","../../node_modules/@uiw/react-avatar/esm/style/index.css","../../node_modules/@uiw/react-back-top/esm/style/index.css","../../node_modules/@uiw/react-badge/esm/style/index.css","../../node_modules/@uiw/react-breadcrumb/esm/style/item.css","../../node_modules/@uiw/react-breadcrumb/esm/style/index.css","../../node_modules/@uiw/react-button-group/esm/style/index.css","../../node_modules/@uiw/react-overlay-trigger/esm/style/index.css","../../node_modules/@uiw/react-popover/esm/style/index.css","../../node_modules/@uiw/react-input/esm/style/input.css","../../node_modules/@uiw/react-time-picker/esm/style/time-picker.css","../../node_modules/@uiw/react-time-picker/esm/style/index.css","../../node_modules/@uiw/react-date-picker/esm/style/day.css","../../node_modules/@uiw/react-date-picker/esm/style/year-month.css","../../node_modules/@uiw/react-date-picker/esm/style/caption.css","../../node_modules/@uiw/react-date-picker/esm/style/index.css","../../node_modules/@uiw/react-calendar/esm/style/index.css","../../node_modules/@uiw/react-card/esm/style/index.css","../../node_modules/@uiw/react-carousel/esm/style/index.css","../../node_modules/@uiw/react-menu/esm/style/item.css","../../node_modules/@uiw/react-menu/esm/style/submenu.css","../../node_modules/@uiw/react-menu/esm/style/menu.css","../../node_modules/@uiw/react-cascader/esm/style/index.css","../../node_modules/@uiw/react-radio/esm/style/index.css","../../node_modules/@uiw/react-radio/esm/style/group.css","../../node_modules/@uiw/react-checkbox/esm/style/index.css","../../node_modules/@uiw/react-collapse/esm/style/index.css","../../node_modules/@uiw/react-copy-to-clipboard/esm/style/index.css","../../node_modules/@uiw/react-date-input/esm/style/date-input-range.css","../../node_modules/@uiw/react-date-input/esm/style/index.css","../../node_modules/@uiw/react-descriptions/esm/style/index.css","../../node_modules/@uiw/react-divider/esm/style/index.css","../../node_modules/@uiw/react-drawer/esm/style/index.css","../../node_modules/@uiw/react-empty/esm/style/index.css","../../node_modules/@uiw/react-file-input/esm/style/index.css","../../node_modules/@uiw/react-grid/esm/style/col.css","../../node_modules/@uiw/react-grid/esm/style/row.css","../../node_modules/@uiw/react-form/esm/style/form-item.css","../../node_modules/@uiw/react-form/esm/style/form.css","../../node_modules/@uiw/react-list/esm/style/index.css","../../node_modules/@uiw/react-layout/esm/style/index.css","../../node_modules/@uiw/react-loader/esm/style/index.css","../../node_modules/@uiw/react-message/esm/style/index.css","../../node_modules/@uiw/react-month-picker/esm/style/index.css","../../node_modules/@uiw/react-notify/esm/style/index.css","../../node_modules/@uiw/react-select/esm/style/index.css","../../node_modules/@uiw/react-pagination/esm/style/index.css","../../node_modules/@uiw/react-pin-code/esm/style/input.css","../../node_modules/@uiw/react-progress/esm/style/index.css","../../node_modules/@uiw/react-progress/esm/style/circle.css","../../node_modules/@uiw/react-progress/esm/style/line.css","../../node_modules/@uiw/react-rate/esm/style/index.css","../../node_modules/@uiw/react-tag/esm/style/index.css","../../node_modules/@uiw/react-search-select/esm/style/index.css","../../node_modules/uiw/node_modules/@uiw/react-split/esm/style/index.css","../../node_modules/@uiw/react-steps/esm/style/index.css","../../node_modules/@uiw/react-slider/esm/style/index.css","../../node_modules/@uiw/react-switch/esm/style/index.css","../../node_modules/@uiw/react-table/esm/style/index.css","../../node_modules/@uiw/react-tabs/esm/style/index.css","../../node_modules/@uiw/react-textarea/esm/style/index.css","../../node_modules/@uiw/react-tooltip/esm/style/index.css","../../node_modules/@uiw/react-tree/esm/style/index.css","../../node_modules/@uiw/react-tree-checked/esm/style/index.css","../../node_modules/@uiw/react-search-tree/esm/style/index.css","../../node_modules/@uiw/react-transfer/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .wmde-markdown,\n .wmde-markdown-var {\n color-scheme: dark;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-storage-modifier-import: #c9d1d9;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-variable: #ffa657;\n --color-prettylights-syntax-brackethighlighter-unmatched: #f85149;\n --color-prettylights-syntax-invalid-illegal-text: #f0f6fc;\n --color-prettylights-syntax-invalid-illegal-bg: #8e1519;\n --color-prettylights-syntax-carriage-return-text: #f0f6fc;\n --color-prettylights-syntax-carriage-return-bg: #b62324;\n --color-prettylights-syntax-string-regexp: #7ee787;\n --color-prettylights-syntax-markup-list: #f2cc60;\n --color-prettylights-syntax-markup-heading: #1f6feb;\n --color-prettylights-syntax-markup-italic: #c9d1d9;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n --color-prettylights-syntax-markup-deleted-text: #ffdcd7;\n --color-prettylights-syntax-markup-deleted-bg: #67060c;\n --color-prettylights-syntax-markup-inserted-text: #aff5b4;\n --color-prettylights-syntax-markup-inserted-bg: #033a16;\n --color-prettylights-syntax-markup-changed-text: #ffdfb6;\n --color-prettylights-syntax-markup-changed-bg: #5a1e02;\n --color-prettylights-syntax-markup-ignored-text: #c9d1d9;\n --color-prettylights-syntax-markup-ignored-bg: #1158c7;\n --color-prettylights-syntax-meta-diff-range: #d2a8ff;\n --color-prettylights-syntax-brackethighlighter-angle: #8b949e;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant-other-reference-link: #a5d6ff;\n --color-fg-default: #c9d1d9;\n --color-fg-muted: #8b949e;\n --color-fg-subtle: #484f58;\n --color-canvas-default: #0d1117;\n --color-canvas-subtle: #161b22;\n --color-border-default: #30363d;\n --color-border-muted: #21262d;\n --color-neutral-muted: rgba(110, 118, 129, 0.4);\n --color-accent-fg: #58a6ff;\n --color-accent-emphasis: #1f6feb;\n --color-attention-subtle: rgba(187, 128, 9, 0.15);\n --color-danger-fg: #f85149;\n }\n}\n@media (prefers-color-scheme: light) {\n .wmde-markdown,\n .wmde-markdown-var {\n color-scheme: light;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-storage-modifier-import: #24292f;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-variable: #953800;\n --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;\n --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;\n --color-prettylights-syntax-invalid-illegal-bg: #82071e;\n --color-prettylights-syntax-carriage-return-text: #f6f8fa;\n --color-prettylights-syntax-carriage-return-bg: #cf222e;\n --color-prettylights-syntax-string-regexp: #116329;\n --color-prettylights-syntax-markup-list: #3b2300;\n --color-prettylights-syntax-markup-heading: #0550ae;\n --color-prettylights-syntax-markup-italic: #24292f;\n --color-prettylights-syntax-markup-bold: #24292f;\n --color-prettylights-syntax-markup-deleted-text: #82071e;\n --color-prettylights-syntax-markup-deleted-bg: #ffebe9;\n --color-prettylights-syntax-markup-inserted-text: #116329;\n --color-prettylights-syntax-markup-inserted-bg: #dafbe1;\n --color-prettylights-syntax-markup-changed-text: #953800;\n --color-prettylights-syntax-markup-changed-bg: #ffd8b5;\n --color-prettylights-syntax-markup-ignored-text: #eaeef2;\n --color-prettylights-syntax-markup-ignored-bg: #0550ae;\n --color-prettylights-syntax-meta-diff-range: #8250df;\n --color-prettylights-syntax-brackethighlighter-angle: #57606a;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant-other-reference-link: #0a3069;\n --color-fg-default: #24292f;\n --color-fg-muted: #57606a;\n --color-fg-subtle: #6e7781;\n --color-canvas-default: #ffffff;\n --color-canvas-subtle: #f6f8fa;\n --color-border-default: #d0d7de;\n --color-border-muted: hsl(210, 18%, 87%);\n --color-neutral-muted: rgba(175, 184, 193, 0.2);\n --color-accent-fg: #0969da;\n --color-accent-emphasis: #0969da;\n --color-attention-subtle: #fff8c5;\n --color-danger-fg: #cf222e;\n }\n}\n[data-color-mode*='dark'] .wmde-markdown,\n[data-color-mode*='dark'] .wmde-markdown-var,\n.wmde-markdown-var[data-color-mode*='dark'],\n.wmde-markdown[data-color-mode*='dark'],\nbody[data-color-mode*='dark'] {\n color-scheme: dark;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-storage-modifier-import: #c9d1d9;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-variable: #ffa657;\n --color-prettylights-syntax-brackethighlighter-unmatched: #f85149;\n --color-prettylights-syntax-invalid-illegal-text: #f0f6fc;\n --color-prettylights-syntax-invalid-illegal-bg: #8e1519;\n --color-prettylights-syntax-carriage-return-text: #f0f6fc;\n --color-prettylights-syntax-carriage-return-bg: #b62324;\n --color-prettylights-syntax-string-regexp: #7ee787;\n --color-prettylights-syntax-markup-list: #f2cc60;\n --color-prettylights-syntax-markup-heading: #1f6feb;\n --color-prettylights-syntax-markup-italic: #c9d1d9;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n --color-prettylights-syntax-markup-deleted-text: #ffdcd7;\n --color-prettylights-syntax-markup-deleted-bg: #67060c;\n --color-prettylights-syntax-markup-inserted-text: #aff5b4;\n --color-prettylights-syntax-markup-inserted-bg: #033a16;\n --color-prettylights-syntax-markup-changed-text: #ffdfb6;\n --color-prettylights-syntax-markup-changed-bg: #5a1e02;\n --color-prettylights-syntax-markup-ignored-text: #c9d1d9;\n --color-prettylights-syntax-markup-ignored-bg: #1158c7;\n --color-prettylights-syntax-meta-diff-range: #d2a8ff;\n --color-prettylights-syntax-brackethighlighter-angle: #8b949e;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant-other-reference-link: #a5d6ff;\n --color-fg-default: #c9d1d9;\n --color-fg-muted: #8b949e;\n --color-fg-subtle: #484f58;\n --color-canvas-default: #0d1117;\n --color-canvas-subtle: #161b22;\n --color-border-default: #30363d;\n --color-border-muted: #21262d;\n --color-neutral-muted: rgba(110, 118, 129, 0.4);\n --color-accent-fg: #58a6ff;\n --color-accent-emphasis: #1f6feb;\n --color-attention-subtle: rgba(187, 128, 9, 0.15);\n --color-danger-fg: #f85149;\n}\n[data-color-mode*='light'] .wmde-markdown,\n[data-color-mode*='light'] .wmde-markdown-var,\n.wmde-markdown-var[data-color-mode*='light'],\n.wmde-markdown[data-color-mode*='light'],\nbody[data-color-mode*='light'] {\n color-scheme: light;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-storage-modifier-import: #24292f;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-variable: #953800;\n --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;\n --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;\n --color-prettylights-syntax-invalid-illegal-bg: #82071e;\n --color-prettylights-syntax-carriage-return-text: #f6f8fa;\n --color-prettylights-syntax-carriage-return-bg: #cf222e;\n --color-prettylights-syntax-string-regexp: #116329;\n --color-prettylights-syntax-markup-list: #3b2300;\n --color-prettylights-syntax-markup-heading: #0550ae;\n --color-prettylights-syntax-markup-italic: #24292f;\n --color-prettylights-syntax-markup-bold: #24292f;\n --color-prettylights-syntax-markup-deleted-text: #82071e;\n --color-prettylights-syntax-markup-deleted-bg: #ffebe9;\n --color-prettylights-syntax-markup-inserted-text: #116329;\n --color-prettylights-syntax-markup-inserted-bg: #dafbe1;\n --color-prettylights-syntax-markup-changed-text: #953800;\n --color-prettylights-syntax-markup-changed-bg: #ffd8b5;\n --color-prettylights-syntax-markup-ignored-text: #eaeef2;\n --color-prettylights-syntax-markup-ignored-bg: #0550ae;\n --color-prettylights-syntax-meta-diff-range: #8250df;\n --color-prettylights-syntax-brackethighlighter-angle: #57606a;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant-other-reference-link: #0a3069;\n --color-fg-default: #24292f;\n --color-fg-muted: #57606a;\n --color-fg-subtle: #6e7781;\n --color-canvas-default: #ffffff;\n --color-canvas-subtle: #f6f8fa;\n --color-border-default: #d0d7de;\n --color-border-muted: hsl(210, 18%, 87%);\n --color-neutral-muted: rgba(175, 184, 193, 0.2);\n --color-accent-fg: #0969da;\n --color-accent-emphasis: #0969da;\n --color-attention-subtle: #fff8c5;\n --color-danger-fg: #cf222e;\n}\n.wmde-markdown {\n -webkit-text-size-adjust: 100%;\n font-family: -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';\n font-size: 16px;\n line-height: 1.5;\n word-wrap: break-word;\n color: var(--color-fg-default);\n background-color: var(--color-canvas-default);\n}\n.wmde-markdown details,\n.wmde-markdown figcaption,\n.wmde-markdown figure {\n display: block;\n}\n.wmde-markdown summary {\n display: list-item;\n}\n.wmde-markdown [hidden] {\n display: none !important;\n}\n.wmde-markdown a {\n background-color: transparent;\n color: var(--color-accent-fg);\n text-decoration: none;\n}\n.wmde-markdown a:active,\n.wmde-markdown a:hover {\n outline-width: 0;\n}\n.wmde-markdown abbr[title] {\n border-bottom: none;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n.wmde-markdown b,\n.wmde-markdown strong {\n font-weight: 600;\n}\n.wmde-markdown dfn {\n font-style: italic;\n}\n.wmde-markdown h1 {\n margin: 0.67em 0;\n font-weight: 600;\n padding-bottom: 0.3em;\n font-size: 2em;\n border-bottom: 1px solid var(--color-border-muted);\n}\n.wmde-markdown mark {\n background-color: var(--color-attention-subtle);\n color: var(--color-text-primary);\n}\n.wmde-markdown small {\n font-size: 90%;\n}\n.wmde-markdown sub,\n.wmde-markdown sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n.wmde-markdown sub {\n bottom: -0.25em;\n}\n.wmde-markdown sup {\n top: -0.5em;\n}\n.wmde-markdown img {\n display: inline-block;\n border-style: none;\n max-width: 100%;\n box-sizing: content-box;\n background-color: var(--color-canvas-default);\n}\n.wmde-markdown code,\n.wmde-markdown kbd,\n.wmde-markdown pre,\n.wmde-markdown samp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n.wmde-markdown figure {\n margin: 1em 40px;\n}\n.wmde-markdown hr {\n box-sizing: content-box;\n overflow: hidden;\n background: transparent;\n border: 0;\n border-bottom: 1px solid var(--color-border-muted);\n height: 0.25em;\n padding: 0;\n margin: 24px 0;\n background-color: var(--color-border-default);\n}\n.wmde-markdown input {\n font: inherit;\n margin: 0;\n overflow: visible;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n.wmde-markdown [type='button'],\n.wmde-markdown [type='reset'],\n.wmde-markdown [type='submit'] {\n -webkit-appearance: button;\n}\n.wmde-markdown [type='button']::-moz-focus-inner,\n.wmde-markdown [type='reset']::-moz-focus-inner,\n.wmde-markdown [type='submit']::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n.wmde-markdown [type='button']:-moz-focusring,\n.wmde-markdown [type='reset']:-moz-focusring,\n.wmde-markdown [type='submit']:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n.wmde-markdown [type='checkbox'],\n.wmde-markdown [type='radio'] {\n box-sizing: border-box;\n padding: 0;\n}\n.wmde-markdown [type='number']::-webkit-inner-spin-button,\n.wmde-markdown [type='number']::-webkit-outer-spin-button {\n height: auto;\n}\n.wmde-markdown [type='search'] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n.wmde-markdown [type='search']::-webkit-search-cancel-button,\n.wmde-markdown [type='search']::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n.wmde-markdown ::-webkit-input-placeholder {\n color: inherit;\n opacity: 0.54;\n}\n.wmde-markdown ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n.wmde-markdown a:hover {\n text-decoration: underline;\n}\n.wmde-markdown hr::before {\n display: table;\n content: '';\n}\n.wmde-markdown hr::after {\n display: table;\n clear: both;\n content: '';\n}\n.wmde-markdown table {\n border-spacing: 0;\n border-collapse: collapse;\n display: block;\n width: -webkit-max-content;\n width: max-content;\n max-width: 100%;\n}\n.wmde-markdown td,\n.wmde-markdown th {\n padding: 0;\n}\n.wmde-markdown details summary {\n cursor: pointer;\n}\n.wmde-markdown details:not([open]) > *:not(summary) {\n display: none !important;\n}\n.wmde-markdown kbd {\n display: inline-block;\n padding: 3px 5px;\n font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n line-height: 10px;\n color: var(--color-fg-default);\n vertical-align: middle;\n background-color: var(--color-canvas-subtle);\n border: solid 1px var(--color-neutral-muted);\n border-bottom-color: var(--color-neutral-muted);\n border-radius: 6px;\n box-shadow: inset 0 -1px 0 var(--color-neutral-muted);\n}\n.wmde-markdown h1,\n.wmde-markdown h2,\n.wmde-markdown h3,\n.wmde-markdown h4,\n.wmde-markdown h5,\n.wmde-markdown h6 {\n margin-top: 24px;\n margin-bottom: 16px;\n font-weight: 600;\n line-height: 1.25;\n}\n.wmde-markdown td,\n.wmde-markdown th {\n padding: 0;\n}\n.wmde-markdown details summary {\n cursor: pointer;\n}\n.wmde-markdown details:not([open]) > *:not(summary) {\n display: none !important;\n}\n.wmde-markdown kbd {\n display: inline-block;\n padding: 3px 5px;\n font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n line-height: 10px;\n color: var(--color-fg-default);\n vertical-align: middle;\n background-color: var(--color-canvas-subtle);\n border: solid 1px var(--color-neutral-muted);\n border-bottom-color: var(--color-neutral-muted);\n border-radius: 6px;\n box-shadow: inset 0 -1px 0 var(--color-neutral-muted);\n}\n.wmde-markdown h1,\n.wmde-markdown h2,\n.wmde-markdown h3,\n.wmde-markdown h4,\n.wmde-markdown h5,\n.wmde-markdown h6 {\n margin-top: 24px;\n margin-bottom: 16px;\n font-weight: 600;\n line-height: 1.25;\n}\n.wmde-markdown h2 {\n font-weight: 600;\n padding-bottom: 0.3em;\n font-size: 1.5em;\n border-bottom: 1px solid var(--color-border-muted);\n}\n.wmde-markdown h3 {\n font-weight: 600;\n font-size: 1.25em;\n}\n.wmde-markdown h4 {\n font-weight: 600;\n font-size: 1em;\n}\n.wmde-markdown h5 {\n font-weight: 600;\n font-size: 0.875em;\n}\n.wmde-markdown h6 {\n font-weight: 600;\n font-size: 0.85em;\n color: var(--color-fg-muted);\n}\n.wmde-markdown p {\n margin-top: 0;\n margin-bottom: 10px;\n}\n.wmde-markdown blockquote {\n margin: 0;\n padding: 0 1em;\n color: var(--color-fg-muted);\n border-left: 0.25em solid var(--color-border-default);\n}\n.wmde-markdown ul,\n.wmde-markdown ol {\n margin-top: 0;\n margin-bottom: 0;\n padding-left: 2em;\n}\n.wmde-markdown ol ol,\n.wmde-markdown ul ol {\n list-style-type: lower-roman;\n}\n.wmde-markdown ul ul ol,\n.wmde-markdown ul ol ol,\n.wmde-markdown ol ul ol,\n.wmde-markdown ol ol ol {\n list-style-type: lower-alpha;\n}\n.wmde-markdown dd {\n margin-left: 0;\n}\n.wmde-markdown tt,\n.wmde-markdown code {\n font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n font-size: 12px;\n}\n.wmde-markdown pre {\n margin-top: 0;\n margin-bottom: 0;\n font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n font-size: 12px;\n word-wrap: normal;\n}\n.wmde-markdown .octicon {\n display: inline-block;\n overflow: visible !important;\n vertical-align: text-bottom;\n fill: currentColor;\n}\n.wmde-markdown ::-webkit-input-placeholder {\n color: var(--color-fg-subtle);\n opacity: 1;\n}\n.wmde-markdown ::placeholder {\n color: var(--color-fg-subtle);\n opacity: 1;\n}\n.wmde-markdown input::-webkit-outer-spin-button,\n.wmde-markdown input::-webkit-inner-spin-button {\n margin: 0;\n -webkit-appearance: none;\n appearance: none;\n}\n.wmde-markdown [data-catalyst] {\n display: block;\n}\n.wmde-markdown::before {\n display: table;\n content: '';\n}\n.wmde-markdown::after {\n display: table;\n clear: both;\n content: '';\n}\n.wmde-markdown > *:first-child {\n margin-top: 0 !important;\n}\n.wmde-markdown > *:last-child {\n margin-bottom: 0 !important;\n}\n.wmde-markdown a:not([href]) {\n color: inherit;\n text-decoration: none;\n}\n.wmde-markdown .absent {\n color: var(--color-danger-fg);\n}\n.wmde-markdown a.anchor {\n float: left;\n padding-right: 4px;\n margin-left: -20px;\n line-height: 1;\n}\n.wmde-markdown .anchor:focus {\n outline: none;\n}\n.wmde-markdown p,\n.wmde-markdown blockquote,\n.wmde-markdown ul,\n.wmde-markdown ol,\n.wmde-markdown dl,\n.wmde-markdown table,\n.wmde-markdown pre,\n.wmde-markdown details {\n margin-top: 0;\n margin-bottom: 16px;\n}\n.wmde-markdown blockquote > :first-child {\n margin-top: 0;\n}\n.wmde-markdown blockquote > :last-child {\n margin-bottom: 0;\n}\n.wmde-markdown sup > a::before {\n content: '[';\n}\n.wmde-markdown sup > a::after {\n content: ']';\n}\n.wmde-markdown h1 .octicon-link,\n.wmde-markdown h2 .octicon-link,\n.wmde-markdown h3 .octicon-link,\n.wmde-markdown h4 .octicon-link,\n.wmde-markdown h5 .octicon-link,\n.wmde-markdown h6 .octicon-link {\n color: var(--color-fg-default);\n vertical-align: middle;\n visibility: hidden;\n}\n.wmde-markdown h1:hover .anchor,\n.wmde-markdown h2:hover .anchor,\n.wmde-markdown h3:hover .anchor,\n.wmde-markdown h4:hover .anchor,\n.wmde-markdown h5:hover .anchor,\n.wmde-markdown h6:hover .anchor {\n text-decoration: none;\n}\n.wmde-markdown h1:hover .anchor .octicon-link,\n.wmde-markdown h2:hover .anchor .octicon-link,\n.wmde-markdown h3:hover .anchor .octicon-link,\n.wmde-markdown h4:hover .anchor .octicon-link,\n.wmde-markdown h5:hover .anchor .octicon-link,\n.wmde-markdown h6:hover .anchor .octicon-link {\n visibility: visible;\n}\n.wmde-markdown h1 tt,\n.wmde-markdown h1 code,\n.wmde-markdown h2 tt,\n.wmde-markdown h2 code,\n.wmde-markdown h3 tt,\n.wmde-markdown h3 code,\n.wmde-markdown h4 tt,\n.wmde-markdown h4 code,\n.wmde-markdown h5 tt,\n.wmde-markdown h5 code,\n.wmde-markdown h6 tt,\n.wmde-markdown h6 code {\n padding: 0 0.2em;\n font-size: inherit;\n}\n.wmde-markdown ul.no-list,\n.wmde-markdown ol.no-list {\n padding: 0;\n list-style-type: none;\n}\n.wmde-markdown ol[type='1'] {\n list-style-type: decimal;\n}\n.wmde-markdown ol[type='a'] {\n list-style-type: lower-alpha;\n}\n.wmde-markdown ol[type='i'] {\n list-style-type: lower-roman;\n}\n.wmde-markdown div > ol:not([type]) {\n list-style-type: decimal;\n}\n.wmde-markdown ul ul,\n.wmde-markdown ul ol,\n.wmde-markdown ol ol,\n.wmde-markdown ol ul {\n margin-top: 0;\n margin-bottom: 0;\n}\n.wmde-markdown li > p {\n margin-top: 16px;\n}\n.wmde-markdown li + li {\n margin-top: 0.25em;\n}\n.wmde-markdown dl {\n padding: 0;\n}\n.wmde-markdown dl dt {\n padding: 0;\n margin-top: 16px;\n font-size: 1em;\n font-style: italic;\n font-weight: 600;\n}\n.wmde-markdown dl dd {\n padding: 0 16px;\n margin-bottom: 16px;\n}\n.wmde-markdown table th {\n font-weight: 600;\n}\n.wmde-markdown table th,\n.wmde-markdown table td {\n padding: 6px 13px;\n border: 1px solid var(--color-border-default);\n}\n.wmde-markdown table tr {\n background-color: var(--color-canvas-default);\n border-top: 1px solid var(--color-border-muted);\n}\n.wmde-markdown table tr:nth-child(2n) {\n background-color: var(--color-canvas-subtle);\n}\n.wmde-markdown table img {\n background-color: transparent;\n}\n.wmde-markdown img[align='right'] {\n padding-left: 20px;\n}\n.wmde-markdown img[align='left'] {\n padding-right: 20px;\n}\n.wmde-markdown .emoji {\n max-width: none;\n vertical-align: text-top;\n background-color: transparent;\n}\n.wmde-markdown span.frame {\n display: block;\n overflow: hidden;\n}\n.wmde-markdown span.frame > span {\n display: block;\n float: left;\n width: auto;\n padding: 7px;\n margin: 13px 0 0;\n overflow: hidden;\n border: 1px solid var(--color-border-default);\n}\n.wmde-markdown span.frame span img {\n display: block;\n float: left;\n}\n.wmde-markdown span.frame span span {\n display: block;\n padding: 5px 0 0;\n clear: both;\n color: var(--color-fg-default);\n}\n.wmde-markdown span.align-center {\n display: block;\n overflow: hidden;\n clear: both;\n}\n.wmde-markdown span.align-center > span {\n display: block;\n margin: 13px auto 0;\n overflow: hidden;\n text-align: center;\n}\n.wmde-markdown span.align-center span img {\n margin: 0 auto;\n text-align: center;\n}\n.wmde-markdown span.align-right {\n display: block;\n overflow: hidden;\n clear: both;\n}\n.wmde-markdown span.align-right > span {\n display: block;\n margin: 13px 0 0;\n overflow: hidden;\n text-align: right;\n}\n.wmde-markdown span.align-right span img {\n margin: 0;\n text-align: right;\n}\n.wmde-markdown span.float-left {\n display: block;\n float: left;\n margin-right: 13px;\n overflow: hidden;\n}\n.wmde-markdown span.float-left span {\n margin: 13px 0 0;\n}\n.wmde-markdown span.float-right {\n display: block;\n float: right;\n margin-left: 13px;\n overflow: hidden;\n}\n.wmde-markdown span.float-right > span {\n display: block;\n margin: 13px auto 0;\n overflow: hidden;\n text-align: right;\n}\n.wmde-markdown code,\n.wmde-markdown tt {\n padding: 0.2em 0.4em;\n margin: 0;\n font-size: 85%;\n background-color: var(--color-neutral-muted);\n border-radius: 6px;\n}\n.wmde-markdown code br,\n.wmde-markdown tt br {\n display: none;\n}\n.wmde-markdown del code {\n text-decoration: inherit;\n}\n.wmde-markdown pre code {\n font-size: 100%;\n}\n.wmde-markdown pre > code {\n padding: 0;\n margin: 0;\n word-break: normal;\n white-space: pre;\n background: transparent;\n border: 0;\n}\n.wmde-markdown pre {\n font-size: 85%;\n line-height: 1.45;\n background-color: var(--color-canvas-subtle);\n border-radius: 6px;\n}\n.wmde-markdown pre code,\n.wmde-markdown pre tt {\n display: inline;\n max-width: auto;\n padding: 0;\n margin: 0;\n overflow: visible;\n line-height: inherit;\n word-wrap: normal;\n background-color: transparent;\n border: 0;\n}\n.wmde-markdown pre > code {\n padding: 16px;\n overflow: auto;\n display: block;\n}\n.wmde-markdown .csv-data td,\n.wmde-markdown .csv-data th {\n padding: 5px;\n overflow: hidden;\n font-size: 12px;\n line-height: 1;\n text-align: left;\n white-space: nowrap;\n}\n.wmde-markdown .csv-data .blob-num {\n padding: 10px 8px 9px;\n text-align: right;\n background: var(--color-canvas-default);\n border: 0;\n}\n.wmde-markdown .csv-data tr {\n border-top: 0;\n}\n.wmde-markdown .csv-data th {\n font-weight: 600;\n background: var(--color-canvas-subtle);\n border-top: 0;\n}\n.wmde-markdown .footnotes {\n font-size: 12px;\n color: var(--color-fg-muted);\n border-top: 1px solid var(--color-border-default);\n}\n.wmde-markdown .footnotes ol {\n padding-left: 16px;\n}\n.wmde-markdown .footnotes li {\n position: relative;\n}\n.wmde-markdown .footnotes li:target::before {\n position: absolute;\n top: -8px;\n right: -8px;\n bottom: -8px;\n left: -24px;\n pointer-events: none;\n content: '';\n border: 2px solid var(--color-accent-emphasis);\n border-radius: 6px;\n}\n.wmde-markdown .footnotes li:target {\n color: var(--color-fg-default);\n}\n.wmde-markdown .footnotes .data-footnote-backref g-emoji {\n font-family: monospace;\n}\n.wmde-markdown .task-list-item {\n list-style-type: none;\n}\n.wmde-markdown .task-list-item label {\n font-weight: 400;\n}\n.wmde-markdown .task-list-item.enabled label {\n cursor: pointer;\n}\n.wmde-markdown .task-list-item + .wmde-markdown .task-list-item {\n margin-top: 3px;\n}\n.wmde-markdown .task-list-item .handle {\n display: none;\n}\n.wmde-markdown .task-list-item-checkbox,\n.wmde-markdown .contains-task-list input[type='checkbox'] {\n margin: 0 0.2em 0.25em -1.6em;\n vertical-align: middle;\n}\n.wmde-markdown .contains-task-list:dir(rtl) .task-list-item-checkbox,\n.wmde-markdown .contains-task-list:dir(rtl) input[type='checkbox'] {\n margin: 0 -1.6em 0.25em 0.2em;\n}\n.wmde-markdown ::-webkit-calendar-picker-indicator {\n -webkit-filter: invert(50%);\n filter: invert(50%);\n}\n.wmde-markdown pre {\n position: relative;\n}\n.wmde-markdown pre .copied {\n visibility: hidden;\n display: flex;\n position: absolute;\n cursor: pointer;\n color: var(--color-fg-defaul);\n top: 6px;\n right: 6px;\n border-radius: 5px;\n background: var(--color-border-default);\n padding: 6px;\n font-size: 12px;\n transition: all 0.3s;\n}\n.wmde-markdown pre .copied .octicon-copy {\n display: block;\n}\n.wmde-markdown pre .copied .octicon-check {\n display: none;\n}\n.wmde-markdown pre:hover .copied {\n visibility: visible;\n}\n.wmde-markdown pre:hover .copied:hover {\n background: var(--color-prettylights-syntax-entity-tag);\n color: var(--color-canvas-default);\n}\n.wmde-markdown pre:hover .copied:active,\n.wmde-markdown pre .copied.active {\n background: #2e9b33;\n color: var(--color-canvas-default);\n}\n.wmde-markdown pre .active .octicon-copy {\n display: none;\n}\n.wmde-markdown pre .active .octicon-check {\n display: block;\n}\n.highlight-line {\n background-color: var(--color-neutral-muted);\n}\n.code-line.line-number::before {\n display: inline-block;\n width: 1rem;\n text-align: right;\n margin-right: 16px;\n color: var(--color-fg-subtle);\n content: attr(line);\n white-space: nowrap;\n}\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n color: var(--color-prettylights-syntax-comment);\n}\n.token.namespace {\n opacity: 0.7;\n}\n.token.property,\n.token.tag,\n.token.selector,\n.token.constant,\n.token.symbol,\n.token.deleted {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.token.maybe-class-name {\n color: var(--color-prettylights-syntax-variable);\n}\n.token.property-access,\n.token.operator,\n.token.boolean,\n.token.number,\n.token.selector .token.class,\n.token.attr-name,\n.token.string,\n.token.char,\n.token.builtin {\n color: var(--color-prettylights-syntax-constant);\n}\n.token.deleted {\n color: var(--color-prettylights-syntax-markup-deleted-text);\n}\n.code-line .token.deleted {\n background-color: var(--color-prettylights-syntax-markup-deleted-bg);\n}\n.token.inserted {\n color: var(--color-prettylights-syntax-markup-inserted-text);\n}\n.code-line .token.inserted {\n background-color: var(--color-prettylights-syntax-markup-inserted-bg);\n}\n.token.variable {\n color: var(--color-prettylights-syntax-constant);\n}\n.token.entity,\n.token.url,\n.language-css .token.string,\n.style .token.string {\n color: var(--color-prettylights-syntax-string);\n}\n.token.color,\n.token.atrule,\n.token.attr-value,\n.token.function,\n.token.class-name {\n color: var(--color-prettylights-syntax-string);\n}\n.token.rule,\n.token.regex,\n.token.important,\n.token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.token.coord {\n color: var(--color-prettylights-syntax-meta-diff-range);\n}\n.token.important,\n.token.bold {\n font-weight: bold;\n}\n.token.italic {\n font-style: italic;\n}\n.token.entity {\n cursor: help;\n}\n",".w-overlay {\n position: fixed;\n overflow: auto;\n top: 0;\n right: 0;\n left: 0;\n outline: 0;\n bottom: 0;\n z-index: 999;\n -webkit-overflow-scrolling: touch;\n text-align: center;\n height: 100%;\n width: 100%;\n display: none;\n}\n.w-overlay.open {\n z-index: 9999;\n}\n.w-overlay-open {\n overflow: hidden;\n}\n.w-overlay-content {\n position: relative;\n outline: 0;\n display: inline-block;\n vertical-align: middle;\n text-align: left;\n margin: 20px 0;\n z-index: 20;\n}\n.w-overlay-inline {\n position: absolute;\n overflow: initial;\n}\n.w-overlay-inline .w-overlay-container {\n position: relative;\n}\n.w-overlay-inline .w-overlay-backdrop {\n position: absolute;\n}\n.w-overlay-container {\n position: absolute;\n overflow: auto;\n z-index: 99999;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n.w-overlay-container:before {\n content: ' ';\n display: inline-block;\n height: 100%;\n width: 1px;\n vertical-align: middle;\n}\n.w-overlay-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n opacity: 1;\n z-index: 20;\n background-color: rgba(16, 22, 26, 0.7);\n overflow: auto;\n -webkit-user-select: none;\n user-select: none;\n}\n.w-overlay-enter .w-overlay-backdrop {\n opacity: 0;\n}\n.w-overlay-enter-active .w-overlay-backdrop {\n opacity: 1;\n transition: opacity 300ms ease-in;\n}\n.w-overlay-exit .w-overlay-backdrop {\n opacity: 1;\n}\n.w-overlay-exit-active .w-overlay-backdrop {\n opacity: 0;\n transition: opacity 300ms ease-in;\n}\n.w-overlay-enter .w-overlay-content {\n -webkit-transform: scale(0.5);\n transform: scale(0.5);\n opacity: 0;\n}\n.w-overlay-enter-active .w-overlay-content {\n opacity: 1;\n -webkit-transform: translate(0);\n transform: translate(0);\n transition: opacity 300ms ease, -webkit-transform 300ms ease;\n transition: transform 300ms ease, opacity 300ms ease;\n transition: transform 300ms ease, opacity 300ms ease, -webkit-transform 300ms ease;\n}\n.w-overlay-exit .w-overlay-content {\n opacity: 1;\n -webkit-transform: translate(0);\n transform: translate(0);\n transition: opacity 300ms ease, -webkit-transform 300ms ease;\n transition: transform 300ms ease, opacity 300ms ease;\n transition: transform 300ms ease, opacity 300ms ease, -webkit-transform 300ms ease;\n}\n.w-overlay-exit-active .w-overlay-content {\n -webkit-transform: scale(0.5);\n transform: scale(0.5);\n opacity: 0;\n}\n.w-overlay-enter,\n.w-overlay-enter-done,\n.w-overlay-exit {\n display: inherit;\n}\n",".w-icon,\n.w-icon svg {\n height: 1em;\n width: 1em;\n}\n.w-icon {\n display: inline-flex;\n align-self: center;\n position: relative;\n transition: color 0.3s;\n box-sizing: inherit;\n}\n.w-icon-baseline {\n top: 0.125em;\n}\n.w-icon-spin svg {\n -webkit-animation: loading-circle 1s infinite linear;\n animation: loading-circle 1s infinite linear;\n}\n@-webkit-keyframes loading-circle {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@keyframes loading-circle {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n",".w-btn {\n -webkit-user-select: none;\n user-select: none;\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n border: none;\n border-radius: 3px;\n cursor: pointer;\n padding: 5px 7px;\n position: relative;\n vertical-align: middle;\n text-align: left;\n line-height: 14px;\n font-size: 14px;\n min-width: 30px;\n min-height: 30px;\n text-align: center;\n color: #fff;\n transition: background-color 0.5s, opacity 1s;\n}\n.w-btn > *:not(:last-child) {\n margin-right: 5px;\n}\n.w-btn + .w-btn:not(.block) {\n margin-left: 5px;\n}\n.w-btn.block {\n display: block;\n width: 100%;\n}\n.w-btn.disabled,\n.w-btn[disabled] {\n cursor: not-allowed;\n}\n.w-btn-primary {\n color: #fff;\n background-color: #008ef0;\n z-index: 1;\n}\n.w-btn-primary:hover {\n background-color: #0070bd;\n}\n.w-btn-primary:focus,\n.w-btn-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(0, 142, 240, 0.26);\n}\n.w-btn-primary:hover {\n color: #fff;\n background-color: #0070bd;\n z-index: 2;\n}\n.w-btn-primary:active,\n.w-btn-primary.active {\n color: #fff;\n background-color: #00528a;\n background-image: none;\n}\n.w-btn-primary.disabled,\n.w-btn-primary[disabled] {\n background-color: #57baff;\n z-index: 0;\n}\n.w-btn-primary.w-btn-basic {\n background-color: transparent !important;\n box-shadow: inset 0 0 0 #000;\n color: #008ef0;\n}\n.w-btn-primary.w-btn-basic:hover {\n background-color: #c7e8ff !important;\n}\n.w-btn-primary.w-btn-basic:active,\n.w-btn-primary.w-btn-basic.active {\n color: #008ef0;\n background-color: #94d3ff !important;\n background-image: none;\n}\n.w-btn-primary.w-btn-basic.disabled,\n.w-btn-primary.w-btn-basic[disabled] {\n background-color: transparent !important;\n color: #24a6ff;\n}\n.w-btn-success {\n color: #fff;\n background-color: #28a745;\n z-index: 1;\n}\n.w-btn-success:hover {\n background-color: #1e7e34;\n}\n.w-btn-success:focus,\n.w-btn-success.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.26);\n}\n.w-btn-success:hover {\n color: #fff;\n background-color: #1e7e34;\n z-index: 2;\n}\n.w-btn-success:active,\n.w-btn-success.active {\n color: #fff;\n background-color: #145523;\n background-image: none;\n}\n.w-btn-success.disabled,\n.w-btn-success[disabled] {\n background-color: #5dd879;\n z-index: 0;\n}\n.w-btn-success.w-btn-basic {\n background-color: transparent !important;\n box-shadow: inset 0 0 0 #000;\n color: #28a745;\n}\n.w-btn-success.w-btn-basic:hover {\n background-color: #b7eec4 !important;\n}\n.w-btn-success.w-btn-basic:active,\n.w-btn-success.w-btn-basic.active {\n color: #28a745;\n background-color: #8ee4a2 !important;\n background-image: none;\n}\n.w-btn-success.w-btn-basic.disabled,\n.w-btn-success.w-btn-basic[disabled] {\n background-color: transparent !important;\n color: #34ce57;\n}\n.w-btn-warning {\n color: #fff;\n background-color: #ffc107;\n z-index: 1;\n}\n.w-btn-warning:hover {\n background-color: #d39e00;\n}\n.w-btn-warning:focus,\n.w-btn-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(255, 193, 7, 0.26);\n}\n.w-btn-warning:hover {\n color: #fff;\n background-color: #d39e00;\n z-index: 2;\n}\n.w-btn-warning:active,\n.w-btn-warning.active {\n color: #fff;\n background-color: #a07800;\n background-image: none;\n}\n.w-btn-warning.disabled,\n.w-btn-warning[disabled] {\n background-color: #ffdb6d;\n z-index: 0;\n}\n.w-btn-warning.w-btn-basic {\n background-color: transparent !important;\n box-shadow: inset 0 0 0 #000;\n color: #ffc107;\n}\n.w-btn-warning.w-btn-basic:hover {\n background-color: #fff7dd !important;\n}\n.w-btn-warning.w-btn-basic:active,\n.w-btn-warning.w-btn-basic.active {\n color: #ffc107;\n background-color: #ffeaaa !important;\n background-image: none;\n}\n.w-btn-warning.w-btn-basic.disabled,\n.w-btn-warning.w-btn-basic[disabled] {\n background-color: transparent !important;\n color: #ffce3a;\n}\n.w-btn-danger {\n color: #fff;\n background-color: #dc3545;\n z-index: 1;\n}\n.w-btn-danger:hover {\n background-color: #bd2130;\n}\n.w-btn-danger:focus,\n.w-btn-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.26);\n}\n.w-btn-danger:hover {\n color: #fff;\n background-color: #bd2130;\n z-index: 2;\n}\n.w-btn-danger:active,\n.w-btn-danger.active {\n color: #fff;\n background-color: #921925;\n background-image: none;\n}\n.w-btn-danger.disabled,\n.w-btn-danger[disabled] {\n background-color: #eb8c95;\n z-index: 0;\n}\n.w-btn-danger.w-btn-basic {\n background-color: transparent !important;\n box-shadow: inset 0 0 0 #000;\n color: #dc3545;\n}\n.w-btn-danger.w-btn-basic:hover {\n background-color: #fceced !important;\n}\n.w-btn-danger.w-btn-basic:active,\n.w-btn-danger.w-btn-basic.active {\n color: #dc3545;\n background-color: #f4c0c5 !important;\n background-image: none;\n}\n.w-btn-danger.w-btn-basic.disabled,\n.w-btn-danger.w-btn-basic[disabled] {\n background-color: transparent !important;\n color: #e4606d;\n}\n.w-btn-light {\n box-shadow: inset 0 1px 0 0 rgba(0, 0, 0, 0.17), inset 1px -1px 0 0 rgba(0, 0, 0, 0.17), inset -1px 0px 0 0 rgba(0, 0, 0, 0.17);\n color: #393e48;\n background-color: #f8f9fa;\n z-index: 1;\n}\n.w-btn-light:hover {\n background-color: #dae0e5;\n}\n.w-btn-light:focus,\n.w-btn-light.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(248, 249, 250, 0.26);\n}\n.w-btn-light:hover {\n color: #393e48;\n background-color: #dae0e5;\n z-index: 2;\n}\n.w-btn-light:active,\n.w-btn-light.active {\n color: #393e48;\n background-color: #bcc6cf;\n background-image: none;\n}\n.w-btn-light.disabled,\n.w-btn-light[disabled] {\n background-color: #ffffff;\n z-index: 0;\n}\n.w-btn-light.w-btn-basic {\n background-color: transparent !important;\n box-shadow: inset 0 0 0 #000;\n color: #f8f9fa;\n}\n.w-btn-light.w-btn-basic:hover {\n background-color: #ffffff !important;\n}\n.w-btn-light.w-btn-basic:active,\n.w-btn-light.w-btn-basic.active {\n color: #f8f9fa;\n background-color: #ffffff !important;\n background-image: none;\n}\n.w-btn-light.w-btn-basic.disabled,\n.w-btn-light.w-btn-basic[disabled] {\n background-color: transparent !important;\n color: #ffffff;\n}\n.w-btn-light:focus,\n.w-btn-light.focus {\n outline: 0;\n box-shadow: inset 0 1px 0 0 rgba(0, 0, 0, 0.17), inset 1px -1px 0 0 rgba(0, 0, 0, 0.17), inset -1px 0px 0 0 rgba(0, 0, 0, 0.17), 0 0 0 2px rgba(0, 0, 0, 0.1);\n}\n.w-btn-light.w-btn-basic {\n color: #9199a7;\n}\n.w-btn-light.w-btn-basic:focus,\n.w-btn-light.w-btn-basic.focus {\n box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.17);\n}\n.w-btn-light.w-btn-basic:hover {\n background-color: #ecedf0 !important;\n}\n.w-btn-light.w-btn-basic:active,\n.w-btn-light.w-btn-basic.active {\n color: #9199a7;\n background-color: #d5d8dd !important;\n background-image: none;\n}\n.w-btn-light.w-btn-basic.disabled,\n.w-btn-light.w-btn-basic[disabled] {\n background-color: transparent !important;\n color: #adb3be;\n}\n.w-btn-light.disabled,\n.w-btn-light[disabled] {\n color: #666f81;\n z-index: 0;\n}\n.w-btn-dark {\n color: #fff;\n background-color: #393e48;\n z-index: 1;\n}\n.w-btn-dark:hover {\n background-color: #22252c;\n}\n.w-btn-dark:focus,\n.w-btn-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(57, 62, 72, 0.26);\n}\n.w-btn-dark:hover {\n color: #fff;\n background-color: #22252c;\n z-index: 2;\n}\n.w-btn-dark:active,\n.w-btn-dark.active {\n color: #fff;\n background-color: #0c0d0f;\n background-image: none;\n}\n.w-btn-dark.disabled,\n.w-btn-dark[disabled] {\n background-color: #666f81;\n z-index: 0;\n}\n.w-btn-dark.w-btn-basic {\n background-color: transparent !important;\n box-shadow: inset 0 0 0 #000;\n color: #393e48;\n}\n.w-btn-dark.w-btn-basic:hover {\n background-color: #a2a8b5 !important;\n}\n.w-btn-dark.w-btn-basic:active,\n.w-btn-dark.w-btn-basic.active {\n color: #393e48;\n background-color: #858e9f !important;\n background-image: none;\n}\n.w-btn-dark.w-btn-basic.disabled,\n.w-btn-dark.w-btn-basic[disabled] {\n background-color: transparent !important;\n color: #505764;\n}\n.w-btn-link {\n color: #008ef0;\n background-color: transparent;\n z-index: 1;\n color: #008ef0 !important;\n}\n.w-btn-link:hover {\n background-color: rgba(0, 0, 0, 0);\n}\n.w-btn-link:focus,\n.w-btn-link.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0);\n}\n.w-btn-link:hover {\n color: #008ef0;\n background-color: rgba(0, 0, 0, 0);\n z-index: 2;\n}\n.w-btn-link:active,\n.w-btn-link.active {\n color: #008ef0;\n background-color: rgba(0, 0, 0, 0);\n background-image: none;\n}\n.w-btn-link.disabled,\n.w-btn-link[disabled] {\n background-color: rgba(51, 51, 51, 0);\n z-index: 0;\n}\n.w-btn-link.w-btn-basic {\n background-color: transparent !important;\n box-shadow: inset 0 0 0 #000;\n color: transparent;\n}\n.w-btn-link.w-btn-basic:hover {\n background-color: rgba(107, 107, 107, 0) !important;\n}\n.w-btn-link.w-btn-basic:active,\n.w-btn-link.w-btn-basic.active {\n color: transparent;\n background-color: rgba(82, 82, 82, 0) !important;\n background-image: none;\n}\n.w-btn-link.w-btn-basic.disabled,\n.w-btn-link.w-btn-basic[disabled] {\n background-color: transparent !important;\n color: rgba(26, 26, 26, 0);\n}\n.w-btn-link:hover:not([disabled]) {\n color: #006ab3;\n text-decoration: underline;\n}\n.w-btn-link:not([disabled]):active,\n.w-btn-link:not([disabled]).active {\n color: #002d4d;\n box-shadow: none;\n text-decoration: underline;\n}\n.w-btn-link.disabled,\n.w-btn-link[disabled] {\n z-index: 0;\n}\n.w-btn .w-icon {\n font-size: 16px;\n}\n.w-btn-size-large {\n font-size: 16px;\n line-height: 16px;\n min-height: 36px;\n}\n.w-btn-size-large .w-icon {\n font-size: 20px;\n}\n.w-btn-size-small {\n padding: 0 6px;\n min-width: 20px;\n font-size: 12px;\n line-height: 24px;\n min-height: 24px;\n}\n.w-btn-size-small .w-icon {\n font-size: 14px;\n}\n.w-btn .w-icon:not(:last-child) {\n margin-right: 5px;\n}\n.w-btn-loading.w-btn-light::before {\n border: 1.2px solid #666f81;\n}\n.w-btn-loading::before {\n content: '';\n display: inline-block;\n width: 1em;\n height: 1em;\n border-radius: 50%;\n border: 1.2px solid #fff;\n color: #fff;\n margin: 0 3px 0 0;\n -webkit-clip-path: polygon(0% 0%, 100% 0, 100% 30%, 0% 30%);\n clip-path: polygon(0% 0%, 100% 0, 100% 30%, 0% 30%);\n -webkit-animation: rotate 0.5s linear infinite;\n animation: rotate 0.5s linear infinite;\n}\n@-webkit-keyframes rotate {\n from {\n -webkit-transform: rotateZ(0deg);\n transform: rotateZ(0deg);\n }\n to {\n -webkit-transform: rotateZ(360deg);\n transform: rotateZ(360deg);\n }\n}\n@keyframes rotate {\n from {\n -webkit-transform: rotateZ(0deg);\n transform: rotateZ(0deg);\n }\n to {\n -webkit-transform: rotateZ(360deg);\n transform: rotateZ(360deg);\n }\n}\n",".w-modal {\n z-index: 1001;\n}\n.w-modal-inner {\n padding-bottom: 20px;\n background: #f9f9f9;\n min-width: 320px;\n border-radius: 5px;\n box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2);\n}\n.w-modal-header {\n display: flex;\n align-items: center;\n min-height: 40px;\n padding-left: 13px;\n padding-right: 5px;\n background-color: #fff;\n border-radius: 5px 5px 0 0;\n box-shadow: 0 1px 0 rgba(16, 22, 26, 0.15);\n font-size: 16px;\n}\n.w-modal-header > .w-icon {\n margin-right: 10px;\n color: #393e48;\n}\n.w-modal-header h4 {\n margin: 0;\n padding: 0;\n flex: 1 1 auto;\n font-weight: bold;\n min-height: 22px;\n}\n.w-modal-body,\n.w-modal-footer {\n margin: 0 20px;\n}\n.w-modal-body {\n padding-top: 20px;\n font-size: 14px;\n}\n.w-modal-footer {\n display: flex;\n margin-top: 15px;\n flex-direction: row-reverse;\n}\n.w-modal-footer .w-btn + .w-btn {\n margin-right: 10px;\n}\n",".w-alert .w-modal-header,\n.w-alert .w-modal-body {\n display: table-cell;\n}\n.w-alert .w-modal-header {\n background-color: transparent;\n padding: 20px 0 0 20px;\n box-shadow: 0 0 0 0;\n padding-right: 0;\n}\n.w-alert .w-modal-header > .w-icon {\n font-size: 40px;\n margin-right: 0;\n}\n.w-alert .w-modal-body {\n padding-right: 20px;\n padding-left: 20px;\n vertical-align: top;\n}\n.w-alert.primary .w-modal-header > .w-icon {\n color: #008ef0;\n}\n.w-alert.success .w-modal-header > .w-icon {\n color: #28a745;\n}\n.w-alert.warning .w-modal-header > .w-icon {\n color: #ffc107;\n}\n.w-alert.danger .w-modal-header > .w-icon {\n color: #dc3545;\n}\n.w-alert .w-modal-inner .w-modal-header > button {\n min-width: 18px;\n min-height: 18px;\n padding: 5px 5px;\n position: absolute;\n right: 10px;\n top: 10px;\n}\n.w-alert .w-modal-shown-title.w-modal-inner .w-modal-header {\n word-break: break-word;\n display: flex;\n padding-top: 15px;\n padding-right: 10px;\n}\n.w-alert .w-modal-shown-title.w-modal-inner .w-modal-header > .w-icon {\n font-size: 40px;\n position: absolute;\n top: 18px;\n}\n.w-alert .w-modal-shown-title.w-modal-inner .w-modal-header > button > .w-icon {\n font-size: 14px;\n}\n.w-alert .w-modal-shown-title.w-modal-inner .w-modal-body {\n word-break: break-word;\n padding-top: 5px;\n}\n.w-alert .w-modal-shown-icon .w-modal-header > h4 {\n padding-left: 60px;\n}\n.w-alert .w-modal-shown-title.w-modal-shown-icon .w-modal-body {\n padding-left: 80px;\n}\n",".w-avatar {\n display: inline-block;\n text-align: center;\n background: #ccc;\n color: #fff;\n vertical-align: middle;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n font-size: 18px;\n width: 30px;\n height: 30px;\n border-radius: 3px;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n}\n.w-avatar + .w-avatar {\n margin-left: 5px;\n}\n.w-avatar-mini {\n height: 18px;\n width: 18px;\n font-size: 12px;\n}\n.w-avatar-small {\n height: 24px;\n width: 24px;\n font-size: 12px;\n}\n.w-avatar-large {\n height: 40px;\n width: 40px;\n font-size: 24px;\n}\n.w-avatar-circle {\n border-radius: 50%;\n}\n.w-avatar > img {\n width: 100%;\n height: 100%;\n display: block;\n}\n",".w-back-top {\n position: fixed;\n bottom: 50px;\n right: 50px;\n cursor: pointer;\n z-index: 1006;\n transition: all 1s;\n}\n.w-back-top.no-fixed {\n cursor: auto;\n position: static;\n}\n.w-back-top-hide {\n transition: all 1s;\n opacity: 0;\n height: 0px;\n}\n.w-back-top-show {\n opacity: 1;\n}\n",".w-badge {\n position: relative;\n display: inline-block;\n line-height: 1;\n vertical-align: middle;\n}\n.w-badge sup.w-badge-count {\n position: absolute;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%);\n top: -10px;\n height: 16px;\n border-radius: 10px;\n min-width: 16px;\n background: #f04134;\n color: #fff;\n line-height: 16px;\n text-align: center;\n padding: 0 5px;\n font-size: 12px;\n white-space: nowrap;\n -webkit-transform-origin: -10% center;\n transform-origin: -10% center;\n font-family: tahoma;\n box-shadow: 0 0 0 1px #fff;\n}\n.w-badge.nowrap sup.w-badge-count {\n top: auto;\n display: block;\n position: relative;\n -webkit-transform: none !important;\n transform: none !important;\n overflow: hidden;\n}\n.w-badge sup.dot {\n position: absolute;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%);\n -webkit-transform-origin: 0 center;\n transform-origin: 0 center;\n overflow: hidden;\n color: transparent;\n top: -4px;\n height: 6px;\n width: 6px;\n padding: 0;\n border-radius: 100%;\n background: #f04134;\n z-index: 10;\n box-shadow: 0 0 0 1px #fff;\n}\n.w-badge-dot {\n line-height: inherit;\n vertical-align: baseline;\n font-size: 14px;\n margin: 0 4px;\n width: 6px;\n height: 6px;\n display: inline-block;\n border-radius: 50%;\n vertical-align: middle;\n position: relative;\n top: -1px;\n}\n.w-badge-processing .w-badge-dot {\n position: relative;\n background-color: #007bff;\n}\n.w-badge-processing .w-badge-dot:after {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: inherit;\n content: '';\n -webkit-animation: wStatusProcessing 1.2s infinite ease-in-out;\n animation: wStatusProcessing 1.2s infinite ease-in-out;\n}\n@-webkit-keyframes wStatusProcessing {\n 0% {\n -webkit-transform: scale(0.8);\n transform: scale(0.8);\n opacity: 0.5;\n }\n 100% {\n -webkit-transform: scale(2.8);\n transform: scale(2.8);\n opacity: 0;\n }\n}\n@keyframes wStatusProcessing {\n 0% {\n -webkit-transform: scale(0.8);\n transform: scale(0.8);\n opacity: 0.5;\n }\n 100% {\n -webkit-transform: scale(2.8);\n transform: scale(2.8);\n opacity: 0;\n }\n}\n",".w-breadcrumb-item {\n display: inline-flex;\n}\n.w-breadcrumb-item + .w-breadcrumb-item::before,\n.w-breadcrumb-item + .w-breadcrumb-item .w-breadcrumb-separator {\n padding-right: 8px;\n padding-left: 8px;\n color: #6e6e6e;\n}\n.w-breadcrumb-item + .w-breadcrumb-item::before {\n display: inline-block;\n content: attr(data-separator);\n}\n.w-breadcrumb-item + .w-breadcrumb-item.no-before:before {\n display: none;\n}\n.w-breadcrumb-item + .w-breadcrumb-item.no-separator {\n margin-left: 6px;\n}\n.w-breadcrumb-item + .w-breadcrumb-item.no-separator:before {\n display: none;\n}\n.w-breadcrumb-item.active {\n color: #6e6e6e;\n}\n",".w-breadcrumb {\n display: inline-flex;\n font-size: 14px;\n}\n",".w-btn-group > .w-btn {\n border-radius: 0;\n box-shadow: inset 1px 0 0 0 rgba(0, 0, 0, 0.17), inset -1px 0 0 0 rgba(0, 0, 0, 0.17), inset -1px 0px 0 0 rgba(0, 0, 0, 0.17);\n}\n.w-btn-group > .w-btn:last-child {\n border-radius: 0 3px 3px 0;\n}\n.w-btn-group > .w-btn:first-child {\n border-radius: 3px 0 0 3px;\n}\n.w-btn-group > .w-btn:first-child:last-child {\n border-radius: 3px !important;\n}\n.w-btn-group > .w-btn:focus {\n z-index: 2;\n}\n.w-btn-group .w-btn + .w-btn {\n margin-left: -1px !important;\n}\n.w-btn-group .w-btn:not(.w-btn-light):first-child {\n box-shadow: inset -1px 0px 0 0 rgba(0, 0, 0, 0.17) !important;\n}\n.w-btn-group .w-btn:not(.w-btn-light):last-child {\n box-shadow: inset 1px 0 0 0 rgba(0, 0, 0, 0.17), inset 0px 0 0 0 rgba(0, 0, 0, 0.17);\n}\n.w-btn-group .w-btn-light {\n box-shadow: inset 0 1px 0 0 rgba(0, 0, 0, 0.17), inset 1px -1px 0 0 rgba(0, 0, 0, 0.17), inset -1px 0px 0 0 rgba(0, 0, 0, 0.17) !important;\n}\n.w-btn-group-vertical .w-btn:not(.w-btn-light) {\n box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.17), inset 0 1px 0 0 rgba(0, 0, 0, 0.17) !important;\n}\n.w-btn-group-vertical .w-btn:not(.w-btn-light):first-child {\n box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.17), inset 0 0 0 0 rgba(0, 0, 0, 0.17) !important;\n}\n.w-btn-group-vertical .w-btn {\n width: 100%;\n}\n.w-btn-group-vertical .w-btn + .w-btn {\n margin-left: 0 !important;\n margin-top: -1px !important;\n}\n.w-btn-group-vertical .w-btn:last-child {\n border-radius: 0 0 3px 3px;\n}\n.w-btn-group-vertical .w-btn:first-child {\n border-radius: 3px 3px 0 0;\n}\n",".w-overlay.w-overlay-trigger {\n position: absolute;\n top: auto;\n left: auto;\n right: auto;\n bottom: auto;\n overflow: inherit;\n width: initial;\n height: initial;\n}\n.w-overlay.w-overlay-trigger .w-overlay-container {\n position: relative;\n overflow: inherit;\n}\n.w-overlay.w-overlay-trigger .w-overlay-container::before {\n display: none;\n}\n.w-overlay.w-overlay-trigger .w-overlay-content {\n margin: 0;\n}\n.w-overlay.w-overlay-trigger.rightTop .w-overlay-content {\n -webkit-transform-origin: left top;\n transform-origin: left top;\n}\n.w-overlay.w-overlay-trigger.right .w-overlay-content {\n -webkit-transform-origin: left center;\n transform-origin: left center;\n}\n.w-overlay.w-overlay-trigger.rightBottom .w-overlay-content {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n}\n.w-overlay.w-overlay-trigger.topLeft .w-overlay-content {\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n.w-overlay.w-overlay-trigger.top .w-overlay-content {\n -webkit-transform-origin: bottom center;\n transform-origin: bottom center;\n}\n.w-overlay.w-overlay-trigger.topRight .w-overlay-content {\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n.w-overlay.w-overlay-trigger.leftTop .w-overlay-content {\n -webkit-transform-origin: right top;\n transform-origin: right top;\n}\n.w-overlay.w-overlay-trigger.left .w-overlay-content {\n -webkit-transform-origin: right center;\n transform-origin: right center;\n}\n.w-overlay.w-overlay-trigger.leftBottom .w-overlay-content {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n}\n.w-overlay.w-overlay-trigger.bottomLeft .w-overlay-content {\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n.w-overlay.w-overlay-trigger.bottom .w-overlay-content {\n -webkit-transform-origin: top center;\n transform-origin: top center;\n}\n.w-overlay.w-overlay-trigger.bottomRight .w-overlay-content {\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n.w-overlay-trigger-disabled {\n cursor: not-allowed;\n}\n",".w-popover {\n position: relative;\n display: inline-block;\n outline: 0;\n}\n.w-popover-arrow {\n position: absolute;\n width: 30px;\n height: 30px;\n border-color: transparent;\n z-index: 21;\n}\n.w-popover-inner {\n font-size: 12px;\n display: block;\n text-align: left;\n text-decoration: none;\n background-color: #fff;\n border-radius: 4px;\n min-height: 23px;\n box-shadow: rgba(16, 22, 26, 0.1) 0px 0px 0px 1px, rgba(16, 22, 26, 0.2) 0px 2px 4px, rgba(16, 22, 26, 0.2) 0px 8px 24px;\n}\n.w-popover.right .w-popover-arrow,\n.w-popover.rightTop .w-popover-arrow,\n.w-popover.rightBottom .w-popover-arrow {\n left: 2px;\n margin-top: -15px;\n top: 50%;\n}\n.w-popover.left .w-popover-arrow,\n.w-popover.leftTop .w-popover-arrow,\n.w-popover.leftBottom .w-popover-arrow {\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n margin-top: -15px;\n right: 2px;\n top: 50%;\n}\n.w-popover.leftTop .w-popover-arrow,\n.w-popover.rightTop .w-popover-arrow {\n top: 15px;\n}\n.w-popover.leftBottom .w-popover-arrow,\n.w-popover.rightBottom .w-popover-arrow {\n bottom: 0;\n top: auto;\n}\n.w-popover.top .w-popover-arrow,\n.w-popover.topLeft .w-popover-arrow,\n.w-popover.topRight .w-popover-arrow {\n -webkit-transform: rotate(-90deg);\n transform: rotate(-90deg);\n bottom: 2px;\n left: 50%;\n margin-left: -15px;\n}\n.w-popover.bottom .w-popover-arrow,\n.w-popover.bottomLeft .w-popover-arrow,\n.w-popover.bottomRight .w-popover-arrow {\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n left: 50%;\n margin-left: -15px;\n top: 2px;\n}\n.w-popover.bottomLeft .w-popover-arrow,\n.w-popover.topLeft .w-popover-arrow {\n left: 15px;\n}\n.w-popover.bottomRight .w-popover-arrow,\n.w-popover.topRight .w-popover-arrow {\n right: 0;\n left: auto;\n}\n.w-popover.top,\n.w-popover.topLeft,\n.w-popover.topRight {\n padding-bottom: 13px;\n}\n.w-popover.bottom,\n.w-popover.bottomLeft,\n.w-popover.bottomRight {\n padding-top: 13px;\n}\n.w-popover.right,\n.w-popover.rightTop,\n.w-popover.rightBottom {\n padding-left: 13px;\n}\n.w-popover.left,\n.w-popover.leftTop,\n.w-popover.leftBottom {\n padding-right: 13px;\n}\n.w-popover.no-arrow {\n padding: 0 !important;\n}\n",".w-input {\n position: relative;\n font-size: 14px;\n line-height: 14px;\n width: 100%;\n}\n.w-input-inner {\n outline: none;\n border: none;\n border-radius: 3px;\n box-shadow: 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n box-sizing: border-box;\n background: #fff;\n height: 30px;\n margin: 0 !important;\n padding: 0 10px;\n vertical-align: middle;\n line-height: 30px;\n color: #393e48;\n font-weight: 400;\n font-size: inherit;\n transition: box-shadow 0.3s cubic-bezier(0.4, 1, 0.75, 0.9);\n -webkit-appearance: none;\n appearance: none;\n}\n.w-input-inner:not(:first-child) {\n padding-left: 26px;\n}\n.w-input-inner:focus {\n box-shadow: 0 0 0 1px #393e48, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-input-inner:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-input-inner:focus.w-input-inner:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-input-inner:disabled {\n box-shadow: none;\n background: #dddddd;\n opacity: 0.75;\n color: #a5a5a5;\n cursor: not-allowed;\n resize: none;\n}\n.w-input .w-input-inner {\n width: 100%;\n}\n.w-input > .w-icon {\n position: absolute;\n margin: 0 7px 0 7px;\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%);\n top: 50%;\n}\n.w-input-addon-after {\n position: absolute;\n top: 3px;\n right: 3px;\n display: flex;\n bottom: 3px;\n}\n.w-input-addon-after > * {\n display: flex !important;\n align-items: center;\n}\n.w-input-large {\n font-size: 16px;\n}\n.w-input-large .w-input-inner {\n line-height: 36px;\n height: 36px;\n}\n.w-input-small {\n min-width: 20px;\n}\n.w-input-small .w-input-inner {\n line-height: 24px;\n height: 24px;\n padding: 0 6px;\n}\n.w-input-small .w-input-inner:not(:first-child) {\n padding-left: 26px;\n}\n.w-input-small .w-input-addon-after > * {\n line-height: 16px;\n min-height: 16px;\n}\n",".w-timepicker {\n display: flex;\n}\n.w-timepicker::after {\n content: '';\n display: block;\n clear: both;\n}\n.w-timepicker-spinner {\n max-height: 189px;\n flex: 1;\n overflow: auto;\n font-size: 14px;\n}\n.w-timepicker-spinner:hover {\n overflow: auto;\n}\n.w-timepicker-spinner > ul {\n list-style: none;\n min-width: 56px;\n margin: 0 !important;\n padding-left: 0 !important;\n padding-right: 0 !important;\n padding-bottom: 162px !important;\n}\n.w-timepicker-spinner > ul > li + li {\n margin-top: 0 !important;\n}\n.w-timepicker-spinner > ul > li {\n cursor: pointer;\n text-align: center;\n height: 28px;\n line-height: 28px;\n transition: all 0.3s;\n color: #393e48;\n}\n.w-timepicker-spinner > ul > li:hover:not(.disabled) {\n background-color: #f6f8fa;\n}\n.w-timepicker-spinner > ul > li:active:not(.disabled) {\n background-color: #e1e5e8;\n}\n.w-timepicker-spinner > ul > li.selected {\n background-color: #f1f1f1;\n font-weight: bold;\n color: #000;\n}\n.w-timepicker-spinner > ul > li.disabled {\n color: #d4d4d4;\n cursor: not-allowed;\n}\n.w-timepicker-spinner > ul > li.disabled.hide {\n display: none;\n}\n.w-timepicker-spinner + .w-timepicker-spinner ul {\n border-left: 1px solid #e9e9e9;\n}\n",".w-timepicker {\n overflow: hidden;\n border-radius: 4px;\n}\n.w-timepicker-input.disabled .w-timepicker-close-btn {\n display: none !important;\n}\n.w-timepicker-input .w-timepicker-close-btn {\n display: none;\n min-height: initial;\n color: #a5a5a5;\n}\n.w-timepicker-input .w-timepicker-close-btn:hover {\n color: #393e48;\n background-color: transparent !important;\n}\n",".w-datepicker-weekday,\n.w-datepicker-week {\n display: flex;\n width: 100%;\n}\n.w-datepicker-weekday > div,\n.w-datepicker-week > div {\n display: table-cell;\n flex: 1;\n min-width: 26px;\n min-height: 26px;\n vertical-align: middle;\n text-align: center;\n}\n.w-datepicker-weekday > div {\n font-weight: bold;\n}\n.w-datepicker-weekday > div.end,\n.w-datepicker-week > div.end {\n color: #6f6f6f;\n}\n.w-datepicker-week > div {\n border-radius: 3px;\n cursor: pointer;\n}\n.w-datepicker-week > div.prev,\n.w-datepicker-week > div.next {\n color: #d3d3d3;\n}\n.w-datepicker-week > div > div {\n transition: background-color 0.3s, color 0.3s;\n margin: 0 2px;\n border-radius: 3px;\n line-height: 22px;\n}\n.w-datepicker-week > div.today > div {\n background-color: #eaeaea;\n}\n.w-datepicker-week > div.selected > div,\n.w-datepicker-week > div.selected:hover > div {\n color: #fff;\n background-color: #2ea3f4;\n}\n.w-datepicker-week > div:hover > div {\n background-color: #eaeaea;\n color: #393e48;\n}\n.w-datepicker-week > div:active > div {\n background-color: #d2d2d2;\n}\n.w-datepicker-week > div.disabled > div,\n.w-datepicker-week > div.disabled:hover > div {\n color: #d3d3d3;\n cursor: not-allowed;\n background-color: #f5f5f5;\n}\n.w-datepicker-week > div.disabled.today > div,\n.w-datepicker-week > div.disabled:hover.today > div {\n background-color: rgba(189, 189, 189, 0.47);\n color: #fff;\n}\n.w-datepicker-week > div.disabled.selected > div,\n.w-datepicker-week > div.disabled:hover.selected > div {\n background-color: rgba(46, 163, 244, 0.47);\n color: #fff;\n}\n.w-datepicker-body {\n padding-top: 5px;\n}\n",".w-datepicker-month,\n.w-datepicker-year {\n text-align: center;\n max-width: 100%;\n padding: 10px 0 9px 0;\n}\n.w-datepicker-month > div,\n.w-datepicker-year > div {\n display: inline-block;\n width: 50%;\n line-height: 20px;\n margin: 3px 0;\n}\n.w-datepicker-month > div > span,\n.w-datepicker-year > div > span {\n display: inline-block;\n padding: 1px 6px;\n border-radius: 3px;\n cursor: pointer;\n}\n.w-datepicker-month > div.selected > span,\n.w-datepicker-year > div.selected > span {\n color: #fff;\n background-color: #2ea3f4;\n}\n.w-datepicker-month > div > span:hover,\n.w-datepicker-year > div > span:hover {\n background-color: #dcf0fd;\n color: #2ea3f4;\n}\n.w-datepicker-month > div.paging,\n.w-datepicker-year > div.paging {\n color: rgba(0, 0, 0, 0.25);\n}\n.w-datepicker-year > div {\n width: 33.333%;\n}\n",".w-datepicker-caption {\n -webkit-user-select: none;\n user-select: none;\n text-align: center;\n padding: 0 0 3px 0;\n border-bottom: 1px solid #ececec;\n}\n.w-datepicker-caption-pane {\n transition: background-color 0.3s;\n display: inline-block;\n border-radius: 3px;\n padding: 1px 5px;\n font-weight: bold;\n cursor: pointer;\n}\n.w-datepicker-caption-pane:hover {\n background-color: #eaeaea;\n}\n.w-datepicker-caption-pane:active {\n background-color: #d2d2d2;\n}\n.w-datepicker-caption-pane.year + .w-datepicker-caption-pane.month {\n margin-left: 5px;\n}\n.w-datepicker-caption-pane.prev,\n.w-datepicker-caption-pane.next {\n z-index: 30;\n position: relative;\n padding: 1px 8px 6px 8px;\n}\n.w-datepicker-caption-pane.prev::after,\n.w-datepicker-caption-pane.next::after,\n.w-datepicker-caption-pane.prev::before,\n.w-datepicker-caption-pane.next::before {\n content: '';\n display: block;\n height: 8px;\n width: 2px;\n border-radius: 2px;\n background-color: #333;\n}\n.w-datepicker-caption-pane.prev::after,\n.w-datepicker-caption-pane.next::after {\n margin-top: -4px;\n}\n.w-datepicker-caption-pane.prev::before,\n.w-datepicker-caption-pane.next::before {\n margin-top: 4px;\n}\n.w-datepicker-caption-pane.prev::after,\n.w-datepicker-caption-pane.next::before {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n}\n.w-datepicker-caption-pane.prev::before,\n.w-datepicker-caption-pane.next::after {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n.w-datepicker-caption-pane.prev {\n float: left;\n}\n.w-datepicker-caption-pane.next {\n float: right;\n}\n.w-datepicker-caption-today {\n cursor: pointer;\n background: #dedede;\n border-radius: 3px;\n display: inline-block;\n height: 10px;\n width: 10px;\n overflow: hidden;\n margin: 0 0 0 2px;\n transition: background-color 0.3s;\n}\n.w-datepicker-caption-today::before {\n content: '';\n display: block;\n height: 4px;\n width: 4px;\n border-radius: 3px;\n margin: 3px 0 0 3px;\n background-color: #a0a0a0;\n}\n.w-datepicker-caption-today:hover {\n background-color: #2ea3f4;\n}\n.w-datepicker-caption-today:hover::before {\n background-color: #fff;\n}\n.w-datepicker-caption-today:active {\n background-color: #007cd2;\n}\n.w-datepicker-caption-today:active::before {\n background-color: #fff;\n}\n",".w-datepicker {\n vertical-align: top;\n display: inline-block;\n position: relative;\n border-radius: 3px;\n background: #fff;\n color: #393e48;\n -webkit-user-select: none;\n user-select: none;\n font-size: 14px;\n line-height: 21px;\n padding: 5px;\n min-width: 192px;\n max-width: 192px;\n box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-datepicker-timepicker {\n border: 1px solid #e9e9e9;\n border-top: 0;\n border-radius: 0 0 4px 4px !important;\n}\n.w-datepicker-timepicker > div {\n max-height: 186px;\n}\n.w-datepicker-time-btn {\n cursor: pointer;\n margin-top: 2px;\n transition: background-color 0.3s;\n display: inline-block;\n border-radius: 3px;\n padding: 1px 5px;\n}\n.w-datepicker-time-btn:hover {\n background-color: #eaeaea;\n}\n.w-datepicker-time-btn:active {\n background-color: #d2d2d2;\n}\n",".w-calendar-inner {\n text-align: right;\n padding: 5px;\n}\n.w-calendar-panel {\n width: 100%;\n height: 90px;\n line-height: 16px;\n overflow-y: auto;\n text-align: left;\n}\n.w-calendar-panel > * {\n overflow: hidden;\n white-space: nowrap;\n width: 100%;\n text-overflow: ellipsis;\n font-size: 12px;\n}\n.w-calendar-caption {\n font-size: 26px;\n font-weight: 200;\n width: 100%;\n display: inline-block;\n}\n.w-calendar-title,\n.w-calendar-btn-group {\n display: inline-block;\n -webkit-user-select: none;\n user-select: none;\n}\n.w-calendar-btn-group {\n float: right;\n}\n.w-calendar-btn-group > .w-calendar-btn {\n font-size: 16px;\n padding: 2px 3px;\n position: relative;\n top: -3px;\n}\n.w-calendar-btn-group > .w-icon,\n.w-calendar-btn-group > .w-calendar-btn {\n cursor: pointer;\n border-radius: 3px;\n transition: all 0.3s;\n}\n.w-calendar-btn-group > .w-icon:hover,\n.w-calendar-btn-group > .w-calendar-btn:hover {\n background-color: #ececec;\n}\n.w-calendar-btn-group > .w-icon:active,\n.w-calendar-btn-group > .w-calendar-btn:active {\n background-color: #dedddd;\n}\n.w-calendar-btn-group > .w-icon,\n.w-calendar-btn-group > .w-calendar-btn {\n vertical-align: middle;\n margin-top: -6px;\n}\n.w-calendar-btn-group > .w-icon > svg,\n.w-calendar-btn-group > .w-calendar-btn > svg {\n width: 18px;\n height: 18px;\n margin: 4px 0px 0px 4px;\n}\n.w-calendar-btn-group > .w-icon:last-child,\n.w-calendar-btn-group > .w-calendar-btn:last-child {\n -webkit-transform: rotate(-90deg);\n transform: rotate(-90deg);\n}\n.w-calendar-btn-group > .w-icon:first-child,\n.w-calendar-btn-group > .w-calendar-btn:first-child {\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n.w-calendar-day {\n padding-right: 5px;\n}\n.w-calendar .w-datepicker-body {\n padding: 0 0 0 0;\n}\n.w-calendar .w-datepicker-week:last-child > div {\n border-bottom: 0;\n}\n.w-calendar .w-datepicker-week > div {\n border-radius: 0;\n border-right: 1px solid #ececec;\n border-bottom: 1px solid #ececec;\n}\n.w-calendar .w-datepicker-week > div:last-child {\n border-right: 0;\n}\n.w-calendar .w-datepicker-week > div > div {\n margin: 0;\n border-radius: 0;\n}\n.w-calendar .w-datepicker-weekday > div {\n background-color: #ececec;\n height: 32px;\n line-height: 32px;\n}\n",".w-card {\n background: #fff;\n border-radius: 5px;\n font-size: 14px;\n line-height: 1.5;\n position: relative;\n transition: all 0.3s;\n}\n.w-card:not(.w-card-no-hover):hover,\n.w-card.active {\n box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);\n border-color: rgba(0, 0, 0, 0.2);\n}\n.w-card-bordered {\n border: 1px solid #e9e9e9;\n}\n.w-card-head {\n height: 40px;\n line-height: 40px;\n padding: 0 14px;\n border-radius: 2px 2px 0 0;\n zoom: 1;\n}\n.w-card-head + .w-card-body {\n border-top: 1px solid #e9e9e9;\n}\n.w-card-head-title {\n font-size: 14px;\n text-overflow: ellipsis;\n max-width: 100%;\n overflow: hidden;\n white-space: nowrap;\n color: rgba(0, 0, 0, 0.85);\n font-weight: 500;\n display: inline-block;\n}\n.w-card-extra {\n position: absolute;\n right: 16px;\n top: 0;\n}\n.w-card-body {\n padding: 14px;\n}\n.w-card-body + .w-card-footer {\n border-top: 1px solid rgba(0, 0, 0, 0.05);\n}\n.w-card-footer {\n padding: 8px 10px;\n}\n.w-card-footer a {\n color: rgba(0, 0, 0, 0.4);\n}\n",".w-carousel {\n overflow: hidden;\n}\n.w-carousel-content {\n height: 200px;\n transition: 0.6s ease-in-out;\n}\n",".w-menu-item {\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n border-radius: 2px;\n padding: 5px 7px;\n text-decoration: none;\n line-height: 20px;\n color: inherit;\n -webkit-user-select: none;\n user-select: none;\n transition: initial;\n transition: background-color 0.3s;\n}\n.w-menu-item:hover,\n.w-menu-item.active {\n color: inherit;\n cursor: pointer;\n text-decoration: none;\n background-color: rgba(167, 182, 194, 0.3);\n}\n.w-menu-item:active {\n background-color: rgba(115, 134, 148, 0.3);\n}\n.w-menu-item.w-disabled {\n outline: none !important;\n background-color: inherit !important;\n cursor: not-allowed !important;\n}\n.w-menu-item.w-disabled .w-menu-item-icon,\n.w-menu-item.w-disabled {\n color: rgba(92, 112, 128, 0.5) !important;\n}\n.w-menu-item-text {\n flex-grow: 1;\n}\n.w-menu-item > * {\n margin-right: 7px;\n}\n.w-menu-item > :last-child {\n margin-right: 0;\n}\n.w-menu-item-multiline {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n word-wrap: normal;\n}\n",".w-menu-subitem .w-menu-subitem-collapse {\n height: 0;\n}\n.w-menu-subitem-collapse {\n transition: height 300ms;\n position: relative !important;\n top: initial !important;\n left: initial !important;\n right: initial !important;\n bottom: initial !important;\n width: auto !important;\n overflow: hidden !important;\n}\n.w-menu-subitem-collapse ul {\n min-width: 100%;\n padding-right: 0px !important;\n}\n.w-menu-subitem-collapse-icon {\n -webkit-transform: scale(0.79);\n transform: scale(0.79);\n}\n.w-menu-subitem-popup {\n min-width: 180px;\n}\n.w-menu-subitem-title.w-menu-subitem-collapse-title .w-close,\n.w-menu-subitem-title.w-menu-subitem-collapse-title .w-open {\n transition: rotate 0.3s all;\n}\n.w-menu-subitem-title.w-menu-subitem-collapse-title .w-close {\n -webkit-transform: scale(0.79) rotate(90deg);\n transform: scale(0.79) rotate(90deg);\n}\n.w-menu-subitem-title.w-menu-subitem-collapse-title .w-open {\n -webkit-transform: scale(0.79) rotate(-90deg);\n transform: scale(0.79) rotate(-90deg);\n}\n.w-menu-subitem-enter,\n.w-menu-subitem-enter-done,\n.w-menu-subitem-exit {\n display: inherit;\n}\n",".w-menu {\n margin: 0 !important;\n padding: 5px;\n box-sizing: border-box;\n border-radius: 3px;\n min-width: 100%;\n width: 100%;\n text-align: left;\n font-size: 14px;\n transition: width 0.2s, min-width 0.2s, max-width 0.2s, height 0.2s, min-height 0.2s, max-height 0.2s;\n}\n.w-menu.w-menu-dark,\n.w-menu.w-menu-light {\n padding-left: 5px;\n}\n.w-menu:not(.w-menu-dark) {\n color: #182026;\n background: #fff;\n}\n.w-menu li {\n margin: 0 !important;\n list-style: none !important;\n position: relative;\n}\n.w-menu li:first-of-type {\n border-top: none;\n}\n.w-menu li a:not([href]) {\n color: inherit;\n}\n.w-menu.w-bordered {\n box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-menu .w-menu-divider {\n display: block;\n margin: 5px !important;\n border-top: 1px solid rgba(16, 22, 26, 0.15);\n}\n.w-menu .w-menu-divider > strong {\n display: block;\n line-height: 17px;\n}\n.w-menu .w-menu-divider:not(:first-of-type) > strong {\n margin-top: 10px;\n}\n.w-menu.w-menu-light.w-menu-inline-collapsed > li > .w-menu-item:hover {\n color: #008ef0;\n}\n.w-menu-inline-collapsed {\n width: 80px;\n min-width: 80px;\n}\n.w-menu-inline-collapsed > li > .w-menu-item {\n justify-content: center;\n padding-top: 10px;\n padding-bottom: 10px;\n font-size: 18px;\n}\n.w-menu-inline-collapsed > li > .w-menu-item:hover {\n background-color: transparent;\n color: #fff;\n}\n.w-menu-inline-collapsed > li > .w-menu-item > * {\n margin-right: 0;\n}\n.w-menu-inline-collapsed > li > .w-menu-item .w-menu-item-text {\n width: 0;\n flex-grow: 0;\n}\n.w-menu-inline-collapsed > li > .w-menu-item .w-menu-subitem-collapse-icon {\n display: none;\n}\n.w-menu-dark,\n.w-menu-dark.w-bordered,\n.w-menu-dark .w-menu {\n background: #343a40;\n color: rgba(255, 255, 255, 0.65);\n}\n.w-menu-dark.w-bordered {\n box-shadow: initial;\n}\n.w-menu-dark .active {\n color: #fff !important;\n}\n.w-menu-dark .w-menu-item.w-disabled,\n.w-menu-dark .w-menu-item.w-disabled .w-menu-item-icon {\n color: rgba(142, 142, 142, 0.79) !important;\n}\n.w-menu-dark .w-menu-divider {\n border-top: 1px solid rgba(255, 255, 255, 0.2);\n}\n",".w-cascader-close {\n font-size: 15px;\n margin-right: 1px;\n color: #393e48;\n}\n",".w-radio {\n vertical-align: middle;\n display: inline-block;\n font-size: 12px;\n}\n.w-radio input[type='radio'] {\n outline: none;\n position: relative;\n width: 16px;\n height: 16px;\n background-clip: border-box;\n -webkit-appearance: none;\n appearance: none;\n margin: -0.15px 0.6px 0 0;\n border-radius: 50%;\n background-color: #fff;\n border: 1px solid #d7d7d7;\n transition: border 0.25s, box-shadow 0.25s;\n}\n.w-radio input[type='radio']:not(:checked):not(:disabled):not(.disabled):hover,\n.w-radio input[type='radio']:not(:checked):not(:disabled):not(.disabled):focus {\n box-shadow: 0 0 0 2px rgba(0, 142, 240, 0.25);\n}\n.w-radio input[type='radio'],\n.w-radio-text {\n vertical-align: middle;\n}\n.w-radio input[type='radio']:checked {\n border: 5px solid #008ef0;\n}\n.w-radio input[type='radio']:checked:focus {\n box-shadow: 0 0 0 2px rgba(0, 142, 240, 0.25);\n}\n.w-radio.disabled {\n color: #c7c7c7;\n cursor: not-allowed;\n}\n.w-radio.disabled input[type='radio'] {\n cursor: not-allowed;\n}\n.w-radio.disabled input[type='radio']:checked {\n border: 5px solid #cecece;\n}\n.w-radio.disabled:not(.checked) input[type='radio'] {\n background-color: #efefef;\n}\n.w-radio-text {\n display: inline-block;\n margin-left: 4px;\n margin-right: 5px;\n font-size: 14px;\n}\n",".w-radio-group {\n font-size: 0;\n}\n",".w-checkbox {\n vertical-align: middle;\n font-size: 0;\n cursor: pointer;\n white-space: nowrap;\n}\n.w-checkbox input[type='checkbox'] {\n outline: none;\n width: 14px;\n height: 14px;\n font-size: 14px;\n line-height: 14px;\n border-radius: 2px;\n background-clip: border-box;\n -webkit-appearance: none;\n appearance: none;\n margin: 0 !important;\n background-color: #d7d7d7;\n transition: background-color 0.3s, box-shadow 0.3s;\n}\n.w-checkbox input[type='checkbox']:after {\n content: '';\n box-sizing: inherit;\n}\n.w-checkbox input[type='checkbox']:not(:checked):not(:disabled):not(.disabled):focus,\n.w-checkbox input[type='checkbox']:not(:checked):not(:disabled):not(.disabled):hover {\n box-shadow: inset 0 1px 2px rgba(16, 22, 26, 0.35);\n}\n.w-checkbox.disabled,\n.w-checkbox.disabled input[type='checkbox'] {\n cursor: not-allowed;\n}\n.w-checkbox.disabled input[type='checkbox'] {\n opacity: 0.5;\n}\n.w-checkbox.disabled .w-checkbox-text {\n color: #6e6e6e;\n}\n.w-checkbox.indeterminate input[type='checkbox'],\n.w-checkbox.indeterminate input[type='checkbox']:checked {\n background-color: transparent;\n box-shadow: inset 0 0 0 1px #008ef0;\n}\n.w-checkbox.indeterminate input[type='checkbox']:after,\n.w-checkbox.indeterminate input[type='checkbox']:checked:after {\n display: inline-block;\n background-color: #008df8;\n box-sizing: inherit;\n -webkit-transform: rotate(0);\n transform: rotate(0);\n position: relative;\n top: -1px;\n right: -3px;\n border-width: 0;\n border-radius: 2px;\n height: 8px;\n width: 8px;\n}\n.w-checkbox input[type='checkbox'],\n.w-checkbox-text {\n vertical-align: middle;\n}\n.w-checkbox input[type='checkbox']:checked {\n background-color: #008ef0;\n}\n.w-checkbox input[type='checkbox']:checked:after {\n transition: background-color 0.2s ease-in;\n display: inline-block;\n border: solid #fff;\n border-width: 0 2px 2px 0;\n -webkit-transform: rotate(33deg);\n transform: rotate(33deg);\n position: relative;\n top: -1px;\n right: -4px;\n height: 10px;\n width: 6px;\n}\n.w-checkbox-text {\n display: inline-block;\n padding-left: 4px;\n margin-right: 5px;\n font-size: 14px;\n}\n",".w-collapse {\n border-radius: 4px;\n line-height: 16px;\n font-size: 14px;\n background-color: #fff;\n border: 1px solid #d9d9d9;\n overflow: hidden;\n}\n.w-collapse > .w-collapse-item:last-child .w-collapse-header,\n.w-collapse > .w-collapse-item:last-child {\n border-radius: 0 0 5px 5px;\n}\n.w-collapse-title {\n flex: 1;\n}\n.w-collapse-header {\n padding: 8px 10px;\n color: rgba(0, 0, 0, 0.85);\n background-color: #fafafa;\n cursor: pointer;\n position: relative;\n transition: all 0.3s;\n z-index: 1;\n display: flex;\n}\n.w-collapse-header > .w-icon:first-child {\n margin-top: -2px;\n margin-right: 5px;\n -webkit-transform: scale(0.85) rotate(-90deg);\n transform: scale(0.85) rotate(-90deg);\n transition: -webkit-transform 0.24s;\n transition: transform 0.24s;\n transition: transform 0.24s, -webkit-transform 0.24s;\n}\n.w-collapse-header > .w-icon:first-child svg {\n display: block;\n}\n.w-collapse-header > * {\n vertical-align: middle;\n display: inline-block;\n}\n.w-collapse-active .w-collapse-header > .w-icon:first-child {\n -webkit-transform: scale(0.85) rotate(0);\n transform: scale(0.85) rotate(0);\n}\n.w-collapse-panel {\n overflow: hidden;\n color: rgba(0, 0, 0, 0.65);\n padding: 0 10px;\n}\n.w-collapse-panel:before,\n.w-collapse-panel:after {\n content: '';\n height: 10px;\n display: block;\n overflow: hidden;\n}\n.w-collapse-panel:before {\n border-top: 1px solid #d9d9d9;\n margin: 0 -10px;\n z-index: 1;\n position: relative;\n}\n.w-collapse-panel:after {\n border-bottom: 1px solid #d9d9d9;\n margin: 0 -10px;\n z-index: 1;\n position: relative;\n}\n.w-collapse > .w-collapse-item:last-child .w-collapse-panel:after {\n border-bottom: 0 solid #d9d9d9;\n}\n.w-collapse > .w-collapse-item:not(.w-collapse-active):last-child .w-collapse-panel:before {\n border-top: 0 solid #d9d9d9;\n}\n.w-collapse-disabled .w-collapse-header {\n cursor: not-allowed;\n color: rgba(0, 0, 0, 0.25);\n background-color: #f7f7f7;\n}\n.w-collapse.w-noborder .w-collapse-header {\n background-color: transparent;\n}\n.w-collapse.w-noborder {\n border: 0;\n}\n.w-collapse.w-noborder .w-collapse-item .w-collapse-panel:after,\n.w-collapse.w-noborder .w-collapse-item .w-collapse-panel:before {\n border: 0;\n}\n.w-collapse.w-noborder .w-collapse-item:last-child {\n border: 0;\n}\n",".w-copy-to-clipboard {\n cursor: pointer;\n}\n.w-copy-to-clipboard-select {\n -webkit-user-select: text;\n user-select: text;\n display: none;\n}\n",".w-dateinputrange-contents {\n display: flex;\n justify-content: space-between;\n}\n.w-dateinputrange-contents input {\n box-shadow: none;\n padding: 0px;\n height: 20px;\n}\n.w-dateinputrange-contents .w-input-inner:hover {\n box-shadow: none !important;\n}\n.w-dateinputrange-contents .w-input-inner:focus {\n box-shadow: none !important;\n}\n.w-dateinputrange-inner {\n display: flex;\n justify-content: space-between;\n outline: none;\n border: none;\n align-items: center;\n border-radius: 3px;\n box-shadow: 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n box-sizing: border-box;\n background: #fff;\n min-height: 30px;\n margin: 0 !important;\n padding: 3px 10px 3px 10px;\n vertical-align: middle;\n line-height: 30px;\n color: #393e48;\n font-weight: 400;\n font-size: inherit;\n transition: box-shadow 0.3s cubic-bezier(0.4, 1, 0.75, 0.9);\n -webkit-appearance: none;\n appearance: none;\n}\n.w-dateinputrange-inner:focus {\n box-shadow: 0 0 0 1px #393e48, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-dateinputrange-inner:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-dateinputrange-inner:focus.w-dateinputrange-inner:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-dateinputrange-inner:disabled {\n box-shadow: none;\n background: #dddddd;\n opacity: 0.75;\n color: #a5a5a5;\n cursor: not-allowed;\n resize: none;\n}\n",".w-dateinput {\n display: inline-block;\n}\n.w-dateinput-popover {\n box-shadow: 0 0 0 0;\n}\n.w-dateinput.disabled::before {\n cursor: not-allowed;\n content: ' ';\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n}\n.w-dateinput-close-btn {\n display: flex;\n margin: 0 3px;\n color: #a5a5a5;\n cursor: pointer;\n}\n.w-dateinput-close-btn:hover {\n color: #393e48;\n}\n",".w-descriptions table {\n display: table !important;\n margin-bottom: 0 !important;\n margin: 0;\n border-spacing: 0;\n border-collapse: collapse;\n table-layout: fixed;\n width: 100% !important;\n}\n.w-descriptions {\n background: #fff;\n}\n.w-descriptions-title {\n font-weight: bold;\n text-align: left;\n margin-bottom: 8px;\n color: rgba(0, 0, 0, 0.85);\n font-size: 16px;\n line-height: 1.5;\n}\n.w-descriptions-tbody {\n word-wrap: break-word;\n}\n.w-descriptions .w-descriptions-row:nth-child(2n) {\n background-color: transparent;\n}\n.w-descriptions-item-label {\n font-size: 14px;\n font-weight: normal;\n}\n.w-descriptions-item-label::after {\n position: relative;\n top: -0.5px;\n margin: 0 8px 0 2px;\n content: ' ';\n}\n.w-descriptions-item-colon::after {\n content: ':';\n}\n.w-descriptions-item-colon {\n color: rgba(0, 0, 0, 0.95);\n}\n.w-descriptions-item-content {\n font-size: 14px;\n color: rgba(0, 0, 0, 0.65);\n}\n.w-descriptions-small.w-descriptions-bordered tbody tr th,\n.w-descriptions-small.w-descriptions-bordered tbody .w-descriptions-row td {\n padding: 4px 8px;\n}\n.w-descriptions-large.w-descriptions-bordered tbody tr th,\n.w-descriptions-large.w-descriptions-bordered tbody .w-descriptions-row td {\n padding: 14px 16px;\n}\n.w-descriptions-bordered {\n overflow: hidden;\n border-radius: 3px;\n border: 1px solid #dfe2e5;\n}\n.w-descriptions-bordered tbody tr th {\n padding: 8px 12px;\n background-color: #fafafa;\n font-weight: normal;\n}\n.w-descriptions-bordered tbody tr th,\n.w-descriptions-bordered tbody tr td {\n border-top: 1px solid #dfe2e5;\n border-right: 1px solid #dfe2e5;\n border-left: 0;\n border-bottom: 0;\n}\n.w-descriptions-bordered tbody:first-child tr:first-child th,\n.w-descriptions-bordered tbody:first-child tr:first-child td {\n border-top: 0;\n}\n.w-descriptions:not(.w-descriptions-bordered) .w-descriptions-row td {\n padding-bottom: 8px;\n}\n.w-descriptions-bordered .w-descriptions-row td {\n padding: 8px 12px;\n}\n.w-descriptions-bordered .w-descriptions-title {\n margin-bottom: 0;\n padding: 7px 12px;\n}\n.w-descriptions-bordered .w-descriptions-item-label:last-child,\n.w-descriptions-bordered .w-descriptions-item-content:last-child {\n border-right: none;\n}\n",".w-divider {\n font-size: 16px;\n line-height: 16px;\n box-sizing: border-box;\n padding: 0;\n list-style: none;\n background: #e8e8e8;\n}\n.w-divider-vertical {\n margin: 0 8px;\n display: inline-block;\n height: 0.9em;\n width: 1px;\n vertical-align: middle;\n position: relative;\n top: -0.06em;\n}\n.w-divider-horizontal {\n height: 1px;\n width: 100%;\n margin: 16px 0;\n}\n.w-divider-horizontal.w-divider-with-text {\n display: flex;\n white-space: nowrap;\n text-align: center;\n background: transparent;\n font-weight: 500;\n color: #353535;\n height: inherit;\n margin: 16px 0;\n}\n.w-divider-horizontal.w-divider-with-text:before,\n.w-divider-horizontal.w-divider-with-text:after {\n content: '';\n display: table-cell;\n position: relative;\n top: 50%;\n width: 50%;\n border-top: 1px solid #e8e8e8;\n -webkit-transform: translateY(50%);\n transform: translateY(50%);\n}\n.w-divider-left.w-divider-with-text::before,\n.w-divider-right.w-divider-with-text::after {\n width: 5%;\n}\n.w-divider-left.w-divider-with-text::after,\n.w-divider-right.w-divider-with-text::before {\n width: 95%;\n}\n.w-divider-dashed.w-divider-with-text::before,\n.w-divider-dashed.w-divider-with-text::after {\n border-top-style: dashed;\n}\n.w-divider-inner-text {\n display: inline-block;\n padding: 0 10px;\n}\n.w-divider-dashed:not(.w-divider-with-text) {\n background: none;\n border-top: 1px dashed #e8e8e8;\n}\n",".w-drawer-wrapper {\n box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 46px 6px rgba(16, 22, 26, 0.2);\n background-color: #fff;\n position: fixed;\n margin: 0 !important;\n display: flex;\n flex-direction: column;\n}\n.w-drawer-header {\n display: flex;\n align-items: center;\n min-height: 40px;\n padding-left: 13px;\n padding-right: 5px;\n background-color: #fff;\n border-radius: 5px 5px 0 0;\n box-shadow: 0 1px 0 rgba(16, 22, 26, 0.15);\n font-size: 16px;\n}\n.w-drawer-header > .w-icon {\n margin-right: 10px;\n color: #393e48;\n}\n.w-drawer-header h4 {\n margin: 0;\n padding: 0;\n flex: 1 1 auto;\n}\n.w-drawer-body {\n flex: 1 1 auto;\n overflow: auto;\n line-height: 18px;\n}\n.w-drawer-footer {\n box-shadow: 0 -1px 0 rgba(16, 22, 26, 0.15);\n min-height: 40px;\n padding-left: 13px;\n padding-right: 5px;\n display: flex;\n align-items: center;\n}\n.w-drawer-body-inner {\n padding: 15px;\n}\n.w-drawer.top .w-drawer-wrapper,\n.w-drawer.bottom .w-drawer-wrapper {\n left: 0;\n right: 0;\n}\n.w-drawer.top .w-drawer-wrapper {\n top: 0;\n}\n.w-drawer.bottom .w-drawer-wrapper {\n bottom: 0;\n}\n.w-drawer.right .w-drawer-wrapper,\n.w-drawer.left .w-drawer-wrapper {\n bottom: 0;\n top: 0;\n}\n.w-drawer.right .w-drawer-wrapper {\n right: 0;\n}\n.w-drawer.left .w-drawer-wrapper {\n left: 0;\n}\n.w-drawer.w-overlay-enter .w-overlay-content {\n opacity: 1;\n}\n.w-drawer.w-overlay-enter-active .w-overlay-content {\n transition: all 0.2s cubic-bezier(0.4, 1, 0.75, 0.9);\n}\n.w-drawer.w-overlay-exit .w-overlay-content {\n opacity: 1;\n}\n.w-drawer.w-overlay-exit-active .w-overlay-content {\n transition: all 0.2s cubic-bezier(0.4, 1, 0.75, 0.9);\n}\n.w-drawer.right.w-overlay-enter .w-overlay-content {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n}\n.w-drawer.right.w-overlay-enter-active .w-overlay-content {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n}\n.w-drawer.right.w-overlay-exit .w-overlay-content {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n}\n.w-drawer.right.w-overlay-exit-active .w-overlay-content {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n}\n.w-drawer.left.w-overlay-enter .w-overlay-content {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n}\n.w-drawer.left.w-overlay-enter-active .w-overlay-content {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n}\n.w-drawer.left.w-overlay-exit .w-overlay-content {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n}\n.w-drawer.left.w-overlay-exit-active .w-overlay-content {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n}\n.w-drawer.top.w-overlay-enter .w-overlay-content {\n -webkit-transform: translateY(-100%);\n transform: translateY(-100%);\n}\n.w-drawer.top.w-overlay-enter-active .w-overlay-content {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n}\n.w-drawer.top.w-overlay-exit .w-overlay-content {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n}\n.w-drawer.top.w-overlay-exit-active .w-overlay-content {\n -webkit-transform: translateY(-100%);\n transform: translateY(-100%);\n}\n.w-drawer.bottom.w-overlay-enter .w-overlay-content {\n -webkit-transform: translateY(100%);\n transform: translateY(100%);\n}\n.w-drawer.bottom.w-overlay-enter-active .w-overlay-content {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n}\n.w-drawer.bottom.w-overlay-exit .w-overlay-content {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n}\n.w-drawer.bottom.w-overlay-exit-active .w-overlay-content {\n -webkit-transform: translateY(100%);\n transform: translateY(100%);\n}\n",".w-empty {\n color: #c7c7c7;\n text-align: center;\n}\n.w-empty-description {\n margin-top: 10px;\n}\n.w-empty-footer {\n margin-top: 16px;\n}\n",".w-fileinput input::-webkit-file-upload-button {\n background: transparent;\n border: 0;\n color: #0000;\n position: absolute;\n left: -300px;\n}\n.w-fileinput input:hover:after {\n background-clip: padding-box;\n background-color: #ebf1f5;\n box-shadow: inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);\n}\n.w-fileinput input:after {\n box-shadow: inset 0 0 0 1px rgba(16, 22, 26, 0.08);\n background-color: #f5f8fa;\n background-image: linear-gradient(180deg, hsla(0, 0%, 100%, 0.8), hsla(0, 0%, 100%, 0));\n color: #182026;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n word-wrap: normal;\n border-radius: 3px;\n content: 'Browse';\n content: attr(data-label);\n padding: 0 10px;\n margin: 3px;\n text-align: center;\n right: 0;\n display: flex;\n align-items: center;\n}\n.w-fileinput input::before,\n.w-fileinput input::after {\n color: #757575;\n position: absolute;\n top: 0;\n bottom: 0;\n}\n.w-fileinput-card {\n margin-right: -8px;\n}\n.w-fileinput-card-box {\n margin-right: 8px;\n margin-bottom: 8px;\n text-align: center;\n vertical-align: top;\n background-color: #fafafa;\n border: 1px dashed #d9d9d9;\n overflow: hidden;\n border-radius: 2px;\n cursor: pointer;\n transition: border-color 0.3s;\n display: inline-flex;\n position: relative;\n}\n.w-fileinput-card-box-info {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n}\n.w-fileinput-card-box-info img {\n width: 100%;\n height: 100%;\n}\n.w-fileinput-card-actions {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.5s;\n opacity: 0;\n background: rgba(0, 0, 0, 0.6);\n border-radius: 2px;\n}\n.w-fileinput-card-actions-remove {\n width: 24px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n.w-fileinput-card-btn {\n align-items: center;\n justify-content: center;\n}\n.w-fileinput-card-box:hover .w-fileinput-card-actions {\n opacity: 1;\n}\n.w-fileinput-card-size-large .w-fileinput-card-box {\n width: 110px;\n height: 110px;\n}\n.w-fileinput-card-size-middle .w-fileinput-card-box {\n width: 80px;\n height: 80px;\n}\n.w-fileinput-card-size-small .w-fileinput-card-box {\n width: 50px;\n height: 50px;\n}\n.w-fileinput-card-shape-round .w-fileinput-card-box {\n border-radius: 2px;\n}\n.w-fileinput-card-shape-circle .w-fileinput-card-box {\n border-radius: 50%;\n}\n.w-fileinput-list {\n padding-bottom: 8px;\n width: 100%;\n}\n.w-fileinput-list-actions {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.5s;\n opacity: 0;\n background: rgba(0, 0, 0, 0.6);\n border-radius: 2px;\n}\n.w-fileinput-list-actions-search {\n width: 24px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n.w-fileinput-list-info:hover .w-fileinput-list-actions {\n opacity: 1;\n}\n.w-fileinput-list-picture {\n border: 1px solid #d9d9d9;\n display: flex;\n align-items: center;\n padding: 5px;\n margin-top: 8px;\n}\n.w-fileinput-list-picture-info {\n margin-right: 10px;\n position: relative;\n overflow: hidden;\n}\n.w-fileinput-list-picture-info img {\n width: 48px;\n height: 48px;\n display: block;\n}\n.w-fileinput-list-picture-text {\n flex: 1;\n}\n.w-fileinput-list-picture-icon {\n padding: 5px;\n cursor: pointer;\n}\n.w-fileinput-list-size-large .w-fileinput-list-picture-info img {\n width: 70px;\n height: 70px;\n}\n.w-fileinput-list-size-middle .w-fileinput-list-picture-info img {\n width: 50px;\n height: 50px;\n}\n.w-fileinput-list-size-small .w-fileinput-list-picture-info img {\n width: 30px;\n height: 30px;\n}\n.w-fileinput-list-shape-round .w-fileinput-list-picture-info {\n border-radius: 2px;\n}\n.w-fileinput-list-shape-circle .w-fileinput-list-box-info {\n border-radius: 50px;\n}\n.w-fileinput-list-text {\n border: 1px solid transparent;\n display: flex;\n align-items: center;\n padding: 5px;\n transition: all 0.5s;\n}\n.w-fileinput-list-text:hover {\n background: #f5f5f5;\n}\n.w-fileinput-list-text:first-child {\n margin-top: 8px;\n}\n.w-fileinput-list-text-text {\n flex: 1;\n}\n.w-fileinput-list-text-icon {\n padding: 0 5px;\n cursor: pointer;\n}\n",".w-col {\n min-width: 0;\n box-sizing: border-box;\n flex: 0 0 auto;\n flex-grow: 1;\n flex-basis: 0;\n max-width: 100%;\n}\n.w-col-fixed {\n flex: 0 1 auto;\n}\n.w-col-align-top {\n align-self: flex-start;\n}\n.w-col-align-middle {\n align-self: center;\n}\n.w-col-align-bottom {\n align-self: flex-end;\n}\n.w-col-align-baseline {\n align-self: baseline;\n}\n.w-col-grow-1 {\n flex-grow: 1;\n}\n.w-col-grow-2 {\n flex-grow: 2;\n}\n.w-col-grow-3 {\n flex-grow: 3;\n}\n.w-col-grow-4 {\n flex-grow: 4;\n}\n.w-col-grow-5 {\n flex-grow: 5;\n}\n.w-col-grow-6 {\n flex-grow: 6;\n}\n.w-col-grow-7 {\n flex-grow: 7;\n}\n.w-col-grow-8 {\n flex-grow: 8;\n}\n.w-col-grow-9 {\n flex-grow: 9;\n}\n.w-col-grow-10 {\n flex-grow: 10;\n}\n.w-col-grow-11 {\n flex-grow: 11;\n}\n.w-col-1 {\n flex-basis: 4.16666667%;\n max-width: 4.16666667%;\n}\n.w-col-2 {\n flex-basis: 8.33333333%;\n max-width: 8.33333333%;\n}\n.w-col-3 {\n flex-basis: 12.5%;\n max-width: 12.5%;\n}\n.w-col-4 {\n flex-basis: 16.66666667%;\n max-width: 16.66666667%;\n}\n.w-col-5 {\n flex-basis: 20.83333333%;\n max-width: 20.83333333%;\n}\n.w-col-6 {\n flex-basis: 25%;\n max-width: 25%;\n}\n.w-col-7 {\n flex-basis: 29.16666667%;\n max-width: 29.16666667%;\n}\n.w-col-8 {\n flex-basis: 33.33333333%;\n max-width: 33.33333333%;\n}\n.w-col-9 {\n flex-basis: 37.5%;\n max-width: 37.5%;\n}\n.w-col-10 {\n flex-basis: 41.66666667%;\n max-width: 41.66666667%;\n}\n.w-col-11 {\n flex-basis: 45.83333333%;\n max-width: 45.83333333%;\n}\n.w-col-12 {\n flex-basis: 50%;\n max-width: 50%;\n}\n.w-col-13 {\n flex-basis: 54.16666667%;\n max-width: 54.16666667%;\n}\n.w-col-14 {\n flex-basis: 58.33333333%;\n max-width: 58.33333333%;\n}\n.w-col-15 {\n flex-basis: 62.5%;\n max-width: 62.5%;\n}\n.w-col-16 {\n flex-basis: 66.66666667%;\n max-width: 66.66666667%;\n}\n.w-col-17 {\n flex-basis: 70.83333333%;\n max-width: 70.83333333%;\n}\n.w-col-18 {\n flex-basis: 75%;\n max-width: 75%;\n}\n.w-col-19 {\n flex-basis: 79.16666667%;\n max-width: 79.16666667%;\n}\n.w-col-20 {\n flex-basis: 83.33333333%;\n max-width: 83.33333333%;\n}\n.w-col-21 {\n flex-basis: 87.5%;\n max-width: 87.5%;\n}\n.w-col-22 {\n flex-basis: 91.66666667%;\n max-width: 91.66666667%;\n}\n.w-col-23 {\n flex-basis: 95.83333333%;\n max-width: 95.83333333%;\n}\n.w-col-24 {\n flex-basis: 100%;\n max-width: 100%;\n}\n",".w-row {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n}\n.w-row.w-row-justify-flex-start {\n justify-content: flex-start;\n}\n.w-row.w-row-justify-flex-end {\n justify-content: flex-end;\n}\n.w-row.w-row-justify-center {\n justify-content: center;\n}\n.w-row.w-row-justify-space-between {\n justify-content: space-between;\n}\n.w-row.w-row-justify-space-around {\n justify-content: space-around;\n}\n.w-row.w-row-justify-space-evenly {\n justify-content: space-evenly;\n}\n.w-row-align-top {\n align-items: flex-start;\n}\n.w-row-align-middle {\n align-items: center;\n}\n.w-row-align-bottom {\n align-items: flex-end;\n}\n.w-row-align-baseline {\n align-items: baseline;\n}\n",".w-form-item {\n margin-bottom: 10px;\n}\n.w-form-item-error .w-form-help,\n.w-form-item-error .w-form-label {\n color: #dc3545;\n}\n.w-form-item-error .w-input-inner,\n.w-form-item-error .w-select,\n.w-form-item-error .w-select-default,\n.w-form-item-error .w-select:hover,\n.w-form-item-error .w-select-default:hover,\n.w-form-item-error .w-input-inner:hover,\n.w-form-item-error .w-input-inner:focus.w-input-inner:hover,\n.w-form-item-error .w-textarea,\n.w-form-item-error .w-textarea:hover,\n.w-form-item-error .w-search-tree-inner,\n.w-form-item-error .w-textarea:focus.w-textarea:hover {\n box-shadow: 0 0 0 1px #dc3545, 0 0 0 3px rgba(220, 53, 69, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-form-item-error .w-search-tree-inner .w-input .w-input-inner {\n box-shadow: none !important;\n}\n.w-form-label {\n line-height: 32px;\n min-height: 32px;\n font-weight: 600;\n font-size: 14px;\n padding-right: 5px;\n}\n.w-form-label label {\n display: inline-block;\n}\n.w-form-row {\n align-items: center;\n display: flex;\n}\n.w-form-help {\n color: #c2c2c2;\n font-size: 12px;\n padding-top: 3px;\n}\n",".w-form fieldset {\n margin: 0;\n padding: 0;\n border-width: 0;\n}\n",".w-list {\n font-size: 14px;\n line-height: 1.5;\n color: #52575c;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n position: relative;\n background-color: #fff;\n transition: all 0.3s;\n}\n.w-list:not(.w-list-no-hover):hover,\n.w-list-active {\n box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);\n border-color: rgba(0, 0, 0, 0.2);\n}\n.w-list-bordered {\n border: 1px solid #e9e9e9;\n border-radius: 4px;\n}\n.w-list-bordered .w-list-item:last-child {\n border-bottom: 0;\n border-radius: 0 0 4px 4px;\n}\n.w-list-item {\n display: flex;\n align-items: center;\n}\n.w-list-item.w-disabled {\n cursor: not-allowed;\n text-decoration: none;\n pointer-events: none;\n color: #a3a6a9;\n}\n.w-list-item.w-active {\n background: #f8f8f9;\n color: #007bff;\n}\n.w-list-item-main {\n display: block;\n flex: 1;\n}\n.w-list-item-extra {\n margin-left: 40px;\n}\na.w-list-item {\n display: block;\n color: #52575c;\n}\na.w-list-item:hover:not(.w-disabled) {\n background: #f8f8f9;\n}\n.w-list-striped .w-list-item:nth-of-type(2n) {\n background: #f8f8f9;\n}\n.w-list-bordered .w-list-item,\n.w-list-bordered .w-list-header {\n border-bottom: 1px solid #e8e8e8;\n}\n.w-list-item,\n.w-list-footer,\n.w-list-header {\n padding: 12px 18px;\n}\n.w-list-size-small .w-list-item,\n.w-list-size-small .w-list-footer,\n.w-list-size-small .w-list-header {\n padding: 8px 16px;\n}\n.w-list-size-large .w-list-item,\n.w-list-size-large .w-list-footer,\n.w-list-size-large .w-list-header {\n padding: 16px 24px;\n}\n",".w-layout,\n.w-layout * {\n box-sizing: border-box;\n}\n.w-layout {\n display: flex;\n flex: auto;\n flex-direction: column;\n min-height: 0;\n background: #f0f2f5;\n margin: 0;\n padding: 0;\n}\n.w-layout.w-layout-has-sider > .w-layout,\n.w-layout.w-layout-has-sider > .w-layout-content {\n width: 0;\n}\n.w-layout-header,\n.w-layout-footer {\n flex: 0 0 auto;\n}\n.w-layout-header {\n height: 53px;\n padding: 0 23px;\n color: rgba(0, 0, 0, 0.65);\n line-height: 53px;\n background: #202225;\n}\n.w-layout-footer {\n padding: 16px 23px;\n color: rgba(0, 0, 0, 0.65);\n font-size: 14px;\n background: #f0f2f5;\n}\n.w-layout-content {\n flex: auto;\n}\n.w-layout.w-layout-has-sider {\n flex-direction: row;\n}\n.w-layout-sider {\n position: relative;\n min-width: 0;\n background: #343a40;\n transition: all 0.2s;\n}\n",".w-loader {\n position: relative;\n display: inline-block;\n}\n.w-loader-tips-nested svg {\n height: 100%;\n width: 100%;\n -webkit-animation: loaderRotate 2s linear infinite;\n animation: loaderRotate 2s linear infinite;\n -webkit-transform-origin: center center;\n transform-origin: center center;\n fill: currentcolor;\n vertical-align: middle;\n}\n.w-loader-tips-nested svg circle {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n -webkit-animation: loaderDash 1.5s ease-in-out infinite, loaderColor 6s ease-in-out infinite;\n animation: loaderDash 1.5s ease-in-out infinite, loaderColor 6s ease-in-out infinite;\n stroke-linecap: round;\n}\n.w-loader-large .w-loader-tips-nested svg {\n width: 30px;\n height: 30px;\n}\n.w-loader-large .w-loader-tips-nested svg circle {\n stroke-width: 3px;\n}\n.w-loader-default .w-loader-tips-nested svg {\n width: 20px;\n height: 20px;\n}\n.w-loader-small .w-loader-tips-nested svg {\n width: 14px;\n height: 14px;\n}\n.w-loader-blur {\n opacity: 0.5;\n -webkit-filter: blur(0.5px);\n filter: blur(0.5px);\n overflow: hidden;\n}\n.w-loader-warp {\n transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.w-loader-tips-nested {\n vertical-align: middle;\n display: inline-block;\n}\n.w-loader-tips {\n color: #2d8cf0;\n text-align: center;\n position: relative;\n height: 100%;\n width: 100%;\n z-index: 4;\n font-weight: 400;\n}\n.w-loader-tips:before {\n content: ' ';\n display: inline-block;\n height: 100%;\n width: 0.1px;\n vertical-align: middle;\n}\n.w-loader-tips:not(:last-child) {\n position: absolute;\n}\n.w-loader-text {\n display: inline-block;\n margin-left: 5px;\n vertical-align: middle;\n}\n.w-loader-vertical {\n display: block;\n margin-left: 0;\n margin-top: 5px;\n}\n.w-loader-fullscreen {\n position: fixed;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n z-index: 99999;\n}\n@-webkit-keyframes loaderRotate {\n to {\n -webkit-transform: rotate(1turn);\n transform: rotate(1turn);\n }\n}\n@keyframes loaderRotate {\n to {\n -webkit-transform: rotate(1turn);\n transform: rotate(1turn);\n }\n}\n@-webkit-keyframes loaderDash {\n 0% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -35;\n }\n to {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -124;\n }\n}\n@keyframes loaderDash {\n 0% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -35;\n }\n to {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -124;\n }\n}\n@-webkit-keyframes loaderColor {\n 0%,\n to {\n stroke: currentColor;\n }\n 80%,\n 90% {\n stroke: currentColor;\n }\n}\n@keyframes loaderColor {\n 0%,\n to {\n stroke: currentColor;\n }\n 80%,\n 90% {\n stroke: currentColor;\n }\n}\n",".w-message {\n padding: 10px 15px;\n position: relative;\n font-size: 14px;\n}\n.w-message + .w-message {\n margin-top: 10px;\n}\n.w-message-title,\n.w-message-description {\n display: block;\n}\n.w-message-rounded {\n border-radius: 5px;\n}\n.w-message-description {\n color: rgba(0, 0, 0, 0.65);\n}\n.w-message-title {\n color: rgba(0, 0, 0, 0.85);\n}\n.w-message-title-description > .w-icon {\n font-size: 24px;\n}\n.w-message-title-description .w-message-title {\n font-size: 16px;\n}\n.w-message-title-description .w-message-title,\n.w-message-title-description .w-message-description {\n padding-left: 16px;\n}\n.w-message-icon {\n padding-left: 34px;\n}\n.w-message-success {\n background: #afecbd;\n color: #28a745;\n}\n.w-message > button {\n position: absolute;\n right: 10px;\n top: 10px;\n}\n.w-message > button.w-btn {\n padding: 2px;\n min-width: 16px;\n min-height: 16px;\n color: rgba(0, 0, 0, 0.38);\n}\n.w-message > button.w-btn:hover {\n background-color: rgba(255, 255, 255, 0.21) !important;\n}\n.w-message > button.w-btn:active {\n background-color: rgba(0, 0, 0, 0.1) !important;\n}\n.w-message-warning {\n background: #fff4d3;\n color: #ffc107;\n}\n.w-message-info {\n background: #bde4ff;\n color: #008ef0;\n}\n.w-message-error {\n background: #fae3e5;\n color: #dc3545;\n}\n.w-message > .w-icon {\n top: 14px;\n left: 14px;\n position: absolute;\n}\n.w-message-enter {\n -webkit-transform: scaleY(0.5);\n transform: scaleY(0.5);\n opacity: 0;\n}\n.w-message-enter-active {\n opacity: 1;\n -webkit-transform: scaleY(1);\n transform: scaleY(1);\n transition: opacity 300ms ease, -webkit-transform 300ms ease;\n transition: transform 300ms ease, opacity 300ms ease;\n transition: transform 300ms ease, opacity 300ms ease, -webkit-transform 300ms ease;\n}\n.w-message-exit {\n opacity: 1;\n -webkit-transform: scaleY(1);\n transform: scaleY(1);\n transition: opacity 300ms ease, -webkit-transform 300ms ease;\n transition: transform 300ms ease, opacity 300ms ease;\n transition: transform 300ms ease, opacity 300ms ease, -webkit-transform 300ms ease;\n}\n.w-message-exit-active {\n -webkit-transform: scaleY(0.5);\n transform: scaleY(0.5);\n opacity: 0;\n}\n",".w-monthpicker {\n display: inline-block;\n}\n.w-monthpicker-popover {\n padding: 5px;\n min-width: 192px;\n max-width: 192px;\n font-size: 14px;\n line-height: 21px;\n}\n.w-monthpicker.disabled .w-monthpicker-close-btn {\n display: none !important;\n}\n.w-monthpicker .w-monthpicker-close-btn {\n min-height: initial;\n color: #a5a5a5;\n cursor: pointer;\n}\n.w-monthpicker .w-monthpicker-close-btn:hover {\n color: #393e48;\n}\n.w-monthpicker .w-monthpicker-close-btn:active,\n.w-monthpicker .w-monthpicker-close-btn:hover {\n background-color: transparent !important;\n}\n",".w-notify {\n position: relative !important;\n z-index: 9999;\n}\n.w-notify-warpper .w-notify .w-modal-inner .w-modal-header > .w-icon {\n font-size: 28px !important;\n}\n.w-notify-warpper .w-notify .w-modal-inner .w-modal-header > .w-btn {\n min-width: 18px;\n min-height: 18px;\n padding: 5px 5px;\n}\n.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-icon:not(.w-modal-shown-title) .w-modal-header > button {\n top: 12px;\n right: 10px;\n position: absolute;\n}\n.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-icon:not(.w-modal-shown-title) .w-modal-body {\n padding-right: 36px;\n}\n.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title .w-modal-header {\n padding-top: 20px;\n}\n.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title .w-modal-header > button {\n top: 5px;\n right: 5px;\n position: absolute;\n}\n.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title .w-modal-header > h4 {\n padding-left: 40px;\n padding-right: 20px;\n}\n.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title .w-modal-body {\n padding-left: 60px;\n opacity: 0.75;\n}\n.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title:not(.w-modal-shown-icon) .w-modal-header > h4 {\n padding-left: 5px;\n}\n.w-notify-warpper .w-notify .w-modal-inner.w-modal-shown-title:not(.w-modal-shown-icon) .w-modal-body {\n padding-left: 25px;\n}\n.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title):not(.w-modal-shown-icon) .w-modal-body {\n padding: 16px;\n}\n.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title).w-modal-inner {\n padding-bottom: 0;\n}\n.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title).w-modal-inner .w-modal-header {\n padding-top: 16px;\n}\n.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title).w-modal-inner .w-modal-header > .w-icon {\n font-size: 20px !important;\n}\n.w-notify-warpper .w-notify .w-modal-inner:not(.w-modal-shown-title) .w-modal-body {\n padding: 16px 12px;\n}\n.w-notify-warpper .w-notify .w-overlay-content {\n margin: 5px;\n}\n.w-notify-warpper {\n position: fixed;\n padding: 5px;\n z-index: 999;\n}\n.w-notify-warpper.topLeft {\n top: 0;\n left: 0;\n}\n.w-notify-warpper.topRight {\n top: 0;\n right: 0;\n}\n.w-notify-warpper.bottomLeft {\n bottom: 0;\n left: 0;\n}\n.w-notify-warpper.bottomRight {\n bottom: 0;\n right: 0;\n}\n",".w-select {\n display: inline-flex;\n font-size: 14px;\n -webkit-appearance: none;\n appearance: none;\n cursor: pointer;\n color: #182026;\n padding: 6px 25px 6px 10px;\n width: 100%;\n max-width: 100%;\n margin: 0;\n line-height: 18px;\n vertical-align: middle;\n box-sizing: border-box;\n border: none;\n box-shadow: inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);\n border-radius: 3px;\n background-color: #f5f8fa;\n background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDEyIDE2Ij4gIDxwYXRoIGZpbGw9IiMzOTNFNDgiIGQ9Ik0wLjIyMiw1LjYxMyBMNS40NTEsMC4yMjMgQzUuNzU2MjEyMDksLTAuMDc0MzYzMjMzMyA2LjI0Mjc4NzkxLC0wLjA3NDM2MzIzMzMgNi41NDgsMC4yMjMgTDExLjc3OCw1LjYxMyBDMTIuMTgsNi4wMjcgMTIuMDI1LDYuNjY3IDExLjQwNyw2LjY2NyBMMC41OTIsNi42NjcgQy0wLjAyNCw2LjY2NyAtMC4xOCw2LjAyNyAwLjIyMiw1LjYxMyBaIE0wLjU5Miw5LjMzMyBMMTEuNDA3LDkuMzMzIEMxMi4wMjUsOS4zMzMgMTIuMTgsOS45NzMgMTEuNzc3LDEwLjM4NyBMNi41NDcsMTUuNzc3IEM2LjI0MTkxMjU4LDE2LjA3MzcxNDMgNS43NTYwODc0MiwxNi4wNzM3MTQzIDUuNDUxLDE1Ljc3NyBMMC4yMjIsMTAuMzg3IEMtMC4xOCw5Ljk3MyAtMC4wMjQsOS4zMzMgMC41OTIsOS4zMzMgWiIvPjwvc3ZnPg=='), linear-gradient(180deg, hsla(0, 0%, 100%, 0.8), hsla(0, 0%, 100%, 0));\n background-repeat: no-repeat, repeat;\n background-position: right 0.7em top 50%, 0 0;\n background-size: 0.62em auto, 100%;\n}\n.w-select:focus {\n outline: none !important;\n}\n.w-select:hover {\n box-shadow: inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);\n background-clip: padding-box;\n background-color: #ebf1f5;\n}\n.w-select:disabled {\n box-shadow: none;\n background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDEyIDE2Ij4gIDxwYXRoIGZpbGw9IiMzOTNFNDgiIGQ9Ik0wLjIyMiw1LjYxMyBMNS40NTEsMC4yMjMgQzUuNzU2MjEyMDksLTAuMDc0MzYzMjMzMyA2LjI0Mjc4NzkxLC0wLjA3NDM2MzIzMzMgNi41NDgsMC4yMjMgTDExLjc3OCw1LjYxMyBDMTIuMTgsNi4wMjcgMTIuMDI1LDYuNjY3IDExLjQwNyw2LjY2NyBMMC41OTIsNi42NjcgQy0wLjAyNCw2LjY2NyAtMC4xOCw2LjAyNyAwLjIyMiw1LjYxMyBaIE0wLjU5Miw5LjMzMyBMMTEuNDA3LDkuMzMzIEMxMi4wMjUsOS4zMzMgMTIuMTgsOS45NzMgMTEuNzc3LDEwLjM4NyBMNi41NDcsMTUuNzc3IEM2LjI0MTkxMjU4LDE2LjA3MzcxNDMgNS43NTYwODc0MiwxNi4wNzM3MTQzIDUuNDUxLDE1Ljc3NyBMMC4yMjIsMTAuMzg3IEMtMC4xOCw5Ljk3MyAtMC4wMjQsOS4zMzMgMC41OTIsOS4zMzMgWiIvPjwvc3ZnPg==');\n background-size: 0.52em auto, 100%;\n background-color: #dddddd;\n opacity: 0.75;\n color: #a5a5a5;\n cursor: not-allowed;\n resize: none;\n}\n.w-select-large {\n padding: 9px 25px 9px 12px;\n font-size: 16px;\n}\n.w-select-small {\n padding: 3px 25px 3px 7px;\n font-size: 12px;\n}\n",".w-pagination {\n padding: 0 !important;\n margin: 0 !important;\n position: relative;\n -webkit-user-select: none;\n user-select: none;\n font-size: 12px;\n}\n.w-pagination-left {\n text-align: left;\n}\n.w-pagination-center {\n text-align: center;\n}\n.w-pagination-right {\n text-align: right;\n}\n.w-pagination > li {\n height: 28px;\n line-height: 28px;\n vertical-align: middle;\n text-align: center;\n position: relative;\n cursor: pointer;\n display: inline-flex !important;\n transition: background-color 0.2s ease-in, box-shadow 0.2s ease-in;\n margin: 0 !important;\n display: inline-flex;\n align-items: center;\n}\n.w-pagination > li > a {\n text-decoration: none;\n color: rgba(0, 0, 0, 0.5);\n transition: none;\n margin: 0 10px;\n display: block;\n}\n.w-pagination > li > a.arrow {\n padding: 0 3px;\n}\n.w-pagination > li > a.arrow::after,\n.w-pagination > li > a.arrow::before {\n content: '';\n display: block;\n height: 8px;\n width: 2px;\n border-radius: 2px;\n background-color: #565656;\n transition: all 0.3s;\n}\n.w-pagination > li > a.arrow::after {\n margin-top: -4px;\n}\n.w-pagination > li > a.arrow.prev::after,\n.w-pagination > li > a.arrow.next::before {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n}\n.w-pagination > li > a.arrow.prev::before,\n.w-pagination > li > a.arrow.next::after {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n.w-pagination > li.disabled {\n cursor: not-allowed;\n}\n.w-pagination > li.disabled > a.arrow::after,\n.w-pagination > li.disabled > a.arrow::before {\n background: #d4d4d4;\n}\n.w-pagination.small > li {\n height: 21px;\n line-height: 21px;\n border-radius: 4px;\n}\n.w-pagination.small > li > a {\n margin: 0 3px;\n min-width: 15px;\n}\n.w-pagination.small > li > a.arrow::after,\n.w-pagination.small > li > a.arrow::before {\n margin-left: 6px;\n}\n.w-pagination.small > li.active {\n background-color: #ececec;\n}\n.w-pagination.small > li:not(.active):hover a {\n color: #2ea3f4;\n}\n.w-pagination.default > li {\n background: #fff;\n border: 1px solid #d4d4d4;\n border-left: 0;\n}\n.w-pagination.default > li:not(.disabled):not(.active):hover {\n background-color: #f6f6f6;\n}\n.w-pagination.default > li:not(.disabled):active {\n box-shadow: inset 0 8px 42px -12px rgba(0, 0, 0, 0.2);\n}\n.w-pagination.default > li:first-child {\n border-left: 1px solid #d4d4d4;\n border-radius: 3px 0 0 3px;\n}\n.w-pagination.default > li:last-child {\n border-radius: 0 3px 3px 0;\n}\n.w-pagination.default > li.active {\n background-color: #ececec;\n}\n.w-pagination.default > li.active:active {\n box-shadow: inset 0 0 0 rgba(0, 0, 0, 0);\n}\n.w-pagination.default.divider li + li {\n margin-left: 8px !important;\n border: 1px solid #d4d4d4;\n}\n.w-pagination.default.divider li {\n border-radius: 4px;\n}\n.w-pagination-options {\n margin-left: 8px !important;\n}\n.w-pagination-options .w-select {\n border: none !important;\n padding-top: 0;\n padding-bottom: 0;\n box-shadow: none !important;\n height: 100%;\n}\n",".w-pin-code {\n display: flex;\n}\n.w-pin-code-inner + .w-pin-code-inner {\n margin-left: 8px;\n}\n.w-pin-code-inner {\n width: 30px;\n}\n.w-pin-code-inner > input {\n text-align: center;\n padding: 0 !important;\n font-size: 14px;\n font-weight: bold;\n}\n.w-pin-code-large .w-pin-code-inner {\n width: 36px;\n}\n.w-pin-code-large .w-pin-code-inner input {\n font-size: 16px;\n}\n.w-pin-code-small .w-pin-code-inner {\n width: 24px;\n}\n.w-pin-code-small .w-pin-code-inner input {\n font-size: 12px;\n}\n",".w-progress {\n position: relative;\n line-height: 1;\n display: inline-block;\n}\n.w-progress-text {\n color: #48576a;\n display: inline-block;\n vertical-align: middle;\n margin-left: 10px;\n line-height: 1;\n}\n",".w-progress-circle .w-progress-text {\n position: absolute;\n top: 50%;\n left: 0;\n width: 100%;\n text-align: center;\n margin: 0;\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%);\n font-size: 16px;\n}\n.w-progress-trail {\n stroke: #e5e9f2;\n}\n.w-progress-stroke {\n stroke: #20a0ff;\n}\n.w-progress-status-success .w-progress-stroke {\n stroke: #28a745;\n}\n.w-progress-status-exception .w-progress-stroke {\n stroke: #ff4949;\n}\n",".w-progress-line {\n width: 100%;\n font-size: 12px;\n}\n.w-progress-bar,\n.w-progress-text {\n box-sizing: border-box;\n}\n.w-progress-bar {\n display: inline-block;\n width: 100%;\n vertical-align: middle;\n}\n.w-progress-status-active .w-progress-bg {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 12px 12px;\n -webkit-animation: progress-bar-stripes 1s linear infinite;\n animation: progress-bar-stripes 1s linear infinite;\n}\n.w-progress-status-active .w-progress-bg:before {\n content: ' ';\n opacity: 0;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #fff;\n border-radius: 10px;\n -webkit-animation: w-progress-active 2.4s cubic-bezier(0.23, 1, 0.32, 1) infinite;\n animation: w-progress-active 2.4s cubic-bezier(0.23, 1, 0.32, 1) infinite;\n}\n.w-progress-status-exception .w-progress-bg {\n background-color: #dc3545;\n}\n.w-progress-status-exception .w-progress-text {\n color: #dc3545;\n}\n.w-progress-status-success .w-progress-bg {\n background-color: #28a745;\n}\n.w-progress-status-success .w-progress-text {\n color: #28a745;\n}\n.w-progress-show-text .w-progress-bar {\n margin-right: -50px;\n padding-right: 50px;\n}\n.w-progress-inner {\n height: 100%;\n width: 100%;\n border-radius: 100px;\n background-color: #e5e9f2;\n overflow: hidden;\n}\n.w-progress-bg {\n height: 100%;\n border-radius: 100px;\n background-color: #108ee9;\n transition: all 0.4s cubic-bezier(0.08, 0.82, 0.17, 1) 0s;\n position: relative;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 0 0;\n }\n to {\n background-position: 24px 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 0 0;\n }\n to {\n background-position: 24px 0;\n }\n}\n@-webkit-keyframes w-progress-active {\n 0% {\n opacity: 0.1;\n width: 0;\n }\n 20% {\n opacity: 0.5;\n width: 0;\n }\n 100% {\n opacity: 0;\n width: 100%;\n }\n}\n@keyframes w-progress-active {\n 0% {\n opacity: 0.1;\n width: 0;\n }\n 20% {\n opacity: 0.5;\n width: 0;\n }\n 100% {\n opacity: 0;\n width: 100%;\n }\n}\n",".w-rate {\n position: relative;\n line-height: 12px;\n font-size: 20px;\n font-family: auto;\n display: inline-block;\n vertical-align: middle;\n}\n.w-rate > span + span {\n margin-left: 3px;\n}\n.w-rate-bg {\n color: #e9e9e9;\n}\n.w-rate > span,\n.w-rate-bg {\n cursor: pointer;\n position: relative;\n display: inline-block;\n}\n.w-rate-hight {\n z-index: 3;\n line-height: 12px;\n position: absolute;\n transition: color 0.3s, width 0.3s;\n color: #e9e9e9;\n display: none;\n}\n.w-rate .hover-on {\n cursor: pointer;\n}\n.w-rate .star-on,\n.w-rate .hover-on,\n.w-rate .half-on {\n display: inline-block;\n color: #f5a623;\n}\n.w-rate .half-on:not(.hover-on) {\n overflow: hidden;\n width: 50%;\n}\n",".w-tag {\n border-radius: 2px;\n display: inline-block;\n -webkit-user-select: none;\n user-select: none;\n font-size: 12px;\n padding: 1px 5px;\n position: relative;\n white-space: nowrap;\n vertical-align: middle;\n}\n.w-tag + .w-tag {\n margin-left: 5px;\n}\n.w-tag.disabled {\n opacity: 0.75;\n cursor: not-allowed;\n}\n.w-tag-light .w-tag-close:hover {\n background-color: currentcolor;\n}\n.w-tag-light .w-tag-close:hover path {\n fill: #fff;\n}\n.w-tag-light .w-tag-close:active {\n background-color: rgba(0, 0, 0, 0.15);\n}\n.w-tag-close {\n vertical-align: bottom;\n margin: 0px -3px 0 2px;\n border-radius: 2px;\n position: relative;\n top: -1px;\n fill: currentcolor;\n transition: all 0.3s;\n cursor: pointer;\n}\n.w-tag-close:hover {\n background-color: rgba(0, 0, 0, 0.22);\n}\n.w-tag-close:active {\n background-color: rgba(0, 0, 0, 0.32);\n}\n",".w-search-select-input-contents input {\n box-shadow: none;\n padding: 0px;\n height: 28px;\n}\n.w-search-select-input-contents.w-input-small {\n min-width: 0;\n}\n.w-search-select-input-contents .w-input-inner:hover {\n box-shadow: none !important;\n}\n.w-search-select-input-contents .w-input-inner:focus {\n box-shadow: none !important;\n}\n.w-search-select-input-contents .w-input-inner.disabled {\n box-shadow: none;\n background: #dddddd;\n opacity: 0.75;\n color: #a5a5a5;\n cursor: not-allowed;\n resize: none;\n}\n.w-search-select-inner {\n display: flex;\n justify-content: space-between;\n outline: none;\n border: none;\n border-radius: 3px;\n box-shadow: 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n box-sizing: border-box;\n background: #fff;\n margin: 0 !important;\n padding: 1px 1px;\n vertical-align: middle;\n line-height: 30px;\n align-items: center;\n color: #393e48;\n font-weight: 400;\n font-size: inherit;\n transition: box-shadow 0.3s cubic-bezier(0.4, 1, 0.75, 0.9);\n -webkit-appearance: none;\n appearance: none;\n}\n.w-search-select-inner:focus {\n box-shadow: 0 0 0 1px #393e48, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-search-select-inner:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-search-select-inner:focus.w-search-select-inner:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-search-select-inner:disabled {\n box-shadow: none;\n background: #dddddd;\n opacity: 0.75;\n color: #a5a5a5;\n cursor: not-allowed;\n resize: none;\n}\n.w-search-select-inner-inner-small {\n height: 20px;\n}\n.w-search-select-inner-inner-large {\n height: 30px;\n}\n.w-search-select-inner .w-input-small .w-input-inner {\n height: 16px;\n font-size: 10px;\n padding: 0;\n}\n.w-search-select-inner .w-input-large .w-input-inner {\n height: 28px;\n}\n.w-search-select-tag-content {\n display: flex;\n align-items: center;\n flex-flow: wrap;\n width: 100%;\n padding: 0 9px;\n}\n.w-search-select-tag-content-disabled {\n background: #dddddd;\n}\n.w-search-select-search-false {\n cursor: pointer;\n}\n.w-search-select-multiple-colse {\n right: 3px;\n font-size: 15px;\n}\n.w-search-select-singe-colse {\n font-size: 15px;\n}\n",".w-split {\n height: 100%;\n display: flex;\n flex-direction: row;\n}\n.w-split-bar {\n z-index: 10;\n position: relative;\n justify-content: center;\n display: flex;\n background: #f8f8f9;\n -webkit-user-select: none;\n user-select: none;\n}\n.w-split-bar::before,\n.w-split-bar::after {\n content: '';\n display: block;\n}\n.w-split-bar.disable {\n pointer-events: none;\n cursor: not-allowed !important;\n}\n.w-split-bar:hover:not(.disable) {\n transition: background-color 0.3s;\n background: #ecf7ff;\n}\n.w-split.dragging .w-split-pane {\n position: relative;\n}\n.w-split.dragging .w-split-pane::before {\n content: '';\n display: block;\n position: absolute;\n height: 100%;\n width: 100%;\n z-index: 10;\n}\n.w-split > .w-split-pane {\n -webkit-transform: none;\n transform: none;\n}\n.w-split:not(.dragging) > .w-split-pane {\n transition: all 0.3s;\n}\n.w-split-horizontal > .w-split-bar {\n cursor: col-resize;\n width: 5px;\n flex-direction: column;\n box-shadow: inset 1px 0 0 0 #d5d5d5, 1px 0 0 0 #d5d5d5;\n}\n.w-split-horizontal > .w-split-bar::before,\n.w-split-horizontal > .w-split-bar::after {\n height: 3px;\n width: 100%;\n box-shadow: inset 0 1px 0 0 #d5d5d5, 0 1px 0 0 #d5d5d5;\n}\n.w-split-horizontal > .w-split-bar::before {\n margin-top: -1px;\n}\n.w-split-horizontal > .w-split-bar::after {\n margin-top: 3px;\n}\n.w-split-horizontal > .w-split-bar.disable {\n box-shadow: inset 1px 0 0 0 #e6e6e6, 1px 0 0 0 #eaeaea !important;\n}\n.w-split-vertical {\n flex-direction: column;\n}\n.w-split-vertical > .w-split-bar {\n cursor: row-resize;\n width: 100%;\n height: 5px;\n align-items: center;\n flex-direction: row;\n box-shadow: inset 0 1px 0 0 #d5d5d5, 0 1px 0 0 #d5d5d5;\n}\n.w-split-vertical > .w-split-bar.disable {\n box-shadow: inset 0 1px 0 0 #e6e6e6, 0 1px 0 0 #eaeaea !important;\n}\n.w-split-vertical > .w-split-bar::before,\n.w-split-vertical > .w-split-bar::after {\n height: 100%;\n width: 3px;\n box-shadow: inset 1px 0 0 0 #d5d5d5, 1px 0 0 0 #d5d5d5;\n}\n.w-split-vertical > .w-split-bar::before {\n margin-left: -1px;\n}\n.w-split-vertical > .w-split-bar::after {\n margin-left: 3px;\n}\n.w-split-large-bar div {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n}\n.w-split-vertical > .w-split-line-bar:hover::before,\n.w-split-horizontal > .w-split-line-bar:hover::before {\n border-color: #008EF0;\n}\n.w-split-vertical > .w-split-line-bar {\n height: 1px;\n}\n.w-split-vertical > .w-split-line-bar div {\n cursor: row-resize;\n width: 100%;\n height: 8px;\n margin-top: -2px;\n margin-bottom: -2px;\n}\n.w-split-vertical > .w-split-line-bar div:hover,\n.w-split-vertical > .w-split-line-bar div:active,\n.w-split-vertical > .w-split-line-bar div:focus {\n margin-top: -6px;\n margin-bottom: -6px;\n height: 6px;\n}\n.w-split-vertical > .w-split-line-bar div:hover::after,\n.w-split-vertical > .w-split-line-bar div:active::after,\n.w-split-vertical > .w-split-line-bar div:focus::after {\n background-color: #008EF0;\n}\n.w-split-vertical > .w-split-line-bar div::after {\n height: 1px;\n width: 100%;\n}\n.w-split-horizontal > .w-split-line-bar {\n width: 1px;\n}\n.w-split-horizontal > .w-split-line-bar div {\n cursor: col-resize;\n height: 100%;\n width: 8px;\n margin-left: -2px;\n margin-right: -2px;\n}\n.w-split-horizontal > .w-split-line-bar div:hover,\n.w-split-horizontal > .w-split-line-bar div:active,\n.w-split-horizontal > .w-split-line-bar div:focus {\n margin-left: -6px;\n margin-right: -6px;\n width: 6px;\n}\n.w-split-horizontal > .w-split-line-bar div:hover::after,\n.w-split-horizontal > .w-split-line-bar div:active::after,\n.w-split-horizontal > .w-split-line-bar div:focus::after {\n background-color: #008EF0;\n}\n.w-split-horizontal > .w-split-line-bar div::after {\n width: 1px;\n height: 100%;\n}\n.w-split-vertical > .w-split-line-bar,\n.w-split-horizontal > .w-split-line-bar {\n flex-direction: inherit;\n}\n.w-split-vertical > .w-split-line-bar::before,\n.w-split-horizontal > .w-split-line-bar::before {\n display: none;\n}\n.w-split-vertical > .w-split-line-bar div,\n.w-split-horizontal > .w-split-line-bar div {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.w-split-vertical > .w-split-line-bar div::after,\n.w-split-horizontal > .w-split-line-bar div::after {\n content: '';\n display: block;\n background-color: #d5d5d5;\n}\n.w-split-line-bar {\n box-shadow: inset 0 0 0 0 !important;\n background: transparent;\n}\n.w-split-line-bar::before {\n box-shadow: inset 0 0 0 0 !important;\n}\n.w-split-line-bar::after {\n display: none;\n}\n",".w-steps {\n font-size: 0;\n width: 100%;\n line-height: 1.5;\n}\n.w-steps .w-steps-item {\n position: relative;\n display: inline-block;\n vertical-align: top;\n}\n.w-steps .w-steps-item:last-child .w-steps-item-tail {\n display: none;\n text-align: center;\n}\n.w-steps .w-steps-item-tail {\n position: absolute;\n left: 0;\n width: 100%;\n top: 13px;\n padding: 0 10px;\n height: 1px;\n}\n.w-steps .w-steps-item-tail i {\n display: block;\n width: 100%;\n height: 100%;\n position: relative;\n background-color: #e9e9e9;\n}\n.w-steps .w-steps-item-tail i:after {\n position: absolute;\n content: ' ';\n top: 0;\n width: 0;\n height: 100%;\n transition: all 0.6s;\n}\n.w-steps .w-steps-item-head,\n.w-steps .w-steps-item-main {\n position: relative;\n display: inline-block;\n vertical-align: top;\n}\n.w-steps .w-steps-item-head {\n padding-left: 10px;\n background: #fff;\n}\n.w-steps .w-steps-item-head:not(:first-child) {\n margin-left: -10px;\n}\n.w-steps .w-steps-item-title {\n padding-right: 10px;\n line-height: 26px;\n font-size: 14px;\n font-weight: 700;\n background: #fff;\n color: #999;\n display: inline-block;\n}\n.w-steps .w-steps-item-description {\n font-size: 12px;\n color: #999;\n max-width: 130px;\n}\n.w-steps .w-steps-item-inner {\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid rgba(0, 0, 0, 0.25);\n color: rgba(0, 0, 0, 0.25);\n background-color: #fff;\n width: 26px;\n height: 26px;\n line-height: 26px;\n text-align: center;\n border-radius: 26px;\n font-size: 14px;\n margin-right: 8px;\n transition: background-color 0.3s ease, border-color 0.3s ease;\n}\n.w-steps .w-steps-item-process .w-steps-item-inner,\n.w-steps .w-steps-item-finish .w-steps-item-inner {\n border-color: #2d8cf0;\n background-color: #2d8cf0;\n color: #fff;\n}\n.w-steps .w-steps-item-process .w-steps-item-inner.is-icon .w-steps-icon,\n.w-steps .w-steps-item-finish .w-steps-item-inner.is-icon .w-steps-icon {\n color: #108ee9;\n}\n.w-steps .w-steps-item-process [class^='w-icon-'],\n.w-steps .w-steps-item-finish [class^='w-icon-'],\n.w-steps .w-steps-item-process [class*=' w-icon-'],\n.w-steps .w-steps-item-finish [class*=' w-icon-'] {\n vertical-align: middle;\n position: relative;\n top: -1px;\n}\n.w-steps .w-steps-item-finish .w-steps-item-tail i:after {\n background-color: #2d8cf0;\n width: 100%;\n}\n.w-steps .w-steps-item-process .w-steps-item-title,\n.w-steps .w-steps-item-process .w-steps-item-description {\n color: rgba(0, 0, 0, 0.65);\n}\n.w-steps .w-steps-item-error .w-steps-item-inner {\n color: #f04134;\n border-color: #f04134;\n background-color: #fff;\n}\n.w-steps .w-steps-item-error .w-steps-item-title,\n.w-steps .w-steps-item-error .w-steps-item-description,\n.w-steps .w-steps-item-error .w-steps-icon,\n.w-steps .w-steps-item-error i[class^='w-icon-'] {\n color: #f04134;\n}\n.w-steps .w-steps-next-error .w-steps-item-tail i:after {\n background-color: #f04134;\n width: 100%;\n transition: all 0.6s;\n}\n.w-steps-custom .w-steps-item-inner.is-icon {\n background: none;\n border: 0;\n width: 26px;\n height: 26px;\n font-size: 26px;\n}\n.w-steps-dot .w-steps-item-main {\n display: block;\n text-align: center;\n}\n.w-steps-dot .w-steps-item-inner {\n margin: 0 auto;\n width: 7px;\n height: 7px;\n line-height: 5px;\n border: 0;\n}\n.w-steps-dot .w-steps-item-title {\n padding-top: 5px;\n}\n.w-steps-dot .w-steps-item-description {\n max-width: initial;\n}\n.w-steps-dot .w-steps-item-error .w-steps-item-tail i:after {\n background-color: #2d8cf0;\n}\n.w-steps-dot .w-steps-item-error .w-steps-item-inner {\n background: #f04134;\n}\n.w-steps-dot .w-steps-item-error .w-steps-item-tail {\n padding-right: 50%;\n background: #e9e9e9;\n}\n.w-steps-dot .w-steps-item-error .w-steps-item-tail i:after {\n background-color: #f04134;\n width: 100%;\n}\n.w-steps-dot .w-steps-item-finish.w-steps-next-error .w-steps-item-tail i:after {\n background-color: #2d8cf0;\n}\n.w-steps-dot .w-steps-item-wait .w-steps-item-inner {\n border-color: rgba(0, 0, 0, 0.25);\n background-color: rgba(0, 0, 0, 0.25);\n}\n.w-steps-dot .w-steps-item-wait .w-steps-item-inner .w-steps-dot {\n background: rgba(0, 0, 0, 0.25);\n}\n.w-steps-dot .w-steps-item-process .w-steps-item-tail {\n padding-right: 50%;\n background: #e9e9e9;\n}\n.w-steps-dot .w-steps-item-process .w-steps-item-tail i:after {\n background-color: #2d8cf0;\n width: 100%;\n}\n.w-steps-dot .w-steps-item-tail {\n padding: 0;\n width: 100%;\n position: initial;\n height: 2px;\n}\n.w-steps-dot .w-steps-item:first-child .w-steps-item-tail {\n padding-left: 50%;\n}\n.w-steps-dot .w-steps-item:last-child .w-steps-item-tail {\n display: block;\n padding-right: 50%;\n}\n.w-steps-dot .w-steps-item-head:not(:first-child) {\n margin-left: 0;\n padding-left: 0;\n text-align: center;\n display: block;\n}\n.w-steps-dot .w-steps-item-head {\n background: transparent;\n margin-top: -4px;\n}\n.w-steps-dot .w-steps-item-head .is-icon {\n margin-left: -10px !important;\n background-color: transparent;\n}\n.w-steps-dot.w-steps-vertical .w-steps-item:last-child .w-steps-item-tail {\n display: none;\n}\n.w-steps-dot.w-steps-vertical .w-steps-item .w-steps-item-tail {\n position: absolute;\n left: 3px;\n padding: 0 0 21px;\n}\n.w-steps-dot.w-steps-vertical .w-steps-item-inner {\n margin: 0;\n}\n.w-steps-dot.w-steps-vertical .w-steps-item-main {\n text-align: left;\n padding-left: 20px;\n padding-bottom: 24px;\n margin-top: -21px;\n}\n.w-steps-dot.w-steps-vertical .is-icon-main {\n margin-top: -35px;\n}\n.w-steps-dot.w-steps-vertical .w-steps-next-error .w-steps-item-tail i:after {\n background-color: #f04134;\n}\n.w-steps-dot.w-steps-vertical .w-steps-item-error .w-steps-item-tail {\n background-color: transparent;\n}\n.w-steps-dot.w-steps-vertical .w-steps-item-error .w-steps-item-tail i:after {\n background-color: transparent;\n}\n.w-steps-vertical > .w-steps-item {\n display: block;\n}\n.w-steps-vertical > .w-steps-item > .w-steps-item-tail {\n height: 100%;\n width: 1px;\n padding: 18px 0;\n left: 13px;\n}\n.w-steps-vertical .w-steps-item-main {\n padding-bottom: 12px;\n overflow: hidden;\n}\n.w-steps-vertical .w-steps-item .w-steps-item-main .w-steps-item-description {\n max-width: inherit;\n}\n",".w-slider {\n width: -webkit-fill-available;\n width: stretch;\n height: 4px;\n margin: 13px 7px;\n background-color: #e4e8f1;\n border-radius: 3px;\n position: relative;\n font-size: 12px;\n cursor: pointer;\n -webkit-user-select: none;\n user-select: none;\n vertical-align: middle;\n}\n.w-slider-bar {\n height: 4px;\n border-radius: 3px;\n background-color: #008ef0;\n position: absolute;\n}\n.w-slider.disabled,\n.w-slider.disabled .w-slider-mark > div {\n cursor: not-allowed;\n}\n.w-slider.disabled .w-slider-bar {\n background-color: #bdc2cc;\n}\n.w-slider.disabled .w-slider-handle {\n background-color: #e6e6e6;\n box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 0px 0px rgba(16, 22, 26, 0.2);\n}\n.w-slider-handle {\n left: 0%;\n width: 14px;\n height: 14px;\n position: absolute;\n z-index: 1;\n margin-top: -5px;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%);\n box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2);\n background-color: #f5f8fa;\n background-image: linear-gradient(180deg, hsla(0, 0%, 100%, 0.8), hsla(0, 0%, 100%, 0));\n border-radius: 50%;\n transition: all 0.3;\n}\n.w-slider-dots > div {\n position: absolute;\n width: 4px;\n height: 4px;\n border-radius: 100%;\n background-color: #fff;\n box-shadow: 0 0 0 1.6px rgba(16, 22, 26, 0.16);\n top: 0px;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%);\n}\n.w-slider:not(.disabled) .w-slider-handle:active {\n background-color: #d8e1e8;\n transition: all 0.3;\n box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2), 0px 0px 0px 2px rgba(0, 0, 0, 0.1);\n}\n.w-slider:not(.disabled) .w-slider-handle:hover .w-slider-tooltip,\n.w-slider:not(.disabled) .w-slider-handle:focus .w-slider-tooltip,\n.w-slider:not(.disabled) .w-slider-handle:active .w-slider-tooltip {\n display: inline-block;\n}\n.w-slider-tooltip {\n display: none;\n font-size: 12px;\n position: absolute;\n background-color: rgba(0, 0, 0, 0.75);\n color: #fff;\n padding: 0px 4px;\n margin-top: -3px;\n border-radius: 3px;\n -webkit-transform: translate(-50%, -100%);\n transform: translate(-50%, -100%);\n margin-left: 6px;\n}\n.w-slider-tooltip.open {\n display: inline-block;\n}\n.w-slider-with-marks {\n margin-bottom: 24px;\n}\n.w-slider-mark.no-marks {\n display: none;\n}\n.w-slider-mark > div {\n margin-bottom: -50%;\n margin-left: 3px;\n padding: 0 3px;\n position: absolute;\n display: inline-block;\n vertical-align: middle;\n text-align: center;\n cursor: pointer;\n -webkit-transform: translate(-50%, 50%);\n transform: translate(-50%, 50%);\n color: rgba(0, 0, 0, 0.43);\n}\n.w-slider-vertical {\n height: 100%;\n height: -webkit-fill-available;\n height: stretch;\n width: 4px;\n margin: 7px 13px;\n}\n.w-slider-vertical .w-slider-dots > div {\n left: 2px;\n}\n.w-slider-vertical .w-slider-bar {\n width: 4px;\n height: initial;\n}\n.w-slider-vertical .w-slider-handle {\n margin-left: 2px;\n}\n.w-slider-vertical .w-slider-mark > div {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%);\n padding: 0;\n margin-left: 12px;\n margin-top: 2px;\n}\n",".w-switch {\n vertical-align: middle;\n font-size: 12px;\n cursor: pointer;\n}\n.w-switch input[type='checkbox'] {\n cursor: pointer;\n white-space: nowrap;\n position: relative;\n min-width: 35px;\n height: 20px;\n margin: 0 !important;\n background-clip: border-box;\n background-color: #dfdfdf;\n -webkit-appearance: none;\n appearance: none;\n outline: 0;\n font-size: 12px;\n border-radius: 16px;\n transition: all 0.3s;\n box-shadow: inset 0 1px 2px rgba(16, 22, 26, 0.2);\n}\n.w-switch input[type='checkbox']:before,\n.w-switch input[type='checkbox']:after {\n display: inline-block;\n vertical-align: middle;\n}\n.w-switch input[type='checkbox']:before {\n content: attr(data-checked);\n transition: all 0.3s;\n padding: 0 21px 0 6px;\n color: #fff;\n line-height: 20px;\n}\n.w-switch input[type='checkbox']:checked {\n background-color: #008ef0;\n}\n.w-switch input[type='checkbox']:checked:after {\n right: 2px;\n margin-right: 0;\n}\n.w-switch input[type='checkbox']:checked:before {\n content: attr(data-unchecked);\n}\n.w-switch input[type='checkbox']:not(:checked):before {\n padding: 0 6px 0 21px;\n color: #393e48;\n}\n.w-switch input[type='checkbox']:after {\n content: ' ';\n position: absolute;\n margin-right: -18px;\n right: 100%;\n margin-top: 2px;\n margin-left: 1px;\n height: 16px;\n width: 16px;\n border-radius: 50%;\n transition: all 0.2s;\n background-color: #fff;\n box-shadow: 0 1px 2px 0 rgba(0, 35, 11, 0.2);\n}\n.w-switch input[type='checkbox']:disabled {\n cursor: not-allowed;\n opacity: 0.45;\n}\n.w-switch input[type='checkbox']:focus {\n box-shadow: 0 0 0 2px rgba(0, 142, 240, 0.25), inset 0 1px 2px rgba(16, 22, 26, 0.2);\n}\n.w-switch.disabled {\n cursor: not-allowed;\n}\n.w-switch-large input[type='checkbox'] {\n min-width: 38px;\n height: 24px;\n}\n.w-switch-large input[type='checkbox']::after {\n margin-right: -22px;\n height: 20px;\n width: 20px;\n}\n.w-switch-large input[type='checkbox']:before {\n padding: 0 25px 0 8px;\n margin-top: 0;\n line-height: 24px;\n font-size: 16px;\n}\n.w-switch-large input[type='checkbox']:not(:checked):before {\n padding: 0 8px 0 25px;\n}\n.w-switch-small {\n font-size: 12px;\n}\n.w-switch-small input[type='checkbox'] {\n min-width: 15px;\n height: 16px;\n}\n.w-switch-small input[type='checkbox']::after {\n margin-right: -14px;\n height: 12px;\n width: 12px;\n}\n.w-switch-small input[type='checkbox']:before {\n padding: 0 16px 0 6px;\n line-height: 16px;\n}\n.w-switch-small input[type='checkbox']:not(:checked):before {\n padding: 0 6px 0 16px;\n}\n.w-switch-text,\n.w-switch input[type='checkbox'] {\n vertical-align: middle;\n}\n.w-switch-text {\n display: inline-block;\n margin-left: 5px;\n}\n",".w-table {\n width: 100%;\n overflow: auto;\n}\n.w-table > table {\n display: table !important;\n margin: 0 !important;\n width: 100% !important;\n border-spacing: 0;\n border-collapse: collapse;\n}\n.w-table > table tr > th,\n.w-table > table tr > td {\n border: 0;\n padding: 5px 8px;\n border-bottom: 1px solid #e8e8e8;\n}\n.w-table > table tr {\n background-color: transparent;\n}\n.w-table > table > caption {\n text-align: left;\n padding: 10px 8px;\n}\n.w-table > table > tbody > tr {\n transition: all 0.3s;\n}\n.w-table > table > tbody > tr > td {\n background-color: #fff;\n position: relative;\n z-index: 1;\n}\n.w-table > table > tbody > tr:hover > td,\n.w-table > table > tbody > tr:hover:nth-child(2n) > td {\n background-color: #efefef;\n}\n.w-table > table > tbody > tr:nth-child(2n) > td {\n background-color: #f9f9f9;\n}\n.w-table > table > thead > tr > th {\n font-weight: normal;\n padding: 8px;\n background-color: #f6f9fb;\n position: relative;\n z-index: 1;\n}\n.w-table > table > thead > tr,\n.w-table > table > thead tr:nth-child(2n) {\n background-color: #f6f9fb;\n border: transparent;\n}\n.w-table-ellipsis {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n word-break: keep-all;\n display: block;\n}\n.w-table-tr-children-center {\n text-align: center;\n}\n.w-table-tr-children-left {\n text-align: left;\n}\n.w-table-tr-children-right {\n text-align: right;\n}\n.w-table-fixed-true {\n position: -webkit-sticky !important;\n position: sticky !important;\n z-index: 2 !important;\n}\n.w-table-fixed-right {\n position: -webkit-sticky !important;\n position: sticky !important;\n z-index: 2 !important;\n}\n.w-table-fixed-true::after {\n box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.15);\n position: absolute;\n top: 0;\n right: 0;\n bottom: -1px;\n width: 30px;\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n transition: box-shadow 0.3s;\n content: '';\n pointer-events: none;\n}\n.w-table-fixed-true::before {\n content: '';\n position: absolute;\n left: -1px;\n top: 0;\n bottom: 0;\n border-left: 1px solid #dfe2e5;\n}\n.w-table-fixed-right::after {\n position: absolute;\n top: 0;\n bottom: -1px;\n left: 0;\n width: 30px;\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n transition: box-shadow 0.3s;\n content: '';\n pointer-events: none;\n border-right: 1px solid #f0f0f0;\n}\n.w-table-fixed-right-first::after {\n box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.15);\n}\n.w-table-fixed-right::before {\n content: '';\n position: absolute;\n right: -1px;\n top: 0;\n bottom: 0;\n border-right: 1px solid #dfe2e5;\n}\n.w-table-bordered > table tr > th,\n.w-table-bordered > table tr > td,\n.w-table-bordered > table > caption {\n border: 1px solid #dfe2e5;\n}\n.w-table-bordered > table > caption {\n border-bottom: 0;\n}\n.w-table-bordered .w-table-footer {\n border: 1px solid #dfe2e5;\n border-top: 0;\n}\n.w-table-footer {\n background: #fafafa;\n padding: 10px 8px;\n}\n",".w-tabs-bar {\n position: relative;\n overflow-x: auto;\n height: calc(100% + 17px);\n}\n.w-tabs-nav {\n position: relative;\n}\n.w-tabs-nav-hidden {\n display: flex;\n overflow-y: auto;\n padding: 5px 10px 5px 5px;\n max-height: 200px;\n flex-direction: column;\n}\n.w-tabs-nav-hidden :hover {\n background: #d9d9d9;\n}\n.w-tabs-item {\n padding: 7px 10px;\n display: inline-block;\n height: 100%;\n font-size: 14px;\n box-sizing: border-box;\n position: relative;\n cursor: pointer;\n text-decoration: none;\n transition: all 0.3s;\n}\n.w-tabs-item.active {\n color: #008ef0;\n}\n.w-tabs-item.disabled {\n cursor: not-allowed;\n -webkit-user-select: none;\n user-select: none;\n color: rgba(0, 0, 0, 0.25);\n}\n.w-tabs-flow-content {\n margin-left: 5px;\n padding: 0px 10px 0px 10px;\n box-shadow: 1px 0px 0px #d9d9d9 inset;\n cursor: pointer;\n}\n.w-tabs-card > div > div > .w-tabs-bar > .w-tabs-nav::after,\n.w-tabs-line > div > div > .w-tabs-bar > .w-tabs-nav::after {\n content: '';\n position: relative;\n display: block;\n border-bottom: 1px solid #d9d9d9;\n}\n.w-tabs-line > div > div > .w-tabs-bar > .w-tabs-nav > .w-tabs-slide {\n background-color: #108ee9;\n box-sizing: border-box;\n bottom: 0;\n position: absolute;\n height: 1px;\n left: 0;\n width: 20px;\n z-index: 1;\n transition: all 0.3s;\n}\n.w-tabs-card > div > div > .w-tabs-bar > .w-tabs-nav::after {\n content: '';\n position: relative;\n display: block;\n border-bottom: 1px solid #d9d9d9;\n}\n.w-tabs-card > div > div > .w-tabs-bar > .w-tabs-nav > .w-tabs-item {\n margin: 0;\n border: 1px solid #d9d9d9;\n border-bottom: 0;\n padding: 7px 16px;\n border-radius: 4px 4px 0 0;\n background: #f9f9f9;\n margin-right: 5px;\n bottom: -1px;\n}\n.w-tabs-card > div > div > .w-tabs-bar > .w-tabs-nav > .w-tabs-item.active {\n background: #fff;\n z-index: 1;\n}\n",".w-textarea {\n position: relative;\n font-size: 14px;\n outline: none;\n border: none;\n border-radius: 3px;\n box-shadow: 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n background: #fff;\n padding: 5px 10px;\n vertical-align: middle;\n height: auto;\n min-height: 30px;\n color: #393e48;\n font-weight: 400;\n max-width: 100%;\n min-width: 100%;\n width: 100%;\n transition: box-shadow 0.1s cubic-bezier(0.4, 1, 0.75, 0.9);\n -webkit-appearance: none;\n appearance: none;\n}\n.w-textarea:not(:first-child) {\n padding-left: 30px;\n}\n.w-textarea:focus {\n box-shadow: 0 0 0 1px #393e48, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-textarea:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-textarea:focus.w-textarea:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-textarea:disabled {\n box-shadow: none;\n background: #dddddd;\n opacity: 0.75;\n color: #a5a5a5;\n cursor: not-allowed;\n resize: none;\n}\n",".w-tooltip {\n position: relative;\n display: inline-block;\n}\n.w-tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.w-tooltip-inner {\n font-size: 12px;\n max-width: 250px;\n padding: 5px 10px;\n display: block;\n color: #fff;\n text-align: left;\n text-decoration: none;\n background-color: rgba(0, 0, 0, 0.75);\n border-radius: 4px;\n box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);\n word-break: break-all;\n}\n.w-tooltip.right .w-tooltip-arrow,\n.w-tooltip.rightTop .w-tooltip-arrow,\n.w-tooltip.rightBottom .w-tooltip-arrow {\n border-right-color: rgba(0, 0, 0, 0.75);\n border-width: 5px 5px 5px 0;\n left: 0;\n margin-top: -5px;\n top: 50%;\n}\n.w-tooltip.left .w-tooltip-arrow,\n.w-tooltip.leftTop .w-tooltip-arrow,\n.w-tooltip.leftBottom .w-tooltip-arrow {\n border-left-color: rgba(0, 0, 0, 0.75);\n border-width: 5px 0 5px 5px;\n margin-top: -5px;\n right: 0;\n top: 50%;\n}\n.w-tooltip.leftTop .w-tooltip-arrow,\n.w-tooltip.rightTop .w-tooltip-arrow {\n top: 15px;\n}\n.w-tooltip.leftBottom .w-tooltip-arrow,\n.w-tooltip.rightBottom .w-tooltip-arrow {\n bottom: 10px;\n top: auto;\n}\n.w-tooltip.top .w-tooltip-arrow,\n.w-tooltip.topLeft .w-tooltip-arrow,\n.w-tooltip.topRight .w-tooltip-arrow {\n border-top-color: rgba(0, 0, 0, 0.75);\n border-width: 5px 5px 0;\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n}\n.w-tooltip.bottom .w-tooltip-arrow,\n.w-tooltip.bottomLeft .w-tooltip-arrow,\n.w-tooltip.bottomRight .w-tooltip-arrow {\n border-bottom-color: rgba(0, 0, 0, 0.75);\n border-width: 0 5px 5px;\n left: 50%;\n margin-left: -5px;\n top: 0;\n}\n.w-tooltip.bottomLeft .w-tooltip-arrow,\n.w-tooltip.topLeft .w-tooltip-arrow {\n left: 15px;\n}\n.w-tooltip.bottomRight .w-tooltip-arrow,\n.w-tooltip.topRight .w-tooltip-arrow {\n right: 10px;\n left: auto;\n}\n.w-tooltip.bottom,\n.w-tooltip.bottomLeft,\n.w-tooltip.bottomRight {\n padding-top: 5px;\n}\n.w-tooltip.top,\n.w-tooltip.topLeft,\n.w-tooltip.topRight {\n padding-bottom: 5px;\n}\n.w-tooltip.right,\n.w-tooltip.rightTop,\n.w-tooltip.rightBottom {\n padding-left: 5px;\n}\n.w-tooltip.left,\n.w-tooltip.leftTop,\n.w-tooltip.leftBottom {\n padding-right: 5px;\n}\n.w-tooltip.no-arrow {\n padding: 0 !important;\n}\n",".w-tree {\n font-size: 14px;\n}\n.w-tree ul {\n padding: 0 !important;\n transition: 0.3s all;\n overflow: hidden;\n margin: 0;\n}\n.w-tree ul ul {\n padding-left: 18px !important;\n margin-bottom: 0;\n}\n.w-tree li {\n list-style: none !important;\n}\n.w-tree li + li {\n margin-top: 2px !important;\n}\n.w-tree li:first-child {\n padding-top: 3px;\n}\n.w-tree-close {\n height: 0;\n}\n.w-tree-label .no-child:not(.w-tree-switcher-noop) svg {\n display: none;\n}\n.w-tree-label {\n line-height: initial;\n}\n.w-tree-label > * {\n vertical-align: middle;\n}\n.w-tree-switcher {\n cursor: pointer;\n position: relative;\n z-index: 1;\n width: 14px;\n height: 14px;\n line-height: 14px;\n display: inline-block;\n text-align: center;\n}\n.w-tree-switcher:hover {\n color: #2ea3f4;\n}\n.w-tree-switcher .w-icon {\n transition: 0.3s all;\n -webkit-transform: scale(0.79) rotate(0deg);\n transform: scale(0.79) rotate(0deg);\n}\n.w-tree-switcher .w-icon.open:not(.no-animation) {\n -webkit-transform: scale(0.79) rotate(90deg) !important;\n transform: scale(0.79) rotate(90deg) !important;\n}\n.w-tree-title {\n display: inline-block;\n padding: 2px 5px;\n cursor: pointer;\n}\n.w-tree-title > * {\n vertical-align: middle;\n}\n.w-tree-disabled-mouse {\n cursor: not-allowed;\n}\n.w-tree-disabled-ele {\n color: #00000040;\n}\n.w-tree-title.selected {\n background-color: #d5e8fc;\n}\n.w-tree-line li {\n position: relative;\n}\n.w-tree-line li li:before,\n.w-tree-line li li::after {\n content: ' ';\n border-left: 1px solid #d9d9d9;\n left: -12px;\n position: absolute;\n}\n.w-tree-line li li::after {\n height: 100%;\n top: 5px;\n}\n.w-tree-line li li:last-child::after {\n height: 16px;\n top: -18px;\n}\n.w-tree-line li li:before {\n content: ' ';\n width: 10px;\n height: 16px;\n border-bottom: 1px solid #d9d9d9;\n top: -2px;\n}\n.w-tree-line li li:last-child::before {\n border-radius: 0 0 0 3px;\n}\n",".w-treechecked-checked {\n margin-right: 5px;\n}\n",".w-search-tree-input-contents {\n flex: 1;\n top: 1px;\n}\n.w-search-tree-input-contents input {\n box-shadow: none;\n padding: 0px;\n height: 20px;\n min-width: 50px;\n}\n.w-search-tree-input-contents .w-input-inner:hover {\n box-shadow: none !important;\n}\n.w-search-tree-input-contents .w-input-inner:focus {\n box-shadow: none !important;\n}\n.w-search-tree-inner {\n display: flex;\n justify-content: space-between;\n outline: none;\n border: none;\n align-items: center;\n border-radius: 3px;\n box-shadow: 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n box-sizing: border-box;\n background: #fff;\n min-height: 30px;\n margin: 0 !important;\n padding: 3px 10px 3px 10px;\n vertical-align: middle;\n line-height: 30px;\n color: #393e48;\n font-weight: 400;\n font-size: inherit;\n transition: box-shadow 0.3s cubic-bezier(0.4, 1, 0.75, 0.9);\n -webkit-appearance: none;\n appearance: none;\n}\n.w-search-tree-inner:focus {\n box-shadow: 0 0 0 1px #393e48, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-search-tree-inner:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-search-tree-inner:focus.w-search-tree-inner:hover {\n box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);\n}\n.w-search-tree-inner:disabled {\n box-shadow: none;\n background: #dddddd;\n opacity: 0.75;\n color: #a5a5a5;\n cursor: not-allowed;\n resize: none;\n}\n.w-search-tree-inner-close-tag-contents {\n width: 14px;\n display: flex;\n align-content: center;\n}\n.w-search-tree-inner-inner-small {\n height: 20px;\n}\n.w-search-tree-inner-inner-large {\n height: 30px;\n}\n.w-search-tree-inner .w-input-small .w-input-inner {\n height: 16px;\n font-size: 10px;\n padding: 0px;\n}\n.w-search-tree-inner .w-input-large .w-input-inner {\n height: 28px;\n}\n",".w-transfer {\n display: flex;\n justify-content: space-between;\n}\n.w-transfer-card {\n width: 50%;\n}\n.w-transfer-cheked-content {\n height: 200px;\n overflow-y: auto;\n}\n.w-transfer-arrow-content {\n width: 50px;\n height: 50px;\n display: flex;\n flex-direction: column;\n align-self: center;\n justify-content: space-between;\n}\n.w-transfer-arrow {\n transition: all 0.3s;\n border-radius: 3px;\n}\n.w-transfer-arrow:hover {\n cursor: pointer;\n box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/babel-standalone-vendor.ce7e7bf6.js b/static/js/babel-standalone-vendor.ce7e7bf6.js deleted file mode 100644 index 6685234d..00000000 --- a/static/js/babel-standalone-vendor.ce7e7bf6.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkwww=self.webpackChunkwww||[]).push([[167],{872:function(e,t,r){!function(e){"use strict";function t(e,t){return t.forEach((function(t){t&&"string"!==typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(r){if("default"!==r&&!(r in e)){var a=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,a.get?a:{enumerable:!0,get:function(){return t[r]}})}}))})),Object.freeze(e)}var a=Object.freeze({__proto__:null,get DEFAULT_EXTENSIONS(){return M3},get File(){return rQ},get buildExternalHelpers(){return AQ},get createConfigItem(){return A4},get createConfigItemAsync(){return T4},get createConfigItemSync(){return P4},get getEnv(){return HQ},get loadOptions(){return w4},get loadOptionsAsync(){return j4},get loadOptionsSync(){return E4},get loadPartialConfig(){return v4},get loadPartialConfigAsync(){return h4},get loadPartialConfigSync(){return b4},get parse(){return D3},get parseAsync(){return N3},get parseSync(){return O3},get resolvePlugin(){return qQ},get resolvePreset(){return WQ},get template(){return tq},get tokTypes(){return cF},get transform(){return j3},get transformAsync(){return w3},get transformFile(){return S3},get transformFileAsync(){return P3},get transformFileSync(){return T3},get transformFromAst(){return k3},get transformFromAstAsync(){return _3},get transformFromAstSync(){return C3},get transformSync(){return E3},get traverse(){return XH},get types(){return Rx},get version(){return B3}});function n(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var a,n,s,i,o=[],d=!0,c=!1;try{if(s=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;d=!1}else for(;!(d=(a=s.call(r)).done)&&(o.push(a.value),o.length!==t);d=!0);}catch(l){c=!0,n=l}finally{try{if(!d&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(c)throw n}}return o}}function s(){s=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,a=Object.defineProperty||function(e,t,r){e[t]=r.value},n="function"==typeof Symbol?Symbol:{},i=n.iterator||"@@iterator",o=n.asyncIterator||"@@asyncIterator",d=n.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(A){c=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var s=t&&t.prototype instanceof f?t:f,i=Object.create(s.prototype),o=new T(n||[]);return a(i,"_invoke",{value:j(e,r,o)}),i}function u(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(A){return{type:"throw",arg:A}}}e.wrap=l;var p={};function f(){}function g(){}function m(){}var y={};c(y,i,(function(){return this}));var h=Object.getPrototypeOf,b=h&&h(h(P([])));b&&b!==t&&r.call(b,i)&&(y=b);var v=m.prototype=f.prototype=Object.create(y);function R(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function x(e,t){function n(a,s,i,o){var d=u(e[a],e,s);if("throw"!==d.type){var c=d.arg,l=c.value;return l&&"object"==typeof l&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,i,o)}),(function(e){n("throw",e,i,o)})):t.resolve(l).then((function(e){c.value=e,i(c)}),(function(e){return n("throw",e,i,o)}))}o(d.arg)}var s;a(this,"_invoke",{value:function(e,r){function a(){return new t((function(t,a){n(e,r,t,a)}))}return s=s?s.then(a,a):a()}})}function j(e,t,r){var a="suspendedStart";return function(n,s){if("executing"===a)throw new Error("Generator is already running");if("completed"===a){if("throw"===n)throw s;return{value:void 0,done:!0}}for(r.method=n,r.arg=s;;){var i=r.delegate;if(i){var o=E(i,r);if(o){if(o===p)continue;return o}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===a)throw a="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);a="executing";var d=u(e,t,r);if("normal"===d.type){if(a=r.done?"completed":"suspendedYield",d.arg===p)continue;return{value:d.arg,done:r.done}}"throw"===d.type&&(a="completed",r.method="throw",r.arg=d.arg)}}}function E(e,t){var r=t.method,a=e.iterator[r];if(void 0===a)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,E(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),p;var n=u(a,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,p;var s=n.arg;return s?s.done?(t[e.resultName]=s.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,p):s:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,p)}function w(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(w,this),this.reset(!0)}function P(e){if(e||""===e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var a=-1,n=function t(){for(;++a=0;--n){var s=this.tryEntries[n],i=s.completion;if("root"===s.tryLoc)return a("end");if(s.tryLoc<=this.prev){var o=r.call(s,"catchLoc"),d=r.call(s,"finallyLoc");if(o&&d){if(this.prev=0;--a){var n=this.tryEntries[a];if(n.tryLoc<=this.prev&&r.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),S(r),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var a=r.completion;if("throw"===a.type){var n=a.arg;S(r)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:P(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},e}function i(e,t,r,a,n,s,i){try{var o=e[s](i),d=o.value}catch(i1){return void r(i1)}o.done?t(d):Promise.resolve(d).then(a,n)}function o(e){return function(){var t=this,r=arguments;return new Promise((function(a,n){var s=e.apply(t,r);function o(e){i(s,a,n,o,d,"next",e)}function d(e){i(s,a,n,o,d,"throw",e)}o(void 0)}))}}function d(e,t){for(var r=0;r=0||(n[r]=e[r]);return n}function b(e,t){if(null==e)return{};var r,a,n=h(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function v(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function R(e,t){return t||(t=e.slice(0)),e.raw=t,e}function x(e,t){return w(e)||n(e,t)||T(e,t)||k()}function j(e){return E(e)||S(e)||T(e)||A()}function E(e){if(Array.isArray(e))return P(e)}function w(e){if(Array.isArray(e))return e}function S(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function T(e,t){if(e){if("string"===typeof e)return P(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?P(e,t):void 0}}function P(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _(e,t){if("object"!==typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!==typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function I(e){var t=_(e,"string");return"symbol"===typeof t?t:String(t)}var D=["Identifier","JSXIdentifier"],O=["MemberExpression"],N=["Identifier"],B=["Statement"],M=["Expression"],L=["Scopable","Pattern"],F=null,U=null,q=["VariableDeclaration"],W=null,G=null,V=null,H=["Flow","ImportDeclaration","ExportDeclaration","ImportSpecifier"],K=["RestElement"],z=["RestElement"],Y=["ExistsTypeAnnotation"],X=["NumberLiteralTypeAnnotation"],J=["ForOfStatement"],$=Object.freeze({__proto__:null,BindingIdentifier:N,BlockScoped:U,ExistentialTypeParam:Y,Expression:M,Flow:H,ForAwaitStatement:J,Generated:G,NumericLiteralTypeAnnotation:X,Pure:V,Referenced:F,ReferencedIdentifier:D,ReferencedMemberExpression:O,RestProperty:K,Scope:L,SpreadProperty:z,Statement:B,User:W,Var:q});function Q(e,t){for(var r=0,a=Object.keys(t);rn.length)return!1;for(var i=0,o=s.length-1;i1)for(var r=1;re)return!1;if((r+=t[a+1])>=e)return!0}return!1}function Hi(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&Ui.test(String.fromCharCode(e)):Vi(e,Wi)))}function Ki(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&qi.test(String.fromCharCode(e)):Vi(e,Wi)||Vi(e,Gi))))}function zi(e){for(var t=!0,r=0;r=48&&e<=57},so={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},io={bin:function(e){return 48===e||49===e},oct:function(e){return e>=48&&e<=55},dec:function(e){return e>=48&&e<=57},hex:function(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}};function oo(e,t,r,a,n,s){for(var i=r,o=a,d=n,c="",l=null,u=r,p=t.length;;){if(r>=p){s.unterminated(i,o,d),c+=t.slice(u,r);break}var f=t.charCodeAt(r);if(co(e,f,t,r)){c+=t.slice(u,r);break}if(92===f){c+=t.slice(u,r);var g=lo(t,r,a,n,"template"===e,s);null!==g.ch||l?c+=g.ch:l={pos:r,lineStart:a,curLine:n},r=g.pos,a=g.lineStart,n=g.curLine,u=r}else 8232===f||8233===f?(++n,a=++r):10===f||13===f?"template"===e?(c+=t.slice(u,r)+"\n",++r,13===f&&10===t.charCodeAt(r)&&++r,++n,u=a=r):s.unterminated(i,o,d):++r}return{pos:r,str:c,firstInvalidLoc:l,lineStart:a,curLine:n,containsInvalid:!!l}}function co(e,t,r,a){return"template"===e?96===t||36===t&&123===r.charCodeAt(a+1):t===("double"===e?34:39)}function lo(e,t,r,a,n,s){var i=!n;t++;var o=function(e){return{pos:t,ch:e,lineStart:r,curLine:a}},d=e.charCodeAt(t++);switch(d){case 110:return o("\n");case 114:return o("\r");case 120:var c,l=uo(e,t,r,a,2,!1,i,s);return c=l.code,t=l.pos,o(null===c?null:String.fromCharCode(c));case 117:var u,p=fo(e,t,r,a,i,s);return u=p.code,t=p.pos,o(null===u?null:String.fromCodePoint(u));case 116:return o("\t");case 98:return o("\b");case 118:return o("\v");case 102:return o("\f");case 13:10===e.charCodeAt(t)&&++t;case 10:r=t,++a;case 8232:case 8233:return o("");case 56:case 57:if(n)return o(null);s.strictNumericEscape(t-1,r,a);default:if(d>=48&&d<=55){var f=t-1,g=e.slice(f,t+2).match(/^[0-7]+/)[0],m=parseInt(g,8);m>255&&(g=g.slice(0,-1),m=parseInt(g,8)),t+=g.length-1;var y=e.charCodeAt(t);if("0"!==g||56===y||57===y){if(n)return o(null);s.strictNumericEscape(f,r,a)}return o(String.fromCharCode(m))}return o(String.fromCharCode(d))}}function uo(e,t,r,a,n,s,i,o){var d,c=t,l=po(e,t,r,a,16,n,s,!1,o,!i);return d=l.n,t=l.pos,null===d&&(i?o.invalidEscapeSequence(c,r,a):t=c-1),{code:d,pos:t}}function po(e,t,r,a,n,s,i,o,d,c){for(var l=t,u=16===n?so.hex:so.decBinOct,p=16===n?io.hex:10===n?io.dec:8===n?io.oct:io.bin,f=!1,g=0,m=0,y=null==s?1/0:s;m=97?h-97+10:h>=65?h-65+10:no(h)?h-48:1/0)>=n){if(b<=9&&c)return{n:null,pos:t};if(b<=9&&d.invalidDigit(t,r,a,n))b=0;else{if(!i)break;b=0,f=!0}}++t,g=g*n+b}else{var v=e.charCodeAt(t-1),R=e.charCodeAt(t+1);if(o){if(Number.isNaN(R)||!p(R)||u.has(v)||u.has(R)){if(c)return{n:null,pos:t};d.unexpectedNumericSeparator(t,r,a)}}else{if(c)return{n:null,pos:t};d.numericSeparatorInEscapeSequence(t,r,a)}++t}}return t===l||null!=s&&t-l!==s||f?{n:null,pos:t}:{n:g,pos:t}}function fo(e,t,r,a,n,s){var i;if(123===e.charCodeAt(t)){var o=uo(e,++t,r,a,e.indexOf("}",t)-t,!0,n,s);if(i=o.code,t=o.pos,++t,null!==i&&i>1114111){if(!n)return{code:null,pos:t};s.invalidCodePoint(t,r,a)}}else{var d=uo(e,t,r,a,4,!1,n,s);i=d.code,t=d.pos}return{code:i,pos:t}}var go=["consequent","body","alternate"],mo=["body","expressions"],yo=["left","init"],ho=["leadingComments","trailingComments","innerComments"],bo=["||","&&","??"],vo=["++","--"],Ro=[">","<",">=","<="],xo=["==","===","!=","!=="],jo=[].concat(xo,["in","instanceof"]),Eo=[].concat(j(jo),Ro),wo=["-","/","%","*","**","&","|",">>",">>>","<<","^"],So=["+"].concat(wo,j(Eo),["|>"]),To=["=","+="].concat(j(wo.map((function(e){return e+"="}))),j(bo.map((function(e){return e+"="})))),Po=["delete","!"],Ao=["+","-","~"],ko=["typeof"],Co=["void","throw"].concat(Po,Ao,ko),_o={optional:["typeAnnotation","typeParameters","returnType"],force:["start","loc","end"]},Io=Symbol.for("var used to be block scoped"),Do=Symbol.for("should not be considered a local binding"),Oo={},No={},Bo={},Mo={},Lo={},Fo={},Uo={};function qo(e){return Array.isArray(e)?"array":null===e?"null":typeof e}function Wo(e){return{validate:e}}function Go(e){return"string"===typeof e?Qo(e):Qo.apply(void 0,j(e))}function Vo(e){return Wo(Go(e))}function Ho(e){return{validate:e,optional:!0}}function Ko(e){return{validate:Go(e),optional:!0}}function zo(e){return ad(ed("array"),Jo(e))}function Yo(e){return zo(Go(e))}function Xo(e){return Wo(Yo(e))}function Jo(e){function t(t,r,a){if(Array.isArray(a))for(var n=0;n=2&&"type"in t[0]&&"array"===t[0].type&&!("each"in t[1]))throw new Error('An assertValueType("array") validator can only be followed by an assertEach(...) validator.');return a}var nd=["aliases","builder","deprecatedAlias","fields","inherits","visitor","validate"],sd=["default","optional","deprecated","validate"],id={};function od(){for(var e=arguments.length,t=new Array(e),r=0;r0:d&&"object"===typeof d)throw new Error("field defaults can only be primitives or empty arrays currently");a[i]={default:Array.isArray(d)?[]:d,optional:o.optional,deprecated:o.deprecated,validate:o.validate}}for(var c=t.visitor||r.visitor||[],l=t.aliases||r.aliases||[],u=t.builder||r.builder||t.visitor||[],p=0,f=Object.keys(t);p+s+1)throw new TypeError("RestElement must be last element of "+n)}}}),cd("ReturnStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:Qo("Expression"),optional:!0}}}),cd("SequenceExpression",{visitor:["expressions"],fields:{expressions:{validate:ad(ed("array"),Jo(Qo("Expression")))}},aliases:["Expression"]}),cd("ParenthesizedExpression",{visitor:["expression"],aliases:["Expression","ExpressionWrapper"],fields:{expression:{validate:Qo("Expression")}}}),cd("SwitchCase",{visitor:["test","consequent"],fields:{test:{validate:Qo("Expression"),optional:!0},consequent:{validate:ad(ed("array"),Jo(Qo("Statement")))}}}),cd("SwitchStatement",{visitor:["discriminant","cases"],aliases:["Statement","BlockParent","Scopable"],fields:{discriminant:{validate:Qo("Expression")},cases:{validate:ad(ed("array"),Jo(Qo("SwitchCase")))}}}),cd("ThisExpression",{aliases:["Expression"]}),cd("ThrowStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:Qo("Expression")}}}),cd("TryStatement",{visitor:["block","handler","finalizer"],aliases:["Statement"],fields:{block:{validate:ad(Qo("BlockStatement"),Object.assign((function(e){if(ki.env.BABEL_TYPES_8_BREAKING&&!e.handler&&!e.finalizer)throw new TypeError("TryStatement expects either a handler or finalizer, or both")}),{oneOfNodeTypes:["BlockStatement"]}))},handler:{optional:!0,validate:Qo("CatchClause")},finalizer:{optional:!0,validate:Qo("BlockStatement")}}}),cd("UnaryExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!0},argument:{validate:Qo("Expression")},operator:{validate:$o.apply(void 0,j(Co))}},visitor:["argument"],aliases:["UnaryLike","Expression"]}),cd("UpdateExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!1},argument:{validate:ki.env.BABEL_TYPES_8_BREAKING?Qo("Identifier","MemberExpression"):Qo("Expression")},operator:{validate:$o.apply(void 0,j(vo))}},visitor:["argument"],aliases:["Expression"]}),cd("VariableDeclaration",{builder:["kind","declarations"],visitor:["declarations"],aliases:["Statement","Declaration"],fields:{declare:{validate:ed("boolean"),optional:!0},kind:{validate:$o("var","let","const","using","await using")},declarations:{validate:ad(ed("array"),Jo(Qo("VariableDeclarator")))}},validate:function(e,t,r){if(ki.env.BABEL_TYPES_8_BREAKING&&Mi("ForXStatement",e,{left:r})&&1!==r.declarations.length)throw new TypeError("Exactly one VariableDeclarator is required in the VariableDeclaration of a "+e.type)}}),cd("VariableDeclarator",{visitor:["id","init"],fields:{id:{validate:function(){if(!ki.env.BABEL_TYPES_8_BREAKING)return Qo("LVal");var e=Qo("Identifier","ArrayPattern","ObjectPattern"),t=Qo("Identifier");return function(r,a,n){(r.init?e:t)(r,a,n)}}()},definite:{optional:!0,validate:ed("boolean")},init:{optional:!0,validate:Qo("Expression")}}}),cd("WhileStatement",{visitor:["test","body"],aliases:["Statement","BlockParent","Loop","While","Scopable"],fields:{test:{validate:Qo("Expression")},body:{validate:Qo("Statement")}}}),cd("WithStatement",{visitor:["object","body"],aliases:["Statement"],fields:{object:{validate:Qo("Expression")},body:{validate:Qo("Statement")}}}),cd("AssignmentPattern",{visitor:["left","right","decorators"],builder:["left","right"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},fd(),{left:{validate:Qo("Identifier","ObjectPattern","ArrayPattern","MemberExpression","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")},right:{validate:Qo("Expression")},decorators:{validate:ad(ed("array"),Jo(Qo("Decorator"))),optional:!0}})}),cd("ArrayPattern",{visitor:["elements","typeAnnotation"],builder:["elements"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},fd(),{elements:{validate:ad(ed("array"),Jo(Zo("null","PatternLike","LVal")))}})}),cd("ArrowFunctionExpression",{builder:["params","body","async"],visitor:["params","body","returnType","typeParameters"],aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},ld(),ud(),{expression:{validate:ed("boolean")},body:{validate:Qo("BlockStatement","Expression")},predicate:{validate:Qo("DeclaredPredicate","InferredPredicate"),optional:!0}})}),cd("ClassBody",{visitor:["body"],fields:{body:{validate:ad(ed("array"),Jo(Qo("ClassMethod","ClassPrivateMethod","ClassProperty","ClassPrivateProperty","ClassAccessorProperty","TSDeclareMethod","TSIndexSignature","StaticBlock")))}}}),cd("ClassExpression",{builder:["id","superClass","body","decorators"],visitor:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators"],aliases:["Scopable","Class","Expression"],fields:{id:{validate:Qo("Identifier"),optional:!0},typeParameters:{validate:Qo("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0},body:{validate:Qo("ClassBody")},superClass:{optional:!0,validate:Qo("Expression")},superTypeParameters:{validate:Qo("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:ad(ed("array"),Jo(Qo("TSExpressionWithTypeArguments","ClassImplements"))),optional:!0},decorators:{validate:ad(ed("array"),Jo(Qo("Decorator"))),optional:!0},mixins:{validate:Qo("InterfaceExtends"),optional:!0}}}),cd("ClassDeclaration",{inherits:"ClassExpression",aliases:["Scopable","Class","Statement","Declaration"],fields:{id:{validate:Qo("Identifier"),optional:!0},typeParameters:{validate:Qo("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0},body:{validate:Qo("ClassBody")},superClass:{optional:!0,validate:Qo("Expression")},superTypeParameters:{validate:Qo("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:ad(ed("array"),Jo(Qo("TSExpressionWithTypeArguments","ClassImplements"))),optional:!0},decorators:{validate:ad(ed("array"),Jo(Qo("Decorator"))),optional:!0},mixins:{validate:Qo("InterfaceExtends"),optional:!0},declare:{validate:ed("boolean"),optional:!0},abstract:{validate:ed("boolean"),optional:!0}},validate:function(){var e=Qo("Identifier");return function(t,r,a){ki.env.BABEL_TYPES_8_BREAKING&&(Mi("ExportDefaultDeclaration",t)||e(a,"id",a.id))}}()}),cd("ExportAllDeclaration",{builder:["source"],visitor:["source","attributes","assertions"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:{source:{validate:Qo("StringLiteral")},exportKind:Ho($o("type","value")),attributes:{optional:!0,validate:ad(ed("array"),Jo(Qo("ImportAttribute")))},assertions:{optional:!0,validate:ad(ed("array"),Jo(Qo("ImportAttribute")))}}}),cd("ExportDefaultDeclaration",{visitor:["declaration"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:{declaration:{validate:Qo("TSDeclareFunction","FunctionDeclaration","ClassDeclaration","Expression")},exportKind:Ho($o("value"))}}),cd("ExportNamedDeclaration",{builder:["declaration","specifiers","source"],visitor:["declaration","specifiers","source","attributes","assertions"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:{declaration:{optional:!0,validate:ad(Qo("Declaration"),Object.assign((function(e,t,r){if(ki.env.BABEL_TYPES_8_BREAKING&&r&&e.specifiers.length)throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration")}),{oneOfNodeTypes:["Declaration"]}),(function(e,t,r){if(ki.env.BABEL_TYPES_8_BREAKING&&r&&e.source)throw new TypeError("Cannot export a declaration from a source")}))},attributes:{optional:!0,validate:ad(ed("array"),Jo(Qo("ImportAttribute")))},assertions:{optional:!0,validate:ad(ed("array"),Jo(Qo("ImportAttribute")))},specifiers:{default:[],validate:ad(ed("array"),Jo(function(){var e=Qo("ExportSpecifier","ExportDefaultSpecifier","ExportNamespaceSpecifier"),t=Qo("ExportSpecifier");return ki.env.BABEL_TYPES_8_BREAKING?function(r,a,n){(r.source?e:t)(r,a,n)}:e}()))},source:{validate:Qo("StringLiteral"),optional:!0},exportKind:Ho($o("type","value"))}}),cd("ExportSpecifier",{visitor:["local","exported"],aliases:["ModuleSpecifier"],fields:{local:{validate:Qo("Identifier")},exported:{validate:Qo("Identifier","StringLiteral")},exportKind:{validate:$o("type","value"),optional:!0}}}),cd("ForOfStatement",{visitor:["left","right","body"],builder:["left","right","body","await"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:function(){if(!ki.env.BABEL_TYPES_8_BREAKING)return Qo("VariableDeclaration","LVal");var e=Qo("VariableDeclaration"),t=Qo("Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression");return function(r,a,n){Mi("VariableDeclaration",n)?e(r,a,n):t(r,a,n)}}()},right:{validate:Qo("Expression")},body:{validate:Qo("Statement")},await:{default:!1}}}),cd("ImportDeclaration",{builder:["specifiers","source"],visitor:["specifiers","source","attributes","assertions"],aliases:["Statement","Declaration","ImportOrExportDeclaration"],fields:{attributes:{optional:!0,validate:ad(ed("array"),Jo(Qo("ImportAttribute")))},assertions:{optional:!0,validate:ad(ed("array"),Jo(Qo("ImportAttribute")))},module:{optional:!0,validate:ed("boolean")},phase:{default:null,validate:$o("source","defer")},specifiers:{validate:ad(ed("array"),Jo(Qo("ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier")))},source:{validate:Qo("StringLiteral")},importKind:{validate:$o("type","typeof","value"),optional:!0}}}),cd("ImportDefaultSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:Qo("Identifier")}}}),cd("ImportNamespaceSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:Qo("Identifier")}}}),cd("ImportSpecifier",{visitor:["local","imported"],aliases:["ModuleSpecifier"],fields:{local:{validate:Qo("Identifier")},imported:{validate:Qo("Identifier","StringLiteral")},importKind:{validate:$o("type","typeof","value"),optional:!0}}}),cd("ImportExpression",{visitor:["source","options"],aliases:["Expression"],fields:{phase:{default:null,validate:$o("source","defer")},source:{validate:Qo("Expression")},options:{validate:Qo("Expression"),optional:!0}}}),cd("MetaProperty",{visitor:["meta","property"],aliases:["Expression"],fields:{meta:{validate:ad(Qo("Identifier"),Object.assign((function(e,t,r){if(ki.env.BABEL_TYPES_8_BREAKING){var a;switch(r.name){case"function":a="sent";break;case"new":a="target";break;case"import":a="meta"}if(!Mi("Identifier",e.property,{name:a}))throw new TypeError("Unrecognised MetaProperty")}}),{oneOfNodeTypes:["Identifier"]}))},property:{validate:Qo("Identifier")}}});var gd=function(){return{abstract:{validate:ed("boolean"),optional:!0},accessibility:{validate:$o("public","private","protected"),optional:!0},static:{default:!1},override:{default:!1},computed:{default:!1},optional:{validate:ed("boolean"),optional:!0},key:{validate:ad(function(){var e=Qo("Identifier","StringLiteral","NumericLiteral"),t=Qo("Expression");return function(r,a,n){(r.computed?t:e)(r,a,n)}}(),Qo("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","Expression"))}}},md=function(){return Object.assign({},ld(),gd(),{params:{validate:ad(ed("array"),Jo(Qo("Identifier","Pattern","RestElement","TSParameterProperty")))},kind:{validate:$o("get","set","method","constructor"),default:"method"},access:{validate:ad(ed("string"),$o("public","private","protected")),optional:!0},decorators:{validate:ad(ed("array"),Jo(Qo("Decorator"))),optional:!0}})};cd("ClassMethod",{aliases:["Function","Scopable","BlockParent","FunctionParent","Method"],builder:["kind","key","params","body","computed","static","generator","async"],visitor:["key","params","body","decorators","returnType","typeParameters"],fields:Object.assign({},md(),ud(),{body:{validate:Qo("BlockStatement")}})}),cd("ObjectPattern",{visitor:["properties","typeAnnotation","decorators"],builder:["properties"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},fd(),{properties:{validate:ad(ed("array"),Jo(Qo("RestElement","ObjectProperty")))}})}),cd("SpreadElement",{visitor:["argument"],aliases:["UnaryLike"],deprecatedAlias:"SpreadProperty",fields:{argument:{validate:Qo("Expression")}}}),cd("Super",{aliases:["Expression"]}),cd("TaggedTemplateExpression",{visitor:["tag","quasi","typeParameters"],builder:["tag","quasi"],aliases:["Expression"],fields:{tag:{validate:Qo("Expression")},quasi:{validate:Qo("TemplateLiteral")},typeParameters:{validate:Qo("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}}}),cd("TemplateElement",{builder:["value","tail"],fields:{value:{validate:ad(td({raw:{validate:ed("string")},cooked:{validate:ed("string"),optional:!0}}),(function(e){var t=e.value.raw,r=!1,a=function(){throw new Error("Internal @babel/types error.")},n=oo("template",t,0,0,0,{unterminated:function(){r=!0},strictNumericEscape:a,invalidEscapeSequence:a,numericSeparatorInEscapeSequence:a,unexpectedNumericSeparator:a,invalidDigit:a,invalidCodePoint:a}),s=n.str,i=n.firstInvalidLoc;if(!r)throw new Error("Invalid raw");e.value.cooked=i?null:s}))},tail:{default:!1}}}),cd("TemplateLiteral",{visitor:["quasis","expressions"],aliases:["Expression","Literal"],fields:{quasis:{validate:ad(ed("array"),Jo(Qo("TemplateElement")))},expressions:{validate:ad(ed("array"),Jo(Qo("Expression","TSType")),(function(e,t,r){if(e.quasis.length!==r.length+1)throw new TypeError("Number of "+e.type+" quasis should be exactly one more than the number of expressions.\nExpected "+(r.length+1)+" quasis but got "+e.quasis.length)}))}}}),cd("YieldExpression",{builder:["argument","delegate"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{delegate:{validate:ad(ed("boolean"),Object.assign((function(e,t,r){if(ki.env.BABEL_TYPES_8_BREAKING&&r&&!e.argument)throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument")}),{type:"boolean"})),default:!1},argument:{optional:!0,validate:Qo("Expression")}}}),cd("AwaitExpression",{builder:["argument"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{argument:{validate:Qo("Expression")}}}),cd("Import",{aliases:["Expression"]}),cd("BigIntLiteral",{builder:["value"],fields:{value:{validate:ed("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),cd("ExportNamespaceSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:Qo("Identifier")}}}),cd("OptionalMemberExpression",{builder:["object","property","computed","optional"],visitor:["object","property"],aliases:["Expression"],fields:{object:{validate:Qo("Expression")},property:{validate:function(){var e=Qo("Identifier"),t=Qo("Expression"),r=Object.assign((function(r,a,n){(r.computed?t:e)(r,a,n)}),{oneOfNodeTypes:["Expression","Identifier"]});return r}()},computed:{default:!1},optional:{validate:ki.env.BABEL_TYPES_8_BREAKING?ad(ed("boolean"),rd()):ed("boolean")}}}),cd("OptionalCallExpression",{visitor:["callee","arguments","typeParameters","typeArguments"],builder:["callee","arguments","optional"],aliases:["Expression"],fields:{callee:{validate:Qo("Expression")},arguments:{validate:ad(ed("array"),Jo(Qo("Expression","SpreadElement","JSXNamespacedName","ArgumentPlaceholder")))},optional:{validate:ki.env.BABEL_TYPES_8_BREAKING?ad(ed("boolean"),rd()):ed("boolean")},typeArguments:{validate:Qo("TypeParameterInstantiation"),optional:!0},typeParameters:{validate:Qo("TSTypeParameterInstantiation"),optional:!0}}}),cd("ClassProperty",{visitor:["key","value","typeAnnotation","decorators"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property"],fields:Object.assign({},gd(),{value:{validate:Qo("Expression"),optional:!0},definite:{validate:ed("boolean"),optional:!0},typeAnnotation:{validate:Qo("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:ad(ed("array"),Jo(Qo("Decorator"))),optional:!0},readonly:{validate:ed("boolean"),optional:!0},declare:{validate:ed("boolean"),optional:!0},variance:{validate:Qo("Variance"),optional:!0}})}),cd("ClassAccessorProperty",{visitor:["key","value","typeAnnotation","decorators"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property","Accessor"],fields:Object.assign({},gd(),{key:{validate:ad(function(){var e=Qo("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","PrivateName"),t=Qo("Expression");return function(r,a,n){(r.computed?t:e)(r,a,n)}}(),Qo("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","Expression","PrivateName"))},value:{validate:Qo("Expression"),optional:!0},definite:{validate:ed("boolean"),optional:!0},typeAnnotation:{validate:Qo("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:ad(ed("array"),Jo(Qo("Decorator"))),optional:!0},readonly:{validate:ed("boolean"),optional:!0},declare:{validate:ed("boolean"),optional:!0},variance:{validate:Qo("Variance"),optional:!0}})}),cd("ClassPrivateProperty",{visitor:["key","value","decorators","typeAnnotation"],builder:["key","value","decorators","static"],aliases:["Property","Private"],fields:{key:{validate:Qo("PrivateName")},value:{validate:Qo("Expression"),optional:!0},typeAnnotation:{validate:Qo("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:ad(ed("array"),Jo(Qo("Decorator"))),optional:!0},static:{validate:ed("boolean"),default:!1},readonly:{validate:ed("boolean"),optional:!0},definite:{validate:ed("boolean"),optional:!0},variance:{validate:Qo("Variance"),optional:!0}}}),cd("ClassPrivateMethod",{builder:["kind","key","params","body","static"],visitor:["key","params","body","decorators","returnType","typeParameters"],aliases:["Function","Scopable","BlockParent","FunctionParent","Method","Private"],fields:Object.assign({},md(),ud(),{kind:{validate:$o("get","set","method"),default:"method"},key:{validate:Qo("PrivateName")},body:{validate:Qo("BlockStatement")}})}),cd("PrivateName",{visitor:["id"],aliases:["Private"],fields:{id:{validate:Qo("Identifier")}}}),cd("StaticBlock",{visitor:["body"],fields:{body:{validate:ad(ed("array"),Jo(Qo("Statement")))}},aliases:["Scopable","BlockParent","FunctionParent"]});var yd=od("Flow"),hd=function(e){var t="DeclareClass"===e;yd(e,{builder:["id","typeParameters","extends","body"],visitor:["id","typeParameters","extends"].concat(j(t?["mixins","implements"]:[]),["body"]),aliases:["FlowDeclaration","Statement","Declaration"],fields:Object.assign({id:Vo("Identifier"),typeParameters:Ko("TypeParameterDeclaration"),extends:Ho(Yo("InterfaceExtends"))},t?{mixins:Ho(Yo("InterfaceExtends")),implements:Ho(Yo("ClassImplements"))}:{},{body:Vo("ObjectTypeAnnotation")})})};yd("AnyTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),yd("ArrayTypeAnnotation",{visitor:["elementType"],aliases:["FlowType"],fields:{elementType:Vo("FlowType")}}),yd("BooleanTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),yd("BooleanLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:Wo(ed("boolean"))}}),yd("NullLiteralTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),yd("ClassImplements",{visitor:["id","typeParameters"],fields:{id:Vo("Identifier"),typeParameters:Ko("TypeParameterInstantiation")}}),hd("DeclareClass"),yd("DeclareFunction",{visitor:["id"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:Vo("Identifier"),predicate:Ko("DeclaredPredicate")}}),hd("DeclareInterface"),yd("DeclareModule",{builder:["id","body","kind"],visitor:["id","body"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:Vo(["Identifier","StringLiteral"]),body:Vo("BlockStatement"),kind:Ho($o("CommonJS","ES"))}}),yd("DeclareModuleExports",{visitor:["typeAnnotation"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{typeAnnotation:Vo("TypeAnnotation")}}),yd("DeclareTypeAlias",{visitor:["id","typeParameters","right"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:Vo("Identifier"),typeParameters:Ko("TypeParameterDeclaration"),right:Vo("FlowType")}}),yd("DeclareOpaqueType",{visitor:["id","typeParameters","supertype"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:Vo("Identifier"),typeParameters:Ko("TypeParameterDeclaration"),supertype:Ko("FlowType"),impltype:Ko("FlowType")}}),yd("DeclareVariable",{visitor:["id"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:Vo("Identifier")}}),yd("DeclareExportDeclaration",{visitor:["declaration","specifiers","source"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{declaration:Ko("Flow"),specifiers:Ho(Yo(["ExportSpecifier","ExportNamespaceSpecifier"])),source:Ko("StringLiteral"),default:Ho(ed("boolean"))}}),yd("DeclareExportAllDeclaration",{visitor:["source"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{source:Vo("StringLiteral"),exportKind:Ho($o("type","value"))}}),yd("DeclaredPredicate",{visitor:["value"],aliases:["FlowPredicate"],fields:{value:Vo("Flow")}}),yd("ExistsTypeAnnotation",{aliases:["FlowType"]}),yd("FunctionTypeAnnotation",{visitor:["typeParameters","params","rest","returnType"],aliases:["FlowType"],fields:{typeParameters:Ko("TypeParameterDeclaration"),params:Wo(Yo("FunctionTypeParam")),rest:Ko("FunctionTypeParam"),this:Ko("FunctionTypeParam"),returnType:Vo("FlowType")}}),yd("FunctionTypeParam",{visitor:["name","typeAnnotation"],fields:{name:Ko("Identifier"),typeAnnotation:Vo("FlowType"),optional:Ho(ed("boolean"))}}),yd("GenericTypeAnnotation",{visitor:["id","typeParameters"],aliases:["FlowType"],fields:{id:Vo(["Identifier","QualifiedTypeIdentifier"]),typeParameters:Ko("TypeParameterInstantiation")}}),yd("InferredPredicate",{aliases:["FlowPredicate"]}),yd("InterfaceExtends",{visitor:["id","typeParameters"],fields:{id:Vo(["Identifier","QualifiedTypeIdentifier"]),typeParameters:Ko("TypeParameterInstantiation")}}),hd("InterfaceDeclaration"),yd("InterfaceTypeAnnotation",{visitor:["extends","body"],aliases:["FlowType"],fields:{extends:Ho(Yo("InterfaceExtends")),body:Vo("ObjectTypeAnnotation")}}),yd("IntersectionTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:Wo(Yo("FlowType"))}}),yd("MixedTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),yd("EmptyTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),yd("NullableTypeAnnotation",{visitor:["typeAnnotation"],aliases:["FlowType"],fields:{typeAnnotation:Vo("FlowType")}}),yd("NumberLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:Wo(ed("number"))}}),yd("NumberTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),yd("ObjectTypeAnnotation",{visitor:["properties","indexers","callProperties","internalSlots"],aliases:["FlowType"],builder:["properties","indexers","callProperties","internalSlots","exact"],fields:{properties:Wo(Yo(["ObjectTypeProperty","ObjectTypeSpreadProperty"])),indexers:{validate:Yo("ObjectTypeIndexer"),optional:!0,default:[]},callProperties:{validate:Yo("ObjectTypeCallProperty"),optional:!0,default:[]},internalSlots:{validate:Yo("ObjectTypeInternalSlot"),optional:!0,default:[]},exact:{validate:ed("boolean"),default:!1},inexact:Ho(ed("boolean"))}}),yd("ObjectTypeInternalSlot",{visitor:["id","value","optional","static","method"],aliases:["UserWhitespacable"],fields:{id:Vo("Identifier"),value:Vo("FlowType"),optional:Wo(ed("boolean")),static:Wo(ed("boolean")),method:Wo(ed("boolean"))}}),yd("ObjectTypeCallProperty",{visitor:["value"],aliases:["UserWhitespacable"],fields:{value:Vo("FlowType"),static:Wo(ed("boolean"))}}),yd("ObjectTypeIndexer",{visitor:["id","key","value","variance"],aliases:["UserWhitespacable"],fields:{id:Ko("Identifier"),key:Vo("FlowType"),value:Vo("FlowType"),static:Wo(ed("boolean")),variance:Ko("Variance")}}),yd("ObjectTypeProperty",{visitor:["key","value","variance"],aliases:["UserWhitespacable"],fields:{key:Vo(["Identifier","StringLiteral"]),value:Vo("FlowType"),kind:Wo($o("init","get","set")),static:Wo(ed("boolean")),proto:Wo(ed("boolean")),optional:Wo(ed("boolean")),variance:Ko("Variance"),method:Wo(ed("boolean"))}}),yd("ObjectTypeSpreadProperty",{visitor:["argument"],aliases:["UserWhitespacable"],fields:{argument:Vo("FlowType")}}),yd("OpaqueType",{visitor:["id","typeParameters","supertype","impltype"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:Vo("Identifier"),typeParameters:Ko("TypeParameterDeclaration"),supertype:Ko("FlowType"),impltype:Vo("FlowType")}}),yd("QualifiedTypeIdentifier",{visitor:["id","qualification"],fields:{id:Vo("Identifier"),qualification:Vo(["Identifier","QualifiedTypeIdentifier"])}}),yd("StringLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:Wo(ed("string"))}}),yd("StringTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),yd("SymbolTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),yd("ThisTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),yd("TupleTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:Wo(Yo("FlowType"))}}),yd("TypeofTypeAnnotation",{visitor:["argument"],aliases:["FlowType"],fields:{argument:Vo("FlowType")}}),yd("TypeAlias",{visitor:["id","typeParameters","right"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:Vo("Identifier"),typeParameters:Ko("TypeParameterDeclaration"),right:Vo("FlowType")}}),yd("TypeAnnotation",{visitor:["typeAnnotation"],fields:{typeAnnotation:Vo("FlowType")}}),yd("TypeCastExpression",{visitor:["expression","typeAnnotation"],aliases:["ExpressionWrapper","Expression"],fields:{expression:Vo("Expression"),typeAnnotation:Vo("TypeAnnotation")}}),yd("TypeParameter",{visitor:["bound","default","variance"],fields:{name:Wo(ed("string")),bound:Ko("TypeAnnotation"),default:Ko("FlowType"),variance:Ko("Variance")}}),yd("TypeParameterDeclaration",{visitor:["params"],fields:{params:Wo(Yo("TypeParameter"))}}),yd("TypeParameterInstantiation",{visitor:["params"],fields:{params:Wo(Yo("FlowType"))}}),yd("UnionTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:Wo(Yo("FlowType"))}}),yd("Variance",{builder:["kind"],fields:{kind:Wo($o("minus","plus"))}}),yd("VoidTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),yd("EnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{id:Vo("Identifier"),body:Vo(["EnumBooleanBody","EnumNumberBody","EnumStringBody","EnumSymbolBody"])}}),yd("EnumBooleanBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:Wo(ed("boolean")),members:Xo("EnumBooleanMember"),hasUnknownMembers:Wo(ed("boolean"))}}),yd("EnumNumberBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:Wo(ed("boolean")),members:Xo("EnumNumberMember"),hasUnknownMembers:Wo(ed("boolean"))}}),yd("EnumStringBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:Wo(ed("boolean")),members:Xo(["EnumStringMember","EnumDefaultedMember"]),hasUnknownMembers:Wo(ed("boolean"))}}),yd("EnumSymbolBody",{aliases:["EnumBody"],visitor:["members"],fields:{members:Xo("EnumDefaultedMember"),hasUnknownMembers:Wo(ed("boolean"))}}),yd("EnumBooleanMember",{aliases:["EnumMember"],visitor:["id"],fields:{id:Vo("Identifier"),init:Vo("BooleanLiteral")}}),yd("EnumNumberMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:Vo("Identifier"),init:Vo("NumericLiteral")}}),yd("EnumStringMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:Vo("Identifier"),init:Vo("StringLiteral")}}),yd("EnumDefaultedMember",{aliases:["EnumMember"],visitor:["id"],fields:{id:Vo("Identifier")}}),yd("IndexedAccessType",{visitor:["objectType","indexType"],aliases:["FlowType"],fields:{objectType:Vo("FlowType"),indexType:Vo("FlowType")}}),yd("OptionalIndexedAccessType",{visitor:["objectType","indexType"],aliases:["FlowType"],fields:{objectType:Vo("FlowType"),indexType:Vo("FlowType"),optional:Wo(ed("boolean"))}});var bd=od("JSX");bd("JSXAttribute",{visitor:["name","value"],aliases:["Immutable"],fields:{name:{validate:Qo("JSXIdentifier","JSXNamespacedName")},value:{optional:!0,validate:Qo("JSXElement","JSXFragment","StringLiteral","JSXExpressionContainer")}}}),bd("JSXClosingElement",{visitor:["name"],aliases:["Immutable"],fields:{name:{validate:Qo("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")}}}),bd("JSXElement",{builder:["openingElement","closingElement","children","selfClosing"],visitor:["openingElement","children","closingElement"],aliases:["Immutable","Expression"],fields:Object.assign({openingElement:{validate:Qo("JSXOpeningElement")},closingElement:{optional:!0,validate:Qo("JSXClosingElement")},children:{validate:ad(ed("array"),Jo(Qo("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")))}},{selfClosing:{validate:ed("boolean"),optional:!0}})}),bd("JSXEmptyExpression",{}),bd("JSXExpressionContainer",{visitor:["expression"],aliases:["Immutable"],fields:{expression:{validate:Qo("Expression","JSXEmptyExpression")}}}),bd("JSXSpreadChild",{visitor:["expression"],aliases:["Immutable"],fields:{expression:{validate:Qo("Expression")}}}),bd("JSXIdentifier",{builder:["name"],fields:{name:{validate:ed("string")}}}),bd("JSXMemberExpression",{visitor:["object","property"],fields:{object:{validate:Qo("JSXMemberExpression","JSXIdentifier")},property:{validate:Qo("JSXIdentifier")}}}),bd("JSXNamespacedName",{visitor:["namespace","name"],fields:{namespace:{validate:Qo("JSXIdentifier")},name:{validate:Qo("JSXIdentifier")}}}),bd("JSXOpeningElement",{builder:["name","attributes","selfClosing"],visitor:["name","attributes"],aliases:["Immutable"],fields:{name:{validate:Qo("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")},selfClosing:{default:!1},attributes:{validate:ad(ed("array"),Jo(Qo("JSXAttribute","JSXSpreadAttribute")))},typeParameters:{validate:Qo("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}}}),bd("JSXSpreadAttribute",{visitor:["argument"],fields:{argument:{validate:Qo("Expression")}}}),bd("JSXText",{aliases:["Immutable"],builder:["value"],fields:{value:{validate:ed("string")}}}),bd("JSXFragment",{builder:["openingFragment","closingFragment","children"],visitor:["openingFragment","children","closingFragment"],aliases:["Immutable","Expression"],fields:{openingFragment:{validate:Qo("JSXOpeningFragment")},closingFragment:{validate:Qo("JSXClosingFragment")},children:{validate:ad(ed("array"),Jo(Qo("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")))}}}),bd("JSXOpeningFragment",{aliases:["Immutable"]}),bd("JSXClosingFragment",{aliases:["Immutable"]});for(var vd=["Identifier","StringLiteral","Expression","Statement","Declaration","BlockStatement","ClassBody","Pattern"],Rd={Declaration:["Statement"],Pattern:["PatternLike","LVal"]},xd=0,jd=vd;xd=0)){if(Bt(o))return[o];if(Rs(o))a.set(o.type,o);else if(Dr(o))n.has(o.types)||(t.push.apply(t,j(o.types)),n.add(o.types));else if(rr(o)){var d=mv(o.id);if(r.has(d)){var c,l=r.get(d);l.typeParameters?o.typeParameters&&((c=l.typeParameters.params).push.apply(c,j(o.typeParameters.params)),l.typeParameters.params=yv(l.typeParameters.params)):l=o.typeParameters}else r.set(d,o)}else s.push(o)}}for(var u,p=C(a);!(u=p()).done;){var f=x(u.value,2)[1];s.push(f)}for(var g,m=C(r);!(g=m()).done;){var y=x(g.value,2)[1];s.push(y)}return s}function hv(e){var t=yv(e);return 1===t.length?t[0]:xu(t)}function bv(e){return Ee(e)?e.name:e.right.name+"."+bv(e.left)}function vv(e){for(var t=Array.from(e),r=new Map,a=new Map,n=new Set,s=[],i=0;i=0)){if(Oa(o))return[o];if(Cs(o))a.set(o.type,o);else if(sn(o))n.has(o.types)||(t.push.apply(t,j(o.types)),n.add(o.types));else if(Ja(o)&&o.typeParameters){var d=bv(o.typeName);if(r.has(d)){var c,l=r.get(d);l.typeParameters?o.typeParameters&&((c=l.typeParameters.params).push.apply(c,j(o.typeParameters.params)),l.typeParameters.params=vv(l.typeParameters.params)):l=o.typeParameters}else r.set(d,o)}else s.push(o)}}for(var u,p=C(a);!(u=p()).done;){var f=x(u.value,2)[1];s.push(f)}for(var g,m=C(r);!(g=m()).done;){var y=x(g.value,2)[1];s.push(y)}return s}function Rv(e){var t=e.map((function(e){return Dn(e)?e.typeAnnotation:e})),r=vv(t);return 1===r.length?r[0]:zp(r)}function xv(){return Nc("void",mc(0),!0)}var jv=Function.call.bind(Object.prototype.hasOwnProperty);function Ev(e,t,r,a){return e&&"string"===typeof e.type?Tv(e,t,r,a):e}function wv(e,t,r,a){return Array.isArray(e)?e.map((function(e){return Ev(e,t,r,a)})):Ev(e,t,r,a)}function Sv(e,t,r){return void 0===t&&(t=!0),void 0===r&&(r=!1),Tv(e,t,r,new Map)}function Tv(e,t,r,a){if(void 0===t&&(t=!0),void 0===r&&(r=!1),!e)return e;var n=e.type,s={type:e.type};if(Ee(e))s.name=e.name,jv(e,"optional")&&"boolean"===typeof e.optional&&(s.optional=e.optional),jv(e,"typeAnnotation")&&(s.typeAnnotation=t?wv(e.typeAnnotation,!0,r,a):e.typeAnnotation);else{if(!jv(Mo,n))throw new Error('Unknown node type: "'+n+'"');for(var i=0,o=Object.keys(Mo[n]);i=Number.MAX_SAFE_INTEGER?zR.uid=0:zR.uid++},YR.keys={DeclareClass:["id"],DeclareFunction:["id"],DeclareModule:["id"],DeclareVariable:["id"],DeclareInterface:["id"],DeclareTypeAlias:["id"],DeclareOpaqueType:["id"],InterfaceDeclaration:["id"],TypeAlias:["id"],OpaqueType:["id"],CatchClause:["param"],LabeledStatement:["label"],UnaryExpression:["argument"],AssignmentExpression:["left"],ImportSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportDefaultSpecifier:["local"],ImportDeclaration:["specifiers"],ExportSpecifier:["exported"],ExportNamespaceSpecifier:["exported"],ExportDefaultSpecifier:["exported"],FunctionDeclaration:["id","params"],FunctionExpression:["id","params"],ArrowFunctionExpression:["params"],ObjectMethod:["params"],ClassMethod:["params"],ClassPrivateMethod:["params"],ForInStatement:["left"],ForOfStatement:["left"],ClassDeclaration:["id"],ClassExpression:["id"],RestElement:["argument"],UpdateExpression:["argument"],ObjectProperty:["value"],AssignmentPattern:["left"],ArrayPattern:["elements"],ObjectPattern:["properties"],VariableDeclaration:["declarations"],VariableDeclarator:["id"]};var QR=Function.call.bind(Object.prototype.toString);function ZR(e){return"[object RegExp]"===QR(e)}function ex(e){if("object"!==typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||null===Object.getPrototypeOf(t)}function tx(e){if(void 0===e)return uc("undefined");if(!0===e||!1===e)return hc(e);if(null===e)return yc();if("string"===typeof e)return gc(e);var t;if("number"===typeof e)return t=Number.isFinite(e)?mc(Math.abs(e)):Kd("/",Number.isNaN(e)?mc(0):mc(1),mc(0)),(e<0||Object.is(e,-0))&&(t=Nc("-",t)),t;if(ZR(e))return bc(e.source,e.toString().match(/\/([a-z]+|)$/)[1]);if(Array.isArray(e))return Vd(e.map(tx));if(ex(e)){for(var r=[],a=0,n=Object.keys(e);a=0)return!0}else if(s===e)return!0}return!1}function cx(e){return Xe(e)&&("var"!==e.kind||e[Io])}function lx(e){return xe(e)||nt(e)||cx(e)}function ux(e){return!!Ni(e.type,"Immutable")||!!Ee(e)&&"undefined"===e.name}function px(e,t){if("object"!==typeof e||"object"!==typeof t||null==e||null==t)return e===t;if(e.type!==t.type)return!1;for(var r=Object.keys(Mo[e.type]||e.type),a=Oo[e.type],n=0,s=r;n100)){var o=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(i);if(o){var d=parseFloat(o[1]);switch((o[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return d*s;case"weeks":case"week":case"w":return d*n;case"days":case"day":case"d":return d*a;case"hours":case"hour":case"hrs":case"hr":case"h":return d*r;case"minutes":case"minute":case"mins":case"min":case"m":return d*t;case"seconds":case"second":case"secs":case"sec":case"s":return d*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return d;default:return}}}}function o(n){var s=Math.abs(n);return s>=a?Math.round(n/a)+"d":s>=r?Math.round(n/r)+"h":s>=t?Math.round(n/t)+"m":s>=e?Math.round(n/e)+"s":n+"ms"}function d(n){var s=Math.abs(n);return s>=a?c(n,s,a,"day"):s>=r?c(n,s,r,"hour"):s>=t?c(n,s,t,"minute"):s>=e?c(n,s,e,"second"):n+" ms"}function c(e,t,r,a){var n=t>=1.5*r;return Math.round(e/r)+" "+a+(n?"s":"")}return zx=function(e,t){t=t||{};var r=typeof e;if("string"===r&&e.length>0)return i(e);if("number"===r&&isFinite(e))return t.long?d(e):o(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))},zx}function Qx(e){function t(e){for(var t=0,a=0;a=31||"undefined"!==typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))}function a(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),this.useColors){var r="color: "+this.color;t.splice(1,0,r,"color: inherit");var a=0,n=0;t[0].replace(/%[a-zA-Z%]/g,(function(e){"%%"!==e&&(a++,"%c"===e&&(n=a))})),t.splice(n,0,r)}}function n(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(i1){}}function s(){var e;try{e=t.storage.getItem("debug")}catch(i1){}return!e&&"undefined"!==typeof ki&&"env"in ki&&(e=ki.env.DEBUG),e}function i(){try{return localStorage}catch(i1){}}t.formatArgs=a,t.save=n,t.load=s,t.useColors=r,t.storage=i(),t.destroy=function(){var e=!1;return function(){e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}}(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||function(){},e.exports=Zx(t),e.exports.formatters.j=function(e){try{return JSON.stringify(e)}catch(i1){return"[UnexpectedJSONParseError]: "+i1.message}}}(Jx,Jx.exports);var ej=Jx.exports,tj=Sv,rj=Xc,aj=Jc,nj=uc,sj=Mc,ij=Lc;function oj(e){if(!e.isExportDeclaration()||e.isExportAllDeclaration())throw new Error("Only default and named export declarations can be split.");if(e.isExportDefaultDeclaration()){var t=e.get("declaration"),r=t.isFunctionDeclaration()||t.isClassDeclaration(),a=t.isFunctionExpression()||t.isClassExpression(),n=t.isScope()?t.scope.parent:t.scope,s=t.node.id,i=!1;s?a&&n.hasBinding(s.name)&&(i=!0,s=n.generateUidIdentifier(s.name)):(i=!0,s=n.generateUidIdentifier("default"),(r||a)&&(t.node.id=tj(s)));var o=r?t.node:sj("var",[ij(tj(s),t.node)]),d=rj(null,[aj(tj(s),nj("default"))]);return e.insertAfter(d),e.replaceWith(o),i&&n.registerDeclaration(e),e}if(e.get("specifiers").length>0)throw new Error("It doesn't make sense to split exported specifiers.");var c=e.get("declaration"),l=c.getOuterBindingIdentifiers(),u=Object.keys(l).map((function(e){return aj(nj(e),nj(e))})),p=rj(null,u);return e.insertAfter(p),e.replaceWith(c.node),e}function dj(e){var t=e.context,r=e.node;if(r.computed&&t.maybeQueue(e.get("key")),r.decorators)for(var a,n=C(e.get("decorators"));!(a=n()).done;){var s=a.value;t.maybeQueue(s)}}var cj={FunctionParent:function(e){e.isArrowFunctionExpression()||(e.skip(),e.isMethod()&&dj(e))},Property:function(e){e.isObjectProperty()||(e.skip(),dj(e))}},lj={ReferencedIdentifier:function(e,t){var r=e.node;r.name===t.oldName&&(r.name=t.newName)},Scope:function(e,t){e.scope.bindingIdentifierEquals(t.oldName,t.binding.identifier)||(e.skip(),e.isMethod()&&dj(e))},ObjectProperty:function(e,t){var r,a=e.node,n=e.scope,s=a.key.name;!a.shorthand||s!==t.oldName&&s!==t.newName||n.getBindingIdentifier(s)!==t.binding.identifier||(a.shorthand=!1,null!=(r=a.extra)&&r.shorthand&&(a.extra.shorthand=!1))},"AssignmentExpression|Declaration|VariableDeclarator":function(e,t){if(!e.isVariableDeclaration()){var r=e.getOuterBindingIdentifiers();for(var a in r)a===t.oldName&&(r[a].name=t.newName)}}},uj=function(){function e(e,t,r){this.newName=r,this.oldName=t,this.binding=e}var t=e.prototype;return t.maybeConvertFromExportDeclaration=function(e){var t=e.parentPath;if(t.isExportDeclaration()){if(t.isExportDefaultDeclaration()){var r=t.node.declaration;if(ts(r)&&!r.id)return}t.isExportAllDeclaration()||oj(t)}},t.maybeConvertFromClassFunctionDeclaration=function(e){return e},t.maybeConvertFromClassFunctionExpression=function(e){return e},t.rename=function(){var e=this.binding,t=this.oldName,r=this.newName,a=e.scope,n=e.path,s=n.find((function(e){return e.isDeclaration()||e.isFunctionExpression()||e.isClassExpression()}));s&&s.getOuterBindingIdentifiers()[t]===e.identifier&&this.maybeConvertFromExportDeclaration(s),HH(arguments[0]||a.block,Ax(lj),a,this,a.path,{discriminant:!0}),arguments[0]||(a.removeOwnBinding(t),a.bindings[r]=e,this.binding.identifier.name=r),s&&(this.maybeConvertFromClassFunctionDeclaration(n),this.maybeConvertFromClassFunctionExpression(n))},c(e)}(),pj=function(){function e(e){var t=e.identifier,r=e.scope,a=e.path,n=e.kind;this.identifier=void 0,this.scope=void 0,this.path=void 0,this.kind=void 0,this.constantViolations=[],this.constant=!0,this.referencePaths=[],this.referenced=!1,this.references=0,this.identifier=t,this.scope=r,this.path=a,this.kind=n,"var"!==n&&"hoisted"!==n||!fj(a)||this.reassign(a),this.clearValue()}var t=e.prototype;return t.deoptValue=function(){this.clearValue(),this.hasDeoptedValue=!0},t.setValue=function(e){this.hasDeoptedValue||(this.hasValue=!0,this.value=e)},t.clearValue=function(){this.hasDeoptedValue=!1,this.hasValue=!1,this.value=null},t.reassign=function(e){this.constant=!1,-1===this.constantViolations.indexOf(e)&&this.constantViolations.push(e)},t.reference=function(e){-1===this.referencePaths.indexOf(e)&&(this.referenced=!0,this.references++,this.referencePaths.push(e))},t.dereference=function(){this.references--,this.referenced=!!this.references},c(e)}();function fj(e){for(var t=e.parentPath,r=e.key;t;t=(a=t).parentPath,r=a.key,a){var a;if(t.isFunctionParent())return!1;if(t.isWhile()||t.isForXStatement()||t.isForStatement()&&"body"===r)return!0}return!1}var gj,mj,yj={builtin:{Array:!1,ArrayBuffer:!1,Atomics:!1,BigInt:!1,BigInt64Array:!1,BigUint64Array:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Float32Array:!1,Float64Array:!1,Function:!1,globalThis:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,SharedArrayBuffer:!1,String:!1,Symbol:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1,WeakMap:!1,WeakSet:!1},es5:{Array:!1,Boolean:!1,constructor:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Function:!1,hasOwnProperty:!1,Infinity:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,propertyIsEnumerable:!1,RangeError:!1,ReferenceError:!1,RegExp:!1,String:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1},es2015:{Array:!1,ArrayBuffer:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Float32Array:!1,Float64Array:!1,Function:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,String:!1,Symbol:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1,WeakMap:!1,WeakSet:!1},es2017:{Array:!1,ArrayBuffer:!1,Atomics:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Float32Array:!1,Float64Array:!1,Function:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,SharedArrayBuffer:!1,String:!1,Symbol:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1,WeakMap:!1,WeakSet:!1},browser:{AbortController:!1,AbortSignal:!1,addEventListener:!1,alert:!1,AnalyserNode:!1,Animation:!1,AnimationEffectReadOnly:!1,AnimationEffectTiming:!1,AnimationEffectTimingReadOnly:!1,AnimationEvent:!1,AnimationPlaybackEvent:!1,AnimationTimeline:!1,applicationCache:!1,ApplicationCache:!1,ApplicationCacheErrorEvent:!1,atob:!1,Attr:!1,Audio:!1,AudioBuffer:!1,AudioBufferSourceNode:!1,AudioContext:!1,AudioDestinationNode:!1,AudioListener:!1,AudioNode:!1,AudioParam:!1,AudioProcessingEvent:!1,AudioScheduledSourceNode:!1,"AudioWorkletGlobalScope ":!1,AudioWorkletNode:!1,AudioWorkletProcessor:!1,BarProp:!1,BaseAudioContext:!1,BatteryManager:!1,BeforeUnloadEvent:!1,BiquadFilterNode:!1,Blob:!1,BlobEvent:!1,blur:!1,BroadcastChannel:!1,btoa:!1,BudgetService:!1,ByteLengthQueuingStrategy:!1,Cache:!1,caches:!1,CacheStorage:!1,cancelAnimationFrame:!1,cancelIdleCallback:!1,CanvasCaptureMediaStreamTrack:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,ChannelMergerNode:!1,ChannelSplitterNode:!1,CharacterData:!1,clearInterval:!1,clearTimeout:!1,clientInformation:!1,ClipboardEvent:!1,close:!1,closed:!1,CloseEvent:!1,Comment:!1,CompositionEvent:!1,confirm:!1,console:!1,ConstantSourceNode:!1,ConvolverNode:!1,CountQueuingStrategy:!1,createImageBitmap:!1,Credential:!1,CredentialsContainer:!1,crypto:!1,Crypto:!1,CryptoKey:!1,CSS:!1,CSSConditionRule:!1,CSSFontFaceRule:!1,CSSGroupingRule:!1,CSSImportRule:!1,CSSKeyframeRule:!1,CSSKeyframesRule:!1,CSSMediaRule:!1,CSSNamespaceRule:!1,CSSPageRule:!1,CSSRule:!1,CSSRuleList:!1,CSSStyleDeclaration:!1,CSSStyleRule:!1,CSSStyleSheet:!1,CSSSupportsRule:!1,CustomElementRegistry:!1,customElements:!1,CustomEvent:!1,DataTransfer:!1,DataTransferItem:!1,DataTransferItemList:!1,defaultstatus:!1,defaultStatus:!1,DelayNode:!1,DeviceMotionEvent:!1,DeviceOrientationEvent:!1,devicePixelRatio:!1,dispatchEvent:!1,document:!1,Document:!1,DocumentFragment:!1,DocumentType:!1,DOMError:!1,DOMException:!1,DOMImplementation:!1,DOMMatrix:!1,DOMMatrixReadOnly:!1,DOMParser:!1,DOMPoint:!1,DOMPointReadOnly:!1,DOMQuad:!1,DOMRect:!1,DOMRectReadOnly:!1,DOMStringList:!1,DOMStringMap:!1,DOMTokenList:!1,DragEvent:!1,DynamicsCompressorNode:!1,Element:!1,ErrorEvent:!1,event:!1,Event:!1,EventSource:!1,EventTarget:!1,external:!1,fetch:!1,File:!1,FileList:!1,FileReader:!1,find:!1,focus:!1,FocusEvent:!1,FontFace:!1,FontFaceSetLoadEvent:!1,FormData:!1,frameElement:!1,frames:!1,GainNode:!1,Gamepad:!1,GamepadButton:!1,GamepadEvent:!1,getComputedStyle:!1,getSelection:!1,HashChangeEvent:!1,Headers:!1,history:!1,History:!1,HTMLAllCollection:!1,HTMLAnchorElement:!1,HTMLAreaElement:!1,HTMLAudioElement:!1,HTMLBaseElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLCollection:!1,HTMLContentElement:!1,HTMLDataElement:!1,HTMLDataListElement:!1,HTMLDetailsElement:!1,HTMLDialogElement:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLDocument:!1,HTMLElement:!1,HTMLEmbedElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormControlsCollection:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLLabelElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMarqueeElement:!1,HTMLMediaElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLMeterElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLOptionsCollection:!1,HTMLOutputElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPictureElement:!1,HTMLPreElement:!1,HTMLProgressElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLShadowElement:!1,HTMLSlotElement:!1,HTMLSourceElement:!1,HTMLSpanElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTemplateElement:!1,HTMLTextAreaElement:!1,HTMLTimeElement:!1,HTMLTitleElement:!1,HTMLTrackElement:!1,HTMLUListElement:!1,HTMLUnknownElement:!1,HTMLVideoElement:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,IdleDeadline:!1,IIRFilterNode:!1,Image:!1,ImageBitmap:!1,ImageBitmapRenderingContext:!1,ImageCapture:!1,ImageData:!1,indexedDB:!1,innerHeight:!1,innerWidth:!1,InputEvent:!1,IntersectionObserver:!1,IntersectionObserverEntry:!1,Intl:!1,isSecureContext:!1,KeyboardEvent:!1,KeyframeEffect:!1,KeyframeEffectReadOnly:!1,length:!1,localStorage:!1,location:!0,Location:!1,locationbar:!1,matchMedia:!1,MediaDeviceInfo:!1,MediaDevices:!1,MediaElementAudioSourceNode:!1,MediaEncryptedEvent:!1,MediaError:!1,MediaKeyMessageEvent:!1,MediaKeySession:!1,MediaKeyStatusMap:!1,MediaKeySystemAccess:!1,MediaList:!1,MediaQueryList:!1,MediaQueryListEvent:!1,MediaRecorder:!1,MediaSettingsRange:!1,MediaSource:!1,MediaStream:!1,MediaStreamAudioDestinationNode:!1,MediaStreamAudioSourceNode:!1,MediaStreamEvent:!1,MediaStreamTrack:!1,MediaStreamTrackEvent:!1,menubar:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MIDIAccess:!1,MIDIConnectionEvent:!1,MIDIInput:!1,MIDIInputMap:!1,MIDIMessageEvent:!1,MIDIOutput:!1,MIDIOutputMap:!1,MIDIPort:!1,MimeType:!1,MimeTypeArray:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationEvent:!1,MutationObserver:!1,MutationRecord:!1,name:!1,NamedNodeMap:!1,NavigationPreloadManager:!1,navigator:!1,Navigator:!1,NetworkInformation:!1,Node:!1,NodeFilter:!1,NodeIterator:!1,NodeList:!1,Notification:!1,OfflineAudioCompletionEvent:!1,OfflineAudioContext:!1,offscreenBuffering:!1,OffscreenCanvas:!0,onabort:!0,onafterprint:!0,onanimationend:!0,onanimationiteration:!0,onanimationstart:!0,onappinstalled:!0,onauxclick:!0,onbeforeinstallprompt:!0,onbeforeprint:!0,onbeforeunload:!0,onblur:!0,oncancel:!0,oncanplay:!0,oncanplaythrough:!0,onchange:!0,onclick:!0,onclose:!0,oncontextmenu:!0,oncuechange:!0,ondblclick:!0,ondevicemotion:!0,ondeviceorientation:!0,ondeviceorientationabsolute:!0,ondrag:!0,ondragend:!0,ondragenter:!0,ondragleave:!0,ondragover:!0,ondragstart:!0,ondrop:!0,ondurationchange:!0,onemptied:!0,onended:!0,onerror:!0,onfocus:!0,ongotpointercapture:!0,onhashchange:!0,oninput:!0,oninvalid:!0,onkeydown:!0,onkeypress:!0,onkeyup:!0,onlanguagechange:!0,onload:!0,onloadeddata:!0,onloadedmetadata:!0,onloadstart:!0,onlostpointercapture:!0,onmessage:!0,onmessageerror:!0,onmousedown:!0,onmouseenter:!0,onmouseleave:!0,onmousemove:!0,onmouseout:!0,onmouseover:!0,onmouseup:!0,onmousewheel:!0,onoffline:!0,ononline:!0,onpagehide:!0,onpageshow:!0,onpause:!0,onplay:!0,onplaying:!0,onpointercancel:!0,onpointerdown:!0,onpointerenter:!0,onpointerleave:!0,onpointermove:!0,onpointerout:!0,onpointerover:!0,onpointerup:!0,onpopstate:!0,onprogress:!0,onratechange:!0,onrejectionhandled:!0,onreset:!0,onresize:!0,onscroll:!0,onsearch:!0,onseeked:!0,onseeking:!0,onselect:!0,onstalled:!0,onstorage:!0,onsubmit:!0,onsuspend:!0,ontimeupdate:!0,ontoggle:!0,ontransitionend:!0,onunhandledrejection:!0,onunload:!0,onvolumechange:!0,onwaiting:!0,onwheel:!0,open:!1,openDatabase:!1,opener:!1,Option:!1,origin:!1,OscillatorNode:!1,outerHeight:!1,outerWidth:!1,PageTransitionEvent:!1,pageXOffset:!1,pageYOffset:!1,PannerNode:!1,parent:!1,Path2D:!1,PaymentAddress:!1,PaymentRequest:!1,PaymentRequestUpdateEvent:!1,PaymentResponse:!1,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceLongTaskTiming:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceNavigationTiming:!1,PerformanceObserver:!1,PerformanceObserverEntryList:!1,PerformancePaintTiming:!1,PerformanceResourceTiming:!1,PerformanceTiming:!1,PeriodicWave:!1,Permissions:!1,PermissionStatus:!1,personalbar:!1,PhotoCapabilities:!1,Plugin:!1,PluginArray:!1,PointerEvent:!1,PopStateEvent:!1,postMessage:!1,Presentation:!1,PresentationAvailability:!1,PresentationConnection:!1,PresentationConnectionAvailableEvent:!1,PresentationConnectionCloseEvent:!1,PresentationConnectionList:!1,PresentationReceiver:!1,PresentationRequest:!1,print:!1,ProcessingInstruction:!1,ProgressEvent:!1,PromiseRejectionEvent:!1,prompt:!1,PushManager:!1,PushSubscription:!1,PushSubscriptionOptions:!1,queueMicrotask:!1,RadioNodeList:!1,Range:!1,ReadableStream:!1,registerProcessor:!1,RemotePlayback:!1,removeEventListener:!1,Request:!1,requestAnimationFrame:!1,requestIdleCallback:!1,resizeBy:!1,ResizeObserver:!1,ResizeObserverEntry:!1,resizeTo:!1,Response:!1,RTCCertificate:!1,RTCDataChannel:!1,RTCDataChannelEvent:!1,RTCDtlsTransport:!1,RTCIceCandidate:!1,RTCIceGatherer:!1,RTCIceTransport:!1,RTCPeerConnection:!1,RTCPeerConnectionIceEvent:!1,RTCRtpContributingSource:!1,RTCRtpReceiver:!1,RTCRtpSender:!1,RTCSctpTransport:!1,RTCSessionDescription:!1,RTCStatsReport:!1,RTCTrackEvent:!1,screen:!1,Screen:!1,screenLeft:!1,ScreenOrientation:!1,screenTop:!1,screenX:!1,screenY:!1,ScriptProcessorNode:!1,scroll:!1,scrollbars:!1,scrollBy:!1,scrollTo:!1,scrollX:!1,scrollY:!1,SecurityPolicyViolationEvent:!1,Selection:!1,self:!1,ServiceWorker:!1,ServiceWorkerContainer:!1,ServiceWorkerRegistration:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,ShadowRoot:!1,SharedWorker:!1,SourceBuffer:!1,SourceBufferList:!1,speechSynthesis:!1,SpeechSynthesisEvent:!1,SpeechSynthesisUtterance:!1,StaticRange:!1,status:!1,statusbar:!1,StereoPannerNode:!1,stop:!1,Storage:!1,StorageEvent:!1,StorageManager:!1,styleMedia:!1,StyleSheet:!1,StyleSheetList:!1,SubtleCrypto:!1,SVGAElement:!1,SVGAngle:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimationElement:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGComponentTransferFunctionElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGDiscardElement:!1,SVGElement:!1,SVGEllipseElement:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEDropShadowElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGeometryElement:!1,SVGGradientElement:!1,SVGGraphicsElement:!1,SVGImageElement:!1,SVGLength:!1,SVGLengthList:!1,SVGLinearGradientElement:!1,SVGLineElement:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMPathElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPathElement:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStyleElement:!1,SVGSVGElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformList:!1,SVGTSpanElement:!1,SVGUnitTypes:!1,SVGUseElement:!1,SVGViewElement:!1,TaskAttributionTiming:!1,Text:!1,TextDecoder:!1,TextEncoder:!1,TextEvent:!1,TextMetrics:!1,TextTrack:!1,TextTrackCue:!1,TextTrackCueList:!1,TextTrackList:!1,TimeRanges:!1,toolbar:!1,top:!1,Touch:!1,TouchEvent:!1,TouchList:!1,TrackEvent:!1,TransitionEvent:!1,TreeWalker:!1,UIEvent:!1,URL:!1,URLSearchParams:!1,ValidityState:!1,visualViewport:!1,VisualViewport:!1,VTTCue:!1,WaveShaperNode:!1,WebAssembly:!1,WebGL2RenderingContext:!1,WebGLActiveInfo:!1,WebGLBuffer:!1,WebGLContextEvent:!1,WebGLFramebuffer:!1,WebGLProgram:!1,WebGLQuery:!1,WebGLRenderbuffer:!1,WebGLRenderingContext:!1,WebGLSampler:!1,WebGLShader:!1,WebGLShaderPrecisionFormat:!1,WebGLSync:!1,WebGLTexture:!1,WebGLTransformFeedback:!1,WebGLUniformLocation:!1,WebGLVertexArrayObject:!1,WebSocket:!1,WheelEvent:!1,window:!1,Window:!1,Worker:!1,WritableStream:!1,XMLDocument:!1,XMLHttpRequest:!1,XMLHttpRequestEventTarget:!1,XMLHttpRequestUpload:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathExpression:!1,XPathResult:!1,XSLTProcessor:!1},worker:{addEventListener:!1,applicationCache:!1,atob:!1,Blob:!1,BroadcastChannel:!1,btoa:!1,Cache:!1,caches:!1,clearInterval:!1,clearTimeout:!1,close:!0,console:!1,fetch:!1,FileReaderSync:!1,FormData:!1,Headers:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,ImageData:!1,importScripts:!0,indexedDB:!1,location:!1,MessageChannel:!1,MessagePort:!1,name:!1,navigator:!1,Notification:!1,onclose:!0,onconnect:!0,onerror:!0,onlanguagechange:!0,onmessage:!0,onoffline:!0,ononline:!0,onrejectionhandled:!0,onunhandledrejection:!0,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceResourceTiming:!1,PerformanceTiming:!1,postMessage:!0,Promise:!1,queueMicrotask:!1,removeEventListener:!1,Request:!1,Response:!1,self:!0,ServiceWorkerRegistration:!1,setInterval:!1,setTimeout:!1,TextDecoder:!1,TextEncoder:!1,URL:!1,URLSearchParams:!1,WebSocket:!1,Worker:!1,WorkerGlobalScope:!1,XMLHttpRequest:!1},node:{__dirname:!1,__filename:!1,Buffer:!1,clearImmediate:!1,clearInterval:!1,clearTimeout:!1,console:!1,exports:!0,global:!1,Intl:!1,module:!1,process:!1,queueMicrotask:!1,require:!1,setImmediate:!1,setInterval:!1,setTimeout:!1,TextDecoder:!1,TextEncoder:!1,URL:!1,URLSearchParams:!1},commonjs:{exports:!0,global:!1,module:!1,require:!1},amd:{define:!1,require:!1},mocha:{after:!1,afterEach:!1,before:!1,beforeEach:!1,context:!1,describe:!1,it:!1,mocha:!1,run:!1,setup:!1,specify:!1,suite:!1,suiteSetup:!1,suiteTeardown:!1,teardown:!1,test:!1,xcontext:!1,xdescribe:!1,xit:!1,xspecify:!1},jasmine:{afterAll:!1,afterEach:!1,beforeAll:!1,beforeEach:!1,describe:!1,expect:!1,fail:!1,fdescribe:!1,fit:!1,it:!1,jasmine:!1,pending:!1,runs:!1,spyOn:!1,spyOnProperty:!1,waits:!1,waitsFor:!1,xdescribe:!1,xit:!1},jest:{afterAll:!1,afterEach:!1,beforeAll:!1,beforeEach:!1,describe:!1,expect:!1,fdescribe:!1,fit:!1,it:!1,jest:!1,pit:!1,require:!1,test:!1,xdescribe:!1,xit:!1,xtest:!1},qunit:{asyncTest:!1,deepEqual:!1,equal:!1,expect:!1,module:!1,notDeepEqual:!1,notEqual:!1,notOk:!1,notPropEqual:!1,notStrictEqual:!1,ok:!1,propEqual:!1,QUnit:!1,raises:!1,start:!1,stop:!1,strictEqual:!1,test:!1,throws:!1},phantomjs:{console:!0,exports:!0,phantom:!0,require:!0,WebPage:!0},couch:{emit:!1,exports:!1,getRow:!1,log:!1,module:!1,provides:!1,require:!1,respond:!1,send:!1,start:!1,sum:!1},rhino:{defineClass:!1,deserialize:!1,gc:!1,help:!1,importClass:!1,importPackage:!1,java:!1,load:!1,loadClass:!1,Packages:!1,print:!1,quit:!1,readFile:!1,readUrl:!1,runCommand:!1,seal:!1,serialize:!1,spawn:!1,sync:!1,toint32:!1,version:!1},nashorn:{__DIR__:!1,__FILE__:!1,__LINE__:!1,com:!1,edu:!1,exit:!1,java:!1,Java:!1,javafx:!1,JavaImporter:!1,javax:!1,JSAdapter:!1,load:!1,loadWithNewGlobal:!1,org:!1,Packages:!1,print:!1,quit:!1},wsh:{ActiveXObject:!0,Enumerator:!0,GetObject:!0,ScriptEngine:!0,ScriptEngineBuildVersion:!0,ScriptEngineMajorVersion:!0,ScriptEngineMinorVersion:!0,VBArray:!0,WScript:!0,WSH:!0,XDomainRequest:!0},jquery:{$:!1,jQuery:!1},yui:{YAHOO:!1,YAHOO_config:!1,YUI:!1,YUI_config:!1},shelljs:{cat:!1,cd:!1,chmod:!1,config:!1,cp:!1,dirs:!1,echo:!1,env:!1,error:!1,exec:!1,exit:!1,find:!1,grep:!1,ln:!1,ls:!1,mkdir:!1,mv:!1,popd:!1,pushd:!1,pwd:!1,rm:!1,sed:!1,set:!1,target:!1,tempdir:!1,test:!1,touch:!1,which:!1},prototypejs:{$:!1,$$:!1,$A:!1,$break:!1,$continue:!1,$F:!1,$H:!1,$R:!1,$w:!1,Abstract:!1,Ajax:!1,Autocompleter:!1,Builder:!1,Class:!1,Control:!1,Draggable:!1,Draggables:!1,Droppables:!1,Effect:!1,Element:!1,Enumerable:!1,Event:!1,Field:!1,Form:!1,Hash:!1,Insertion:!1,ObjectRange:!1,PeriodicalExecuter:!1,Position:!1,Prototype:!1,Scriptaculous:!1,Selector:!1,Sortable:!1,SortableObserver:!1,Sound:!1,Template:!1,Toggle:!1,Try:!1},meteor:{_:!1,$:!1,Accounts:!1,AccountsClient:!1,AccountsCommon:!1,AccountsServer:!1,App:!1,Assets:!1,Blaze:!1,check:!1,Cordova:!1,DDP:!1,DDPRateLimiter:!1,DDPServer:!1,Deps:!1,EJSON:!1,Email:!1,HTTP:!1,Log:!1,Match:!1,Meteor:!1,Mongo:!1,MongoInternals:!1,Npm:!1,Package:!1,Plugin:!1,process:!1,Random:!1,ReactiveDict:!1,ReactiveVar:!1,Router:!1,ServiceConfiguration:!1,Session:!1,share:!1,Spacebars:!1,Template:!1,Tinytest:!1,Tracker:!1,UI:!1,Utils:!1,WebApp:!1,WebAppInternals:!1},mongo:{_isWindows:!1,_rand:!1,BulkWriteResult:!1,cat:!1,cd:!1,connect:!1,db:!1,getHostName:!1,getMemInfo:!1,hostname:!1,ISODate:!1,listFiles:!1,load:!1,ls:!1,md5sumFile:!1,mkdir:!1,Mongo:!1,NumberInt:!1,NumberLong:!1,ObjectId:!1,PlanCache:!1,print:!1,printjson:!1,pwd:!1,quit:!1,removeFile:!1,rs:!1,sh:!1,UUID:!1,version:!1,WriteResult:!1},applescript:{$:!1,Application:!1,Automation:!1,console:!1,delay:!1,Library:!1,ObjC:!1,ObjectSpecifier:!1,Path:!1,Progress:!1,Ref:!1},serviceworker:{addEventListener:!1,applicationCache:!1,atob:!1,Blob:!1,BroadcastChannel:!1,btoa:!1,Cache:!1,caches:!1,CacheStorage:!1,clearInterval:!1,clearTimeout:!1,Client:!1,clients:!1,Clients:!1,close:!0,console:!1,ExtendableEvent:!1,ExtendableMessageEvent:!1,fetch:!1,FetchEvent:!1,FileReaderSync:!1,FormData:!1,Headers:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,ImageData:!1,importScripts:!1,indexedDB:!1,location:!1,MessageChannel:!1,MessagePort:!1,name:!1,navigator:!1,Notification:!1,onclose:!0,onconnect:!0,onerror:!0,onfetch:!0,oninstall:!0,onlanguagechange:!0,onmessage:!0,onmessageerror:!0,onnotificationclick:!0,onnotificationclose:!0,onoffline:!0,ononline:!0,onpush:!0,onpushsubscriptionchange:!0,onrejectionhandled:!0,onsync:!0,onunhandledrejection:!0,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceResourceTiming:!1,PerformanceTiming:!1,postMessage:!0,Promise:!1,queueMicrotask:!1,registration:!1,removeEventListener:!1,Request:!1,Response:!1,self:!1,ServiceWorker:!1,ServiceWorkerContainer:!1,ServiceWorkerGlobalScope:!1,ServiceWorkerMessageEvent:!1,ServiceWorkerRegistration:!1,setInterval:!1,setTimeout:!1,skipWaiting:!1,TextDecoder:!1,TextEncoder:!1,URL:!1,URLSearchParams:!1,WebSocket:!1,WindowClient:!1,Worker:!1,WorkerGlobalScope:!1,XMLHttpRequest:!1},atomtest:{advanceClock:!1,fakeClearInterval:!1,fakeClearTimeout:!1,fakeSetInterval:!1,fakeSetTimeout:!1,resetTimeouts:!1,waitsForPromise:!1},embertest:{andThen:!1,click:!1,currentPath:!1,currentRouteName:!1,currentURL:!1,fillIn:!1,find:!1,findAll:!1,findWithAssert:!1,keyEvent:!1,pauseTest:!1,resumeTest:!1,triggerEvent:!1,visit:!1,wait:!1},protractor:{$:!1,$$:!1,browser:!1,by:!1,By:!1,DartObject:!1,element:!1,protractor:!1},"shared-node-browser":{clearInterval:!1,clearTimeout:!1,console:!1,setInterval:!1,setTimeout:!1,URL:!1,URLSearchParams:!1},webextensions:{browser:!1,chrome:!1,opr:!1},greasemonkey:{cloneInto:!1,createObjectIn:!1,exportFunction:!1,GM:!1,GM_addStyle:!1,GM_deleteValue:!1,GM_getResourceText:!1,GM_getResourceURL:!1,GM_getValue:!1,GM_info:!1,GM_listValues:!1,GM_log:!1,GM_openInTab:!1,GM_registerMenuCommand:!1,GM_setClipboard:!1,GM_setValue:!1,GM_xmlhttpRequest:!1,unsafeWindow:!1},devtools:{$:!1,$_:!1,$$:!1,$0:!1,$1:!1,$2:!1,$3:!1,$4:!1,$x:!1,chrome:!1,clear:!1,copy:!1,debug:!1,dir:!1,dirxml:!1,getEventListeners:!1,inspect:!1,keys:!1,monitor:!1,monitorEvents:!1,profile:!1,profileEnd:!1,queryObjects:!1,table:!1,undebug:!1,unmonitor:!1,unmonitorEvents:!1,values:!1}};function hj(){return mj?gj:(mj=1,gj=yj)}function bj(e){return null!=e&&e&&"false"!==e&&"0"!==e}var vj=(bj(ki.env.BABEL_8_BREAKING),hj()),Rj=Do,xj=Qd,jj=Sv,Ej=YR,wj=uc,Sj=re,Tj=Fn,Pj=ps,Aj=rt,kj=nt,Cj=st,_j=it,Ij=ot,Dj=xe,Oj=Ee,Nj=lt,Bj=ss,Mj=os,Lj=ms,Fj=Ae,Uj=Ne,qj=cs,Wj=es,Gj=Ce,Vj=vt,Hj=Rt,Kj=jt,zj=Ve,Yj=ze,Xj=Xe,Jj=Bs,$j=Rc,Qj=mc,Zj=LR,eE=Mc,tE=Lc,rE=ha,aE=ba,nE=Me,sE=xa,iE=mt,oE=Ot,dE=gs,cE=xv;function lE(e,t){switch(null==e?void 0:e.type){default:var r;if(Nj(e)||dE(e))if((Cj(e)||Ij(e)||Nj(e))&&e.source)lE(e.source,t);else if((Ij(e)||Nj(e))&&null!=(r=e.specifiers)&&r.length)for(var a,n=C(e.specifiers);!(a=n()).done;)lE(a.value,t);else(_j(e)||Ij(e))&&e.declaration&&lE(e.declaration,t);else Lj(e)?lE(e.local,t):!Bj(e)||Fj(e)||Gj(e)||Kj(e)||t.push(e.value);break;case"MemberExpression":case"OptionalMemberExpression":case"JSXMemberExpression":lE(e.object,t),lE(e.property,t);break;case"Identifier":case"JSXIdentifier":t.push(e.name);break;case"CallExpression":case"OptionalCallExpression":case"NewExpression":lE(e.callee,t);break;case"ObjectExpression":case"ObjectPattern":for(var s,i=C(e.properties);!(s=i()).done;)lE(s.value,t);break;case"SpreadElement":case"RestElement":case"UnaryExpression":case"UpdateExpression":lE(e.argument,t);break;case"ObjectProperty":case"ObjectMethod":case"ClassProperty":case"ClassMethod":case"ClassPrivateProperty":case"ClassPrivateMethod":lE(e.key,t);break;case"ThisExpression":t.push("this");break;case"Super":t.push("super");break;case"Import":t.push("import");break;case"DoExpression":t.push("do");break;case"YieldExpression":t.push("yield"),lE(e.argument,t);break;case"AwaitExpression":t.push("await"),lE(e.argument,t);break;case"AssignmentExpression":lE(e.left,t);break;case"VariableDeclarator":case"FunctionExpression":case"FunctionDeclaration":case"ClassExpression":case"ClassDeclaration":case"PrivateName":lE(e.id,t);break;case"ParenthesizedExpression":lE(e.expression,t);break;case"MetaProperty":lE(e.meta,t),lE(e.property,t);break;case"JSXElement":lE(e.openingElement,t);break;case"JSXOpeningElement":lE(e.name,t);break;case"JSXFragment":lE(e.openingFragment,t);break;case"JSXOpeningFragment":t.push("Fragment");break;case"JSXNamespacedName":lE(e.namespace,t),lE(e.name,t)}}var uE={ForStatement:function(e){var t=e.get("init");if(t.isVar()){var r=e.scope;(r.getFunctionParent()||r.getProgramParent()).registerBinding("var",t)}},Declaration:function(e){e.isBlockScoped()||e.isImportDeclaration()||e.isExportDeclaration()||(e.scope.getFunctionParent()||e.scope.getProgramParent()).registerDeclaration(e)},ImportDeclaration:function(e){e.scope.getBlockParent().registerDeclaration(e)},ReferencedIdentifier:function(e,t){t.references.push(e)},ForXStatement:function(e,t){var r=e.get("left");if(r.isPattern()||r.isIdentifier())t.constantViolations.push(e);else if(r.isVar()){var a=e.scope;(a.getFunctionParent()||a.getProgramParent()).registerBinding("var",r)}},ExportDeclaration:{exit:function(e){var t=e.node,r=e.scope;if(!Cj(t)){var a=t.declaration;if(kj(a)||Dj(a)){var n=a.id;if(!n)return;var s=r.getBinding(n.name);null==s||s.reference(e)}else if(Xj(a))for(var i,o=C(a.declarations);!(i=o()).done;)for(var d=i.value,c=0,l=Object.keys(Ej(d));c1&&(r+=t),"_"+r},t.generateUidBasedOnNode=function(e,t){var r=[];lE(e,r);var a=r.join("$");return a=a.replace(/^_/,"")||t||"ref",this.generateUid(a.slice(0,20))},t.generateUidIdentifierBasedOnNode=function(e,t){return wj(this.generateUidBasedOnNode(e,t))},t.isStatic=function(e){if(zj(e)||Vj(e)||sE(e))return!0;if(Oj(e)){var t=this.getBinding(e.name);return t?t.constant:this.hasBinding(e.name)}return!1},t.maybeGenerateMemoised=function(e,t){if(this.isStatic(e))return null;var r=this.generateUidIdentifierBasedOnNode(e);return t?r:(this.push({id:r}),jj(r))},t.checkBlockScopedCollisions=function(e,t,r,a){if("param"!==t&&"local"!==e.kind&&("let"===t||"let"===e.kind||"const"===e.kind||"module"===e.kind||"param"===e.kind&&"const"===t))throw this.hub.buildError(a,'Duplicate declaration "'+r+'"',TypeError)},t.rename=function(e,t){var r=this.getBinding(e);r&&(t||(t=this.generateUidIdentifier(e).name),new uj(r,e,t).rename(arguments[2]))},t._renameFromMap=function(e,t,r,a){e[t]&&(e[r]=a,e[t]=null)},t.dump=function(){var e="-".repeat(60);console.log(e);var t=this;do{console.log("#",t.block.type);for(var r=0,a=Object.keys(t.bindings);r0)&&this.isPure(e.body,t);if(Aj(e)){for(var i,o=C(e.body);!(i=o()).done;){var d=i.value;if(!this.isPure(d,t))return!1}return!0}if(Tj(e))return this.isPure(e.left,t)&&this.isPure(e.right,t);if(Sj(e)||aE(e)){for(var c,l=C(e.elements);!(c=l()).done;){var u=c.value;if(null!==u&&!this.isPure(u,t))return!1}return!0}if(Uj(e)||rE(e)){for(var p,f=C(e.properties);!(p=f()).done;){var g=p.value;if(!this.isPure(g,t))return!1}return!0}if(Mj(e))return!(e.computed&&!this.isPure(e.key,t))&&!((null==(n=e.decorators)?void 0:n.length)>0);if(qj(e))return!(e.computed&&!this.isPure(e.key,t))&&!((null==(s=e.decorators)?void 0:s.length)>0)&&!((nE(e)||e.static)&&null!==e.value&&!this.isPure(e.value,t));if(Yj(e))return this.isPure(e.argument,t);if(Hj(e))return Jj(e.tag,"String.raw")&&!this.hasBinding("String",!0)&&this.isPure(e.quasi,t);if(Kj(e)){for(var m,y=C(e.expressions);!(m=y()).done;){var h=m.value;if(!this.isPure(h,t))return!1}return!0}return Wj(e)},t.setData=function(e,t){return this.data[e]=t},t.getData=function(e){var t=this;do{var r=t.data[e];if(null!=r)return r}while(t=t.parent)},t.removeData=function(e){var t=this;do{null!=t.data[e]&&(t.data[e]=null)}while(t=t.parent)},t.init=function(){this.inited||(this.inited=!0,this.crawl())},t.crawl=function(){var e=this.path;this.references=Object.create(null),this.bindings=Object.create(null),this.globals=Object.create(null),this.uids=Object.create(null),this.data=Object.create(null);var t=this.getProgramParent();if(!t.crawling){var r={references:[],constantViolations:[],assignments:[]};if(this.crawling=!0,"Program"!==e.type&&Px(uE)){for(var a,n=C(uE.enter);!(a=n()).done;)a.value.call(r,e,r);var s=uE[e.type];if(s)for(var i,o=C(s.enter);!(i=o()).done;)i.value.call(r,e,r)}e.traverse(uE,r),this.crawling=!1;for(var d,c=C(r.assignments);!(d=c()).done;){for(var l=d.value,u=l.getBindingIdentifiers(),p=0,f=Object.keys(u);p0)throw new Error("Invalid string. Length must be a multiple of 4");s="="===e[o-2]?2:"="===e[o-1]?1:0,i=new RE(3*o/4-s),a=s>0?o-4:o;var d=0;for(t=0,r=0;t>16&255,i[d++]=n>>8&255,i[d++]=255&n;return 2===s?(n=vE[e.charCodeAt(t)]<<2|vE[e.charCodeAt(t+1)]>>4,i[d++]=255&n):1===s&&(n=vE[e.charCodeAt(t)]<<10|vE[e.charCodeAt(t+1)]<<4|vE[e.charCodeAt(t+2)]>>2,i[d++]=n>>8&255,i[d++]=255&n),i}function wE(e){return bE[e>>18&63]+bE[e>>12&63]+bE[e>>6&63]+bE[63&e]}function SE(e,t,r){for(var a,n=[],s=t;sd?d:o+i));return 1===a?(t=e[r-1],n+=bE[t>>2],n+=bE[t<<4&63],n+="=="):2===a&&(t=(e[r-2]<<8)+e[r-1],n+=bE[t>>10],n+=bE[t>>4&63],n+=bE[t<<2&63],n+="="),s.push(n),s.join("")}function PE(e,t,r,a,n){var s,i,o=8*n-a-1,d=(1<>1,l=-7,u=r?n-1:0,p=r?-1:1,f=e[t+u];for(u+=p,s=f&(1<<-l)-1,f>>=-l,l+=o;l>0;s=256*s+e[t+u],u+=p,l-=8);for(i=s&(1<<-l)-1,s>>=-l,l+=a;l>0;i=256*i+e[t+u],u+=p,l-=8);if(0===s)s=1-c;else{if(s===d)return i?NaN:1/0*(f?-1:1);i+=Math.pow(2,a),s-=c}return(f?-1:1)*i*Math.pow(2,s-a)}function AE(e,t,r,a,n,s){var i,o,d,c=8*s-n-1,l=(1<>1,p=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,f=a?0:s-1,g=a?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,i=l):(i=Math.floor(Math.log(t)/Math.LN2),t*(d=Math.pow(2,-i))<1&&(i--,d*=2),(t+=i+u>=1?p/d:p*Math.pow(2,1-u))*d>=2&&(i++,d/=2),i+u>=l?(o=0,i=l):i+u>=1?(o=(t*d-1)*Math.pow(2,n),i+=u):(o=t*Math.pow(2,u-1)*Math.pow(2,n),i=0));n>=8;e[r+f]=255&o,f+=g,o/=256,n-=8);for(i=i<0;e[r+f]=255&i,f+=g,i/=256,c-=8);e[r+f-g]|=128*m}var kE={}.toString,CE=Array.isArray||function(e){return"[object Array]"==kE.call(e)},_E=50;function IE(){return OE.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function DE(e,t){if(IE()=IE())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+IE().toString(16)+" bytes");return 0|e}function VE(e){return!(null==e||!e._isBuffer)}function HE(e,t){if(VE(e))return e.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!==typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var a=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return xw(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return ww(e).length;default:if(a)return xw(e).length;t=(""+t).toLowerCase(),a=!0}}function KE(e,t,r){var a=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return dw(this,t,r);case"utf8":case"utf-8":return aw(this,t,r);case"ascii":return iw(this,t,r);case"latin1":case"binary":return ow(this,t,r);case"base64":return rw(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return cw(this,t,r);default:if(a)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),a=!0}}function zE(e,t,r){var a=e[t];e[t]=e[r],e[r]=a}function YE(e,t,r,a,n){if(0===e.length)return-1;if("string"===typeof r?(a=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=n?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(n)return-1;r=e.length-1}else if(r<0){if(!n)return-1;r=0}if("string"===typeof t&&(t=OE.from(t,a)),VE(t))return 0===t.length?-1:XE(e,t,r,a,n);if("number"===typeof t)return t&=255,OE.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):XE(e,[t],r,a,n);throw new TypeError("val must be string, number or Buffer")}function XE(e,t,r,a,n){var s,i=1,o=e.length,d=t.length;if(void 0!==a&&("ucs2"===(a=String(a).toLowerCase())||"ucs-2"===a||"utf16le"===a||"utf-16le"===a)){if(e.length<2||t.length<2)return-1;i=2,o/=2,d/=2,r/=2}function c(e,t){return 1===i?e[t]:e.readUInt16BE(t*i)}if(n){var l=-1;for(s=r;so&&(r=o-d),s=r;s>=0;s--){for(var u=!0,p=0;pn&&(a=n):a=n;var s=t.length;if(s%2!==0)throw new TypeError("Invalid hex string");a>s/2&&(a=s/2);for(var i=0;i239?4:c>223?3:c>191?2:1;if(n+u<=r)switch(u){case 1:c<128&&(l=c);break;case 2:128===(192&(s=e[n+1]))&&(d=(31&c)<<6|63&s)>127&&(l=d);break;case 3:s=e[n+1],i=e[n+2],128===(192&s)&&128===(192&i)&&(d=(15&c)<<12|(63&s)<<6|63&i)>2047&&(d<55296||d>57343)&&(l=d);break;case 4:s=e[n+1],i=e[n+2],o=e[n+3],128===(192&s)&&128===(192&i)&&128===(192&o)&&(d=(15&c)<<18|(63&s)<<12|(63&i)<<6|63&o)>65535&&d<1114112&&(l=d)}null===l?(l=65533,u=1):l>65535&&(l-=65536,a.push(l>>>10&1023|55296),l=56320|1023&l),a.push(l),n+=u}return sw(a)}OE.TYPED_ARRAY_SUPPORT=void 0===Us.TYPED_ARRAY_SUPPORT||Us.TYPED_ARRAY_SUPPORT,IE(),OE.poolSize=8192,OE._augment=function(e){return e.__proto__=OE.prototype,e},OE.from=function(e,t,r){return NE(null,e,t,r)},OE.TYPED_ARRAY_SUPPORT&&(OE.prototype.__proto__=Uint8Array.prototype,OE.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&OE[Symbol.species]),OE.alloc=function(e,t,r){return ME(null,e,t,r)},OE.allocUnsafe=function(e){return LE(null,e)},OE.allocUnsafeSlow=function(e){return LE(null,e)},OE.isBuffer=Pw,OE.compare=function(e,t){if(!VE(e)||!VE(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,a=t.length,n=0,s=Math.min(r,a);n0&&(e=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(e+=" ... ")),""},OE.prototype.compare=function(e,t,r,a,n){if(!VE(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===a&&(a=0),void 0===n&&(n=this.length),t<0||r>e.length||a<0||n>this.length)throw new RangeError("out of range index");if(a>=n&&t>=r)return 0;if(a>=n)return-1;if(t>=r)return 1;if(this===e)return 0;for(var s=(n>>>=0)-(a>>>=0),i=(r>>>=0)-(t>>>=0),o=Math.min(s,i),d=this.slice(a,n),c=e.slice(t,r),l=0;ln)&&(r=n),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");a||(a="utf8");for(var s=!1;;)switch(a){case"hex":return JE(this,e,t,r);case"utf8":case"utf-8":return $E(this,e,t,r);case"ascii":return QE(this,e,t,r);case"latin1":case"binary":return ZE(this,e,t,r);case"base64":return ew(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return tw(this,e,t,r);default:if(s)throw new TypeError("Unknown encoding: "+a);a=(""+a).toLowerCase(),s=!0}},OE.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var nw=4096;function sw(e){var t=e.length;if(t<=nw)return String.fromCharCode.apply(String,e);for(var r="",a=0;aa)&&(r=a);for(var n="",s=t;sr)throw new RangeError("Trying to access beyond buffer length")}function uw(e,t,r,a,n,s){if(!VE(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>n||te.length)throw new RangeError("Index out of range")}function pw(e,t,r,a){t<0&&(t=65535+t+1);for(var n=0,s=Math.min(e.length-r,2);n>>8*(a?n:1-n)}function fw(e,t,r,a){t<0&&(t=4294967295+t+1);for(var n=0,s=Math.min(e.length-r,4);n>>8*(a?n:3-n)&255}function gw(e,t,r,a,n,s){if(r+a>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function mw(e,t,r,a,n){return n||gw(e,t,r,4),AE(e,t,r,a,23,4),r+4}function yw(e,t,r,a,n){return n||gw(e,t,r,8),AE(e,t,r,a,52,8),r+8}OE.prototype.slice=function(e,t){var r,a=this.length;if((e=~~e)<0?(e+=a)<0&&(e=0):e>a&&(e=a),(t=void 0===t?a:~~t)<0?(t+=a)<0&&(t=0):t>a&&(t=a),t0&&(n*=256);)a+=this[e+--t]*n;return a},OE.prototype.readUInt8=function(e,t){return t||lw(e,1,this.length),this[e]},OE.prototype.readUInt16LE=function(e,t){return t||lw(e,2,this.length),this[e]|this[e+1]<<8},OE.prototype.readUInt16BE=function(e,t){return t||lw(e,2,this.length),this[e]<<8|this[e+1]},OE.prototype.readUInt32LE=function(e,t){return t||lw(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},OE.prototype.readUInt32BE=function(e,t){return t||lw(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},OE.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||lw(e,t,this.length);for(var a=this[e],n=1,s=0;++s=(n*=128)&&(a-=Math.pow(2,8*t)),a},OE.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||lw(e,t,this.length);for(var a=t,n=1,s=this[e+--a];a>0&&(n*=256);)s+=this[e+--a]*n;return s>=(n*=128)&&(s-=Math.pow(2,8*t)),s},OE.prototype.readInt8=function(e,t){return t||lw(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},OE.prototype.readInt16LE=function(e,t){t||lw(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},OE.prototype.readInt16BE=function(e,t){t||lw(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},OE.prototype.readInt32LE=function(e,t){return t||lw(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},OE.prototype.readInt32BE=function(e,t){return t||lw(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},OE.prototype.readFloatLE=function(e,t){return t||lw(e,4,this.length),PE(this,e,!0,23,4)},OE.prototype.readFloatBE=function(e,t){return t||lw(e,4,this.length),PE(this,e,!1,23,4)},OE.prototype.readDoubleLE=function(e,t){return t||lw(e,8,this.length),PE(this,e,!0,52,8)},OE.prototype.readDoubleBE=function(e,t){return t||lw(e,8,this.length),PE(this,e,!1,52,8)},OE.prototype.writeUIntLE=function(e,t,r,a){e=+e,t|=0,r|=0,a||uw(this,e,t,r,Math.pow(2,8*r)-1,0);var n=1,s=0;for(this[t]=255&e;++s=0&&(s*=256);)this[t+n]=e/s&255;return t+r},OE.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||uw(this,e,t,1,255,0),OE.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},OE.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||uw(this,e,t,2,65535,0),OE.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):pw(this,e,t,!0),t+2},OE.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||uw(this,e,t,2,65535,0),OE.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):pw(this,e,t,!1),t+2},OE.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||uw(this,e,t,4,4294967295,0),OE.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):fw(this,e,t,!0),t+4},OE.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||uw(this,e,t,4,4294967295,0),OE.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):fw(this,e,t,!1),t+4},OE.prototype.writeIntLE=function(e,t,r,a){if(e=+e,t|=0,!a){var n=Math.pow(2,8*r-1);uw(this,e,t,r,n-1,-n)}var s=0,i=1,o=0;for(this[t]=255&e;++s>0)-o&255;return t+r},OE.prototype.writeIntBE=function(e,t,r,a){if(e=+e,t|=0,!a){var n=Math.pow(2,8*r-1);uw(this,e,t,r,n-1,-n)}var s=r-1,i=1,o=0;for(this[t+s]=255&e;--s>=0&&(i*=256);)e<0&&0===o&&0!==this[t+s+1]&&(o=1),this[t+s]=(e/i>>0)-o&255;return t+r},OE.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||uw(this,e,t,1,127,-128),OE.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},OE.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||uw(this,e,t,2,32767,-32768),OE.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):pw(this,e,t,!0),t+2},OE.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||uw(this,e,t,2,32767,-32768),OE.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):pw(this,e,t,!1),t+2},OE.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||uw(this,e,t,4,2147483647,-2147483648),OE.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):fw(this,e,t,!0),t+4},OE.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||uw(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),OE.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):fw(this,e,t,!1),t+4},OE.prototype.writeFloatLE=function(e,t,r){return mw(this,e,t,!0,r)},OE.prototype.writeFloatBE=function(e,t,r){return mw(this,e,t,!1,r)},OE.prototype.writeDoubleLE=function(e,t,r){return yw(this,e,t,!0,r)},OE.prototype.writeDoubleBE=function(e,t,r){return yw(this,e,t,!1,r)},OE.prototype.copy=function(e,t,r,a){if(r||(r=0),a||0===a||(a=this.length),t>=e.length&&(t=e.length),t||(t=0),a>0&&a=this.length)throw new RangeError("sourceStart out of bounds");if(a<0)throw new RangeError("sourceEnd out of bounds");a>this.length&&(a=this.length),e.length-t=0;--n)e[n+t]=this[n+r];else if(s<1e3||!OE.TYPED_ARRAY_SUPPORT)for(n=0;n>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"===typeof e)for(s=t;s55295&&r<57344){if(!n){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(i+1===a){(t-=3)>-1&&s.push(239,191,189);continue}n=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(t-=3)>-1&&s.push(239,191,189);if(n=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function jw(e){for(var t=[],r=0;r>8,n=r%256,s.push(n),s.push(a);return s}function ww(e){return EE(bw(e))}function Sw(e,t,r,a){for(var n=0;n=t.length||n>=e.length);++n)t[n+r]=e[n];return n}function Tw(e){return e!==e}function Pw(e){return null!=e&&(!!e._isBuffer||Aw(e)||kw(e))}function Aw(e){return!!e.constructor&&"function"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function kw(e){return"function"===typeof e.readFloatLE&&"function"===typeof e.slice&&Aw(e.slice(0,0))}var Cw,_w={exports:{}};function Iw(){return Cw||(Cw=1,function(e,t){!function(e,r){r(t)}(0,(function(e){for(var t=",".charCodeAt(0),r=";".charCodeAt(0),a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=new Uint8Array(64),s=new Uint8Array(128),i=0;i>>=1,c&&(n=-2147483648|-n),r[a]+=n,t}function p(e,r,a){return!(r>=a)&&e.charCodeAt(r)!==t}function f(e){e.sort(g)}function g(e,t){return e[0]-t[0]}function m(e){for(var a=new Int32Array(5),n=16384,s=n-36,i=new Uint8Array(n),o=i.subarray(0,s),c=0,l="",u=0;u0&&(c===n&&(l+=d.decode(i),c=0),i[c++]=r),0!==p.length){a[0]=0;for(var f=0;fs&&(l+=d.decode(o),i.copyWithin(0,s,c),c-=s),f>0&&(i[c++]=t),c=y(i,c,a,g,0),1!==g.length&&(c=y(i,c,a,g,1),c=y(i,c,a,g,2),c=y(i,c,a,g,3),4!==g.length&&(c=y(i,c,a,g,4)))}}}return l+d.decode(i.subarray(0,c))}function y(e,t,r,a,s){var i=a[s],o=i-r[s];r[s]=i,o=o<0?-o<<1|1:o<<1;do{var d=31&o;(o>>>=5)>0&&(d|=32),e[t++]=n[d]}while(o>0);return t}e.decode=c,e.encode=m,Object.defineProperty(e,"__esModule",{value:!0})}))}(0,_w.exports)),_w.exports}var Dw,Ow={exports:{}},Nw={exports:{}};function Bw(){return Dw||(Dw=1,function(e,t){!function(e,r){r(t)}(0,(function(e){for(var t=",".charCodeAt(0),r=";".charCodeAt(0),a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=new Uint8Array(64),s=new Uint8Array(128),i=0;i>>=1,c&&(n=-2147483648|-n),r[a]+=n,t}function p(e,r,a){return!(r>=a)&&e.charCodeAt(r)!==t}function f(e){e.sort(g)}function g(e,t){return e[0]-t[0]}function m(e){for(var a=new Int32Array(5),n=16384,s=n-36,i=new Uint8Array(n),o=i.subarray(0,s),c=0,l="",u=0;u0&&(c===n&&(l+=d.decode(i),c=0),i[c++]=r),0!==p.length){a[0]=0;for(var f=0;fs&&(l+=d.decode(o),i.copyWithin(0,s,c),c-=s),f>0&&(i[c++]=t),c=y(i,c,a,g,0),1!==g.length&&(c=y(i,c,a,g,1),c=y(i,c,a,g,2),c=y(i,c,a,g,3),4!==g.length&&(c=y(i,c,a,g,4)))}}}return l+d.decode(i.subarray(0,c))}function y(e,t,r,a,s){var i=a[s],o=i-r[s];r[s]=i,o=o<0?-o<<1|1:o<<1;do{var d=31&o;(o>>>=5)>0&&(d|=32),e[t++]=n[d]}while(o>0);return t}e.decode=c,e.encode=m,Object.defineProperty(e,"__esModule",{value:!0})}))}(0,Nw.exports)),Nw.exports}var Mw,Lw={exports:{}};function Fw(){return Mw||(Mw=1,e=Lw,function(t,r){e.exports=r()}(0,(function(){var e,t=/^[\w+.-]+:\/\//,r=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,a=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;function n(e){return t.test(e)}function s(e){return e.startsWith("//")}function i(e){return e.startsWith("/")}function o(e){return e.startsWith("file:")}function d(e){return/^[.?#]/.test(e)}function c(e){var t=r.exec(e);return u(t[1],t[2]||"",t[3],t[4]||"",t[5]||"/",t[6]||"",t[7]||"")}function l(e){var t=a.exec(e),r=t[2];return u("file:","",t[1]||"","",i(r)?r:"/"+r,t[3]||"",t[4]||"")}function u(t,r,a,n,s,i,o){return{scheme:t,user:r,host:a,port:n,path:s,query:i,hash:o,type:e.Absolute}}function p(t){if(s(t)){var r=c("http:"+t);return r.scheme="",r.type=e.SchemeRelative,r}if(i(t)){var a=c("http://foo.com"+t);return a.scheme="",a.host="",a.type=e.AbsolutePath,a}if(o(t))return l(t);if(n(t))return c(t);var d=c("http://foo.com/"+t);return d.scheme="",d.host="",d.type=t?t.startsWith("?")?e.Query:t.startsWith("#")?e.Hash:e.RelativePath:e.Empty,d}function f(e){if(e.endsWith("/.."))return e;var t=e.lastIndexOf("/");return e.slice(0,t+1)}function g(e,t){m(t,t.type),"/"===e.path?e.path=t.path:e.path=f(t.path)+e.path}function m(t,r){for(var a=r<=e.RelativePath,n=t.path.split("/"),s=1,i=0,o=!1,d=1;dn&&(n=i)}m(a,n);var o=a.query+a.hash;switch(n){case e.Hash:case e.Query:return o;case e.RelativePath:var c=a.path.slice(1);return c?d(r||t)&&!d(c)?"./"+c+o:c+o:o||".";case e.AbsolutePath:return a.path+o;default:return a.scheme+"//"+a.user+a.host+a.port+a.path+o}}return function(e){e[e.Empty=1]="Empty",e[e.Hash=2]="Hash",e[e.Query=3]="Query",e[e.RelativePath=4]="RelativePath",e[e.AbsolutePath=5]="AbsolutePath",e[e.SchemeRelative=6]="SchemeRelative",e[e.Absolute=7]="Absolute"}(e||(e={})),y}))),Lw.exports;var e}!function(e,t){!function(e,r){r(t,Bw(),Fw())}(0,(function(e,t,r){function a(e){return e&&"object"===typeof e&&"default"in e?e:{default:e}}var n=a(r);function s(e,t){return t&&!t.endsWith("/")&&(t+="/"),n.default(e,t)}function i(e){if(!e)return"";var t=e.lastIndexOf("/");return e.slice(0,t+1)}var o=0,d=1,l=2,u=3,p=4,f=1,g=2;function m(e,t){var r=y(e,0);if(r===e.length)return e;t||(e=e.slice());for(var a=r;a>1),s=e[n][o]-t;if(0===s)return R=!0,n;s<0?r=n+1:a=n-1}return R=!1,r-1}function j(e,t,r){for(var a=r+1;a=0&&e[a][o]===t;r=a--);return r}function w(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function S(e,t,r,a){var n=r.lastKey,s=r.lastNeedle,i=r.lastIndex,d=0,c=e.length-1;if(a===n){if(t===s)return R=-1!==i&&e[i][o]===t,i;t>=s?d=-1===i?0:i:c=i}return r.lastKey=a,r.lastNeedle=t,r.lastIndex=x(e,t,d,c)}function T(e,t){for(var r=t.map(A),a=0;at;a--)e[a]=e[a-1];e[t]=r}function A(){return{__proto__:null}}var k=function(t,r){var a="string"===typeof t?JSON.parse(t):t;if(!("sections"in a))return new L(a,r);var n=[],s=[],i=[],o=[];C(a,r,n,s,i,o,0,0,1/0,1/0);var d={version:3,file:a.file,names:o,sources:s,sourcesContent:i,mappings:n};return e.presortedDecodedMap(d)};function C(e,t,r,a,n,s,i,o,d,c){for(var l=e.sections,u=0;ug)return;for(var S=D(a,w),T=0===E?f:0,P=v[E],A=0;A=m)return;if(1!==k.length){var O=h+k[d],N=k[l],B=k[u];S.push(4===k.length?[_,O,N,B]:[_,O,N,B,b+k[p]])}else S.push([_])}}}function I(e,t){for(var r=0;r=n.length)return null;var s=n[r],i=W(s,t._decodedMemo,r,a,M);return-1===i?null:s[i]},e.originalPositionFor=function(t,r){var a=r.line,n=r.column,s=r.bias;if(--a<0)throw new Error(O);if(n<0)throw new Error(N);var i=e.decodedMappings(t);if(a>=i.length)return U(null,null,null,null);var o=i[a],c=W(o,t._decodedMemo,a,n,s||M);if(-1===c)return U(null,null,null,null);var f=o[c];if(1===f.length)return U(null,null,null,null);var g=t.names;return U(t.resolvedSources[f[d]],f[l]+1,f[u],5===f.length?g[f[p]]:null)},e.allGeneratedPositionsFor=function(e,t){return r(e,t.source,t.line,t.column,t.bias||B,!0)},e.generatedPositionFor=function(e,t){return r(e,t.source,t.line,t.column,t.bias||M,!1)},e.eachMapping=function(t,r){for(var a=e.decodedMappings(t),n=t.names,s=t.resolvedSources,i=0;i=0&&!(t>=e[a][s]);r=a--);return r}function m(e,t,r){for(var a=e.length;a>t;a--)e[a]=e[a-1];e[t]=r}function y(e){for(var t=e.length,r=t,a=r-1;a>=0&&!(e[a].length>0);r=a,a--);r1?String.fromCharCode(e).repeat(t):String.fromCharCode(e),10!==e?(this._mark(r.line,r.column,r.identifierName,r.identifierNamePos,r.filename),this._position.column+=t):(this._position.line++,this._position.column=0),this._canMarkIdName&&(r.identifierName=void 0,r.identifierNamePos=void 0)},t._append=function(e,t,r){var a=e.length,n=this._position;if(this._last=e.charCodeAt(a-1),++this._appendCount>4096?(this._str,this._buf+=this._str,this._str=e,this._appendCount=0):this._str+=e,r||this._map){var s=t.column,i=t.identifierName,o=t.identifierNamePos,d=t.filename,c=t.line;null==i&&null==o||!this._canMarkIdName||(t.identifierName=void 0,t.identifierNamePos=void 0);var l=e.indexOf("\n"),u=0;for(0!==l&&this._mark(c,s,i,o,d);-1!==l;)n.line++,n.column=0,(u=l+1)=0&&10===this._queue[r].char;r--)t++;return t===e&&10===this._last?t+1:t},t.endsWithCharAndNewline=function(){var e=this._queue,t=this._queueCursor;if(0!==t){if(10!==e[t-1].char)return;return t>1?e[t-2].char:this._last}},t.hasContent=function(){return 0!==this._queueCursor||!!this._last},t.exactSource=function(e,t){if(this._map){this.source("start",e);var r=e.identifierName,a=this._sourcePosition;r&&(this._canMarkIdName=!1,a.identifierName=r),t(),r&&(this._canMarkIdName=!0,a.identifierName=void 0,a.identifierNamePos=void 0),this.source("end",e)}else t()},t.source=function(e,t){this._map&&this._normalizePosition(e,t,0)},t.sourceWithOffset=function(e,t,r){this._map&&this._normalizePosition(e,t,r)},t.withSource=function(e,t,r){this._map&&this.source(e,t),r()},t._normalizePosition=function(e,t,r){var a=t[e],n=this._sourcePosition;a&&(n.line=a.line,n.column=Math.max(a.column+r,0),n.filename=t.filename)},t.getCurrentColumn=function(){for(var e=this._queue,t=this._queueCursor,r=-1,a=0,n=0;n":0,"&&":1,"|":2,"^":3,"&":4,"==":5,"===":5,"!=":5,"!==":5,"<":6,">":6,"<=":6,">=":6,in:6,instanceof:6,">>":7,"<<":7,">>>":7,"+":8,"-":8,"*":9,"/":9,"%":9,"**":10};function oT(e){return GS(e)||sT(e)||XS(e)}var dT=function(e,t){return hS(t,{superClass:e})},cT=function(e,t){return(DS(t)||LS(t))&&t.object===e||(yS(t)||MS(t)||OS(t))&&t.callee===e||$S(t)&&t.tag===e||KS(t)};function lT(e,t){return cS(t)}function uT(e,t,r){if(!(r.length<3))return tT(t)||_S(t)||cS(t)||ZS(t)&&lS(r[r.length-3])}function pT(e,t){return cT(e,t)||dT(e,t)}function fT(e,t,r){return OT(r,3)}function gT(e,t,r){return!e.async&&OT(r,1)}function mT(e,t){if("**"===e.operator&&gS(t,{operator:"**"}))return t.left===e;if(dT(e,t))return!0;if(cT(e,t)||eT(t)||pS(t))return!0;if(fS(t)){var r=t.operator,a=iT[r],n=e.operator,s=iT[n];if(a===s&&t.right===e&&!IS(t)||a>s)return!0}}function yT(e,t){return cS(t)||NS(t)||_S(t)||tT(t)}function hT(e,t){return CS(t,{objectType:e})}function bT(){return!0}function vT(e,t){return WS(t)||zS(t)||HS(t)||JS(t)||YS(t)}function RT(e,t){return WS(t)||zS(t)}function xT(e,t){return(yS(t)||MS(t)||OS(t)||VS(t))&&!!t.typeParameters}function jT(e,t){return"in"===e.operator&&(rT(t)||wS(t))}function ET(e,t){return!(PS(t)||QS(t)||FS(t)||kS(t)&&t.test===e||aT(t)&&t.test===e||SS(t)&&t.right===e||qS(t)&&t.discriminant===e||ES(t)&&t.expression===e)}function wT(e,t){return fS(t)||eT(t)||cT(e,t)||pS(t)&&nT(e)||RS(t)&&e===t.test||dT(e,t)}function ST(e,t,r){return OT(r,5)}function TT(e,t){return cT(e,t)||gS(t,{operator:"**",left:e})||dT(e,t)}function PT(e,t,r){return OT(r,5)}function AT(e,t){return xS(t)||kT(e,t)}function kT(e,t){return!!(eT(t)||fS(t)||RS(t,{test:e})||pS(t)||oT(t))||TT(e,t)}function CT(e,t){return yS(t,{callee:e})||DS(t,{object:e})}function _T(e,t){return!!BS(e.left)||kT(e,t)}function IT(e,t){if(oT(t))return!0;switch(e.operator){case"||":return!!IS(t)&&("??"===t.operator||"&&"===t.operator);case"&&":return IS(t,{operator:"??"});case"??":return IS(t)&&"??"!==t.operator}}function DT(e,t,r){var a;return!(null==(a=e.extra)||!a.parenthesized||!uS(t,{left:e})||!AS(t.right)&&!bS(t.right)||null!=t.right.id)||("let"===e.name?OT(r,DS(t,{object:e,computed:!0})||LS(t,{object:e,computed:!0,optional:!1})?57:32):"async"===e.name&&TS(t)&&e===t.left)}function OT(e,t){var r=1&t,a=2&t,n=4&t,s=8&t,i=16&t,o=32&t,d=e.length-1;if(!(d<=0)){for(var c=e[d],l=e[--d];d>=0;){if(r&&ES(l,{expression:c})||n&&jS(l,{declaration:c})||a&&lS(l,{body:c})||s&&PS(l,{init:c})||i&&SS(l,{left:c})||o&&TS(l,{left:c}))return!0;if(!(d>0&&(cT(c,l)&&!OS(l)||US(l)&&l.expressions[0]===c||mS(l)&&!l.prefix||vS(l,{test:c})||fS(l,{left:c})||uS(l,{left:c}))))return!1;c=l,l=e[--d]}return!1}}var NT=Bo,BT=le,MT=Ie,LT=De;function FT(e){var t={};function r(e,r){var a=t[e];t[e]=a?function(e,t,n){var s=a(e,t,n);return null==s?r(e,t,n):s}:r}for(var a=0,n=Object.keys(e);a1}),TP(t))if(PP(t)){if(t.init===e)return}else if(t.left===e)return;this.semicolon()}function $P(e){this.print(e.id,e),e.definite&&this.tokenChar(33),this.print(e.id.typeAnnotation,e),e.init&&(this.space(),this.tokenChar(61),this.space(),this.print(e.init,e))}var QP=it,ZP=ot;function eA(e,t){(QP(t)||ZP(t))&&this._shouldPrintDecoratorsBeforeExport(t)||this.printJoin(e.decorators,e),e.declare&&(this.word("declare"),this.space()),e.abstract&&(this.word("abstract"),this.space()),this.word("class"),e.id&&(this.space(),this.print(e.id,e)),this.print(e.typeParameters,e),e.superClass&&(this.space(),this.word("extends"),this.space(),this.print(e.superClass,e),this.print(e.superTypeParameters,e)),e.implements&&(this.space(),this.word("implements"),this.space(),this.printList(e.implements,e)),this.space(),this.print(e.body,e)}function tA(e){this.tokenChar(123),0===e.body.length?this.tokenChar(125):(this.newline(),this.printSequence(e.body,e,{indent:!0}),this.endsWith(10)||this.newline(),this.rightBrace(e))}function rA(e){var t;this.printJoin(e.decorators,e);var r=null==(t=e.key.loc)||null==(t=t.end)?void 0:t.line;r&&this.catchUp(r),this.tsPrintClassMemberModifiers(e),e.computed?(this.tokenChar(91),this.print(e.key,e),this.tokenChar(93)):(this._variance(e),this.print(e.key,e)),e.optional&&this.tokenChar(63),e.definite&&this.tokenChar(33),this.print(e.typeAnnotation,e),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value,e)),this.semicolon()}function aA(e){var t;this.printJoin(e.decorators,e);var r=null==(t=e.key.loc)||null==(t=t.end)?void 0:t.line;r&&this.catchUp(r),this.tsPrintClassMemberModifiers(e),this.word("accessor",!0),this.space(),e.computed?(this.tokenChar(91),this.print(e.key,e),this.tokenChar(93)):(this._variance(e),this.print(e.key,e)),e.optional&&this.tokenChar(63),e.definite&&this.tokenChar(33),this.print(e.typeAnnotation,e),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value,e)),this.semicolon()}function nA(e){this.printJoin(e.decorators,e),e.static&&(this.word("static"),this.space()),this.print(e.key,e),this.print(e.typeAnnotation,e),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value,e)),this.semicolon()}function sA(e){this._classMethodHead(e),this.space(),this.print(e.body,e)}function iA(e){this._classMethodHead(e),this.space(),this.print(e.body,e)}function oA(e){var t;this.printJoin(e.decorators,e);var r=null==(t=e.key.loc)||null==(t=t.end)?void 0:t.line;r&&this.catchUp(r),this.tsPrintClassMemberModifiers(e),this._methodHead(e)}function dA(e){this.word("static"),this.space(),this.tokenChar(123),0===e.body.length?this.tokenChar(125):(this.newline(),this.printSequence(e.body,e,{indent:!0}),this.rightBrace(e))}var cA=Ee;function lA(e,t,r){this.print(e.typeParameters,e);var a=vA.call(this,t,r);a&&this.sourceIdentifierName(a.name,a.pos),this.tokenChar(40),this._parameters(e.params,e),this.tokenChar(41);var n="ArrowFunctionExpression"===e.type;this.print(e.returnType,e,n),this._noLineTerminator=n}function uA(e,t){for(var r=e.length,a=0;a"),this.space(),this.print(e.body,e)}function bA(e,t){var r,a;return!!(e.typeParameters||e.returnType||e.predicate||t.typeAnnotation||t.optional||null!=(r=t.leadingComments)&&r.length||null!=(a=t.trailingComments)&&a.length)}function vA(e,t){var r=e;if(!r&&t){var a=t.type;"VariableDeclarator"===a?r=t.id:"AssignmentExpression"===a||"AssignmentPattern"===a?r=t.left:"ObjectProperty"===a||"ClassProperty"===a?t.computed&&"StringLiteral"!==t.key.type||(r=t.key):"ClassPrivateProperty"!==a&&"ClassAccessorProperty"!==a||(r=t.key)}if(r){var n,s,i;if("Identifier"===r.type)n={pos:null==(s=r.loc)?void 0:s.start,name:(null==(i=r.loc)?void 0:i.identifierName)||r.name};else if("PrivateName"===r.type){var o;n={pos:null==(o=r.loc)?void 0:o.start,name:"#"+r.id.name}}else if("StringLiteral"===r.type){var d;n={pos:null==(d=r.loc)?void 0:d.start,name:r.value}}return n}}var RA=nt,xA=ya,jA=Pt,EA=ut,wA=pt,SA=Gn;function TA(e){"type"!==e.importKind&&"typeof"!==e.importKind||(this.word(e.importKind),this.space()),this.print(e.imported,e),e.local&&e.local.name!==e.imported.name&&(this.space(),this.word("as"),this.space(),this.print(e.local,e))}function PA(e){this.print(e.local,e)}function AA(e){this.print(e.exported,e)}function kA(e){"type"===e.exportKind&&(this.word("type"),this.space()),this.print(e.local,e),e.exported&&e.local.name!==e.exported.name&&(this.space(),this.word("as"),this.space(),this.print(e.exported,e))}function CA(e){this.tokenChar(42),this.space(),this.word("as"),this.space(),this.print(e.exported,e)}var _A,IA,DA=!1;function OA(e){var t=this.format.importAttributesKeyword,r=e.attributes,a=e.assertions;!r||t||DA||(DA=!0,console.warn('You are using import attributes, without specifying the desired output syntax.\nPlease specify the "importAttributesKeyword" generator option, whose value can be one of:\n - "with" : `import { a } from "b" with { type: "json" };`\n - "assert" : `import { a } from "b" assert { type: "json" };`\n - "with-legacy" : `import { a } from "b" with type: "json";`\n'));var n="assert"===t||!t&&a;this.word(n?"assert":"with"),this.space(),n||"with"===t?(this.tokenChar(123),this.space(),this.printList(r||a,e),this.space(),this.tokenChar(125)):this.printList(r||a,e)}function NA(e){var t,r;this.word("export"),this.space(),"type"===e.exportKind&&(this.word("type"),this.space()),this.tokenChar(42),this.space(),this.word("from"),this.space(),null!=(t=e.attributes)&&t.length||null!=(r=e.assertions)&&r.length?(this.print(e.source,e,!0),this.space(),this._printAttributes(e)):this.print(e.source,e),this.semicolon()}function BA(e,t){RA(t.declaration)&&e._shouldPrintDecoratorsBeforeExport(t)&&e.printJoin(t.declaration.decorators,t)}function MA(e){if(BA(this,e),this.word("export"),this.space(),e.declaration){var t=e.declaration;this.print(t,e),SA(t)||this.semicolon()}else{"type"===e.exportKind&&(this.word("type"),this.space());for(var r,a,n=e.specifiers.slice(0),s=!1;;){var i=n[0];if(!xA(i)&&!jA(i))break;s=!0,this.print(n.shift(),e),n.length&&(this.tokenChar(44),this.space())}(n.length||!n.length&&!s)&&(this.tokenChar(123),n.length&&(this.space(),this.printList(n,e),this.space()),this.tokenChar(125)),e.source&&(this.space(),this.word("from"),this.space(),null!=(r=e.attributes)&&r.length||null!=(a=e.assertions)&&a.length?(this.print(e.source,e,!0),this.space(),this._printAttributes(e)):this.print(e.source,e)),this.semicolon()}}function LA(e){BA(this,e),this.word("export"),this.noIndentInnerCommentsHere(),this.space(),this.word("default"),this.space();var t=e.declaration;this.print(t,e),SA(t)||this.semicolon()}function FA(e){var t,r;this.word("import"),this.space();var a="type"===e.importKind||"typeof"===e.importKind;a?(this.noIndentInnerCommentsHere(),this.word(e.importKind),this.space()):e.module?(this.noIndentInnerCommentsHere(),this.word("module"),this.space()):e.phase&&(this.noIndentInnerCommentsHere(),this.word(e.phase),this.space());for(var n=e.specifiers.slice(0),s=!!n.length;s;){var i=n[0];if(!EA(i)&&!wA(i))break;this.print(n.shift(),e),n.length&&(this.tokenChar(44),this.space())}n.length?(this.tokenChar(123),this.space(),this.printList(n,e),this.space(),this.tokenChar(125)):a&&!s&&(this.tokenChar(123),this.tokenChar(125)),(s||a)&&(this.space(),this.word("from"),this.space()),null!=(t=e.attributes)&&t.length||null!=(r=e.assertions)&&r.length?(this.print(e.source,e,!0),this.space(),this._printAttributes(e)):this.print(e.source,e),this.semicolon()}function UA(e){this.print(e.key),this.tokenChar(58),this.space(),this.print(e.value)}function qA(e){this.tokenChar(42),this.space(),this.word("as"),this.space(),this.print(e.local,e)}function WA(e){this.word("import"),e.phase&&(this.tokenChar(46),this.word(e.phase)),this.tokenChar(40),this.print(e.source,e),null!=e.options&&(this.tokenChar(44),this.space(),this.print(e.options,e)),this.tokenChar(41)}function GA(){if(IA)return _A;IA=1;var e={},t=e.hasOwnProperty,r=function(e,r){for(var a in e)t.call(e,a)&&r(a,e[a])},a=function(e,t){return t?(r(t,(function(t,r){e[t]=r})),e):e},n=function(e,t){for(var r=e.length,a=-1;++a=55296&&U<=56319&&L>M+1){var q=B.charCodeAt(M+1);if(q>=56320&&q<=57343){var W=(1024*(U-55296)+q-56320+65536).toString(16);w||(W=W.toUpperCase()),x+="\\u{"+W+"}",++M;continue}}}if(!s.escapeEverything){if(h.test(F)){x+=F;continue}if('"'==F){x+=j==F?'\\"':F;continue}if("`"==F){x+=j==F?"\\`":F;continue}if("'"==F){x+=j==F?"\\'":F;continue}}if("\0"!=F||R||y.test(B.charAt(M+1)))if(m.test(F))x+=g[F];else{var G=F.charCodeAt(0);if(s.minimal&&8232!=G&&8233!=G)x+=F;else{var V=G.toString(16);w||(V=V.toUpperCase());var H=V.length>2||R,K="\\"+(H?"u":"x")+("0000"+V).slice(H?-4:-2);x+=K}}else x+="\\0"}return s.wrap&&(x=j+x+j),"`"==j&&(x=x.replace(/\$\{/g,"\\${")),s.isScriptContext?x.replace(/<\/(script|style)/gi,"<\\/$1").replace(/` line comment\n const comment = this.skipLineComment(3);\n if (comment !== undefined) {\n this.addComment(comment);\n if (this.options.attachComment) comments.push(comment);\n }\n } else {\n break loop;\n }\n } else if (\n ch === charCodes.lessThan &&\n !this.inModule &&\n this.options.annexB\n ) {\n const pos = this.state.pos;\n if (\n this.input.charCodeAt(pos + 1) === charCodes.exclamationMark &&\n this.input.charCodeAt(pos + 2) === charCodes.dash &&\n this.input.charCodeAt(pos + 3) === charCodes.dash\n ) {\n // ` * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0\nfunction replaceTildes (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceTilde(comp, options)\n }).join(' ')\n}\n\nfunction replaceTilde (comp, options) {\n var r = options.loose ? safeRe[t.TILDELOOSE] : safeRe[t.TILDE]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('tilde', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0\n// ^1.2.3 --> >=1.2.3 <2.0.0\n// ^1.2.0 --> >=1.2.0 <2.0.0\nfunction replaceCarets (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceCaret(comp, options)\n }).join(' ')\n}\n\nfunction replaceCaret (comp, options) {\n debug('caret', comp, options)\n var r = options.loose ? safeRe[t.CARETLOOSE] : safeRe[t.CARET]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('caret', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n if (M === '0') {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else {\n ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + (+M + 1) + '.0.0'\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + (+M + 1) + '.0.0'\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nfunction replaceXRanges (comp, options) {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map(function (comp) {\n return replaceXRange(comp, options)\n }).join(' ')\n}\n\nfunction replaceXRange (comp, options) {\n comp = comp.trim()\n var r = options.loose ? safeRe[t.XRANGELOOSE] : safeRe[t.XRANGE]\n return comp.replace(r, function (ret, gtlt, M, m, p, pr) {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n var xM = isX(M)\n var xm = xM || isX(m)\n var xp = xm || isX(p)\n var anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n // >1.2.3 => >= 1.2.4\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n ret = gtlt + M + '.' + m + '.' + p + pr\n } else if (xm) {\n ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr\n } else if (xp) {\n ret = '>=' + M + '.' + m + '.0' + pr +\n ' <' + M + '.' + (+m + 1) + '.0' + pr\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nfunction replaceStars (comp, options) {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(safeRe[t.STAR], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0\nfunction hyphenReplace ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = '>=' + fM + '.0.0'\n } else if (isX(fp)) {\n from = '>=' + fM + '.' + fm + '.0'\n } else {\n from = '>=' + from\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = '<' + (+tM + 1) + '.0.0'\n } else if (isX(tp)) {\n to = '<' + tM + '.' + (+tm + 1) + '.0'\n } else if (tpr) {\n to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr\n } else {\n to = '<=' + to\n }\n\n return (from + ' ' + to).trim()\n}\n\n// if ANY of the sets match ALL of its comparators, then pass\nRange.prototype.test = function (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (var i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n}\n\nfunction testSet (set, version, options) {\n for (var i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n var allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n\nexports.satisfies = satisfies\nfunction satisfies (version, range, options) {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\n\nexports.maxSatisfying = maxSatisfying\nfunction maxSatisfying (versions, range, options) {\n var max = null\n var maxSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\n\nexports.minSatisfying = minSatisfying\nfunction minSatisfying (versions, range, options) {\n var min = null\n var minSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\n\nexports.minVersion = minVersion\nfunction minVersion (range, loose) {\n range = new Range(range, loose)\n\n var minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n comparators.forEach(function (comparator) {\n // Clone to avoid manipulating the comparator's semver object.\n var compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!minver || gt(minver, compver)) {\n minver = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error('Unexpected operation: ' + comparator.operator)\n }\n })\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\n\nexports.validRange = validRange\nfunction validRange (range, options) {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\n\n// Determine if version is less than all the versions possible in the range\nexports.ltr = ltr\nfunction ltr (version, range, options) {\n return outside(version, range, '<', options)\n}\n\n// Determine if version is greater than all the versions possible in the range.\nexports.gtr = gtr\nfunction gtr (version, range, options) {\n return outside(version, range, '>', options)\n}\n\nexports.outside = outside\nfunction outside (version, range, hilo, options) {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n var gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisifes the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n var high = null\n var low = null\n\n comparators.forEach(function (comparator) {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nexports.prerelease = prerelease\nfunction prerelease (version, options) {\n var parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\n\nexports.intersects = intersects\nfunction intersects (r1, r2, options) {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\n\nexports.coerce = coerce\nfunction coerce (version, options) {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n var match = null\n if (!options.rtl) {\n match = version.match(safeRe[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n var next\n while ((next = safeRe[t.COERCERTL].exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n safeRe[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n safeRe[t.COERCERTL].lastIndex = -1\n }\n\n if (match === null) {\n return null\n }\n\n return parse(match[2] +\n '.' + (match[3] || '0') +\n '.' + (match[4] || '0'), options)\n}\n","// env vars from the cli are always strings, so !!ENV_VAR returns true for \"false\"\nfunction bool(value) {\n if (value == null) return false;\n return value && value !== \"false\" && value !== \"0\";\n}\n\nmodule.exports = bool(process.env[\"BABEL_8_BREAKING\"])\n ? require(\"semver-BABEL_8_BREAKING-true\")\n : require(\"semver-BABEL_8_BREAKING-false\");\n","import * as helpers from \"@babel/helpers\";\nimport { NodePath } from \"@babel/traverse\";\nimport type { HubInterface, Visitor, Scope } from \"@babel/traverse\";\nimport { codeFrameColumns } from \"@babel/code-frame\";\nimport traverse from \"@babel/traverse\";\nimport { cloneNode, interpreterDirective } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport { getModuleName } from \"@babel/helper-module-transforms\";\nimport semver from \"semver\";\n\nimport type { NormalizedFile } from \"../normalize-file.ts\";\n\nconst errorVisitor: Visitor<{ loc: NodeLocation[\"loc\"] | null }> = {\n enter(path, state) {\n const loc = path.node.loc;\n if (loc) {\n state.loc = loc;\n path.stop();\n }\n },\n};\n\nexport type NodeLocation = {\n loc?: {\n end?: {\n line: number;\n column: number;\n };\n start: {\n line: number;\n column: number;\n };\n };\n _loc?: {\n end?: {\n line: number;\n column: number;\n };\n start: {\n line: number;\n column: number;\n };\n };\n};\n\nexport default class File {\n _map: Map = new Map();\n opts: { [key: string]: any };\n declarations: { [key: string]: t.Identifier } = {};\n path: NodePath;\n ast: t.File;\n scope: Scope;\n metadata: { [key: string]: any } = {};\n code: string = \"\";\n inputMap: any;\n\n hub: HubInterface & { file: File } = {\n // keep it for the usage in babel-core, ex: path.hub.file.opts.filename\n file: this,\n getCode: () => this.code,\n getScope: () => this.scope,\n addHelper: this.addHelper.bind(this),\n buildError: this.buildCodeFrameError.bind(this),\n };\n\n constructor(options: {}, { code, ast, inputMap }: NormalizedFile) {\n this.opts = options;\n this.code = code;\n this.ast = ast;\n this.inputMap = inputMap;\n\n this.path = NodePath.get({\n hub: this.hub,\n parentPath: null,\n parent: this.ast,\n container: this.ast,\n key: \"program\",\n }).setContext() as NodePath;\n this.scope = this.path.scope;\n }\n\n /**\n * Provide backward-compatible access to the interpreter directive handling\n * in Babel 6.x. If you are writing a plugin for Babel 7.x, it would be\n * best to use 'program.interpreter' directly.\n */\n get shebang(): string {\n const { interpreter } = this.path.node;\n return interpreter ? interpreter.value : \"\";\n }\n set shebang(value: string) {\n if (value) {\n this.path.get(\"interpreter\").replaceWith(interpreterDirective(value));\n } else {\n this.path.get(\"interpreter\").remove();\n }\n }\n\n set(key: unknown, val: unknown) {\n if (key === \"helpersNamespace\") {\n throw new Error(\n \"Babel 7.0.0-beta.56 has dropped support for the 'helpersNamespace' utility.\" +\n \"If you are using @babel/plugin-external-helpers you will need to use a newer \" +\n \"version than the one you currently have installed. \" +\n \"If you have your own implementation, you'll want to explore using 'helperGenerator' \" +\n \"alongside 'file.availableHelper()'.\",\n );\n }\n\n this._map.set(key, val);\n }\n\n get(key: unknown): any {\n return this._map.get(key);\n }\n\n has(key: unknown): boolean {\n return this._map.has(key);\n }\n\n getModuleName(): string | undefined | null {\n return getModuleName(this.opts, this.opts);\n }\n\n addImport() {\n throw new Error(\n \"This API has been removed. If you're looking for this \" +\n \"functionality in Babel 7, you should import the \" +\n \"'@babel/helper-module-imports' module and use the functions exposed \" +\n \" from that module, such as 'addNamed' or 'addDefault'.\",\n );\n }\n\n /**\n * Check if a given helper is available in @babel/core's helper list.\n *\n * This _also_ allows you to pass a Babel version specifically. If the\n * helper exists, but was not available for the full given range, it will be\n * considered unavailable.\n */\n availableHelper(name: string, versionRange?: string | null): boolean {\n let minVersion;\n try {\n minVersion = helpers.minVersion(name);\n } catch (err) {\n if (err.code !== \"BABEL_HELPER_UNKNOWN\") throw err;\n\n return false;\n }\n\n if (typeof versionRange !== \"string\") return true;\n\n // semver.intersects() has some surprising behavior with comparing ranges\n // with pre-release versions. We add '^' to ensure that we are always\n // comparing ranges with ranges, which sidesteps this logic.\n // For example:\n //\n // semver.intersects(`<7.0.1`, \"7.0.0-beta.0\") // false - surprising\n // semver.intersects(`<7.0.1`, \"^7.0.0-beta.0\") // true - expected\n //\n // This is because the first falls back to\n //\n // semver.satisfies(\"7.0.0-beta.0\", `<7.0.1`) // false - surprising\n //\n // and this fails because a prerelease version can only satisfy a range\n // if it is a prerelease within the same major/minor/patch range.\n //\n // Note: If this is found to have issues, please also revisit the logic in\n // transform-runtime's definitions.js file.\n if (semver.valid(versionRange)) versionRange = `^${versionRange}`;\n\n return (\n !semver.intersects(`<${minVersion}`, versionRange) &&\n !semver.intersects(`>=8.0.0`, versionRange)\n );\n }\n\n addHelper(name: string): t.Identifier {\n const declar = this.declarations[name];\n if (declar) return cloneNode(declar);\n\n const generator = this.get(\"helperGenerator\");\n if (generator) {\n const res = generator(name);\n if (res) return res;\n }\n\n // make sure that the helper exists\n helpers.ensure(name, File);\n\n const uid = (this.declarations[name] =\n this.scope.generateUidIdentifier(name));\n\n const dependencies: { [key: string]: t.Identifier } = {};\n for (const dep of helpers.getDependencies(name)) {\n dependencies[dep] = this.addHelper(dep);\n }\n\n const { nodes, globals } = helpers.get(\n name,\n dep => dependencies[dep],\n uid,\n Object.keys(this.scope.getAllBindings()),\n );\n\n globals.forEach(name => {\n if (this.path.scope.hasBinding(name, true /* noGlobals */)) {\n this.path.scope.rename(name);\n }\n });\n\n nodes.forEach(node => {\n // @ts-expect-error Fixme: document _compact node property\n node._compact = true;\n });\n\n this.path.unshiftContainer(\"body\", nodes);\n // TODO: NodePath#unshiftContainer should automatically register new\n // bindings.\n this.path.get(\"body\").forEach(path => {\n if (nodes.indexOf(path.node) === -1) return;\n if (path.isVariableDeclaration()) this.scope.registerDeclaration(path);\n });\n\n return uid;\n }\n\n addTemplateObject() {\n throw new Error(\n \"This function has been moved into the template literal transform itself.\",\n );\n }\n\n buildCodeFrameError(\n node: NodeLocation | undefined | null,\n msg: string,\n _Error: typeof Error = SyntaxError,\n ): Error {\n let loc = node && (node.loc || node._loc);\n\n if (!loc && node) {\n const state: { loc?: NodeLocation[\"loc\"] | null } = {\n loc: null,\n };\n traverse(node as t.Node, errorVisitor, this.scope, state);\n loc = state.loc;\n\n let txt =\n \"This is an error on an internal node. Probably an internal error.\";\n if (loc) txt += \" Location has been estimated.\";\n\n msg += ` (${txt})`;\n }\n\n if (loc) {\n const { highlightCode = true } = this.opts;\n\n msg +=\n \"\\n\" +\n codeFrameColumns(\n this.code,\n {\n start: {\n line: loc.start.line,\n column: loc.start.column + 1,\n },\n end:\n loc.end && loc.start.line === loc.end.line\n ? {\n line: loc.end.line,\n column: loc.end.column + 1,\n }\n : undefined,\n },\n { highlightCode },\n );\n }\n\n return new _Error(msg);\n }\n}\n","import * as helpers from \"@babel/helpers\";\nimport generator from \"@babel/generator\";\nimport template from \"@babel/template\";\nimport {\n arrayExpression,\n assignmentExpression,\n binaryExpression,\n blockStatement,\n callExpression,\n cloneNode,\n conditionalExpression,\n exportNamedDeclaration,\n exportSpecifier,\n expressionStatement,\n functionExpression,\n identifier,\n memberExpression,\n objectExpression,\n program,\n stringLiteral,\n unaryExpression,\n variableDeclaration,\n variableDeclarator,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport File from \"../transformation/file/file.ts\";\nimport type { PublicReplacements } from \"@babel/template/src/options\";\n\n// Wrapped to avoid wasting time parsing this when almost no-one uses\n// build-external-helpers.\nconst buildUmdWrapper = (replacements: PublicReplacements) =>\n template.statement`\n (function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(AMD_ARGUMENTS, factory);\n } else if (typeof exports === \"object\") {\n factory(COMMON_ARGUMENTS);\n } else {\n factory(BROWSER_ARGUMENTS);\n }\n })(UMD_ROOT, function (FACTORY_PARAMETERS) {\n FACTORY_BODY\n });\n `(replacements);\n\nfunction buildGlobal(allowlist?: Array) {\n const namespace = identifier(\"babelHelpers\");\n\n const body: t.Statement[] = [];\n const container = functionExpression(\n null,\n [identifier(\"global\")],\n blockStatement(body),\n );\n const tree = program([\n expressionStatement(\n callExpression(container, [\n // typeof global === \"undefined\" ? self : global\n conditionalExpression(\n binaryExpression(\n \"===\",\n unaryExpression(\"typeof\", identifier(\"global\")),\n stringLiteral(\"undefined\"),\n ),\n identifier(\"self\"),\n identifier(\"global\"),\n ),\n ]),\n ),\n ]);\n\n body.push(\n variableDeclaration(\"var\", [\n variableDeclarator(\n namespace,\n assignmentExpression(\n \"=\",\n memberExpression(identifier(\"global\"), namespace),\n objectExpression([]),\n ),\n ),\n ]),\n );\n\n buildHelpers(body, namespace, allowlist);\n\n return tree;\n}\n\nfunction buildModule(allowlist?: Array) {\n const body: t.Statement[] = [];\n const refs = buildHelpers(body, null, allowlist);\n\n body.unshift(\n exportNamedDeclaration(\n null,\n Object.keys(refs).map(name => {\n return exportSpecifier(cloneNode(refs[name]), identifier(name));\n }),\n ),\n );\n\n return program(body, [], \"module\");\n}\n\nfunction buildUmd(allowlist?: Array) {\n const namespace = identifier(\"babelHelpers\");\n\n const body: t.Statement[] = [];\n body.push(\n variableDeclaration(\"var\", [\n variableDeclarator(namespace, identifier(\"global\")),\n ]),\n );\n\n buildHelpers(body, namespace, allowlist);\n\n return program([\n buildUmdWrapper({\n FACTORY_PARAMETERS: identifier(\"global\"),\n BROWSER_ARGUMENTS: assignmentExpression(\n \"=\",\n memberExpression(identifier(\"root\"), namespace),\n objectExpression([]),\n ),\n COMMON_ARGUMENTS: identifier(\"exports\"),\n AMD_ARGUMENTS: arrayExpression([stringLiteral(\"exports\")]),\n FACTORY_BODY: body,\n UMD_ROOT: identifier(\"this\"),\n }),\n ]);\n}\n\nfunction buildVar(allowlist?: Array) {\n const namespace = identifier(\"babelHelpers\");\n\n const body: t.Statement[] = [];\n body.push(\n variableDeclaration(\"var\", [\n variableDeclarator(namespace, objectExpression([])),\n ]),\n );\n const tree = program(body);\n buildHelpers(body, namespace, allowlist);\n body.push(expressionStatement(namespace));\n return tree;\n}\n\nfunction buildHelpers(\n body: t.Statement[],\n namespace: t.Expression,\n allowlist?: Array,\n): Record;\nfunction buildHelpers(\n body: t.Statement[],\n namespace: null,\n allowlist?: Array,\n): Record;\n\nfunction buildHelpers(\n body: t.Statement[],\n namespace: t.Expression | null,\n allowlist?: Array,\n) {\n const getHelperReference = (name: string) => {\n return namespace\n ? memberExpression(namespace, identifier(name))\n : identifier(`_${name}`);\n };\n\n const refs: { [key: string]: t.Identifier | t.MemberExpression } = {};\n helpers.list.forEach(function (name) {\n if (allowlist && allowlist.indexOf(name) < 0) return;\n\n const ref = (refs[name] = getHelperReference(name));\n\n helpers.ensure(name, File);\n const { nodes } = helpers.get(name, getHelperReference, ref);\n\n body.push(...nodes);\n });\n return refs;\n}\nexport default function (\n allowlist?: Array,\n outputType: \"global\" | \"module\" | \"umd\" | \"var\" = \"global\",\n) {\n let tree: t.Program;\n\n const build = {\n global: buildGlobal,\n module: buildModule,\n umd: buildUmd,\n var: buildVar,\n }[outputType];\n\n if (build) {\n tree = build(allowlist);\n } else {\n throw new Error(`Unsupported output type ${outputType}`);\n }\n\n return generator(tree).code;\n}\n","import type { Handler } from \"gensync\";\n\nimport type {\n ConfigFile,\n IgnoreFile,\n RelativeConfig,\n FilePackageData,\n} from \"./types.ts\";\n\nimport type { CallerMetadata } from \"../validation/options.ts\";\n\nexport type { ConfigFile, IgnoreFile, RelativeConfig, FilePackageData };\n\nexport function findConfigUpwards(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n rootDir: string,\n): string | null {\n return null;\n}\n\n// eslint-disable-next-line require-yield\nexport function* findPackageData(filepath: string): Handler {\n return {\n filepath,\n directories: [],\n pkg: null,\n isPackage: false,\n };\n}\n\n// eslint-disable-next-line require-yield\nexport function* findRelativeConfig(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n pkgData: FilePackageData,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n envName: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n caller: CallerMetadata | undefined,\n): Handler {\n return { config: null, ignore: null };\n}\n\n// eslint-disable-next-line require-yield\nexport function* findRootConfig(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n dirname: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n envName: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n caller: CallerMetadata | undefined,\n): Handler {\n return null;\n}\n\n// eslint-disable-next-line require-yield\nexport function* loadConfig(\n name: string,\n dirname: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n envName: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n caller: CallerMetadata | undefined,\n): Handler {\n throw new Error(`Cannot load ${name} relative to ${dirname} in a browser`);\n}\n\n// eslint-disable-next-line require-yield\nexport function* resolveShowConfigPath(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n dirname: string,\n): Handler {\n return null;\n}\n\nexport const ROOT_CONFIG_FILENAMES: string[] = [];\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function resolvePlugin(name: string, dirname: string): string | null {\n return null;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function resolvePreset(name: string, dirname: string): string | null {\n return null;\n}\n\nexport function loadPlugin(\n name: string,\n dirname: string,\n): Handler<{\n filepath: string;\n value: unknown;\n}> {\n throw new Error(\n `Cannot load plugin ${name} relative to ${dirname} in a browser`,\n );\n}\n\nexport function loadPreset(\n name: string,\n dirname: string,\n): Handler<{\n filepath: string;\n value: unknown;\n}> {\n throw new Error(\n `Cannot load preset ${name} relative to ${dirname} in a browser`,\n );\n}\n","export function getEnv(defaultValue: string = \"development\"): string {\n return process.env.BABEL_ENV || process.env.NODE_ENV || defaultValue;\n}\n","\"use strict\";\n\n// These use the global symbol registry so that multiple copies of this\n// library can work together in case they are not deduped.\nconst GENSYNC_START = Symbol.for(\"gensync:v1:start\");\nconst GENSYNC_SUSPEND = Symbol.for(\"gensync:v1:suspend\");\n\nconst GENSYNC_EXPECTED_START = \"GENSYNC_EXPECTED_START\";\nconst GENSYNC_EXPECTED_SUSPEND = \"GENSYNC_EXPECTED_SUSPEND\";\nconst GENSYNC_OPTIONS_ERROR = \"GENSYNC_OPTIONS_ERROR\";\nconst GENSYNC_RACE_NONEMPTY = \"GENSYNC_RACE_NONEMPTY\";\nconst GENSYNC_ERRBACK_NO_CALLBACK = \"GENSYNC_ERRBACK_NO_CALLBACK\";\n\nmodule.exports = Object.assign(\n function gensync(optsOrFn) {\n let genFn = optsOrFn;\n if (typeof optsOrFn !== \"function\") {\n genFn = newGenerator(optsOrFn);\n } else {\n genFn = wrapGenerator(optsOrFn);\n }\n\n return Object.assign(genFn, makeFunctionAPI(genFn));\n },\n {\n all: buildOperation({\n name: \"all\",\n arity: 1,\n sync: function(args) {\n const items = Array.from(args[0]);\n return items.map(item => evaluateSync(item));\n },\n async: function(args, resolve, reject) {\n const items = Array.from(args[0]);\n\n if (items.length === 0) {\n Promise.resolve().then(() => resolve([]));\n return;\n }\n\n let count = 0;\n const results = items.map(() => undefined);\n items.forEach((item, i) => {\n evaluateAsync(\n item,\n val => {\n results[i] = val;\n count += 1;\n\n if (count === results.length) resolve(results);\n },\n reject\n );\n });\n },\n }),\n race: buildOperation({\n name: \"race\",\n arity: 1,\n sync: function(args) {\n const items = Array.from(args[0]);\n if (items.length === 0) {\n throw makeError(\"Must race at least 1 item\", GENSYNC_RACE_NONEMPTY);\n }\n\n return evaluateSync(items[0]);\n },\n async: function(args, resolve, reject) {\n const items = Array.from(args[0]);\n if (items.length === 0) {\n throw makeError(\"Must race at least 1 item\", GENSYNC_RACE_NONEMPTY);\n }\n\n for (const item of items) {\n evaluateAsync(item, resolve, reject);\n }\n },\n }),\n }\n);\n\n/**\n * Given a generator function, return the standard API object that executes\n * the generator and calls the callbacks.\n */\nfunction makeFunctionAPI(genFn) {\n const fns = {\n sync: function(...args) {\n return evaluateSync(genFn.apply(this, args));\n },\n async: function(...args) {\n return new Promise((resolve, reject) => {\n evaluateAsync(genFn.apply(this, args), resolve, reject);\n });\n },\n errback: function(...args) {\n const cb = args.pop();\n if (typeof cb !== \"function\") {\n throw makeError(\n \"Asynchronous function called without callback\",\n GENSYNC_ERRBACK_NO_CALLBACK\n );\n }\n\n let gen;\n try {\n gen = genFn.apply(this, args);\n } catch (err) {\n cb(err);\n return;\n }\n\n evaluateAsync(gen, val => cb(undefined, val), err => cb(err));\n },\n };\n return fns;\n}\n\nfunction assertTypeof(type, name, value, allowUndefined) {\n if (\n typeof value === type ||\n (allowUndefined && typeof value === \"undefined\")\n ) {\n return;\n }\n\n let msg;\n if (allowUndefined) {\n msg = `Expected opts.${name} to be either a ${type}, or undefined.`;\n } else {\n msg = `Expected opts.${name} to be a ${type}.`;\n }\n\n throw makeError(msg, GENSYNC_OPTIONS_ERROR);\n}\nfunction makeError(msg, code) {\n return Object.assign(new Error(msg), { code });\n}\n\n/**\n * Given an options object, return a new generator that dispatches the\n * correct handler based on sync or async execution.\n */\nfunction newGenerator({ name, arity, sync, async, errback }) {\n assertTypeof(\"string\", \"name\", name, true /* allowUndefined */);\n assertTypeof(\"number\", \"arity\", arity, true /* allowUndefined */);\n assertTypeof(\"function\", \"sync\", sync);\n assertTypeof(\"function\", \"async\", async, true /* allowUndefined */);\n assertTypeof(\"function\", \"errback\", errback, true /* allowUndefined */);\n if (async && errback) {\n throw makeError(\n \"Expected one of either opts.async or opts.errback, but got _both_.\",\n GENSYNC_OPTIONS_ERROR\n );\n }\n\n if (typeof name !== \"string\") {\n let fnName;\n if (errback && errback.name && errback.name !== \"errback\") {\n fnName = errback.name;\n }\n if (async && async.name && async.name !== \"async\") {\n fnName = async.name.replace(/Async$/, \"\");\n }\n if (sync && sync.name && sync.name !== \"sync\") {\n fnName = sync.name.replace(/Sync$/, \"\");\n }\n\n if (typeof fnName === \"string\") {\n name = fnName;\n }\n }\n\n if (typeof arity !== \"number\") {\n arity = sync.length;\n }\n\n return buildOperation({\n name,\n arity,\n sync: function(args) {\n return sync.apply(this, args);\n },\n async: function(args, resolve, reject) {\n if (async) {\n async.apply(this, args).then(resolve, reject);\n } else if (errback) {\n errback.call(this, ...args, (err, value) => {\n if (err == null) resolve(value);\n else reject(err);\n });\n } else {\n resolve(sync.apply(this, args));\n }\n },\n });\n}\n\nfunction wrapGenerator(genFn) {\n return setFunctionMetadata(genFn.name, genFn.length, function(...args) {\n return genFn.apply(this, args);\n });\n}\n\nfunction buildOperation({ name, arity, sync, async }) {\n return setFunctionMetadata(name, arity, function*(...args) {\n const resume = yield GENSYNC_START;\n if (!resume) {\n // Break the tail call to avoid a bug in V8 v6.X with --harmony enabled.\n const res = sync.call(this, args);\n return res;\n }\n\n let result;\n try {\n async.call(\n this,\n args,\n value => {\n if (result) return;\n\n result = { value };\n resume();\n },\n err => {\n if (result) return;\n\n result = { err };\n resume();\n }\n );\n } catch (err) {\n result = { err };\n resume();\n }\n\n // Suspend until the callbacks run. Will resume synchronously if the\n // callback was already called.\n yield GENSYNC_SUSPEND;\n\n if (result.hasOwnProperty(\"err\")) {\n throw result.err;\n }\n\n return result.value;\n });\n}\n\nfunction evaluateSync(gen) {\n let value;\n while (!({ value } = gen.next()).done) {\n assertStart(value, gen);\n }\n return value;\n}\n\nfunction evaluateAsync(gen, resolve, reject) {\n (function step() {\n try {\n let value;\n while (!({ value } = gen.next()).done) {\n assertStart(value, gen);\n\n // If this throws, it is considered to have broken the contract\n // established for async handlers. If these handlers are called\n // synchronously, it is also considered bad behavior.\n let sync = true;\n let didSyncResume = false;\n const out = gen.next(() => {\n if (sync) {\n didSyncResume = true;\n } else {\n step();\n }\n });\n sync = false;\n\n assertSuspend(out, gen);\n\n if (!didSyncResume) {\n // Callback wasn't called synchronously, so break out of the loop\n // and let it call 'step' later.\n return;\n }\n }\n\n return resolve(value);\n } catch (err) {\n return reject(err);\n }\n })();\n}\n\nfunction assertStart(value, gen) {\n if (value === GENSYNC_START) return;\n\n throwError(\n gen,\n makeError(\n `Got unexpected yielded value in gensync generator: ${JSON.stringify(\n value\n )}. Did you perhaps mean to use 'yield*' instead of 'yield'?`,\n GENSYNC_EXPECTED_START\n )\n );\n}\nfunction assertSuspend({ value, done }, gen) {\n if (!done && value === GENSYNC_SUSPEND) return;\n\n throwError(\n gen,\n makeError(\n done\n ? \"Unexpected generator completion. If you get this, it is probably a gensync bug.\"\n : `Expected GENSYNC_SUSPEND, got ${JSON.stringify(\n value\n )}. If you get this, it is probably a gensync bug.`,\n GENSYNC_EXPECTED_SUSPEND\n )\n );\n}\n\nfunction throwError(gen, err) {\n // Call `.throw` so that users can step in a debugger to easily see which\n // 'yield' passed an unexpected value. If the `.throw` call didn't throw\n // back to the generator, we explicitly do it to stop the error\n // from being swallowed by user code try/catches.\n if (gen.throw) gen.throw(err);\n throw err;\n}\n\nfunction isIterable(value) {\n return (\n !!value &&\n (typeof value === \"object\" || typeof value === \"function\") &&\n !value[Symbol.iterator]\n );\n}\n\nfunction setFunctionMetadata(name, arity, fn) {\n if (typeof name === \"string\") {\n // This should always work on the supported Node versions, but for the\n // sake of users that are compiling to older versions, we check for\n // configurability so we don't throw.\n const nameDesc = Object.getOwnPropertyDescriptor(fn, \"name\");\n if (!nameDesc || nameDesc.configurable) {\n Object.defineProperty(\n fn,\n \"name\",\n Object.assign(nameDesc || {}, {\n configurable: true,\n value: name,\n })\n );\n }\n }\n\n if (typeof arity === \"number\") {\n const lengthDesc = Object.getOwnPropertyDescriptor(fn, \"length\");\n if (!lengthDesc || lengthDesc.configurable) {\n Object.defineProperty(\n fn,\n \"length\",\n Object.assign(lengthDesc || {}, {\n configurable: true,\n value: arity,\n })\n );\n }\n }\n\n return fn;\n}\n","import gensync, { type Gensync, type Handler, type Callback } from \"gensync\";\n\ntype MaybePromise = T | Promise;\n\nconst runGenerator: {\n sync(gen: Handler): Return;\n async(gen: Handler): Promise;\n errback(gen: Handler, cb: Callback): void;\n} = gensync(function* (item: Handler): Handler {\n return yield* item;\n});\n\n// This Gensync returns true if the current execution context is\n// asynchronous, otherwise it returns false.\nexport const isAsync = gensync({\n sync: () => false,\n errback: cb => cb(null, true),\n});\n\n// This function wraps any functions (which could be either synchronous or\n// asynchronous) with a Gensync. If the wrapped function returns a promise\n// but the current execution context is synchronous, it will throw the\n// provided error.\n// This is used to handle user-provided functions which could be asynchronous.\nexport function maybeAsync(\n fn: (...args: Args) => Return,\n message: string,\n): Gensync {\n return gensync({\n sync(...args) {\n const result = fn.apply(this, args);\n if (isThenable(result)) throw new Error(message);\n return result;\n },\n async(...args) {\n return Promise.resolve(fn.apply(this, args));\n },\n });\n}\n\nconst withKind = gensync({\n sync: cb => cb(\"sync\"),\n async: async cb => cb(\"async\"),\n}) as (cb: (kind: \"sync\" | \"async\") => MaybePromise) => Handler;\n\n// This function wraps a generator (or a Gensync) into another function which,\n// when called, will run the provided generator in a sync or async way, depending\n// on the execution context where this forwardAsync function is called.\n// This is useful, for example, when passing a callback to a function which isn't\n// aware of gensync, but it only knows about synchronous and asynchronous functions.\n// An example is cache.using, which being exposed to the user must be as simple as\n// possible:\n// yield* forwardAsync(gensyncFn, wrappedFn =>\n// cache.using(x => {\n// // Here we don't know about gensync. wrappedFn is a\n// // normal sync or async function\n// return wrappedFn(x);\n// })\n// )\nexport function forwardAsync(\n action: (...args: Args) => Handler,\n cb: (\n adapted: (...args: Args) => MaybePromise,\n ) => MaybePromise,\n): Handler {\n const g = gensync(action);\n return withKind(kind => {\n const adapted = g[kind];\n return cb(adapted);\n });\n}\n\n// If the given generator is executed asynchronously, the first time that it\n// is paused (i.e. When it yields a gensync generator which can't be run\n// synchronously), call the \"firstPause\" callback.\nexport const onFirstPause = gensync<\n [gen: Handler, firstPause: () => void],\n unknown\n>({\n name: \"onFirstPause\",\n arity: 2,\n sync: function (item) {\n return runGenerator.sync(item);\n },\n errback: function (item, firstPause, cb) {\n let completed = false;\n\n runGenerator.errback(item, (err, value) => {\n completed = true;\n cb(err, value);\n });\n\n if (!completed) {\n firstPause();\n }\n },\n}) as (gen: Handler, firstPause: () => void) => Handler;\n\n// Wait for the given promise to be resolved\nexport const waitFor = gensync({\n sync: x => x,\n async: async x => x,\n}) as (p: T | Promise) => Handler;\n\nexport function isThenable(val: any): val is PromiseLike {\n return (\n !!val &&\n (typeof val === \"object\" || typeof val === \"function\") &&\n !!val.then &&\n typeof val.then === \"function\"\n );\n}\n","import type {\n ValidatedOptions,\n NormalizedOptions,\n} from \"./validation/options.ts\";\n\nexport function mergeOptions(\n target: ValidatedOptions,\n source: ValidatedOptions | NormalizedOptions,\n): void {\n for (const k of Object.keys(source)) {\n if (\n (k === \"parserOpts\" || k === \"generatorOpts\" || k === \"assumptions\") &&\n source[k]\n ) {\n const parserOpts = source[k];\n const targetObj = target[k] || (target[k] = {});\n mergeDefaultFields(targetObj, parserOpts);\n } else {\n //@ts-expect-error k must index source\n const val = source[k];\n //@ts-expect-error assigning source to target\n if (val !== undefined) target[k] = val as any;\n }\n }\n}\n\nfunction mergeDefaultFields(target: T, source: T) {\n for (const k of Object.keys(source) as (keyof T)[]) {\n const val = source[k];\n if (val !== undefined) target[k] = val;\n }\n}\n\nexport function isIterableIterator(value: any): value is IterableIterator {\n return (\n !!value &&\n typeof value.next === \"function\" &&\n typeof value[Symbol.iterator] === \"function\"\n );\n}\n","export type DeepArray = Array>;\n\n// Just to make sure that DeepArray is not assignable to ReadonlyDeepArray\ndeclare const __marker: unique symbol;\nexport type ReadonlyDeepArray = ReadonlyArray> & {\n [__marker]: true;\n};\n\nexport function finalize(deepArr: DeepArray): ReadonlyDeepArray {\n return Object.freeze(deepArr) as ReadonlyDeepArray;\n}\n\nexport function flattenToSet(\n arr: ReadonlyDeepArray,\n): Set {\n const result = new Set();\n const stack = [arr];\n while (stack.length > 0) {\n for (const el of stack.pop()) {\n if (Array.isArray(el)) stack.push(el as ReadonlyDeepArray);\n else result.add(el as T);\n }\n }\n return result;\n}\n","import { finalize } from \"./helpers/deep-array.ts\";\nimport type { ReadonlyDeepArray } from \"./helpers/deep-array.ts\";\nimport type { PluginObject } from \"./validation/plugins.ts\";\n\nexport default class Plugin {\n key: string | undefined | null;\n manipulateOptions?: (options: unknown, parserOpts: unknown) => void;\n post?: PluginObject[\"post\"];\n pre?: PluginObject[\"pre\"];\n visitor: PluginObject[\"visitor\"];\n\n parserOverride?: Function;\n generatorOverride?: Function;\n\n options: {};\n\n externalDependencies: ReadonlyDeepArray;\n\n constructor(\n plugin: PluginObject,\n options: {},\n key?: string,\n externalDependencies: ReadonlyDeepArray = finalize([]),\n ) {\n this.key = plugin.name || key;\n\n this.manipulateOptions = plugin.manipulateOptions;\n this.post = plugin.post;\n this.pre = plugin.pre;\n this.visitor = plugin.visitor || {};\n this.parserOverride = plugin.parserOverride;\n this.generatorOverride = plugin.generatorOverride;\n\n this.options = options;\n this.externalDependencies = externalDependencies;\n }\n}\n","import type { Handler } from \"gensync\";\n\nimport { isAsync, waitFor } from \"./async.ts\";\n\nexport function once(fn: () => Handler): () => Handler {\n let result: R;\n let resultP: Promise;\n return function* () {\n if (result) return result;\n if (!(yield* isAsync())) return (result = yield* fn());\n if (resultP) return yield* waitFor(resultP);\n\n let resolve: (result: R) => void, reject: (error: unknown) => void;\n resultP = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n\n try {\n result = yield* fn();\n // Avoid keeping the promise around\n // now that we have the result.\n resultP = null;\n resolve(result);\n return result;\n } catch (error) {\n reject(error);\n throw error;\n }\n };\n}\n","import gensync from \"gensync\";\nimport type { Handler } from \"gensync\";\nimport {\n maybeAsync,\n isAsync,\n onFirstPause,\n waitFor,\n isThenable,\n} from \"../gensync-utils/async.ts\";\nimport { isIterableIterator } from \"./util.ts\";\n\nexport type { CacheConfigurator };\n\nexport type SimpleCacheConfigurator = {\n (forever: boolean): void;\n (handler: () => T): T;\n\n forever: () => void;\n never: () => void;\n using: (handler: () => T) => T;\n invalidate: (handler: () => T) => T;\n};\n\nexport type CacheEntry = Array<{\n value: ResultT;\n valid: (channel: SideChannel) => Handler;\n}>;\n\nconst synchronize = (\n gen: (...args: ArgsT) => Handler,\n): ((...args: ArgsT) => ResultT) => {\n return gensync(gen).sync;\n};\n\n// eslint-disable-next-line require-yield\nfunction* genTrue() {\n return true;\n}\n\nexport function makeWeakCache(\n handler: (\n arg: ArgT,\n cache: CacheConfigurator,\n ) => Handler | ResultT,\n): (arg: ArgT, data: SideChannel) => Handler {\n return makeCachedFunction(WeakMap, handler);\n}\n\nexport function makeWeakCacheSync(\n handler: (arg: ArgT, cache?: CacheConfigurator) => ResultT,\n): (arg: ArgT, data?: SideChannel) => ResultT {\n return synchronize<[ArgT, SideChannel], ResultT>(\n makeWeakCache(handler),\n );\n}\n\nexport function makeStrongCache(\n handler: (\n arg: ArgT,\n cache: CacheConfigurator,\n ) => Handler | ResultT,\n): (arg: ArgT, data: SideChannel) => Handler {\n return makeCachedFunction(Map, handler);\n}\n\nexport function makeStrongCacheSync(\n handler: (arg: ArgT, cache?: CacheConfigurator) => ResultT,\n): (arg: ArgT, data?: SideChannel) => ResultT {\n return synchronize<[ArgT, SideChannel], ResultT>(\n makeStrongCache(handler),\n );\n}\n\n/* NOTE: Part of the logic explained in this comment is explained in the\n * getCachedValueOrWait and setupAsyncLocks functions.\n *\n * > There are only two hard things in Computer Science: cache invalidation and naming things.\n * > -- Phil Karlton\n *\n * I don't know if Phil was also thinking about handling a cache whose invalidation function is\n * defined asynchronously is considered, but it is REALLY hard to do correctly.\n *\n * The implemented logic (only when gensync is run asynchronously) is the following:\n * 1. If there is a valid cache associated to the current \"arg\" parameter,\n * a. RETURN the cached value\n * 3. If there is a FinishLock associated to the current \"arg\" parameter representing a valid cache,\n * a. Wait for that lock to be released\n * b. RETURN the value associated with that lock\n * 5. Start executing the function to be cached\n * a. If it pauses on a promise, then\n * i. Let FinishLock be a new lock\n * ii. Store FinishLock as associated to the current \"arg\" parameter\n * iii. Wait for the function to finish executing\n * iv. Release FinishLock\n * v. Send the function result to anyone waiting on FinishLock\n * 6. Store the result in the cache\n * 7. RETURN the result\n */\nfunction makeCachedFunction(\n CallCache: new () => CacheMap,\n handler: (\n arg: ArgT,\n cache: CacheConfigurator,\n ) => Handler | ResultT,\n): (arg: ArgT, data: SideChannel) => Handler {\n const callCacheSync = new CallCache();\n const callCacheAsync = new CallCache();\n const futureCache = new CallCache>();\n\n return function* cachedFunction(arg: ArgT, data: SideChannel) {\n const asyncContext = yield* isAsync();\n const callCache = asyncContext ? callCacheAsync : callCacheSync;\n\n const cached = yield* getCachedValueOrWait(\n asyncContext,\n callCache,\n futureCache,\n arg,\n data,\n );\n if (cached.valid) return cached.value;\n\n const cache = new CacheConfigurator(data);\n\n const handlerResult: Handler | ResultT = handler(arg, cache);\n\n let finishLock: Lock;\n let value: ResultT;\n\n if (isIterableIterator(handlerResult)) {\n value = yield* onFirstPause(handlerResult, () => {\n finishLock = setupAsyncLocks(cache, futureCache, arg);\n });\n } else {\n value = handlerResult;\n }\n\n updateFunctionCache(callCache, cache, arg, value);\n\n if (finishLock) {\n futureCache.delete(arg);\n finishLock.release(value);\n }\n\n return value;\n };\n}\n\ntype CacheMap =\n | Map>\n // @ts-expect-error todo(flow->ts): add `extends object` constraint to ArgT\n | WeakMap>;\n\nfunction* getCachedValue(\n cache: CacheMap,\n arg: ArgT,\n data: SideChannel,\n): Handler<{ valid: true; value: ResultT } | { valid: false; value: null }> {\n const cachedValue: CacheEntry | void = cache.get(arg);\n\n if (cachedValue) {\n for (const { value, valid } of cachedValue) {\n if (yield* valid(data)) return { valid: true, value };\n }\n }\n\n return { valid: false, value: null };\n}\n\nfunction* getCachedValueOrWait(\n asyncContext: boolean,\n callCache: CacheMap,\n futureCache: CacheMap, SideChannel>,\n arg: ArgT,\n data: SideChannel,\n): Handler<{ valid: true; value: ResultT } | { valid: false; value: null }> {\n const cached = yield* getCachedValue(callCache, arg, data);\n if (cached.valid) {\n return cached;\n }\n\n if (asyncContext) {\n const cached = yield* getCachedValue(futureCache, arg, data);\n if (cached.valid) {\n const value = yield* waitFor(cached.value.promise);\n return { valid: true, value };\n }\n }\n\n return { valid: false, value: null };\n}\n\nfunction setupAsyncLocks(\n config: CacheConfigurator,\n futureCache: CacheMap, SideChannel>,\n arg: ArgT,\n): Lock {\n const finishLock = new Lock();\n\n updateFunctionCache(futureCache, config, arg, finishLock);\n\n return finishLock;\n}\n\nfunction updateFunctionCache<\n ArgT,\n ResultT,\n SideChannel,\n Cache extends CacheMap,\n>(\n cache: Cache,\n config: CacheConfigurator,\n arg: ArgT,\n value: ResultT,\n) {\n if (!config.configured()) config.forever();\n\n let cachedValue: CacheEntry | void = cache.get(arg);\n\n config.deactivate();\n\n switch (config.mode()) {\n case \"forever\":\n cachedValue = [{ value, valid: genTrue }];\n cache.set(arg, cachedValue);\n break;\n case \"invalidate\":\n cachedValue = [{ value, valid: config.validator() }];\n cache.set(arg, cachedValue);\n break;\n case \"valid\":\n if (cachedValue) {\n cachedValue.push({ value, valid: config.validator() });\n } else {\n cachedValue = [{ value, valid: config.validator() }];\n cache.set(arg, cachedValue);\n }\n }\n}\n\nclass CacheConfigurator {\n _active: boolean = true;\n _never: boolean = false;\n _forever: boolean = false;\n _invalidate: boolean = false;\n\n _configured: boolean = false;\n\n _pairs: Array<\n [cachedValue: unknown, handler: (data: SideChannel) => Handler]\n > = [];\n\n _data: SideChannel;\n\n constructor(data: SideChannel) {\n this._data = data;\n }\n\n simple() {\n return makeSimpleConfigurator(this);\n }\n\n mode() {\n if (this._never) return \"never\";\n if (this._forever) return \"forever\";\n if (this._invalidate) return \"invalidate\";\n return \"valid\";\n }\n\n forever() {\n if (!this._active) {\n throw new Error(\"Cannot change caching after evaluation has completed.\");\n }\n if (this._never) {\n throw new Error(\"Caching has already been configured with .never()\");\n }\n this._forever = true;\n this._configured = true;\n }\n\n never() {\n if (!this._active) {\n throw new Error(\"Cannot change caching after evaluation has completed.\");\n }\n if (this._forever) {\n throw new Error(\"Caching has already been configured with .forever()\");\n }\n this._never = true;\n this._configured = true;\n }\n\n using(handler: (data: SideChannel) => T): T {\n if (!this._active) {\n throw new Error(\"Cannot change caching after evaluation has completed.\");\n }\n if (this._never || this._forever) {\n throw new Error(\n \"Caching has already been configured with .never or .forever()\",\n );\n }\n this._configured = true;\n\n const key = handler(this._data);\n\n const fn = maybeAsync(\n handler,\n `You appear to be using an async cache handler, but Babel has been called synchronously`,\n );\n\n if (isThenable(key)) {\n // @ts-expect-error todo(flow->ts): improve function return type annotation\n return key.then((key: unknown) => {\n this._pairs.push([key, fn]);\n return key;\n });\n }\n\n this._pairs.push([key, fn]);\n return key;\n }\n\n invalidate(handler: (data: SideChannel) => T): T {\n this._invalidate = true;\n return this.using(handler);\n }\n\n validator(): (data: SideChannel) => Handler {\n const pairs = this._pairs;\n return function* (data: SideChannel) {\n for (const [key, fn] of pairs) {\n if (key !== (yield* fn(data))) return false;\n }\n return true;\n };\n }\n\n deactivate() {\n this._active = false;\n }\n\n configured() {\n return this._configured;\n }\n}\n\nfunction makeSimpleConfigurator(\n cache: CacheConfigurator,\n): SimpleCacheConfigurator {\n function cacheFn(val: any) {\n if (typeof val === \"boolean\") {\n if (val) cache.forever();\n else cache.never();\n return;\n }\n\n return cache.using(() => assertSimpleType(val()));\n }\n cacheFn.forever = () => cache.forever();\n cacheFn.never = () => cache.never();\n cacheFn.using = (cb: { (): SimpleType }) =>\n cache.using(() => assertSimpleType(cb()));\n cacheFn.invalidate = (cb: { (): SimpleType }) =>\n cache.invalidate(() => assertSimpleType(cb()));\n\n return cacheFn as any;\n}\n\n// Types are limited here so that in the future these values can be used\n// as part of Babel's caching logic.\nexport type SimpleType =\n | string\n | boolean\n | number\n | null\n | void\n | Promise;\nexport function assertSimpleType(value: unknown): SimpleType {\n if (isThenable(value)) {\n throw new Error(\n `You appear to be using an async cache handler, ` +\n `which your current version of Babel does not support. ` +\n `We may add support for this in the future, ` +\n `but if you're on the most recent version of @babel/core and still ` +\n `seeing this error, then you'll need to synchronously handle your caching logic.`,\n );\n }\n\n if (\n value != null &&\n typeof value !== \"string\" &&\n typeof value !== \"boolean\" &&\n typeof value !== \"number\"\n ) {\n throw new Error(\n \"Cache keys must be either string, boolean, number, null, or undefined.\",\n );\n }\n // @ts-expect-error Type 'unknown' is not assignable to type 'SimpleType'. This can be removed\n // when strictNullCheck is enabled\n return value;\n}\n\nclass Lock {\n released: boolean = false;\n promise: Promise;\n _resolve: (value: T) => void;\n\n constructor() {\n this.promise = new Promise(resolve => {\n this._resolve = resolve;\n });\n }\n\n release(value: T) {\n this.released = true;\n this._resolve(value);\n }\n}\n","module.exports={A:\"ie\",B:\"edge\",C:\"firefox\",D:\"chrome\",E:\"safari\",F:\"opera\",G:\"ios_saf\",H:\"op_mini\",I:\"android\",J:\"bb\",K:\"op_mob\",L:\"and_chr\",M:\"and_ff\",N:\"ie_mob\",O:\"and_uc\",P:\"samsung\",Q:\"and_qq\",R:\"baidu\",S:\"kaios\"};\n","module.exports.browsers = require('../../data/browsers')\n","module.exports={\"0\":\"5\",\"1\":\"19\",\"2\":\"22\",\"3\":\"23\",\"4\":\"24\",\"5\":\"25\",\"6\":\"26\",\"7\":\"27\",\"8\":\"28\",\"9\":\"29\",A:\"10\",B:\"11\",C:\"12\",D:\"17\",E:\"7\",F:\"8\",G:\"9\",H:\"15\",I:\"114\",J:\"4\",K:\"6\",L:\"13\",M:\"14\",N:\"16\",O:\"18\",P:\"79\",Q:\"80\",R:\"81\",S:\"83\",T:\"84\",U:\"85\",V:\"86\",W:\"87\",X:\"88\",Y:\"89\",Z:\"90\",a:\"91\",b:\"92\",c:\"93\",d:\"94\",e:\"95\",f:\"96\",g:\"97\",h:\"98\",i:\"99\",j:\"113\",k:\"20\",l:\"21\",m:\"73\",n:\"100\",o:\"101\",p:\"102\",q:\"103\",r:\"104\",s:\"105\",t:\"106\",u:\"107\",v:\"108\",w:\"109\",x:\"110\",y:\"111\",z:\"112\",AB:\"30\",BB:\"31\",CB:\"32\",DB:\"33\",EB:\"34\",FB:\"35\",GB:\"36\",HB:\"37\",IB:\"38\",JB:\"39\",KB:\"40\",LB:\"41\",MB:\"42\",NB:\"43\",OB:\"44\",PB:\"45\",QB:\"46\",RB:\"47\",SB:\"48\",TB:\"49\",UB:\"50\",VB:\"51\",WB:\"52\",XB:\"53\",YB:\"54\",ZB:\"55\",aB:\"56\",bB:\"57\",cB:\"58\",dB:\"60\",eB:\"62\",fB:\"63\",gB:\"64\",hB:\"65\",iB:\"66\",jB:\"67\",kB:\"68\",lB:\"69\",mB:\"70\",nB:\"71\",oB:\"72\",pB:\"74\",qB:\"75\",rB:\"76\",sB:\"77\",tB:\"78\",uB:\"11.1\",vB:\"12.1\",wB:\"16.0\",xB:\"3\",yB:\"59\",zB:\"61\",\"0B\":\"82\",\"1B\":\"115\",\"2B\":\"116\",\"3B\":\"3.2\",\"4B\":\"10.1\",\"5B\":\"13.1\",\"6B\":\"15.2-15.3\",\"7B\":\"15.4\",\"8B\":\"15.5\",\"9B\":\"15.6\",AC:\"16.1\",BC:\"16.2\",CC:\"16.3\",DC:\"16.4\",EC:\"16.5\",FC:\"16.6\",GC:\"11.5\",HC:\"4.2-4.3\",IC:\"5.5\",JC:\"2\",KC:\"3.5\",LC:\"3.6\",MC:\"117\",NC:\"3.1\",OC:\"5.1\",PC:\"6.1\",QC:\"7.1\",RC:\"9.1\",SC:\"14.1\",TC:\"15.1\",UC:\"TP\",VC:\"9.5-9.6\",WC:\"10.0-10.1\",XC:\"10.5\",YC:\"10.6\",ZC:\"11.6\",aC:\"4.0-4.1\",bC:\"5.0-5.1\",cC:\"6.0-6.1\",dC:\"7.0-7.1\",eC:\"8.1-8.4\",fC:\"9.0-9.2\",gC:\"9.3\",hC:\"10.0-10.2\",iC:\"10.3\",jC:\"11.0-11.2\",kC:\"11.3-11.4\",lC:\"12.0-12.1\",mC:\"12.2-12.5\",nC:\"13.0-13.1\",oC:\"13.2\",pC:\"13.3\",qC:\"13.4-13.7\",rC:\"14.0-14.4\",sC:\"14.5-14.8\",tC:\"15.0-15.1\",uC:\"all\",vC:\"2.1\",wC:\"2.2\",xC:\"2.3\",yC:\"4.1\",zC:\"4.4\",\"0C\":\"4.4.3-4.4.4\",\"1C\":\"13.4\",\"2C\":\"5.0-5.4\",\"3C\":\"6.2-6.4\",\"4C\":\"7.2-7.4\",\"5C\":\"8.2\",\"6C\":\"9.2\",\"7C\":\"11.1-11.2\",\"8C\":\"12.0\",\"9C\":\"13.0\",AD:\"14.0\",BD:\"15.0\",CD:\"17.0\",DD:\"18.0\",ED:\"19.0\",FD:\"13.18\",GD:\"2.5\",HD:\"3.0-3.1\"};\n","module.exports.browserVersions = require('../../data/browserVersions')\n","module.exports={A:{A:{K:0,E:0,F:0.0309495,G:0.041266,A:0,B:0.371394,IC:0},B:\"ms\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"IC\",\"K\",\"E\",\"F\",\"G\",\"A\",\"B\",\"\",\"\",\"\"],E:\"IE\",F:{IC:962323200,K:998870400,E:1161129600,F:1237420800,G:1300060800,A:1346716800,B:1381968000}},B:{A:{C:0,L:0,M:0,H:0,N:0,D:0.00477,O:0.00954,P:0,Q:0,R:0,S:0,T:0,U:0,V:0,W:0,X:0,Y:0.00477,Z:0,a:0,b:0.01431,c:0,d:0,e:0,f:0,g:0,h:0,i:0,n:0,o:0.00477,p:0.00477,q:0.00477,r:0,s:0,t:0.00477,u:0.01431,v:0.02385,w:0.08586,x:0.03339,y:0.0477,z:1.89369,j:3.01464,I:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"C\",\"L\",\"M\",\"H\",\"N\",\"D\",\"O\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\"j\",\"I\",\"\",\"\",\"\"],E:\"Edge\",F:{C:1438128000,L:1447286400,M:1470096000,H:1491868800,N:1508198400,D:1525046400,O:1542067200,P:1579046400,Q:1581033600,R:1586736000,S:1590019200,T:1594857600,U:1598486400,V:1602201600,W:1605830400,X:1611360000,Y:1614816000,Z:1618358400,a:1622073600,b:1626912000,c:1630627200,d:1632441600,e:1634774400,f:1637539200,g:1641427200,h:1643932800,i:1646265600,n:1649635200,o:1651190400,p:1653955200,q:1655942400,r:1659657600,s:1661990400,t:1664755200,u:1666915200,v:1670198400,w:1673481600,x:1675900800,y:1678665600,z:1680825600,j:1683158400,I:1685664000},D:{C:\"ms\",L:\"ms\",M:\"ms\",H:\"ms\",N:\"ms\",D:\"ms\",O:\"ms\"}},C:{A:{\"0\":0,\"1\":0,\"2\":0,\"3\":0,\"4\":0,\"5\":0,\"6\":0,\"7\":0,\"8\":0,\"9\":0,JC:0,xB:0,J:0,K:0,E:0,F:0,G:0,A:0,B:0.00477,C:0,L:0,M:0,H:0,N:0,D:0,O:0,k:0,l:0,AB:0,BB:0,CB:0,DB:0,EB:0,FB:0,GB:0.00477,HB:0,IB:0,JB:0,KB:0,LB:0,MB:0,NB:0.01908,OB:0.00477,PB:0,QB:0,RB:0,SB:0,TB:0,UB:0,VB:0,WB:0.0477,XB:0,YB:0,ZB:0,aB:0.00477,bB:0,cB:0,yB:0,dB:0,zB:0,eB:0,fB:0,gB:0,hB:0,iB:0,jB:0,kB:0,lB:0,mB:0,nB:0,oB:0.00954,m:0,pB:0,qB:0,rB:0,sB:0,tB:0.03339,P:0,Q:0,R:0,\"0B\":0,S:0,T:0.00954,U:0,V:0,W:0.01431,X:0.00954,Y:0,Z:0,a:0.00954,b:0,c:0,d:0.00954,e:0,f:0,g:0,h:0,i:0,n:0,o:0,p:0.10971,q:0.02385,r:0.00477,s:0.00477,t:0.00477,u:0.00954,v:0.00954,w:0.01431,x:0.02385,y:0.05247,z:0.8109,j:1.09233,I:0.01431,\"1B\":0,\"2B\":0,KC:0,LC:0},B:\"moz\",C:[\"JC\",\"xB\",\"KC\",\"LC\",\"J\",\"0\",\"K\",\"E\",\"F\",\"G\",\"A\",\"B\",\"C\",\"L\",\"M\",\"H\",\"N\",\"D\",\"O\",\"1\",\"k\",\"l\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"AB\",\"BB\",\"CB\",\"DB\",\"EB\",\"FB\",\"GB\",\"HB\",\"IB\",\"JB\",\"KB\",\"LB\",\"MB\",\"NB\",\"OB\",\"PB\",\"QB\",\"RB\",\"SB\",\"TB\",\"UB\",\"VB\",\"WB\",\"XB\",\"YB\",\"ZB\",\"aB\",\"bB\",\"cB\",\"yB\",\"dB\",\"zB\",\"eB\",\"fB\",\"gB\",\"hB\",\"iB\",\"jB\",\"kB\",\"lB\",\"mB\",\"nB\",\"oB\",\"m\",\"pB\",\"qB\",\"rB\",\"sB\",\"tB\",\"P\",\"Q\",\"R\",\"0B\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\"j\",\"I\",\"1B\",\"2B\",\"\"],E:\"Firefox\",F:{\"0\":1308614400,\"1\":1357603200,\"2\":1368489600,\"3\":1372118400,\"4\":1375747200,\"5\":1379376000,\"6\":1386633600,\"7\":1391472000,\"8\":1395100800,\"9\":1398729600,JC:1161648000,xB:1213660800,KC:1246320000,LC:1264032000,J:1300752000,K:1313452800,E:1317081600,F:1317081600,G:1320710400,A:1324339200,B:1327968000,C:1331596800,L:1335225600,M:1338854400,H:1342483200,N:1346112000,D:1349740800,O:1353628800,k:1361232000,l:1364860800,AB:1402358400,BB:1405987200,CB:1409616000,DB:1413244800,EB:1417392000,FB:1421107200,GB:1424736000,HB:1428278400,IB:1431475200,JB:1435881600,KB:1439251200,LB:1442880000,MB:1446508800,NB:1450137600,OB:1453852800,PB:1457395200,QB:1461628800,RB:1465257600,SB:1470096000,TB:1474329600,UB:1479168000,VB:1485216000,WB:1488844800,XB:1492560000,YB:1497312000,ZB:1502150400,aB:1506556800,bB:1510617600,cB:1516665600,yB:1520985600,dB:1525824000,zB:1529971200,eB:1536105600,fB:1540252800,gB:1544486400,hB:1548720000,iB:1552953600,jB:1558396800,kB:1562630400,lB:1567468800,mB:1571788800,nB:1575331200,oB:1578355200,m:1581379200,pB:1583798400,qB:1586304000,rB:1588636800,sB:1591056000,tB:1593475200,P:1595894400,Q:1598313600,R:1600732800,\"0B\":1603152000,S:1605571200,T:1607990400,U:1611619200,V:1614038400,W:1616457600,X:1618790400,Y:1622505600,Z:1626134400,a:1628553600,b:1630972800,c:1633392000,d:1635811200,e:1638835200,f:1641859200,g:1644364800,h:1646697600,i:1649116800,n:1651536000,o:1653955200,p:1656374400,q:1658793600,r:1661212800,s:1663632000,t:1666051200,u:1668470400,v:1670889600,w:1673913600,x:1676332800,y:1678752000,z:1681171200,j:1683590400,I:1686009600,\"1B\":null,\"2B\":null}},D:{A:{\"0\":0,\"1\":0,\"2\":0,\"3\":0,\"4\":0,\"5\":0,\"6\":0,\"7\":0,\"8\":0,\"9\":0,J:0,K:0,E:0,F:0,G:0,A:0,B:0,C:0,L:0,M:0,H:0,N:0,D:0,O:0,k:0,l:0,AB:0,BB:0,CB:0,DB:0,EB:0.00954,FB:0.00477,GB:0,HB:0,IB:0.01431,JB:0,KB:0.00954,LB:0,MB:0,NB:0.00954,OB:0.00477,PB:0.00954,QB:0,RB:0.00954,SB:0.01908,TB:0.03339,UB:0.00954,VB:0,WB:0.00477,XB:0.00954,YB:0,ZB:0.00477,aB:0.06678,bB:0,cB:0.00477,yB:0,dB:0.00954,zB:0.01431,eB:0,fB:0.00477,gB:0,hB:0.00954,iB:0.02862,jB:0.00954,kB:0.00954,lB:0.03816,mB:0.01908,nB:0.00954,oB:0.01908,m:0.01431,pB:0.03339,qB:0.07155,rB:0.05724,sB:0.01908,tB:0.02385,P:0.2385,Q:0.04293,R:0.04293,S:0.15264,T:0.01908,U:0.06678,V:0.05247,W:0.10494,X:0.02862,Y:0.03339,Z:0.0477,a:0.08109,b:0.0477,c:0.13356,d:0.03816,e:0.01908,f:0.03339,g:0.02862,h:0.05247,i:0.05724,n:0.04293,o:0.04293,p:0.05724,q:0.25758,r:0.05724,s:0.08109,t:0.05724,u:0.07632,v:0.21465,w:2.11788,x:0.20988,y:0.80613,z:6.99759,j:12.3829,I:0.07155,\"1B\":0.01908,\"2B\":0,MC:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"J\",\"0\",\"K\",\"E\",\"F\",\"G\",\"A\",\"B\",\"C\",\"L\",\"M\",\"H\",\"N\",\"D\",\"O\",\"1\",\"k\",\"l\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"AB\",\"BB\",\"CB\",\"DB\",\"EB\",\"FB\",\"GB\",\"HB\",\"IB\",\"JB\",\"KB\",\"LB\",\"MB\",\"NB\",\"OB\",\"PB\",\"QB\",\"RB\",\"SB\",\"TB\",\"UB\",\"VB\",\"WB\",\"XB\",\"YB\",\"ZB\",\"aB\",\"bB\",\"cB\",\"yB\",\"dB\",\"zB\",\"eB\",\"fB\",\"gB\",\"hB\",\"iB\",\"jB\",\"kB\",\"lB\",\"mB\",\"nB\",\"oB\",\"m\",\"pB\",\"qB\",\"rB\",\"sB\",\"tB\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\"j\",\"I\",\"1B\",\"2B\",\"MC\"],E:\"Chrome\",F:{\"0\":1274745600,\"1\":1332892800,\"2\":1343692800,\"3\":1348531200,\"4\":1352246400,\"5\":1357862400,\"6\":1361404800,\"7\":1364428800,\"8\":1369094400,\"9\":1374105600,J:1264377600,K:1283385600,E:1287619200,F:1291248000,G:1296777600,A:1299542400,B:1303862400,C:1307404800,L:1312243200,M:1316131200,H:1316131200,N:1319500800,D:1323734400,O:1328659200,k:1337040000,l:1340668800,AB:1376956800,BB:1384214400,CB:1389657600,DB:1392940800,EB:1397001600,FB:1400544000,GB:1405468800,HB:1409011200,IB:1412640000,JB:1416268800,KB:1421798400,LB:1425513600,MB:1429401600,NB:1432080000,OB:1437523200,PB:1441152000,QB:1444780800,RB:1449014400,SB:1453248000,TB:1456963200,UB:1460592000,VB:1464134400,WB:1469059200,XB:1472601600,YB:1476230400,ZB:1480550400,aB:1485302400,bB:1489017600,cB:1492560000,yB:1496707200,dB:1500940800,zB:1504569600,eB:1508198400,fB:1512518400,gB:1516752000,hB:1520294400,iB:1523923200,jB:1527552000,kB:1532390400,lB:1536019200,mB:1539648000,nB:1543968000,oB:1548720000,m:1552348800,pB:1555977600,qB:1559606400,rB:1564444800,sB:1568073600,tB:1571702400,P:1575936000,Q:1580860800,R:1586304000,S:1589846400,T:1594684800,U:1598313600,V:1601942400,W:1605571200,X:1611014400,Y:1614556800,Z:1618272000,a:1621987200,b:1626739200,c:1630368000,d:1632268800,e:1634601600,f:1637020800,g:1641340800,h:1643673600,i:1646092800,n:1648512000,o:1650931200,p:1653350400,q:1655769600,r:1659398400,s:1661817600,t:1664236800,u:1666656000,v:1669680000,w:1673308800,x:1675728000,y:1678147200,z:1680566400,j:1682985600,I:1685404800,\"1B\":null,\"2B\":null,MC:null}},E:{A:{\"0\":0,J:0,K:0,E:0,F:0,G:0,A:0,B:0,C:0,L:0.02385,M:0.12879,H:0.03339,D:0,NC:0,\"3B\":0,OC:0.00954,PC:0,QC:0,RC:0.0477,\"4B\":0,uB:0.00477,vB:0.0477,\"5B\":0.18126,SC:0.37206,TC:0.05724,\"6B\":0.0477,\"7B\":0.11925,\"8B\":0.20988,\"9B\":0.86337,wB:0.09063,AC:0.29574,BC:0.35775,CC:0.98262,DC:1.86984,EC:0.14787,FC:0,UC:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"NC\",\"3B\",\"J\",\"0\",\"OC\",\"K\",\"PC\",\"E\",\"QC\",\"F\",\"G\",\"RC\",\"A\",\"4B\",\"B\",\"uB\",\"C\",\"vB\",\"L\",\"5B\",\"M\",\"SC\",\"H\",\"TC\",\"6B\",\"7B\",\"8B\",\"9B\",\"wB\",\"AC\",\"BC\",\"CC\",\"DC\",\"EC\",\"FC\",\"D\",\"UC\"],E:\"Safari\",F:{\"0\":1275868800,NC:1205798400,\"3B\":1226534400,J:1244419200,OC:1311120000,K:1343174400,PC:1382400000,E:1382400000,QC:1410998400,F:1413417600,G:1443657600,RC:1458518400,A:1474329600,\"4B\":1490572800,B:1505779200,uB:1522281600,C:1537142400,vB:1553472000,L:1568851200,\"5B\":1585008000,M:1600214400,SC:1619395200,H:1632096000,TC:1635292800,\"6B\":1639353600,\"7B\":1647216000,\"8B\":1652745600,\"9B\":1658275200,wB:1662940800,AC:1666569600,BC:1670889600,CC:1674432000,DC:1679875200,EC:1684368000,FC:null,D:null,UC:null}},F:{A:{\"1\":0,\"2\":0,\"3\":0,\"4\":0,\"5\":0,\"6\":0,\"7\":0,\"8\":0.00954,\"9\":0,G:0,B:0.03816,C:0,H:0,N:0,D:0,O:0,k:0,l:0,AB:0,BB:0,CB:0,DB:0,EB:0,FB:0,GB:0,HB:0,IB:0,JB:0,KB:0.00477,LB:0,MB:0,NB:0,OB:0,PB:0,QB:0.01431,RB:0,SB:0,TB:0,UB:0,VB:0,WB:0,XB:0,YB:0,ZB:0,aB:0,bB:0,cB:0,dB:0,eB:0,fB:0,gB:0,hB:0,iB:0,jB:0,kB:0,lB:0,mB:0,nB:0,oB:0,m:0,pB:0,qB:0,rB:0,sB:0,tB:0,P:0,Q:0,R:0,\"0B\":0,S:0,T:0,U:0.00477,V:0,W:0,X:0,Y:0.01431,Z:0,a:0,b:0,c:0,d:0.00477,e:0.06201,f:0.01908,g:0.45315,h:1.16388,i:0.02385,VC:0,WC:0,XC:0,YC:0,uB:0,GC:0,ZC:0,vB:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"G\",\"VC\",\"WC\",\"XC\",\"YC\",\"B\",\"uB\",\"GC\",\"ZC\",\"C\",\"vB\",\"H\",\"N\",\"D\",\"O\",\"1\",\"k\",\"l\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"AB\",\"BB\",\"CB\",\"DB\",\"EB\",\"FB\",\"GB\",\"HB\",\"IB\",\"JB\",\"KB\",\"LB\",\"MB\",\"NB\",\"OB\",\"PB\",\"QB\",\"RB\",\"SB\",\"TB\",\"UB\",\"VB\",\"WB\",\"XB\",\"YB\",\"ZB\",\"aB\",\"bB\",\"cB\",\"dB\",\"eB\",\"fB\",\"gB\",\"hB\",\"iB\",\"jB\",\"kB\",\"lB\",\"mB\",\"nB\",\"oB\",\"m\",\"pB\",\"qB\",\"rB\",\"sB\",\"tB\",\"P\",\"Q\",\"R\",\"0B\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"\",\"\",\"\"],E:\"Opera\",F:{\"1\":1390867200,\"2\":1401753600,\"3\":1405987200,\"4\":1409616000,\"5\":1413331200,\"6\":1417132800,\"7\":1422316800,\"8\":1425945600,\"9\":1430179200,G:1150761600,VC:1223424000,WC:1251763200,XC:1267488000,YC:1277942400,B:1292457600,uB:1302566400,GC:1309219200,ZC:1323129600,C:1323129600,vB:1352073600,H:1372723200,N:1377561600,D:1381104000,O:1386288000,k:1393891200,l:1399334400,AB:1433808000,BB:1438646400,CB:1442448000,DB:1445904000,EB:1449100800,FB:1454371200,GB:1457308800,HB:1462320000,IB:1465344000,JB:1470096000,KB:1474329600,LB:1477267200,MB:1481587200,NB:1486425600,OB:1490054400,PB:1494374400,QB:1498003200,RB:1502236800,SB:1506470400,TB:1510099200,UB:1515024000,VB:1517961600,WB:1521676800,XB:1525910400,YB:1530144000,ZB:1534982400,aB:1537833600,bB:1543363200,cB:1548201600,dB:1554768000,eB:1561593600,fB:1566259200,gB:1570406400,hB:1573689600,iB:1578441600,jB:1583971200,kB:1587513600,lB:1592956800,mB:1595894400,nB:1600128000,oB:1603238400,m:1613520000,pB:1612224000,qB:1616544000,rB:1619568000,sB:1623715200,tB:1627948800,P:1631577600,Q:1633392000,R:1635984000,\"0B\":1638403200,S:1642550400,T:1644969600,U:1647993600,V:1650412800,W:1652745600,X:1654646400,Y:1657152000,Z:1660780800,a:1663113600,b:1668816000,c:1668643200,d:1671062400,e:1675209600,f:1677024000,g:1679529600,h:1681948800,i:1684195200},D:{G:\"o\",B:\"o\",C:\"o\",VC:\"o\",WC:\"o\",XC:\"o\",YC:\"o\",uB:\"o\",GC:\"o\",ZC:\"o\",vB:\"o\"}},G:{A:{F:0,D:0,\"3B\":0,aC:0,HC:0.00307706,bC:0.00307706,cC:0.00461559,dC:0.0153853,eC:0.00923118,fC:0.00923118,gC:0.0476944,hC:0.00307706,iC:0.0630797,jC:0.0215394,kC:0.0200009,lC:0.0169238,mC:0.341554,nC:0.00923118,oC:0.0138468,pC:0.026155,qC:0.0738494,rC:0.204624,sC:0.380017,tC:0.116928,\"6B\":0.143083,\"7B\":0.164623,\"8B\":0.256934,\"9B\":0.667722,wB:0.776957,AC:1.4816,BC:0.821575,CC:2.3401,DC:6.00488,EC:0.430788,FC:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"3B\",\"aC\",\"HC\",\"bC\",\"cC\",\"dC\",\"F\",\"eC\",\"fC\",\"gC\",\"hC\",\"iC\",\"jC\",\"kC\",\"lC\",\"mC\",\"nC\",\"oC\",\"pC\",\"qC\",\"rC\",\"sC\",\"tC\",\"6B\",\"7B\",\"8B\",\"9B\",\"wB\",\"AC\",\"BC\",\"CC\",\"DC\",\"EC\",\"FC\",\"D\",\"\"],E:\"Safari on iOS\",F:{\"3B\":1270252800,aC:1283904000,HC:1299628800,bC:1331078400,cC:1359331200,dC:1394409600,F:1410912000,eC:1413763200,fC:1442361600,gC:1458518400,hC:1473724800,iC:1490572800,jC:1505779200,kC:1522281600,lC:1537142400,mC:1553472000,nC:1568851200,oC:1572220800,pC:1580169600,qC:1585008000,rC:1600214400,sC:1619395200,tC:1632096000,\"6B\":1639353600,\"7B\":1647216000,\"8B\":1652659200,\"9B\":1658275200,wB:1662940800,AC:1666569600,BC:1670889600,CC:1674432000,DC:1679875200,EC:1684368000,FC:null,D:null}},H:{A:{uC:0.886305},B:\"o\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"uC\",\"\",\"\",\"\"],E:\"Opera Mini\",F:{uC:1426464000}},I:{A:{xB:0,J:0.0144972,I:0,vC:0,wC:0.0579888,xC:0,yC:0.0144972,HC:0.0797346,zC:0,\"0C\":0.246452},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"vC\",\"wC\",\"xC\",\"xB\",\"J\",\"yC\",\"HC\",\"zC\",\"0C\",\"I\",\"\",\"\",\"\"],E:\"Android Browser\",F:{vC:1256515200,wC:1274313600,xC:1291593600,xB:1298332800,J:1318896000,yC:1341792000,HC:1374624000,zC:1386547200,\"0C\":1401667200,I:1685404800}},J:{A:{E:0,A:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"E\",\"A\",\"\",\"\",\"\"],E:\"Blackberry Browser\",F:{E:1325376000,A:1359504000}},K:{A:{A:0,B:0,C:0,m:0,uB:0,GC:0,vB:0},B:\"o\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"A\",\"B\",\"uB\",\"GC\",\"C\",\"vB\",\"m\",\"\",\"\",\"\"],E:\"Opera Mobile\",F:{A:1287100800,B:1300752000,uB:1314835200,GC:1318291200,C:1330300800,vB:1349740800,m:1673827200},D:{m:\"webkit\"}},L:{A:{I:37.5965},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"I\",\"\",\"\",\"\"],E:\"Chrome for Android\",F:{I:1685404800}},M:{A:{j:0.27719},B:\"moz\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"j\",\"\",\"\",\"\"],E:\"Firefox for Android\",F:{j:1683590400}},N:{A:{A:0,B:0},B:\"ms\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"A\",\"B\",\"\",\"\",\"\"],E:\"IE Mobile\",F:{A:1340150400,B:1353456000}},O:{A:{\"1C\":0.80019},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"1C\",\"\",\"\",\"\"],E:\"UC Browser for Android\",F:{\"1C\":1634688000},D:{\"1C\":\"webkit\"}},P:{A:{J:0.157218,k:1.66651,l:0.408766,\"2C\":0,\"3C\":0,\"4C\":0.0524059,\"5C\":0,\"6C\":0,\"4B\":0,\"7C\":0.0209623,\"8C\":0,\"9C\":0.0209623,AD:0.0104812,BD:0.0104812,wB:0.0419247,CD:0.0524059,DD:0.0419247,ED:0.104812},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"J\",\"2C\",\"3C\",\"4C\",\"5C\",\"6C\",\"4B\",\"7C\",\"8C\",\"9C\",\"AD\",\"BD\",\"wB\",\"CD\",\"DD\",\"ED\",\"k\",\"l\",\"\",\"\",\"\"],E:\"Samsung Internet\",F:{J:1461024000,\"2C\":1481846400,\"3C\":1509408000,\"4C\":1528329600,\"5C\":1546128000,\"6C\":1554163200,\"4B\":1567900800,\"7C\":1582588800,\"8C\":1593475200,\"9C\":1605657600,AD:1618531200,BD:1629072000,wB:1640736000,CD:1651708800,DD:1659657600,ED:1667260800,k:1677369600,l:1684454400}},Q:{A:{\"5B\":0.12552},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"5B\",\"\",\"\",\"\"],E:\"QQ Browser\",F:{\"5B\":1663718400}},R:{A:{FD:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"FD\",\"\",\"\",\"\"],E:\"Baidu Browser\",F:{FD:1663027200}},S:{A:{GD:0.1046,HD:0},B:\"moz\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"GD\",\"HD\",\"\",\"\",\"\"],E:\"KaiOS Browser\",F:{GD:1527811200,HD:1631664000}}};\n","'use strict'\n\nconst browsers = require('./browsers').browsers\nconst versions = require('./browserVersions').browserVersions\nconst agentsData = require('../../data/agents')\n\nfunction unpackBrowserVersions(versionsData) {\n return Object.keys(versionsData).reduce((usage, version) => {\n usage[versions[version]] = versionsData[version]\n return usage\n }, {})\n}\n\nmodule.exports.agents = Object.keys(agentsData).reduce((map, key) => {\n let versionsData = agentsData[key]\n map[browsers[key]] = Object.keys(versionsData).reduce((data, entry) => {\n if (entry === 'A') {\n data.usage_global = unpackBrowserVersions(versionsData[entry])\n } else if (entry === 'C') {\n data.versions = versionsData[entry].reduce((list, version) => {\n if (version === '') {\n list.push(null)\n } else {\n list.push(versions[version])\n }\n return list\n }, [])\n } else if (entry === 'D') {\n data.prefix_exceptions = unpackBrowserVersions(versionsData[entry])\n } else if (entry === 'E') {\n data.browser = versionsData[entry]\n } else if (entry === 'F') {\n data.release_date = Object.keys(versionsData[entry]).reduce(\n (map2, key2) => {\n map2[versions[key2]] = versionsData[entry][key2]\n return map2\n },\n {}\n )\n } else {\n // entry is B\n data.prefix = versionsData[entry]\n }\n return data\n }, {})\n return map\n}, {})\n","module.exports = {\n\t\"0.20\": \"39\",\n\t\"0.21\": \"41\",\n\t\"0.22\": \"41\",\n\t\"0.23\": \"41\",\n\t\"0.24\": \"41\",\n\t\"0.25\": \"42\",\n\t\"0.26\": \"42\",\n\t\"0.27\": \"43\",\n\t\"0.28\": \"43\",\n\t\"0.29\": \"43\",\n\t\"0.30\": \"44\",\n\t\"0.31\": \"45\",\n\t\"0.32\": \"45\",\n\t\"0.33\": \"45\",\n\t\"0.34\": \"45\",\n\t\"0.35\": \"45\",\n\t\"0.36\": \"47\",\n\t\"0.37\": \"49\",\n\t\"1.0\": \"49\",\n\t\"1.1\": \"50\",\n\t\"1.2\": \"51\",\n\t\"1.3\": \"52\",\n\t\"1.4\": \"53\",\n\t\"1.5\": \"54\",\n\t\"1.6\": \"56\",\n\t\"1.7\": \"58\",\n\t\"1.8\": \"59\",\n\t\"2.0\": \"61\",\n\t\"2.1\": \"61\",\n\t\"3.0\": \"66\",\n\t\"3.1\": \"66\",\n\t\"4.0\": \"69\",\n\t\"4.1\": \"69\",\n\t\"4.2\": \"69\",\n\t\"5.0\": \"73\",\n\t\"6.0\": \"76\",\n\t\"6.1\": \"76\",\n\t\"7.0\": \"78\",\n\t\"7.1\": \"78\",\n\t\"7.2\": \"78\",\n\t\"7.3\": \"78\",\n\t\"8.0\": \"80\",\n\t\"8.1\": \"80\",\n\t\"8.2\": \"80\",\n\t\"8.3\": \"80\",\n\t\"8.4\": \"80\",\n\t\"8.5\": \"80\",\n\t\"9.0\": \"83\",\n\t\"9.1\": \"83\",\n\t\"9.2\": \"83\",\n\t\"9.3\": \"83\",\n\t\"9.4\": \"83\",\n\t\"10.0\": \"85\",\n\t\"10.1\": \"85\",\n\t\"10.2\": \"85\",\n\t\"10.3\": \"85\",\n\t\"10.4\": \"85\",\n\t\"11.0\": \"87\",\n\t\"11.1\": \"87\",\n\t\"11.2\": \"87\",\n\t\"11.3\": \"87\",\n\t\"11.4\": \"87\",\n\t\"11.5\": \"87\",\n\t\"12.0\": \"89\",\n\t\"12.1\": \"89\",\n\t\"12.2\": \"89\",\n\t\"13.0\": \"91\",\n\t\"13.1\": \"91\",\n\t\"13.2\": \"91\",\n\t\"13.3\": \"91\",\n\t\"13.4\": \"91\",\n\t\"13.5\": \"91\",\n\t\"13.6\": \"91\",\n\t\"14.0\": \"93\",\n\t\"14.1\": \"93\",\n\t\"14.2\": \"93\",\n\t\"15.0\": \"94\",\n\t\"15.1\": \"94\",\n\t\"15.2\": \"94\",\n\t\"15.3\": \"94\",\n\t\"15.4\": \"94\",\n\t\"15.5\": \"94\",\n\t\"16.0\": \"96\",\n\t\"16.1\": \"96\",\n\t\"16.2\": \"96\",\n\t\"17.0\": \"98\",\n\t\"17.1\": \"98\",\n\t\"17.2\": \"98\",\n\t\"17.3\": \"98\",\n\t\"17.4\": \"98\",\n\t\"18.0\": \"100\",\n\t\"18.1\": \"100\",\n\t\"18.2\": \"100\",\n\t\"18.3\": \"100\",\n\t\"19.0\": \"102\",\n\t\"19.1\": \"102\",\n\t\"20.0\": \"104\",\n\t\"20.1\": \"104\",\n\t\"20.2\": \"104\",\n\t\"20.3\": \"104\",\n\t\"21.0\": \"106\",\n\t\"21.1\": \"106\",\n\t\"21.2\": \"106\",\n\t\"21.3\": \"106\",\n\t\"21.4\": \"106\",\n\t\"22.0\": \"108\",\n\t\"22.1\": \"108\",\n\t\"22.2\": \"108\",\n\t\"22.3\": \"108\",\n\t\"23.0\": \"110\",\n\t\"23.1\": \"110\",\n\t\"23.2\": \"110\",\n\t\"23.3\": \"110\",\n\t\"24.0\": \"112\",\n\t\"24.1\": \"112\",\n\t\"24.2\": \"112\",\n\t\"24.3\": \"112\",\n\t\"24.4\": \"112\",\n\t\"24.5\": \"112\",\n\t\"24.6\": \"112\",\n\t\"25.0\": \"114\",\n\t\"25.1\": \"114\",\n\t\"25.2\": \"114\",\n\t\"26.0\": \"116\"\n};","function BrowserslistError(message) {\n this.name = 'BrowserslistError'\n this.message = message\n this.browserslist = true\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, BrowserslistError)\n }\n}\n\nBrowserslistError.prototype = Error.prototype\n\nmodule.exports = BrowserslistError\n","var AND_REGEXP = /^\\s+and\\s+(.*)/i\nvar OR_REGEXP = /^(?:,\\s*|\\s+or\\s+)(.*)/i\n\nfunction flatten(array) {\n if (!Array.isArray(array)) return [array]\n return array.reduce(function (a, b) {\n return a.concat(flatten(b))\n }, [])\n}\n\nfunction find(string, predicate) {\n for (var n = 1, max = string.length; n <= max; n++) {\n var parsed = string.substr(-n, n)\n if (predicate(parsed, n, max)) {\n return string.slice(0, -n)\n }\n }\n return ''\n}\n\nfunction matchQuery(all, query) {\n var node = { query: query }\n if (query.indexOf('not ') === 0) {\n node.not = true\n query = query.slice(4)\n }\n\n for (var name in all) {\n var type = all[name]\n var match = query.match(type.regexp)\n if (match) {\n node.type = name\n for (var i = 0; i < type.matches.length; i++) {\n node[type.matches[i]] = match[i + 1]\n }\n return node\n }\n }\n\n node.type = 'unknown'\n return node\n}\n\nfunction matchBlock(all, string, qs) {\n var node\n return find(string, function (parsed, n, max) {\n if (AND_REGEXP.test(parsed)) {\n node = matchQuery(all, parsed.match(AND_REGEXP)[1])\n node.compose = 'and'\n qs.unshift(node)\n return true\n } else if (OR_REGEXP.test(parsed)) {\n node = matchQuery(all, parsed.match(OR_REGEXP)[1])\n node.compose = 'or'\n qs.unshift(node)\n return true\n } else if (n === max) {\n node = matchQuery(all, parsed.trim())\n node.compose = 'or'\n qs.unshift(node)\n return true\n }\n return false\n })\n}\n\nmodule.exports = function parse(all, queries) {\n if (!Array.isArray(queries)) queries = [queries]\n return flatten(\n queries.map(function (block) {\n var qs = []\n do {\n block = matchBlock(all, block, qs)\n } while (block)\n return qs\n })\n )\n}\n","var BrowserslistError = require('./error')\n\nfunction noop() {}\n\nmodule.exports = {\n loadQueries: function loadQueries() {\n throw new BrowserslistError(\n 'Sharable configs are not supported in client-side build of Browserslist'\n )\n },\n\n getStat: function getStat(opts) {\n return opts.stats\n },\n\n loadConfig: function loadConfig(opts) {\n if (opts.config) {\n throw new BrowserslistError(\n 'Browserslist config are not supported in client-side build'\n )\n }\n },\n\n loadCountry: function loadCountry() {\n throw new BrowserslistError(\n 'Country statistics are not supported ' +\n 'in client-side build of Browserslist'\n )\n },\n\n loadFeature: function loadFeature() {\n throw new BrowserslistError(\n 'Supports queries are not available in client-side build of Browserslist'\n )\n },\n\n currentNode: function currentNode(resolve, context) {\n return resolve(['maintained node versions'], context)[0]\n },\n\n parseConfig: noop,\n\n readConfig: noop,\n\n findConfig: noop,\n\n clearCaches: noop,\n\n oldDataWarning: noop,\n\n env: {}\n}\n","var jsReleases = require('node-releases/data/processed/envs.json')\nvar agents = require('caniuse-lite/dist/unpacker/agents').agents\nvar jsEOL = require('node-releases/data/release-schedule/release-schedule.json')\nvar path = require('path')\nvar e2c = require('electron-to-chromium/versions')\n\nvar BrowserslistError = require('./error')\nvar parse = require('./parse')\nvar env = require('./node') // Will load browser.js in webpack\n\nvar YEAR = 365.259641 * 24 * 60 * 60 * 1000\nvar ANDROID_EVERGREEN_FIRST = '37'\nvar OP_MOB_BLINK_FIRST = 14\n\n// Helpers\n\nfunction isVersionsMatch(versionA, versionB) {\n return (versionA + '.').indexOf(versionB + '.') === 0\n}\n\nfunction isEolReleased(name) {\n var version = name.slice(1)\n return browserslist.nodeVersions.some(function (i) {\n return isVersionsMatch(i, version)\n })\n}\n\nfunction normalize(versions) {\n return versions.filter(function (version) {\n return typeof version === 'string'\n })\n}\n\nfunction normalizeElectron(version) {\n var versionToUse = version\n if (version.split('.').length === 3) {\n versionToUse = version.split('.').slice(0, -1).join('.')\n }\n return versionToUse\n}\n\nfunction nameMapper(name) {\n return function mapName(version) {\n return name + ' ' + version\n }\n}\n\nfunction getMajor(version) {\n return parseInt(version.split('.')[0])\n}\n\nfunction getMajorVersions(released, number) {\n if (released.length === 0) return []\n var majorVersions = uniq(released.map(getMajor))\n var minimum = majorVersions[majorVersions.length - number]\n if (!minimum) {\n return released\n }\n var selected = []\n for (var i = released.length - 1; i >= 0; i--) {\n if (minimum > getMajor(released[i])) break\n selected.unshift(released[i])\n }\n return selected\n}\n\nfunction uniq(array) {\n var filtered = []\n for (var i = 0; i < array.length; i++) {\n if (filtered.indexOf(array[i]) === -1) filtered.push(array[i])\n }\n return filtered\n}\n\nfunction fillUsage(result, name, data) {\n for (var i in data) {\n result[name + ' ' + i] = data[i]\n }\n}\n\nfunction generateFilter(sign, version) {\n version = parseFloat(version)\n if (sign === '>') {\n return function (v) {\n return parseFloat(v) > version\n }\n } else if (sign === '>=') {\n return function (v) {\n return parseFloat(v) >= version\n }\n } else if (sign === '<') {\n return function (v) {\n return parseFloat(v) < version\n }\n } else {\n return function (v) {\n return parseFloat(v) <= version\n }\n }\n}\n\nfunction generateSemverFilter(sign, version) {\n version = version.split('.').map(parseSimpleInt)\n version[1] = version[1] || 0\n version[2] = version[2] || 0\n if (sign === '>') {\n return function (v) {\n v = v.split('.').map(parseSimpleInt)\n return compareSemver(v, version) > 0\n }\n } else if (sign === '>=') {\n return function (v) {\n v = v.split('.').map(parseSimpleInt)\n return compareSemver(v, version) >= 0\n }\n } else if (sign === '<') {\n return function (v) {\n v = v.split('.').map(parseSimpleInt)\n return compareSemver(version, v) > 0\n }\n } else {\n return function (v) {\n v = v.split('.').map(parseSimpleInt)\n return compareSemver(version, v) >= 0\n }\n }\n}\n\nfunction parseSimpleInt(x) {\n return parseInt(x)\n}\n\nfunction compare(a, b) {\n if (a < b) return -1\n if (a > b) return +1\n return 0\n}\n\nfunction compareSemver(a, b) {\n return (\n compare(parseInt(a[0]), parseInt(b[0])) ||\n compare(parseInt(a[1] || '0'), parseInt(b[1] || '0')) ||\n compare(parseInt(a[2] || '0'), parseInt(b[2] || '0'))\n )\n}\n\n// this follows the npm-like semver behavior\nfunction semverFilterLoose(operator, range) {\n range = range.split('.').map(parseSimpleInt)\n if (typeof range[1] === 'undefined') {\n range[1] = 'x'\n }\n // ignore any patch version because we only return minor versions\n // range[2] = 'x'\n switch (operator) {\n case '<=':\n return function (version) {\n version = version.split('.').map(parseSimpleInt)\n return compareSemverLoose(version, range) <= 0\n }\n case '>=':\n default:\n return function (version) {\n version = version.split('.').map(parseSimpleInt)\n return compareSemverLoose(version, range) >= 0\n }\n }\n}\n\n// this follows the npm-like semver behavior\nfunction compareSemverLoose(version, range) {\n if (version[0] !== range[0]) {\n return version[0] < range[0] ? -1 : +1\n }\n if (range[1] === 'x') {\n return 0\n }\n if (version[1] !== range[1]) {\n return version[1] < range[1] ? -1 : +1\n }\n return 0\n}\n\nfunction resolveVersion(data, version) {\n if (data.versions.indexOf(version) !== -1) {\n return version\n } else if (browserslist.versionAliases[data.name][version]) {\n return browserslist.versionAliases[data.name][version]\n } else {\n return false\n }\n}\n\nfunction normalizeVersion(data, version) {\n var resolved = resolveVersion(data, version)\n if (resolved) {\n return resolved\n } else if (data.versions.length === 1) {\n return data.versions[0]\n } else {\n return false\n }\n}\n\nfunction filterByYear(since, context) {\n since = since / 1000\n return Object.keys(agents).reduce(function (selected, name) {\n var data = byName(name, context)\n if (!data) return selected\n var versions = Object.keys(data.releaseDate).filter(function (v) {\n var date = data.releaseDate[v]\n return date !== null && date >= since\n })\n return selected.concat(versions.map(nameMapper(data.name)))\n }, [])\n}\n\nfunction cloneData(data) {\n return {\n name: data.name,\n versions: data.versions,\n released: data.released,\n releaseDate: data.releaseDate\n }\n}\n\nfunction byName(name, context) {\n name = name.toLowerCase()\n name = browserslist.aliases[name] || name\n if (context.mobileToDesktop && browserslist.desktopNames[name]) {\n var desktop = browserslist.data[browserslist.desktopNames[name]]\n if (name === 'android') {\n return normalizeAndroidData(cloneData(browserslist.data[name]), desktop)\n } else {\n var cloned = cloneData(desktop)\n cloned.name = name\n return cloned\n }\n }\n return browserslist.data[name]\n}\n\nfunction normalizeAndroidVersions(androidVersions, chromeVersions) {\n var iFirstEvergreen = chromeVersions.indexOf(ANDROID_EVERGREEN_FIRST)\n return androidVersions\n .filter(function (version) {\n return /^(?:[2-4]\\.|[34]$)/.test(version)\n })\n .concat(chromeVersions.slice(iFirstEvergreen))\n}\n\nfunction normalizeAndroidData(android, chrome) {\n android.released = normalizeAndroidVersions(android.released, chrome.released)\n android.versions = normalizeAndroidVersions(android.versions, chrome.versions)\n android.released.forEach(function (v) {\n if (android.releaseDate[v] === undefined) {\n android.releaseDate[v] = chrome.releaseDate[v]\n }\n })\n return android\n}\n\nfunction checkName(name, context) {\n var data = byName(name, context)\n if (!data) throw new BrowserslistError('Unknown browser ' + name)\n return data\n}\n\nfunction unknownQuery(query) {\n return new BrowserslistError(\n 'Unknown browser query `' +\n query +\n '`. ' +\n 'Maybe you are using old Browserslist or made typo in query.'\n )\n}\n\n// Adjusts last X versions queries for some mobile browsers,\n// where caniuse data jumps from a legacy version to the latest\nfunction filterJumps(list, name, nVersions, context) {\n var jump = 1\n switch (name) {\n case 'android':\n if (context.mobileToDesktop) return list\n var released = browserslist.data.chrome.released\n jump = released.length - released.indexOf(ANDROID_EVERGREEN_FIRST)\n break\n case 'op_mob':\n var latest = browserslist.data.op_mob.released.slice(-1)[0]\n jump = getMajor(latest) - OP_MOB_BLINK_FIRST + 1\n break\n default:\n return list\n }\n if (nVersions <= jump) {\n return list.slice(-1)\n }\n return list.slice(jump - 1 - nVersions)\n}\n\nfunction isSupported(flags) {\n return (\n typeof flags === 'string' &&\n (flags.indexOf('y') >= 0 || flags.indexOf('a') >= 0)\n )\n}\n\nfunction resolve(queries, context) {\n return parse(QUERIES, queries).reduce(function (result, node, index) {\n if (node.not && index === 0) {\n throw new BrowserslistError(\n 'Write any browsers query (for instance, `defaults`) ' +\n 'before `' +\n node.query +\n '`'\n )\n }\n var type = QUERIES[node.type]\n var array = type.select.call(browserslist, context, node).map(function (j) {\n var parts = j.split(' ')\n if (parts[1] === '0') {\n return parts[0] + ' ' + byName(parts[0], context).versions[0]\n } else {\n return j\n }\n })\n\n if (node.compose === 'and') {\n if (node.not) {\n return result.filter(function (j) {\n return array.indexOf(j) === -1\n })\n } else {\n return result.filter(function (j) {\n return array.indexOf(j) !== -1\n })\n }\n } else {\n if (node.not) {\n var filter = {}\n array.forEach(function (j) {\n filter[j] = true\n })\n return result.filter(function (j) {\n return !filter[j]\n })\n }\n return result.concat(array)\n }\n }, [])\n}\n\nfunction prepareOpts(opts) {\n if (typeof opts === 'undefined') opts = {}\n\n if (typeof opts.path === 'undefined') {\n opts.path = path.resolve ? path.resolve('.') : '.'\n }\n\n return opts\n}\n\nfunction prepareQueries(queries, opts) {\n if (typeof queries === 'undefined' || queries === null) {\n var config = browserslist.loadConfig(opts)\n if (config) {\n queries = config\n } else {\n queries = browserslist.defaults\n }\n }\n\n return queries\n}\n\nfunction checkQueries(queries) {\n if (!(typeof queries === 'string' || Array.isArray(queries))) {\n throw new BrowserslistError(\n 'Browser queries must be an array or string. Got ' + typeof queries + '.'\n )\n }\n}\n\nvar cache = {}\n\nfunction browserslist(queries, opts) {\n opts = prepareOpts(opts)\n queries = prepareQueries(queries, opts)\n checkQueries(queries)\n\n var context = {\n ignoreUnknownVersions: opts.ignoreUnknownVersions,\n dangerousExtend: opts.dangerousExtend,\n mobileToDesktop: opts.mobileToDesktop,\n path: opts.path,\n env: opts.env\n }\n\n env.oldDataWarning(browserslist.data)\n var stats = env.getStat(opts, browserslist.data)\n if (stats) {\n context.customUsage = {}\n for (var browser in stats) {\n fillUsage(context.customUsage, browser, stats[browser])\n }\n }\n\n var cacheKey = JSON.stringify([queries, context])\n if (cache[cacheKey]) return cache[cacheKey]\n\n var result = uniq(resolve(queries, context)).sort(function (name1, name2) {\n name1 = name1.split(' ')\n name2 = name2.split(' ')\n if (name1[0] === name2[0]) {\n // assumptions on caniuse data\n // 1) version ranges never overlaps\n // 2) if version is not a range, it never contains `-`\n var version1 = name1[1].split('-')[0]\n var version2 = name2[1].split('-')[0]\n return compareSemver(version2.split('.'), version1.split('.'))\n } else {\n return compare(name1[0], name2[0])\n }\n })\n if (!env.env.BROWSERSLIST_DISABLE_CACHE) {\n cache[cacheKey] = result\n }\n return result\n}\n\nbrowserslist.parse = function (queries, opts) {\n opts = prepareOpts(opts)\n queries = prepareQueries(queries, opts)\n checkQueries(queries)\n return parse(QUERIES, queries)\n}\n\n// Will be filled by Can I Use data below\nbrowserslist.cache = {}\nbrowserslist.data = {}\nbrowserslist.usage = {\n global: {},\n custom: null\n}\n\n// Default browsers query\nbrowserslist.defaults = ['> 0.5%', 'last 2 versions', 'Firefox ESR', 'not dead']\n\n// Browser names aliases\nbrowserslist.aliases = {\n fx: 'firefox',\n ff: 'firefox',\n ios: 'ios_saf',\n explorer: 'ie',\n blackberry: 'bb',\n explorermobile: 'ie_mob',\n operamini: 'op_mini',\n operamobile: 'op_mob',\n chromeandroid: 'and_chr',\n firefoxandroid: 'and_ff',\n ucandroid: 'and_uc',\n qqandroid: 'and_qq'\n}\n\n// Can I Use only provides a few versions for some browsers (e.g. and_chr).\n// Fallback to a similar browser for unknown versions\n// Note op_mob is not included as its chromium versions are not in sync with Opera desktop\nbrowserslist.desktopNames = {\n and_chr: 'chrome',\n and_ff: 'firefox',\n ie_mob: 'ie',\n android: 'chrome' // has extra processing logic\n}\n\n// Aliases to work with joined versions like `ios_saf 7.0-7.1`\nbrowserslist.versionAliases = {}\n\nbrowserslist.clearCaches = env.clearCaches\nbrowserslist.parseConfig = env.parseConfig\nbrowserslist.readConfig = env.readConfig\nbrowserslist.findConfig = env.findConfig\nbrowserslist.loadConfig = env.loadConfig\n\nbrowserslist.coverage = function (browsers, stats) {\n var data\n if (typeof stats === 'undefined') {\n data = browserslist.usage.global\n } else if (stats === 'my stats') {\n var opts = {}\n opts.path = path.resolve ? path.resolve('.') : '.'\n var customStats = env.getStat(opts)\n if (!customStats) {\n throw new BrowserslistError('Custom usage statistics was not provided')\n }\n data = {}\n for (var browser in customStats) {\n fillUsage(data, browser, customStats[browser])\n }\n } else if (typeof stats === 'string') {\n if (stats.length > 2) {\n stats = stats.toLowerCase()\n } else {\n stats = stats.toUpperCase()\n }\n env.loadCountry(browserslist.usage, stats, browserslist.data)\n data = browserslist.usage[stats]\n } else {\n if ('dataByBrowser' in stats) {\n stats = stats.dataByBrowser\n }\n data = {}\n for (var name in stats) {\n for (var version in stats[name]) {\n data[name + ' ' + version] = stats[name][version]\n }\n }\n }\n\n return browsers.reduce(function (all, i) {\n var usage = data[i]\n if (usage === undefined) {\n usage = data[i.replace(/ \\S+$/, ' 0')]\n }\n return all + (usage || 0)\n }, 0)\n}\n\nfunction nodeQuery(context, node) {\n var matched = browserslist.nodeVersions.filter(function (i) {\n return isVersionsMatch(i, node.version)\n })\n if (matched.length === 0) {\n if (context.ignoreUnknownVersions) {\n return []\n } else {\n throw new BrowserslistError(\n 'Unknown version ' + node.version + ' of Node.js'\n )\n }\n }\n return ['node ' + matched[matched.length - 1]]\n}\n\nfunction sinceQuery(context, node) {\n var year = parseInt(node.year)\n var month = parseInt(node.month || '01') - 1\n var day = parseInt(node.day || '01')\n return filterByYear(Date.UTC(year, month, day, 0, 0, 0), context)\n}\n\nfunction coverQuery(context, node) {\n var coverage = parseFloat(node.coverage)\n var usage = browserslist.usage.global\n if (node.place) {\n if (node.place.match(/^my\\s+stats$/i)) {\n if (!context.customUsage) {\n throw new BrowserslistError('Custom usage statistics was not provided')\n }\n usage = context.customUsage\n } else {\n var place\n if (node.place.length === 2) {\n place = node.place.toUpperCase()\n } else {\n place = node.place.toLowerCase()\n }\n env.loadCountry(browserslist.usage, place, browserslist.data)\n usage = browserslist.usage[place]\n }\n }\n var versions = Object.keys(usage).sort(function (a, b) {\n return usage[b] - usage[a]\n })\n var coveraged = 0\n var result = []\n var version\n for (var i = 0; i < versions.length; i++) {\n version = versions[i]\n if (usage[version] === 0) break\n coveraged += usage[version]\n result.push(version)\n if (coveraged >= coverage) break\n }\n return result\n}\n\nvar QUERIES = {\n last_major_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+major\\s+versions?$/i,\n select: function (context, node) {\n return Object.keys(agents).reduce(function (selected, name) {\n var data = byName(name, context)\n if (!data) return selected\n var list = getMajorVersions(data.released, node.versions)\n list = list.map(nameMapper(data.name))\n list = filterJumps(list, data.name, node.versions, context)\n return selected.concat(list)\n }, [])\n }\n },\n last_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+versions?$/i,\n select: function (context, node) {\n return Object.keys(agents).reduce(function (selected, name) {\n var data = byName(name, context)\n if (!data) return selected\n var list = data.released.slice(-node.versions)\n list = list.map(nameMapper(data.name))\n list = filterJumps(list, data.name, node.versions, context)\n return selected.concat(list)\n }, [])\n }\n },\n last_electron_major_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+electron\\s+major\\s+versions?$/i,\n select: function (context, node) {\n var validVersions = getMajorVersions(Object.keys(e2c), node.versions)\n return validVersions.map(function (i) {\n return 'chrome ' + e2c[i]\n })\n }\n },\n last_node_major_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+node\\s+major\\s+versions?$/i,\n select: function (context, node) {\n return getMajorVersions(browserslist.nodeVersions, node.versions).map(\n function (version) {\n return 'node ' + version\n }\n )\n }\n },\n last_browser_major_versions: {\n matches: ['versions', 'browser'],\n regexp: /^last\\s+(\\d+)\\s+(\\w+)\\s+major\\s+versions?$/i,\n select: function (context, node) {\n var data = checkName(node.browser, context)\n var validVersions = getMajorVersions(data.released, node.versions)\n var list = validVersions.map(nameMapper(data.name))\n list = filterJumps(list, data.name, node.versions, context)\n return list\n }\n },\n last_electron_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+electron\\s+versions?$/i,\n select: function (context, node) {\n return Object.keys(e2c)\n .slice(-node.versions)\n .map(function (i) {\n return 'chrome ' + e2c[i]\n })\n }\n },\n last_node_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+node\\s+versions?$/i,\n select: function (context, node) {\n return browserslist.nodeVersions\n .slice(-node.versions)\n .map(function (version) {\n return 'node ' + version\n })\n }\n },\n last_browser_versions: {\n matches: ['versions', 'browser'],\n regexp: /^last\\s+(\\d+)\\s+(\\w+)\\s+versions?$/i,\n select: function (context, node) {\n var data = checkName(node.browser, context)\n var list = data.released.slice(-node.versions).map(nameMapper(data.name))\n list = filterJumps(list, data.name, node.versions, context)\n return list\n }\n },\n unreleased_versions: {\n matches: [],\n regexp: /^unreleased\\s+versions$/i,\n select: function (context) {\n return Object.keys(agents).reduce(function (selected, name) {\n var data = byName(name, context)\n if (!data) return selected\n var list = data.versions.filter(function (v) {\n return data.released.indexOf(v) === -1\n })\n list = list.map(nameMapper(data.name))\n return selected.concat(list)\n }, [])\n }\n },\n unreleased_electron_versions: {\n matches: [],\n regexp: /^unreleased\\s+electron\\s+versions?$/i,\n select: function () {\n return []\n }\n },\n unreleased_browser_versions: {\n matches: ['browser'],\n regexp: /^unreleased\\s+(\\w+)\\s+versions?$/i,\n select: function (context, node) {\n var data = checkName(node.browser, context)\n return data.versions\n .filter(function (v) {\n return data.released.indexOf(v) === -1\n })\n .map(nameMapper(data.name))\n }\n },\n last_years: {\n matches: ['years'],\n regexp: /^last\\s+(\\d*.?\\d+)\\s+years?$/i,\n select: function (context, node) {\n return filterByYear(Date.now() - YEAR * node.years, context)\n }\n },\n since_y: {\n matches: ['year'],\n regexp: /^since (\\d+)$/i,\n select: sinceQuery\n },\n since_y_m: {\n matches: ['year', 'month'],\n regexp: /^since (\\d+)-(\\d+)$/i,\n select: sinceQuery\n },\n since_y_m_d: {\n matches: ['year', 'month', 'day'],\n regexp: /^since (\\d+)-(\\d+)-(\\d+)$/i,\n select: sinceQuery\n },\n popularity: {\n matches: ['sign', 'popularity'],\n regexp: /^(>=?|<=?)\\s*(\\d+|\\d+\\.\\d+|\\.\\d+)%$/,\n select: function (context, node) {\n var popularity = parseFloat(node.popularity)\n var usage = browserslist.usage.global\n return Object.keys(usage).reduce(function (result, version) {\n if (node.sign === '>') {\n if (usage[version] > popularity) {\n result.push(version)\n }\n } else if (node.sign === '<') {\n if (usage[version] < popularity) {\n result.push(version)\n }\n } else if (node.sign === '<=') {\n if (usage[version] <= popularity) {\n result.push(version)\n }\n } else if (usage[version] >= popularity) {\n result.push(version)\n }\n return result\n }, [])\n }\n },\n popularity_in_my_stats: {\n matches: ['sign', 'popularity'],\n regexp: /^(>=?|<=?)\\s*(\\d+|\\d+\\.\\d+|\\.\\d+)%\\s+in\\s+my\\s+stats$/,\n select: function (context, node) {\n var popularity = parseFloat(node.popularity)\n if (!context.customUsage) {\n throw new BrowserslistError('Custom usage statistics was not provided')\n }\n var usage = context.customUsage\n return Object.keys(usage).reduce(function (result, version) {\n var percentage = usage[version]\n if (percentage == null) {\n return result\n }\n\n if (node.sign === '>') {\n if (percentage > popularity) {\n result.push(version)\n }\n } else if (node.sign === '<') {\n if (percentage < popularity) {\n result.push(version)\n }\n } else if (node.sign === '<=') {\n if (percentage <= popularity) {\n result.push(version)\n }\n } else if (percentage >= popularity) {\n result.push(version)\n }\n return result\n }, [])\n }\n },\n popularity_in_config_stats: {\n matches: ['sign', 'popularity', 'config'],\n regexp: /^(>=?|<=?)\\s*(\\d+|\\d+\\.\\d+|\\.\\d+)%\\s+in\\s+(\\S+)\\s+stats$/,\n select: function (context, node) {\n var popularity = parseFloat(node.popularity)\n var stats = env.loadStat(context, node.config, browserslist.data)\n if (stats) {\n context.customUsage = {}\n for (var browser in stats) {\n fillUsage(context.customUsage, browser, stats[browser])\n }\n }\n if (!context.customUsage) {\n throw new BrowserslistError('Custom usage statistics was not provided')\n }\n var usage = context.customUsage\n return Object.keys(usage).reduce(function (result, version) {\n var percentage = usage[version]\n if (percentage == null) {\n return result\n }\n\n if (node.sign === '>') {\n if (percentage > popularity) {\n result.push(version)\n }\n } else if (node.sign === '<') {\n if (percentage < popularity) {\n result.push(version)\n }\n } else if (node.sign === '<=') {\n if (percentage <= popularity) {\n result.push(version)\n }\n } else if (percentage >= popularity) {\n result.push(version)\n }\n return result\n }, [])\n }\n },\n popularity_in_place: {\n matches: ['sign', 'popularity', 'place'],\n regexp: /^(>=?|<=?)\\s*(\\d+|\\d+\\.\\d+|\\.\\d+)%\\s+in\\s+((alt-)?\\w\\w)$/,\n select: function (context, node) {\n var popularity = parseFloat(node.popularity)\n var place = node.place\n if (place.length === 2) {\n place = place.toUpperCase()\n } else {\n place = place.toLowerCase()\n }\n env.loadCountry(browserslist.usage, place, browserslist.data)\n var usage = browserslist.usage[place]\n return Object.keys(usage).reduce(function (result, version) {\n var percentage = usage[version]\n if (percentage == null) {\n return result\n }\n\n if (node.sign === '>') {\n if (percentage > popularity) {\n result.push(version)\n }\n } else if (node.sign === '<') {\n if (percentage < popularity) {\n result.push(version)\n }\n } else if (node.sign === '<=') {\n if (percentage <= popularity) {\n result.push(version)\n }\n } else if (percentage >= popularity) {\n result.push(version)\n }\n return result\n }, [])\n }\n },\n cover: {\n matches: ['coverage'],\n regexp: /^cover\\s+(\\d+|\\d+\\.\\d+|\\.\\d+)%$/i,\n select: coverQuery\n },\n cover_in: {\n matches: ['coverage', 'place'],\n regexp: /^cover\\s+(\\d+|\\d+\\.\\d+|\\.\\d+)%\\s+in\\s+(my\\s+stats|(alt-)?\\w\\w)$/i,\n select: coverQuery\n },\n supports: {\n matches: ['feature'],\n regexp: /^supports\\s+([\\w-]+)$/,\n select: function (context, node) {\n env.loadFeature(browserslist.cache, node.feature)\n var features = browserslist.cache[node.feature]\n var result = []\n for (var name in features) {\n var data = byName(name, context)\n // Only check desktop when latest released mobile has support\n var checkDesktop =\n context.mobileToDesktop &&\n name in browserslist.desktopNames &&\n isSupported(features[name][data.released.slice(-1)[0]])\n data.versions.forEach(function (version) {\n var flags = features[name][version]\n if (flags === undefined && checkDesktop) {\n flags = features[browserslist.desktopNames[name]][version]\n }\n if (isSupported(flags)) {\n result.push(name + ' ' + version)\n }\n })\n }\n return result\n }\n },\n electron_range: {\n matches: ['from', 'to'],\n regexp: /^electron\\s+([\\d.]+)\\s*-\\s*([\\d.]+)$/i,\n select: function (context, node) {\n var fromToUse = normalizeElectron(node.from)\n var toToUse = normalizeElectron(node.to)\n var from = parseFloat(node.from)\n var to = parseFloat(node.to)\n if (!e2c[fromToUse]) {\n throw new BrowserslistError('Unknown version ' + from + ' of electron')\n }\n if (!e2c[toToUse]) {\n throw new BrowserslistError('Unknown version ' + to + ' of electron')\n }\n return Object.keys(e2c)\n .filter(function (i) {\n var parsed = parseFloat(i)\n return parsed >= from && parsed <= to\n })\n .map(function (i) {\n return 'chrome ' + e2c[i]\n })\n }\n },\n node_range: {\n matches: ['from', 'to'],\n regexp: /^node\\s+([\\d.]+)\\s*-\\s*([\\d.]+)$/i,\n select: function (context, node) {\n return browserslist.nodeVersions\n .filter(semverFilterLoose('>=', node.from))\n .filter(semverFilterLoose('<=', node.to))\n .map(function (v) {\n return 'node ' + v\n })\n }\n },\n browser_range: {\n matches: ['browser', 'from', 'to'],\n regexp: /^(\\w+)\\s+([\\d.]+)\\s*-\\s*([\\d.]+)$/i,\n select: function (context, node) {\n var data = checkName(node.browser, context)\n var from = parseFloat(normalizeVersion(data, node.from) || node.from)\n var to = parseFloat(normalizeVersion(data, node.to) || node.to)\n function filter(v) {\n var parsed = parseFloat(v)\n return parsed >= from && parsed <= to\n }\n return data.released.filter(filter).map(nameMapper(data.name))\n }\n },\n electron_ray: {\n matches: ['sign', 'version'],\n regexp: /^electron\\s*(>=?|<=?)\\s*([\\d.]+)$/i,\n select: function (context, node) {\n var versionToUse = normalizeElectron(node.version)\n return Object.keys(e2c)\n .filter(generateFilter(node.sign, versionToUse))\n .map(function (i) {\n return 'chrome ' + e2c[i]\n })\n }\n },\n node_ray: {\n matches: ['sign', 'version'],\n regexp: /^node\\s*(>=?|<=?)\\s*([\\d.]+)$/i,\n select: function (context, node) {\n return browserslist.nodeVersions\n .filter(generateSemverFilter(node.sign, node.version))\n .map(function (v) {\n return 'node ' + v\n })\n }\n },\n browser_ray: {\n matches: ['browser', 'sign', 'version'],\n regexp: /^(\\w+)\\s*(>=?|<=?)\\s*([\\d.]+)$/,\n select: function (context, node) {\n var version = node.version\n var data = checkName(node.browser, context)\n var alias = browserslist.versionAliases[data.name][version]\n if (alias) version = alias\n return data.released\n .filter(generateFilter(node.sign, version))\n .map(function (v) {\n return data.name + ' ' + v\n })\n }\n },\n firefox_esr: {\n matches: [],\n regexp: /^(firefox|ff|fx)\\s+esr$/i,\n select: function () {\n return ['firefox 102']\n }\n },\n opera_mini_all: {\n matches: [],\n regexp: /(operamini|op_mini)\\s+all/i,\n select: function () {\n return ['op_mini all']\n }\n },\n electron_version: {\n matches: ['version'],\n regexp: /^electron\\s+([\\d.]+)$/i,\n select: function (context, node) {\n var versionToUse = normalizeElectron(node.version)\n var chrome = e2c[versionToUse]\n if (!chrome) {\n throw new BrowserslistError(\n 'Unknown version ' + node.version + ' of electron'\n )\n }\n return ['chrome ' + chrome]\n }\n },\n node_major_version: {\n matches: ['version'],\n regexp: /^node\\s+(\\d+)$/i,\n select: nodeQuery\n },\n node_minor_version: {\n matches: ['version'],\n regexp: /^node\\s+(\\d+\\.\\d+)$/i,\n select: nodeQuery\n },\n node_patch_version: {\n matches: ['version'],\n regexp: /^node\\s+(\\d+\\.\\d+\\.\\d+)$/i,\n select: nodeQuery\n },\n current_node: {\n matches: [],\n regexp: /^current\\s+node$/i,\n select: function (context) {\n return [env.currentNode(resolve, context)]\n }\n },\n maintained_node: {\n matches: [],\n regexp: /^maintained\\s+node\\s+versions$/i,\n select: function (context) {\n var now = Date.now()\n var queries = Object.keys(jsEOL)\n .filter(function (key) {\n return (\n now < Date.parse(jsEOL[key].end) &&\n now > Date.parse(jsEOL[key].start) &&\n isEolReleased(key)\n )\n })\n .map(function (key) {\n return 'node ' + key.slice(1)\n })\n return resolve(queries, context)\n }\n },\n phantomjs_1_9: {\n matches: [],\n regexp: /^phantomjs\\s+1.9$/i,\n select: function () {\n return ['safari 5']\n }\n },\n phantomjs_2_1: {\n matches: [],\n regexp: /^phantomjs\\s+2.1$/i,\n select: function () {\n return ['safari 6']\n }\n },\n browser_version: {\n matches: ['browser', 'version'],\n regexp: /^(\\w+)\\s+(tp|[\\d.]+)$/i,\n select: function (context, node) {\n var version = node.version\n if (/^tp$/i.test(version)) version = 'TP'\n var data = checkName(node.browser, context)\n var alias = normalizeVersion(data, version)\n if (alias) {\n version = alias\n } else {\n if (version.indexOf('.') === -1) {\n alias = version + '.0'\n } else {\n alias = version.replace(/\\.0$/, '')\n }\n alias = normalizeVersion(data, alias)\n if (alias) {\n version = alias\n } else if (context.ignoreUnknownVersions) {\n return []\n } else {\n throw new BrowserslistError(\n 'Unknown version ' + version + ' of ' + node.browser\n )\n }\n }\n return [data.name + ' ' + version]\n }\n },\n browserslist_config: {\n matches: [],\n regexp: /^browserslist config$/i,\n select: function (context) {\n return browserslist(undefined, context)\n }\n },\n extends: {\n matches: ['config'],\n regexp: /^extends (.+)$/i,\n select: function (context, node) {\n return resolve(env.loadQueries(context, node.config), context)\n }\n },\n defaults: {\n matches: [],\n regexp: /^defaults$/i,\n select: function (context) {\n return resolve(browserslist.defaults, context)\n }\n },\n dead: {\n matches: [],\n regexp: /^dead$/i,\n select: function (context) {\n var dead = [\n 'Baidu >= 0',\n 'ie <= 11',\n 'ie_mob <= 11',\n 'bb <= 10',\n 'op_mob <= 12.1',\n 'samsung 4'\n ]\n return resolve(dead, context)\n }\n },\n unknown: {\n matches: [],\n regexp: /^(\\w+)$/i,\n select: function (context, node) {\n if (byName(node.query, context)) {\n throw new BrowserslistError(\n 'Specify versions in Browserslist query for browser ' + node.query\n )\n } else {\n throw unknownQuery(node.query)\n }\n }\n }\n}\n\n// Get and convert Can I Use data\n\n;(function () {\n for (var name in agents) {\n var browser = agents[name]\n browserslist.data[name] = {\n name: name,\n versions: normalize(agents[name].versions),\n released: normalize(agents[name].versions.slice(0, -3)),\n releaseDate: agents[name].release_date\n }\n fillUsage(browserslist.usage.global, name, browser.usage_global)\n\n browserslist.versionAliases[name] = {}\n for (var i = 0; i < browser.versions.length; i++) {\n var full = browser.versions[i]\n if (!full) continue\n\n if (full.indexOf('-') !== -1) {\n var interval = full.split('-')\n for (var j = 0; j < interval.length; j++) {\n browserslist.versionAliases[name][interval[j]] = full\n }\n }\n }\n }\n\n browserslist.nodeVersions = jsReleases.map(function (release) {\n return release.version\n })\n})()\n\nmodule.exports = browserslist\n","const { min } = Math;\n\n// a minimal leven distance implementation\n// balanced maintainability with code size\n// It is not blazingly fast but should be okay for Babel user case\n// where it will be run for at most tens of time on strings\n// that have less than 20 ASCII characters\n\n// https://rosettacode.org/wiki/Levenshtein_distance#ES5\nfunction levenshtein(a: string, b: string): number {\n let t = [],\n u: number[] = [],\n i,\n j;\n const m = a.length,\n n = b.length;\n if (!m) {\n return n;\n }\n if (!n) {\n return m;\n }\n for (j = 0; j <= n; j++) {\n t[j] = j;\n }\n for (i = 1; i <= m; i++) {\n for (u = [i], j = 1; j <= n; j++) {\n u[j] =\n a[i - 1] === b[j - 1] ? t[j - 1] : min(t[j - 1], t[j], u[j - 1]) + 1;\n }\n t = u;\n }\n return u[n];\n}\n\n/**\n * Given a string `str` and an array of candidates `arr`,\n * return the first of elements in candidates that has minimal\n * Levenshtein distance with `str`.\n * @export\n * @param {string} str\n * @param {string[]} arr\n * @returns {string}\n */\nexport function findSuggestion(str: string, arr: readonly string[]): string {\n const distances = arr.map(el => levenshtein(el, str));\n return arr[distances.indexOf(min(...distances))];\n}\n","import { findSuggestion } from \"./find-suggestion.ts\";\n\nexport class OptionValidator {\n declare descriptor: string;\n constructor(descriptor: string) {\n this.descriptor = descriptor;\n }\n\n /**\n * Validate if the given `options` follow the name of keys defined in the `TopLevelOptionShape`\n *\n * @param {Object} options\n * @param {Object} TopLevelOptionShape\n * An object with all the valid key names that `options` should be allowed to have\n * The property values of `TopLevelOptionShape` can be arbitrary\n * @memberof OptionValidator\n */\n validateTopLevelOptions(options: Object, TopLevelOptionShape: Object): void {\n const validOptionNames = Object.keys(TopLevelOptionShape);\n for (const option of Object.keys(options)) {\n if (!validOptionNames.includes(option)) {\n throw new Error(\n this.formatMessage(`'${option}' is not a valid top-level option.\n- Did you mean '${findSuggestion(option, validOptionNames)}'?`),\n );\n }\n }\n }\n\n // note: we do not consider rewrite them to high order functions\n // until we have to support `validateNumberOption`.\n validateBooleanOption(\n name: string,\n value?: boolean,\n defaultValue?: T,\n ): boolean | T {\n if (value === undefined) {\n return defaultValue;\n } else {\n this.invariant(\n typeof value === \"boolean\",\n `'${name}' option must be a boolean.`,\n );\n }\n return value;\n }\n\n validateStringOption(\n name: string,\n value?: string,\n defaultValue?: T,\n ): string | T {\n if (value === undefined) {\n return defaultValue;\n } else {\n this.invariant(\n typeof value === \"string\",\n `'${name}' option must be a string.`,\n );\n }\n return value;\n }\n /**\n * A helper interface copied from the `invariant` npm package.\n * It throws given `message` when `condition` is not met\n *\n * @param {boolean} condition\n * @param {string} message\n * @memberof OptionValidator\n */\n invariant(condition: boolean, message: string): void {\n if (!condition) {\n throw new Error(this.formatMessage(message));\n }\n }\n\n formatMessage(message: string): string {\n return `${this.descriptor}: ${message}`;\n }\n}\n","module.exports = require(\"./data/native-modules.json\");\n","'use strict'\nmodule.exports = function (Yallist) {\n Yallist.prototype[Symbol.iterator] = function* () {\n for (let walker = this.head; walker; walker = walker.next) {\n yield walker.value\n }\n }\n}\n","'use strict'\nmodule.exports = Yallist\n\nYallist.Node = Node\nYallist.create = Yallist\n\nfunction Yallist (list) {\n var self = this\n if (!(self instanceof Yallist)) {\n self = new Yallist()\n }\n\n self.tail = null\n self.head = null\n self.length = 0\n\n if (list && typeof list.forEach === 'function') {\n list.forEach(function (item) {\n self.push(item)\n })\n } else if (arguments.length > 0) {\n for (var i = 0, l = arguments.length; i < l; i++) {\n self.push(arguments[i])\n }\n }\n\n return self\n}\n\nYallist.prototype.removeNode = function (node) {\n if (node.list !== this) {\n throw new Error('removing node which does not belong to this list')\n }\n\n var next = node.next\n var prev = node.prev\n\n if (next) {\n next.prev = prev\n }\n\n if (prev) {\n prev.next = next\n }\n\n if (node === this.head) {\n this.head = next\n }\n if (node === this.tail) {\n this.tail = prev\n }\n\n node.list.length--\n node.next = null\n node.prev = null\n node.list = null\n\n return next\n}\n\nYallist.prototype.unshiftNode = function (node) {\n if (node === this.head) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var head = this.head\n node.list = this\n node.next = head\n if (head) {\n head.prev = node\n }\n\n this.head = node\n if (!this.tail) {\n this.tail = node\n }\n this.length++\n}\n\nYallist.prototype.pushNode = function (node) {\n if (node === this.tail) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var tail = this.tail\n node.list = this\n node.prev = tail\n if (tail) {\n tail.next = node\n }\n\n this.tail = node\n if (!this.head) {\n this.head = node\n }\n this.length++\n}\n\nYallist.prototype.push = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n push(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.unshift = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n unshift(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.pop = function () {\n if (!this.tail) {\n return undefined\n }\n\n var res = this.tail.value\n this.tail = this.tail.prev\n if (this.tail) {\n this.tail.next = null\n } else {\n this.head = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.shift = function () {\n if (!this.head) {\n return undefined\n }\n\n var res = this.head.value\n this.head = this.head.next\n if (this.head) {\n this.head.prev = null\n } else {\n this.tail = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.forEach = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.head, i = 0; walker !== null; i++) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.next\n }\n}\n\nYallist.prototype.forEachReverse = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.prev\n }\n}\n\nYallist.prototype.get = function (n) {\n for (var i = 0, walker = this.head; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.next\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.getReverse = function (n) {\n for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.prev\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.map = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.head; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.next\n }\n return res\n}\n\nYallist.prototype.mapReverse = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.tail; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.prev\n }\n return res\n}\n\nYallist.prototype.reduce = function (fn, initial) {\n var acc\n var walker = this.head\n if (arguments.length > 1) {\n acc = initial\n } else if (this.head) {\n walker = this.head.next\n acc = this.head.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = 0; walker !== null; i++) {\n acc = fn(acc, walker.value, i)\n walker = walker.next\n }\n\n return acc\n}\n\nYallist.prototype.reduceReverse = function (fn, initial) {\n var acc\n var walker = this.tail\n if (arguments.length > 1) {\n acc = initial\n } else if (this.tail) {\n walker = this.tail.prev\n acc = this.tail.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = this.length - 1; walker !== null; i--) {\n acc = fn(acc, walker.value, i)\n walker = walker.prev\n }\n\n return acc\n}\n\nYallist.prototype.toArray = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.head; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.next\n }\n return arr\n}\n\nYallist.prototype.toArrayReverse = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.tail; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.prev\n }\n return arr\n}\n\nYallist.prototype.slice = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = 0, walker = this.head; walker !== null && i < from; i++) {\n walker = walker.next\n }\n for (; walker !== null && i < to; i++, walker = walker.next) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.sliceReverse = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {\n walker = walker.prev\n }\n for (; walker !== null && i > from; i--, walker = walker.prev) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.splice = function (start, deleteCount /*, ...nodes */) {\n if (start > this.length) {\n start = this.length - 1\n }\n if (start < 0) {\n start = this.length + start;\n }\n\n for (var i = 0, walker = this.head; walker !== null && i < start; i++) {\n walker = walker.next\n }\n\n var ret = []\n for (var i = 0; walker && i < deleteCount; i++) {\n ret.push(walker.value)\n walker = this.removeNode(walker)\n }\n if (walker === null) {\n walker = this.tail\n }\n\n if (walker !== this.head && walker !== this.tail) {\n walker = walker.prev\n }\n\n for (var i = 2; i < arguments.length; i++) {\n walker = insert(this, walker, arguments[i])\n }\n return ret;\n}\n\nYallist.prototype.reverse = function () {\n var head = this.head\n var tail = this.tail\n for (var walker = head; walker !== null; walker = walker.prev) {\n var p = walker.prev\n walker.prev = walker.next\n walker.next = p\n }\n this.head = tail\n this.tail = head\n return this\n}\n\nfunction insert (self, node, value) {\n var inserted = node === self.head ?\n new Node(value, null, node, self) :\n new Node(value, node, node.next, self)\n\n if (inserted.next === null) {\n self.tail = inserted\n }\n if (inserted.prev === null) {\n self.head = inserted\n }\n\n self.length++\n\n return inserted\n}\n\nfunction push (self, item) {\n self.tail = new Node(item, self.tail, null, self)\n if (!self.head) {\n self.head = self.tail\n }\n self.length++\n}\n\nfunction unshift (self, item) {\n self.head = new Node(item, null, self.head, self)\n if (!self.tail) {\n self.tail = self.head\n }\n self.length++\n}\n\nfunction Node (value, prev, next, list) {\n if (!(this instanceof Node)) {\n return new Node(value, prev, next, list)\n }\n\n this.list = list\n this.value = value\n\n if (prev) {\n prev.next = this\n this.prev = prev\n } else {\n this.prev = null\n }\n\n if (next) {\n next.prev = this\n this.next = next\n } else {\n this.next = null\n }\n}\n\ntry {\n // add if support for Symbol.iterator is present\n require('./iterator.js')(Yallist)\n} catch (er) {}\n","'use strict'\n\n// A linked list to keep track of recently-used-ness\nconst Yallist = require('yallist')\n\nconst MAX = Symbol('max')\nconst LENGTH = Symbol('length')\nconst LENGTH_CALCULATOR = Symbol('lengthCalculator')\nconst ALLOW_STALE = Symbol('allowStale')\nconst MAX_AGE = Symbol('maxAge')\nconst DISPOSE = Symbol('dispose')\nconst NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet')\nconst LRU_LIST = Symbol('lruList')\nconst CACHE = Symbol('cache')\nconst UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet')\n\nconst naiveLength = () => 1\n\n// lruList is a yallist where the head is the youngest\n// item, and the tail is the oldest. the list contains the Hit\n// objects as the entries.\n// Each Hit object has a reference to its Yallist.Node. This\n// never changes.\n//\n// cache is a Map (or PseudoMap) that matches the keys to\n// the Yallist.Node object.\nclass LRUCache {\n constructor (options) {\n if (typeof options === 'number')\n options = { max: options }\n\n if (!options)\n options = {}\n\n if (options.max && (typeof options.max !== 'number' || options.max < 0))\n throw new TypeError('max must be a non-negative number')\n // Kind of weird to have a default max of Infinity, but oh well.\n const max = this[MAX] = options.max || Infinity\n\n const lc = options.length || naiveLength\n this[LENGTH_CALCULATOR] = (typeof lc !== 'function') ? naiveLength : lc\n this[ALLOW_STALE] = options.stale || false\n if (options.maxAge && typeof options.maxAge !== 'number')\n throw new TypeError('maxAge must be a number')\n this[MAX_AGE] = options.maxAge || 0\n this[DISPOSE] = options.dispose\n this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false\n this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false\n this.reset()\n }\n\n // resize the cache when the max changes.\n set max (mL) {\n if (typeof mL !== 'number' || mL < 0)\n throw new TypeError('max must be a non-negative number')\n\n this[MAX] = mL || Infinity\n trim(this)\n }\n get max () {\n return this[MAX]\n }\n\n set allowStale (allowStale) {\n this[ALLOW_STALE] = !!allowStale\n }\n get allowStale () {\n return this[ALLOW_STALE]\n }\n\n set maxAge (mA) {\n if (typeof mA !== 'number')\n throw new TypeError('maxAge must be a non-negative number')\n\n this[MAX_AGE] = mA\n trim(this)\n }\n get maxAge () {\n return this[MAX_AGE]\n }\n\n // resize the cache when the lengthCalculator changes.\n set lengthCalculator (lC) {\n if (typeof lC !== 'function')\n lC = naiveLength\n\n if (lC !== this[LENGTH_CALCULATOR]) {\n this[LENGTH_CALCULATOR] = lC\n this[LENGTH] = 0\n this[LRU_LIST].forEach(hit => {\n hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key)\n this[LENGTH] += hit.length\n })\n }\n trim(this)\n }\n get lengthCalculator () { return this[LENGTH_CALCULATOR] }\n\n get length () { return this[LENGTH] }\n get itemCount () { return this[LRU_LIST].length }\n\n rforEach (fn, thisp) {\n thisp = thisp || this\n for (let walker = this[LRU_LIST].tail; walker !== null;) {\n const prev = walker.prev\n forEachStep(this, fn, walker, thisp)\n walker = prev\n }\n }\n\n forEach (fn, thisp) {\n thisp = thisp || this\n for (let walker = this[LRU_LIST].head; walker !== null;) {\n const next = walker.next\n forEachStep(this, fn, walker, thisp)\n walker = next\n }\n }\n\n keys () {\n return this[LRU_LIST].toArray().map(k => k.key)\n }\n\n values () {\n return this[LRU_LIST].toArray().map(k => k.value)\n }\n\n reset () {\n if (this[DISPOSE] &&\n this[LRU_LIST] &&\n this[LRU_LIST].length) {\n this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value))\n }\n\n this[CACHE] = new Map() // hash of items by key\n this[LRU_LIST] = new Yallist() // list of items in order of use recency\n this[LENGTH] = 0 // length of items in the list\n }\n\n dump () {\n return this[LRU_LIST].map(hit =>\n isStale(this, hit) ? false : {\n k: hit.key,\n v: hit.value,\n e: hit.now + (hit.maxAge || 0)\n }).toArray().filter(h => h)\n }\n\n dumpLru () {\n return this[LRU_LIST]\n }\n\n set (key, value, maxAge) {\n maxAge = maxAge || this[MAX_AGE]\n\n if (maxAge && typeof maxAge !== 'number')\n throw new TypeError('maxAge must be a number')\n\n const now = maxAge ? Date.now() : 0\n const len = this[LENGTH_CALCULATOR](value, key)\n\n if (this[CACHE].has(key)) {\n if (len > this[MAX]) {\n del(this, this[CACHE].get(key))\n return false\n }\n\n const node = this[CACHE].get(key)\n const item = node.value\n\n // dispose of the old one before overwriting\n // split out into 2 ifs for better coverage tracking\n if (this[DISPOSE]) {\n if (!this[NO_DISPOSE_ON_SET])\n this[DISPOSE](key, item.value)\n }\n\n item.now = now\n item.maxAge = maxAge\n item.value = value\n this[LENGTH] += len - item.length\n item.length = len\n this.get(key)\n trim(this)\n return true\n }\n\n const hit = new Entry(key, value, len, now, maxAge)\n\n // oversized objects fall out of cache automatically.\n if (hit.length > this[MAX]) {\n if (this[DISPOSE])\n this[DISPOSE](key, value)\n\n return false\n }\n\n this[LENGTH] += hit.length\n this[LRU_LIST].unshift(hit)\n this[CACHE].set(key, this[LRU_LIST].head)\n trim(this)\n return true\n }\n\n has (key) {\n if (!this[CACHE].has(key)) return false\n const hit = this[CACHE].get(key).value\n return !isStale(this, hit)\n }\n\n get (key) {\n return get(this, key, true)\n }\n\n peek (key) {\n return get(this, key, false)\n }\n\n pop () {\n const node = this[LRU_LIST].tail\n if (!node)\n return null\n\n del(this, node)\n return node.value\n }\n\n del (key) {\n del(this, this[CACHE].get(key))\n }\n\n load (arr) {\n // reset the cache\n this.reset()\n\n const now = Date.now()\n // A previous serialized cache has the most recent items first\n for (let l = arr.length - 1; l >= 0; l--) {\n const hit = arr[l]\n const expiresAt = hit.e || 0\n if (expiresAt === 0)\n // the item was created without expiration in a non aged cache\n this.set(hit.k, hit.v)\n else {\n const maxAge = expiresAt - now\n // dont add already expired items\n if (maxAge > 0) {\n this.set(hit.k, hit.v, maxAge)\n }\n }\n }\n }\n\n prune () {\n this[CACHE].forEach((value, key) => get(this, key, false))\n }\n}\n\nconst get = (self, key, doUse) => {\n const node = self[CACHE].get(key)\n if (node) {\n const hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE])\n return undefined\n } else {\n if (doUse) {\n if (self[UPDATE_AGE_ON_GET])\n node.value.now = Date.now()\n self[LRU_LIST].unshiftNode(node)\n }\n }\n return hit.value\n }\n}\n\nconst isStale = (self, hit) => {\n if (!hit || (!hit.maxAge && !self[MAX_AGE]))\n return false\n\n const diff = Date.now() - hit.now\n return hit.maxAge ? diff > hit.maxAge\n : self[MAX_AGE] && (diff > self[MAX_AGE])\n}\n\nconst trim = self => {\n if (self[LENGTH] > self[MAX]) {\n for (let walker = self[LRU_LIST].tail;\n self[LENGTH] > self[MAX] && walker !== null;) {\n // We know that we're about to delete this one, and also\n // what the next least recently used key will be, so just\n // go ahead and set it now.\n const prev = walker.prev\n del(self, walker)\n walker = prev\n }\n }\n}\n\nconst del = (self, node) => {\n if (node) {\n const hit = node.value\n if (self[DISPOSE])\n self[DISPOSE](hit.key, hit.value)\n\n self[LENGTH] -= hit.length\n self[CACHE].delete(hit.key)\n self[LRU_LIST].removeNode(node)\n }\n}\n\nclass Entry {\n constructor (key, value, length, now, maxAge) {\n this.key = key\n this.value = value\n this.length = length\n this.now = now\n this.maxAge = maxAge || 0\n }\n}\n\nconst forEachStep = (self, fn, node, thisp) => {\n let hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE])\n hit = undefined\n }\n if (hit)\n fn.call(thisp, hit.value, hit.key, self)\n}\n\nmodule.exports = LRUCache\n","// env vars from the cli are always strings, so !!ENV_VAR returns true for \"false\"\nfunction bool(value) {\n if (value == null) return false;\n return value && value !== \"false\" && value !== \"0\";\n}\n\nmodule.exports = bool(process.env[\"BABEL_8_BREAKING\"])\n ? require(\"lru-cache-BABEL_8_BREAKING-true\")\n : require(\"lru-cache-BABEL_8_BREAKING-false\");\n","// env vars from the cli are always strings, so !!ENV_VAR returns true for \"false\"\nfunction bool(value) {\n if (value == null) return false;\n return value && value !== \"false\" && value !== \"0\";\n}\n\nmodule.exports = bool(process.env[\"BABEL_8_BREAKING\"])\n ? require(\"semver-BABEL_8_BREAKING-true\")\n : require(\"semver-BABEL_8_BREAKING-false\");\n","export const unreleasedLabels = {\n safari: \"tp\",\n} as const;\n\n// Map from browserslist|@mdn/browser-compat-data browser names to @kangax/compat-table browser names\nexport const browserNameMap = {\n and_chr: \"chrome\",\n and_ff: \"firefox\",\n android: \"android\",\n chrome: \"chrome\",\n edge: \"edge\",\n firefox: \"firefox\",\n ie: \"ie\",\n ie_mob: \"ie\",\n ios_saf: \"ios\",\n node: \"node\",\n deno: \"deno\",\n op_mob: \"opera_mobile\",\n opera: \"opera\",\n safari: \"safari\",\n samsung: \"samsung\",\n} as const;\n\nexport type BrowserslistBrowserName = keyof typeof browserNameMap;\n","import semver from \"semver\";\nimport { OptionValidator } from \"@babel/helper-validator-option\";\nimport { unreleasedLabels } from \"./targets.ts\";\nimport type { Target, Targets } from \"./types.ts\";\n\nconst versionRegExp = /^(\\d+|\\d+.\\d+)$/;\n\nconst v = new OptionValidator(PACKAGE_JSON.name);\n\nexport function semverMin(\n first: string | undefined | null,\n second: string,\n): string {\n return first && semver.lt(first, second) ? first : second;\n}\n\n// Convert version to a semver value.\n// 2.5 -> 2.5.0; 1 -> 1.0.0;\nexport function semverify(version: number | string): string {\n if (typeof version === \"string\" && semver.valid(version)) {\n return version;\n }\n\n v.invariant(\n typeof version === \"number\" ||\n (typeof version === \"string\" && versionRegExp.test(version)),\n `'${version}' is not a valid version`,\n );\n\n version = version.toString();\n\n let pos = 0;\n let num = 0;\n while ((pos = version.indexOf(\".\", pos + 1)) > 0) {\n num++;\n }\n return version + \".0\".repeat(2 - num);\n}\n\nexport function isUnreleasedVersion(\n version: string | number,\n env: Target,\n): boolean {\n const unreleasedLabel =\n // @ts-expect-error unreleasedLabel will be guarded later\n unreleasedLabels[env];\n return (\n !!unreleasedLabel && unreleasedLabel === version.toString().toLowerCase()\n );\n}\n\nexport function getLowestUnreleased(a: string, b: string, env: Target): string {\n const unreleasedLabel:\n | (typeof unreleasedLabels)[keyof typeof unreleasedLabels]\n | undefined =\n // @ts-expect-error unreleasedLabel is undefined when env is not safari\n unreleasedLabels[env];\n if (a === unreleasedLabel) {\n return b;\n }\n if (b === unreleasedLabel) {\n return a;\n }\n return semverMin(a, b);\n}\n\nexport function getHighestUnreleased(\n a: string,\n b: string,\n env: Target,\n): string {\n return getLowestUnreleased(a, b, env) === a ? b : a;\n}\n\nexport function getLowestImplementedVersion(\n plugin: Targets,\n environment: Target,\n): string {\n const result = plugin[environment];\n // When Android support data is absent, use Chrome data as fallback\n if (!result && environment === \"android\") {\n return plugin.chrome;\n }\n return result;\n}\n","export const TargetNames = {\n node: \"node\",\n deno: \"deno\",\n chrome: \"chrome\",\n opera: \"opera\",\n edge: \"edge\",\n firefox: \"firefox\",\n safari: \"safari\",\n ie: \"ie\",\n ios: \"ios\",\n android: \"android\",\n electron: \"electron\",\n samsung: \"samsung\",\n rhino: \"rhino\",\n opera_mobile: \"opera_mobile\",\n};\n","import semver from \"semver\";\nimport { unreleasedLabels } from \"./targets.ts\";\nimport type { Targets, Target } from \"./types.ts\";\n\nexport function prettifyVersion(version: string) {\n if (typeof version !== \"string\") {\n return version;\n }\n\n const { major, minor, patch } = semver.parse(version);\n\n const parts = [major];\n\n if (minor || patch) {\n parts.push(minor);\n }\n\n if (patch) {\n parts.push(patch);\n }\n\n return parts.join(\".\");\n}\n\nexport function prettifyTargets(targets: Targets): Targets {\n return Object.keys(targets).reduce((results, target: Target) => {\n let value = targets[target];\n\n const unreleasedLabel =\n // @ts-expect-error undefined is strictly compared with string later\n unreleasedLabels[target];\n if (typeof value === \"string\" && unreleasedLabel !== value) {\n value = prettifyVersion(value);\n }\n\n results[target] = value;\n return results;\n }, {} as Targets);\n}\n","import semver from \"semver\";\nimport { prettifyVersion } from \"./pretty.ts\";\nimport {\n semverify,\n isUnreleasedVersion,\n getLowestImplementedVersion,\n} from \"./utils.ts\";\nimport type { Target, Targets } from \"./types.ts\";\n\nexport function getInclusionReasons(\n item: string,\n targetVersions: Targets,\n list: { [key: string]: Targets },\n) {\n const minVersions = list[item] || {};\n\n return (Object.keys(targetVersions) as Target[]).reduce(\n (result, env) => {\n const minVersion = getLowestImplementedVersion(minVersions, env);\n const targetVersion = targetVersions[env];\n\n if (!minVersion) {\n result[env] = prettifyVersion(targetVersion);\n } else {\n const minIsUnreleased = isUnreleasedVersion(minVersion, env);\n const targetIsUnreleased = isUnreleasedVersion(targetVersion, env);\n\n if (\n !targetIsUnreleased &&\n (minIsUnreleased ||\n semver.lt(targetVersion.toString(), semverify(minVersion)))\n ) {\n result[env] = prettifyVersion(targetVersion);\n }\n }\n\n return result;\n },\n {} as Partial>,\n );\n}\n","module.exports = require(\"./data/plugins.json\");\n","import semver from \"semver\";\n\nimport pluginsCompatData from \"@babel/compat-data/plugins\";\n\nimport type { Targets } from \"./types.ts\";\nimport {\n getLowestImplementedVersion,\n isUnreleasedVersion,\n semverify,\n} from \"./utils.ts\";\n\nexport function targetsSupported(target: Targets, support: Targets) {\n const targetEnvironments = Object.keys(target) as Array;\n\n if (targetEnvironments.length === 0) {\n return false;\n }\n\n const unsupportedEnvironments = targetEnvironments.filter(environment => {\n const lowestImplementedVersion = getLowestImplementedVersion(\n support,\n environment,\n );\n\n // Feature is not implemented in that environment\n if (!lowestImplementedVersion) {\n return true;\n }\n\n const lowestTargetedVersion = target[environment];\n\n // If targets has unreleased value as a lowest version, then don't require a plugin.\n if (isUnreleasedVersion(lowestTargetedVersion, environment)) {\n return false;\n }\n\n // Include plugin if it is supported in the unreleased environment, which wasn't specified in targets\n if (isUnreleasedVersion(lowestImplementedVersion, environment)) {\n return true;\n }\n\n if (!semver.valid(lowestTargetedVersion.toString())) {\n throw new Error(\n `Invalid version passed for target \"${environment}\": \"${lowestTargetedVersion}\". ` +\n \"Versions must be in semver format (major.minor.patch)\",\n );\n }\n\n return semver.gt(\n semverify(lowestImplementedVersion),\n lowestTargetedVersion.toString(),\n );\n });\n\n return unsupportedEnvironments.length === 0;\n}\n\nexport function isRequired(\n name: string,\n targets: Targets,\n {\n compatData = pluginsCompatData,\n includes,\n excludes,\n }: {\n compatData?: { [feature: string]: Targets };\n includes?: Set;\n excludes?: Set;\n } = {},\n) {\n if (excludes?.has(name)) return false;\n if (includes?.has(name)) return true;\n return !targetsSupported(targets, compatData[name]);\n}\n\nexport default function filterItems(\n list: { [feature: string]: Targets },\n includes: Set,\n excludes: Set,\n targets: Targets,\n defaultIncludes: Array | null,\n defaultExcludes?: Array | null,\n pluginSyntaxMap?: Map,\n) {\n const result = new Set();\n const options = { compatData: list, includes, excludes };\n\n for (const item in list) {\n if (isRequired(item, targets, options)) {\n result.add(item);\n } else if (pluginSyntaxMap) {\n const shippedProposalsSyntax = pluginSyntaxMap.get(item);\n\n if (shippedProposalsSyntax) {\n result.add(shippedProposalsSyntax);\n }\n }\n }\n\n defaultIncludes?.forEach(item => !excludes.has(item) && result.add(item));\n defaultExcludes?.forEach(item => !includes.has(item) && result.delete(item));\n\n return result;\n}\n","import browserslist from \"browserslist\";\nimport { findSuggestion } from \"@babel/helper-validator-option\";\nimport browserModulesData from \"@babel/compat-data/native-modules\";\nimport LruCache from \"lru-cache\";\n\nimport {\n semverify,\n semverMin,\n isUnreleasedVersion,\n getLowestUnreleased,\n getHighestUnreleased,\n} from \"./utils.ts\";\nimport { OptionValidator } from \"@babel/helper-validator-option\";\nimport { browserNameMap } from \"./targets.ts\";\nimport { TargetNames } from \"./options.ts\";\nimport type {\n Target,\n Targets,\n InputTargets,\n Browsers,\n BrowserslistBrowserName,\n TargetsTuple,\n} from \"./types.ts\";\n\nexport type { Target, Targets, InputTargets };\n\nexport { prettifyTargets } from \"./pretty.ts\";\nexport { getInclusionReasons } from \"./debug.ts\";\nexport { default as filterItems, isRequired } from \"./filter-items.ts\";\nexport { unreleasedLabels } from \"./targets.ts\";\nexport { TargetNames };\n\nconst ESM_SUPPORT = browserModulesData[\"es6.module\"];\n\nconst v = new OptionValidator(PACKAGE_JSON.name);\n\nfunction validateTargetNames(targets: Targets): TargetsTuple {\n const validTargets = Object.keys(TargetNames);\n for (const target of Object.keys(targets)) {\n if (!(target in TargetNames)) {\n throw new Error(\n v.formatMessage(`'${target}' is not a valid target\n- Did you mean '${findSuggestion(target, validTargets)}'?`),\n );\n }\n }\n\n return targets;\n}\n\nexport function isBrowsersQueryValid(browsers: unknown): boolean {\n return (\n typeof browsers === \"string\" ||\n (Array.isArray(browsers) && browsers.every(b => typeof b === \"string\"))\n );\n}\n\nfunction validateBrowsers(browsers: Browsers | undefined) {\n v.invariant(\n browsers === undefined || isBrowsersQueryValid(browsers),\n `'${String(browsers)}' is not a valid browserslist query`,\n );\n\n return browsers;\n}\n\nfunction getLowestVersions(browsers: Array): Targets {\n return browsers.reduce(\n (all, browser) => {\n const [browserName, browserVersion] = browser.split(\" \") as [\n BrowserslistBrowserName,\n string,\n ];\n const target = browserNameMap[browserName];\n\n if (!target) {\n return all;\n }\n\n try {\n // Browser version can return as \"10.0-10.2\"\n const splitVersion = browserVersion.split(\"-\")[0].toLowerCase();\n const isSplitUnreleased = isUnreleasedVersion(splitVersion, target);\n\n if (!all[target]) {\n all[target] = isSplitUnreleased\n ? splitVersion\n : semverify(splitVersion);\n return all;\n }\n\n const version = all[target];\n const isUnreleased = isUnreleasedVersion(version, target);\n\n if (isUnreleased && isSplitUnreleased) {\n all[target] = getLowestUnreleased(version, splitVersion, target);\n } else if (isUnreleased) {\n all[target] = semverify(splitVersion);\n } else if (!isUnreleased && !isSplitUnreleased) {\n const parsedBrowserVersion = semverify(splitVersion);\n\n all[target] = semverMin(version, parsedBrowserVersion);\n }\n } catch (e) {}\n\n return all;\n },\n {} as Record,\n );\n}\n\nfunction outputDecimalWarning(\n decimalTargets: Array<{ target: string; value: number }>,\n) {\n if (!decimalTargets.length) {\n return;\n }\n\n console.warn(\"Warning, the following targets are using a decimal version:\\n\");\n decimalTargets.forEach(({ target, value }) =>\n console.warn(` ${target}: ${value}`),\n );\n console.warn(`\nWe recommend using a string for minor/patch versions to avoid numbers like 6.10\ngetting parsed as 6.1, which can lead to unexpected behavior.\n`);\n}\n\nfunction semverifyTarget(target: Target, value: string) {\n try {\n return semverify(value);\n } catch (error) {\n throw new Error(\n v.formatMessage(\n `'${value}' is not a valid value for 'targets.${target}'.`,\n ),\n );\n }\n}\n\n// Parse `node: true` and `node: \"current\"` to version\nfunction nodeTargetParser(value: true | string) {\n const parsed =\n value === true || value === \"current\"\n ? process.versions.node\n : semverifyTarget(\"node\", value);\n return [\"node\", parsed] as const;\n}\n\nfunction defaultTargetParser(\n target: Exclude,\n value: string,\n): readonly [Exclude, string] {\n const version = isUnreleasedVersion(value, target)\n ? value.toLowerCase()\n : semverifyTarget(target, value);\n return [target, version] as const;\n}\n\nfunction generateTargets(inputTargets: InputTargets): Targets {\n const input = { ...inputTargets };\n delete input.esmodules;\n delete input.browsers;\n return input;\n}\n\nfunction resolveTargets(queries: Browsers, env?: string): Targets {\n const resolved = browserslist(queries, {\n mobileToDesktop: true,\n env,\n });\n return getLowestVersions(resolved);\n}\n\nconst targetsCache = new LruCache({ max: 64 });\n\nfunction resolveTargetsCached(queries: Browsers, env?: string): Targets {\n const cacheKey = typeof queries === \"string\" ? queries : queries.join() + env;\n let cached = targetsCache.get(cacheKey) as Targets | undefined;\n if (!cached) {\n cached = resolveTargets(queries, env);\n targetsCache.set(cacheKey, cached);\n }\n return { ...cached };\n}\n\ntype GetTargetsOption = {\n // This is not the path of the config file, but the path where start searching it from\n configPath?: string;\n // The path of the config file\n configFile?: string;\n // The env to pass to browserslist\n browserslistEnv?: string;\n // true to disable config loading\n ignoreBrowserslistConfig?: boolean;\n};\n\nexport default function getTargets(\n inputTargets: InputTargets = {},\n options: GetTargetsOption = {},\n): Targets {\n let { browsers, esmodules } = inputTargets;\n const { configPath = \".\" } = options;\n\n validateBrowsers(browsers);\n\n const input = generateTargets(inputTargets);\n let targets = validateTargetNames(input);\n\n const shouldParseBrowsers = !!browsers;\n const hasTargets = shouldParseBrowsers || Object.keys(targets).length > 0;\n const shouldSearchForConfig =\n !options.ignoreBrowserslistConfig && !hasTargets;\n\n if (!browsers && shouldSearchForConfig) {\n browsers = browserslist.loadConfig({\n config: options.configFile,\n path: configPath,\n env: options.browserslistEnv,\n });\n if (browsers == null) {\n if (process.env.BABEL_8_BREAKING) {\n // In Babel 8, if no targets are passed, we use browserslist's defaults.\n browsers = [\"defaults\"];\n } else {\n // If no targets are passed, we need to overwrite browserslist's defaults\n // so that we enable all transforms (acting like the now deprecated\n // preset-latest).\n browsers = [];\n }\n }\n }\n\n // `esmodules` as a target indicates the specific set of browsers supporting ES Modules.\n // These values OVERRIDE the `browsers` field.\n if (esmodules && (esmodules !== \"intersect\" || !browsers?.length)) {\n browsers = Object.keys(ESM_SUPPORT)\n .map(\n (browser: keyof typeof ESM_SUPPORT) =>\n `${browser} >= ${ESM_SUPPORT[browser]}`,\n )\n .join(\", \");\n esmodules = false;\n }\n\n // If current value of `browsers` is undefined (`ignoreBrowserslistConfig` should be `false`)\n // or an empty array (without any user config, use default config),\n // we don't need to call `resolveTargets` to execute the related methods of `browserslist` library.\n if (browsers?.length) {\n const queryBrowsers = resolveTargetsCached(\n browsers,\n options.browserslistEnv,\n );\n\n if (esmodules === \"intersect\") {\n for (const browser of Object.keys(queryBrowsers) as Target[]) {\n if (browser !== \"deno\" && browser !== \"ie\") {\n const esmSupportVersion =\n ESM_SUPPORT[browser === \"opera_mobile\" ? \"op_mob\" : browser];\n\n if (esmSupportVersion) {\n const version = queryBrowsers[browser];\n queryBrowsers[browser] = getHighestUnreleased(\n version,\n semverify(esmSupportVersion),\n browser,\n );\n } else {\n delete queryBrowsers[browser];\n }\n } else {\n delete queryBrowsers[browser];\n }\n }\n }\n\n targets = Object.assign(queryBrowsers, targets);\n }\n\n // Parse remaining targets\n const result: Targets = {};\n const decimalWarnings = [];\n for (const target of Object.keys(targets).sort() as Target[]) {\n const value = targets[target];\n\n // Warn when specifying minor/patch as a decimal\n if (typeof value === \"number\" && value % 1 !== 0) {\n decimalWarnings.push({ target, value });\n }\n\n const [parsedTarget, parsedValue] =\n target === \"node\"\n ? nodeTargetParser(value)\n : defaultTargetParser(target, value as string);\n\n if (parsedValue) {\n // Merge (lowest wins)\n result[parsedTarget] = parsedValue;\n }\n }\n\n outputDecimalWarning(decimalWarnings);\n\n return result;\n}\n","import type { ValidatedOptions } from \"./validation/options.ts\";\nimport getTargets, {\n type InputTargets,\n} from \"@babel/helper-compilation-targets\";\n\nimport type { Targets } from \"@babel/helper-compilation-targets\";\n\nexport function resolveBrowserslistConfigFile(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n browserslistConfigFile: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n configFilePath: string,\n): string | void {\n return undefined;\n}\n\nexport function resolveTargets(\n options: ValidatedOptions,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n root: string,\n): Targets {\n const optTargets = options.targets;\n let targets: InputTargets;\n\n if (typeof optTargets === \"string\" || Array.isArray(optTargets)) {\n targets = { browsers: optTargets };\n } else if (optTargets) {\n if (\"esmodules\" in optTargets) {\n targets = { ...optTargets, esmodules: \"intersect\" };\n } else {\n // https://github.com/microsoft/TypeScript/issues/17002\n targets = optTargets as InputTargets;\n }\n }\n\n return getTargets(targets, {\n ignoreBrowserslistConfig: true,\n browserslistEnv: options.browserslistEnv,\n });\n}\n","import gensync, { type Handler } from \"gensync\";\nimport { once } from \"../gensync-utils/functional.ts\";\n\nimport { loadPlugin, loadPreset } from \"./files/index.ts\";\n\nimport { getItemDescriptor } from \"./item.ts\";\n\nimport {\n makeWeakCacheSync,\n makeStrongCacheSync,\n makeStrongCache,\n} from \"./caching.ts\";\nimport type { CacheConfigurator } from \"./caching.ts\";\n\nimport type {\n ValidatedOptions,\n PluginList,\n PluginItem,\n} from \"./validation/options.ts\";\n\nimport { resolveBrowserslistConfigFile } from \"./resolve-targets.ts\";\nimport type { PluginAPI, PresetAPI } from \"./helpers/config-api.ts\";\n\n// Represents a config object and functions to lazily load the descriptors\n// for the plugins and presets so we don't load the plugins/presets unless\n// the options object actually ends up being applicable.\nexport type OptionsAndDescriptors = {\n options: ValidatedOptions;\n plugins: () => Handler>>;\n presets: () => Handler>>;\n};\n\n// Represents a plugin or presets at a given location in a config object.\n// At this point these have been resolved to a specific object or function,\n// but have not yet been executed to call functions with options.\nexport interface UnloadedDescriptor {\n name: string | undefined;\n value: object | ((api: API, options: Options, dirname: string) => unknown);\n options: Options;\n dirname: string;\n alias: string;\n ownPass?: boolean;\n file?: {\n request: string;\n resolved: string;\n };\n}\n\nfunction isEqualDescriptor(\n a: UnloadedDescriptor,\n b: UnloadedDescriptor,\n): boolean {\n return (\n a.name === b.name &&\n a.value === b.value &&\n a.options === b.options &&\n a.dirname === b.dirname &&\n a.alias === b.alias &&\n a.ownPass === b.ownPass &&\n a.file?.request === b.file?.request &&\n a.file?.resolved === b.file?.resolved\n );\n}\n\nexport type ValidatedFile = {\n filepath: string;\n dirname: string;\n options: ValidatedOptions;\n};\n\n// eslint-disable-next-line require-yield\nfunction* handlerOf(value: T): Handler {\n return value;\n}\n\nfunction optionsWithResolvedBrowserslistConfigFile(\n options: ValidatedOptions,\n dirname: string,\n): ValidatedOptions {\n if (typeof options.browserslistConfigFile === \"string\") {\n options.browserslistConfigFile = resolveBrowserslistConfigFile(\n options.browserslistConfigFile,\n dirname,\n );\n }\n return options;\n}\n\n/**\n * Create a set of descriptors from a given options object, preserving\n * descriptor identity based on the identity of the plugin/preset arrays\n * themselves, and potentially on the identity of the plugins/presets + options.\n */\nexport function createCachedDescriptors(\n dirname: string,\n options: ValidatedOptions,\n alias: string,\n): OptionsAndDescriptors {\n const { plugins, presets, passPerPreset } = options;\n return {\n options: optionsWithResolvedBrowserslistConfigFile(options, dirname),\n plugins: plugins\n ? () =>\n // @ts-expect-error todo(flow->ts) ts complains about incorrect arguments\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n createCachedPluginDescriptors(plugins, dirname)(alias)\n : () => handlerOf([]),\n presets: presets\n ? () =>\n // @ts-expect-error todo(flow->ts) ts complains about incorrect arguments\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n createCachedPresetDescriptors(presets, dirname)(alias)(\n !!passPerPreset,\n )\n : () => handlerOf([]),\n };\n}\n\n/**\n * Create a set of descriptors from a given options object, with consistent\n * identity for the descriptors, but not caching based on any specific identity.\n */\nexport function createUncachedDescriptors(\n dirname: string,\n options: ValidatedOptions,\n alias: string,\n): OptionsAndDescriptors {\n return {\n options: optionsWithResolvedBrowserslistConfigFile(options, dirname),\n // The returned result here is cached to represent a config object in\n // memory, so we build and memoize the descriptors to ensure the same\n // values are returned consistently.\n plugins: once(() =>\n createPluginDescriptors(options.plugins || [], dirname, alias),\n ),\n presets: once(() =>\n createPresetDescriptors(\n options.presets || [],\n dirname,\n alias,\n !!options.passPerPreset,\n ),\n ),\n };\n}\n\nconst PRESET_DESCRIPTOR_CACHE = new WeakMap();\nconst createCachedPresetDescriptors = makeWeakCacheSync(\n (items: PluginList, cache: CacheConfigurator) => {\n const dirname = cache.using(dir => dir);\n return makeStrongCacheSync((alias: string) =>\n makeStrongCache(function* (\n passPerPreset: boolean,\n ): Handler>> {\n const descriptors = yield* createPresetDescriptors(\n items,\n dirname,\n alias,\n passPerPreset,\n );\n return descriptors.map(\n // Items are cached using the overall preset array identity when\n // possibly, but individual descriptors are also cached if a match\n // can be found in the previously-used descriptor lists.\n desc => loadCachedDescriptor(PRESET_DESCRIPTOR_CACHE, desc),\n );\n }),\n );\n },\n);\n\nconst PLUGIN_DESCRIPTOR_CACHE = new WeakMap();\nconst createCachedPluginDescriptors = makeWeakCacheSync(\n (items: PluginList, cache: CacheConfigurator) => {\n const dirname = cache.using(dir => dir);\n return makeStrongCache(function* (\n alias: string,\n ): Handler>> {\n const descriptors = yield* createPluginDescriptors(items, dirname, alias);\n return descriptors.map(\n // Items are cached using the overall plugin array identity when\n // possibly, but individual descriptors are also cached if a match\n // can be found in the previously-used descriptor lists.\n desc => loadCachedDescriptor(PLUGIN_DESCRIPTOR_CACHE, desc),\n );\n });\n },\n);\n\n/**\n * When no options object is given in a descriptor, this object is used\n * as a WeakMap key in order to have consistent identity.\n */\nconst DEFAULT_OPTIONS = {};\n\n/**\n * Given the cache and a descriptor, returns a matching descriptor from the\n * cache, or else returns the input descriptor and adds it to the cache for\n * next time.\n */\nfunction loadCachedDescriptor(\n cache: WeakMap<{} | Function, WeakMap<{}, Array>>>,\n desc: UnloadedDescriptor,\n) {\n const { value, options = DEFAULT_OPTIONS } = desc;\n if (options === false) return desc;\n\n let cacheByOptions = cache.get(value);\n if (!cacheByOptions) {\n cacheByOptions = new WeakMap();\n cache.set(value, cacheByOptions);\n }\n\n let possibilities = cacheByOptions.get(options);\n if (!possibilities) {\n possibilities = [];\n cacheByOptions.set(options, possibilities);\n }\n\n if (possibilities.indexOf(desc) === -1) {\n const matches = possibilities.filter(possibility =>\n isEqualDescriptor(possibility, desc),\n );\n if (matches.length > 0) {\n return matches[0];\n }\n\n possibilities.push(desc);\n }\n\n return desc;\n}\n\nfunction* createPresetDescriptors(\n items: PluginList,\n dirname: string,\n alias: string,\n passPerPreset: boolean,\n): Handler>> {\n return yield* createDescriptors(\n \"preset\",\n items,\n dirname,\n alias,\n passPerPreset,\n );\n}\n\nfunction* createPluginDescriptors(\n items: PluginList,\n dirname: string,\n alias: string,\n): Handler>> {\n return yield* createDescriptors(\"plugin\", items, dirname, alias);\n}\n\nfunction* createDescriptors(\n type: \"plugin\" | \"preset\",\n items: PluginList,\n dirname: string,\n alias: string,\n ownPass?: boolean,\n): Handler>> {\n const descriptors = yield* gensync.all(\n items.map((item, index) =>\n createDescriptor(item, dirname, {\n type,\n alias: `${alias}$${index}`,\n ownPass: !!ownPass,\n }),\n ),\n );\n\n assertNoDuplicates(descriptors);\n\n return descriptors;\n}\n\n/**\n * Given a plugin/preset item, resolve it into a standard format.\n */\nexport function* createDescriptor(\n pair: PluginItem,\n dirname: string,\n {\n type,\n alias,\n ownPass,\n }: {\n type?: \"plugin\" | \"preset\";\n alias: string;\n ownPass?: boolean;\n },\n): Handler> {\n const desc = getItemDescriptor(pair);\n if (desc) {\n return desc;\n }\n\n let name;\n let options;\n // todo(flow->ts) better type annotation\n let value: any = pair;\n if (Array.isArray(value)) {\n if (value.length === 3) {\n [value, options, name] = value;\n } else {\n [value, options] = value;\n }\n }\n\n let file = undefined;\n let filepath = null;\n if (typeof value === \"string\") {\n if (typeof type !== \"string\") {\n throw new Error(\n \"To resolve a string-based item, the type of item must be given\",\n );\n }\n const resolver = type === \"plugin\" ? loadPlugin : loadPreset;\n const request = value;\n\n ({ filepath, value } = yield* resolver(value, dirname));\n\n file = {\n request,\n resolved: filepath,\n };\n }\n\n if (!value) {\n throw new Error(`Unexpected falsy value: ${String(value)}`);\n }\n\n if (typeof value === \"object\" && value.__esModule) {\n if (value.default) {\n value = value.default;\n } else {\n throw new Error(\"Must export a default export when using ES6 modules.\");\n }\n }\n\n if (typeof value !== \"object\" && typeof value !== \"function\") {\n throw new Error(\n `Unsupported format: ${typeof value}. Expected an object or a function.`,\n );\n }\n\n if (filepath !== null && typeof value === \"object\" && value) {\n // We allow object values for plugins/presets nested directly within a\n // config object, because it can be useful to define them in nested\n // configuration contexts.\n throw new Error(\n `Plugin/Preset files are not allowed to export objects, only functions. In ${filepath}`,\n );\n }\n\n return {\n name,\n alias: filepath || alias,\n value,\n options,\n dirname,\n ownPass,\n file,\n };\n}\n\nfunction assertNoDuplicates(items: Array>): void {\n const map = new Map();\n\n for (const item of items) {\n if (typeof item.value !== \"function\") continue;\n\n let nameMap = map.get(item.value);\n if (!nameMap) {\n nameMap = new Set();\n map.set(item.value, nameMap);\n }\n\n if (nameMap.has(item.name)) {\n const conflicts = items.filter(i => i.value === item.value);\n throw new Error(\n [\n `Duplicate plugin/preset detected.`,\n `If you'd like to use two separate instances of a plugin,`,\n `they need separate names, e.g.`,\n ``,\n ` plugins: [`,\n ` ['some-plugin', {}],`,\n ` ['some-plugin', {}, 'some unique name'],`,\n ` ]`,\n ``,\n `Duplicates detected are:`,\n `${JSON.stringify(conflicts, null, 2)}`,\n ].join(\"\\n\"),\n );\n }\n\n nameMap.add(item.name);\n }\n}\n","import type { Handler } from \"gensync\";\nimport type { PluginTarget, PluginOptions } from \"./validation/options.ts\";\n\nimport path from \"path\";\nimport { createDescriptor } from \"./config-descriptors.ts\";\n\nimport type { UnloadedDescriptor } from \"./config-descriptors.ts\";\n\nexport function createItemFromDescriptor(\n desc: UnloadedDescriptor,\n): ConfigItem {\n return new ConfigItem(desc);\n}\n\n/**\n * Create a config item using the same value format used in Babel's config\n * files. Items returned from this function should be cached by the caller\n * ideally, as recreating the config item will mean re-resolving the item\n * and re-evaluating the plugin/preset function.\n */\nexport function* createConfigItem(\n value:\n | PluginTarget\n | [PluginTarget, PluginOptions]\n | [PluginTarget, PluginOptions, string | void],\n {\n dirname = \".\",\n type,\n }: {\n dirname?: string;\n type?: \"preset\" | \"plugin\";\n } = {},\n): Handler> {\n const descriptor = yield* createDescriptor(value, path.resolve(dirname), {\n type,\n alias: \"programmatic item\",\n });\n\n return createItemFromDescriptor(descriptor);\n}\n\nconst CONFIG_ITEM_BRAND = Symbol.for(\"@babel/core@7 - ConfigItem\");\n\nexport function getItemDescriptor(\n item: unknown,\n): UnloadedDescriptor | void {\n if ((item as any)?.[CONFIG_ITEM_BRAND]) {\n return (item as ConfigItem)._descriptor;\n }\n\n return undefined;\n}\n\nexport type { ConfigItem };\n\n/**\n * A public representation of a plugin/preset that will _eventually_ be load.\n * Users can use this to interact with the results of a loaded Babel\n * configuration.\n *\n * Any changes to public properties of this class should be considered a\n * breaking change to Babel's API.\n */\nclass ConfigItem {\n /**\n * The private underlying descriptor that Babel actually cares about.\n * If you access this, you are a bad person.\n */\n _descriptor: UnloadedDescriptor;\n\n // TODO(Babel 9): Check if this symbol needs to be updated\n /**\n * Used to detect ConfigItem instances from other Babel instances.\n */\n [CONFIG_ITEM_BRAND] = true;\n\n /**\n * The resolved value of the item itself.\n */\n value: {} | Function;\n\n /**\n * The options, if any, that were passed to the item.\n * Mutating this will lead to undefined behavior.\n *\n * \"false\" means that this item has been disabled.\n */\n options: {} | void | false;\n\n /**\n * The directory that the options for this item are relative to.\n */\n dirname: string;\n\n /**\n * Get the name of the plugin, if the user gave it one.\n */\n name: string | void;\n\n /**\n * Data about the file that the item was loaded from, if Babel knows it.\n */\n file: {\n // The requested path, e.g. \"@babel/env\".\n request: string;\n // The resolved absolute path of the file.\n resolved: string;\n } | void;\n\n constructor(descriptor: UnloadedDescriptor) {\n // Make people less likely to stumble onto this if they are exploring\n // programmatically, and also make sure that if people happen to\n // pass the item through JSON.stringify, it doesn't show up.\n this._descriptor = descriptor;\n Object.defineProperty(this, \"_descriptor\", { enumerable: false });\n\n Object.defineProperty(this, CONFIG_ITEM_BRAND, { enumerable: false });\n\n this.value = this._descriptor.value;\n this.options = this._descriptor.options;\n this.dirname = this._descriptor.dirname;\n this.name = this._descriptor.name;\n this.file = this._descriptor.file\n ? {\n request: this._descriptor.file.request,\n resolved: this._descriptor.file.resolved,\n }\n : undefined;\n\n // Freeze the object to make it clear that people shouldn't expect mutating\n // this object to do anything. A new item should be created if they want\n // to change something.\n Object.freeze(this);\n }\n}\n\nObject.freeze(ConfigItem.prototype);\n","export default {\n auxiliaryComment: {\n message: \"Use `auxiliaryCommentBefore` or `auxiliaryCommentAfter`\",\n },\n blacklist: {\n message: \"Put the specific transforms you want in the `plugins` option\",\n },\n breakConfig: {\n message: \"This is not a necessary option in Babel 6\",\n },\n experimental: {\n message: \"Put the specific transforms you want in the `plugins` option\",\n },\n externalHelpers: {\n message:\n \"Use the `external-helpers` plugin instead. \" +\n \"Check out http://babeljs.io/docs/plugins/external-helpers/\",\n },\n extra: {\n message: \"\",\n },\n jsxPragma: {\n message:\n \"use the `pragma` option in the `react-jsx` plugin. \" +\n \"Check out http://babeljs.io/docs/plugins/transform-react-jsx/\",\n },\n loose: {\n message:\n \"Specify the `loose` option for the relevant plugin you are using \" +\n \"or use a preset that sets the option.\",\n },\n metadataUsedHelpers: {\n message: \"Not required anymore as this is enabled by default\",\n },\n modules: {\n message:\n \"Use the corresponding module transform plugin in the `plugins` option. \" +\n \"Check out http://babeljs.io/docs/plugins/#modules\",\n },\n nonStandard: {\n message:\n \"Use the `react-jsx` and `flow-strip-types` plugins to support JSX and Flow. \" +\n \"Also check out the react preset http://babeljs.io/docs/plugins/preset-react/\",\n },\n optional: {\n message: \"Put the specific transforms you want in the `plugins` option\",\n },\n sourceMapName: {\n message:\n \"The `sourceMapName` option has been removed because it makes more sense for the \" +\n \"tooling that calls Babel to assign `map.file` themselves.\",\n },\n stage: {\n message:\n \"Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets\",\n },\n whitelist: {\n message: \"Put the specific transforms you want in the `plugins` option\",\n },\n\n resolveModuleSource: {\n version: 6,\n message: \"Use `babel-plugin-module-resolver@3`'s 'resolvePath' options\",\n },\n metadata: {\n version: 6,\n message:\n \"Generated plugin metadata is always included in the output result\",\n },\n sourceMapTarget: {\n version: 6,\n message:\n \"The `sourceMapTarget` option has been removed because it makes more sense for the tooling \" +\n \"that calls Babel to assign `map.file` themselves.\",\n },\n} as { [name: string]: { version?: number; message: string } };\n","import {\n isBrowsersQueryValid,\n TargetNames,\n} from \"@babel/helper-compilation-targets\";\n\nimport type {\n ConfigFileSearch,\n BabelrcSearch,\n IgnoreList,\n IgnoreItem,\n PluginList,\n PluginItem,\n PluginTarget,\n ConfigApplicableTest,\n SourceMapsOption,\n SourceTypeOption,\n CompactOption,\n RootInputSourceMapOption,\n NestingPath,\n CallerMetadata,\n RootMode,\n TargetsListOrObject,\n AssumptionName,\n} from \"./options.ts\";\n\nimport { assumptionsNames } from \"./options.ts\";\n\nexport type { RootPath } from \"./options.ts\";\n\nexport type ValidatorSet = {\n [name: string]: Validator;\n};\n\nexport type Validator = (loc: OptionPath, value: unknown) => T;\n\nexport function msg(loc: NestingPath | GeneralPath): string {\n switch (loc.type) {\n case \"root\":\n return ``;\n case \"env\":\n return `${msg(loc.parent)}.env[\"${loc.name}\"]`;\n case \"overrides\":\n return `${msg(loc.parent)}.overrides[${loc.index}]`;\n case \"option\":\n return `${msg(loc.parent)}.${loc.name}`;\n case \"access\":\n return `${msg(loc.parent)}[${JSON.stringify(loc.name)}]`;\n default:\n // @ts-expect-error should not happen when code is type checked\n throw new Error(`Assertion failure: Unknown type ${loc.type}`);\n }\n}\n\nexport function access(loc: GeneralPath, name: string | number): AccessPath {\n return {\n type: \"access\",\n name,\n parent: loc,\n };\n}\n\nexport type OptionPath = Readonly<{\n type: \"option\";\n name: string;\n parent: NestingPath;\n}>;\ntype AccessPath = Readonly<{\n type: \"access\";\n name: string | number;\n parent: GeneralPath;\n}>;\ntype GeneralPath = OptionPath | AccessPath;\n\nexport function assertRootMode(\n loc: OptionPath,\n value: unknown,\n): RootMode | void {\n if (\n value !== undefined &&\n value !== \"root\" &&\n value !== \"upward\" &&\n value !== \"upward-optional\"\n ) {\n throw new Error(\n `${msg(loc)} must be a \"root\", \"upward\", \"upward-optional\" or undefined`,\n );\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertSourceMaps(\n loc: OptionPath,\n value: unknown,\n): SourceMapsOption | void {\n if (\n value !== undefined &&\n typeof value !== \"boolean\" &&\n value !== \"inline\" &&\n value !== \"both\"\n ) {\n throw new Error(\n `${msg(loc)} must be a boolean, \"inline\", \"both\", or undefined`,\n );\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertCompact(\n loc: OptionPath,\n value: unknown,\n): CompactOption | void {\n if (value !== undefined && typeof value !== \"boolean\" && value !== \"auto\") {\n throw new Error(`${msg(loc)} must be a boolean, \"auto\", or undefined`);\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertSourceType(\n loc: OptionPath,\n value: unknown,\n): SourceTypeOption | void {\n if (\n value !== undefined &&\n value !== \"module\" &&\n value !== \"script\" &&\n value !== \"unambiguous\"\n ) {\n throw new Error(\n `${msg(loc)} must be \"module\", \"script\", \"unambiguous\", or undefined`,\n );\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertCallerMetadata(\n loc: OptionPath,\n value: unknown,\n): CallerMetadata | undefined {\n const obj = assertObject(loc, value);\n if (obj) {\n if (typeof obj.name !== \"string\") {\n throw new Error(\n `${msg(loc)} set but does not contain \"name\" property string`,\n );\n }\n\n for (const prop of Object.keys(obj)) {\n const propLoc = access(loc, prop);\n const value = obj[prop];\n if (\n value != null &&\n typeof value !== \"boolean\" &&\n typeof value !== \"string\" &&\n typeof value !== \"number\"\n ) {\n // NOTE(logan): I'm limiting the type here so that we can guarantee that\n // the \"caller\" value will serialize to JSON nicely. We can always\n // allow more complex structures later though.\n throw new Error(\n `${msg(\n propLoc,\n )} must be null, undefined, a boolean, a string, or a number.`,\n );\n }\n }\n }\n // @ts-expect-error todo(flow->ts)\n return value;\n}\n\nexport function assertInputSourceMap(\n loc: OptionPath,\n value: unknown,\n): RootInputSourceMapOption | void {\n if (\n value !== undefined &&\n typeof value !== \"boolean\" &&\n (typeof value !== \"object\" || !value)\n ) {\n throw new Error(`${msg(loc)} must be a boolean, object, or undefined`);\n }\n return value;\n}\n\nexport function assertString(loc: GeneralPath, value: unknown): string | void {\n if (value !== undefined && typeof value !== \"string\") {\n throw new Error(`${msg(loc)} must be a string, or undefined`);\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertFunction(\n loc: GeneralPath,\n value: unknown,\n): Function | void {\n if (value !== undefined && typeof value !== \"function\") {\n throw new Error(`${msg(loc)} must be a function, or undefined`);\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertBoolean(\n loc: GeneralPath,\n value: unknown,\n): boolean | void {\n if (value !== undefined && typeof value !== \"boolean\") {\n throw new Error(`${msg(loc)} must be a boolean, or undefined`);\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertObject(\n loc: GeneralPath,\n value: unknown,\n): { readonly [key: string]: unknown } | void {\n if (\n value !== undefined &&\n (typeof value !== \"object\" || Array.isArray(value) || !value)\n ) {\n throw new Error(`${msg(loc)} must be an object, or undefined`);\n }\n // @ts-expect-error todo(flow->ts) value is still typed as unknown, also assert function typically should not return a value\n return value;\n}\n\nexport function assertArray(\n loc: GeneralPath,\n value: Array | undefined | null,\n): ReadonlyArray | undefined | null {\n if (value != null && !Array.isArray(value)) {\n throw new Error(`${msg(loc)} must be an array, or undefined`);\n }\n return value;\n}\n\nexport function assertIgnoreList(\n loc: OptionPath,\n value: unknown[] | undefined,\n): IgnoreList | void {\n const arr = assertArray(loc, value);\n arr?.forEach((item, i) => assertIgnoreItem(access(loc, i), item));\n // @ts-expect-error todo(flow->ts)\n return arr;\n}\nfunction assertIgnoreItem(loc: GeneralPath, value: unknown): IgnoreItem {\n if (\n typeof value !== \"string\" &&\n typeof value !== \"function\" &&\n !(value instanceof RegExp)\n ) {\n throw new Error(\n `${msg(\n loc,\n )} must be an array of string/Function/RegExp values, or undefined`,\n );\n }\n return value as IgnoreItem;\n}\n\nexport function assertConfigApplicableTest(\n loc: OptionPath,\n value: unknown,\n): ConfigApplicableTest | void {\n if (value === undefined) {\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n }\n\n if (Array.isArray(value)) {\n value.forEach((item, i) => {\n if (!checkValidTest(item)) {\n throw new Error(\n `${msg(access(loc, i))} must be a string/Function/RegExp.`,\n );\n }\n });\n } else if (!checkValidTest(value)) {\n throw new Error(\n `${msg(loc)} must be a string/Function/RegExp, or an array of those`,\n );\n }\n return value as ConfigApplicableTest;\n}\n\nfunction checkValidTest(value: unknown): value is string | Function | RegExp {\n return (\n typeof value === \"string\" ||\n typeof value === \"function\" ||\n value instanceof RegExp\n );\n}\n\nexport function assertConfigFileSearch(\n loc: OptionPath,\n value: unknown,\n): ConfigFileSearch | void {\n if (\n value !== undefined &&\n typeof value !== \"boolean\" &&\n typeof value !== \"string\"\n ) {\n throw new Error(\n `${msg(loc)} must be a undefined, a boolean, a string, ` +\n `got ${JSON.stringify(value)}`,\n );\n }\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n}\n\nexport function assertBabelrcSearch(\n loc: OptionPath,\n value: unknown,\n): BabelrcSearch | void {\n if (value === undefined || typeof value === \"boolean\") {\n // @ts-expect-error: TS can only narrow down the type when \"strictNullCheck\" is true\n return value;\n }\n\n if (Array.isArray(value)) {\n value.forEach((item, i) => {\n if (!checkValidTest(item)) {\n throw new Error(\n `${msg(access(loc, i))} must be a string/Function/RegExp.`,\n );\n }\n });\n } else if (!checkValidTest(value)) {\n throw new Error(\n `${msg(loc)} must be a undefined, a boolean, a string/Function/RegExp ` +\n `or an array of those, got ${JSON.stringify(value as any)}`,\n );\n }\n return value as BabelrcSearch;\n}\n\nexport function assertPluginList(\n loc: OptionPath,\n value: unknown[] | null | undefined,\n): PluginList | void {\n const arr = assertArray(loc, value);\n if (arr) {\n // Loop instead of using `.map` in order to preserve object identity\n // for plugin array for use during config chain processing.\n arr.forEach((item, i) => assertPluginItem(access(loc, i), item));\n }\n return arr as any;\n}\nfunction assertPluginItem(loc: GeneralPath, value: unknown): PluginItem {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n throw new Error(`${msg(loc)} must include an object`);\n }\n\n if (value.length > 3) {\n throw new Error(`${msg(loc)} may only be a two-tuple or three-tuple`);\n }\n\n assertPluginTarget(access(loc, 0), value[0]);\n\n if (value.length > 1) {\n const opts = value[1];\n if (\n opts !== undefined &&\n opts !== false &&\n (typeof opts !== \"object\" || Array.isArray(opts) || opts === null)\n ) {\n throw new Error(\n `${msg(access(loc, 1))} must be an object, false, or undefined`,\n );\n }\n }\n if (value.length === 3) {\n const name = value[2];\n if (name !== undefined && typeof name !== \"string\") {\n throw new Error(\n `${msg(access(loc, 2))} must be a string, or undefined`,\n );\n }\n }\n } else {\n assertPluginTarget(loc, value);\n }\n\n // @ts-expect-error todo(flow->ts)\n return value;\n}\nfunction assertPluginTarget(loc: GeneralPath, value: unknown): PluginTarget {\n if (\n (typeof value !== \"object\" || !value) &&\n typeof value !== \"string\" &&\n typeof value !== \"function\"\n ) {\n throw new Error(`${msg(loc)} must be a string, object, function`);\n }\n return value;\n}\n\nexport function assertTargets(\n loc: GeneralPath,\n value: any,\n): TargetsListOrObject {\n if (isBrowsersQueryValid(value)) return value;\n\n if (typeof value !== \"object\" || !value || Array.isArray(value)) {\n throw new Error(\n `${msg(loc)} must be a string, an array of strings or an object`,\n );\n }\n\n const browsersLoc = access(loc, \"browsers\");\n const esmodulesLoc = access(loc, \"esmodules\");\n\n assertBrowsersList(browsersLoc, value.browsers);\n assertBoolean(esmodulesLoc, value.esmodules);\n\n for (const key of Object.keys(value)) {\n const val = value[key];\n const subLoc = access(loc, key);\n\n if (key === \"esmodules\") assertBoolean(subLoc, val);\n else if (key === \"browsers\") assertBrowsersList(subLoc, val);\n else if (!Object.hasOwnProperty.call(TargetNames, key)) {\n const validTargets = Object.keys(TargetNames).join(\", \");\n throw new Error(\n `${msg(\n subLoc,\n )} is not a valid target. Supported targets are ${validTargets}`,\n );\n } else assertBrowserVersion(subLoc, val);\n }\n\n return value;\n}\n\nfunction assertBrowsersList(loc: GeneralPath, value: unknown) {\n if (value !== undefined && !isBrowsersQueryValid(value)) {\n throw new Error(\n `${msg(loc)} must be undefined, a string or an array of strings`,\n );\n }\n}\n\nfunction assertBrowserVersion(loc: GeneralPath, value: unknown) {\n if (typeof value === \"number\" && Math.round(value) === value) return;\n if (typeof value === \"string\") return;\n\n throw new Error(`${msg(loc)} must be a string or an integer number`);\n}\n\nexport function assertAssumptions(\n loc: GeneralPath,\n value: { [key: string]: unknown },\n): { [name: string]: boolean } | void {\n if (value === undefined) return;\n\n if (typeof value !== \"object\" || value === null) {\n throw new Error(`${msg(loc)} must be an object or undefined.`);\n }\n\n // todo(flow->ts): remove any\n let root: any = loc;\n do {\n root = root.parent;\n } while (root.type !== \"root\");\n const inPreset = root.source === \"preset\";\n\n for (const name of Object.keys(value)) {\n const subLoc = access(loc, name);\n if (!assumptionsNames.has(name as AssumptionName)) {\n throw new Error(`${msg(subLoc)} is not a supported assumption.`);\n }\n if (typeof value[name] !== \"boolean\") {\n throw new Error(`${msg(subLoc)} must be a boolean.`);\n }\n if (inPreset && value[name] === false) {\n throw new Error(\n `${msg(subLoc)} cannot be set to 'false' inside presets.`,\n );\n }\n }\n\n // @ts-expect-error todo(flow->ts)\n return value;\n}\n","/**\n * This file uses the internal V8 Stack Trace API (https://v8.dev/docs/stack-trace-api)\n * to provide utilities to rewrite the stack trace.\n * When this API is not present, all the functions in this file become noops.\n *\n * beginHiddenCallStack(fn) and endHiddenCallStack(fn) wrap their parameter to\n * mark an hidden portion of the stack trace. The function passed to\n * beginHiddenCallStack is the first hidden function, while the function passed\n * to endHiddenCallStack is the first shown function.\n *\n * When an error is thrown _outside_ of the hidden zone, everything between\n * beginHiddenCallStack and endHiddenCallStack will not be shown.\n * If an error is thrown _inside_ the hidden zone, then the whole stack trace\n * will be visible: this is to avoid hiding real bugs.\n * However, if an error inside the hidden zone is expected, it can be marked\n * with the expectedError(error) function to keep the hidden frames hidden.\n *\n * Consider this call stack (the outer function is the bottom one):\n *\n * 1. a()\n * 2. endHiddenCallStack(b)()\n * 3. c()\n * 4. beginHiddenCallStack(d)()\n * 5. e()\n * 6. f()\n *\n * - If a() throws an error, then its shown call stack will be \"a, b, e, f\"\n * - If b() throws an error, then its shown call stack will be \"b, e, f\"\n * - If c() throws an expected error, then its shown call stack will be \"e, f\"\n * - If c() throws an unexpected error, then its shown call stack will be \"c, d, e, f\"\n * - If d() throws an expected error, then its shown call stack will be \"e, f\"\n * - If d() throws an unexpected error, then its shown call stack will be \"d, e, f\"\n * - If e() throws an error, then its shown call stack will be \"e, f\"\n *\n * Additionally, an error can inject additional \"virtual\" stack frames using the\n * injectVirtualStackFrame(error, filename) function: those are injected as a\n * replacement of the hidden frames.\n * In the example above, if we called injectVirtualStackFrame(err, \"h\") and\n * injectVirtualStackFrame(err, \"i\") on the expected error thrown by c(), its\n * shown call stack would have been \"h, i, e, f\".\n * This can be useful, for example, to report config validation errors as if they\n * were directly thrown in the config file.\n */\n\nconst ErrorToString = Function.call.bind(Error.prototype.toString);\n\nconst SUPPORTED =\n !!Error.captureStackTrace &&\n Object.getOwnPropertyDescriptor(Error, \"stackTraceLimit\")?.writable === true;\n\nconst START_HIDING = \"startHiding - secret - don't use this - v1\";\nconst STOP_HIDING = \"stopHiding - secret - don't use this - v1\";\n\ntype CallSite = NodeJS.CallSite;\n\nconst expectedErrors = new WeakSet();\nconst virtualFrames = new WeakMap();\n\nfunction CallSite(filename: string): CallSite {\n // We need to use a prototype otherwise it breaks source-map-support's internals\n return Object.create({\n isNative: () => false,\n isConstructor: () => false,\n isToplevel: () => true,\n getFileName: () => filename,\n getLineNumber: () => undefined,\n getColumnNumber: () => undefined,\n getFunctionName: () => undefined,\n getMethodName: () => undefined,\n getTypeName: () => undefined,\n toString: () => filename,\n } as CallSite);\n}\n\nexport function injectVirtualStackFrame(error: Error, filename: string) {\n if (!SUPPORTED) return;\n\n let frames = virtualFrames.get(error);\n if (!frames) virtualFrames.set(error, (frames = []));\n frames.push(CallSite(filename));\n\n return error;\n}\n\nexport function expectedError(error: Error) {\n if (!SUPPORTED) return;\n expectedErrors.add(error);\n return error;\n}\n\nexport function beginHiddenCallStack(\n fn: (...args: A) => R,\n) {\n if (!SUPPORTED) return fn;\n\n return Object.defineProperty(\n function (...args: A) {\n setupPrepareStackTrace();\n return fn(...args);\n },\n \"name\",\n { value: STOP_HIDING },\n );\n}\n\nexport function endHiddenCallStack(\n fn: (...args: A) => R,\n) {\n if (!SUPPORTED) return fn;\n\n return Object.defineProperty(\n function (...args: A) {\n return fn(...args);\n },\n \"name\",\n { value: START_HIDING },\n );\n}\n\nfunction setupPrepareStackTrace() {\n // @ts-expect-error This function is a singleton\n // eslint-disable-next-line no-func-assign\n setupPrepareStackTrace = () => {};\n\n const { prepareStackTrace = defaultPrepareStackTrace } = Error;\n\n // We add some extra frames to Error.stackTraceLimit, so that we can\n // always show some useful frames even after deleting ours.\n // STACK_TRACE_LIMIT_DELTA should be around the maximum expected number\n // of internal frames, and not too big because capturing the stack trace\n // is slow (this is why Error.stackTraceLimit does not default to Infinity!).\n // Increase it if needed.\n // However, we only do it if the user did not explicitly set it to 0.\n const MIN_STACK_TRACE_LIMIT = 50;\n Error.stackTraceLimit &&= Math.max(\n Error.stackTraceLimit,\n MIN_STACK_TRACE_LIMIT,\n );\n\n Error.prepareStackTrace = function stackTraceRewriter(err, trace) {\n let newTrace = [];\n\n const isExpected = expectedErrors.has(err);\n let status: \"showing\" | \"hiding\" | \"unknown\" = isExpected\n ? \"hiding\"\n : \"unknown\";\n for (let i = 0; i < trace.length; i++) {\n const name = trace[i].getFunctionName();\n if (name === START_HIDING) {\n status = \"hiding\";\n } else if (name === STOP_HIDING) {\n if (status === \"hiding\") {\n status = \"showing\";\n if (virtualFrames.has(err)) {\n newTrace.unshift(...virtualFrames.get(err));\n }\n } else if (status === \"unknown\") {\n // Unexpected internal error, show the full stack trace\n newTrace = trace;\n break;\n }\n } else if (status !== \"hiding\") {\n newTrace.push(trace[i]);\n }\n }\n\n return prepareStackTrace(err, newTrace);\n };\n}\n\nfunction defaultPrepareStackTrace(err: Error, trace: CallSite[]) {\n if (trace.length === 0) return ErrorToString(err);\n return `${ErrorToString(err)}\\n at ${trace.join(\"\\n at \")}`;\n}\n","import {\n injectVirtualStackFrame,\n expectedError,\n} from \"./rewrite-stack-trace.ts\";\n\nexport default class ConfigError extends Error {\n constructor(message: string, filename?: string) {\n super(message);\n expectedError(this);\n if (filename) injectVirtualStackFrame(this, filename);\n }\n}\n","import type { InputTargets, Targets } from \"@babel/helper-compilation-targets\";\n\nimport type { ConfigItem } from \"../item.ts\";\nimport type Plugin from \"../plugin.ts\";\n\nimport removed from \"./removed.ts\";\nimport {\n msg,\n access,\n assertString,\n assertBoolean,\n assertObject,\n assertArray,\n assertCallerMetadata,\n assertInputSourceMap,\n assertIgnoreList,\n assertPluginList,\n assertConfigApplicableTest,\n assertConfigFileSearch,\n assertBabelrcSearch,\n assertFunction,\n assertRootMode,\n assertSourceMaps,\n assertCompact,\n assertSourceType,\n assertTargets,\n assertAssumptions,\n} from \"./option-assertions.ts\";\nimport type {\n ValidatorSet,\n Validator,\n OptionPath,\n} from \"./option-assertions.ts\";\nimport type { UnloadedDescriptor } from \"../config-descriptors.ts\";\nimport type { PluginAPI } from \"../helpers/config-api.ts\";\nimport type { ParserOptions } from \"@babel/parser\";\nimport type { GeneratorOptions } from \"@babel/generator\";\nimport ConfigError from \"../../errors/config-error.ts\";\n\nconst ROOT_VALIDATORS: ValidatorSet = {\n cwd: assertString as Validator,\n root: assertString as Validator,\n rootMode: assertRootMode as Validator,\n configFile: assertConfigFileSearch as Validator<\n ValidatedOptions[\"configFile\"]\n >,\n\n caller: assertCallerMetadata as Validator,\n filename: assertString as Validator,\n filenameRelative: assertString as Validator<\n ValidatedOptions[\"filenameRelative\"]\n >,\n code: assertBoolean as Validator,\n ast: assertBoolean as Validator,\n\n cloneInputAst: assertBoolean as Validator,\n\n envName: assertString as Validator,\n};\n\nconst BABELRC_VALIDATORS: ValidatorSet = {\n babelrc: assertBoolean as Validator,\n babelrcRoots: assertBabelrcSearch as Validator<\n ValidatedOptions[\"babelrcRoots\"]\n >,\n};\n\nconst NONPRESET_VALIDATORS: ValidatorSet = {\n extends: assertString as Validator,\n ignore: assertIgnoreList as Validator,\n only: assertIgnoreList as Validator,\n\n targets: assertTargets as Validator,\n browserslistConfigFile: assertConfigFileSearch as Validator<\n ValidatedOptions[\"browserslistConfigFile\"]\n >,\n browserslistEnv: assertString as Validator<\n ValidatedOptions[\"browserslistEnv\"]\n >,\n};\n\nconst COMMON_VALIDATORS: ValidatorSet = {\n // TODO: Should 'inputSourceMap' be moved to be a root-only option?\n // We may want a boolean-only version to be a common option, with the\n // object only allowed as a root config argument.\n inputSourceMap: assertInputSourceMap as Validator<\n ValidatedOptions[\"inputSourceMap\"]\n >,\n presets: assertPluginList as Validator,\n plugins: assertPluginList as Validator,\n passPerPreset: assertBoolean as Validator,\n assumptions: assertAssumptions as Validator,\n\n env: assertEnvSet as Validator,\n overrides: assertOverridesList as Validator,\n\n // We could limit these to 'overrides' blocks, but it's not clear why we'd\n // bother, when the ability to limit a config to a specific set of files\n // is a fairly general useful feature.\n test: assertConfigApplicableTest as Validator,\n include: assertConfigApplicableTest as Validator,\n exclude: assertConfigApplicableTest as Validator,\n\n retainLines: assertBoolean as Validator,\n comments: assertBoolean as Validator,\n shouldPrintComment: assertFunction as Validator<\n ValidatedOptions[\"shouldPrintComment\"]\n >,\n compact: assertCompact as Validator,\n minified: assertBoolean as Validator,\n auxiliaryCommentBefore: assertString as Validator<\n ValidatedOptions[\"auxiliaryCommentBefore\"]\n >,\n auxiliaryCommentAfter: assertString as Validator<\n ValidatedOptions[\"auxiliaryCommentAfter\"]\n >,\n sourceType: assertSourceType as Validator,\n wrapPluginVisitorMethod: assertFunction as Validator<\n ValidatedOptions[\"wrapPluginVisitorMethod\"]\n >,\n highlightCode: assertBoolean as Validator,\n sourceMaps: assertSourceMaps as Validator,\n sourceMap: assertSourceMaps as Validator,\n sourceFileName: assertString as Validator,\n sourceRoot: assertString as Validator,\n parserOpts: assertObject as Validator,\n generatorOpts: assertObject as Validator,\n};\nif (!process.env.BABEL_8_BREAKING) {\n Object.assign(COMMON_VALIDATORS, {\n getModuleId: assertFunction,\n moduleRoot: assertString,\n moduleIds: assertBoolean,\n moduleId: assertString,\n });\n}\n\nexport type InputOptions = ValidatedOptions;\n\nexport type ValidatedOptions = {\n cwd?: string;\n filename?: string;\n filenameRelative?: string;\n babelrc?: boolean;\n babelrcRoots?: BabelrcSearch;\n configFile?: ConfigFileSearch;\n root?: string;\n rootMode?: RootMode;\n code?: boolean;\n ast?: boolean;\n cloneInputAst?: boolean;\n inputSourceMap?: RootInputSourceMapOption;\n envName?: string;\n caller?: CallerMetadata;\n extends?: string;\n env?: EnvSet;\n ignore?: IgnoreList;\n only?: IgnoreList;\n overrides?: OverridesList;\n // Generally verify if a given config object should be applied to the given file.\n test?: ConfigApplicableTest;\n include?: ConfigApplicableTest;\n exclude?: ConfigApplicableTest;\n presets?: PluginList;\n plugins?: PluginList;\n passPerPreset?: boolean;\n assumptions?: {\n [name: string]: boolean;\n };\n // browserslists-related options\n targets?: TargetsListOrObject;\n browserslistConfigFile?: ConfigFileSearch;\n browserslistEnv?: string;\n // Options for @babel/generator\n retainLines?: boolean;\n comments?: boolean;\n shouldPrintComment?: Function;\n compact?: CompactOption;\n minified?: boolean;\n auxiliaryCommentBefore?: string;\n auxiliaryCommentAfter?: string;\n // Parser\n sourceType?: SourceTypeOption;\n wrapPluginVisitorMethod?: Function;\n highlightCode?: boolean;\n // Sourcemap generation options.\n sourceMaps?: SourceMapsOption;\n sourceMap?: SourceMapsOption;\n sourceFileName?: string;\n sourceRoot?: string;\n // Deprecate top level parserOpts\n parserOpts?: ParserOptions;\n // Deprecate top level generatorOpts\n generatorOpts?: GeneratorOptions;\n};\n\nexport type NormalizedOptions = {\n readonly targets: Targets;\n} & Omit;\n\nexport type CallerMetadata = {\n // If 'caller' is specified, require that the name is given for debugging\n // messages.\n name: string;\n};\nexport type EnvSet = {\n [x: string]: T;\n};\nexport type IgnoreItem =\n | string\n | RegExp\n | ((\n path: string | undefined,\n context: { dirname: string; caller: CallerMetadata; envName: string },\n ) => unknown);\nexport type IgnoreList = ReadonlyArray;\n\nexport type PluginOptions = object | void | false;\nexport type PluginTarget = string | object | Function;\nexport type PluginItem =\n | ConfigItem\n | Plugin\n | PluginTarget\n | [PluginTarget, PluginOptions]\n | [PluginTarget, PluginOptions, string | void];\nexport type PluginList = ReadonlyArray;\n\nexport type OverridesList = Array;\nexport type ConfigApplicableTest = IgnoreItem | Array;\n\nexport type ConfigFileSearch = string | boolean;\nexport type BabelrcSearch = boolean | IgnoreItem | IgnoreList;\nexport type SourceMapsOption = boolean | \"inline\" | \"both\";\nexport type SourceTypeOption = \"module\" | \"script\" | \"unambiguous\";\nexport type CompactOption = boolean | \"auto\";\nexport type RootInputSourceMapOption = {} | boolean;\nexport type RootMode = \"root\" | \"upward\" | \"upward-optional\";\n\nexport type TargetsListOrObject =\n | Targets\n | InputTargets\n | InputTargets[\"browsers\"];\n\nexport type OptionsSource =\n | \"arguments\"\n | \"configfile\"\n | \"babelrcfile\"\n | \"extendsfile\"\n | \"preset\"\n | \"plugin\";\n\nexport type RootPath = Readonly<{\n type: \"root\";\n source: OptionsSource;\n}>;\n\ntype OverridesPath = Readonly<{\n type: \"overrides\";\n index: number;\n parent: RootPath;\n}>;\n\ntype EnvPath = Readonly<{\n type: \"env\";\n name: string;\n parent: RootPath | OverridesPath;\n}>;\n\nexport type NestingPath = RootPath | OverridesPath | EnvPath;\n\nconst knownAssumptions = [\n \"arrayLikeIsIterable\",\n \"constantReexports\",\n \"constantSuper\",\n \"enumerableModuleMeta\",\n \"ignoreFunctionLength\",\n \"ignoreToPrimitiveHint\",\n \"iterableIsArray\",\n \"mutableTemplateObject\",\n \"noClassCalls\",\n \"noDocumentAll\",\n \"noIncompleteNsImportDetection\",\n \"noNewArrows\",\n \"objectRestNoSymbols\",\n \"privateFieldsAsSymbols\",\n \"privateFieldsAsProperties\",\n \"pureGetters\",\n \"setClassMethods\",\n \"setComputedProperties\",\n \"setPublicClassFields\",\n \"setSpreadProperties\",\n \"skipForOfIteratorClosing\",\n \"superIsCallableConstructor\",\n] as const;\nexport type AssumptionName = (typeof knownAssumptions)[number];\nexport const assumptionsNames = new Set(knownAssumptions);\n\nfunction getSource(loc: NestingPath): OptionsSource {\n return loc.type === \"root\" ? loc.source : getSource(loc.parent);\n}\n\nexport function validate(\n type: OptionsSource,\n opts: {},\n filename?: string,\n): ValidatedOptions {\n try {\n return validateNested(\n {\n type: \"root\",\n source: type,\n },\n opts,\n );\n } catch (error) {\n const configError = new ConfigError(error.message, filename);\n // @ts-expect-error TODO: .code is not defined on ConfigError or Error\n if (error.code) configError.code = error.code;\n throw configError;\n }\n}\n\nfunction validateNested(loc: NestingPath, opts: { [key: string]: unknown }) {\n const type = getSource(loc);\n\n assertNoDuplicateSourcemap(opts);\n\n Object.keys(opts).forEach((key: string) => {\n const optLoc = {\n type: \"option\",\n name: key,\n parent: loc,\n } as const;\n\n if (type === \"preset\" && NONPRESET_VALIDATORS[key]) {\n throw new Error(`${msg(optLoc)} is not allowed in preset options`);\n }\n if (type !== \"arguments\" && ROOT_VALIDATORS[key]) {\n throw new Error(\n `${msg(optLoc)} is only allowed in root programmatic options`,\n );\n }\n if (\n type !== \"arguments\" &&\n type !== \"configfile\" &&\n BABELRC_VALIDATORS[key]\n ) {\n if (type === \"babelrcfile\" || type === \"extendsfile\") {\n throw new Error(\n `${msg(\n optLoc,\n )} is not allowed in .babelrc or \"extends\"ed files, only in root programmatic options, ` +\n `or babel.config.js/config file options`,\n );\n }\n\n throw new Error(\n `${msg(\n optLoc,\n )} is only allowed in root programmatic options, or babel.config.js/config file options`,\n );\n }\n\n const validator =\n COMMON_VALIDATORS[key] ||\n NONPRESET_VALIDATORS[key] ||\n BABELRC_VALIDATORS[key] ||\n ROOT_VALIDATORS[key] ||\n (throwUnknownError as Validator);\n\n validator(optLoc, opts[key]);\n });\n\n return opts;\n}\n\nfunction throwUnknownError(loc: OptionPath) {\n const key = loc.name;\n\n if (removed[key]) {\n const { message, version = 5 } = removed[key];\n\n throw new Error(\n `Using removed Babel ${version} option: ${msg(loc)} - ${message}`,\n );\n } else {\n const unknownOptErr = new Error(\n `Unknown option: ${msg(\n loc,\n )}. Check out https://babeljs.io/docs/en/babel-core/#options for more information about options.`,\n );\n // @ts-expect-error todo(flow->ts): consider creating something like BabelConfigError with code field in it\n unknownOptErr.code = \"BABEL_UNKNOWN_OPTION\";\n\n throw unknownOptErr;\n }\n}\n\nfunction has(obj: {}, key: string) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nfunction assertNoDuplicateSourcemap(opts: {}): void {\n if (has(opts, \"sourceMap\") && has(opts, \"sourceMaps\")) {\n throw new Error(\".sourceMap is an alias for .sourceMaps, cannot use both\");\n }\n}\n\nfunction assertEnvSet(\n loc: OptionPath,\n value: unknown,\n): void | EnvSet {\n if (loc.parent.type === \"env\") {\n throw new Error(`${msg(loc)} is not allowed inside of another .env block`);\n }\n const parent: RootPath | OverridesPath = loc.parent;\n\n const obj = assertObject(loc, value);\n if (obj) {\n // Validate but don't copy the .env object in order to preserve\n // object identity for use during config chain processing.\n for (const envName of Object.keys(obj)) {\n const env = assertObject(access(loc, envName), obj[envName]);\n if (!env) continue;\n\n const envLoc = {\n type: \"env\",\n name: envName,\n parent,\n } as const;\n validateNested(envLoc, env);\n }\n }\n return obj;\n}\n\nfunction assertOverridesList(\n loc: OptionPath,\n value: unknown[],\n): undefined | OverridesList {\n if (loc.parent.type === \"env\") {\n throw new Error(`${msg(loc)} is not allowed inside an .env block`);\n }\n if (loc.parent.type === \"overrides\") {\n throw new Error(`${msg(loc)} is not allowed inside an .overrides block`);\n }\n const parent: RootPath = loc.parent;\n\n const arr = assertArray(loc, value);\n if (arr) {\n for (const [index, item] of arr.entries()) {\n const objLoc = access(loc, index);\n const env = assertObject(objLoc, item);\n if (!env) throw new Error(`${msg(objLoc)} must be an object`);\n\n const overridesLoc = {\n type: \"overrides\",\n index,\n parent,\n } as const;\n validateNested(overridesLoc, env);\n }\n }\n return arr as OverridesList;\n}\n\nexport function checkNoUnwrappedItemOptionPairs(\n items: Array>,\n index: number,\n type: \"plugin\" | \"preset\",\n e: Error,\n): void {\n if (index === 0) return;\n\n const lastItem = items[index - 1];\n const thisItem = items[index];\n\n if (\n lastItem.file &&\n lastItem.options === undefined &&\n typeof thisItem.value === \"object\"\n ) {\n e.message +=\n `\\n- Maybe you meant to use\\n` +\n `\"${type}s\": [\\n [\"${lastItem.file.request}\", ${JSON.stringify(\n thisItem.value,\n undefined,\n 2,\n )}]\\n]\\n` +\n `To be a valid ${type}, its name and options should be wrapped in a pair of brackets`;\n }\n}\n","import path from \"path\";\n\nconst sep = `\\\\${path.sep}`;\nconst endSep = `(?:${sep}|$)`;\n\nconst substitution = `[^${sep}]+`;\n\nconst starPat = `(?:${substitution}${sep})`;\nconst starPatLast = `(?:${substitution}${endSep})`;\n\nconst starStarPat = `${starPat}*?`;\nconst starStarPatLast = `${starPat}*?${starPatLast}?`;\n\nfunction escapeRegExp(string: string) {\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\");\n}\n\n/**\n * Implement basic pattern matching that will allow users to do the simple\n * tests with * and **. If users want full complex pattern matching, then can\n * always use regex matching, or function validation.\n */\nexport default function pathToPattern(\n pattern: string,\n dirname: string,\n): RegExp {\n const parts = path.resolve(dirname, pattern).split(path.sep);\n\n return new RegExp(\n [\n \"^\",\n ...parts.map((part, i) => {\n const last = i === parts.length - 1;\n\n // ** matches 0 or more path parts.\n if (part === \"**\") return last ? starStarPatLast : starStarPat;\n\n // * matches 1 path part.\n if (part === \"*\") return last ? starPatLast : starPat;\n\n // *.ext matches a wildcard with an extension.\n if (part.indexOf(\"*.\") === 0) {\n return (\n substitution + escapeRegExp(part.slice(1)) + (last ? endSep : sep)\n );\n }\n\n // Otherwise match the pattern text.\n return escapeRegExp(part) + (last ? endSep : sep);\n }),\n ].join(\"\"),\n );\n}\n","import gensync from \"gensync\";\n\nimport type { Handler } from \"gensync\";\n\nimport type {\n OptionsAndDescriptors,\n UnloadedDescriptor,\n} from \"./config-descriptors.ts\";\n\n// todo: Use flow enums when @babel/transform-flow-types supports it\nexport const ChainFormatter = {\n Programmatic: 0,\n Config: 1,\n};\n\ntype PrintableConfig = {\n content: OptionsAndDescriptors;\n type: (typeof ChainFormatter)[keyof typeof ChainFormatter];\n callerName: string | undefined | null;\n filepath: string | undefined | null;\n index: number | undefined | null;\n envName: string | undefined | null;\n};\n\nconst Formatter = {\n title(\n type: (typeof ChainFormatter)[keyof typeof ChainFormatter],\n callerName?: string | null,\n filepath?: string | null,\n ): string {\n let title = \"\";\n if (type === ChainFormatter.Programmatic) {\n title = \"programmatic options\";\n if (callerName) {\n title += \" from \" + callerName;\n }\n } else {\n title = \"config \" + filepath;\n }\n return title;\n },\n loc(index?: number | null, envName?: string | null): string {\n let loc = \"\";\n if (index != null) {\n loc += `.overrides[${index}]`;\n }\n if (envName != null) {\n loc += `.env[\"${envName}\"]`;\n }\n return loc;\n },\n\n *optionsAndDescriptors(opt: OptionsAndDescriptors) {\n const content = { ...opt.options };\n // overrides and env will be printed as separated config items\n delete content.overrides;\n delete content.env;\n // resolve to descriptors\n const pluginDescriptors = [...(yield* opt.plugins())];\n if (pluginDescriptors.length) {\n content.plugins = pluginDescriptors.map(d => descriptorToConfig(d));\n }\n const presetDescriptors = [...(yield* opt.presets())];\n if (presetDescriptors.length) {\n content.presets = [...presetDescriptors].map(d => descriptorToConfig(d));\n }\n return JSON.stringify(content, undefined, 2);\n },\n};\n\nfunction descriptorToConfig(\n d: UnloadedDescriptor,\n): object | string | [string, unknown] | [string, unknown, string] {\n let name: object | string = d.file?.request;\n if (name == null) {\n if (typeof d.value === \"object\") {\n name = d.value;\n } else if (typeof d.value === \"function\") {\n // If the unloaded descriptor is a function, i.e. `plugins: [ require(\"my-plugin\") ]`,\n // we print the first 50 characters of the function source code and hopefully we can see\n // `name: 'my-plugin'` in the source\n name = `[Function: ${d.value.toString().slice(0, 50)} ... ]`;\n }\n }\n if (name == null) {\n name = \"[Unknown]\";\n }\n if (d.options === undefined) {\n return name;\n } else if (d.name == null) {\n return [name, d.options];\n } else {\n return [name, d.options, d.name];\n }\n}\n\nexport class ConfigPrinter {\n _stack: Array = [];\n configure(\n enabled: boolean,\n type: (typeof ChainFormatter)[keyof typeof ChainFormatter],\n {\n callerName,\n filepath,\n }: {\n callerName?: string;\n filepath?: string;\n },\n ) {\n if (!enabled) return () => {};\n return (\n content: OptionsAndDescriptors,\n index?: number | null,\n envName?: string | null,\n ) => {\n this._stack.push({\n type,\n callerName,\n filepath,\n content,\n index,\n envName,\n });\n };\n }\n static *format(config: PrintableConfig): Handler {\n let title = Formatter.title(\n config.type,\n config.callerName,\n config.filepath,\n );\n const loc = Formatter.loc(config.index, config.envName);\n if (loc) title += ` ${loc}`;\n const content = yield* Formatter.optionsAndDescriptors(config.content);\n return `${title}\\n${content}`;\n }\n\n *output(): Handler {\n if (this._stack.length === 0) return \"\";\n const configs = yield* gensync.all(\n this._stack.map(s => ConfigPrinter.format(s)),\n );\n return configs.join(\"\\n\\n\");\n }\n}\n","/* eslint-disable @typescript-eslint/no-use-before-define */\n\nimport path from \"path\";\nimport buildDebug from \"debug\";\nimport type { Handler } from \"gensync\";\nimport { validate } from \"./validation/options.ts\";\nimport type {\n ValidatedOptions,\n IgnoreList,\n ConfigApplicableTest,\n BabelrcSearch,\n CallerMetadata,\n IgnoreItem,\n} from \"./validation/options.ts\";\nimport pathPatternToRegex from \"./pattern-to-regex.ts\";\nimport { ConfigPrinter, ChainFormatter } from \"./printer.ts\";\nimport type { ReadonlyDeepArray } from \"./helpers/deep-array.ts\";\n\nimport { endHiddenCallStack } from \"../errors/rewrite-stack-trace.ts\";\nimport ConfigError from \"../errors/config-error.ts\";\nimport type { PluginAPI, PresetAPI } from \"./helpers/config-api.ts\";\n\nconst debug = buildDebug(\"babel:config:config-chain\");\n\nimport {\n findPackageData,\n findRelativeConfig,\n findRootConfig,\n loadConfig,\n} from \"./files/index.ts\";\nimport type { ConfigFile, IgnoreFile, FilePackageData } from \"./files/index.ts\";\n\nimport { makeWeakCacheSync, makeStrongCacheSync } from \"./caching.ts\";\n\nimport {\n createCachedDescriptors,\n createUncachedDescriptors,\n} from \"./config-descriptors.ts\";\nimport type {\n UnloadedDescriptor,\n OptionsAndDescriptors,\n ValidatedFile,\n} from \"./config-descriptors.ts\";\n\nexport type ConfigChain = {\n plugins: Array>;\n presets: Array>;\n options: Array;\n files: Set;\n};\n\nexport type PresetInstance = {\n options: ValidatedOptions;\n alias: string;\n dirname: string;\n externalDependencies: ReadonlyDeepArray;\n};\n\nexport type ConfigContext = {\n filename: string | undefined;\n cwd: string;\n root: string;\n envName: string;\n caller: CallerMetadata | undefined;\n showConfig: boolean;\n};\n\n/**\n * Build a config chain for a given preset.\n */\nexport function* buildPresetChain(\n arg: PresetInstance,\n context: any,\n): Handler {\n const chain = yield* buildPresetChainWalker(arg, context);\n if (!chain) return null;\n\n return {\n plugins: dedupDescriptors(chain.plugins),\n presets: dedupDescriptors(chain.presets),\n options: chain.options.map(o => normalizeOptions(o)),\n files: new Set(),\n };\n}\n\nexport const buildPresetChainWalker = makeChainWalker({\n root: preset => loadPresetDescriptors(preset),\n env: (preset, envName) => loadPresetEnvDescriptors(preset)(envName),\n overrides: (preset, index) => loadPresetOverridesDescriptors(preset)(index),\n overridesEnv: (preset, index, envName) =>\n loadPresetOverridesEnvDescriptors(preset)(index)(envName),\n createLogger: () => () => {}, // Currently we don't support logging how preset is expanded\n});\nconst loadPresetDescriptors = makeWeakCacheSync((preset: PresetInstance) =>\n buildRootDescriptors(preset, preset.alias, createUncachedDescriptors),\n);\nconst loadPresetEnvDescriptors = makeWeakCacheSync((preset: PresetInstance) =>\n makeStrongCacheSync((envName: string) =>\n buildEnvDescriptors(\n preset,\n preset.alias,\n createUncachedDescriptors,\n envName,\n ),\n ),\n);\nconst loadPresetOverridesDescriptors = makeWeakCacheSync(\n (preset: PresetInstance) =>\n makeStrongCacheSync((index: number) =>\n buildOverrideDescriptors(\n preset,\n preset.alias,\n createUncachedDescriptors,\n index,\n ),\n ),\n);\nconst loadPresetOverridesEnvDescriptors = makeWeakCacheSync(\n (preset: PresetInstance) =>\n makeStrongCacheSync((index: number) =>\n makeStrongCacheSync((envName: string) =>\n buildOverrideEnvDescriptors(\n preset,\n preset.alias,\n createUncachedDescriptors,\n index,\n envName,\n ),\n ),\n ),\n);\n\nexport type FileHandling = \"transpile\" | \"ignored\" | \"unsupported\";\nexport type RootConfigChain = ConfigChain & {\n babelrc: ConfigFile | void;\n config: ConfigFile | void;\n ignore: IgnoreFile | void;\n fileHandling: FileHandling;\n files: Set;\n};\n\n/**\n * Build a config chain for Babel's full root configuration.\n */\nexport function* buildRootChain(\n opts: ValidatedOptions,\n context: ConfigContext,\n): Handler {\n let configReport, babelRcReport;\n const programmaticLogger = new ConfigPrinter();\n const programmaticChain = yield* loadProgrammaticChain(\n {\n options: opts,\n dirname: context.cwd,\n },\n context,\n undefined,\n programmaticLogger,\n );\n if (!programmaticChain) return null;\n const programmaticReport = yield* programmaticLogger.output();\n\n let configFile;\n if (typeof opts.configFile === \"string\") {\n configFile = yield* loadConfig(\n opts.configFile,\n context.cwd,\n context.envName,\n context.caller,\n );\n } else if (opts.configFile !== false) {\n configFile = yield* findRootConfig(\n context.root,\n context.envName,\n context.caller,\n );\n }\n\n let { babelrc, babelrcRoots } = opts;\n let babelrcRootsDirectory = context.cwd;\n\n const configFileChain = emptyChain();\n const configFileLogger = new ConfigPrinter();\n if (configFile) {\n const validatedFile = validateConfigFile(configFile);\n const result = yield* loadFileChain(\n validatedFile,\n context,\n undefined,\n configFileLogger,\n );\n if (!result) return null;\n configReport = yield* configFileLogger.output();\n\n // Allow config files to toggle `.babelrc` resolution on and off and\n // specify where the roots are.\n if (babelrc === undefined) {\n babelrc = validatedFile.options.babelrc;\n }\n if (babelrcRoots === undefined) {\n babelrcRootsDirectory = validatedFile.dirname;\n babelrcRoots = validatedFile.options.babelrcRoots;\n }\n\n mergeChain(configFileChain, result);\n }\n\n let ignoreFile, babelrcFile;\n let isIgnored = false;\n const fileChain = emptyChain();\n // resolve all .babelrc files\n if (\n (babelrc === true || babelrc === undefined) &&\n typeof context.filename === \"string\"\n ) {\n const pkgData = yield* findPackageData(context.filename);\n\n if (\n pkgData &&\n babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory)\n ) {\n ({ ignore: ignoreFile, config: babelrcFile } = yield* findRelativeConfig(\n pkgData,\n context.envName,\n context.caller,\n ));\n\n if (ignoreFile) {\n fileChain.files.add(ignoreFile.filepath);\n }\n\n if (\n ignoreFile &&\n shouldIgnore(context, ignoreFile.ignore, null, ignoreFile.dirname)\n ) {\n isIgnored = true;\n }\n\n if (babelrcFile && !isIgnored) {\n const validatedFile = validateBabelrcFile(babelrcFile);\n const babelrcLogger = new ConfigPrinter();\n const result = yield* loadFileChain(\n validatedFile,\n context,\n undefined,\n babelrcLogger,\n );\n if (!result) {\n isIgnored = true;\n } else {\n babelRcReport = yield* babelrcLogger.output();\n mergeChain(fileChain, result);\n }\n }\n\n if (babelrcFile && isIgnored) {\n fileChain.files.add(babelrcFile.filepath);\n }\n }\n }\n\n if (context.showConfig) {\n console.log(\n `Babel configs on \"${context.filename}\" (ascending priority):\\n` +\n // print config by the order of ascending priority\n [configReport, babelRcReport, programmaticReport]\n .filter(x => !!x)\n .join(\"\\n\\n\") +\n \"\\n-----End Babel configs-----\",\n );\n }\n // Insert file chain in front so programmatic options have priority\n // over configuration file chain items.\n const chain = mergeChain(\n mergeChain(mergeChain(emptyChain(), configFileChain), fileChain),\n programmaticChain,\n );\n\n return {\n plugins: isIgnored ? [] : dedupDescriptors(chain.plugins),\n presets: isIgnored ? [] : dedupDescriptors(chain.presets),\n options: isIgnored ? [] : chain.options.map(o => normalizeOptions(o)),\n fileHandling: isIgnored ? \"ignored\" : \"transpile\",\n ignore: ignoreFile || undefined,\n babelrc: babelrcFile || undefined,\n config: configFile || undefined,\n files: chain.files,\n };\n}\n\nfunction babelrcLoadEnabled(\n context: ConfigContext,\n pkgData: FilePackageData,\n babelrcRoots: BabelrcSearch | undefined,\n babelrcRootsDirectory: string,\n): boolean {\n if (typeof babelrcRoots === \"boolean\") return babelrcRoots;\n\n const absoluteRoot = context.root;\n\n // Fast path to avoid having to match patterns if the babelrc is just\n // loading in the standard root directory.\n if (babelrcRoots === undefined) {\n return pkgData.directories.indexOf(absoluteRoot) !== -1;\n }\n\n let babelrcPatterns = babelrcRoots;\n if (!Array.isArray(babelrcPatterns)) {\n babelrcPatterns = [babelrcPatterns as IgnoreItem];\n }\n babelrcPatterns = babelrcPatterns.map(pat => {\n return typeof pat === \"string\"\n ? path.resolve(babelrcRootsDirectory, pat)\n : pat;\n });\n\n // Fast path to avoid having to match patterns if the babelrc is just\n // loading in the standard root directory.\n if (babelrcPatterns.length === 1 && babelrcPatterns[0] === absoluteRoot) {\n return pkgData.directories.indexOf(absoluteRoot) !== -1;\n }\n\n return babelrcPatterns.some(pat => {\n if (typeof pat === \"string\") {\n pat = pathPatternToRegex(pat, babelrcRootsDirectory);\n }\n\n return pkgData.directories.some(directory => {\n return matchPattern(pat, babelrcRootsDirectory, directory, context);\n });\n });\n}\n\nconst validateConfigFile = makeWeakCacheSync(\n (file: ConfigFile): ValidatedFile => ({\n filepath: file.filepath,\n dirname: file.dirname,\n options: validate(\"configfile\", file.options, file.filepath),\n }),\n);\n\nconst validateBabelrcFile = makeWeakCacheSync(\n (file: ConfigFile): ValidatedFile => ({\n filepath: file.filepath,\n dirname: file.dirname,\n options: validate(\"babelrcfile\", file.options, file.filepath),\n }),\n);\n\nconst validateExtendFile = makeWeakCacheSync(\n (file: ConfigFile): ValidatedFile => ({\n filepath: file.filepath,\n dirname: file.dirname,\n options: validate(\"extendsfile\", file.options, file.filepath),\n }),\n);\n\n/**\n * Build a config chain for just the programmatic options passed into Babel.\n */\nconst loadProgrammaticChain = makeChainWalker({\n root: input => buildRootDescriptors(input, \"base\", createCachedDescriptors),\n env: (input, envName) =>\n buildEnvDescriptors(input, \"base\", createCachedDescriptors, envName),\n overrides: (input, index) =>\n buildOverrideDescriptors(input, \"base\", createCachedDescriptors, index),\n overridesEnv: (input, index, envName) =>\n buildOverrideEnvDescriptors(\n input,\n \"base\",\n createCachedDescriptors,\n index,\n envName,\n ),\n createLogger: (input, context, baseLogger) =>\n buildProgrammaticLogger(input, context, baseLogger),\n});\n\n/**\n * Build a config chain for a given file.\n */\nconst loadFileChainWalker = makeChainWalker({\n root: file => loadFileDescriptors(file),\n env: (file, envName) => loadFileEnvDescriptors(file)(envName),\n overrides: (file, index) => loadFileOverridesDescriptors(file)(index),\n overridesEnv: (file, index, envName) =>\n loadFileOverridesEnvDescriptors(file)(index)(envName),\n createLogger: (file, context, baseLogger) =>\n buildFileLogger(file.filepath, context, baseLogger),\n});\n\nfunction* loadFileChain(\n input: ValidatedFile,\n context: ConfigContext,\n files: Set,\n baseLogger: ConfigPrinter,\n) {\n const chain = yield* loadFileChainWalker(input, context, files, baseLogger);\n chain?.files.add(input.filepath);\n\n return chain;\n}\n\nconst loadFileDescriptors = makeWeakCacheSync((file: ValidatedFile) =>\n buildRootDescriptors(file, file.filepath, createUncachedDescriptors),\n);\nconst loadFileEnvDescriptors = makeWeakCacheSync((file: ValidatedFile) =>\n makeStrongCacheSync((envName: string) =>\n buildEnvDescriptors(\n file,\n file.filepath,\n createUncachedDescriptors,\n envName,\n ),\n ),\n);\nconst loadFileOverridesDescriptors = makeWeakCacheSync((file: ValidatedFile) =>\n makeStrongCacheSync((index: number) =>\n buildOverrideDescriptors(\n file,\n file.filepath,\n createUncachedDescriptors,\n index,\n ),\n ),\n);\nconst loadFileOverridesEnvDescriptors = makeWeakCacheSync(\n (file: ValidatedFile) =>\n makeStrongCacheSync((index: number) =>\n makeStrongCacheSync((envName: string) =>\n buildOverrideEnvDescriptors(\n file,\n file.filepath,\n createUncachedDescriptors,\n index,\n envName,\n ),\n ),\n ),\n);\n\nfunction buildFileLogger(\n filepath: string,\n context: ConfigContext,\n baseLogger: ConfigPrinter | void,\n) {\n if (!baseLogger) {\n return () => {};\n }\n return baseLogger.configure(context.showConfig, ChainFormatter.Config, {\n filepath,\n });\n}\n\nfunction buildRootDescriptors(\n { dirname, options }: Partial,\n alias: string,\n descriptors: (\n dirname: string,\n options: ValidatedOptions,\n alias: string,\n ) => OptionsAndDescriptors,\n) {\n return descriptors(dirname, options, alias);\n}\n\nfunction buildProgrammaticLogger(\n _: unknown,\n context: ConfigContext,\n baseLogger: ConfigPrinter | void,\n) {\n if (!baseLogger) {\n return () => {};\n }\n return baseLogger.configure(context.showConfig, ChainFormatter.Programmatic, {\n callerName: context.caller?.name,\n });\n}\n\nfunction buildEnvDescriptors(\n { dirname, options }: Partial,\n alias: string,\n descriptors: (\n dirname: string,\n options: ValidatedOptions,\n alias: string,\n ) => OptionsAndDescriptors,\n envName: string,\n) {\n const opts = options.env?.[envName];\n return opts ? descriptors(dirname, opts, `${alias}.env[\"${envName}\"]`) : null;\n}\n\nfunction buildOverrideDescriptors(\n { dirname, options }: Partial,\n alias: string,\n descriptors: (\n dirname: string,\n options: ValidatedOptions,\n alias: string,\n ) => OptionsAndDescriptors,\n index: number,\n) {\n const opts = options.overrides?.[index];\n if (!opts) throw new Error(\"Assertion failure - missing override\");\n\n return descriptors(dirname, opts, `${alias}.overrides[${index}]`);\n}\n\nfunction buildOverrideEnvDescriptors(\n { dirname, options }: Partial,\n alias: string,\n descriptors: (\n dirname: string,\n options: ValidatedOptions,\n alias: string,\n ) => OptionsAndDescriptors,\n index: number,\n envName: string,\n) {\n const override = options.overrides?.[index];\n if (!override) throw new Error(\"Assertion failure - missing override\");\n\n const opts = override.env?.[envName];\n return opts\n ? descriptors(\n dirname,\n opts,\n `${alias}.overrides[${index}].env[\"${envName}\"]`,\n )\n : null;\n}\n\nfunction makeChainWalker<\n ArgT extends {\n options: ValidatedOptions;\n dirname: string;\n filepath?: string;\n },\n>({\n root,\n env,\n overrides,\n overridesEnv,\n createLogger,\n}: {\n root: (configEntry: ArgT) => OptionsAndDescriptors;\n env: (configEntry: ArgT, env: string) => OptionsAndDescriptors | null;\n overrides: (configEntry: ArgT, index: number) => OptionsAndDescriptors;\n overridesEnv: (\n configEntry: ArgT,\n index: number,\n env: string,\n ) => OptionsAndDescriptors | null;\n createLogger: (\n configEntry: ArgT,\n context: ConfigContext,\n printer: ConfigPrinter | void,\n ) => (\n opts: OptionsAndDescriptors,\n index?: number | null,\n env?: string | null,\n ) => void;\n}): (\n configEntry: ArgT,\n context: ConfigContext,\n files?: Set,\n baseLogger?: ConfigPrinter,\n) => Handler {\n return function* chainWalker(input, context, files = new Set(), baseLogger) {\n const { dirname } = input;\n\n const flattenedConfigs: Array<{\n config: OptionsAndDescriptors;\n index: number | undefined | null;\n envName: string | undefined | null;\n }> = [];\n\n const rootOpts = root(input);\n if (configIsApplicable(rootOpts, dirname, context, input.filepath)) {\n flattenedConfigs.push({\n config: rootOpts,\n envName: undefined,\n index: undefined,\n });\n\n const envOpts = env(input, context.envName);\n if (\n envOpts &&\n configIsApplicable(envOpts, dirname, context, input.filepath)\n ) {\n flattenedConfigs.push({\n config: envOpts,\n envName: context.envName,\n index: undefined,\n });\n }\n\n (rootOpts.options.overrides || []).forEach((_, index) => {\n const overrideOps = overrides(input, index);\n if (configIsApplicable(overrideOps, dirname, context, input.filepath)) {\n flattenedConfigs.push({\n config: overrideOps,\n index,\n envName: undefined,\n });\n\n const overrideEnvOpts = overridesEnv(input, index, context.envName);\n if (\n overrideEnvOpts &&\n configIsApplicable(\n overrideEnvOpts,\n dirname,\n context,\n input.filepath,\n )\n ) {\n flattenedConfigs.push({\n config: overrideEnvOpts,\n index,\n envName: context.envName,\n });\n }\n }\n });\n }\n\n // Process 'ignore' and 'only' before 'extends' items are processed so\n // that we don't do extra work loading extended configs if a file is\n // ignored.\n if (\n flattenedConfigs.some(\n ({\n config: {\n options: { ignore, only },\n },\n }) => shouldIgnore(context, ignore, only, dirname),\n )\n ) {\n return null;\n }\n\n const chain = emptyChain();\n const logger = createLogger(input, context, baseLogger);\n\n for (const { config, index, envName } of flattenedConfigs) {\n if (\n !(yield* mergeExtendsChain(\n chain,\n config.options,\n dirname,\n context,\n files,\n baseLogger,\n ))\n ) {\n return null;\n }\n\n logger(config, index, envName);\n yield* mergeChainOpts(chain, config);\n }\n return chain;\n };\n}\n\nfunction* mergeExtendsChain(\n chain: ConfigChain,\n opts: ValidatedOptions,\n dirname: string,\n context: ConfigContext,\n files: Set,\n baseLogger?: ConfigPrinter,\n): Handler {\n if (opts.extends === undefined) return true;\n\n const file = yield* loadConfig(\n opts.extends,\n dirname,\n context.envName,\n context.caller,\n );\n\n if (files.has(file)) {\n throw new Error(\n `Configuration cycle detected loading ${file.filepath}.\\n` +\n `File already loaded following the config chain:\\n` +\n Array.from(files, file => ` - ${file.filepath}`).join(\"\\n\"),\n );\n }\n\n files.add(file);\n const fileChain = yield* loadFileChain(\n validateExtendFile(file),\n context,\n files,\n baseLogger,\n );\n files.delete(file);\n\n if (!fileChain) return false;\n\n mergeChain(chain, fileChain);\n\n return true;\n}\n\nfunction mergeChain(target: ConfigChain, source: ConfigChain): ConfigChain {\n target.options.push(...source.options);\n target.plugins.push(...source.plugins);\n target.presets.push(...source.presets);\n for (const file of source.files) {\n target.files.add(file);\n }\n\n return target;\n}\n\nfunction* mergeChainOpts(\n target: ConfigChain,\n { options, plugins, presets }: OptionsAndDescriptors,\n): Handler {\n target.options.push(options);\n target.plugins.push(...(yield* plugins()));\n target.presets.push(...(yield* presets()));\n\n return target;\n}\n\nfunction emptyChain(): ConfigChain {\n return {\n options: [],\n presets: [],\n plugins: [],\n files: new Set(),\n };\n}\n\nfunction normalizeOptions(opts: ValidatedOptions): ValidatedOptions {\n const options = {\n ...opts,\n };\n delete options.extends;\n delete options.env;\n delete options.overrides;\n delete options.plugins;\n delete options.presets;\n delete options.passPerPreset;\n delete options.ignore;\n delete options.only;\n delete options.test;\n delete options.include;\n delete options.exclude;\n\n // \"sourceMap\" is just aliased to sourceMap, so copy it over as\n // we merge the options together.\n if (Object.prototype.hasOwnProperty.call(options, \"sourceMap\")) {\n options.sourceMaps = options.sourceMap;\n delete options.sourceMap;\n }\n return options;\n}\n\nfunction dedupDescriptors(\n items: Array>,\n): Array> {\n const map: Map<\n Function,\n Map }>\n > = new Map();\n\n const descriptors = [];\n\n for (const item of items) {\n if (typeof item.value === \"function\") {\n const fnKey = item.value;\n let nameMap = map.get(fnKey);\n if (!nameMap) {\n nameMap = new Map();\n map.set(fnKey, nameMap);\n }\n let desc = nameMap.get(item.name);\n if (!desc) {\n desc = { value: item };\n descriptors.push(desc);\n\n // Treat passPerPreset presets as unique, skipping them\n // in the merge processing steps.\n if (!item.ownPass) nameMap.set(item.name, desc);\n } else {\n desc.value = item;\n }\n } else {\n descriptors.push({ value: item });\n }\n }\n\n return descriptors.reduce((acc, desc) => {\n acc.push(desc.value);\n return acc;\n }, []);\n}\n\nfunction configIsApplicable(\n { options }: OptionsAndDescriptors,\n dirname: string,\n context: ConfigContext,\n configName: string,\n): boolean {\n return (\n (options.test === undefined ||\n configFieldIsApplicable(context, options.test, dirname, configName)) &&\n (options.include === undefined ||\n configFieldIsApplicable(context, options.include, dirname, configName)) &&\n (options.exclude === undefined ||\n !configFieldIsApplicable(context, options.exclude, dirname, configName))\n );\n}\n\nfunction configFieldIsApplicable(\n context: ConfigContext,\n test: ConfigApplicableTest,\n dirname: string,\n configName: string,\n): boolean {\n const patterns = Array.isArray(test) ? test : [test];\n\n return matchesPatterns(context, patterns, dirname, configName);\n}\n\n/**\n * Print the ignoreList-values in a more helpful way than the default.\n */\nfunction ignoreListReplacer(\n _key: string,\n value: IgnoreList | IgnoreItem,\n): IgnoreList | IgnoreItem | string {\n if (value instanceof RegExp) {\n return String(value);\n }\n\n return value;\n}\n\n/**\n * Tests if a filename should be ignored based on \"ignore\" and \"only\" options.\n */\nfunction shouldIgnore(\n context: ConfigContext,\n ignore: IgnoreList | undefined | null,\n only: IgnoreList | undefined | null,\n dirname: string,\n): boolean {\n if (ignore && matchesPatterns(context, ignore, dirname)) {\n const message = `No config is applied to \"${\n context.filename ?? \"(unknown)\"\n }\" because it matches one of \\`ignore: ${JSON.stringify(\n ignore,\n ignoreListReplacer,\n )}\\` from \"${dirname}\"`;\n debug(message);\n if (context.showConfig) {\n console.log(message);\n }\n return true;\n }\n\n if (only && !matchesPatterns(context, only, dirname)) {\n const message = `No config is applied to \"${\n context.filename ?? \"(unknown)\"\n }\" because it fails to match one of \\`only: ${JSON.stringify(\n only,\n ignoreListReplacer,\n )}\\` from \"${dirname}\"`;\n debug(message);\n if (context.showConfig) {\n console.log(message);\n }\n return true;\n }\n\n return false;\n}\n\n/**\n * Returns result of calling function with filename if pattern is a function.\n * Otherwise returns result of matching pattern Regex with filename.\n */\nfunction matchesPatterns(\n context: ConfigContext,\n patterns: IgnoreList,\n dirname: string,\n configName?: string,\n): boolean {\n return patterns.some(pattern =>\n matchPattern(pattern, dirname, context.filename, context, configName),\n );\n}\n\nfunction matchPattern(\n pattern: IgnoreItem,\n dirname: string,\n pathToTest: string | undefined,\n context: ConfigContext,\n configName?: string,\n): boolean {\n if (typeof pattern === \"function\") {\n return !!endHiddenCallStack(pattern)(pathToTest, {\n dirname,\n envName: context.envName,\n caller: context.caller,\n });\n }\n\n if (typeof pathToTest !== \"string\") {\n throw new ConfigError(\n `Configuration contains string/RegExp pattern, but no filename was passed to Babel`,\n configName,\n );\n }\n\n if (typeof pattern === \"string\") {\n pattern = pathPatternToRegex(pattern, dirname);\n }\n return pattern.test(pathToTest);\n}\n","import {\n assertString,\n assertFunction,\n assertObject,\n msg,\n} from \"./option-assertions.ts\";\n\nimport type {\n ValidatorSet,\n Validator,\n OptionPath,\n RootPath,\n} from \"./option-assertions.ts\";\nimport type { ParserOptions } from \"@babel/parser\";\nimport type { Visitor } from \"@babel/traverse\";\nimport type { ValidatedOptions } from \"./options.ts\";\nimport type { File, PluginAPI, PluginPass } from \"../../index.ts\";\n\n// Note: The casts here are just meant to be static assertions to make sure\n// that the assertion functions actually assert that the value's type matches\n// the declared types.\nconst VALIDATORS: ValidatorSet = {\n name: assertString as Validator,\n manipulateOptions: assertFunction as Validator<\n PluginObject[\"manipulateOptions\"]\n >,\n pre: assertFunction as Validator,\n post: assertFunction as Validator,\n inherits: assertFunction as Validator,\n visitor: assertVisitorMap as Validator,\n\n parserOverride: assertFunction as Validator,\n generatorOverride: assertFunction as Validator<\n PluginObject[\"generatorOverride\"]\n >,\n};\n\nfunction assertVisitorMap(loc: OptionPath, value: unknown): Visitor {\n const obj = assertObject(loc, value);\n if (obj) {\n Object.keys(obj).forEach(prop => {\n if (prop !== \"_exploded\" && prop !== \"_verified\") {\n assertVisitorHandler(prop, obj[prop]);\n }\n });\n\n if (obj.enter || obj.exit) {\n throw new Error(\n `${msg(\n loc,\n )} cannot contain catch-all \"enter\" or \"exit\" handlers. Please target individual nodes.`,\n );\n }\n }\n return obj as Visitor;\n}\n\nfunction assertVisitorHandler(\n key: string,\n value: unknown,\n): asserts value is VisitorHandler {\n if (value && typeof value === \"object\") {\n Object.keys(value).forEach((handler: string) => {\n if (handler !== \"enter\" && handler !== \"exit\") {\n throw new Error(\n `.visitor[\"${key}\"] may only have .enter and/or .exit handlers.`,\n );\n }\n });\n } else if (typeof value !== \"function\") {\n throw new Error(`.visitor[\"${key}\"] must be a function`);\n }\n}\n\ntype VisitorHandler =\n | Function\n | {\n enter?: Function;\n exit?: Function;\n };\n\nexport type PluginObject = {\n name?: string;\n manipulateOptions?: (\n options: ValidatedOptions,\n parserOpts: ParserOptions,\n ) => void;\n pre?: (this: S, file: File) => void;\n post?: (this: S, file: File) => void;\n inherits?: (\n api: PluginAPI,\n options: unknown,\n dirname: string,\n ) => PluginObject;\n visitor?: Visitor;\n parserOverride?: Function;\n generatorOverride?: Function;\n};\n\nexport function validatePluginObject(obj: {\n [key: string]: unknown;\n}): PluginObject {\n const rootPath: RootPath = {\n type: \"root\",\n source: \"plugin\",\n };\n Object.keys(obj).forEach((key: string) => {\n const validator = VALIDATORS[key];\n\n if (validator) {\n const optLoc: OptionPath = {\n type: \"option\",\n name: key,\n parent: rootPath,\n };\n validator(optLoc, obj[key]);\n } else {\n const invalidPluginPropertyError = new Error(\n `.${key} is not a valid Plugin property`,\n );\n // @ts-expect-error todo(flow->ts) consider adding BabelConfigError with code field\n invalidPluginPropertyError.code = \"BABEL_UNKNOWN_PLUGIN_PROPERTY\";\n throw invalidPluginPropertyError;\n }\n });\n\n return obj as any;\n}\n","import semver from \"semver\";\nimport type { Targets } from \"@babel/helper-compilation-targets\";\n\nimport { version as coreVersion } from \"../../index.ts\";\nimport { assertSimpleType } from \"../caching.ts\";\nimport type {\n CacheConfigurator,\n SimpleCacheConfigurator,\n SimpleType,\n} from \"../caching.ts\";\n\nimport type { AssumptionName, CallerMetadata } from \"../validation/options.ts\";\n\nimport type * as Context from \"../cache-contexts\";\n\ntype EnvFunction = {\n (): string;\n (extractor: (babelEnv: string) => T): T;\n (envVar: string): boolean;\n (envVars: Array): boolean;\n};\n\ntype CallerFactory = (\n extractor: (callerMetadata: CallerMetadata | undefined) => unknown,\n) => SimpleType;\ntype TargetsFunction = () => Targets;\ntype AssumptionFunction = (name: AssumptionName) => boolean | undefined;\n\nexport type ConfigAPI = {\n version: string;\n cache: SimpleCacheConfigurator;\n env: EnvFunction;\n async: () => boolean;\n assertVersion: typeof assertVersion;\n caller?: CallerFactory;\n};\n\nexport type PresetAPI = {\n targets: TargetsFunction;\n addExternalDependency: (ref: string) => void;\n} & ConfigAPI;\n\nexport type PluginAPI = {\n assumption: AssumptionFunction;\n} & PresetAPI;\n\nexport function makeConfigAPI(\n cache: CacheConfigurator,\n): ConfigAPI {\n // TODO(@nicolo-ribaudo): If we remove the explicit type from `value`\n // and the `as any` type cast, TypeScript crashes in an infinite\n // recursion. After upgrading to TS4.7 and finishing the noImplicitAny\n // PR, we should check if it still crashes and report it to the TS team.\n const env: EnvFunction = ((\n value: string | string[] | ((babelEnv: string) => T),\n ) =>\n cache.using(data => {\n if (typeof value === \"undefined\") return data.envName;\n if (typeof value === \"function\") {\n return assertSimpleType(value(data.envName));\n }\n return (Array.isArray(value) ? value : [value]).some(entry => {\n if (typeof entry !== \"string\") {\n throw new Error(\"Unexpected non-string value\");\n }\n return entry === data.envName;\n });\n })) as any;\n\n const caller = (cb: {\n (CallerMetadata: CallerMetadata | undefined): SimpleType;\n }) => cache.using(data => assertSimpleType(cb(data.caller)));\n\n return {\n version: coreVersion,\n cache: cache.simple(),\n // Expose \".env()\" so people can easily get the same env that we expose using the \"env\" key.\n env,\n async: () => false,\n caller,\n assertVersion,\n };\n}\n\nexport function makePresetAPI(\n cache: CacheConfigurator,\n externalDependencies: Array,\n): PresetAPI {\n const targets = () =>\n // We are using JSON.parse/JSON.stringify because it's only possible to cache\n // primitive values. We can safely stringify the targets object because it\n // only contains strings as its properties.\n // Please make the Record and Tuple proposal happen!\n JSON.parse(cache.using(data => JSON.stringify(data.targets)));\n\n const addExternalDependency = (ref: string) => {\n externalDependencies.push(ref);\n };\n\n return { ...makeConfigAPI(cache), targets, addExternalDependency };\n}\n\nexport function makePluginAPI(\n cache: CacheConfigurator,\n externalDependencies: Array,\n): PluginAPI {\n const assumption = (name: string) =>\n cache.using(data => data.assumptions[name]);\n\n return { ...makePresetAPI(cache, externalDependencies), assumption };\n}\n\nfunction assertVersion(range: string | number): void {\n if (typeof range === \"number\") {\n if (!Number.isInteger(range)) {\n throw new Error(\"Expected string or integer value.\");\n }\n range = `^${range}.0.0-0`;\n }\n if (typeof range !== \"string\") {\n throw new Error(\"Expected string or integer value.\");\n }\n // TODO(Babel 8): Update all the version checks\n if (process.env.BABEL_8_BREAKING) {\n range += ` || ^8.0.0-0`;\n }\n\n if (semver.satisfies(coreVersion, range)) return;\n\n const limit = Error.stackTraceLimit;\n\n if (typeof limit === \"number\" && limit < 25) {\n // Bump up the limit if needed so that users are more likely\n // to be able to see what is calling Babel.\n Error.stackTraceLimit = 25;\n }\n\n const err = new Error(\n `Requires Babel \"${range}\", but was loaded with \"${coreVersion}\". ` +\n `If you are sure you have a compatible version of @babel/core, ` +\n `it is likely that something in your build process is loading the ` +\n `wrong version. Inspect the stack trace of this error to look for ` +\n `the first entry that doesn't mention \"@babel/core\" or \"babel-core\" ` +\n `to see what is calling Babel.`,\n );\n\n if (typeof limit === \"number\") {\n Error.stackTraceLimit = limit;\n }\n\n throw Object.assign(err, {\n code: \"BABEL_VERSION_UNSUPPORTED\",\n version: coreVersion,\n range,\n });\n}\n","import path from \"path\";\nimport type { Handler } from \"gensync\";\nimport Plugin from \"./plugin.ts\";\nimport { mergeOptions } from \"./util.ts\";\nimport { createItemFromDescriptor } from \"./item.ts\";\nimport { buildRootChain } from \"./config-chain.ts\";\nimport type { ConfigContext, FileHandling } from \"./config-chain.ts\";\nimport { getEnv } from \"./helpers/environment.ts\";\nimport { validate } from \"./validation/options.ts\";\n\nimport type {\n ValidatedOptions,\n NormalizedOptions,\n RootMode,\n} from \"./validation/options.ts\";\n\nimport {\n findConfigUpwards,\n resolveShowConfigPath,\n ROOT_CONFIG_FILENAMES,\n} from \"./files/index.ts\";\nimport type { ConfigFile, IgnoreFile } from \"./files/index.ts\";\nimport { resolveTargets } from \"./resolve-targets.ts\";\n\nfunction resolveRootMode(rootDir: string, rootMode: RootMode): string {\n switch (rootMode) {\n case \"root\":\n return rootDir;\n\n case \"upward-optional\": {\n const upwardRootDir = findConfigUpwards(rootDir);\n return upwardRootDir === null ? rootDir : upwardRootDir;\n }\n\n case \"upward\": {\n const upwardRootDir = findConfigUpwards(rootDir);\n if (upwardRootDir !== null) return upwardRootDir;\n\n throw Object.assign(\n new Error(\n `Babel was run with rootMode:\"upward\" but a root could not ` +\n `be found when searching upward from \"${rootDir}\".\\n` +\n `One of the following config files must be in the directory tree: ` +\n `\"${ROOT_CONFIG_FILENAMES.join(\", \")}\".`,\n ) as any,\n {\n code: \"BABEL_ROOT_NOT_FOUND\",\n dirname: rootDir,\n },\n );\n }\n default:\n throw new Error(`Assertion failure - unknown rootMode value.`);\n }\n}\n\ntype PrivPartialConfig = {\n options: NormalizedOptions;\n context: ConfigContext;\n fileHandling: FileHandling;\n ignore: IgnoreFile | void;\n babelrc: ConfigFile | void;\n config: ConfigFile | void;\n files: Set;\n};\n\nexport default function* loadPrivatePartialConfig(\n inputOpts: unknown,\n): Handler {\n if (\n inputOpts != null &&\n (typeof inputOpts !== \"object\" || Array.isArray(inputOpts))\n ) {\n throw new Error(\"Babel options must be an object, null, or undefined\");\n }\n\n const args = inputOpts ? validate(\"arguments\", inputOpts) : {};\n\n const {\n envName = getEnv(),\n cwd = \".\",\n root: rootDir = \".\",\n rootMode = \"root\",\n caller,\n cloneInputAst = true,\n } = args;\n const absoluteCwd = path.resolve(cwd);\n const absoluteRootDir = resolveRootMode(\n path.resolve(absoluteCwd, rootDir),\n rootMode,\n );\n\n const filename =\n typeof args.filename === \"string\"\n ? path.resolve(cwd, args.filename)\n : undefined;\n\n const showConfigPath = yield* resolveShowConfigPath(absoluteCwd);\n\n const context: ConfigContext = {\n filename,\n cwd: absoluteCwd,\n root: absoluteRootDir,\n envName,\n caller,\n showConfig: showConfigPath === filename,\n };\n\n const configChain = yield* buildRootChain(args, context);\n if (!configChain) return null;\n\n const merged: ValidatedOptions = {\n assumptions: {},\n };\n configChain.options.forEach(opts => {\n mergeOptions(merged as any, opts);\n });\n\n const options: NormalizedOptions = {\n ...merged,\n targets: resolveTargets(merged, absoluteRootDir),\n\n // Tack the passes onto the object itself so that, if this object is\n // passed back to Babel a second time, it will be in the right structure\n // to not change behavior.\n cloneInputAst,\n babelrc: false,\n configFile: false,\n browserslistConfigFile: false,\n passPerPreset: false,\n envName: context.envName,\n cwd: context.cwd,\n root: context.root,\n rootMode: \"root\",\n filename:\n typeof context.filename === \"string\" ? context.filename : undefined,\n\n plugins: configChain.plugins.map(descriptor =>\n createItemFromDescriptor(descriptor),\n ),\n presets: configChain.presets.map(descriptor =>\n createItemFromDescriptor(descriptor),\n ),\n };\n\n return {\n options,\n context,\n fileHandling: configChain.fileHandling,\n ignore: configChain.ignore,\n babelrc: configChain.babelrc,\n config: configChain.config,\n files: configChain.files,\n };\n}\n\ntype LoadPartialConfigOpts = {\n showIgnoredFiles?: boolean;\n};\n\nexport function* loadPartialConfig(\n opts?: LoadPartialConfigOpts,\n): Handler {\n let showIgnoredFiles = false;\n // We only extract showIgnoredFiles if opts is an object, so that\n // loadPrivatePartialConfig can throw the appropriate error if it's not.\n if (typeof opts === \"object\" && opts !== null && !Array.isArray(opts)) {\n ({ showIgnoredFiles, ...opts } = opts);\n }\n\n const result: PrivPartialConfig | undefined | null =\n yield* loadPrivatePartialConfig(opts);\n if (!result) return null;\n\n const { options, babelrc, ignore, config, fileHandling, files } = result;\n\n if (fileHandling === \"ignored\" && !showIgnoredFiles) {\n return null;\n }\n\n (options.plugins || []).forEach(item => {\n // @ts-expect-error todo(flow->ts): better type annotation for `item.value`\n if (item.value instanceof Plugin) {\n throw new Error(\n \"Passing cached plugin instances is not supported in \" +\n \"babel.loadPartialConfig()\",\n );\n }\n });\n\n return new PartialConfig(\n options,\n babelrc ? babelrc.filepath : undefined,\n ignore ? ignore.filepath : undefined,\n config ? config.filepath : undefined,\n fileHandling,\n files,\n );\n}\n\nexport type { PartialConfig };\n\nclass PartialConfig {\n /**\n * These properties are public, so any changes to them should be considered\n * a breaking change to Babel's API.\n */\n options: NormalizedOptions;\n babelrc: string | void;\n babelignore: string | void;\n config: string | void;\n fileHandling: FileHandling;\n files: Set;\n\n constructor(\n options: NormalizedOptions,\n babelrc: string | void,\n ignore: string | void,\n config: string | void,\n fileHandling: FileHandling,\n files: Set,\n ) {\n this.options = options;\n this.babelignore = ignore;\n this.babelrc = babelrc;\n this.config = config;\n this.fileHandling = fileHandling;\n this.files = files;\n\n // Freeze since this is a public API and it should be extremely obvious that\n // reassigning properties on here does nothing.\n Object.freeze(this);\n }\n\n /**\n * Returns true if there is a config file in the filesystem for this config.\n */\n hasFilesystemConfig(): boolean {\n return this.babelrc !== undefined || this.config !== undefined;\n }\n}\nObject.freeze(PartialConfig.prototype);\n","import gensync, { type Handler } from \"gensync\";\nimport {\n forwardAsync,\n maybeAsync,\n isThenable,\n} from \"../gensync-utils/async.ts\";\n\nimport { mergeOptions } from \"./util.ts\";\nimport * as context from \"../index.ts\";\nimport Plugin from \"./plugin.ts\";\nimport { getItemDescriptor } from \"./item.ts\";\nimport { buildPresetChain } from \"./config-chain.ts\";\nimport { finalize as freezeDeepArray } from \"./helpers/deep-array.ts\";\nimport type { DeepArray, ReadonlyDeepArray } from \"./helpers/deep-array.ts\";\nimport type {\n ConfigContext,\n ConfigChain,\n PresetInstance,\n} from \"./config-chain.ts\";\nimport type { UnloadedDescriptor } from \"./config-descriptors.ts\";\nimport traverse from \"@babel/traverse\";\nimport { makeWeakCache, makeWeakCacheSync } from \"./caching.ts\";\nimport type { CacheConfigurator } from \"./caching.ts\";\nimport {\n validate,\n checkNoUnwrappedItemOptionPairs,\n} from \"./validation/options.ts\";\nimport type { PluginItem } from \"./validation/options.ts\";\nimport { validatePluginObject } from \"./validation/plugins.ts\";\nimport { makePluginAPI, makePresetAPI } from \"./helpers/config-api.ts\";\nimport type { PluginAPI, PresetAPI } from \"./helpers/config-api.ts\";\n\nimport loadPrivatePartialConfig from \"./partial.ts\";\nimport type { ValidatedOptions } from \"./validation/options.ts\";\n\nimport type * as Context from \"./cache-contexts.ts\";\nimport ConfigError from \"../errors/config-error.ts\";\n\ntype LoadedDescriptor = {\n value: {};\n options: {};\n dirname: string;\n alias: string;\n externalDependencies: ReadonlyDeepArray;\n};\n\nexport type { InputOptions } from \"./validation/options.ts\";\n\nexport type ResolvedConfig = {\n options: any;\n passes: PluginPasses;\n externalDependencies: ReadonlyDeepArray;\n};\n\nexport type { Plugin };\nexport type PluginPassList = Array;\nexport type PluginPasses = Array;\n\nexport default gensync(function* loadFullConfig(\n inputOpts: unknown,\n): Handler {\n const result = yield* loadPrivatePartialConfig(inputOpts);\n if (!result) {\n return null;\n }\n const { options, context, fileHandling } = result;\n\n if (fileHandling === \"ignored\") {\n return null;\n }\n\n const optionDefaults = {};\n\n const { plugins, presets } = options;\n\n if (!plugins || !presets) {\n throw new Error(\"Assertion failure - plugins and presets exist\");\n }\n\n const presetContext: Context.FullPreset = {\n ...context,\n targets: options.targets,\n };\n\n const toDescriptor = (item: PluginItem) => {\n const desc = getItemDescriptor(item);\n if (!desc) {\n throw new Error(\"Assertion failure - must be config item\");\n }\n\n return desc;\n };\n\n const presetsDescriptors = presets.map(toDescriptor);\n const initialPluginsDescriptors = plugins.map(toDescriptor);\n const pluginDescriptorsByPass: Array>> = [\n [],\n ];\n const passes: Array> = [];\n\n const externalDependencies: DeepArray = [];\n\n const ignored = yield* enhanceError(\n context,\n function* recursePresetDescriptors(\n rawPresets: Array>,\n pluginDescriptorsPass: Array>,\n ): Handler {\n const presets: Array<{\n preset: ConfigChain | null;\n pass: Array>;\n }> = [];\n\n for (let i = 0; i < rawPresets.length; i++) {\n const descriptor = rawPresets[i];\n if (descriptor.options !== false) {\n try {\n // eslint-disable-next-line no-var\n var preset = yield* loadPresetDescriptor(descriptor, presetContext);\n } catch (e) {\n if (e.code === \"BABEL_UNKNOWN_OPTION\") {\n checkNoUnwrappedItemOptionPairs(rawPresets, i, \"preset\", e);\n }\n throw e;\n }\n\n externalDependencies.push(preset.externalDependencies);\n\n // Presets normally run in reverse order, but if they\n // have their own pass they run after the presets\n // in the previous pass.\n if (descriptor.ownPass) {\n presets.push({ preset: preset.chain, pass: [] });\n } else {\n presets.unshift({\n preset: preset.chain,\n pass: pluginDescriptorsPass,\n });\n }\n }\n }\n\n // resolve presets\n if (presets.length > 0) {\n // The passes are created in the same order as the preset list, but are inserted before any\n // existing additional passes.\n pluginDescriptorsByPass.splice(\n 1,\n 0,\n ...presets.map(o => o.pass).filter(p => p !== pluginDescriptorsPass),\n );\n\n for (const { preset, pass } of presets) {\n if (!preset) return true;\n\n pass.push(...preset.plugins);\n\n const ignored = yield* recursePresetDescriptors(preset.presets, pass);\n if (ignored) return true;\n\n preset.options.forEach(opts => {\n mergeOptions(optionDefaults, opts);\n });\n }\n }\n },\n )(presetsDescriptors, pluginDescriptorsByPass[0]);\n\n if (ignored) return null;\n\n const opts: any = optionDefaults;\n mergeOptions(opts, options);\n\n const pluginContext: Context.FullPlugin = {\n ...presetContext,\n assumptions: opts.assumptions ?? {},\n };\n\n yield* enhanceError(context, function* loadPluginDescriptors() {\n pluginDescriptorsByPass[0].unshift(...initialPluginsDescriptors);\n\n for (const descs of pluginDescriptorsByPass) {\n const pass: Plugin[] = [];\n passes.push(pass);\n\n for (let i = 0; i < descs.length; i++) {\n const descriptor = descs[i];\n if (descriptor.options !== false) {\n try {\n // eslint-disable-next-line no-var\n var plugin = yield* loadPluginDescriptor(descriptor, pluginContext);\n } catch (e) {\n if (e.code === \"BABEL_UNKNOWN_PLUGIN_PROPERTY\") {\n // print special message for `plugins: [\"@babel/foo\", { foo: \"option\" }]`\n checkNoUnwrappedItemOptionPairs(descs, i, \"plugin\", e);\n }\n throw e;\n }\n pass.push(plugin);\n\n externalDependencies.push(plugin.externalDependencies);\n }\n }\n }\n })();\n\n opts.plugins = passes[0];\n opts.presets = passes\n .slice(1)\n .filter(plugins => plugins.length > 0)\n .map(plugins => ({ plugins }));\n opts.passPerPreset = opts.presets.length > 0;\n\n return {\n options: opts,\n passes: passes,\n externalDependencies: freezeDeepArray(externalDependencies),\n };\n});\n\nfunction enhanceError(context: ConfigContext, fn: T): T {\n return function* (arg1: unknown, arg2: unknown) {\n try {\n return yield* fn(arg1, arg2);\n } catch (e) {\n // There are a few case where thrown errors will try to annotate themselves multiple times, so\n // to keep things simple we just bail out if re-wrapping the message.\n if (!/^\\[BABEL\\]/.test(e.message)) {\n e.message = `[BABEL] ${context.filename ?? \"unknown file\"}: ${\n e.message\n }`;\n }\n\n throw e;\n }\n } as any;\n}\n\n/**\n * Load a generic plugin/preset from the given descriptor loaded from the config object.\n */\nconst makeDescriptorLoader = (\n apiFactory: (\n cache: CacheConfigurator,\n externalDependencies: Array,\n ) => API,\n) =>\n makeWeakCache(function* (\n { value, options, dirname, alias }: UnloadedDescriptor,\n cache: CacheConfigurator,\n ): Handler {\n // Disabled presets should already have been filtered out\n if (options === false) throw new Error(\"Assertion failure\");\n\n options = options || {};\n\n const externalDependencies: Array = [];\n\n let item: unknown = value;\n if (typeof value === \"function\") {\n const factory = maybeAsync(\n value as (api: API, options: {}, dirname: string) => unknown,\n `You appear to be using an async plugin/preset, but Babel has been called synchronously`,\n );\n\n const api = {\n ...context,\n ...apiFactory(cache, externalDependencies),\n };\n try {\n item = yield* factory(api, options, dirname);\n } catch (e) {\n if (alias) {\n e.message += ` (While processing: ${JSON.stringify(alias)})`;\n }\n throw e;\n }\n }\n\n if (!item || typeof item !== \"object\") {\n throw new Error(\"Plugin/Preset did not return an object.\");\n }\n\n if (isThenable(item)) {\n // @ts-expect-error - if we want to support async plugins\n yield* [];\n\n throw new Error(\n `You appear to be using a promise as a plugin, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, ` +\n `you may need to upgrade your @babel/core version. ` +\n `As an alternative, you can prefix the promise with \"await\". ` +\n `(While processing: ${JSON.stringify(alias)})`,\n );\n }\n\n if (\n externalDependencies.length > 0 &&\n (!cache.configured() || cache.mode() === \"forever\")\n ) {\n let error =\n `A plugin/preset has external untracked dependencies ` +\n `(${externalDependencies[0]}), but the cache `;\n if (!cache.configured()) {\n error += `has not been configured to be invalidated when the external dependencies change. `;\n } else {\n error += ` has been configured to never be invalidated. `;\n }\n error +=\n `Plugins/presets should configure their cache to be invalidated when the external ` +\n `dependencies change, for example using \\`api.cache.invalidate(() => ` +\n `statSync(filepath).mtimeMs)\\` or \\`api.cache.never()\\`\\n` +\n `(While processing: ${JSON.stringify(alias)})`;\n\n throw new Error(error);\n }\n\n return {\n value: item,\n options,\n dirname,\n alias,\n externalDependencies: freezeDeepArray(externalDependencies),\n };\n });\n\nconst pluginDescriptorLoader = makeDescriptorLoader<\n Context.SimplePlugin,\n PluginAPI\n>(makePluginAPI);\nconst presetDescriptorLoader = makeDescriptorLoader<\n Context.SimplePreset,\n PresetAPI\n>(makePresetAPI);\n\nconst instantiatePlugin = makeWeakCache(function* (\n { value, options, dirname, alias, externalDependencies }: LoadedDescriptor,\n cache: CacheConfigurator,\n): Handler {\n const pluginObj = validatePluginObject(value);\n\n const plugin = {\n ...pluginObj,\n };\n if (plugin.visitor) {\n plugin.visitor = traverse.explode({\n ...plugin.visitor,\n });\n }\n\n if (plugin.inherits) {\n const inheritsDescriptor: UnloadedDescriptor = {\n name: undefined,\n alias: `${alias}$inherits`,\n value: plugin.inherits,\n options,\n dirname,\n };\n\n const inherits = yield* forwardAsync(loadPluginDescriptor, run => {\n // If the inherited plugin changes, reinstantiate this plugin.\n return cache.invalidate(data => run(inheritsDescriptor, data));\n });\n\n plugin.pre = chain(inherits.pre, plugin.pre);\n plugin.post = chain(inherits.post, plugin.post);\n plugin.manipulateOptions = chain(\n inherits.manipulateOptions,\n plugin.manipulateOptions,\n );\n plugin.visitor = traverse.visitors.merge([\n inherits.visitor || {},\n plugin.visitor || {},\n ]);\n\n if (inherits.externalDependencies.length > 0) {\n if (externalDependencies.length === 0) {\n externalDependencies = inherits.externalDependencies;\n } else {\n externalDependencies = freezeDeepArray([\n externalDependencies,\n inherits.externalDependencies,\n ]);\n }\n }\n }\n\n return new Plugin(plugin, options, alias, externalDependencies);\n});\n\n/**\n * Instantiate a plugin for the given descriptor, returning the plugin/options pair.\n */\nfunction* loadPluginDescriptor(\n descriptor: UnloadedDescriptor,\n context: Context.SimplePlugin,\n): Handler {\n if (descriptor.value instanceof Plugin) {\n if (descriptor.options) {\n throw new Error(\n \"Passed options to an existing Plugin instance will not work.\",\n );\n }\n\n return descriptor.value;\n }\n\n return yield* instantiatePlugin(\n yield* pluginDescriptorLoader(descriptor, context),\n context,\n );\n}\n\nconst needsFilename = (val: unknown) => val && typeof val !== \"function\";\n\nconst validateIfOptionNeedsFilename = (\n options: ValidatedOptions,\n descriptor: UnloadedDescriptor,\n): void => {\n if (\n needsFilename(options.test) ||\n needsFilename(options.include) ||\n needsFilename(options.exclude)\n ) {\n const formattedPresetName = descriptor.name\n ? `\"${descriptor.name}\"`\n : \"/* your preset */\";\n throw new ConfigError(\n [\n `Preset ${formattedPresetName} requires a filename to be set when babel is called directly,`,\n `\\`\\`\\``,\n `babel.transformSync(code, { filename: 'file.ts', presets: [${formattedPresetName}] });`,\n `\\`\\`\\``,\n `See https://babeljs.io/docs/en/options#filename for more information.`,\n ].join(\"\\n\"),\n );\n }\n};\n\nconst validatePreset = (\n preset: PresetInstance,\n context: ConfigContext,\n descriptor: UnloadedDescriptor,\n): void => {\n if (!context.filename) {\n const { options } = preset;\n validateIfOptionNeedsFilename(options, descriptor);\n options.overrides?.forEach(overrideOptions =>\n validateIfOptionNeedsFilename(overrideOptions, descriptor),\n );\n }\n};\n\nconst instantiatePreset = makeWeakCacheSync(\n ({\n value,\n dirname,\n alias,\n externalDependencies,\n }: LoadedDescriptor): PresetInstance => {\n return {\n options: validate(\"preset\", value),\n alias,\n dirname,\n externalDependencies,\n };\n },\n);\n\n/**\n * Generate a config object that will act as the root of a new nested config.\n */\nfunction* loadPresetDescriptor(\n descriptor: UnloadedDescriptor,\n context: Context.FullPreset,\n): Handler<{\n chain: ConfigChain | null;\n externalDependencies: ReadonlyDeepArray;\n}> {\n const preset = instantiatePreset(\n yield* presetDescriptorLoader(descriptor, context),\n );\n validatePreset(preset, context, descriptor);\n return {\n chain: yield* buildPresetChain(preset, context),\n externalDependencies: preset.externalDependencies,\n };\n}\n\nfunction chain(\n a: undefined | ((...args: Args) => void),\n b: undefined | ((...args: Args) => void),\n) {\n const fns = [a, b].filter(Boolean);\n if (fns.length <= 1) return fns[0];\n\n return function (this: unknown, ...args: unknown[]) {\n for (const fn of fns) {\n fn.apply(this, args);\n }\n };\n}\n","import gensync, { type Handler } from \"gensync\";\n\nexport type {\n ResolvedConfig,\n InputOptions,\n PluginPasses,\n Plugin,\n} from \"./full.ts\";\n\nimport type { PluginTarget } from \"./validation/options.ts\";\n\nimport type {\n PluginAPI as basePluginAPI,\n PresetAPI as basePresetAPI,\n} from \"./helpers/config-api.ts\";\nexport type { PluginObject } from \"./validation/plugins.ts\";\ntype PluginAPI = basePluginAPI & typeof import(\"..\");\ntype PresetAPI = basePresetAPI & typeof import(\"..\");\nexport type { PluginAPI, PresetAPI };\n// todo: may need to refine PresetObject to be a subset of ValidatedOptions\nexport type {\n CallerMetadata,\n ValidatedOptions as PresetObject,\n} from \"./validation/options.ts\";\n\nimport loadFullConfig, { type ResolvedConfig } from \"./full.ts\";\nimport {\n type PartialConfig,\n loadPartialConfig as loadPartialConfigImpl,\n} from \"./partial.ts\";\n\nexport { loadFullConfig as default };\nexport type { PartialConfig } from \"./partial.ts\";\n\nimport { createConfigItem as createConfigItemImpl } from \"./item.ts\";\nimport type { ConfigItem } from \"./item.ts\";\n\nimport { beginHiddenCallStack } from \"../errors/rewrite-stack-trace.ts\";\n\nconst loadPartialConfigRunner = gensync(loadPartialConfigImpl);\nexport function loadPartialConfigAsync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(loadPartialConfigRunner.async)(...args);\n}\nexport function loadPartialConfigSync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(loadPartialConfigRunner.sync)(...args);\n}\nexport function loadPartialConfig(\n opts: Parameters[0],\n callback?: (err: Error, val: PartialConfig | null) => void,\n) {\n if (callback !== undefined) {\n beginHiddenCallStack(loadPartialConfigRunner.errback)(opts, callback);\n } else if (typeof opts === \"function\") {\n beginHiddenCallStack(loadPartialConfigRunner.errback)(\n undefined,\n opts as (err: Error, val: PartialConfig | null) => void,\n );\n } else {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Starting from Babel 8.0.0, the 'loadPartialConfig' function expects a callback. If you need to call it synchronously, please use 'loadPartialConfigSync'.\",\n );\n } else {\n return loadPartialConfigSync(opts);\n }\n }\n}\n\nfunction* loadOptionsImpl(opts: unknown): Handler {\n const config = yield* loadFullConfig(opts);\n // NOTE: We want to return \"null\" explicitly, while ?. alone returns undefined\n return config?.options ?? null;\n}\nconst loadOptionsRunner = gensync(loadOptionsImpl);\nexport function loadOptionsAsync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(loadOptionsRunner.async)(...args);\n}\nexport function loadOptionsSync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(loadOptionsRunner.sync)(...args);\n}\nexport function loadOptions(\n opts: Parameters[0],\n callback?: (err: Error, val: ResolvedConfig | null) => void,\n) {\n if (callback !== undefined) {\n beginHiddenCallStack(loadOptionsRunner.errback)(opts, callback);\n } else if (typeof opts === \"function\") {\n beginHiddenCallStack(loadOptionsRunner.errback)(\n undefined,\n opts as (err: Error, val: ResolvedConfig | null) => void,\n );\n } else {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Starting from Babel 8.0.0, the 'loadOptions' function expects a callback. If you need to call it synchronously, please use 'loadOptionsSync'.\",\n );\n } else {\n return loadOptionsSync(opts);\n }\n }\n}\n\nconst createConfigItemRunner = gensync(createConfigItemImpl);\nexport function createConfigItemAsync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(createConfigItemRunner.async)(...args);\n}\nexport function createConfigItemSync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(createConfigItemRunner.sync)(...args);\n}\nexport function createConfigItem(\n target: PluginTarget,\n options: Parameters[1],\n callback?: (err: Error, val: ConfigItem | null) => void,\n) {\n if (callback !== undefined) {\n beginHiddenCallStack(createConfigItemRunner.errback)(\n target,\n options,\n callback,\n );\n } else if (typeof options === \"function\") {\n beginHiddenCallStack(createConfigItemRunner.errback)(\n target,\n undefined,\n callback,\n );\n } else {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Starting from Babel 8.0.0, the 'createConfigItem' function expects a callback. If you need to call it synchronously, please use 'createConfigItemSync'.\",\n );\n } else {\n return createConfigItemSync(target, options);\n }\n }\n}\n","import traverse from \"@babel/traverse\";\nimport type { Statement } from \"@babel/types\";\nimport type { PluginObject } from \"../config/index.ts\";\nimport Plugin from \"../config/plugin.ts\";\n\nlet LOADED_PLUGIN: Plugin | void;\n\nconst blockHoistPlugin: PluginObject = {\n /**\n * [Please add a description.]\n *\n * Priority:\n *\n * - 0 We want this to be at the **very** bottom\n * - 1 Default node position\n * - 2 Priority over normal nodes\n * - 3 We want this to be at the **very** top\n * - 4 Reserved for the helpers used to implement module imports.\n */\n\n name: \"internal.blockHoist\",\n\n visitor: {\n Block: {\n exit({ node }) {\n const { body } = node;\n\n // Largest SMI\n let max = 2 ** 30 - 1;\n let hasChange = false;\n for (let i = 0; i < body.length; i++) {\n const n = body[i];\n const p = priority(n);\n if (p > max) {\n hasChange = true;\n break;\n }\n max = p;\n }\n if (!hasChange) return;\n\n // My kingdom for a stable sort!\n node.body = stableSort(body.slice());\n },\n },\n },\n};\n\nexport default function loadBlockHoistPlugin(): Plugin {\n if (!LOADED_PLUGIN) {\n // cache the loaded blockHoist plugin plugin\n LOADED_PLUGIN = new Plugin(\n {\n ...blockHoistPlugin,\n visitor: traverse.explode(blockHoistPlugin.visitor),\n },\n {},\n );\n }\n\n return LOADED_PLUGIN;\n}\n\nfunction priority(bodyNode: Statement & { _blockHoist?: number | true }) {\n const priority = bodyNode?._blockHoist;\n if (priority == null) return 1;\n if (priority === true) return 2;\n return priority;\n}\n\nfunction stableSort(body: Statement[]) {\n // By default, we use priorities of 0-4.\n const buckets = Object.create(null);\n\n // By collecting into buckets, we can guarantee a stable sort.\n for (let i = 0; i < body.length; i++) {\n const n = body[i];\n const p = priority(n);\n\n // In case some plugin is setting an unexpected priority.\n const bucket = buckets[p] || (buckets[p] = []);\n bucket.push(n);\n }\n\n // Sort our keys in descending order. Keys are unique, so we don't have to\n // worry about stability.\n const keys = Object.keys(buckets)\n .map(k => +k)\n .sort((a, b) => b - a);\n\n let index = 0;\n for (const key of keys) {\n const bucket = buckets[key];\n for (const n of bucket) {\n body[index++] = n;\n }\n }\n return body;\n}\n","import type File from \"./file/file.ts\";\nimport type { NodeLocation } from \"./file/file.ts\";\n\nexport default class PluginPass {\n _map: Map = new Map();\n key: string | undefined | null;\n file: File;\n opts: Partial;\n\n // The working directory that Babel's programmatic options are loaded\n // relative to.\n cwd: string;\n\n // The absolute path of the file being compiled.\n filename: string | void;\n\n constructor(file: File, key?: string | null, options?: Options) {\n this.key = key;\n this.file = file;\n this.opts = options || {};\n this.cwd = file.opts.cwd;\n this.filename = file.opts.filename;\n }\n\n set(key: unknown, val: unknown) {\n this._map.set(key, val);\n }\n\n get(key: unknown): any {\n return this._map.get(key);\n }\n\n availableHelper(name: string, versionRange?: string | null) {\n return this.file.availableHelper(name, versionRange);\n }\n\n addHelper(name: string) {\n return this.file.addHelper(name);\n }\n\n buildCodeFrameError(\n node: NodeLocation | undefined | null,\n msg: string,\n _Error?: typeof Error,\n ) {\n return this.file.buildCodeFrameError(node, msg, _Error);\n }\n}\n\nif (!process.env.BABEL_8_BREAKING) {\n (PluginPass as any).prototype.getModuleName = function getModuleName(\n this: PluginPass,\n ): string | undefined {\n return this.file.getModuleName();\n };\n (PluginPass as any).prototype.addImport = function addImport(\n this: PluginPass,\n ): void {\n this.file.addImport();\n };\n}\n","import path from \"path\";\nimport type { ResolvedConfig } from \"../config/index.ts\";\n\nexport default function normalizeOptions(config: ResolvedConfig): {} {\n const {\n filename,\n cwd,\n filenameRelative = typeof filename === \"string\"\n ? path.relative(cwd, filename)\n : \"unknown\",\n sourceType = \"module\",\n inputSourceMap,\n sourceMaps = !!inputSourceMap,\n sourceRoot = process.env.BABEL_8_BREAKING\n ? undefined\n : config.options.moduleRoot,\n\n sourceFileName = path.basename(filenameRelative),\n\n comments = true,\n compact = \"auto\",\n } = config.options;\n\n const opts = config.options;\n\n const options = {\n ...opts,\n\n parserOpts: {\n sourceType:\n path.extname(filenameRelative) === \".mjs\" ? \"module\" : sourceType,\n\n sourceFileName: filename,\n plugins: [],\n ...opts.parserOpts,\n },\n\n generatorOpts: {\n // General generator flags.\n filename,\n\n auxiliaryCommentBefore: opts.auxiliaryCommentBefore,\n auxiliaryCommentAfter: opts.auxiliaryCommentAfter,\n retainLines: opts.retainLines,\n comments,\n shouldPrintComment: opts.shouldPrintComment,\n compact,\n minified: opts.minified,\n\n // Source-map generation flags.\n sourceMaps,\n\n sourceRoot,\n sourceFileName,\n ...opts.generatorOpts,\n },\n };\n\n for (const plugins of config.passes) {\n for (const plugin of plugins) {\n if (plugin.manipulateOptions) {\n plugin.manipulateOptions(options, options.parserOpts);\n }\n }\n }\n\n return options;\n}\n","'use strict';\n\nObject.defineProperty(exports, 'commentRegex', {\n get: function getCommentRegex () {\n // Groups: 1: media type, 2: MIME type, 3: charset, 4: encoding, 5: data.\n return /^\\s*?\\/[\\/\\*][@#]\\s+?sourceMappingURL=data:(((?:application|text)\\/json)(?:;charset=([^;,]+?)?)?)?(?:;(base64))?,(.*?)$/mg;\n }\n});\n\n\nObject.defineProperty(exports, 'mapFileCommentRegex', {\n get: function getMapFileCommentRegex () {\n // Matches sourceMappingURL in either // or /* comment styles.\n return /(?:\\/\\/[@#][ \\t]+?sourceMappingURL=([^\\s'\"`]+?)[ \\t]*?$)|(?:\\/\\*[@#][ \\t]+sourceMappingURL=([^*]+?)[ \\t]*?(?:\\*\\/){1}[ \\t]*?$)/mg;\n }\n});\n\nvar decodeBase64;\nif (typeof Buffer !== 'undefined') {\n if (typeof Buffer.from === 'function') {\n decodeBase64 = decodeBase64WithBufferFrom;\n } else {\n decodeBase64 = decodeBase64WithNewBuffer;\n }\n} else {\n decodeBase64 = decodeBase64WithAtob;\n}\n\nfunction decodeBase64WithBufferFrom(base64) {\n return Buffer.from(base64, 'base64').toString();\n}\n\nfunction decodeBase64WithNewBuffer(base64) {\n if (typeof value === 'number') {\n throw new TypeError('The value to decode must not be of type number.');\n }\n return new Buffer(base64, 'base64').toString();\n}\n\nfunction decodeBase64WithAtob(base64) {\n return decodeURIComponent(escape(atob(base64)));\n}\n\nfunction stripComment(sm) {\n return sm.split(',').pop();\n}\n\nfunction readFromFileMap(sm, read) {\n var r = exports.mapFileCommentRegex.exec(sm);\n // for some odd reason //# .. captures in 1 and /* .. */ in 2\n var filename = r[1] || r[2];\n\n try {\n var sm = read(filename);\n if (sm != null && typeof sm.catch === 'function') {\n return sm.catch(throwError);\n } else {\n return sm;\n }\n } catch (e) {\n throwError(e);\n }\n\n function throwError(e) {\n throw new Error('An error occurred while trying to read the map file at ' + filename + '\\n' + e.stack);\n }\n}\n\nfunction Converter (sm, opts) {\n opts = opts || {};\n\n if (opts.hasComment) {\n sm = stripComment(sm);\n }\n\n if (opts.encoding === 'base64') {\n sm = decodeBase64(sm);\n } else if (opts.encoding === 'uri') {\n sm = decodeURIComponent(sm);\n }\n\n if (opts.isJSON || opts.encoding) {\n sm = JSON.parse(sm);\n }\n\n this.sourcemap = sm;\n}\n\nConverter.prototype.toJSON = function (space) {\n return JSON.stringify(this.sourcemap, null, space);\n};\n\nif (typeof Buffer !== 'undefined') {\n if (typeof Buffer.from === 'function') {\n Converter.prototype.toBase64 = encodeBase64WithBufferFrom;\n } else {\n Converter.prototype.toBase64 = encodeBase64WithNewBuffer;\n }\n} else {\n Converter.prototype.toBase64 = encodeBase64WithBtoa;\n}\n\nfunction encodeBase64WithBufferFrom() {\n var json = this.toJSON();\n return Buffer.from(json, 'utf8').toString('base64');\n}\n\nfunction encodeBase64WithNewBuffer() {\n var json = this.toJSON();\n if (typeof json === 'number') {\n throw new TypeError('The json to encode must not be of type number.');\n }\n return new Buffer(json, 'utf8').toString('base64');\n}\n\nfunction encodeBase64WithBtoa() {\n var json = this.toJSON();\n return btoa(unescape(encodeURIComponent(json)));\n}\n\nConverter.prototype.toURI = function () {\n var json = this.toJSON();\n return encodeURIComponent(json);\n};\n\nConverter.prototype.toComment = function (options) {\n var encoding, content, data;\n if (options != null && options.encoding === 'uri') {\n encoding = '';\n content = this.toURI();\n } else {\n encoding = ';base64';\n content = this.toBase64();\n }\n data = 'sourceMappingURL=data:application/json;charset=utf-8' + encoding + ',' + content;\n return options != null && options.multiline ? '/*# ' + data + ' */' : '//# ' + data;\n};\n\n// returns copy instead of original\nConverter.prototype.toObject = function () {\n return JSON.parse(this.toJSON());\n};\n\nConverter.prototype.addProperty = function (key, value) {\n if (this.sourcemap.hasOwnProperty(key)) throw new Error('property \"' + key + '\" already exists on the sourcemap, use set property instead');\n return this.setProperty(key, value);\n};\n\nConverter.prototype.setProperty = function (key, value) {\n this.sourcemap[key] = value;\n return this;\n};\n\nConverter.prototype.getProperty = function (key) {\n return this.sourcemap[key];\n};\n\nexports.fromObject = function (obj) {\n return new Converter(obj);\n};\n\nexports.fromJSON = function (json) {\n return new Converter(json, { isJSON: true });\n};\n\nexports.fromURI = function (uri) {\n return new Converter(uri, { encoding: 'uri' });\n};\n\nexports.fromBase64 = function (base64) {\n return new Converter(base64, { encoding: 'base64' });\n};\n\nexports.fromComment = function (comment) {\n var m, encoding;\n comment = comment\n .replace(/^\\/\\*/g, '//')\n .replace(/\\*\\/$/g, '');\n m = exports.commentRegex.exec(comment);\n encoding = m && m[4] || 'uri';\n return new Converter(comment, { encoding: encoding, hasComment: true });\n};\n\nfunction makeConverter(sm) {\n return new Converter(sm, { isJSON: true });\n}\n\nexports.fromMapFileComment = function (comment, read) {\n if (typeof read === 'string') {\n throw new Error(\n 'String directory paths are no longer supported with `fromMapFileComment`\\n' +\n 'Please review the Upgrading documentation at https://github.com/thlorenz/convert-source-map#upgrading'\n )\n }\n\n var sm = readFromFileMap(comment, read);\n if (sm != null && typeof sm.then === 'function') {\n return sm.then(makeConverter);\n } else {\n return makeConverter(sm);\n }\n};\n\n// Finds last sourcemap comment in file or returns null if none was found\nexports.fromSource = function (content) {\n var m = content.match(exports.commentRegex);\n return m ? exports.fromComment(m.pop()) : null;\n};\n\n// Finds last sourcemap comment in file or returns null if none was found\nexports.fromMapFileSource = function (content, read) {\n if (typeof read === 'string') {\n throw new Error(\n 'String directory paths are no longer supported with `fromMapFileSource`\\n' +\n 'Please review the Upgrading documentation at https://github.com/thlorenz/convert-source-map#upgrading'\n )\n }\n var m = content.match(exports.mapFileCommentRegex);\n return m ? exports.fromMapFileComment(m.pop(), read) : null;\n};\n\nexports.removeComments = function (src) {\n return src.replace(exports.commentRegex, '');\n};\n\nexports.removeMapFileComments = function (src) {\n return src.replace(exports.mapFileCommentRegex, '');\n};\n\nexports.generateMapFileComment = function (file, options) {\n var data = 'sourceMappingURL=' + file;\n return options && options.multiline ? '/*# ' + data + ' */' : '//# ' + data;\n};\n","const pluginNameMap: Record<\n string,\n Partial>>\n> = {\n asyncDoExpressions: {\n syntax: {\n name: \"@babel/plugin-syntax-async-do-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-async-do-expressions\",\n },\n },\n decimal: {\n syntax: {\n name: \"@babel/plugin-syntax-decimal\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-decimal\",\n },\n },\n decorators: {\n syntax: {\n name: \"@babel/plugin-syntax-decorators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-decorators\",\n },\n transform: {\n name: \"@babel/plugin-proposal-decorators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-decorators\",\n },\n },\n doExpressions: {\n syntax: {\n name: \"@babel/plugin-syntax-do-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-do-expressions\",\n },\n transform: {\n name: \"@babel/plugin-proposal-do-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-do-expressions\",\n },\n },\n exportDefaultFrom: {\n syntax: {\n name: \"@babel/plugin-syntax-export-default-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-export-default-from\",\n },\n transform: {\n name: \"@babel/plugin-proposal-export-default-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-export-default-from\",\n },\n },\n flow: {\n syntax: {\n name: \"@babel/plugin-syntax-flow\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-flow\",\n },\n transform: {\n name: \"@babel/preset-flow\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-preset-flow\",\n },\n },\n functionBind: {\n syntax: {\n name: \"@babel/plugin-syntax-function-bind\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-function-bind\",\n },\n transform: {\n name: \"@babel/plugin-proposal-function-bind\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-function-bind\",\n },\n },\n functionSent: {\n syntax: {\n name: \"@babel/plugin-syntax-function-sent\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-function-sent\",\n },\n transform: {\n name: \"@babel/plugin-proposal-function-sent\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-function-sent\",\n },\n },\n jsx: {\n syntax: {\n name: \"@babel/plugin-syntax-jsx\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-jsx\",\n },\n transform: {\n name: \"@babel/preset-react\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-preset-react\",\n },\n },\n importAttributes: {\n syntax: {\n name: \"@babel/plugin-syntax-import-attributes\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-attributes\",\n },\n },\n pipelineOperator: {\n syntax: {\n name: \"@babel/plugin-syntax-pipeline-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-pipeline-operator\",\n },\n transform: {\n name: \"@babel/plugin-proposal-pipeline-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-pipeline-operator\",\n },\n },\n recordAndTuple: {\n syntax: {\n name: \"@babel/plugin-syntax-record-and-tuple\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-record-and-tuple\",\n },\n },\n throwExpressions: {\n syntax: {\n name: \"@babel/plugin-syntax-throw-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-throw-expressions\",\n },\n transform: {\n name: \"@babel/plugin-proposal-throw-expressions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-throw-expressions\",\n },\n },\n typescript: {\n syntax: {\n name: \"@babel/plugin-syntax-typescript\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-typescript\",\n },\n transform: {\n name: \"@babel/preset-typescript\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-preset-typescript\",\n },\n },\n};\n\nif (!process.env.BABEL_8_BREAKING) {\n // TODO: This plugins are now supported by default by @babel/parser.\n Object.assign(pluginNameMap, {\n asyncGenerators: {\n syntax: {\n name: \"@babel/plugin-syntax-async-generators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-async-generators\",\n },\n transform: {\n name: \"@babel/plugin-transform-async-generator-functions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-async-generator-functions\",\n },\n },\n classProperties: {\n syntax: {\n name: \"@babel/plugin-syntax-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties\",\n },\n transform: {\n name: \"@babel/plugin-transform-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-class-properties\",\n },\n },\n classPrivateProperties: {\n syntax: {\n name: \"@babel/plugin-syntax-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties\",\n },\n transform: {\n name: \"@babel/plugin-transform-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-class-properties\",\n },\n },\n classPrivateMethods: {\n syntax: {\n name: \"@babel/plugin-syntax-class-properties\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties\",\n },\n transform: {\n name: \"@babel/plugin-transform-private-methods\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-private-methods\",\n },\n },\n classStaticBlock: {\n syntax: {\n name: \"@babel/plugin-syntax-class-static-block\",\n url: \"https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-syntax-class-static-block\",\n },\n transform: {\n name: \"@babel/plugin-transform-class-static-block\",\n url: \"https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-class-static-block\",\n },\n },\n dynamicImport: {\n syntax: {\n name: \"@babel/plugin-syntax-dynamic-import\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-dynamic-import\",\n },\n },\n exportNamespaceFrom: {\n syntax: {\n name: \"@babel/plugin-syntax-export-namespace-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-export-namespace-from\",\n },\n transform: {\n name: \"@babel/plugin-transform-export-namespace-from\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-export-namespace-from\",\n },\n },\n // Will be removed\n importAssertions: {\n syntax: {\n name: \"@babel/plugin-syntax-import-assertions\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-assertions\",\n },\n },\n importMeta: {\n syntax: {\n name: \"@babel/plugin-syntax-import-meta\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-meta\",\n },\n },\n logicalAssignment: {\n syntax: {\n name: \"@babel/plugin-syntax-logical-assignment-operators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-logical-assignment-operators\",\n },\n transform: {\n name: \"@babel/plugin-transform-logical-assignment-operators\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-logical-assignment-operators\",\n },\n },\n moduleStringNames: {\n syntax: {\n name: \"@babel/plugin-syntax-module-string-names\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-module-string-names\",\n },\n },\n numericSeparator: {\n syntax: {\n name: \"@babel/plugin-syntax-numeric-separator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-numeric-separator\",\n },\n transform: {\n name: \"@babel/plugin-transform-numeric-separator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-numeric-separator\",\n },\n },\n nullishCoalescingOperator: {\n syntax: {\n name: \"@babel/plugin-syntax-nullish-coalescing-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-nullish-coalescing-operator\",\n },\n transform: {\n name: \"@babel/plugin-transform-nullish-coalescing-operator\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-nullish-coalescing-opearator\",\n },\n },\n objectRestSpread: {\n syntax: {\n name: \"@babel/plugin-syntax-object-rest-spread\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-object-rest-spread\",\n },\n transform: {\n name: \"@babel/plugin-transform-object-rest-spread\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-object-rest-spread\",\n },\n },\n optionalCatchBinding: {\n syntax: {\n name: \"@babel/plugin-syntax-optional-catch-binding\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-catch-binding\",\n },\n transform: {\n name: \"@babel/plugin-transform-optional-catch-binding\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-optional-catch-binding\",\n },\n },\n optionalChaining: {\n syntax: {\n name: \"@babel/plugin-syntax-optional-chaining\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-chaining\",\n },\n transform: {\n name: \"@babel/plugin-transform-optional-chaining\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-optional-chaining\",\n },\n },\n privateIn: {\n syntax: {\n name: \"@babel/plugin-syntax-private-property-in-object\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-private-property-in-object\",\n },\n transform: {\n name: \"@babel/plugin-transform-private-property-in-object\",\n url: \"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-private-property-in-object\",\n },\n },\n regexpUnicodeSets: {\n syntax: {\n name: \"@babel/plugin-syntax-unicode-sets-regex\",\n url: \"https://github.com/babel/babel/blob/main/packages/babel-plugin-syntax-unicode-sets-regex/README.md\",\n },\n transform: {\n name: \"@babel/plugin-transform-unicode-sets-regex\",\n url: \"https://github.com/babel/babel/blob/main/packages/babel-plugin-proposalunicode-sets-regex/README.md\",\n },\n },\n });\n}\n\nconst getNameURLCombination = ({ name, url }: { name: string; url: string }) =>\n `${name} (${url})`;\n\n/*\nReturns a string of the format:\nSupport for the experimental syntax [@babel/parser plugin name] isn't currently enabled ([loc]):\n\n[code frame]\n\nAdd [npm package name] ([url]) to the 'plugins' section of your Babel config\nto enable [parsing|transformation].\n*/\nexport default function generateMissingPluginMessage(\n missingPluginName: string,\n loc: {\n line: number;\n column: number;\n },\n codeFrame: string,\n): string {\n let helpMessage =\n `Support for the experimental syntax '${missingPluginName}' isn't currently enabled ` +\n `(${loc.line}:${loc.column + 1}):\\n\\n` +\n codeFrame;\n const pluginInfo = pluginNameMap[missingPluginName];\n if (pluginInfo) {\n const { syntax: syntaxPlugin, transform: transformPlugin } = pluginInfo;\n if (syntaxPlugin) {\n const syntaxPluginInfo = getNameURLCombination(syntaxPlugin);\n if (transformPlugin) {\n const transformPluginInfo = getNameURLCombination(transformPlugin);\n const sectionType = transformPlugin.name.startsWith(\"@babel/plugin\")\n ? \"plugins\"\n : \"presets\";\n helpMessage += `\\n\\nAdd ${transformPluginInfo} to the '${sectionType}' section of your Babel config to enable transformation.\nIf you want to leave it as-is, add ${syntaxPluginInfo} to the 'plugins' section to enable parsing.`;\n } else {\n helpMessage +=\n `\\n\\nAdd ${syntaxPluginInfo} to the 'plugins' section of your Babel config ` +\n `to enable parsing.`;\n }\n }\n }\n return helpMessage;\n}\n","import type { Handler } from \"gensync\";\nimport { parse } from \"@babel/parser\";\nimport { codeFrameColumns } from \"@babel/code-frame\";\nimport generateMissingPluginMessage from \"./util/missing-plugin-helper.ts\";\nimport type { PluginPasses } from \"../config/index.ts\";\n\nexport type ParseResult = ReturnType;\n\nexport default function* parser(\n pluginPasses: PluginPasses,\n { parserOpts, highlightCode = true, filename = \"unknown\" }: any,\n code: string,\n): Handler {\n try {\n const results = [];\n for (const plugins of pluginPasses) {\n for (const plugin of plugins) {\n const { parserOverride } = plugin;\n if (parserOverride) {\n const ast = parserOverride(code, parserOpts, parse);\n\n if (ast !== undefined) results.push(ast);\n }\n }\n }\n\n if (results.length === 0) {\n return parse(code, parserOpts);\n } else if (results.length === 1) {\n // @ts-expect-error - If we want to allow async parsers\n yield* [];\n if (typeof results[0].then === \"function\") {\n throw new Error(\n `You appear to be using an async parser plugin, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, you may need to upgrade ` +\n `your @babel/core version.`,\n );\n }\n return results[0];\n }\n // TODO: Add an error code\n throw new Error(\"More than one plugin attempted to override parsing.\");\n } catch (err) {\n if (err.code === \"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED\") {\n err.message +=\n \"\\nConsider renaming the file to '.mjs', or setting sourceType:module \" +\n \"or sourceType:unambiguous in your Babel config for this file.\";\n // err.code will be changed to BABEL_PARSE_ERROR later.\n }\n\n const { loc, missingPlugin } = err;\n if (loc) {\n const codeFrame = codeFrameColumns(\n code,\n {\n start: {\n line: loc.line,\n column: loc.column + 1,\n },\n },\n {\n highlightCode,\n },\n );\n if (missingPlugin) {\n err.message =\n `${filename}: ` +\n generateMissingPluginMessage(missingPlugin[0], loc, codeFrame);\n } else {\n err.message = `${filename}: ${err.message}\\n\\n` + codeFrame;\n }\n err.code = \"BABEL_PARSE_ERROR\";\n }\n throw err;\n }\n}\n","//https://github.com/babel/babel/pull/14583#discussion_r882828856\nfunction deepClone(value: any, cache: Map): any {\n if (value !== null) {\n if (cache.has(value)) return cache.get(value);\n let cloned: any;\n if (Array.isArray(value)) {\n cloned = new Array(value.length);\n cache.set(value, cloned);\n for (let i = 0; i < value.length; i++) {\n cloned[i] =\n typeof value[i] !== \"object\" ? value[i] : deepClone(value[i], cache);\n }\n } else {\n cloned = {};\n cache.set(value, cloned);\n const keys = Object.keys(value);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n cloned[key] =\n typeof value[key] !== \"object\"\n ? value[key]\n : deepClone(value[key], cache);\n }\n }\n return cloned;\n }\n return value;\n}\n\nexport default function (value: T): T {\n if (typeof value !== \"object\") return value;\n return deepClone(value, new Map());\n}\n","import fs from \"fs\";\nimport path from \"path\";\nimport buildDebug from \"debug\";\nimport type { Handler } from \"gensync\";\nimport { file, traverseFast } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport type { PluginPasses } from \"../config/index.ts\";\nimport convertSourceMap from \"convert-source-map\";\nimport type { SourceMapConverter as Converter } from \"convert-source-map\";\nimport File from \"./file/file.ts\";\nimport parser from \"../parser/index.ts\";\nimport cloneDeep from \"./util/clone-deep.ts\";\n\nconst debug = buildDebug(\"babel:transform:file\");\n\n// These regexps are copied from the convert-source-map package,\n// but without // or /* at the beginning of the comment.\n\nconst INLINE_SOURCEMAP_REGEX =\n /^[@#]\\s+sourceMappingURL=data:(?:application|text)\\/json;(?:charset[:=]\\S+?;)?base64,(?:.*)$/;\nconst EXTERNAL_SOURCEMAP_REGEX =\n /^[@#][ \\t]+sourceMappingURL=([^\\s'\"`]+)[ \\t]*$/;\n\nexport type NormalizedFile = {\n code: string;\n ast: t.File;\n inputMap: Converter | null;\n};\n\nexport default function* normalizeFile(\n pluginPasses: PluginPasses,\n options: { [key: string]: any },\n code: string,\n ast?: t.File | t.Program | null,\n): Handler {\n code = `${code || \"\"}`;\n\n if (ast) {\n if (ast.type === \"Program\") {\n ast = file(ast, [], []);\n } else if (ast.type !== \"File\") {\n throw new Error(\"AST root must be a Program or File node\");\n }\n\n if (options.cloneInputAst) {\n ast = cloneDeep(ast);\n }\n } else {\n // @ts-expect-error todo: use babel-types ast typings in Babel parser\n ast = yield* parser(pluginPasses, options, code);\n }\n\n let inputMap = null;\n if (options.inputSourceMap !== false) {\n // If an explicit object is passed in, it overrides the processing of\n // source maps that may be in the file itself.\n if (typeof options.inputSourceMap === \"object\") {\n inputMap = convertSourceMap.fromObject(options.inputSourceMap);\n }\n\n if (!inputMap) {\n const lastComment = extractComments(INLINE_SOURCEMAP_REGEX, ast);\n if (lastComment) {\n try {\n inputMap = convertSourceMap.fromComment(\"//\" + lastComment);\n } catch (err) {\n if (process.env.BABEL_8_BREAKING) {\n console.warn(\n \"discarding unknown inline input sourcemap\",\n options.filename,\n err,\n );\n } else {\n debug(\"discarding unknown inline input sourcemap\");\n }\n }\n }\n }\n\n if (!inputMap) {\n const lastComment = extractComments(EXTERNAL_SOURCEMAP_REGEX, ast);\n if (typeof options.filename === \"string\" && lastComment) {\n try {\n // when `lastComment` is non-null, EXTERNAL_SOURCEMAP_REGEX must have matches\n const match: [string, string] = EXTERNAL_SOURCEMAP_REGEX.exec(\n lastComment,\n ) as any;\n const inputMapContent = fs.readFileSync(\n path.resolve(path.dirname(options.filename), match[1]),\n \"utf8\",\n );\n inputMap = convertSourceMap.fromJSON(inputMapContent);\n } catch (err) {\n debug(\"discarding unknown file input sourcemap\", err);\n }\n } else if (lastComment) {\n debug(\"discarding un-loadable file input sourcemap\");\n }\n }\n }\n\n return new File(options, {\n code,\n ast: ast as t.File,\n inputMap,\n });\n}\n\nfunction extractCommentsFromList(\n regex: RegExp,\n comments: t.Comment[],\n lastComment: string | null,\n): [t.Comment[], string | null] {\n if (comments) {\n comments = comments.filter(({ value }) => {\n if (regex.test(value)) {\n lastComment = value;\n return false;\n }\n return true;\n });\n }\n return [comments, lastComment];\n}\n\nfunction extractComments(regex: RegExp, ast: t.Node) {\n let lastComment: string = null;\n traverseFast(ast, node => {\n [node.leadingComments, lastComment] = extractCommentsFromList(\n regex,\n node.leadingComments,\n lastComment,\n );\n [node.innerComments, lastComment] = extractCommentsFromList(\n regex,\n node.innerComments,\n lastComment,\n );\n [node.trailingComments, lastComment] = extractCommentsFromList(\n regex,\n node.trailingComments,\n lastComment,\n );\n });\n return lastComment;\n}\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@jridgewell/set-array'), require('@jridgewell/sourcemap-codec')) :\n typeof define === 'function' && define.amd ? define(['exports', '@jridgewell/set-array', '@jridgewell/sourcemap-codec'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.genMapping = {}, global.setArray, global.sourcemapCodec));\n})(this, (function (exports, setArray, sourcemapCodec) { 'use strict';\n\n /**\n * A low-level API to associate a generated position with an original source position. Line and\n * column here are 0-based, unlike `addMapping`.\n */\n exports.addSegment = void 0;\n /**\n * A high-level API to associate a generated position with an original source position. Line is\n * 1-based, but column is 0-based, due to legacy behavior in `source-map` library.\n */\n exports.addMapping = void 0;\n /**\n * Adds/removes the content of the source file to the source map.\n */\n exports.setSourceContent = void 0;\n /**\n * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\n exports.decodedMap = void 0;\n /**\n * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\n exports.encodedMap = void 0;\n /**\n * Returns an array of high-level mapping objects for every recorded segment, which could then be\n * passed to the `source-map` library.\n */\n exports.allMappings = void 0;\n /**\n * Provides the state to generate a sourcemap.\n */\n class GenMapping {\n constructor({ file, sourceRoot } = {}) {\n this._names = new setArray.SetArray();\n this._sources = new setArray.SetArray();\n this._sourcesContent = [];\n this._mappings = [];\n this.file = file;\n this.sourceRoot = sourceRoot;\n }\n }\n (() => {\n exports.addSegment = (map, genLine, genColumn, source, sourceLine, sourceColumn, name) => {\n const { _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names, } = map;\n const line = getLine(mappings, genLine);\n if (source == null) {\n const seg = [genColumn];\n const index = getColumnIndex(line, genColumn, seg);\n return insert(line, index, seg);\n }\n const sourcesIndex = setArray.put(sources, source);\n const seg = name\n ? [genColumn, sourcesIndex, sourceLine, sourceColumn, setArray.put(names, name)]\n : [genColumn, sourcesIndex, sourceLine, sourceColumn];\n const index = getColumnIndex(line, genColumn, seg);\n if (sourcesIndex === sourcesContent.length)\n sourcesContent[sourcesIndex] = null;\n insert(line, index, seg);\n };\n exports.addMapping = (map, mapping) => {\n const { generated, source, original, name } = mapping;\n return exports.addSegment(map, generated.line - 1, generated.column, source, original == null ? undefined : original.line - 1, original === null || original === void 0 ? void 0 : original.column, name);\n };\n exports.setSourceContent = (map, source, content) => {\n const { _sources: sources, _sourcesContent: sourcesContent } = map;\n sourcesContent[setArray.put(sources, source)] = content;\n };\n exports.decodedMap = (map) => {\n const { file, sourceRoot, _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names, } = map;\n return {\n version: 3,\n file,\n names: names.array,\n sourceRoot: sourceRoot || undefined,\n sources: sources.array,\n sourcesContent,\n mappings,\n };\n };\n exports.encodedMap = (map) => {\n const decoded = exports.decodedMap(map);\n return Object.assign(Object.assign({}, decoded), { mappings: sourcemapCodec.encode(decoded.mappings) });\n };\n exports.allMappings = (map) => {\n const out = [];\n const { _mappings: mappings, _sources: sources, _names: names } = map;\n for (let i = 0; i < mappings.length; i++) {\n const line = mappings[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n const generated = { line: i + 1, column: seg[0] };\n let source = undefined;\n let original = undefined;\n let name = undefined;\n if (seg.length !== 1) {\n source = sources.array[seg[1]];\n original = { line: seg[2] + 1, column: seg[3] };\n if (seg.length === 5)\n name = names.array[seg[4]];\n }\n out.push({ generated, source, original, name });\n }\n }\n return out;\n };\n })();\n function getLine(mappings, index) {\n for (let i = mappings.length; i <= index; i++) {\n mappings[i] = [];\n }\n return mappings[index];\n }\n function getColumnIndex(line, column, seg) {\n let index = line.length;\n for (let i = index - 1; i >= 0; i--, index--) {\n const current = line[i];\n const col = current[0];\n if (col > column)\n continue;\n if (col < column)\n break;\n const cmp = compare(current, seg);\n if (cmp === 0)\n return index;\n if (cmp < 0)\n break;\n }\n return index;\n }\n function compare(a, b) {\n let cmp = compareNum(a.length, b.length);\n if (cmp !== 0)\n return cmp;\n // We've already checked genColumn\n if (a.length === 1)\n return 0;\n cmp = compareNum(a[1], b[1]);\n if (cmp !== 0)\n return cmp;\n cmp = compareNum(a[2], b[2]);\n if (cmp !== 0)\n return cmp;\n cmp = compareNum(a[3], b[3]);\n if (cmp !== 0)\n return cmp;\n if (a.length === 4)\n return 0;\n return compareNum(a[4], b[4]);\n }\n function compareNum(a, b) {\n return a - b;\n }\n function insert(array, index, value) {\n if (index === -1)\n return;\n for (let i = array.length; i > index; i--) {\n array[i] = array[i - 1];\n }\n array[index] = value;\n }\n\n exports.GenMapping = GenMapping;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n//# sourceMappingURL=gen-mapping.umd.js.map\n","import { decodedMappings, traceSegment, TraceMap } from '@jridgewell/trace-mapping';\nimport { GenMapping, addSegment, setSourceContent, decodedMap, encodedMap } from '@jridgewell/gen-mapping';\n\nconst SOURCELESS_MAPPING = {\n source: null,\n column: null,\n line: null,\n name: null,\n content: null,\n};\nconst EMPTY_SOURCES = [];\nfunction Source(map, sources, source, content) {\n return {\n map,\n sources,\n source,\n content,\n };\n}\n/**\n * MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes\n * (which may themselves be SourceMapTrees).\n */\nfunction MapSource(map, sources) {\n return Source(map, sources, '', null);\n}\n/**\n * A \"leaf\" node in the sourcemap tree, representing an original, unmodified source file. Recursive\n * segment tracing ends at the `OriginalSource`.\n */\nfunction OriginalSource(source, content) {\n return Source(null, EMPTY_SOURCES, source, content);\n}\n/**\n * traceMappings is only called on the root level SourceMapTree, and begins the process of\n * resolving each mapping in terms of the original source files.\n */\nfunction traceMappings(tree) {\n const gen = new GenMapping({ file: tree.map.file });\n const { sources: rootSources, map } = tree;\n const rootNames = map.names;\n const rootMappings = decodedMappings(map);\n for (let i = 0; i < rootMappings.length; i++) {\n const segments = rootMappings[i];\n let lastSource = null;\n let lastSourceLine = null;\n let lastSourceColumn = null;\n for (let j = 0; j < segments.length; j++) {\n const segment = segments[j];\n const genCol = segment[0];\n let traced = SOURCELESS_MAPPING;\n // 1-length segments only move the current generated column, there's no source information\n // to gather from it.\n if (segment.length !== 1) {\n const source = rootSources[segment[1]];\n traced = originalPositionFor(source, segment[2], segment[3], segment.length === 5 ? rootNames[segment[4]] : '');\n // If the trace is invalid, then the trace ran into a sourcemap that doesn't contain a\n // respective segment into an original source.\n if (traced == null)\n continue;\n }\n // So we traced a segment down into its original source file. Now push a\n // new segment pointing to this location.\n const { column, line, name, content, source } = traced;\n if (line === lastSourceLine && column === lastSourceColumn && source === lastSource) {\n continue;\n }\n lastSourceLine = line;\n lastSourceColumn = column;\n lastSource = source;\n // Sigh, TypeScript can't figure out source/line/column are either all null, or all non-null...\n addSegment(gen, i, genCol, source, line, column, name);\n if (content != null)\n setSourceContent(gen, source, content);\n }\n }\n return gen;\n}\n/**\n * originalPositionFor is only called on children SourceMapTrees. It recurses down into its own\n * child SourceMapTrees, until we find the original source map.\n */\nfunction originalPositionFor(source, line, column, name) {\n if (!source.map) {\n return { column, line, name, source: source.source, content: source.content };\n }\n const segment = traceSegment(source.map, line, column);\n // If we couldn't find a segment, then this doesn't exist in the sourcemap.\n if (segment == null)\n return null;\n // 1-length segments only move the current generated column, there's no source information\n // to gather from it.\n if (segment.length === 1)\n return SOURCELESS_MAPPING;\n return originalPositionFor(source.sources[segment[1]], segment[2], segment[3], segment.length === 5 ? source.map.names[segment[4]] : name);\n}\n\nfunction asArray(value) {\n if (Array.isArray(value))\n return value;\n return [value];\n}\n/**\n * Recursively builds a tree structure out of sourcemap files, with each node\n * being either an `OriginalSource` \"leaf\" or a `SourceMapTree` composed of\n * `OriginalSource`s and `SourceMapTree`s.\n *\n * Every sourcemap is composed of a collection of source files and mappings\n * into locations of those source files. When we generate a `SourceMapTree` for\n * the sourcemap, we attempt to load each source file's own sourcemap. If it\n * does not have an associated sourcemap, it is considered an original,\n * unmodified source file.\n */\nfunction buildSourceMapTree(input, loader) {\n const maps = asArray(input).map((m) => new TraceMap(m, ''));\n const map = maps.pop();\n for (let i = 0; i < maps.length; i++) {\n if (maps[i].sources.length > 1) {\n throw new Error(`Transformation map ${i} must have exactly one source file.\\n` +\n 'Did you specify these with the most recent transformation maps first?');\n }\n }\n let tree = build(map, loader, '', 0);\n for (let i = maps.length - 1; i >= 0; i--) {\n tree = MapSource(maps[i], [tree]);\n }\n return tree;\n}\nfunction build(map, loader, importer, importerDepth) {\n const { resolvedSources, sourcesContent } = map;\n const depth = importerDepth + 1;\n const children = resolvedSources.map((sourceFile, i) => {\n // The loading context gives the loader more information about why this file is being loaded\n // (eg, from which importer). It also allows the loader to override the location of the loaded\n // sourcemap/original source, or to override the content in the sourcesContent field if it's\n // an unmodified source file.\n const ctx = {\n importer,\n depth,\n source: sourceFile || '',\n content: undefined,\n };\n // Use the provided loader callback to retrieve the file's sourcemap.\n // TODO: We should eventually support async loading of sourcemap files.\n const sourceMap = loader(ctx.source, ctx);\n const { source, content } = ctx;\n // If there is a sourcemap, then we need to recurse into it to load its source files.\n if (sourceMap)\n return build(new TraceMap(sourceMap, source), loader, source, depth);\n // Else, it's an an unmodified source file.\n // The contents of this unmodified source file can be overridden via the loader context,\n // allowing it to be explicitly null or a string. If it remains undefined, we fall back to\n // the importing sourcemap's `sourcesContent` field.\n const sourceContent = content !== undefined ? content : sourcesContent ? sourcesContent[i] : null;\n return OriginalSource(source, sourceContent);\n });\n return MapSource(map, children);\n}\n\n/**\n * A SourceMap v3 compatible sourcemap, which only includes fields that were\n * provided to it.\n */\nclass SourceMap {\n constructor(map, options) {\n const out = options.decodedMappings ? decodedMap(map) : encodedMap(map);\n this.version = out.version; // SourceMap spec says this should be first.\n this.file = out.file;\n this.mappings = out.mappings;\n this.names = out.names;\n this.sourceRoot = out.sourceRoot;\n this.sources = out.sources;\n if (!options.excludeContent) {\n this.sourcesContent = out.sourcesContent;\n }\n }\n toString() {\n return JSON.stringify(this);\n }\n}\n\n/**\n * Traces through all the mappings in the root sourcemap, through the sources\n * (and their sourcemaps), all the way back to the original source location.\n *\n * `loader` will be called every time we encounter a source file. If it returns\n * a sourcemap, we will recurse into that sourcemap to continue the trace. If\n * it returns a falsey value, that source file is treated as an original,\n * unmodified source file.\n *\n * Pass `excludeContent` to exclude any self-containing source file content\n * from the output sourcemap.\n *\n * Pass `decodedMappings` to receive a SourceMap with decoded (instead of\n * VLQ encoded) mappings.\n */\nfunction remapping(input, loader, options) {\n const opts = typeof options === 'object' ? options : { excludeContent: !!options, decodedMappings: false };\n const tree = buildSourceMapTree(input, loader);\n return new SourceMap(traceMappings(tree), opts);\n}\n\nexport { remapping as default };\n//# sourceMappingURL=remapping.mjs.map\n","type SourceMap = any;\nimport remapping from \"@ampproject/remapping\";\n\nexport default function mergeSourceMap(\n inputMap: SourceMap,\n map: SourceMap,\n sourceFileName: string,\n): SourceMap {\n // On win32 machines, the sourceFileName uses backslash paths like\n // `C:\\foo\\bar.js`. But sourcemaps are always posix paths, so we need to\n // normalize to regular slashes before we can merge (else we won't find the\n // source associated with our input map).\n // This mirrors code done while generating the output map at\n // https://github.com/babel/babel/blob/5c2fcadc9ae34fd20dd72b1111d5cf50476d700d/packages/babel-generator/src/source-map.ts#L102\n const source = sourceFileName.replace(/\\\\/g, \"/\");\n\n // Prevent an infinite recursion if one of the input map's sources has the\n // same resolved path as the input map. In the case, it would keep find the\n // input map, then get it's sources which will include a path like the input\n // map, on and on.\n let found = false;\n const result = remapping(rootless(map), (s, ctx) => {\n if (s === source && !found) {\n found = true;\n // We empty the source location, which will prevent the sourcemap from\n // becoming relative to the input's location. Eg, if we're transforming a\n // file 'foo/bar.js', and it is a transformation of a `baz.js` file in the\n // same directory, the expected output is just `baz.js`. Without this step,\n // it would become `foo/baz.js`.\n ctx.source = \"\";\n\n return rootless(inputMap);\n }\n\n return null;\n });\n\n if (typeof inputMap.sourceRoot === \"string\") {\n result.sourceRoot = inputMap.sourceRoot;\n }\n\n // remapping returns a SourceMap class type, but this breaks code downstream in\n // @babel/traverse and @babel/types that relies on data being plain objects.\n // When it encounters the sourcemap type it outputs a \"don't know how to turn\n // this value into a node\" error. As a result, we are converting the merged\n // sourcemap to a plain js object.\n return { ...result };\n}\n\nfunction rootless(map: SourceMap): SourceMap {\n return {\n ...map,\n\n // This is a bit hack. Remapping will create absolute sources in our\n // sourcemap, but we want to maintain sources relative to the sourceRoot.\n // We'll re-add the sourceRoot after remapping.\n sourceRoot: null,\n };\n}\n","import type { PluginPasses } from \"../../config/index.ts\";\nimport convertSourceMap from \"convert-source-map\";\nimport type { GeneratorResult } from \"@babel/generator\";\nimport generate from \"@babel/generator\";\n\nimport type File from \"./file.ts\";\nimport mergeSourceMap from \"./merge-map.ts\";\n\nexport default function generateCode(\n pluginPasses: PluginPasses,\n file: File,\n): {\n outputCode: string;\n outputMap: GeneratorResult[\"map\"] | null;\n} {\n const { opts, ast, code, inputMap } = file;\n const { generatorOpts } = opts;\n\n generatorOpts.inputSourceMap = inputMap?.toObject();\n\n const results = [];\n for (const plugins of pluginPasses) {\n for (const plugin of plugins) {\n const { generatorOverride } = plugin;\n if (generatorOverride) {\n const result = generatorOverride(ast, generatorOpts, code, generate);\n\n if (result !== undefined) results.push(result);\n }\n }\n }\n\n let result;\n if (results.length === 0) {\n result = generate(ast, generatorOpts, code);\n } else if (results.length === 1) {\n result = results[0];\n\n if (typeof result.then === \"function\") {\n throw new Error(\n `You appear to be using an async codegen plugin, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, ` +\n `you may need to upgrade your @babel/core version.`,\n );\n }\n } else {\n throw new Error(\"More than one plugin attempted to override codegen.\");\n }\n\n // Decoded maps are faster to merge, so we attempt to get use the decodedMap\n // first. But to preserve backwards compat with older Generator, we'll fall\n // back to the encoded map.\n let { code: outputCode, decodedMap: outputMap = result.map } = result;\n\n // For backwards compat.\n if (result.__mergedMap) {\n /**\n * @see mergeSourceMap\n */\n outputMap = { ...result.map };\n } else {\n if (outputMap) {\n if (inputMap) {\n // mergeSourceMap returns an encoded map\n outputMap = mergeSourceMap(\n inputMap.toObject(),\n outputMap,\n generatorOpts.sourceFileName,\n );\n } else {\n // We cannot output a decoded map, so retrieve the encoded form. Because\n // the decoded form is free, it's fine to prioritize decoded first.\n outputMap = result.map;\n }\n }\n }\n\n if (opts.sourceMaps === \"inline\" || opts.sourceMaps === \"both\") {\n outputCode += \"\\n\" + convertSourceMap.fromObject(outputMap).toComment();\n }\n\n if (opts.sourceMaps === \"inline\") {\n outputMap = null;\n }\n\n return { outputCode, outputMap };\n}\n","import traverse from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\nimport type { GeneratorResult } from \"@babel/generator\";\n\nimport type { Handler } from \"gensync\";\n\nimport type { ResolvedConfig, Plugin, PluginPasses } from \"../config/index.ts\";\n\nimport PluginPass from \"./plugin-pass.ts\";\nimport loadBlockHoistPlugin from \"./block-hoist-plugin.ts\";\nimport normalizeOptions from \"./normalize-opts.ts\";\nimport normalizeFile from \"./normalize-file.ts\";\n\nimport generateCode from \"./file/generate.ts\";\nimport type File from \"./file/file.ts\";\n\nimport { flattenToSet } from \"../config/helpers/deep-array.ts\";\n\nexport type FileResultCallback = {\n (err: Error, file: null): void;\n (err: null, file: FileResult | null): void;\n};\n\nexport type FileResult = {\n metadata: { [key: string]: any };\n options: { [key: string]: any };\n ast: t.File | null;\n code: string | null;\n map: GeneratorResult[\"map\"] | null;\n sourceType: \"script\" | \"module\";\n externalDependencies: Set;\n};\n\nexport function* run(\n config: ResolvedConfig,\n code: string,\n ast?: t.File | t.Program | null,\n): Handler {\n const file = yield* normalizeFile(\n config.passes,\n normalizeOptions(config),\n code,\n ast,\n );\n\n const opts = file.opts;\n try {\n yield* transformFile(file, config.passes);\n } catch (e) {\n e.message = `${opts.filename ?? \"unknown file\"}: ${e.message}`;\n if (!e.code) {\n e.code = \"BABEL_TRANSFORM_ERROR\";\n }\n throw e;\n }\n\n let outputCode, outputMap;\n try {\n if (opts.code !== false) {\n ({ outputCode, outputMap } = generateCode(config.passes, file));\n }\n } catch (e) {\n e.message = `${opts.filename ?? \"unknown file\"}: ${e.message}`;\n if (!e.code) {\n e.code = \"BABEL_GENERATE_ERROR\";\n }\n throw e;\n }\n\n return {\n metadata: file.metadata,\n options: opts,\n ast: opts.ast === true ? file.ast : null,\n code: outputCode === undefined ? null : outputCode,\n map: outputMap === undefined ? null : outputMap,\n sourceType: file.ast.program.sourceType,\n externalDependencies: flattenToSet(config.externalDependencies),\n };\n}\n\nfunction* transformFile(file: File, pluginPasses: PluginPasses): Handler {\n for (const pluginPairs of pluginPasses) {\n const passPairs: [Plugin, PluginPass][] = [];\n const passes = [];\n const visitors = [];\n\n for (const plugin of pluginPairs.concat([loadBlockHoistPlugin()])) {\n const pass = new PluginPass(file, plugin.key, plugin.options);\n\n passPairs.push([plugin, pass]);\n passes.push(pass);\n visitors.push(plugin.visitor);\n }\n\n for (const [plugin, pass] of passPairs) {\n const fn = plugin.pre;\n if (fn) {\n // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression\n const result = fn.call(pass, file);\n\n // @ts-expect-error - If we want to support async .pre\n yield* [];\n\n if (isThenable(result)) {\n throw new Error(\n `You appear to be using an plugin with an async .pre, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, you may need to upgrade ` +\n `your @babel/core version.`,\n );\n }\n }\n }\n\n // merge all plugin visitors into a single visitor\n const visitor = traverse.visitors.merge(\n visitors,\n passes,\n file.opts.wrapPluginVisitorMethod,\n );\n if (process.env.BABEL_8_BREAKING) {\n traverse(file.ast.program, visitor, file.scope, null, file.path, true);\n } else {\n traverse(file.ast, visitor, file.scope);\n }\n\n for (const [plugin, pass] of passPairs) {\n const fn = plugin.post;\n if (fn) {\n // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression\n const result = fn.call(pass, file);\n\n // @ts-expect-error - If we want to support async .post\n yield* [];\n\n if (isThenable(result)) {\n throw new Error(\n `You appear to be using an plugin with an async .post, ` +\n `which your current version of Babel does not support. ` +\n `If you're using a published plugin, you may need to upgrade ` +\n `your @babel/core version.`,\n );\n }\n }\n }\n }\n}\n\nfunction isThenable>(val: any): val is T {\n return (\n !!val &&\n (typeof val === \"object\" || typeof val === \"function\") &&\n !!val.then &&\n typeof val.then === \"function\"\n );\n}\n","import gensync, { type Handler } from \"gensync\";\n\nimport loadConfig from \"./config/index.ts\";\nimport type { InputOptions, ResolvedConfig } from \"./config/index.ts\";\nimport { run } from \"./transformation/index.ts\";\n\nimport type { FileResult, FileResultCallback } from \"./transformation/index.ts\";\nimport { beginHiddenCallStack } from \"./errors/rewrite-stack-trace.ts\";\n\nexport type { FileResult } from \"./transformation/index.ts\";\n\ntype Transform = {\n (code: string, callback: FileResultCallback): void;\n (\n code: string,\n opts: InputOptions | undefined | null,\n callback: FileResultCallback,\n ): void;\n (code: string, opts?: InputOptions | null): FileResult | null;\n};\n\nconst transformRunner = gensync(function* transform(\n code: string,\n opts?: InputOptions,\n): Handler {\n const config: ResolvedConfig | null = yield* loadConfig(opts);\n if (config === null) return null;\n\n return yield* run(config, code);\n});\n\nexport const transform: Transform = function transform(\n code,\n optsOrCallback?: InputOptions | null | undefined | FileResultCallback,\n maybeCallback?: FileResultCallback,\n) {\n let opts: InputOptions | undefined | null;\n let callback: FileResultCallback | undefined;\n if (typeof optsOrCallback === \"function\") {\n callback = optsOrCallback;\n opts = undefined;\n } else {\n opts = optsOrCallback;\n callback = maybeCallback;\n }\n\n if (callback === undefined) {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Starting from Babel 8.0.0, the 'transform' function expects a callback. If you need to call it synchronously, please use 'transformSync'.\",\n );\n } else {\n // console.warn(\n // \"Starting from Babel 8.0.0, the 'transform' function will expect a callback. If you need to call it synchronously, please use 'transformSync'.\",\n // );\n return beginHiddenCallStack(transformRunner.sync)(code, opts);\n }\n }\n\n beginHiddenCallStack(transformRunner.errback)(code, opts, callback);\n};\n\nexport function transformSync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(transformRunner.sync)(...args);\n}\nexport function transformAsync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(transformRunner.async)(...args);\n}\n","// duplicated from transform-file so we do not have to import anything here\ntype TransformFile = {\n (filename: string, callback: (error: Error, file: null) => void): void;\n (\n filename: string,\n opts: any,\n callback: (error: Error, file: null) => void,\n ): void;\n};\n\nexport const transformFile: TransformFile = function transformFile(\n filename,\n opts,\n callback?: (error: Error, file: null) => void,\n) {\n if (typeof opts === \"function\") {\n callback = opts;\n }\n\n callback(new Error(\"Transforming files is not supported in browsers\"), null);\n};\n\nexport function transformFileSync(): never {\n throw new Error(\"Transforming files is not supported in browsers\");\n}\n\nexport function transformFileAsync() {\n return Promise.reject(\n new Error(\"Transforming files is not supported in browsers\"),\n );\n}\n","import gensync, { type Handler } from \"gensync\";\n\nimport loadConfig from \"./config/index.ts\";\nimport type { InputOptions, ResolvedConfig } from \"./config/index.ts\";\nimport { run } from \"./transformation/index.ts\";\nimport type * as t from \"@babel/types\";\n\nimport { beginHiddenCallStack } from \"./errors/rewrite-stack-trace.ts\";\n\nimport type { FileResult, FileResultCallback } from \"./transformation/index.ts\";\ntype AstRoot = t.File | t.Program;\n\ntype TransformFromAst = {\n (ast: AstRoot, code: string, callback: FileResultCallback): void;\n (\n ast: AstRoot,\n code: string,\n opts: InputOptions | undefined | null,\n callback: FileResultCallback,\n ): void;\n (ast: AstRoot, code: string, opts?: InputOptions | null): FileResult | null;\n};\n\nconst transformFromAstRunner = gensync(function* (\n ast: AstRoot,\n code: string,\n opts: InputOptions | undefined | null,\n): Handler {\n const config: ResolvedConfig | null = yield* loadConfig(opts);\n if (config === null) return null;\n\n if (!ast) throw new Error(\"No AST given\");\n\n return yield* run(config, code, ast);\n});\n\nexport const transformFromAst: TransformFromAst = function transformFromAst(\n ast,\n code,\n optsOrCallback?: InputOptions | null | undefined | FileResultCallback,\n maybeCallback?: FileResultCallback,\n) {\n let opts: InputOptions | undefined | null;\n let callback: FileResultCallback | undefined;\n if (typeof optsOrCallback === \"function\") {\n callback = optsOrCallback;\n opts = undefined;\n } else {\n opts = optsOrCallback;\n callback = maybeCallback;\n }\n\n if (callback === undefined) {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Starting from Babel 8.0.0, the 'transformFromAst' function expects a callback. If you need to call it synchronously, please use 'transformFromAstSync'.\",\n );\n } else {\n // console.warn(\n // \"Starting from Babel 8.0.0, the 'transformFromAst' function will expect a callback. If you need to call it synchronously, please use 'transformFromAstSync'.\",\n // );\n return beginHiddenCallStack(transformFromAstRunner.sync)(ast, code, opts);\n }\n }\n\n beginHiddenCallStack(transformFromAstRunner.errback)(\n ast,\n code,\n opts,\n callback,\n );\n};\n\nexport function transformFromAstSync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(transformFromAstRunner.sync)(...args);\n}\n\nexport function transformFromAstAsync(\n ...args: Parameters\n) {\n return beginHiddenCallStack(transformFromAstRunner.async)(...args);\n}\n","import gensync, { type Handler } from \"gensync\";\n\nimport loadConfig, { type InputOptions } from \"./config/index.ts\";\nimport parser, { type ParseResult } from \"./parser/index.ts\";\nimport normalizeOptions from \"./transformation/normalize-opts.ts\";\nimport type { ValidatedOptions } from \"./config/validation/options.ts\";\n\nimport { beginHiddenCallStack } from \"./errors/rewrite-stack-trace.ts\";\n\ntype FileParseCallback = {\n (err: Error, ast: null): void;\n (err: null, ast: ParseResult | null): void;\n};\n\ntype Parse = {\n (code: string, callback: FileParseCallback): void;\n (\n code: string,\n opts: InputOptions | undefined | null,\n callback: FileParseCallback,\n ): void;\n (code: string, opts?: InputOptions | null): ParseResult | null;\n};\n\nconst parseRunner = gensync(function* parse(\n code: string,\n opts: InputOptions | undefined | null,\n): Handler {\n const config = yield* loadConfig(opts);\n\n if (config === null) {\n return null;\n }\n\n return yield* parser(config.passes, normalizeOptions(config), code);\n});\n\nexport const parse: Parse = function parse(\n code,\n opts?,\n callback?: FileParseCallback,\n) {\n if (typeof opts === \"function\") {\n callback = opts;\n opts = undefined as ValidatedOptions;\n }\n\n if (callback === undefined) {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"Starting from Babel 8.0.0, the 'parse' function expects a callback. If you need to call it synchronously, please use 'parseSync'.\",\n );\n } else {\n // console.warn(\n // \"Starting from Babel 8.0.0, the 'parse' function will expect a callback. If you need to call it synchronously, please use 'parseSync'.\",\n // );\n return beginHiddenCallStack(parseRunner.sync)(code, opts);\n }\n }\n\n beginHiddenCallStack(parseRunner.errback)(code, opts, callback);\n};\n\nexport function parseSync(...args: Parameters) {\n return beginHiddenCallStack(parseRunner.sync)(...args);\n}\nexport function parseAsync(...args: Parameters) {\n return beginHiddenCallStack(parseRunner.async)(...args);\n}\n","if (!process.env.IS_PUBLISH && !USE_ESM && process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"BABEL_8_BREAKING is only supported in ESM. Please run `make use-esm`.\",\n );\n}\n\nexport const version = PACKAGE_JSON.version;\n\nexport { default as File } from \"./transformation/file/file.ts\";\nexport type { default as PluginPass } from \"./transformation/plugin-pass.ts\";\nexport { default as buildExternalHelpers } from \"./tools/build-external-helpers.ts\";\nexport { resolvePlugin, resolvePreset } from \"./config/files/index.ts\";\n\nexport { getEnv } from \"./config/helpers/environment.ts\";\n\n// NOTE: Lazy re-exports aren't detected by the Node.js CJS-ESM interop.\n// These are handled by pluginInjectNodeReexportsHints in our babel.config.js\n// so that they can work well.\nexport * as types from \"@babel/types\";\nexport { tokTypes } from \"@babel/parser\";\nexport { default as traverse } from \"@babel/traverse\";\nexport { default as template } from \"@babel/template\";\n\nexport {\n createConfigItem,\n createConfigItemSync,\n createConfigItemAsync,\n} from \"./config/index.ts\";\n\nexport {\n loadPartialConfig,\n loadPartialConfigSync,\n loadPartialConfigAsync,\n loadOptions,\n loadOptionsAsync,\n} from \"./config/index.ts\";\nimport { loadOptionsSync } from \"./config/index.ts\";\nexport { loadOptionsSync };\n\nexport type {\n CallerMetadata,\n InputOptions,\n PluginAPI,\n PluginObject,\n PresetAPI,\n PresetObject,\n} from \"./config/index.ts\";\n\nexport {\n transform,\n transformSync,\n transformAsync,\n type FileResult,\n} from \"./transform.ts\";\nexport {\n transformFile,\n transformFileSync,\n transformFileAsync,\n} from \"./transform-file.ts\";\nexport {\n transformFromAst,\n transformFromAstSync,\n transformFromAstAsync,\n} from \"./transform-ast.ts\";\nexport { parse, parseSync, parseAsync } from \"./parse.ts\";\n\n/**\n * Recommended set of compilable extensions. Not used in @babel/core directly, but meant as\n * as an easy source for tooling making use of @babel/core.\n */\nexport const DEFAULT_EXTENSIONS = Object.freeze([\n \".js\",\n \".jsx\",\n \".es6\",\n \".es\",\n \".mjs\",\n \".cjs\",\n] as const);\n\nimport Module from \"module\";\nimport * as thisFile from \"./index.ts\";\nif (USE_ESM && !IS_STANDALONE) {\n // Pass this module to the CJS proxy, so that it can be synchronously accessed.\n const cjsProxy = Module.createRequire(import.meta.url)(\"../cjs-proxy.cjs\");\n cjsProxy[\"__ initialize @babel/core cjs proxy __\"] = thisFile;\n}\n\nif (!process.env.BABEL_8_BREAKING && !USE_ESM) {\n // For easier backward-compatibility, provide an API like the one we exposed in Babel 6.\n // eslint-disable-next-line no-restricted-globals\n exports.OptionManager = class OptionManager {\n init(opts: {}) {\n return loadOptionsSync(opts);\n }\n };\n\n // eslint-disable-next-line no-restricted-globals\n exports.Plugin = function Plugin(alias: string) {\n throw new Error(\n `The (${alias}) Babel 5 plugin is being run with an unsupported Babel version.`,\n );\n };\n}\n","export default function makeNoopPlugin() {\n let p;\n return ((p = (() => ({})) as any).default = p);\n}\n","/**\n * Since we bundle @babel/core, we don't need @babel/helper-plugin-utils\n * to handle older versions.\n */\n\nexport function declare(x: any) {\n return x;\n}\nexport { declare as declarePreset };\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\n\nexport interface Options {\n helperVersion?: string;\n whitelist?: false | string[];\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const { helperVersion = \"7.0.0-beta.0\", whitelist = false } = options;\n\n if (\n whitelist !== false &&\n (!Array.isArray(whitelist) || whitelist.some(w => typeof w !== \"string\"))\n ) {\n throw new Error(\n \".whitelist must be undefined, false, or an array of strings\",\n );\n }\n\n const helperWhitelist = whitelist ? new Set(whitelist) : null;\n\n return {\n name: \"external-helpers\",\n pre(file) {\n file.set(\"helperGenerator\", (name: string) => {\n // If the helper didn't exist yet at the version given, we bail\n // out and let Babel either insert it directly, or throw an error\n // so that plugins can handle that case properly.\n if (\n file.availableHelper &&\n !file.availableHelper(name, helperVersion)\n ) {\n return;\n }\n\n // babelCore.buildExternalHelpers() allows a whitelist of helpers that\n // will be inserted into the external helpers list. That same whitelist\n // should be passed into the plugin here in that case, so that we can\n // avoid referencing 'babelHelpers.XX' when the helper does not exist.\n if (helperWhitelist && !helperWhitelist.has(name)) return;\n\n return t.memberExpression(\n t.identifier(\"babelHelpers\"),\n t.identifier(name),\n );\n });\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"syntax-decimal\",\n\n manipulateOptions(opts, parserOpts) {\n parserOpts.plugins.push(\"decimal\");\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport interface Options {\n // TODO(Babel 8): Remove\n legacy?: boolean;\n // TODO(Babel 8): Remove \"2018-09\", \"2021-12\", '2022-03', and '2023-01'\n version?:\n | \"legacy\"\n | \"2018-09\"\n | \"2021-12\"\n | \"2022-03\"\n | \"2023-01\"\n | \"2023-05\";\n // TODO(Babel 8): Remove\n decoratorsBeforeExport?: boolean;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n let { version } = options;\n\n if (process.env.BABEL_8_BREAKING) {\n if (version === undefined) {\n throw new Error(\n \"The decorators plugin requires a 'version' option, whose value must be one of: \" +\n \"'2023-05', '2023-01', '2022-03', '2021-12', '2018-09', or 'legacy'.\",\n );\n }\n if (\n version !== \"2023-05\" &&\n version !== \"2023-01\" &&\n version !== \"2022-03\" &&\n version !== \"2021-12\" &&\n version !== \"legacy\"\n ) {\n throw new Error(\"Unsupported decorators version: \" + version);\n }\n if (options.legacy !== undefined) {\n throw new Error(\n `The .legacy option has been removed in Babel 8. Use .version: \"legacy\" instead.`,\n );\n }\n if (options.decoratorsBeforeExport !== undefined) {\n throw new Error(\n `The .decoratorsBeforeExport option has been removed in Babel 8.`,\n );\n }\n } else {\n const { legacy } = options;\n\n if (legacy !== undefined) {\n if (typeof legacy !== \"boolean\") {\n throw new Error(\".legacy must be a boolean.\");\n }\n if (version !== undefined) {\n throw new Error(\n \"You can either use the .legacy or the .version option, not both.\",\n );\n }\n }\n\n if (version === undefined) {\n version = legacy ? \"legacy\" : \"2018-09\";\n } else if (\n version !== \"2023-05\" &&\n version !== \"2023-01\" &&\n version !== \"2022-03\" &&\n version !== \"2021-12\" &&\n version !== \"2018-09\" &&\n version !== \"legacy\"\n ) {\n // Fallback to print the invalid version option regardless of the type\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n throw new Error(\"Unsupported decorators version: \" + version);\n }\n\n // eslint-disable-next-line no-var\n var { decoratorsBeforeExport } = options;\n if (decoratorsBeforeExport === undefined) {\n if (version === \"2021-12\" || version === \"2022-03\") {\n decoratorsBeforeExport = false;\n } else if (version === \"2018-09\") {\n throw new Error(\n \"The decorators plugin, when .version is '2018-09' or not specified,\" +\n \" requires a 'decoratorsBeforeExport' option, whose value must be a boolean.\",\n );\n }\n } else {\n if (\n version === \"legacy\" ||\n version === \"2022-03\" ||\n version === \"2023-01\"\n ) {\n throw new Error(\n `'decoratorsBeforeExport' can't be used with ${version} decorators.`,\n );\n }\n if (typeof decoratorsBeforeExport !== \"boolean\") {\n throw new Error(\"'decoratorsBeforeExport' must be a boolean.\");\n }\n }\n }\n\n return {\n name: \"syntax-decorators\",\n\n manipulateOptions({ generatorOpts }, parserOpts) {\n if (version === \"legacy\") {\n parserOpts.plugins.push(\"decorators-legacy\");\n } else if (process.env.BABEL_8_BREAKING) {\n parserOpts.plugins.push(\n [\"decorators\", { allowCallParenthesized: false }],\n \"decoratorAutoAccessors\",\n );\n } else {\n if (version === \"2023-01\" || version === \"2023-05\") {\n parserOpts.plugins.push(\n [\"decorators\", { allowCallParenthesized: false }],\n \"decoratorAutoAccessors\",\n );\n } else if (version === \"2022-03\") {\n parserOpts.plugins.push(\n [\n \"decorators\",\n { decoratorsBeforeExport: false, allowCallParenthesized: false },\n ],\n \"decoratorAutoAccessors\",\n );\n } else if (version === \"2021-12\") {\n parserOpts.plugins.push(\n [\"decorators\", { decoratorsBeforeExport }],\n \"decoratorAutoAccessors\",\n );\n generatorOpts.decoratorsBeforeExport = decoratorsBeforeExport;\n } else if (version === \"2018-09\") {\n parserOpts.plugins.push([\"decorators\", { decoratorsBeforeExport }]);\n generatorOpts.decoratorsBeforeExport = decoratorsBeforeExport;\n }\n }\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"syntax-destructuring-private\",\n\n manipulateOptions(_, parserOpts) {\n parserOpts.plugins.push(\"destructuringPrivate\");\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"syntax-do-expressions\",\n\n manipulateOptions(opts, parserOpts) {\n parserOpts.plugins.push(\"doExpressions\");\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"syntax-explicit-resource-management\",\n\n manipulateOptions(opts, parserOpts) {\n parserOpts.plugins.push(\"explicitResourceManagement\");\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"syntax-export-default-from\",\n\n manipulateOptions(opts, parserOpts) {\n parserOpts.plugins.push(\"exportDefaultFrom\");\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport type { FlowPluginOptions } from \"@babel/parser\";\n\nexport default declare((api, options: FlowPluginOptions) => {\n api.assertVersion(7);\n\n // When enabled and plugins includes flow, all files should be parsed as if\n // the @flow pragma was provided.\n const { all, enums } = options;\n\n if (typeof all !== \"boolean\" && typeof all !== \"undefined\") {\n throw new Error(\".all must be a boolean, or undefined\");\n }\n\n if (typeof enums !== \"boolean\" && typeof enums !== \"undefined\") {\n throw new Error(\".enums must be a boolean, or undefined\");\n }\n\n return {\n name: \"syntax-flow\",\n\n manipulateOptions(opts, parserOpts) {\n if (!process.env.BABEL_8_BREAKING) {\n // If the file has already enabled TS, assume that this is not a\n // valid Flowtype file.\n if (\n parserOpts.plugins.some(\n p => (Array.isArray(p) ? p[0] : p) === \"typescript\",\n )\n ) {\n return;\n }\n }\n\n parserOpts.plugins.push([\"flow\", { all, enums }]);\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"syntax-function-bind\",\n\n manipulateOptions(opts, parserOpts) {\n parserOpts.plugins.push(\"functionBind\");\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"syntax-function-sent\",\n\n manipulateOptions(opts, parserOpts) {\n parserOpts.plugins.push(\"functionSent\");\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"syntax-import-assertions\",\n\n manipulateOptions(opts, parserOpts) {\n parserOpts.plugins.push(\"importAssertions\");\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport interface Options {\n deprecatedAssertSyntax?: boolean;\n}\n\nexport default declare((api, { deprecatedAssertSyntax }: Options) => {\n api.assertVersion(\"^7.22.0\");\n\n if (\n deprecatedAssertSyntax != null &&\n typeof deprecatedAssertSyntax !== \"boolean\"\n ) {\n throw new Error(\n \"'deprecatedAssertSyntax' must be a boolean, if specified.\",\n );\n }\n\n return {\n name: \"syntax-import-attributes\",\n\n manipulateOptions({ parserOpts, generatorOpts }) {\n generatorOpts.importAttributesKeyword ??= \"with\";\n parserOpts.plugins.push([\n \"importAttributes\",\n { deprecatedAssertSyntax: Boolean(deprecatedAssertSyntax) },\n ]);\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"syntax-import-reflection\",\n\n manipulateOptions(_, parserOpts) {\n parserOpts.plugins.push(\"importReflection\");\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"syntax-jsx\",\n\n manipulateOptions(opts, parserOpts) {\n if (!process.env.BABEL_8_BREAKING) {\n // If the Typescript plugin already ran, it will have decided whether\n // or not this is a TSX file.\n if (\n parserOpts.plugins.some(\n p => (Array.isArray(p) ? p[0] : p) === \"typescript\",\n )\n ) {\n return;\n }\n }\n\n parserOpts.plugins.push(\"jsx\");\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"syntax-module-blocks\",\n\n manipulateOptions(opts, parserOpts) {\n parserOpts.plugins.push(\"moduleBlocks\");\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { OptionValidator } from \"@babel/helper-validator-option\";\n\nconst v = new OptionValidator(PACKAGE_JSON.name);\n\nexport interface Options {\n version: \"2023-07\";\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(\"^7.23.0\");\n\n v.validateTopLevelOptions(options, { version: \"version\" });\n const { version } = options;\n v.invariant(\n version === \"2023-07\",\n \"'.version' option required, representing the last proposal update. \" +\n \"Currently, the only supported value is '2023-07'.\",\n );\n\n return {\n name: \"syntax-optional-chaining-assign\",\n\n manipulateOptions(opts, parserOpts) {\n parserOpts.plugins.push([\"optionalChainingAssign\", { version }]);\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nconst PIPELINE_PROPOSALS = [\"minimal\", \"fsharp\", \"hack\", \"smart\"] as const;\nconst TOPIC_TOKENS = [\"^^\", \"@@\", \"^\", \"%\", \"#\"] as const;\nconst documentationURL =\n \"https://babeljs.io/docs/en/babel-plugin-proposal-pipeline-operator\";\n\nexport interface Options {\n proposal: (typeof PIPELINE_PROPOSALS)[number];\n topicToken?: (typeof TOPIC_TOKENS)[number];\n}\n\nexport default declare((api, { proposal, topicToken }: Options) => {\n api.assertVersion(7);\n\n if (typeof proposal !== \"string\" || !PIPELINE_PROPOSALS.includes(proposal)) {\n const proposalList = PIPELINE_PROPOSALS.map(p => `\"${p}\"`).join(\", \");\n throw new Error(\n `The pipeline plugin requires a \"proposal\" option. \"proposal\" must be one of: ${proposalList}. See <${documentationURL}>.`,\n );\n }\n\n if (proposal === \"hack\" && !TOPIC_TOKENS.includes(topicToken)) {\n const topicTokenList = TOPIC_TOKENS.map(t => `\"${t}\"`).join(\", \");\n throw new Error(\n `The pipeline plugin in \"proposal\": \"hack\" mode also requires a \"topicToken\" option. \"topicToken\" must be one of: ${topicTokenList}. See <${documentationURL}>.`,\n );\n }\n\n return {\n name: \"syntax-pipeline-operator\",\n\n manipulateOptions(opts, parserOpts) {\n // Add parser options.\n parserOpts.plugins.push([\"pipelineOperator\", { proposal, topicToken }]);\n\n // Add generator options.\n opts.generatorOpts.topicToken = topicToken;\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport interface Options {\n syntaxType: \"hash\" | \"bar\";\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n return {\n name: \"syntax-record-and-tuple\",\n\n manipulateOptions(opts, parserOpts) {\n opts.generatorOpts.recordAndTupleSyntaxType = options.syntaxType;\n\n parserOpts.plugins.push([\n \"recordAndTuple\",\n { syntaxType: options.syntaxType },\n ]);\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nif (!process.env.BABEL_8_BREAKING) {\n // eslint-disable-next-line no-var\n var removePlugin = function (plugins: any[], name: string) {\n const indices: number[] = [];\n plugins.forEach((plugin, i) => {\n const n = Array.isArray(plugin) ? plugin[0] : plugin;\n\n if (n === name) {\n indices.unshift(i);\n }\n });\n\n for (const i of indices) {\n plugins.splice(i, 1);\n }\n };\n}\n\nexport interface Options {\n disallowAmbiguousJSXLike?: boolean;\n dts?: boolean;\n isTSX?: boolean;\n}\n\nexport default declare((api, opts: Options) => {\n api.assertVersion(7);\n\n const { disallowAmbiguousJSXLike, dts } = opts;\n\n if (!process.env.BABEL_8_BREAKING) {\n // eslint-disable-next-line no-var\n var { isTSX } = opts;\n }\n\n return {\n name: \"syntax-typescript\",\n\n manipulateOptions(opts, parserOpts) {\n if (!process.env.BABEL_8_BREAKING) {\n const { plugins } = parserOpts;\n // If the Flow syntax plugin already ran, remove it since Typescript\n // takes priority.\n removePlugin(plugins, \"flow\");\n\n // If the JSX syntax plugin already ran, remove it because JSX handling\n // in TS depends on the extensions, and is purely dependent on 'isTSX'.\n removePlugin(plugins, \"jsx\");\n\n // These are now enabled by default in @babel/parser, but we push\n // them for compat with older versions.\n plugins.push(\"objectRestSpread\", \"classProperties\");\n\n if (isTSX) {\n plugins.push(\"jsx\");\n }\n }\n\n parserOpts.plugins.push([\n \"typescript\",\n { disallowAmbiguousJSXLike, dts },\n ]);\n },\n };\n});\n","import type { NodePath } from \"@babel/traverse\";\nimport nameFunction from \"@babel/helper-function-name\";\nimport template from \"@babel/template\";\nimport {\n blockStatement,\n callExpression,\n functionExpression,\n isAssignmentPattern,\n isFunctionDeclaration,\n isRestElement,\n returnStatement,\n isCallExpression,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\n\ntype ExpressionWrapperBuilder = (\n replacements?: Parameters>[0],\n) => t.CallExpression & {\n callee: t.FunctionExpression & {\n body: {\n body: [\n t.VariableDeclaration & {\n declarations: [\n { init: t.FunctionExpression | t.ArrowFunctionExpression },\n ];\n },\n ...ExtraBody,\n ];\n };\n };\n};\n\nconst buildAnonymousExpressionWrapper = template.expression(`\n (function () {\n var REF = FUNCTION;\n return function NAME(PARAMS) {\n return REF.apply(this, arguments);\n };\n })()\n`) as ExpressionWrapperBuilder<\n [t.ReturnStatement & { argument: t.FunctionExpression }]\n>;\n\nconst buildNamedExpressionWrapper = template.expression(`\n (function () {\n var REF = FUNCTION;\n function NAME(PARAMS) {\n return REF.apply(this, arguments);\n }\n return NAME;\n })()\n`) as ExpressionWrapperBuilder<\n [t.FunctionDeclaration, t.ReturnStatement & { argument: t.Identifier }]\n>;\n\nconst buildDeclarationWrapper = template.statements(`\n function NAME(PARAMS) { return REF.apply(this, arguments); }\n function REF() {\n REF = FUNCTION;\n return REF.apply(this, arguments);\n }\n`);\n\nfunction classOrObjectMethod(\n path: NodePath,\n callId: t.Expression,\n) {\n const node = path.node;\n const body = node.body;\n\n const container = functionExpression(\n null,\n [],\n blockStatement(body.body),\n true,\n );\n body.body = [\n returnStatement(callExpression(callExpression(callId, [container]), [])),\n ];\n\n // Regardless of whether or not the wrapped function is a an async method\n // or generator the outer function should not be\n node.async = false;\n node.generator = false;\n\n // Unwrap the wrapper IIFE's environment so super and this and such still work.\n (\n path.get(\"body.body.0.argument.callee.arguments.0\") as NodePath\n ).unwrapFunctionEnvironment();\n}\n\nfunction plainFunction(\n inPath: NodePath>,\n callId: t.Expression,\n noNewArrows: boolean,\n ignoreFunctionLength: boolean,\n) {\n let path: NodePath<\n | t.FunctionDeclaration\n | t.FunctionExpression\n | t.CallExpression\n | t.ArrowFunctionExpression\n > = inPath;\n let node;\n let functionId = null;\n const nodeParams = inPath.node.params;\n\n if (path.isArrowFunctionExpression()) {\n if (process.env.BABEL_8_BREAKING) {\n path = path.arrowFunctionToExpression({ noNewArrows });\n } else {\n // arrowFunctionToExpression returns undefined in @babel/traverse < 7.18.10\n path = path.arrowFunctionToExpression({ noNewArrows }) ?? path;\n }\n node = path.node as\n | t.FunctionDeclaration\n | t.FunctionExpression\n | t.CallExpression;\n } else {\n node = path.node as t.FunctionDeclaration | t.FunctionExpression;\n }\n\n const isDeclaration = isFunctionDeclaration(node);\n\n let built = node;\n if (!isCallExpression(node)) {\n functionId = node.id;\n node.id = null;\n node.type = \"FunctionExpression\";\n built = callExpression(callId, [\n node as Exclude,\n ]);\n }\n\n const params: t.Identifier[] = [];\n for (const param of nodeParams) {\n if (isAssignmentPattern(param) || isRestElement(param)) {\n break;\n }\n params.push(path.scope.generateUidIdentifier(\"x\"));\n }\n\n const wrapperArgs = {\n NAME: functionId || null,\n REF: path.scope.generateUidIdentifier(functionId ? functionId.name : \"ref\"),\n FUNCTION: built,\n PARAMS: params,\n };\n\n if (isDeclaration) {\n const container = buildDeclarationWrapper(wrapperArgs);\n path.replaceWith(container[0]);\n path.insertAfter(container[1]);\n } else {\n let container;\n\n if (functionId) {\n container = buildNamedExpressionWrapper(wrapperArgs);\n } else {\n container = buildAnonymousExpressionWrapper(wrapperArgs);\n\n const returnFn = container.callee.body.body[1].argument;\n nameFunction({\n node: returnFn,\n parent: (path as NodePath).parent,\n scope: path.scope,\n });\n functionId = returnFn.id;\n }\n\n if (functionId || (!ignoreFunctionLength && params.length)) {\n path.replaceWith(container);\n } else {\n // we can omit this wrapper as the conditions it protects for do not apply\n path.replaceWith(built);\n }\n }\n}\n\nexport default function wrapFunction(\n path: NodePath,\n callId: t.Expression,\n // TODO(Babel 8): Consider defaulting to false for spec compliance\n noNewArrows: boolean = true,\n ignoreFunctionLength: boolean = false,\n) {\n if (path.isMethod()) {\n classOrObjectMethod(path, callId);\n } else {\n plainFunction(\n path as NodePath>,\n callId,\n noNewArrows,\n ignoreFunctionLength,\n );\n }\n}\n","import { addComment, type Node } from \"@babel/types\";\nimport type { NodePath } from \"@babel/traverse\";\n\nconst PURE_ANNOTATION = \"#__PURE__\";\n\nconst isPureAnnotated = ({ leadingComments }: Node): boolean =>\n !!leadingComments &&\n leadingComments.some(comment => /[@#]__PURE__/.test(comment.value));\n\nexport default function annotateAsPure(pathOrNode: Node | NodePath): void {\n const node =\n // @ts-expect-error Node will not have `node` property\n (pathOrNode[\"node\"] || pathOrNode) as Node;\n if (isPureAnnotated(node)) {\n return;\n }\n addComment(node, \"leading\", PURE_ANNOTATION);\n}\n","/* @noflow */\n\nimport type { NodePath } from \"@babel/traverse\";\nimport wrapFunction from \"@babel/helper-wrap-function\";\nimport annotateAsPure from \"@babel/helper-annotate-as-pure\";\nimport environmentVisitor from \"@babel/helper-environment-visitor\";\nimport { traverse, types as t } from \"@babel/core\";\nconst {\n callExpression,\n cloneNode,\n isIdentifier,\n isThisExpression,\n yieldExpression,\n} = t;\n\nconst awaitVisitor = traverse.visitors.merge<{ wrapAwait: t.Expression }>([\n {\n ArrowFunctionExpression(path) {\n path.skip();\n },\n\n AwaitExpression(path, { wrapAwait }) {\n const argument = path.get(\"argument\");\n\n path.replaceWith(\n yieldExpression(\n wrapAwait\n ? callExpression(cloneNode(wrapAwait), [argument.node])\n : argument.node,\n ),\n );\n },\n },\n environmentVisitor,\n]);\n\nexport default function (\n path: NodePath,\n helpers: {\n wrapAsync: t.Expression;\n wrapAwait?: t.Expression;\n },\n noNewArrows?: boolean,\n ignoreFunctionLength?: boolean,\n) {\n path.traverse(awaitVisitor, {\n wrapAwait: helpers.wrapAwait,\n });\n\n const isIIFE = checkIsIIFE(path);\n\n path.node.async = false;\n path.node.generator = true;\n\n wrapFunction(\n path,\n cloneNode(helpers.wrapAsync),\n noNewArrows,\n ignoreFunctionLength,\n );\n\n const isProperty =\n path.isObjectMethod() ||\n path.isClassMethod() ||\n path.parentPath.isObjectProperty() ||\n path.parentPath.isClassProperty();\n\n if (!isProperty && !isIIFE && path.isExpression()) {\n annotateAsPure(path);\n }\n\n function checkIsIIFE(path: NodePath) {\n if (path.parentPath.isCallExpression({ callee: path.node })) {\n return true;\n }\n\n // try to catch calls to Function#bind, as emitted by arrowFunctionToExpression in spec mode\n // this may also catch .bind(this) written by users, but does it matter? 🤔\n const { parentPath } = path;\n if (\n parentPath.isMemberExpression() &&\n isIdentifier(parentPath.node.property, { name: \"bind\" })\n ) {\n const { parentPath: bindCall } = parentPath;\n\n // (function () { ... }).bind(this)()\n\n return (\n // first, check if the .bind is actually being called\n bindCall.isCallExpression() &&\n // and whether its sole argument is 'this'\n bindCall.node.arguments.length === 1 &&\n isThisExpression(bindCall.node.arguments[0]) &&\n // and whether the result of the .bind(this) is being called\n bindCall.parentPath.isCallExpression({ callee: bindCall.node })\n );\n }\n\n return false;\n }\n}\n","import { types as t, template } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\n\nconst buildForAwait = template(`\n async function wrapper() {\n var ITERATOR_ABRUPT_COMPLETION = false;\n var ITERATOR_HAD_ERROR_KEY = false;\n var ITERATOR_ERROR_KEY;\n try {\n for (\n var ITERATOR_KEY = GET_ITERATOR(OBJECT), STEP_KEY;\n ITERATOR_ABRUPT_COMPLETION = !(STEP_KEY = await ITERATOR_KEY.next()).done;\n ITERATOR_ABRUPT_COMPLETION = false\n ) {\n }\n } catch (err) {\n ITERATOR_HAD_ERROR_KEY = true;\n ITERATOR_ERROR_KEY = err;\n } finally {\n try {\n if (ITERATOR_ABRUPT_COMPLETION && ITERATOR_KEY.return != null) {\n await ITERATOR_KEY.return();\n }\n } finally {\n if (ITERATOR_HAD_ERROR_KEY) {\n throw ITERATOR_ERROR_KEY;\n }\n }\n }\n }\n`);\n\nexport default function (\n path: NodePath,\n { getAsyncIterator }: { getAsyncIterator: t.Identifier },\n) {\n const { node, scope, parent } = path;\n\n const stepKey = scope.generateUidIdentifier(\"step\");\n const stepValue = t.memberExpression(stepKey, t.identifier(\"value\"));\n const left = node.left;\n let declar;\n\n if (t.isIdentifier(left) || t.isPattern(left) || t.isMemberExpression(left)) {\n // for await (i of test), for await ({ i } of test)\n declar = t.expressionStatement(\n t.assignmentExpression(\"=\", left, stepValue),\n );\n } else if (t.isVariableDeclaration(left)) {\n // for await (let i of test)\n declar = t.variableDeclaration(left.kind, [\n t.variableDeclarator(left.declarations[0].id, stepValue),\n ]);\n }\n let template = buildForAwait({\n ITERATOR_HAD_ERROR_KEY: scope.generateUidIdentifier(\"didIteratorError\"),\n ITERATOR_ABRUPT_COMPLETION: scope.generateUidIdentifier(\n \"iteratorAbruptCompletion\",\n ),\n ITERATOR_ERROR_KEY: scope.generateUidIdentifier(\"iteratorError\"),\n ITERATOR_KEY: scope.generateUidIdentifier(\"iterator\"),\n GET_ITERATOR: getAsyncIterator,\n OBJECT: node.right,\n STEP_KEY: t.cloneNode(stepKey),\n });\n\n // remove async function wrapper\n // @ts-expect-error todo(flow->ts) improve type annotation for buildForAwait\n template = template.body.body as t.Statement[];\n\n const isLabeledParent = t.isLabeledStatement(parent);\n const tryBody = (template[3] as t.TryStatement).block.body;\n const loop = tryBody[0] as t.ForStatement;\n\n if (isLabeledParent) {\n tryBody[0] = t.labeledStatement(parent.label, loop);\n }\n\n return {\n replaceParent: isLabeledParent,\n node: template,\n declar,\n loop,\n };\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport remapAsyncToGenerator from \"@babel/helper-remap-async-to-generator\";\nimport type { NodePath, Visitor } from \"@babel/traverse\";\nimport { traverse, types as t, type PluginPass } from \"@babel/core\";\nimport rewriteForAwait from \"./for-await.ts\";\nimport environmentVisitor from \"@babel/helper-environment-visitor\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n const yieldStarVisitor = traverse.visitors.merge([\n {\n ArrowFunctionExpression(path) {\n path.skip();\n },\n\n YieldExpression({ node }, state) {\n if (!node.delegate) return;\n const asyncIter = t.callExpression(state.addHelper(\"asyncIterator\"), [\n node.argument,\n ]);\n node.argument = t.callExpression(\n state.addHelper(\"asyncGeneratorDelegate\"),\n process.env.BABEL_8_BREAKING\n ? [asyncIter]\n : [asyncIter, state.addHelper(\"awaitAsyncGenerator\")],\n );\n },\n },\n environmentVisitor,\n ]);\n\n const forAwaitVisitor = traverse.visitors.merge([\n {\n ArrowFunctionExpression(path) {\n path.skip();\n },\n\n ForOfStatement(path: NodePath, { file }) {\n const { node } = path;\n if (!node.await) return;\n\n const build = rewriteForAwait(path, {\n getAsyncIterator: file.addHelper(\"asyncIterator\"),\n });\n\n const { declar, loop } = build;\n const block = loop.body as t.BlockStatement;\n\n // ensure that it's a block so we can take all its statements\n path.ensureBlock();\n\n // add the value declaration to the new loop body\n if (declar) {\n block.body.push(declar);\n if (path.node.body.body.length) {\n block.body.push(t.blockStatement(path.node.body.body));\n }\n } else {\n block.body.push(...path.node.body.body);\n }\n\n t.inherits(loop, node);\n t.inherits(loop.body, node.body);\n\n const p = build.replaceParent ? path.parentPath : path;\n p.replaceWithMultiple(build.node);\n\n // TODO: Avoid crawl\n p.scope.parent.crawl();\n },\n },\n environmentVisitor,\n ]);\n\n const visitor: Visitor = {\n Function(path, state) {\n if (!path.node.async) return;\n\n path.traverse(forAwaitVisitor, state);\n\n if (!path.node.generator) return;\n\n path.traverse(yieldStarVisitor, state);\n\n // We don't need to pass the noNewArrows assumption, since\n // async generators are never arrow functions.\n remapAsyncToGenerator(path, {\n wrapAsync: state.addHelper(\"wrapAsyncGenerator\"),\n wrapAwait: state.addHelper(\"awaitAsyncGenerator\"),\n });\n },\n };\n\n return {\n name: \"transform-async-generator-functions\",\n inherits: USE_ESM\n ? undefined\n : IS_STANDALONE\n ? undefined\n : // eslint-disable-next-line no-restricted-globals\n require(\"@babel/plugin-syntax-async-generators\").default,\n\n visitor: {\n Program(path, state) {\n // We need to traverse the ast here (instead of just vising Function\n // in the top level visitor) because for-await needs to run before the\n // async-to-generator plugin. This is because for-await is transpiled\n // using \"await\" expressions, which are then converted to \"yield\".\n //\n // This is bad for performance, but plugin ordering will allow as to\n // directly visit Function in the top level visitor.\n path.traverse(visitor, state);\n },\n },\n };\n});\n","// env vars from the cli are always strings, so !!ENV_VAR returns true for \"false\"\nfunction bool(value) {\n if (value == null) return false;\n return value && value !== \"false\" && value !== \"0\";\n}\n\nmodule.exports = bool(process.env[\"BABEL_8_BREAKING\"])\n ? require(\"semver-BABEL_8_BREAKING-true\")\n : require(\"semver-BABEL_8_BREAKING-false\");\n","import type { NodePath } from \"@babel/traverse\";\n\n/**\n * Test if a NodePath will be cast to boolean when evaluated.\n *\n * @example\n * // returns true\n * const nodePathAQDotB = NodePath(\"if (a?.#b) {}\").get(\"test\"); // a?.#b\n * willPathCastToBoolean(nodePathAQDotB)\n * @example\n * // returns false\n * willPathCastToBoolean(NodePath(\"a?.#b\"))\n * @todo Respect transparent expression wrappers\n * @see {@link packages/babel-plugin-transform-optional-chaining/src/util.js}\n * @param {NodePath} path\n * @returns {boolean}\n */\nexport function willPathCastToBoolean(path: NodePath): boolean {\n const maybeWrapped = path;\n const { node, parentPath } = maybeWrapped;\n if (parentPath.isLogicalExpression()) {\n const { operator, right } = parentPath.node;\n if (\n operator === \"&&\" ||\n operator === \"||\" ||\n (operator === \"??\" && node === right)\n ) {\n return willPathCastToBoolean(parentPath);\n }\n }\n if (parentPath.isSequenceExpression()) {\n const { expressions } = parentPath.node;\n if (expressions[expressions.length - 1] === node) {\n return willPathCastToBoolean(parentPath);\n } else {\n // if it is in the middle of a sequence expression, we don't\n // care the return value so just cast to boolean for smaller\n // output\n return true;\n }\n }\n return (\n parentPath.isConditional({ test: node }) ||\n parentPath.isUnaryExpression({ operator: \"!\" }) ||\n parentPath.isLoop({ test: node })\n );\n}\n","import type { NodePath, Visitor } from \"@babel/traverse\";\nimport {\n LOGICAL_OPERATORS,\n arrowFunctionExpression,\n assignmentExpression,\n binaryExpression,\n booleanLiteral,\n callExpression,\n cloneNode,\n conditionalExpression,\n identifier,\n isMemberExpression,\n isOptionalCallExpression,\n isOptionalMemberExpression,\n isUpdateExpression,\n logicalExpression,\n memberExpression,\n nullLiteral,\n optionalCallExpression,\n optionalMemberExpression,\n sequenceExpression,\n updateExpression,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport { willPathCastToBoolean } from \"./util.ts\";\n\nclass AssignmentMemoiser {\n private _map: WeakMap;\n constructor() {\n this._map = new WeakMap();\n }\n\n has(key: t.Expression) {\n return this._map.has(key);\n }\n\n get(key: t.Expression) {\n if (!this.has(key)) return;\n\n const record = this._map.get(key);\n const { value } = record;\n\n record.count--;\n if (record.count === 0) {\n // The `count` access is the outermost function call (hopefully), so it\n // does the assignment.\n return assignmentExpression(\"=\", value, key);\n }\n return value;\n }\n\n set(key: t.Expression, value: t.Identifier, count: number) {\n return this._map.set(key, { count, value });\n }\n}\n\nfunction toNonOptional(\n path: NodePath,\n base: t.Expression,\n): t.Expression {\n const { node } = path;\n if (isOptionalMemberExpression(node)) {\n return memberExpression(base, node.property, node.computed);\n }\n\n if (path.isOptionalCallExpression()) {\n const callee = path.get(\"callee\");\n if (path.node.optional && callee.isOptionalMemberExpression()) {\n // object must be a conditional expression because the optional private access in object has been transformed\n const object = callee.node.object as t.ConditionalExpression;\n const context = path.scope.maybeGenerateMemoised(object);\n callee\n .get(\"object\")\n .replaceWith(assignmentExpression(\"=\", context, object));\n\n return callExpression(memberExpression(base, identifier(\"call\")), [\n context,\n ...path.node.arguments,\n ]);\n }\n\n return callExpression(base, path.node.arguments);\n }\n\n return path.node;\n}\n\n// Determines if the current path is in a detached tree. This can happen when\n// we are iterating on a path, and replace an ancestor with a new node. Babel\n// doesn't always stop traversing the old node tree, and that can cause\n// inconsistencies.\nfunction isInDetachedTree(path: NodePath) {\n while (path) {\n if (path.isProgram()) break;\n\n const { parentPath, container, listKey } = path;\n const parentNode = parentPath.node;\n if (listKey) {\n if (\n container !==\n // @ts-expect-error listKey must be a valid parent node key\n parentNode[listKey]\n ) {\n return true;\n }\n } else {\n if (container !== parentNode) return true;\n }\n\n path = parentPath;\n }\n\n return false;\n}\n\ntype Member = NodePath;\n\nconst handle = {\n memoise() {\n // noop.\n },\n\n handle(this: HandlerState, member: Member, noDocumentAll: boolean) {\n const { node, parent, parentPath, scope } = member;\n\n if (member.isOptionalMemberExpression()) {\n // Transforming optional chaining requires we replace ancestors.\n if (isInDetachedTree(member)) return;\n\n // We're looking for the end of _this_ optional chain, which is actually\n // the \"rightmost\" property access of the chain. This is because\n // everything up to that property access is \"optional\".\n //\n // Let's take the case of `FOO?.BAR.baz?.qux`, with `FOO?.BAR` being our\n // member. The \"end\" to most users would be `qux` property access.\n // Everything up to it could be skipped if it `FOO` were nullish. But\n // actually, we can consider the `baz` access to be the end. So we're\n // looking for the nearest optional chain that is `optional: true`.\n const endPath = member.find(({ node, parent }) => {\n if (isOptionalMemberExpression(parent)) {\n // We need to check `parent.object` since we could be inside the\n // computed expression of a `bad?.[FOO?.BAR]`. In this case, the\n // endPath is the `FOO?.BAR` member itself.\n return parent.optional || parent.object !== node;\n }\n if (isOptionalCallExpression(parent)) {\n // Checking `parent.callee` since we could be in the arguments, eg\n // `bad?.(FOO?.BAR)`.\n // Also skip `FOO?.BAR` in `FOO?.BAR?.()` since we need to transform the optional call to ensure proper this\n return (\n // In FOO?.#BAR?.(), endPath points the optional call expression so we skip FOO?.#BAR\n (node !== member.node && parent.optional) || parent.callee !== node\n );\n }\n return true;\n }) as NodePath;\n\n // Replace `function (a, x = a.b?.#c) {}` to `function (a, x = (() => a.b?.#c)() ){}`\n // so the temporary variable can be injected in correct scope\n // This can be further optimized to avoid unnecessary IIFE\n if (scope.path.isPattern()) {\n endPath.replaceWith(\n // The injected member will be queued and eventually transformed when visited\n callExpression(arrowFunctionExpression([], endPath.node), []),\n );\n return;\n }\n\n const willEndPathCastToBoolean = willPathCastToBoolean(endPath);\n\n const rootParentPath = endPath.parentPath;\n if (rootParentPath.isUpdateExpression({ argument: node })) {\n throw member.buildCodeFrameError(`can't handle update expression`);\n }\n const isAssignment = rootParentPath.isAssignmentExpression({\n left: endPath.node,\n });\n const isDeleteOperation = rootParentPath.isUnaryExpression({\n operator: \"delete\",\n });\n if (\n isDeleteOperation &&\n endPath.isOptionalMemberExpression() &&\n endPath.get(\"property\").isPrivateName()\n ) {\n // @babel/parser will throw error on `delete obj?.#x`.\n // This error serves as fallback when `delete obj?.#x` is constructed from babel types\n throw member.buildCodeFrameError(\n `can't delete a private class element`,\n );\n }\n\n // Now, we're looking for the start of this optional chain, which is\n // optional to the left of this member.\n //\n // Let's take the case of `foo?.bar?.baz.QUX?.BAM`, with `QUX?.BAM` being\n // our member. The \"start\" to most users would be `foo` object access.\n // But actually, we can consider the `bar` access to be the start. So\n // we're looking for the nearest optional chain that is `optional: true`,\n // which is guaranteed to be somewhere in the object/callee tree.\n let startingOptional: NodePath = member;\n for (;;) {\n if (startingOptional.isOptionalMemberExpression()) {\n if (startingOptional.node.optional) break;\n startingOptional = startingOptional.get(\"object\");\n continue;\n } else if (startingOptional.isOptionalCallExpression()) {\n if (startingOptional.node.optional) break;\n startingOptional = startingOptional.get(\"callee\");\n continue;\n }\n // prevent infinite loop: unreachable if the AST is well-formed\n throw new Error(\n `Internal error: unexpected ${startingOptional.node.type}`,\n );\n }\n\n // @ts-expect-error isOptionalMemberExpression does not work with NodePath union\n const startingNode = startingOptional.isOptionalMemberExpression()\n ? // @ts-expect-error isOptionalMemberExpression does not work with NodePath union\n startingOptional.node.object\n : // @ts-expect-error isOptionalMemberExpression does not work with NodePath union\n startingOptional.node.callee;\n const baseNeedsMemoised = scope.maybeGenerateMemoised(startingNode);\n const baseRef = baseNeedsMemoised ?? startingNode;\n\n // Compute parentIsOptionalCall before `startingOptional` is replaced\n // as `node` may refer to `startingOptional.node` before replaced.\n const parentIsOptionalCall = parentPath.isOptionalCallExpression({\n callee: node,\n });\n // here we use a function to wrap `parentIsOptionalCall` to get type\n // for parent, do not use it anywhere else\n // See https://github.com/microsoft/TypeScript/issues/10421\n const isOptionalCall = (\n parent: t.Node,\n ): parent is t.OptionalCallExpression => parentIsOptionalCall;\n // if parentIsCall is true, it implies that node.extra.parenthesized is always true\n const parentIsCall = parentPath.isCallExpression({ callee: node });\n startingOptional.replaceWith(toNonOptional(startingOptional, baseRef));\n if (isOptionalCall(parent)) {\n if (parent.optional) {\n parentPath.replaceWith(this.optionalCall(member, parent.arguments));\n } else {\n parentPath.replaceWith(this.call(member, parent.arguments));\n }\n } else if (parentIsCall) {\n // `(a?.#b)()` to `(a == null ? void 0 : a.#b.bind(a))()`\n member.replaceWith(this.boundGet(member));\n } else if (\n (process.env.BABEL_8_BREAKING || this.delete) &&\n parentPath.isUnaryExpression({ operator: \"delete\" })\n ) {\n parentPath.replaceWith(this.delete(member));\n } else if (parentPath.isAssignmentExpression()) {\n // `a?.#b = c` to `(a == null ? void 0 : a.#b = c)`\n handleAssignment(this, member, parentPath);\n } else {\n member.replaceWith(this.get(member));\n }\n\n let regular: t.Expression = member.node;\n for (let current: NodePath = member; current !== endPath; ) {\n const parentPath = current.parentPath as NodePath;\n // skip transforming `Foo.#BAR?.call(FOO)`\n if (\n parentPath === endPath &&\n isOptionalCall(parent) &&\n parent.optional\n ) {\n regular = parentPath.node;\n break;\n }\n regular = toNonOptional(parentPath, regular);\n current = parentPath;\n }\n\n let context: t.Identifier;\n const endParentPath = endPath.parentPath as NodePath;\n if (\n isMemberExpression(regular) &&\n endParentPath.isOptionalCallExpression({\n callee: endPath.node,\n optional: true,\n })\n ) {\n const { object } = regular;\n context = member.scope.maybeGenerateMemoised(object);\n if (context) {\n regular.object = assignmentExpression(\n \"=\",\n context,\n // object must not be Super when `context` is an identifier\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n object as t.Expression,\n );\n }\n }\n\n let replacementPath: NodePath = endPath;\n if (isDeleteOperation || isAssignment) {\n replacementPath = endParentPath;\n regular = endParentPath.node;\n }\n\n const baseMemoised = baseNeedsMemoised\n ? assignmentExpression(\n \"=\",\n // When base needs memoised, the baseRef must be an identifier\n cloneNode(baseRef as t.Identifier),\n cloneNode(startingNode),\n )\n : cloneNode(baseRef);\n\n if (willEndPathCastToBoolean) {\n let nonNullishCheck;\n if (noDocumentAll) {\n nonNullishCheck = binaryExpression(\"!=\", baseMemoised, nullLiteral());\n } else {\n nonNullishCheck = logicalExpression(\n \"&&\",\n binaryExpression(\"!==\", baseMemoised, nullLiteral()),\n binaryExpression(\n \"!==\",\n cloneNode(baseRef),\n scope.buildUndefinedNode(),\n ),\n );\n }\n replacementPath.replaceWith(\n logicalExpression(\"&&\", nonNullishCheck, regular),\n );\n } else {\n let nullishCheck;\n if (noDocumentAll) {\n nullishCheck = binaryExpression(\"==\", baseMemoised, nullLiteral());\n } else {\n nullishCheck = logicalExpression(\n \"||\",\n binaryExpression(\"===\", baseMemoised, nullLiteral()),\n binaryExpression(\n \"===\",\n cloneNode(baseRef),\n scope.buildUndefinedNode(),\n ),\n );\n }\n\n replacementPath.replaceWith(\n conditionalExpression(\n nullishCheck,\n isDeleteOperation\n ? booleanLiteral(true)\n : scope.buildUndefinedNode(),\n regular,\n ),\n );\n }\n\n // context and isDeleteOperation can not be both truthy\n if (context) {\n const endParent = endParentPath.node as t.OptionalCallExpression;\n endParentPath.replaceWith(\n optionalCallExpression(\n optionalMemberExpression(\n endParent.callee,\n identifier(\"call\"),\n false,\n true,\n ),\n [cloneNode(context), ...endParent.arguments],\n false,\n ),\n );\n }\n\n return;\n }\n\n // MEMBER++ -> _set(MEMBER, (ref = _get(MEMBER), ref2 = ref++, ref)), ref2\n // ++MEMBER -> _set(MEMBER, (ref = _get(MEMBER), ++ref))\n if (isUpdateExpression(parent, { argument: node })) {\n if (this.simpleSet) {\n member.replaceWith(this.simpleSet(member));\n return;\n }\n\n const { operator, prefix } = parent;\n\n // Give the state handler a chance to memoise the member, since we'll\n // reference it twice. The second access (the set) should do the memo\n // assignment.\n this.memoise(member, 2);\n\n const ref = scope.generateUidIdentifierBasedOnNode(node);\n scope.push({ id: ref });\n\n const seq: t.Expression[] = [\n // ref = _get(MEMBER)\n assignmentExpression(\"=\", cloneNode(ref), this.get(member)),\n ];\n\n if (prefix) {\n seq.push(updateExpression(operator, cloneNode(ref), prefix));\n\n // (ref = _get(MEMBER), ++ref)\n const value = sequenceExpression(seq);\n parentPath.replaceWith(this.set(member, value));\n\n return;\n } else {\n const ref2 = scope.generateUidIdentifierBasedOnNode(node);\n scope.push({ id: ref2 });\n\n seq.push(\n assignmentExpression(\n \"=\",\n cloneNode(ref2),\n updateExpression(operator, cloneNode(ref), prefix),\n ),\n cloneNode(ref),\n );\n\n // (ref = _get(MEMBER), ref2 = ref++, ref)\n const value = sequenceExpression(seq);\n parentPath.replaceWith(\n sequenceExpression([this.set(member, value), cloneNode(ref2)]),\n );\n\n return;\n }\n }\n\n // MEMBER = VALUE -> _set(MEMBER, VALUE)\n // MEMBER += VALUE -> _set(MEMBER, _get(MEMBER) + VALUE)\n // MEMBER ??= VALUE -> _get(MEMBER) ?? _set(MEMBER, VALUE)\n if (parentPath.isAssignmentExpression({ left: node })) {\n handleAssignment(this, member, parentPath);\n return;\n }\n\n // MEMBER(ARGS) -> _call(MEMBER, ARGS)\n if (parentPath.isCallExpression({ callee: node })) {\n parentPath.replaceWith(this.call(member, parentPath.node.arguments));\n return;\n }\n\n // MEMBER?.(ARGS) -> _optionalCall(MEMBER, ARGS)\n if (parentPath.isOptionalCallExpression({ callee: node })) {\n // Replace `function (a, x = a.b.#c?.()) {}` to `function (a, x = (() => a.b.#c?.())() ){}`\n // so the temporary variable can be injected in correct scope\n // This can be further optimized to avoid unnecessary IIFE\n if (scope.path.isPattern()) {\n parentPath.replaceWith(\n // The injected member will be queued and eventually transformed when visited\n callExpression(arrowFunctionExpression([], parentPath.node), []),\n );\n return;\n }\n parentPath.replaceWith(\n this.optionalCall(member, parentPath.node.arguments),\n );\n return;\n }\n\n // delete MEMBER -> _delete(MEMBER)\n if (\n (process.env.BABEL_8_BREAKING || this.delete) &&\n parentPath.isUnaryExpression({ operator: \"delete\" })\n ) {\n parentPath.replaceWith(this.delete(member));\n return;\n }\n\n // for (MEMBER of ARR)\n // for (MEMBER in ARR)\n // { KEY: MEMBER } = OBJ -> { KEY: _destructureSet(MEMBER) } = OBJ\n // { KEY: MEMBER = _VALUE } = OBJ -> { KEY: _destructureSet(MEMBER) = _VALUE } = OBJ\n // {...MEMBER} -> {..._destructureSet(MEMBER)}\n //\n // [MEMBER] = ARR -> [_destructureSet(MEMBER)] = ARR\n // [MEMBER = _VALUE] = ARR -> [_destructureSet(MEMBER) = _VALUE] = ARR\n // [...MEMBER] -> [..._destructureSet(MEMBER)]\n if (\n // for (MEMBER of ARR)\n // for (MEMBER in ARR)\n parentPath.isForXStatement({ left: node }) ||\n // { KEY: MEMBER } = OBJ\n (parentPath.isObjectProperty({ value: node }) &&\n parentPath.parentPath.isObjectPattern()) ||\n // { KEY: MEMBER = _VALUE } = OBJ\n (parentPath.isAssignmentPattern({ left: node }) &&\n parentPath.parentPath.isObjectProperty({ value: parent }) &&\n parentPath.parentPath.parentPath.isObjectPattern()) ||\n // [MEMBER] = ARR\n parentPath.isArrayPattern() ||\n // [MEMBER = _VALUE] = ARR\n (parentPath.isAssignmentPattern({ left: node }) &&\n parentPath.parentPath.isArrayPattern()) ||\n // {...MEMBER}\n // [...MEMBER]\n parentPath.isRestElement()\n ) {\n member.replaceWith(this.destructureSet(member));\n return;\n }\n\n if (parentPath.isTaggedTemplateExpression()) {\n // MEMBER -> _get(MEMBER).bind(this)\n member.replaceWith(this.boundGet(member));\n } else {\n // MEMBER -> _get(MEMBER)\n member.replaceWith(this.get(member));\n }\n },\n};\n\nfunction handleAssignment(\n state: HandlerState,\n member: NodePath,\n parentPath: NodePath,\n) {\n if (state.simpleSet) {\n member.replaceWith(state.simpleSet(member));\n return;\n }\n\n const { operator, right: value } = parentPath.node;\n\n if (operator === \"=\") {\n parentPath.replaceWith(state.set(member, value));\n } else {\n const operatorTrunc = operator.slice(0, -1);\n if (LOGICAL_OPERATORS.includes(operatorTrunc)) {\n // Give the state handler a chance to memoise the member, since we'll\n // reference it twice. The first access (the get) should do the memo\n // assignment.\n state.memoise(member, 1);\n parentPath.replaceWith(\n logicalExpression(\n operatorTrunc as t.LogicalExpression[\"operator\"],\n state.get(member),\n state.set(member, value),\n ),\n );\n } else {\n // Here, the second access (the set) is evaluated first.\n state.memoise(member, 2);\n parentPath.replaceWith(\n state.set(\n member,\n binaryExpression(\n operatorTrunc as t.BinaryExpression[\"operator\"],\n state.get(member),\n value,\n ),\n ),\n );\n }\n }\n}\n\nexport interface Handler {\n memoise?(\n this: HandlerState & State,\n member: Member,\n count: number,\n ): void;\n destructureSet(\n this: HandlerState & State,\n member: Member,\n ): t.Expression;\n boundGet(this: HandlerState & State, member: Member): t.Expression;\n simpleSet?(this: HandlerState & State, member: Member): t.Expression;\n get(this: HandlerState & State, member: Member): t.Expression;\n set(\n this: HandlerState & State,\n member: Member,\n value: t.Expression,\n ): t.Expression;\n call(\n this: HandlerState & State,\n member: Member,\n args: t.CallExpression[\"arguments\"],\n ): t.Expression;\n optionalCall(\n this: HandlerState & State,\n member: Member,\n args: t.OptionalCallExpression[\"arguments\"],\n ): t.Expression;\n delete(this: HandlerState & State, member: Member): t.Expression;\n}\n\nexport interface HandlerState extends Handler {\n handle(\n this: HandlerState & State,\n member: Member,\n noDocumentAll?: boolean,\n ): void;\n memoiser: AssignmentMemoiser;\n}\n\n// We do not provide a default traversal visitor\n// Instead, caller passes one, and must call `state.handle` on the members\n// it wishes to be transformed.\n// Additionally, the caller must pass in a state object with at least\n// get, set, and call methods.\n// Optionally, a memoise method may be defined on the state, which will be\n// called when the member is a self-referential update.\nexport default function memberExpressionToFunctions(\n path: NodePath,\n visitor: Visitor>,\n state: Handler & CustomState,\n) {\n path.traverse(visitor, {\n ...handle,\n ...state,\n memoiser: new AssignmentMemoiser(),\n });\n}\n","import {\n callExpression,\n identifier,\n isIdentifier,\n isSpreadElement,\n memberExpression,\n optionalCallExpression,\n optionalMemberExpression,\n} from \"@babel/types\";\nimport type {\n CallExpression,\n Expression,\n OptionalCallExpression,\n} from \"@babel/types\";\n\n/**\n * A helper function that generates a new call expression with given thisNode.\n It will also optimize `(...arguments)` to `.apply(arguments)`\n *\n * @export\n * @param {Expression} callee The callee of call expression\n * @param {Expression} thisNode The desired this of call expression\n * @param {Readonly} args The arguments of call expression\n * @param {boolean} optional Whether the call expression is optional\n * @returns {CallExpression | OptionalCallExpression} The generated new call expression\n */\nexport default function optimiseCallExpression(\n callee: Expression,\n thisNode: Expression,\n args: Readonly,\n optional: boolean,\n): CallExpression | OptionalCallExpression {\n if (\n args.length === 1 &&\n isSpreadElement(args[0]) &&\n isIdentifier(args[0].argument, { name: \"arguments\" })\n ) {\n // a.b?.(...arguments);\n if (optional) {\n return optionalCallExpression(\n optionalMemberExpression(callee, identifier(\"apply\"), false, true),\n [thisNode, args[0].argument],\n false,\n );\n }\n // a.b(...arguments);\n return callExpression(memberExpression(callee, identifier(\"apply\")), [\n thisNode,\n args[0].argument,\n ]);\n } else {\n // a.b?.(arg1, arg2)\n if (optional) {\n return optionalCallExpression(\n optionalMemberExpression(callee, identifier(\"call\"), false, true),\n [thisNode, ...args],\n false,\n );\n }\n // a.b(arg1, arg2)\n return callExpression(memberExpression(callee, identifier(\"call\")), [\n thisNode,\n ...args,\n ]);\n }\n}\n","import type { File } from \"@babel/core\";\nimport environmentVisitor from \"@babel/helper-environment-visitor\";\nimport memberExpressionToFunctions from \"@babel/helper-member-expression-to-functions\";\nimport type { HandlerState } from \"@babel/helper-member-expression-to-functions\";\nimport optimiseCall from \"@babel/helper-optimise-call-expression\";\nimport { traverse, template, types as t } from \"@babel/core\";\nimport type { NodePath, Scope } from \"@babel/traverse\";\nconst {\n assignmentExpression,\n booleanLiteral,\n callExpression,\n cloneNode,\n identifier,\n memberExpression,\n sequenceExpression,\n stringLiteral,\n thisExpression,\n} = t;\n\nif (!process.env.BABEL_8_BREAKING && !USE_ESM && !IS_STANDALONE) {\n // eslint-disable-next-line no-restricted-globals\n const ns = require(\"@babel/helper-environment-visitor\");\n // eslint-disable-next-line no-restricted-globals\n exports.environmentVisitor = ns.default;\n // eslint-disable-next-line no-restricted-globals\n exports.skipAllButComputedKey = ns.skipAllButComputedKey;\n}\n\ntype ThisRef =\n | {\n memo: t.AssignmentExpression;\n this: t.Identifier;\n }\n | { this: t.ThisExpression };\n/**\n * Creates an expression which result is the proto of objectRef.\n *\n * @example isStatic === true\n *\n * helpers.getPrototypeOf(CLASS)\n *\n * @example isStatic === false\n *\n * helpers.getPrototypeOf(CLASS.prototype)\n */\nfunction getPrototypeOfExpression(\n objectRef: t.Identifier,\n isStatic: boolean,\n file: File,\n isPrivateMethod: boolean,\n) {\n objectRef = cloneNode(objectRef);\n const targetRef =\n isStatic || isPrivateMethod\n ? objectRef\n : memberExpression(objectRef, identifier(\"prototype\"));\n\n return callExpression(file.addHelper(\"getPrototypeOf\"), [targetRef]);\n}\n\nconst visitor = traverse.visitors.merge<\n HandlerState & ReplaceState\n>([\n environmentVisitor,\n {\n Super(path, state) {\n const { node, parentPath } = path;\n if (!parentPath.isMemberExpression({ object: node })) return;\n state.handle(parentPath);\n },\n },\n]);\n\nconst unshadowSuperBindingVisitor = traverse.visitors.merge<{\n refName: string;\n}>([\n environmentVisitor,\n {\n Scopable(path, { refName }) {\n // https://github.com/Zzzen/babel/pull/1#pullrequestreview-564833183\n const binding = path.scope.getOwnBinding(refName);\n if (binding && binding.identifier.name === refName) {\n path.scope.rename(refName);\n }\n },\n },\n]);\n\ntype SharedState = {\n file: File;\n scope: Scope;\n isDerivedConstructor: boolean;\n isStatic: boolean;\n isPrivateMethod: boolean;\n getObjectRef: () => t.Identifier;\n getSuperRef: () => t.Identifier;\n // we dont need boundGet here, but memberExpressionToFunctions handler needs it.\n boundGet: HandlerState[\"get\"];\n};\n\ntype Handler = HandlerState & SharedState;\ntype SuperMember = NodePath<\n t.MemberExpression & {\n object: t.Super;\n property: Exclude;\n }\n>;\n\ninterface SpecHandler\n extends Pick<\n Handler,\n | \"memoise\"\n | \"get\"\n | \"set\"\n | \"destructureSet\"\n | \"call\"\n | \"optionalCall\"\n | \"delete\"\n > {\n _get(\n this: Handler & SpecHandler,\n superMember: SuperMember,\n thisRefs: ThisRef,\n ): t.CallExpression;\n _getThisRefs(): ThisRef;\n prop(this: Handler & SpecHandler, superMember: SuperMember): t.Expression;\n}\n\nconst specHandlers: SpecHandler = {\n memoise(\n this: Handler & SpecHandler,\n superMember: SuperMember,\n count: number,\n ) {\n const { scope, node } = superMember;\n const { computed, property } = node;\n if (!computed) {\n return;\n }\n\n const memo = scope.maybeGenerateMemoised(property);\n if (!memo) {\n return;\n }\n\n this.memoiser.set(property, memo, count);\n },\n\n prop(this: Handler & SpecHandler, superMember: SuperMember) {\n const { computed, property } = superMember.node;\n if (this.memoiser.has(property)) {\n return cloneNode(this.memoiser.get(property));\n }\n\n if (computed) {\n return cloneNode(property);\n }\n\n return stringLiteral((property as t.Identifier).name);\n },\n\n get(this: Handler & SpecHandler, superMember: SuperMember) {\n return this._get(superMember, this._getThisRefs());\n },\n\n _get(\n this: Handler & SpecHandler,\n superMember: SuperMember,\n thisRefs: ThisRef,\n ) {\n const proto = getPrototypeOfExpression(\n this.getObjectRef(),\n this.isStatic,\n this.file,\n this.isPrivateMethod,\n );\n return callExpression(this.file.addHelper(\"get\"), [\n // @ts-expect-error memo does not exist when this.isDerivedConstructor is false\n thisRefs.memo ? sequenceExpression([thisRefs.memo, proto]) : proto,\n this.prop(superMember),\n thisRefs.this,\n ]);\n },\n\n _getThisRefs(this: Handler & SpecHandler): ThisRef {\n if (!this.isDerivedConstructor) {\n return { this: thisExpression() };\n }\n const thisRef = this.scope.generateDeclaredUidIdentifier(\"thisSuper\");\n return {\n memo: assignmentExpression(\"=\", thisRef, thisExpression()),\n this: cloneNode(thisRef),\n };\n },\n\n set(\n this: Handler & SpecHandler,\n superMember: SuperMember,\n value: t.Expression,\n ) {\n const thisRefs = this._getThisRefs();\n const proto = getPrototypeOfExpression(\n this.getObjectRef(),\n this.isStatic,\n this.file,\n this.isPrivateMethod,\n );\n return callExpression(this.file.addHelper(\"set\"), [\n // @ts-expect-error memo does not exist when this.isDerivedConstructor is false\n thisRefs.memo ? sequenceExpression([thisRefs.memo, proto]) : proto,\n this.prop(superMember),\n value,\n thisRefs.this,\n booleanLiteral(superMember.isInStrictMode()),\n ]);\n },\n\n destructureSet(this: Handler & SpecHandler, superMember: SuperMember) {\n throw superMember.buildCodeFrameError(\n `Destructuring to a super field is not supported yet.`,\n );\n },\n\n call(\n this: Handler & SpecHandler,\n superMember: SuperMember,\n args: t.CallExpression[\"arguments\"],\n ) {\n const thisRefs = this._getThisRefs();\n return optimiseCall(\n this._get(superMember, thisRefs),\n cloneNode(thisRefs.this),\n args,\n false,\n );\n },\n\n optionalCall(\n this: Handler & SpecHandler,\n superMember: SuperMember,\n args: t.CallExpression[\"arguments\"],\n ) {\n const thisRefs = this._getThisRefs();\n return optimiseCall(\n this._get(superMember, thisRefs),\n cloneNode(thisRefs.this),\n args,\n true,\n );\n },\n\n delete(this: Handler & SpecHandler, superMember: SuperMember) {\n if (superMember.node.computed) {\n return sequenceExpression([\n callExpression(this.file.addHelper(\"toPropertyKey\"), [\n cloneNode(superMember.node.property),\n ]),\n template.expression.ast`\n function () { throw new ReferenceError(\"'delete super[expr]' is invalid\"); }()\n `,\n ]);\n } else {\n return template.expression.ast`\n function () { throw new ReferenceError(\"'delete super.prop' is invalid\"); }()\n `;\n }\n },\n};\n\nconst looseHandlers = {\n ...specHandlers,\n\n prop(this: Handler & typeof specHandlers, superMember: SuperMember) {\n const { property } = superMember.node;\n if (this.memoiser.has(property)) {\n return cloneNode(this.memoiser.get(property));\n }\n\n return cloneNode(property);\n },\n\n get(this: Handler & typeof specHandlers, superMember: SuperMember) {\n const { isStatic, getSuperRef } = this;\n const { computed } = superMember.node;\n const prop = this.prop(superMember);\n\n let object;\n if (isStatic) {\n object =\n getSuperRef() ??\n memberExpression(identifier(\"Function\"), identifier(\"prototype\"));\n } else {\n object = memberExpression(\n getSuperRef() ?? identifier(\"Object\"),\n identifier(\"prototype\"),\n );\n }\n\n return memberExpression(object, prop, computed);\n },\n\n set(\n this: Handler & typeof specHandlers,\n superMember: SuperMember,\n value: t.Expression,\n ) {\n const { computed } = superMember.node;\n const prop = this.prop(superMember);\n\n return assignmentExpression(\n \"=\",\n memberExpression(thisExpression(), prop, computed),\n value,\n );\n },\n\n destructureSet(\n this: Handler & typeof specHandlers,\n superMember: SuperMember,\n ) {\n const { computed } = superMember.node;\n const prop = this.prop(superMember);\n\n return memberExpression(thisExpression(), prop, computed);\n },\n\n call(\n this: Handler & typeof specHandlers,\n superMember: SuperMember,\n args: t.CallExpression[\"arguments\"],\n ) {\n return optimiseCall(this.get(superMember), thisExpression(), args, false);\n },\n\n optionalCall(\n this: Handler & typeof specHandlers,\n superMember: SuperMember,\n args: t.CallExpression[\"arguments\"],\n ) {\n return optimiseCall(this.get(superMember), thisExpression(), args, true);\n },\n};\n\ntype ReplaceSupersOptionsBase = {\n methodPath: NodePath<\n | t.ClassMethod\n | t.ClassProperty\n | t.ObjectMethod\n | t.ClassPrivateMethod\n | t.ClassPrivateProperty\n | t.StaticBlock\n >;\n constantSuper?: boolean;\n file: File;\n // objectRef might have been shadowed in child scopes,\n // in that case, we need to rename related variables.\n refToPreserve?: t.Identifier;\n};\n\ntype ReplaceSupersOptions = ReplaceSupersOptionsBase &\n (\n | { objectRef?: undefined; getObjectRef: () => t.Node }\n | { objectRef: t.Node; getObjectRef?: undefined }\n ) &\n (\n | { superRef?: undefined; getSuperRef: () => t.Node }\n | { superRef: t.Node; getSuperRef?: undefined }\n );\n\ninterface ReplaceState {\n file: File;\n scope: Scope;\n isDerivedConstructor: boolean;\n isStatic: boolean;\n isPrivateMethod: boolean;\n getObjectRef: ReplaceSupers[\"getObjectRef\"];\n getSuperRef: ReplaceSupers[\"getSuperRef\"];\n}\n\nexport default class ReplaceSupers {\n constructor(opts: ReplaceSupersOptions) {\n const path = opts.methodPath;\n\n this.methodPath = path;\n this.isDerivedConstructor =\n path.isClassMethod({ kind: \"constructor\" }) && !!opts.superRef;\n this.isStatic =\n path.isObjectMethod() ||\n // @ts-expect-error static is not in ClassPrivateMethod\n path.node.static ||\n path.isStaticBlock?.();\n this.isPrivateMethod = path.isPrivate() && path.isMethod();\n\n this.file = opts.file;\n this.constantSuper = process.env.BABEL_8_BREAKING\n ? opts.constantSuper\n : // Fallback to isLoose for backward compatibility\n opts.constantSuper ?? (opts as any).isLoose;\n this.opts = opts;\n }\n\n declare file: File;\n declare isDerivedConstructor: boolean;\n declare constantSuper: boolean;\n declare isPrivateMethod: boolean;\n declare isStatic: boolean;\n declare methodPath: NodePath;\n declare opts: ReplaceSupersOptions;\n\n getObjectRef() {\n return cloneNode(this.opts.objectRef || this.opts.getObjectRef());\n }\n\n getSuperRef() {\n if (this.opts.superRef) return cloneNode(this.opts.superRef);\n if (this.opts.getSuperRef) {\n return cloneNode(this.opts.getSuperRef());\n }\n }\n\n replace() {\n // https://github.com/babel/babel/issues/11994\n if (this.opts.refToPreserve) {\n this.methodPath.traverse(unshadowSuperBindingVisitor, {\n refName: this.opts.refToPreserve.name,\n });\n }\n\n const handler = this.constantSuper ? looseHandlers : specHandlers;\n\n memberExpressionToFunctions(this.methodPath, visitor, {\n file: this.file,\n scope: this.methodPath.scope,\n isDerivedConstructor: this.isDerivedConstructor,\n isStatic: this.isStatic,\n isPrivateMethod: this.isPrivateMethod,\n getObjectRef: this.getObjectRef.bind(this),\n getSuperRef: this.getSuperRef.bind(this),\n // we dont need boundGet here, but memberExpressionToFunctions handler needs it.\n boundGet: handler.get,\n ...handler,\n });\n }\n}\n","import {\n isParenthesizedExpression,\n isTSAsExpression,\n isTSNonNullExpression,\n isTSSatisfiesExpression,\n isTSTypeAssertion,\n isTypeCastExpression,\n} from \"@babel/types\";\n\nimport type * as t from \"@babel/types\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport type TransparentExprWrapper =\n | t.TSAsExpression\n | t.TSSatisfiesExpression\n | t.TSTypeAssertion\n | t.TSNonNullExpression\n | t.TypeCastExpression\n | t.ParenthesizedExpression;\n\n// A transparent expression wrapper is an AST node that most plugins will wish\n// to skip, as its presence does not affect the behaviour of the code. This\n// includes expressions used for types, and extra parenthesis. For example, in\n// (a as any)(), this helper can be used to skip the TSAsExpression when\n// determining the callee.\nexport function isTransparentExprWrapper(\n node: t.Node,\n): node is TransparentExprWrapper {\n return (\n isTSAsExpression(node) ||\n isTSSatisfiesExpression(node) ||\n isTSTypeAssertion(node) ||\n isTSNonNullExpression(node) ||\n isTypeCastExpression(node) ||\n isParenthesizedExpression(node)\n );\n}\n\nexport function skipTransparentExprWrappers(\n path: NodePath,\n): NodePath {\n while (isTransparentExprWrapper(path.node)) {\n path = path.get(\"expression\");\n }\n return path;\n}\n\nexport function skipTransparentExprWrapperNodes(\n node: t.Expression | t.Super,\n): t.Expression | t.Super {\n while (isTransparentExprWrapper(node)) {\n node = node.expression;\n }\n return node;\n}\n","import type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\n\nexport function assertFieldTransformed(\n path: NodePath,\n) {\n if (\n path.node.declare ||\n (process.env.BABEL_8_BREAKING\n ? path.isClassProperty({ definite: true })\n : false)\n ) {\n throw path.buildCodeFrameError(\n `TypeScript 'declare' fields must first be transformed by ` +\n `@babel/plugin-transform-typescript.\\n` +\n `If you have already enabled that plugin (or '@babel/preset-typescript'), make sure ` +\n `that it runs before any plugin related to additional class features:\\n` +\n ` - @babel/plugin-transform-class-properties\\n` +\n ` - @babel/plugin-transform-private-methods\\n` +\n ` - @babel/plugin-proposal-decorators`,\n );\n }\n}\n","import { template, traverse, types as t } from \"@babel/core\";\nimport type { File } from \"@babel/core\";\nimport type { NodePath, Visitor, Scope } from \"@babel/traverse\";\nimport ReplaceSupers from \"@babel/helper-replace-supers\";\nimport environmentVisitor from \"@babel/helper-environment-visitor\";\nimport memberExpressionToFunctions from \"@babel/helper-member-expression-to-functions\";\nimport type {\n Handler,\n HandlerState,\n} from \"@babel/helper-member-expression-to-functions\";\nimport optimiseCall from \"@babel/helper-optimise-call-expression\";\nimport annotateAsPure from \"@babel/helper-annotate-as-pure\";\nimport { skipTransparentExprWrapperNodes } from \"@babel/helper-skip-transparent-expression-wrappers\";\n\nimport * as ts from \"./typescript.ts\";\n\ninterface PrivateNameMetadata {\n id: t.Identifier;\n static: boolean;\n method: boolean;\n getId?: t.Identifier;\n setId?: t.Identifier;\n methodId?: t.Identifier;\n initAdded?: boolean;\n getterDeclared?: boolean;\n setterDeclared?: boolean;\n}\n\ntype PrivateNamesMap = Map;\n\nexport function buildPrivateNamesMap(props: PropPath[]) {\n const privateNamesMap: PrivateNamesMap = new Map();\n for (const prop of props) {\n if (prop.isPrivate()) {\n const { name } = prop.node.key.id;\n const update: PrivateNameMetadata = privateNamesMap.has(name)\n ? privateNamesMap.get(name)\n : {\n id: prop.scope.generateUidIdentifier(name),\n static: prop.node.static,\n method: !prop.isProperty(),\n };\n if (prop.isClassPrivateMethod()) {\n if (prop.node.kind === \"get\") {\n update.getId = prop.scope.generateUidIdentifier(`get_${name}`);\n } else if (prop.node.kind === \"set\") {\n update.setId = prop.scope.generateUidIdentifier(`set_${name}`);\n } else if (prop.node.kind === \"method\") {\n update.methodId = prop.scope.generateUidIdentifier(name);\n }\n }\n privateNamesMap.set(name, update);\n }\n }\n return privateNamesMap;\n}\n\nexport function buildPrivateNamesNodes(\n privateNamesMap: PrivateNamesMap,\n privateFieldsAsProperties: boolean,\n privateFieldsAsSymbols: boolean,\n state: File,\n) {\n const initNodes: t.Statement[] = [];\n\n for (const [name, value] of privateNamesMap) {\n // - When the privateFieldsAsProperties assumption is enabled,\n // both static and instance fields are transpiled using a\n // secret non-enumerable property. Hence, we also need to generate that\n // key (using the classPrivateFieldLooseKey helper).\n // - When the privateFieldsAsSymbols assumption is enabled,\n // both static and instance fields are transpiled using a\n // unique Symbol to define a non-enumerable property.\n // - In spec mode, only instance fields need a \"private name\" initializer\n // because static fields are directly assigned to a variable in the\n // buildPrivateStaticFieldInitSpec function.\n const { static: isStatic, method: isMethod, getId, setId } = value;\n const isAccessor = getId || setId;\n const id = t.cloneNode(value.id);\n\n let init: t.Expression;\n\n if (privateFieldsAsProperties) {\n init = t.callExpression(state.addHelper(\"classPrivateFieldLooseKey\"), [\n t.stringLiteral(name),\n ]);\n } else if (privateFieldsAsSymbols) {\n init = t.callExpression(t.identifier(\"Symbol\"), [t.stringLiteral(name)]);\n } else if (!isStatic) {\n init = t.newExpression(\n t.identifier(!isMethod || isAccessor ? \"WeakMap\" : \"WeakSet\"),\n [],\n );\n }\n\n if (init) {\n annotateAsPure(init);\n initNodes.push(template.statement.ast`var ${id} = ${init}`);\n }\n }\n\n return initNodes;\n}\n\ninterface PrivateNameVisitorState {\n privateNamesMap: PrivateNamesMap;\n privateFieldsAsProperties: boolean;\n redeclared?: string[];\n}\n\n// Traverses the class scope, handling private name references. If an inner\n// class redeclares the same private name, it will hand off traversal to the\n// restricted visitor (which doesn't traverse the inner class's inner scope).\nfunction privateNameVisitorFactory(\n visitor: Visitor,\n) {\n // Traverses the outer portion of a class, without touching the class's inner\n // scope, for private names.\n const nestedVisitor = traverse.visitors.merge([\n {\n ...visitor,\n },\n environmentVisitor,\n ]);\n\n const privateNameVisitor: Visitor = {\n ...visitor,\n\n Class(path) {\n const { privateNamesMap } = this;\n const body = path.get(\"body.body\");\n\n const visiblePrivateNames = new Map(privateNamesMap);\n const redeclared = [];\n for (const prop of body) {\n if (!prop.isPrivate()) continue;\n const { name } = prop.node.key.id;\n visiblePrivateNames.delete(name);\n redeclared.push(name);\n }\n\n // If the class doesn't redeclare any private fields, we can continue with\n // our overall traversal.\n if (!redeclared.length) {\n return;\n }\n\n // This class redeclares some private field. We need to process the outer\n // environment with access to all the outer privates, then we can process\n // the inner environment with only the still-visible outer privates.\n path.get(\"body\").traverse(nestedVisitor, {\n ...this,\n redeclared,\n });\n path.traverse(privateNameVisitor, {\n ...this,\n privateNamesMap: visiblePrivateNames,\n });\n\n // We'll eventually hit this class node again with the overall Class\n // Features visitor, which'll process the redeclared privates.\n path.skipKey(\"body\");\n },\n };\n\n return privateNameVisitor;\n}\n\ninterface PrivateNameState {\n privateNamesMap: PrivateNamesMap;\n classRef: t.Identifier;\n file: File;\n noDocumentAll: boolean;\n innerBinding?: t.Identifier;\n}\n\nconst privateNameVisitor = privateNameVisitorFactory<\n HandlerState & PrivateNameState\n>({\n PrivateName(path, { noDocumentAll }) {\n const { privateNamesMap, redeclared } = this;\n const { node, parentPath } = path;\n\n if (\n !parentPath.isMemberExpression({ property: node }) &&\n !parentPath.isOptionalMemberExpression({ property: node })\n ) {\n return;\n }\n const { name } = node.id;\n if (!privateNamesMap.has(name)) return;\n if (redeclared && redeclared.includes(name)) return;\n\n this.handle(parentPath, noDocumentAll);\n },\n});\n\n// rename all bindings that shadows innerBinding\nfunction unshadow(\n name: string,\n scope: Scope,\n innerBinding: t.Identifier | undefined,\n) {\n // in some cases, scope.getBinding(name) === undefined\n // so we check hasBinding to avoid keeping looping\n // see: https://github.com/babel/babel/pull/13656#discussion_r686030715\n while (\n scope?.hasBinding(name) &&\n !scope.bindingIdentifierEquals(name, innerBinding)\n ) {\n scope.rename(name);\n scope = scope.parent;\n }\n}\n\nexport function buildCheckInRHS(\n rhs: t.Expression,\n file: File,\n inRHSIsObject?: boolean,\n) {\n if (inRHSIsObject || !file.availableHelper?.(\"checkInRHS\")) return rhs;\n return t.callExpression(file.addHelper(\"checkInRHS\"), [rhs]);\n}\n\nconst privateInVisitor = privateNameVisitorFactory<{\n classRef: t.Identifier;\n file: File;\n innerBinding?: t.Identifier;\n}>({\n BinaryExpression(path, { file }) {\n const { operator, left, right } = path.node;\n if (operator !== \"in\") return;\n if (!t.isPrivateName(left)) return;\n\n const { privateFieldsAsProperties, privateNamesMap, redeclared } = this;\n\n const { name } = left.id;\n\n if (!privateNamesMap.has(name)) return;\n if (redeclared && redeclared.includes(name)) return;\n\n // if there are any local variable shadowing classRef, unshadow it\n // see #12960\n unshadow(this.classRef.name, path.scope, this.innerBinding);\n\n if (privateFieldsAsProperties) {\n const { id } = privateNamesMap.get(name);\n path.replaceWith(template.expression.ast`\n Object.prototype.hasOwnProperty.call(${buildCheckInRHS(\n right,\n file,\n )}, ${t.cloneNode(id)})\n `);\n return;\n }\n\n const { id, static: isStatic } = privateNamesMap.get(name);\n\n if (isStatic) {\n path.replaceWith(\n template.expression.ast`${buildCheckInRHS(\n right,\n file,\n )} === ${t.cloneNode(this.classRef)}`,\n );\n return;\n }\n\n path.replaceWith(\n template.expression.ast`${t.cloneNode(id)}.has(${buildCheckInRHS(\n right,\n file,\n )})`,\n );\n },\n});\n\ninterface Receiver {\n receiver(\n this: HandlerState & PrivateNameState,\n member: NodePath,\n ): t.Expression;\n}\n\nconst privateNameHandlerSpec: Handler & Receiver =\n {\n memoise(member, count) {\n const { scope } = member;\n const { object } = member.node as { object: t.Expression };\n\n const memo = scope.maybeGenerateMemoised(object);\n if (!memo) {\n return;\n }\n\n this.memoiser.set(object, memo, count);\n },\n\n receiver(member) {\n const { object } = member.node as { object: t.Expression };\n\n if (this.memoiser.has(object)) {\n return t.cloneNode(this.memoiser.get(object));\n }\n\n return t.cloneNode(object);\n },\n\n get(member) {\n const { classRef, privateNamesMap, file, innerBinding } = this;\n const { name } = (member.node.property as t.PrivateName).id;\n const {\n id,\n static: isStatic,\n method: isMethod,\n methodId,\n getId,\n setId,\n } = privateNamesMap.get(name);\n const isAccessor = getId || setId;\n\n if (isStatic) {\n // NOTE: This package has a peerDependency on @babel/core@^7.0.0, but these\n // helpers have been introduced in @babel/helpers@7.1.0.\n const helperName =\n isMethod && !isAccessor\n ? \"classStaticPrivateMethodGet\"\n : \"classStaticPrivateFieldSpecGet\";\n\n // if there are any local variable shadowing classRef, unshadow it\n // see #12960\n unshadow(classRef.name, member.scope, innerBinding);\n\n return t.callExpression(file.addHelper(helperName), [\n this.receiver(member),\n t.cloneNode(classRef),\n t.cloneNode(id),\n ]);\n }\n\n if (isMethod) {\n if (isAccessor) {\n if (!getId && setId) {\n if (file.availableHelper(\"writeOnlyError\")) {\n return t.sequenceExpression([\n this.receiver(member),\n t.callExpression(file.addHelper(\"writeOnlyError\"), [\n t.stringLiteral(`#${name}`),\n ]),\n ]);\n }\n console.warn(\n `@babel/helpers is outdated, update it to silence this warning.`,\n );\n }\n return t.callExpression(file.addHelper(\"classPrivateFieldGet\"), [\n this.receiver(member),\n t.cloneNode(id),\n ]);\n }\n return t.callExpression(file.addHelper(\"classPrivateMethodGet\"), [\n this.receiver(member),\n t.cloneNode(id),\n t.cloneNode(methodId),\n ]);\n }\n return t.callExpression(file.addHelper(\"classPrivateFieldGet\"), [\n this.receiver(member),\n t.cloneNode(id),\n ]);\n },\n\n boundGet(member) {\n this.memoise(member, 1);\n\n return t.callExpression(\n t.memberExpression(this.get(member), t.identifier(\"bind\")),\n [this.receiver(member)],\n );\n },\n\n set(member, value) {\n const { classRef, privateNamesMap, file } = this;\n const { name } = (member.node.property as t.PrivateName).id;\n const {\n id,\n static: isStatic,\n method: isMethod,\n setId,\n getId,\n } = privateNamesMap.get(name);\n const isAccessor = getId || setId;\n\n if (isStatic) {\n const helperName =\n isMethod && !isAccessor\n ? \"classStaticPrivateMethodSet\"\n : \"classStaticPrivateFieldSpecSet\";\n\n return t.callExpression(file.addHelper(helperName), [\n this.receiver(member),\n t.cloneNode(classRef),\n t.cloneNode(id),\n value,\n ]);\n }\n if (isMethod) {\n if (setId) {\n return t.callExpression(file.addHelper(\"classPrivateFieldSet\"), [\n this.receiver(member),\n t.cloneNode(id),\n value,\n ]);\n }\n return t.sequenceExpression([\n this.receiver(member),\n value,\n t.callExpression(file.addHelper(\"readOnlyError\"), [\n t.stringLiteral(`#${name}`),\n ]),\n ]);\n }\n return t.callExpression(file.addHelper(\"classPrivateFieldSet\"), [\n this.receiver(member),\n t.cloneNode(id),\n value,\n ]);\n },\n\n destructureSet(member) {\n const { classRef, privateNamesMap, file } = this;\n const { name } = (member.node.property as t.PrivateName).id;\n const { id, static: isStatic } = privateNamesMap.get(name);\n if (isStatic) {\n try {\n // classStaticPrivateFieldDestructureSet was introduced in 7.13.10\n // eslint-disable-next-line no-var\n var helper = file.addHelper(\"classStaticPrivateFieldDestructureSet\");\n } catch {\n throw new Error(\n \"Babel can not transpile `[C.#p] = [0]` with @babel/helpers < 7.13.10, \\n\" +\n \"please update @babel/helpers to the latest version.\",\n );\n }\n return t.memberExpression(\n t.callExpression(helper, [\n this.receiver(member),\n t.cloneNode(classRef),\n t.cloneNode(id),\n ]),\n t.identifier(\"value\"),\n );\n }\n\n return t.memberExpression(\n t.callExpression(file.addHelper(\"classPrivateFieldDestructureSet\"), [\n this.receiver(member),\n t.cloneNode(id),\n ]),\n t.identifier(\"value\"),\n );\n },\n\n call(member, args: (t.Expression | t.SpreadElement)[]) {\n // The first access (the get) should do the memo assignment.\n this.memoise(member, 1);\n\n return optimiseCall(this.get(member), this.receiver(member), args, false);\n },\n\n optionalCall(member, args: (t.Expression | t.SpreadElement)[]) {\n this.memoise(member, 1);\n\n return optimiseCall(this.get(member), this.receiver(member), args, true);\n },\n\n delete() {\n throw new Error(\n \"Internal Babel error: deleting private elements is a parsing error.\",\n );\n },\n };\n\nconst privateNameHandlerLoose: Handler = {\n get(member) {\n const { privateNamesMap, file } = this;\n const { object } = member.node;\n const { name } = (member.node.property as t.PrivateName).id;\n\n return template.expression`BASE(REF, PROP)[PROP]`({\n BASE: file.addHelper(\"classPrivateFieldLooseBase\"),\n REF: t.cloneNode(object),\n PROP: t.cloneNode(privateNamesMap.get(name).id),\n });\n },\n\n set() {\n // noop\n throw new Error(\"private name handler with loose = true don't need set()\");\n },\n\n boundGet(member) {\n return t.callExpression(\n t.memberExpression(this.get(member), t.identifier(\"bind\")),\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n [t.cloneNode(member.node.object as t.Expression)],\n );\n },\n\n simpleSet(member) {\n return this.get(member);\n },\n\n destructureSet(member) {\n return this.get(member);\n },\n\n call(member, args) {\n return t.callExpression(this.get(member), args);\n },\n\n optionalCall(member, args) {\n return t.optionalCallExpression(this.get(member), args, true);\n },\n\n delete() {\n throw new Error(\n \"Internal Babel error: deleting private elements is a parsing error.\",\n );\n },\n};\n\nexport function transformPrivateNamesUsage(\n ref: t.Identifier,\n path: NodePath,\n privateNamesMap: PrivateNamesMap,\n {\n privateFieldsAsProperties,\n noDocumentAll,\n innerBinding,\n }: {\n privateFieldsAsProperties: boolean;\n noDocumentAll: boolean;\n innerBinding: t.Identifier;\n },\n state: File,\n) {\n if (!privateNamesMap.size) return;\n\n const body = path.get(\"body\");\n const handler = privateFieldsAsProperties\n ? privateNameHandlerLoose\n : privateNameHandlerSpec;\n\n memberExpressionToFunctions(body, privateNameVisitor, {\n privateNamesMap,\n classRef: ref,\n file: state,\n ...handler,\n noDocumentAll,\n innerBinding,\n });\n body.traverse(privateInVisitor, {\n privateNamesMap,\n classRef: ref,\n file: state,\n privateFieldsAsProperties,\n innerBinding,\n });\n}\n\nfunction buildPrivateFieldInitLoose(\n ref: t.Expression,\n prop: NodePath,\n privateNamesMap: PrivateNamesMap,\n) {\n const { id } = privateNamesMap.get(prop.node.key.id.name);\n const value = prop.node.value || prop.scope.buildUndefinedNode();\n\n return inheritPropComments(\n template.statement.ast`\n Object.defineProperty(${ref}, ${t.cloneNode(id)}, {\n // configurable is false by default\n // enumerable is false by default\n writable: true,\n value: ${value}\n });\n `,\n prop,\n );\n}\n\nfunction buildPrivateInstanceFieldInitSpec(\n ref: t.Expression,\n prop: NodePath,\n privateNamesMap: PrivateNamesMap,\n state: File,\n) {\n const { id } = privateNamesMap.get(prop.node.key.id.name);\n const value = prop.node.value || prop.scope.buildUndefinedNode();\n\n if (!process.env.BABEL_8_BREAKING) {\n if (!state.availableHelper(\"classPrivateFieldInitSpec\")) {\n return inheritPropComments(\n template.statement.ast`${t.cloneNode(id)}.set(${ref}, {\n // configurable is always false for private elements\n // enumerable is always false for private elements\n writable: true,\n value: ${value},\n })`,\n prop,\n );\n }\n }\n\n const helper = state.addHelper(\"classPrivateFieldInitSpec\");\n return inheritPropComments(\n template.statement.ast`${helper}(\n ${t.thisExpression()},\n ${t.cloneNode(id)},\n {\n writable: true,\n value: ${value}\n },\n )`,\n prop,\n );\n}\n\nfunction buildPrivateStaticFieldInitSpec(\n prop: NodePath,\n privateNamesMap: PrivateNamesMap,\n) {\n const privateName = privateNamesMap.get(prop.node.key.id.name);\n const { id, getId, setId, initAdded } = privateName;\n const isAccessor = getId || setId;\n\n if (!prop.isProperty() && (initAdded || !isAccessor)) return;\n\n if (isAccessor) {\n privateNamesMap.set(prop.node.key.id.name, {\n ...privateName,\n initAdded: true,\n });\n\n return inheritPropComments(\n template.statement.ast`\n var ${t.cloneNode(id)} = {\n // configurable is false by default\n // enumerable is false by default\n // writable is false by default\n get: ${getId ? getId.name : prop.scope.buildUndefinedNode()},\n set: ${setId ? setId.name : prop.scope.buildUndefinedNode()}\n }\n `,\n prop,\n );\n }\n\n const value = prop.node.value || prop.scope.buildUndefinedNode();\n return inheritPropComments(\n template.statement.ast`\n var ${t.cloneNode(id)} = {\n // configurable is false by default\n // enumerable is false by default\n writable: true,\n value: ${value}\n };\n `,\n prop,\n );\n}\n\nfunction buildPrivateMethodInitLoose(\n ref: t.Expression,\n prop: NodePath,\n privateNamesMap: PrivateNamesMap,\n) {\n const privateName = privateNamesMap.get(prop.node.key.id.name);\n const { methodId, id, getId, setId, initAdded } = privateName;\n if (initAdded) return;\n\n if (methodId) {\n return inheritPropComments(\n template.statement.ast`\n Object.defineProperty(${ref}, ${id}, {\n // configurable is false by default\n // enumerable is false by default\n // writable is false by default\n value: ${methodId.name}\n });\n `,\n prop,\n );\n }\n const isAccessor = getId || setId;\n if (isAccessor) {\n privateNamesMap.set(prop.node.key.id.name, {\n ...privateName,\n initAdded: true,\n });\n\n return inheritPropComments(\n template.statement.ast`\n Object.defineProperty(${ref}, ${id}, {\n // configurable is false by default\n // enumerable is false by default\n // writable is false by default\n get: ${getId ? getId.name : prop.scope.buildUndefinedNode()},\n set: ${setId ? setId.name : prop.scope.buildUndefinedNode()}\n });\n `,\n prop,\n );\n }\n}\n\nfunction buildPrivateInstanceMethodInitSpec(\n ref: t.Expression,\n prop: NodePath,\n privateNamesMap: PrivateNamesMap,\n state: File,\n) {\n const privateName = privateNamesMap.get(prop.node.key.id.name);\n const { getId, setId, initAdded } = privateName;\n\n if (initAdded) return;\n\n const isAccessor = getId || setId;\n if (isAccessor) {\n return buildPrivateAccessorInitialization(\n ref,\n prop,\n privateNamesMap,\n state,\n );\n }\n\n return buildPrivateInstanceMethodInitialization(\n ref,\n prop,\n privateNamesMap,\n state,\n );\n}\n\nfunction buildPrivateAccessorInitialization(\n ref: t.Expression,\n prop: NodePath,\n privateNamesMap: PrivateNamesMap,\n state: File,\n) {\n const privateName = privateNamesMap.get(prop.node.key.id.name);\n const { id, getId, setId } = privateName;\n\n privateNamesMap.set(prop.node.key.id.name, {\n ...privateName,\n initAdded: true,\n });\n\n if (!process.env.BABEL_8_BREAKING) {\n if (!state.availableHelper(\"classPrivateFieldInitSpec\")) {\n return inheritPropComments(\n template.statement.ast`\n ${id}.set(${ref}, {\n get: ${getId ? getId.name : prop.scope.buildUndefinedNode()},\n set: ${setId ? setId.name : prop.scope.buildUndefinedNode()}\n });\n `,\n prop,\n );\n }\n }\n\n const helper = state.addHelper(\"classPrivateFieldInitSpec\");\n return inheritPropComments(\n template.statement.ast`${helper}(\n ${t.thisExpression()},\n ${t.cloneNode(id)},\n {\n get: ${getId ? getId.name : prop.scope.buildUndefinedNode()},\n set: ${setId ? setId.name : prop.scope.buildUndefinedNode()}\n },\n )`,\n prop,\n );\n}\n\nfunction buildPrivateInstanceMethodInitialization(\n ref: t.Expression,\n prop: NodePath,\n privateNamesMap: PrivateNamesMap,\n state: File,\n) {\n const privateName = privateNamesMap.get(prop.node.key.id.name);\n const { id } = privateName;\n\n if (!process.env.BABEL_8_BREAKING) {\n if (!state.availableHelper(\"classPrivateMethodInitSpec\")) {\n return inheritPropComments(\n template.statement.ast`${id}.add(${ref})`,\n prop,\n );\n }\n }\n\n const helper = state.addHelper(\"classPrivateMethodInitSpec\");\n return inheritPropComments(\n template.statement.ast`${helper}(\n ${t.thisExpression()},\n ${t.cloneNode(id)}\n )`,\n prop,\n );\n}\n\nfunction buildPublicFieldInitLoose(\n ref: t.Expression,\n prop: NodePath,\n) {\n const { key, computed } = prop.node;\n const value = prop.node.value || prop.scope.buildUndefinedNode();\n\n return inheritPropComments(\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.memberExpression(ref, key, computed || t.isLiteral(key)),\n value,\n ),\n ),\n prop,\n );\n}\n\nfunction buildPublicFieldInitSpec(\n ref: t.Expression,\n prop: NodePath,\n state: File,\n) {\n const { key, computed } = prop.node;\n const value = prop.node.value || prop.scope.buildUndefinedNode();\n\n return inheritPropComments(\n t.expressionStatement(\n t.callExpression(state.addHelper(\"defineProperty\"), [\n ref,\n computed || t.isLiteral(key)\n ? key\n : t.stringLiteral((key as t.Identifier).name),\n value,\n ]),\n ),\n prop,\n );\n}\n\nfunction buildPrivateStaticMethodInitLoose(\n ref: t.Expression,\n prop: NodePath,\n state: File,\n privateNamesMap: PrivateNamesMap,\n) {\n const privateName = privateNamesMap.get(prop.node.key.id.name);\n const { id, methodId, getId, setId, initAdded } = privateName;\n\n if (initAdded) return;\n\n const isAccessor = getId || setId;\n if (isAccessor) {\n privateNamesMap.set(prop.node.key.id.name, {\n ...privateName,\n initAdded: true,\n });\n\n return inheritPropComments(\n template.statement.ast`\n Object.defineProperty(${ref}, ${id}, {\n // configurable is false by default\n // enumerable is false by default\n // writable is false by default\n get: ${getId ? getId.name : prop.scope.buildUndefinedNode()},\n set: ${setId ? setId.name : prop.scope.buildUndefinedNode()}\n })\n `,\n prop,\n );\n }\n\n return inheritPropComments(\n template.statement.ast`\n Object.defineProperty(${ref}, ${id}, {\n // configurable is false by default\n // enumerable is false by default\n // writable is false by default\n value: ${methodId.name}\n });\n `,\n prop,\n );\n}\n\nfunction buildPrivateMethodDeclaration(\n prop: NodePath,\n privateNamesMap: PrivateNamesMap,\n privateFieldsAsProperties = false,\n) {\n const privateName = privateNamesMap.get(prop.node.key.id.name);\n const {\n id,\n methodId,\n getId,\n setId,\n getterDeclared,\n setterDeclared,\n static: isStatic,\n } = privateName;\n const { params, body, generator, async } = prop.node;\n const isGetter = getId && !getterDeclared && params.length === 0;\n const isSetter = setId && !setterDeclared && params.length > 0;\n\n let declId = methodId;\n\n if (isGetter) {\n privateNamesMap.set(prop.node.key.id.name, {\n ...privateName,\n getterDeclared: true,\n });\n declId = getId;\n } else if (isSetter) {\n privateNamesMap.set(prop.node.key.id.name, {\n ...privateName,\n setterDeclared: true,\n });\n declId = setId;\n } else if (isStatic && !privateFieldsAsProperties) {\n declId = id;\n }\n\n return inheritPropComments(\n t.functionDeclaration(\n t.cloneNode(declId),\n // @ts-expect-error params for ClassMethod has TSParameterProperty\n params,\n body,\n generator,\n async,\n ),\n prop,\n );\n}\n\ntype ReplaceThisState = {\n classRef: t.Identifier;\n needsClassRef: boolean;\n innerBinding: t.Identifier | null;\n};\n\ntype ReplaceInnerBindingReferenceState = ReplaceThisState;\n\nconst thisContextVisitor = traverse.visitors.merge([\n {\n UnaryExpression(path) {\n // Replace `delete this` with `true`\n const { node } = path;\n if (node.operator === \"delete\") {\n const argument = skipTransparentExprWrapperNodes(node.argument);\n if (t.isThisExpression(argument)) {\n path.replaceWith(t.booleanLiteral(true));\n }\n }\n },\n ThisExpression(path, state) {\n state.needsClassRef = true;\n path.replaceWith(t.cloneNode(state.classRef));\n },\n MetaProperty(path) {\n const { node, scope } = path;\n // if there are `new.target` in static field\n // we should replace it with `undefined`\n if (node.meta.name === \"new\" && node.property.name === \"target\") {\n path.replaceWith(scope.buildUndefinedNode());\n }\n },\n },\n environmentVisitor,\n]);\n\nconst innerReferencesVisitor: Visitor = {\n ReferencedIdentifier(path, state) {\n if (\n path.scope.bindingIdentifierEquals(path.node.name, state.innerBinding)\n ) {\n state.needsClassRef = true;\n path.node.name = state.classRef.name;\n }\n },\n};\n\nfunction replaceThisContext(\n path: PropPath,\n ref: t.Identifier,\n innerBindingRef: t.Identifier | null,\n) {\n const state: ReplaceThisState = {\n classRef: ref,\n needsClassRef: false,\n innerBinding: innerBindingRef,\n };\n if (!path.isMethod()) {\n // replace `this` in property initializers and static blocks\n path.traverse(thisContextVisitor, state);\n }\n\n // todo: use innerBinding.referencePaths to avoid full traversal\n if (\n innerBindingRef != null &&\n state.classRef?.name &&\n state.classRef.name !== innerBindingRef.name\n ) {\n path.traverse(innerReferencesVisitor, state);\n }\n\n return state.needsClassRef;\n}\n\nexport type PropNode =\n | t.ClassProperty\n | t.ClassPrivateMethod\n | t.ClassPrivateProperty\n | t.StaticBlock;\nexport type PropPath = NodePath;\n\nfunction isNameOrLength({ key, computed }: t.ClassProperty) {\n if (key.type === \"Identifier\") {\n return !computed && (key.name === \"name\" || key.name === \"length\");\n }\n if (key.type === \"StringLiteral\") {\n return key.value === \"name\" || key.value === \"length\";\n }\n return false;\n}\n\n/**\n * Inherit comments from class members. This is a reduced version of\n * t.inheritsComments: the trailing comments are not inherited because\n * for most class members except the last one, their trailing comments are\n * the next sibling's leading comments.\n *\n * @template T transformed class member type\n * @param {T} node transformed class member\n * @param {PropPath} prop class member\n * @returns transformed class member type with comments inherited\n */\nfunction inheritPropComments(node: T, prop: PropPath) {\n t.inheritLeadingComments(node, prop.node);\n t.inheritInnerComments(node, prop.node);\n return node;\n}\n\n/**\n * ClassRefFlag records the requirement of the class binding reference.\n *\n * @enum {number}\n */\nconst enum ClassRefFlag {\n None,\n /**\n * When this flag is enabled, the binding reference can be the class id,\n * if exists, or the uid identifier generated for class expression. The\n * reference is safe to be consumed by [[Define]].\n */\n ForDefine = 1 << 0,\n /**\n * When this flag is enabled, the reference must be a uid, because the outer\n * class binding can be mutated by user codes.\n * E.g.\n * class C { static p = C }; const oldC = C; C = null; oldC.p;\n * we must memoize class `C` before defining the property `p`.\n */\n ForInnerBinding = 1 << 1,\n}\n\nexport function buildFieldsInitNodes(\n ref: t.Identifier | null,\n superRef: t.Expression | undefined,\n props: PropPath[],\n privateNamesMap: PrivateNamesMap,\n file: File,\n setPublicClassFields: boolean,\n privateFieldsAsProperties: boolean,\n constantSuper: boolean,\n innerBindingRef: t.Identifier | null,\n) {\n let classRefFlags = ClassRefFlag.None;\n let injectSuperRef: t.Identifier;\n const staticNodes: t.Statement[] = [];\n const instanceNodes: t.Statement[] = [];\n // These nodes are pure and can be moved to the closest statement position\n const pureStaticNodes: t.FunctionDeclaration[] = [];\n let classBindingNode: t.ExpressionStatement | null = null;\n\n const getSuperRef = t.isIdentifier(superRef)\n ? () => superRef\n : () => {\n injectSuperRef ??=\n props[0].scope.generateUidIdentifierBasedOnNode(superRef);\n return injectSuperRef;\n };\n\n const classRefForInnerBinding =\n ref ?? props[0].scope.generateUidIdentifier(\"class\");\n ref ??= t.cloneNode(innerBindingRef);\n\n for (const prop of props) {\n prop.isClassProperty() && ts.assertFieldTransformed(prop);\n\n // @ts-expect-error: TS doesn't infer that prop.node is not a StaticBlock\n const isStatic = !t.isStaticBlock?.(prop.node) && prop.node.static;\n const isInstance = !isStatic;\n const isPrivate = prop.isPrivate();\n const isPublic = !isPrivate;\n const isField = prop.isProperty();\n const isMethod = !isField;\n const isStaticBlock = prop.isStaticBlock?.();\n\n if (isStatic) classRefFlags |= ClassRefFlag.ForDefine;\n\n if (isStatic || (isMethod && isPrivate) || isStaticBlock) {\n new ReplaceSupers({\n methodPath: prop,\n constantSuper,\n file: file,\n refToPreserve: innerBindingRef,\n getSuperRef,\n getObjectRef() {\n classRefFlags |= ClassRefFlag.ForInnerBinding;\n if (isStatic || isStaticBlock) {\n return classRefForInnerBinding;\n } else {\n return t.memberExpression(\n classRefForInnerBinding,\n t.identifier(\"prototype\"),\n );\n }\n },\n }).replace();\n\n const replaced = replaceThisContext(\n prop,\n classRefForInnerBinding,\n innerBindingRef,\n );\n if (replaced) {\n classRefFlags |= ClassRefFlag.ForInnerBinding;\n }\n }\n\n // TODO(ts): there are so many `ts-expect-error` inside cases since\n // ts can not infer type from pre-computed values (or a case test)\n // even change `isStaticBlock` to `t.isStaticBlock(prop)` will not make prop\n // a `NodePath`\n // this maybe a bug for ts\n switch (true) {\n case isStaticBlock: {\n const blockBody = (prop.node as t.StaticBlock).body;\n // We special-case the single expression case to avoid the iife, since\n // it's common.\n if (blockBody.length === 1 && t.isExpressionStatement(blockBody[0])) {\n staticNodes.push(inheritPropComments(blockBody[0], prop));\n } else {\n staticNodes.push(\n t.inheritsComments(\n template.statement.ast`(() => { ${blockBody} })()`,\n prop.node,\n ),\n );\n }\n break;\n }\n case isStatic && isPrivate && isField && privateFieldsAsProperties:\n staticNodes.push(\n // @ts-expect-error checked in switch\n buildPrivateFieldInitLoose(t.cloneNode(ref), prop, privateNamesMap),\n );\n break;\n case isStatic && isPrivate && isField && !privateFieldsAsProperties:\n staticNodes.push(\n // @ts-expect-error checked in switch\n buildPrivateStaticFieldInitSpec(prop, privateNamesMap),\n );\n break;\n case isStatic && isPublic && isField && setPublicClassFields:\n // Functions always have non-writable .name and .length properties,\n // so we must always use [[Define]] for them.\n // It might still be possible to a computed static fields whose resulting\n // key is \"name\" or \"length\", but the assumption is telling us that it's\n // not going to happen.\n // @ts-expect-error checked in switch\n if (!isNameOrLength(prop.node)) {\n // @ts-expect-error checked in switch\n staticNodes.push(buildPublicFieldInitLoose(t.cloneNode(ref), prop));\n break;\n }\n // falls through\n case isStatic && isPublic && isField && !setPublicClassFields:\n staticNodes.push(\n // @ts-expect-error checked in switch\n buildPublicFieldInitSpec(t.cloneNode(ref), prop, file),\n );\n break;\n case isInstance && isPrivate && isField && privateFieldsAsProperties:\n instanceNodes.push(\n // @ts-expect-error checked in switch\n buildPrivateFieldInitLoose(t.thisExpression(), prop, privateNamesMap),\n );\n break;\n case isInstance && isPrivate && isField && !privateFieldsAsProperties:\n instanceNodes.push(\n buildPrivateInstanceFieldInitSpec(\n t.thisExpression(),\n // @ts-expect-error checked in switch\n prop,\n privateNamesMap,\n file,\n ),\n );\n break;\n case isInstance && isPrivate && isMethod && privateFieldsAsProperties:\n instanceNodes.unshift(\n buildPrivateMethodInitLoose(\n t.thisExpression(),\n // @ts-expect-error checked in switch\n prop,\n privateNamesMap,\n ),\n );\n pureStaticNodes.push(\n buildPrivateMethodDeclaration(\n // @ts-expect-error checked in switch\n prop,\n privateNamesMap,\n privateFieldsAsProperties,\n ),\n );\n break;\n case isInstance && isPrivate && isMethod && !privateFieldsAsProperties:\n instanceNodes.unshift(\n buildPrivateInstanceMethodInitSpec(\n t.thisExpression(),\n // @ts-expect-error checked in switch\n prop,\n privateNamesMap,\n file,\n ),\n );\n pureStaticNodes.push(\n buildPrivateMethodDeclaration(\n // @ts-expect-error checked in switch\n prop,\n privateNamesMap,\n privateFieldsAsProperties,\n ),\n );\n break;\n case isStatic && isPrivate && isMethod && !privateFieldsAsProperties:\n staticNodes.unshift(\n // @ts-expect-error checked in switch\n buildPrivateStaticFieldInitSpec(prop, privateNamesMap),\n );\n pureStaticNodes.push(\n buildPrivateMethodDeclaration(\n // @ts-expect-error checked in switch\n prop,\n privateNamesMap,\n privateFieldsAsProperties,\n ),\n );\n break;\n case isStatic && isPrivate && isMethod && privateFieldsAsProperties:\n staticNodes.unshift(\n buildPrivateStaticMethodInitLoose(\n t.cloneNode(ref),\n // @ts-expect-error checked in switch\n prop,\n file,\n privateNamesMap,\n ),\n );\n pureStaticNodes.push(\n buildPrivateMethodDeclaration(\n // @ts-expect-error checked in switch\n prop,\n privateNamesMap,\n privateFieldsAsProperties,\n ),\n );\n break;\n case isInstance && isPublic && isField && setPublicClassFields:\n // @ts-expect-error checked in switch\n instanceNodes.push(buildPublicFieldInitLoose(t.thisExpression(), prop));\n break;\n case isInstance && isPublic && isField && !setPublicClassFields:\n instanceNodes.push(\n // @ts-expect-error checked in switch\n buildPublicFieldInitSpec(t.thisExpression(), prop, file),\n );\n break;\n default:\n throw new Error(\"Unreachable.\");\n }\n }\n\n if (classRefFlags & ClassRefFlag.ForInnerBinding && innerBindingRef != null) {\n classBindingNode = t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.cloneNode(classRefForInnerBinding),\n t.cloneNode(innerBindingRef),\n ),\n );\n }\n\n return {\n staticNodes: staticNodes.filter(Boolean),\n instanceNodes: instanceNodes.filter(Boolean),\n pureStaticNodes: pureStaticNodes.filter(Boolean),\n classBindingNode,\n wrapClass(path: NodePath) {\n for (const prop of props) {\n // Delete leading comments so that they don't get attached as\n // trailing comments of the previous sibling.\n // When transforming props, we explicitly attach their leading\n // comments to the transformed node with `inheritPropComments`\n // above.\n prop.node.leadingComments = null;\n prop.remove();\n }\n\n if (injectSuperRef) {\n path.scope.push({ id: t.cloneNode(injectSuperRef) });\n path.set(\n \"superClass\",\n t.assignmentExpression(\"=\", injectSuperRef, path.node.superClass),\n );\n }\n\n if (classRefFlags !== ClassRefFlag.None) {\n if (path.isClassExpression()) {\n path.scope.push({ id: ref });\n path.replaceWith(\n t.assignmentExpression(\"=\", t.cloneNode(ref), path.node),\n );\n } else {\n if (innerBindingRef == null) {\n // export anonymous class declaration\n path.node.id = ref;\n }\n if (classBindingNode != null) {\n path.scope.push({ id: classRefForInnerBinding });\n }\n }\n }\n\n return path;\n },\n };\n}\n","// TODO(Babel 8): Remove this file\n\nimport { types as t, template } from \"@babel/core\";\nimport type { File } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\nimport ReplaceSupers from \"@babel/helper-replace-supers\";\nimport nameFunction from \"@babel/helper-function-name\";\n\ntype Decoratable = Extract;\n\nexport function hasOwnDecorators(node: t.Class | t.ClassBody[\"body\"][number]) {\n // @ts-expect-error: 'decorators' not in TSIndexSignature\n return !!node.decorators?.length;\n}\n\nexport function hasDecorators(node: t.Class) {\n return hasOwnDecorators(node) || node.body.body.some(hasOwnDecorators);\n}\n\nfunction prop(key: string, value?: t.Expression) {\n if (!value) return null;\n return t.objectProperty(t.identifier(key), value);\n}\n\nfunction method(key: string, body: t.Statement[]) {\n return t.objectMethod(\n \"method\",\n t.identifier(key),\n [],\n t.blockStatement(body),\n );\n}\n\nfunction takeDecorators(node: Decoratable) {\n let result: t.ArrayExpression | undefined;\n if (node.decorators && node.decorators.length > 0) {\n result = t.arrayExpression(\n node.decorators.map(decorator => decorator.expression),\n );\n }\n node.decorators = undefined;\n return result;\n}\n\ntype AcceptedElement = Exclude;\ntype SupportedElement = Exclude<\n AcceptedElement,\n | t.ClassPrivateMethod\n | t.ClassPrivateProperty\n | t.ClassAccessorProperty\n | t.StaticBlock\n>;\n\nfunction getKey(node: SupportedElement) {\n if (node.computed) {\n return node.key;\n } else if (t.isIdentifier(node.key)) {\n return t.stringLiteral(node.key.name);\n } else {\n return t.stringLiteral(\n String(\n // A non-identifier non-computed key\n (node.key as t.StringLiteral | t.NumericLiteral | t.BigIntLiteral)\n .value,\n ),\n );\n }\n}\n\nfunction extractElementDescriptor(\n file: File,\n classRef: t.Identifier,\n superRef: t.Identifier,\n path: NodePath,\n) {\n const isMethod = path.isClassMethod();\n if (path.isPrivate()) {\n throw path.buildCodeFrameError(\n `Private ${\n isMethod ? \"methods\" : \"fields\"\n } in decorated classes are not supported yet.`,\n );\n }\n if (path.node.type === \"ClassAccessorProperty\") {\n throw path.buildCodeFrameError(\n `Accessor properties are not supported in 2018-09 decorator transform, please specify { \"version\": \"2021-12\" } instead.`,\n );\n }\n if (path.node.type === \"StaticBlock\") {\n throw path.buildCodeFrameError(\n `Static blocks are not supported in 2018-09 decorator transform, please specify { \"version\": \"2021-12\" } instead.`,\n );\n }\n\n const { node, scope } = path as NodePath;\n\n if (!path.isTSDeclareMethod()) {\n new ReplaceSupers({\n methodPath: path as NodePath<\n Exclude\n >,\n objectRef: classRef,\n superRef,\n file,\n refToPreserve: classRef,\n }).replace();\n }\n\n const properties: t.ObjectExpression[\"properties\"] = [\n prop(\"kind\", t.stringLiteral(t.isClassMethod(node) ? node.kind : \"field\")),\n prop(\"decorators\", takeDecorators(node as Decoratable)),\n prop(\"static\", node.static && t.booleanLiteral(true)),\n prop(\"key\", getKey(node)),\n ].filter(Boolean);\n\n if (t.isClassMethod(node)) {\n const id = node.computed\n ? null\n : (node.key as\n | t.Identifier\n | t.StringLiteral\n | t.NumericLiteral\n | t.BigIntLiteral);\n const transformed = t.toExpression(node);\n properties.push(\n prop(\n \"value\",\n nameFunction({ node: transformed, id, scope }) || transformed,\n ),\n );\n } else if (t.isClassProperty(node) && node.value) {\n properties.push(\n method(\"value\", template.statements.ast`return ${node.value}`),\n );\n } else {\n properties.push(prop(\"value\", scope.buildUndefinedNode()));\n }\n\n path.remove();\n\n return t.objectExpression(properties);\n}\n\nfunction addDecorateHelper(file: File) {\n return file.addHelper(\"decorate\");\n}\n\ntype ClassElement = t.Class[\"body\"][\"body\"][number];\ntype ClassElementPath = NodePath;\n\nexport function buildDecoratedClass(\n ref: t.Identifier,\n path: NodePath,\n elements: ClassElementPath[],\n file: File,\n) {\n const { node, scope } = path;\n const initializeId = scope.generateUidIdentifier(\"initialize\");\n const isDeclaration = node.id && path.isDeclaration();\n const isStrict = path.isInStrictMode();\n const { superClass } = node;\n\n node.type = \"ClassDeclaration\";\n if (!node.id) node.id = t.cloneNode(ref);\n\n let superId: t.Identifier;\n if (superClass) {\n superId = scope.generateUidIdentifierBasedOnNode(node.superClass, \"super\");\n node.superClass = superId;\n }\n\n const classDecorators = takeDecorators(node);\n const definitions = t.arrayExpression(\n elements\n .filter(\n element =>\n // @ts-expect-error Ignore TypeScript's abstract methods (see #10514)\n !element.node.abstract && element.node.type !== \"TSIndexSignature\",\n )\n .map(path =>\n extractElementDescriptor(\n file,\n node.id,\n superId,\n // @ts-expect-error TS can not exclude TSIndexSignature\n path,\n ),\n ),\n );\n\n const wrapperCall = template.expression.ast`\n ${addDecorateHelper(file)}(\n ${classDecorators || t.nullLiteral()},\n function (${initializeId}, ${superClass ? t.cloneNode(superId) : null}) {\n ${node}\n return { F: ${t.cloneNode(node.id)}, d: ${definitions} };\n },\n ${superClass}\n )\n ` as t.CallExpression & { arguments: [unknown, t.FunctionExpression] };\n\n if (!isStrict) {\n wrapperCall.arguments[1].body.directives.push(\n t.directive(t.directiveLiteral(\"use strict\")),\n );\n }\n\n let replacement: t.Node = wrapperCall;\n let classPathDesc = \"arguments.1.body.body.0\";\n if (isDeclaration) {\n replacement = template.statement.ast`let ${ref} = ${wrapperCall}`;\n classPathDesc = \"declarations.0.init.\" + classPathDesc;\n }\n\n return {\n instanceNodes: [template.statement.ast`${t.cloneNode(initializeId)}(this)`],\n wrapClass(path: NodePath) {\n path.replaceWith(replacement);\n return path.get(classPathDesc) as NodePath;\n },\n };\n}\n","import { template, traverse, types as t } from \"@babel/core\";\nimport type { File } from \"@babel/core\";\nimport type { NodePath, Scope, Visitor, Binding } from \"@babel/traverse\";\nimport environmentVisitor from \"@babel/helper-environment-visitor\";\n\nconst findBareSupers = traverse.visitors.merge[]>([\n {\n Super(path) {\n const { node, parentPath } = path;\n if (parentPath.isCallExpression({ callee: node })) {\n this.push(parentPath);\n }\n },\n },\n environmentVisitor,\n]);\n\nconst referenceVisitor: Visitor<{ scope: Scope }> = {\n \"TSTypeAnnotation|TypeAnnotation\"(\n path: NodePath,\n ) {\n path.skip();\n },\n\n ReferencedIdentifier(path: NodePath, { scope }) {\n if (scope.hasOwnBinding(path.node.name)) {\n scope.rename(path.node.name);\n path.skip();\n }\n },\n};\n\ntype HandleClassTDZState = {\n classBinding: Binding;\n file: File;\n};\n\nfunction handleClassTDZ(\n path: NodePath,\n state: HandleClassTDZState,\n) {\n if (\n state.classBinding &&\n state.classBinding === path.scope.getBinding(path.node.name)\n ) {\n const classNameTDZError = state.file.addHelper(\"classNameTDZError\");\n const throwNode = t.callExpression(classNameTDZError, [\n t.stringLiteral(path.node.name),\n ]);\n\n path.replaceWith(t.sequenceExpression([throwNode, path.node]));\n path.skip();\n }\n}\n\nconst classFieldDefinitionEvaluationTDZVisitor: Visitor = {\n ReferencedIdentifier: handleClassTDZ,\n};\n\ninterface RenamerState {\n scope: Scope;\n}\n\nexport function injectInitialization(\n path: NodePath,\n constructor: NodePath | undefined,\n nodes: t.Statement[],\n renamer?: (visitor: Visitor, state: RenamerState) => void,\n) {\n if (!nodes.length) return;\n\n const isDerived = !!path.node.superClass;\n\n if (!constructor) {\n const newConstructor = t.classMethod(\n \"constructor\",\n t.identifier(\"constructor\"),\n [],\n t.blockStatement([]),\n );\n\n if (isDerived) {\n newConstructor.params = [t.restElement(t.identifier(\"args\"))];\n newConstructor.body.body.push(template.statement.ast`super(...args)`);\n }\n\n [constructor] = path\n .get(\"body\")\n .unshiftContainer(\"body\", newConstructor) as NodePath[];\n }\n\n if (renamer) {\n renamer(referenceVisitor, { scope: constructor.scope });\n }\n\n if (isDerived) {\n const bareSupers: NodePath[] = [];\n constructor.traverse(findBareSupers, bareSupers);\n let isFirst = true;\n for (const bareSuper of bareSupers) {\n if (isFirst) {\n bareSuper.insertAfter(nodes);\n isFirst = false;\n } else {\n bareSuper.insertAfter(nodes.map(n => t.cloneNode(n)));\n }\n }\n } else {\n constructor.get(\"body\").unshiftContainer(\"body\", nodes);\n }\n}\n\nexport function extractComputedKeys(\n path: NodePath,\n computedPaths: NodePath[],\n file: File,\n) {\n const declarations: t.ExpressionStatement[] = [];\n const state = {\n classBinding: path.node.id && path.scope.getBinding(path.node.id.name),\n file,\n };\n for (const computedPath of computedPaths) {\n const computedKey = computedPath.get(\"key\");\n if (computedKey.isReferencedIdentifier()) {\n handleClassTDZ(computedKey, state);\n } else {\n computedKey.traverse(classFieldDefinitionEvaluationTDZVisitor, state);\n }\n\n const computedNode = computedPath.node;\n // Make sure computed property names are only evaluated once (upon class definition)\n // and in the right order in combination with static properties\n if (!computedKey.isConstantExpression()) {\n const ident = path.scope.generateUidIdentifierBasedOnNode(\n computedNode.key,\n );\n // Declaring in the same block scope\n // Ref: https://github.com/babel/babel/pull/10029/files#diff-fbbdd83e7a9c998721c1484529c2ce92\n path.scope.push({\n id: ident,\n kind: \"let\",\n });\n declarations.push(\n t.expressionStatement(\n t.assignmentExpression(\"=\", t.cloneNode(ident), computedNode.key),\n ),\n );\n computedNode.key = t.cloneNode(ident);\n }\n }\n\n return declarations;\n}\n","import type { File, types as t } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\nimport { hasOwnDecorators } from \"./decorators.ts\";\n\nexport const FEATURES = Object.freeze(\n process.env.BABEL_8_BREAKING\n ? {\n //classes: 1 << 0,\n fields: 1 << 1,\n privateMethods: 1 << 2,\n privateIn: 1 << 3,\n staticBlocks: 1 << 4,\n }\n : {\n //classes: 1 << 0,\n fields: 1 << 1,\n privateMethods: 1 << 2,\n decorators: 1 << 3,\n privateIn: 1 << 4,\n staticBlocks: 1 << 5,\n },\n);\n\nconst featuresSameLoose = new Map([\n [FEATURES.fields, \"@babel/plugin-transform-class-properties\"],\n [FEATURES.privateMethods, \"@babel/plugin-transform-private-methods\"],\n [FEATURES.privateIn, \"@babel/plugin-transform-private-property-in-object\"],\n]);\n\n// We can't use a symbol because this needs to always be the same, even if\n// this package isn't deduped by npm. e.g.\n// - node_modules/\n// - @babel/plugin-class-features\n// - @babel/plugin-proposal-decorators\n// - node_modules\n// - @babel-plugin-class-features\nconst featuresKey = \"@babel/plugin-class-features/featuresKey\";\nconst looseKey = \"@babel/plugin-class-features/looseKey\";\n\n// See https://github.com/babel/babel/issues/11622.\n// Since preset-env sets loose for the fields and private methods plugins, it can\n// cause conflicts with the loose mode set by an explicit plugin in the config.\n// To solve this problem, we ignore preset-env's loose mode if another plugin\n// explicitly sets it\n// The code to handle this logic doesn't check that \"low priority loose\" is always\n// the same. However, it is only set by the preset and not directly by users:\n// unless someone _wants_ to break it, it shouldn't be a problem.\nconst looseLowPriorityKey =\n \"@babel/plugin-class-features/looseLowPriorityKey/#__internal__@babel/preset-env__please-overwrite-loose-instead-of-throwing\";\n\nexport function enableFeature(file: File, feature: number, loose: boolean) {\n // We can't blindly enable the feature because, if it was already set,\n // \"loose\" can't be changed, so that\n // @babel/plugin-class-properties { loose: true }\n // @babel/plugin-class-properties { loose: false }\n // is transformed in loose mode.\n // We only enabled the feature if it was previously disabled.\n if (!hasFeature(file, feature) || canIgnoreLoose(file, feature)) {\n file.set(featuresKey, file.get(featuresKey) | feature);\n if (\n // @ts-expect-error comparing loose with internal private magic string\n loose ===\n \"#__internal__@babel/preset-env__prefer-true-but-false-is-ok-if-it-prevents-an-error\"\n ) {\n setLoose(file, feature, true);\n file.set(looseLowPriorityKey, file.get(looseLowPriorityKey) | feature);\n } else if (\n // @ts-expect-error comparing loose with internal private magic string\n loose ===\n \"#__internal__@babel/preset-env__prefer-false-but-true-is-ok-if-it-prevents-an-error\"\n ) {\n setLoose(file, feature, false);\n file.set(looseLowPriorityKey, file.get(looseLowPriorityKey) | feature);\n } else {\n setLoose(file, feature, loose);\n }\n }\n\n let resolvedLoose: boolean | undefined;\n let higherPriorityPluginName: string | undefined;\n\n for (const [mask, name] of featuresSameLoose) {\n if (!hasFeature(file, mask)) continue;\n\n const loose = isLoose(file, mask);\n\n if (canIgnoreLoose(file, mask)) {\n continue;\n } else if (resolvedLoose === !loose) {\n throw new Error(\n \"'loose' mode configuration must be the same for @babel/plugin-transform-class-properties, \" +\n \"@babel/plugin-transform-private-methods and \" +\n \"@babel/plugin-transform-private-property-in-object (when they are enabled).\",\n );\n } else {\n resolvedLoose = loose;\n higherPriorityPluginName = name;\n }\n }\n\n if (resolvedLoose !== undefined) {\n for (const [mask, name] of featuresSameLoose) {\n if (hasFeature(file, mask) && isLoose(file, mask) !== resolvedLoose) {\n setLoose(file, mask, resolvedLoose);\n console.warn(\n `Though the \"loose\" option was set to \"${!resolvedLoose}\" in your @babel/preset-env ` +\n `config, it will not be used for ${name} since the \"loose\" mode option was set to ` +\n `\"${resolvedLoose}\" for ${higherPriorityPluginName}.\\nThe \"loose\" option must be the ` +\n `same for @babel/plugin-transform-class-properties, @babel/plugin-transform-private-methods ` +\n `and @babel/plugin-transform-private-property-in-object (when they are enabled): you can ` +\n `silence this warning by explicitly adding\\n` +\n `\\t[\"${name}\", { \"loose\": ${resolvedLoose} }]\\n` +\n `to the \"plugins\" section of your Babel config.`,\n );\n }\n }\n }\n}\n\nfunction hasFeature(file: File, feature: number) {\n return !!(file.get(featuresKey) & feature);\n}\n\nexport function isLoose(file: File, feature: number) {\n return !!(file.get(looseKey) & feature);\n}\n\nfunction setLoose(file: File, feature: number, loose: boolean) {\n if (loose) file.set(looseKey, file.get(looseKey) | feature);\n else file.set(looseKey, file.get(looseKey) & ~feature);\n\n file.set(looseLowPriorityKey, file.get(looseLowPriorityKey) & ~feature);\n}\n\nfunction canIgnoreLoose(file: File, feature: number) {\n return !!(file.get(looseLowPriorityKey) & feature);\n}\n\nexport function shouldTransform(path: NodePath, file: File): boolean {\n let decoratorPath: NodePath | null = null;\n let publicFieldPath: NodePath | null = null;\n let privateFieldPath: NodePath | null = null;\n let privateMethodPath: NodePath | null = null;\n let staticBlockPath: NodePath | null = null;\n\n if (hasOwnDecorators(path.node)) {\n decoratorPath = path.get(\"decorators.0\");\n }\n for (const el of path.get(\"body.body\")) {\n if (!decoratorPath && hasOwnDecorators(el.node)) {\n decoratorPath = el.get(\"decorators.0\");\n }\n if (!publicFieldPath && el.isClassProperty()) {\n publicFieldPath = el;\n }\n if (!privateFieldPath && el.isClassPrivateProperty()) {\n privateFieldPath = el;\n }\n // NOTE: path.isClassPrivateMethod() it isn't supported in <7.2.0\n if (!privateMethodPath && el.isClassPrivateMethod?.()) {\n privateMethodPath = el;\n }\n if (!staticBlockPath && el.isStaticBlock?.()) {\n staticBlockPath = el;\n }\n }\n\n if (decoratorPath && privateFieldPath) {\n throw privateFieldPath.buildCodeFrameError(\n \"Private fields in decorated classes are not supported yet.\",\n );\n }\n if (decoratorPath && privateMethodPath) {\n throw privateMethodPath.buildCodeFrameError(\n \"Private methods in decorated classes are not supported yet.\",\n );\n }\n\n if (decoratorPath && !hasFeature(file, FEATURES.decorators)) {\n throw path.buildCodeFrameError(\n \"Decorators are not enabled.\" +\n \"\\nIf you are using \" +\n '[\"@babel/plugin-proposal-decorators\", { \"version\": \"legacy\" }], ' +\n 'make sure it comes *before* \"@babel/plugin-transform-class-properties\" ' +\n \"and enable loose mode, like so:\\n\" +\n '\\t[\"@babel/plugin-proposal-decorators\", { \"version\": \"legacy\" }]\\n' +\n '\\t[\"@babel/plugin-transform-class-properties\", { \"loose\": true }]',\n );\n }\n\n if (privateMethodPath && !hasFeature(file, FEATURES.privateMethods)) {\n throw privateMethodPath.buildCodeFrameError(\n \"Class private methods are not enabled. \" +\n \"Please add `@babel/plugin-transform-private-methods` to your configuration.\",\n );\n }\n\n if (\n (publicFieldPath || privateFieldPath) &&\n !hasFeature(file, FEATURES.fields) &&\n // We want to allow enabling the private-methods plugin even without enabling\n // the class-properties plugin. Class fields will still be compiled in classes\n // that contain private methods.\n // This is already allowed with the other various class features plugins, but\n // it's because they can fallback to a transform separated from this helper.\n !hasFeature(file, FEATURES.privateMethods)\n ) {\n throw path.buildCodeFrameError(\n \"Class fields are not enabled. \" +\n \"Please add `@babel/plugin-transform-class-properties` to your configuration.\",\n );\n }\n\n if (staticBlockPath && !hasFeature(file, FEATURES.staticBlocks)) {\n throw path.buildCodeFrameError(\n \"Static class blocks are not enabled. \" +\n \"Please add `@babel/plugin-transform-class-static-block` to your configuration.\",\n );\n }\n\n if (decoratorPath || privateMethodPath || staticBlockPath) {\n // If one of those feature is used we know that its transform is\n // enabled, otherwise the previous checks throw.\n return true;\n }\n if (\n (publicFieldPath || privateFieldPath) &&\n hasFeature(file, FEATURES.fields)\n ) {\n return true;\n }\n\n return false;\n}\n","import { types as t } from \"@babel/core\";\nimport type { PluginAPI, PluginObject } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\nimport nameFunction from \"@babel/helper-function-name\";\nimport splitExportDeclaration from \"@babel/helper-split-export-declaration\";\n\nimport semver from \"semver\";\n\nimport {\n buildPrivateNamesNodes,\n buildPrivateNamesMap,\n transformPrivateNamesUsage,\n buildFieldsInitNodes,\n buildCheckInRHS,\n} from \"./fields.ts\";\nimport type { PropPath } from \"./fields.ts\";\nimport { buildDecoratedClass, hasDecorators } from \"./decorators.ts\";\nimport { injectInitialization, extractComputedKeys } from \"./misc.ts\";\nimport {\n enableFeature,\n FEATURES,\n isLoose,\n shouldTransform,\n} from \"./features.ts\";\nimport { assertFieldTransformed } from \"./typescript.ts\";\n\nexport { FEATURES, enableFeature, injectInitialization, buildCheckInRHS };\n\nconst versionKey = \"@babel/plugin-class-features/version\";\n\ninterface Options {\n name: string;\n feature: number;\n loose?: boolean;\n inherits?: PluginObject[\"inherits\"];\n manipulateOptions?: PluginObject[\"manipulateOptions\"];\n api?: PluginAPI;\n}\n\nexport function createClassFeaturePlugin({\n name,\n feature,\n loose,\n manipulateOptions,\n api,\n inherits,\n}: Options): PluginObject {\n if (!process.env.BABEL_8_BREAKING) {\n api ??= { assumption: () => void 0 as any } as any;\n }\n const setPublicClassFields = api.assumption(\"setPublicClassFields\");\n const privateFieldsAsSymbols = api.assumption(\"privateFieldsAsSymbols\");\n const privateFieldsAsProperties = api.assumption(\"privateFieldsAsProperties\");\n const constantSuper = api.assumption(\"constantSuper\");\n const noDocumentAll = api.assumption(\"noDocumentAll\");\n\n if (privateFieldsAsProperties && privateFieldsAsSymbols) {\n throw new Error(\n `Cannot enable both the \"privateFieldsAsProperties\" and ` +\n `\"privateFieldsAsSymbols\" assumptions as the same time.`,\n );\n }\n const privateFieldsAsSymbolsOrProperties =\n privateFieldsAsProperties || privateFieldsAsSymbols;\n\n if (loose === true) {\n type AssumptionName = Parameters[0];\n const explicit: `\"${AssumptionName}\"`[] = [];\n\n if (setPublicClassFields !== undefined) {\n explicit.push(`\"setPublicClassFields\"`);\n }\n if (privateFieldsAsProperties !== undefined) {\n explicit.push(`\"privateFieldsAsProperties\"`);\n }\n if (privateFieldsAsSymbols !== undefined) {\n explicit.push(`\"privateFieldsAsSymbols\"`);\n }\n if (explicit.length !== 0) {\n console.warn(\n `[${name}]: You are using the \"loose: true\" option and you are` +\n ` explicitly setting a value for the ${explicit.join(\" and \")}` +\n ` assumption${explicit.length > 1 ? \"s\" : \"\"}. The \"loose\" option` +\n ` can cause incompatibilities with the other class features` +\n ` plugins, so it's recommended that you replace it with the` +\n ` following top-level option:\\n` +\n `\\t\"assumptions\": {\\n` +\n `\\t\\t\"setPublicClassFields\": true,\\n` +\n `\\t\\t\"privateFieldsAsSymbols\": true\\n` +\n `\\t}`,\n );\n }\n }\n\n return {\n name,\n manipulateOptions,\n inherits,\n\n pre(file) {\n enableFeature(file, feature, loose);\n\n if (!process.env.BABEL_8_BREAKING) {\n // Until 7.21.4, we used to encode the version as a number.\n // If file.get(versionKey) is a number, it has thus been\n // set by an older version of this plugin.\n if (typeof file.get(versionKey) === \"number\") {\n file.set(versionKey, PACKAGE_JSON.version);\n return;\n }\n }\n if (\n !file.get(versionKey) ||\n semver.lt(file.get(versionKey), PACKAGE_JSON.version)\n ) {\n file.set(versionKey, PACKAGE_JSON.version);\n }\n },\n\n visitor: {\n Class(path, { file }) {\n if (file.get(versionKey) !== PACKAGE_JSON.version) return;\n\n if (!shouldTransform(path, file)) return;\n\n const pathIsClassDeclaration = path.isClassDeclaration();\n\n if (pathIsClassDeclaration) assertFieldTransformed(path);\n\n const loose = isLoose(file, feature);\n\n let constructor: NodePath;\n const isDecorated = hasDecorators(path.node);\n const props: PropPath[] = [];\n const elements = [];\n const computedPaths: NodePath[] = [];\n const privateNames = new Set();\n const body = path.get(\"body\");\n\n for (const path of body.get(\"body\")) {\n if (\n // check path.node.computed is enough, but ts will complain\n (path.isClassProperty() || path.isClassMethod()) &&\n path.node.computed\n ) {\n computedPaths.push(path);\n }\n\n if (path.isPrivate()) {\n const { name } = path.node.key.id;\n const getName = `get ${name}`;\n const setName = `set ${name}`;\n\n if (path.isClassPrivateMethod()) {\n if (path.node.kind === \"get\") {\n if (\n privateNames.has(getName) ||\n (privateNames.has(name) && !privateNames.has(setName))\n ) {\n throw path.buildCodeFrameError(\"Duplicate private field\");\n }\n privateNames.add(getName).add(name);\n } else if (path.node.kind === \"set\") {\n if (\n privateNames.has(setName) ||\n (privateNames.has(name) && !privateNames.has(getName))\n ) {\n throw path.buildCodeFrameError(\"Duplicate private field\");\n }\n privateNames.add(setName).add(name);\n }\n } else {\n if (\n (privateNames.has(name) &&\n !privateNames.has(getName) &&\n !privateNames.has(setName)) ||\n (privateNames.has(name) &&\n (privateNames.has(getName) || privateNames.has(setName)))\n ) {\n throw path.buildCodeFrameError(\"Duplicate private field\");\n }\n\n privateNames.add(name);\n }\n }\n\n if (path.isClassMethod({ kind: \"constructor\" })) {\n constructor = path;\n } else {\n elements.push(path);\n if (\n path.isProperty() ||\n path.isPrivate() ||\n path.isStaticBlock?.()\n ) {\n props.push(path as PropPath);\n }\n }\n }\n\n if (process.env.BABEL_8_BREAKING) {\n if (!props.length) return;\n } else {\n if (!props.length && !isDecorated) return;\n }\n\n const innerBinding = path.node.id;\n let ref: t.Identifier | null;\n if (!innerBinding || !pathIsClassDeclaration) {\n nameFunction(path);\n ref = path.scope.generateUidIdentifier(\"class\");\n }\n const classRefForDefine = ref ?? t.cloneNode(innerBinding);\n\n // NODE: These three functions don't support decorators yet,\n // but verifyUsedFeatures throws if there are both\n // decorators and private fields.\n const privateNamesMap = buildPrivateNamesMap(props);\n const privateNamesNodes = buildPrivateNamesNodes(\n privateNamesMap,\n privateFieldsAsProperties ?? loose,\n privateFieldsAsSymbols ?? false,\n file,\n );\n\n transformPrivateNamesUsage(\n classRefForDefine,\n path,\n privateNamesMap,\n {\n privateFieldsAsProperties:\n privateFieldsAsSymbolsOrProperties ?? loose,\n noDocumentAll,\n innerBinding,\n },\n file,\n );\n\n let keysNodes: t.Statement[],\n staticNodes: t.Statement[],\n instanceNodes: t.Statement[],\n pureStaticNodes: t.FunctionDeclaration[],\n classBindingNode: t.Statement | null,\n wrapClass: (path: NodePath) => NodePath;\n\n if (!process.env.BABEL_8_BREAKING) {\n if (isDecorated) {\n staticNodes = pureStaticNodes = keysNodes = [];\n ({ instanceNodes, wrapClass } = buildDecoratedClass(\n classRefForDefine,\n path,\n elements,\n file,\n ));\n } else {\n keysNodes = extractComputedKeys(path, computedPaths, file);\n ({\n staticNodes,\n pureStaticNodes,\n instanceNodes,\n classBindingNode,\n wrapClass,\n } = buildFieldsInitNodes(\n ref,\n path.node.superClass,\n props,\n privateNamesMap,\n file,\n setPublicClassFields ?? loose,\n privateFieldsAsSymbolsOrProperties ?? loose,\n constantSuper ?? loose,\n innerBinding,\n ));\n }\n } else {\n keysNodes = extractComputedKeys(path, computedPaths, file);\n ({\n staticNodes,\n pureStaticNodes,\n instanceNodes,\n classBindingNode,\n wrapClass,\n } = buildFieldsInitNodes(\n ref,\n path.node.superClass,\n props,\n privateNamesMap,\n file,\n setPublicClassFields ?? loose,\n privateFieldsAsSymbolsOrProperties ?? loose,\n constantSuper ?? loose,\n innerBinding,\n ));\n }\n\n if (instanceNodes.length > 0) {\n injectInitialization(\n path,\n constructor,\n instanceNodes,\n (referenceVisitor, state) => {\n if (!process.env.BABEL_8_BREAKING) {\n if (isDecorated) return;\n }\n for (const prop of props) {\n // @ts-expect-error: TS doesn't infer that prop.node is not a StaticBlock\n if (t.isStaticBlock?.(prop.node) || prop.node.static) continue;\n prop.traverse(referenceVisitor, state);\n }\n },\n );\n }\n\n // rename to make ts happy\n const wrappedPath = wrapClass(path);\n wrappedPath.insertBefore([...privateNamesNodes, ...keysNodes]);\n if (staticNodes.length > 0) {\n wrappedPath.insertAfter(staticNodes);\n }\n if (pureStaticNodes.length > 0) {\n wrappedPath\n .find(parent => parent.isStatement() || parent.isDeclaration())\n .insertAfter(pureStaticNodes);\n }\n if (classBindingNode != null && pathIsClassDeclaration) {\n wrappedPath.insertAfter(classBindingNode);\n }\n },\n\n ExportDefaultDeclaration(path, { file }) {\n if (!process.env.BABEL_8_BREAKING) {\n if (file.get(versionKey) !== PACKAGE_JSON.version) return;\n\n const decl = path.get(\"declaration\");\n\n if (decl.isClassDeclaration() && hasDecorators(decl.node)) {\n if (decl.node.id) {\n // export default class Foo {}\n // -->\n // class Foo {} export { Foo as default }\n splitExportDeclaration(path);\n } else {\n // @ts-expect-error Anonymous class declarations can be\n // transformed as if they were expressions\n decl.node.type = \"ClassExpression\";\n }\n }\n }\n },\n },\n };\n}\n","/* eslint-disable @babel/development/plugin-name */\n\nimport { declare } from \"@babel/helper-plugin-utils\";\nimport {\n createClassFeaturePlugin,\n FEATURES,\n} from \"@babel/helper-create-class-features-plugin\";\n\nexport interface Options {\n loose?: boolean;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n return createClassFeaturePlugin({\n name: \"transform-class-properties\",\n\n api,\n feature: FEATURES.fields,\n loose: options.loose,\n\n manipulateOptions(opts, parserOpts) {\n parserOpts.plugins.push(\"classProperties\", \"classPrivateProperties\");\n },\n });\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport type { Scope } from \"@babel/traverse\";\n\nimport {\n enableFeature,\n FEATURES,\n} from \"@babel/helper-create-class-features-plugin\";\n\n/**\n * Generate a uid that is not in `denyList`\n *\n * @param {Scope} scope\n * @param {Set} denyList a deny list that the generated uid should avoid\n * @returns\n */\nfunction generateUid(scope: Scope, denyList: Set) {\n const name = \"\";\n let uid;\n let i = 1;\n do {\n uid = scope._generateUid(name, i);\n i++;\n } while (denyList.has(uid));\n return uid;\n}\n\nexport default declare(({ types: t, template, assertVersion }) => {\n assertVersion(\"^7.12.0\");\n\n return {\n name: \"transform-class-static-block\",\n inherits: USE_ESM\n ? undefined\n : IS_STANDALONE\n ? undefined\n : // eslint-disable-next-line no-restricted-globals\n require(\"@babel/plugin-syntax-class-static-block\").default,\n\n pre() {\n // Enable this in @babel/helper-create-class-features-plugin, so that it\n // can be handled by the private fields and methods transform.\n enableFeature(this.file, FEATURES.staticBlocks, /* loose */ false);\n },\n\n visitor: {\n // Run on ClassBody and not on class so that if @babel/helper-create-class-features-plugin\n // is enabled it can generate optimized output without passing from the intermediate\n // private fields representation.\n ClassBody(classBody) {\n const { scope } = classBody;\n const privateNames = new Set();\n const body = classBody.get(\"body\");\n for (const path of body) {\n if (path.isPrivate()) {\n privateNames.add(path.get(\"key.id\").node.name);\n }\n }\n for (const path of body) {\n if (!path.isStaticBlock()) continue;\n const staticBlockPrivateId = generateUid(scope, privateNames);\n privateNames.add(staticBlockPrivateId);\n const staticBlockRef = t.privateName(\n t.identifier(staticBlockPrivateId),\n );\n\n let replacement;\n const blockBody = path.node.body;\n // We special-case the single expression case to avoid the iife, since\n // it's common.\n if (blockBody.length === 1 && t.isExpressionStatement(blockBody[0])) {\n replacement = t.inheritsComments(\n blockBody[0].expression,\n blockBody[0],\n );\n } else {\n replacement = template.expression.ast`(() => { ${blockBody} })()`;\n }\n\n path.replaceWith(\n t.classPrivateProperty(\n staticBlockRef,\n replacement,\n [],\n /* static */ true,\n ),\n );\n }\n },\n },\n };\n});\n","// Fork of https://github.com/loganfsmyth/babel-plugin-proposal-decorators-legacy\n\nimport { template, types as t, type PluginPass } from \"@babel/core\";\nimport type { NodePath, Visitor } from \"@babel/traverse\";\n\nconst buildClassDecorator = template.statement(`\n DECORATOR(CLASS_REF = INNER) || CLASS_REF;\n`) as (replacements: {\n DECORATOR: t.Expression;\n CLASS_REF: t.Identifier;\n INNER: t.Expression;\n}) => t.ExpressionStatement;\n\nconst buildClassPrototype = template(`\n CLASS_REF.prototype;\n`) as (replacements: { CLASS_REF: t.Identifier }) => t.ExpressionStatement;\n\nconst buildGetDescriptor = template(`\n Object.getOwnPropertyDescriptor(TARGET, PROPERTY);\n`) as (replacements: {\n TARGET: t.Expression;\n PROPERTY: t.Literal;\n}) => t.ExpressionStatement;\n\nconst buildGetObjectInitializer = template(`\n (TEMP = Object.getOwnPropertyDescriptor(TARGET, PROPERTY), (TEMP = TEMP ? TEMP.value : undefined), {\n enumerable: true,\n configurable: true,\n writable: true,\n initializer: function(){\n return TEMP;\n }\n })\n`) as (replacements: {\n TEMP: t.Identifier;\n TARGET: t.Expression;\n PROPERTY: t.Literal;\n}) => t.ExpressionStatement;\n\nconst WARNING_CALLS = new WeakSet();\n\n// legacy decorator does not support ClassAccessorProperty\ntype ClassDecoratableElement =\n | t.ClassMethod\n | t.ClassPrivateMethod\n | t.ClassProperty\n | t.ClassPrivateProperty;\n\n/**\n * If the decorator expressions are non-identifiers, hoist them to before the class so we can be sure\n * that they are evaluated in order.\n */\nfunction applyEnsureOrdering(\n path: NodePath,\n) {\n // TODO: This should probably also hoist computed properties.\n const decorators: t.Decorator[] = (\n path.isClass()\n ? [\n path,\n ...(path.get(\"body.body\") as NodePath[]),\n ]\n : path.get(\"properties\")\n ).reduce(\n (\n acc: t.Decorator[],\n prop: NodePath<\n t.ObjectMember | t.ClassExpression | ClassDecoratableElement\n >,\n ) => acc.concat(prop.node.decorators || []),\n [],\n );\n\n const identDecorators = decorators.filter(\n decorator => !t.isIdentifier(decorator.expression),\n );\n if (identDecorators.length === 0) return;\n\n return t.sequenceExpression(\n identDecorators\n .map((decorator): t.Expression => {\n const expression = decorator.expression;\n const id = (decorator.expression =\n path.scope.generateDeclaredUidIdentifier(\"dec\"));\n return t.assignmentExpression(\"=\", id, expression);\n })\n .concat([path.node]),\n );\n}\n\n/**\n * Given a class expression with class-level decorators, create a new expression\n * with the proper decorated behavior.\n */\nfunction applyClassDecorators(classPath: NodePath) {\n if (!hasClassDecorators(classPath.node)) return;\n\n const decorators = classPath.node.decorators || [];\n classPath.node.decorators = null;\n\n const name = classPath.scope.generateDeclaredUidIdentifier(\"class\");\n\n return decorators\n .map(dec => dec.expression)\n .reverse()\n .reduce(function (acc, decorator) {\n return buildClassDecorator({\n CLASS_REF: t.cloneNode(name),\n DECORATOR: t.cloneNode(decorator),\n INNER: acc,\n }).expression;\n }, classPath.node);\n}\n\nfunction hasClassDecorators(classNode: t.Class) {\n return !!classNode.decorators?.length;\n}\n\n/**\n * Given a class expression with method-level decorators, create a new expression\n * with the proper decorated behavior.\n */\nfunction applyMethodDecorators(\n path: NodePath,\n state: PluginPass,\n) {\n if (!hasMethodDecorators(path.node.body.body)) return;\n\n return applyTargetDecorators(\n path,\n state,\n // @ts-expect-error ClassAccessorProperty is not supported in legacy decorator\n path.node.body.body,\n );\n}\n\nfunction hasMethodDecorators(\n body: t.ClassBody[\"body\"] | t.ObjectExpression[\"properties\"],\n) {\n return body.some(\n node =>\n // @ts-expect-error decorators not in SpreadElement/StaticBlock\n node.decorators?.length,\n );\n}\n\n/**\n * Given an object expression with property decorators, create a new expression\n * with the proper decorated behavior.\n */\nfunction applyObjectDecorators(\n path: NodePath,\n state: PluginPass,\n) {\n if (!hasMethodDecorators(path.node.properties)) return;\n\n return applyTargetDecorators(\n path,\n state,\n path.node.properties.filter(\n (prop): prop is t.ObjectMember => prop.type !== \"SpreadElement\",\n ),\n );\n}\n\n/**\n * A helper to pull out property decorators into a sequence expression.\n */\nfunction applyTargetDecorators(\n path: NodePath,\n state: PluginPass,\n decoratedProps: (t.ObjectMember | ClassDecoratableElement)[],\n) {\n const name = path.scope.generateDeclaredUidIdentifier(\n path.isClass() ? \"class\" : \"obj\",\n );\n\n const exprs = decoratedProps.reduce(function (acc, node) {\n let decorators: t.Decorator[] = [];\n if (node.decorators != null) {\n decorators = node.decorators;\n node.decorators = null;\n }\n\n if (decorators.length === 0) return acc;\n\n if (\n // @ts-expect-error computed is not in ClassPrivateProperty\n node.computed\n ) {\n throw path.buildCodeFrameError(\n \"Computed method/property decorators are not yet supported.\",\n );\n }\n\n const property: t.Literal = t.isLiteral(node.key)\n ? node.key\n : t.stringLiteral(\n // @ts-expect-error: should we handle ClassPrivateProperty?\n node.key.name,\n );\n\n const target =\n path.isClass() && !(node as ClassDecoratableElement).static\n ? buildClassPrototype({\n CLASS_REF: name,\n }).expression\n : name;\n\n if (t.isClassProperty(node, { static: false })) {\n const descriptor = path.scope.generateDeclaredUidIdentifier(\"descriptor\");\n\n const initializer = node.value\n ? t.functionExpression(\n null,\n [],\n t.blockStatement([t.returnStatement(node.value)]),\n )\n : t.nullLiteral();\n\n node.value = t.callExpression(\n state.addHelper(\"initializerWarningHelper\"),\n [descriptor, t.thisExpression()],\n );\n\n WARNING_CALLS.add(node.value);\n\n acc.push(\n t.assignmentExpression(\n \"=\",\n t.cloneNode(descriptor),\n t.callExpression(state.addHelper(\"applyDecoratedDescriptor\"), [\n t.cloneNode(target),\n t.cloneNode(property),\n t.arrayExpression(\n decorators.map(dec => t.cloneNode(dec.expression)),\n ),\n t.objectExpression([\n t.objectProperty(\n t.identifier(\"configurable\"),\n t.booleanLiteral(true),\n ),\n t.objectProperty(\n t.identifier(\"enumerable\"),\n t.booleanLiteral(true),\n ),\n t.objectProperty(\n t.identifier(\"writable\"),\n t.booleanLiteral(true),\n ),\n t.objectProperty(t.identifier(\"initializer\"), initializer),\n ]),\n ]),\n ),\n );\n } else {\n acc.push(\n t.callExpression(state.addHelper(\"applyDecoratedDescriptor\"), [\n t.cloneNode(target),\n t.cloneNode(property),\n t.arrayExpression(decorators.map(dec => t.cloneNode(dec.expression))),\n t.isObjectProperty(node) || t.isClassProperty(node, { static: true })\n ? buildGetObjectInitializer({\n TEMP: path.scope.generateDeclaredUidIdentifier(\"init\"),\n TARGET: t.cloneNode(target),\n PROPERTY: t.cloneNode(property),\n }).expression\n : buildGetDescriptor({\n TARGET: t.cloneNode(target),\n PROPERTY: t.cloneNode(property),\n }).expression,\n t.cloneNode(target),\n ]),\n );\n }\n\n return acc;\n }, []);\n\n return t.sequenceExpression([\n t.assignmentExpression(\"=\", t.cloneNode(name), path.node),\n t.sequenceExpression(exprs),\n t.cloneNode(name),\n ]);\n}\n\nfunction decoratedClassToExpression({ node, scope }: NodePath) {\n if (!hasClassDecorators(node) && !hasMethodDecorators(node.body.body)) {\n return;\n }\n\n const ref = node.id\n ? t.cloneNode(node.id)\n : scope.generateUidIdentifier(\"class\");\n\n return t.variableDeclaration(\"let\", [\n t.variableDeclarator(ref, t.toExpression(node)),\n ]);\n}\n\nconst visitor: Visitor = {\n ExportDefaultDeclaration(path) {\n const decl = path.get(\"declaration\");\n if (!decl.isClassDeclaration()) return;\n\n const replacement = decoratedClassToExpression(decl);\n if (replacement) {\n const [varDeclPath] = path.replaceWithMultiple([\n replacement,\n t.exportNamedDeclaration(null, [\n t.exportSpecifier(\n // @ts-expect-error todo(flow->ts) might be add more specific return type for decoratedClassToExpression\n t.cloneNode(replacement.declarations[0].id),\n t.identifier(\"default\"),\n ),\n ]),\n ]);\n\n if (!decl.node.id) {\n path.scope.registerDeclaration(varDeclPath);\n }\n }\n },\n ClassDeclaration(path) {\n const replacement = decoratedClassToExpression(path);\n if (replacement) {\n const [newPath] = path.replaceWith(replacement);\n\n const decl = newPath.get(\"declarations.0\");\n const id = decl.node.id as t.Identifier;\n\n // TODO: Maybe add this logic to @babel/traverse\n const binding = path.scope.getOwnBinding(id.name);\n binding.identifier = id;\n binding.path = decl;\n }\n },\n ClassExpression(path, state) {\n // Create a replacement for the class node if there is one. We do one pass to replace classes with\n // class decorators, and a second pass to process method decorators.\n const decoratedClass =\n applyEnsureOrdering(path) ||\n applyClassDecorators(path) ||\n applyMethodDecorators(path, state);\n\n if (decoratedClass) path.replaceWith(decoratedClass);\n },\n ObjectExpression(path, state) {\n const decoratedObject =\n applyEnsureOrdering(path) || applyObjectDecorators(path, state);\n\n if (decoratedObject) path.replaceWith(decoratedObject);\n },\n\n AssignmentExpression(path, state) {\n if (!WARNING_CALLS.has(path.node.right)) return;\n\n path.replaceWith(\n t.callExpression(state.addHelper(\"initializerDefineProperty\"), [\n // @ts-expect-error todo(flow->ts) typesafe NodePath.get\n t.cloneNode(path.get(\"left.object\").node),\n t.stringLiteral(\n // @ts-expect-error todo(flow->ts) typesafe NodePath.get\n path.get(\"left.property\").node.name ||\n // @ts-expect-error todo(flow->ts) typesafe NodePath.get\n path.get(\"left.property\").node.value,\n ),\n // @ts-expect-error todo(flow->ts)\n t.cloneNode(path.get(\"right.arguments\")[0].node),\n // @ts-expect-error todo(flow->ts)\n t.cloneNode(path.get(\"right.arguments\")[1].node),\n ]),\n );\n },\n\n CallExpression(path, state) {\n if (path.node.arguments.length !== 3) return;\n if (!WARNING_CALLS.has(path.node.arguments[2])) return;\n\n // If the class properties plugin isn't enabled, this line will add an unused helper\n // to the code. It's not ideal, but it's ok since the configuration is not valid anyway.\n // @ts-expect-error todo(flow->ts) check that `callee` is Identifier\n if (path.node.callee.name !== state.addHelper(\"defineProperty\").name) {\n return;\n }\n\n path.replaceWith(\n t.callExpression(state.addHelper(\"initializerDefineProperty\"), [\n t.cloneNode(path.get(\"arguments\")[0].node),\n t.cloneNode(path.get(\"arguments\")[1].node),\n // @ts-expect-error todo(flow->ts)\n t.cloneNode(path.get(\"arguments.2.arguments\")[0].node),\n // @ts-expect-error todo(flow->ts)\n t.cloneNode(path.get(\"arguments.2.arguments\")[1].node),\n ]),\n );\n },\n};\n\nexport default visitor;\n","import type { NodePath, Scope } from \"@babel/traverse\";\nimport { types as t, template } from \"@babel/core\";\nimport syntaxDecorators from \"@babel/plugin-syntax-decorators\";\nimport ReplaceSupers from \"@babel/helper-replace-supers\";\nimport splitExportDeclaration from \"@babel/helper-split-export-declaration\";\nimport * as charCodes from \"charcodes\";\nimport type { PluginAPI, PluginObject, PluginPass } from \"@babel/core\";\nimport type { Options } from \"./index.ts\";\n\ntype ClassDecoratableElement =\n | t.ClassMethod\n | t.ClassPrivateMethod\n | t.ClassProperty\n | t.ClassPrivateProperty\n | t.ClassAccessorProperty;\n\ntype ClassElement =\n | ClassDecoratableElement\n | t.TSDeclareMethod\n | t.TSIndexSignature\n | t.StaticBlock;\n\ntype DecoratorVersionKind = \"2023-05\" | \"2023-01\" | \"2022-03\" | \"2021-12\";\n\nfunction incrementId(id: number[], idx = id.length - 1): void {\n // If index is -1, id needs an additional character, unshift A\n if (idx === -1) {\n id.unshift(charCodes.uppercaseA);\n return;\n }\n\n const current = id[idx];\n\n if (current === charCodes.uppercaseZ) {\n // if current is Z, skip to a\n id[idx] = charCodes.lowercaseA;\n } else if (current === charCodes.lowercaseZ) {\n // if current is z, reset to A and carry the 1\n id[idx] = charCodes.uppercaseA;\n incrementId(id, idx - 1);\n } else {\n // else, increment by one\n id[idx] = current + 1;\n }\n}\n\n/**\n * Generates a new private name that is unique to the given class. This can be\n * used to create extra class fields and methods for the implementation, while\n * keeping the length of those names as small as possible. This is important for\n * minification purposes (though private names can generally be minified,\n * transpilations and polyfills cannot yet).\n */\nfunction createPrivateUidGeneratorForClass(\n classPath: NodePath,\n): () => t.PrivateName {\n const currentPrivateId: number[] = [];\n const privateNames = new Set();\n\n classPath.traverse({\n PrivateName(path) {\n privateNames.add(path.node.id.name);\n },\n });\n\n return (): t.PrivateName => {\n let reifiedId;\n do {\n incrementId(currentPrivateId);\n reifiedId = String.fromCharCode(...currentPrivateId);\n } while (privateNames.has(reifiedId));\n\n return t.privateName(t.identifier(reifiedId));\n };\n}\n\n/**\n * Wraps the above generator function so that it's run lazily the first time\n * it's actually required. Several types of decoration do not require this, so it\n * saves iterating the class elements an additional time and allocating the space\n * for the Sets of element names.\n */\nfunction createLazyPrivateUidGeneratorForClass(\n classPath: NodePath,\n): () => t.PrivateName {\n let generator: () => t.PrivateName;\n\n return (): t.PrivateName => {\n if (!generator) {\n generator = createPrivateUidGeneratorForClass(classPath);\n }\n\n return generator();\n };\n}\n\n/**\n * Takes a class definition and replaces it with an equivalent class declaration\n * which is then assigned to a local variable. This allows us to reassign the\n * local variable with the decorated version of the class. The class definition\n * retains its original name so that `toString` is not affected, other\n * references to the class are renamed instead.\n */\nfunction replaceClassWithVar(\n path: NodePath,\n): [t.Identifier, NodePath] {\n if (path.type === \"ClassDeclaration\") {\n const varId = path.scope.generateUidIdentifierBasedOnNode(path.node.id);\n const classId = t.identifier(path.node.id.name);\n\n path.scope.rename(classId.name, varId.name);\n\n path.insertBefore(\n t.variableDeclaration(\"let\", [t.variableDeclarator(varId)]),\n );\n path.get(\"id\").replaceWith(classId);\n\n return [t.cloneNode(varId), path];\n } else {\n let className: string;\n let varId: t.Identifier;\n\n if (path.node.id) {\n className = path.node.id.name;\n varId = path.scope.parent.generateDeclaredUidIdentifier(className);\n path.scope.rename(className, varId.name);\n } else if (\n path.parentPath.node.type === \"VariableDeclarator\" &&\n path.parentPath.node.id.type === \"Identifier\"\n ) {\n className = path.parentPath.node.id.name;\n varId = path.scope.parent.generateDeclaredUidIdentifier(className);\n } else {\n varId =\n path.scope.parent.generateDeclaredUidIdentifier(\"decorated_class\");\n }\n\n const newClassExpr = t.classExpression(\n className && t.identifier(className),\n path.node.superClass,\n path.node.body,\n );\n\n const [newPath] = path.replaceWith(\n t.sequenceExpression([newClassExpr, varId]),\n );\n\n return [\n t.cloneNode(varId),\n newPath.get(\"expressions.0\") as NodePath,\n ];\n }\n}\n\nfunction generateClassProperty(\n key: t.PrivateName | t.Identifier,\n value: t.Expression | undefined,\n isStatic: boolean,\n): t.ClassPrivateProperty | t.ClassProperty {\n if (key.type === \"PrivateName\") {\n return t.classPrivateProperty(key, value, undefined, isStatic);\n } else {\n return t.classProperty(key, value, undefined, undefined, isStatic);\n }\n}\n\nfunction addProxyAccessorsFor(\n className: t.Identifier,\n element: NodePath,\n originalKey: t.PrivateName | t.Expression,\n targetKey: t.PrivateName,\n version: DecoratorVersionKind,\n isComputed = false,\n): void {\n const { static: isStatic } = element.node;\n\n const thisArg =\n version === \"2023-05\" && isStatic ? className : t.thisExpression();\n\n const getterBody = t.blockStatement([\n t.returnStatement(\n t.memberExpression(t.cloneNode(thisArg), t.cloneNode(targetKey)),\n ),\n ]);\n\n const setterBody = t.blockStatement([\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.memberExpression(t.cloneNode(thisArg), t.cloneNode(targetKey)),\n t.identifier(\"v\"),\n ),\n ),\n ]);\n\n let getter: t.ClassMethod | t.ClassPrivateMethod,\n setter: t.ClassMethod | t.ClassPrivateMethod;\n\n if (originalKey.type === \"PrivateName\") {\n getter = t.classPrivateMethod(\n \"get\",\n t.cloneNode(originalKey),\n [],\n getterBody,\n isStatic,\n );\n setter = t.classPrivateMethod(\n \"set\",\n t.cloneNode(originalKey),\n [t.identifier(\"v\")],\n setterBody,\n isStatic,\n );\n } else {\n getter = t.classMethod(\n \"get\",\n t.cloneNode(originalKey),\n [],\n getterBody,\n isComputed,\n isStatic,\n );\n setter = t.classMethod(\n \"set\",\n t.cloneNode(originalKey),\n [t.identifier(\"v\")],\n setterBody,\n isComputed,\n isStatic,\n );\n }\n\n element.insertAfter(setter);\n element.insertAfter(getter);\n}\n\nfunction extractProxyAccessorsFor(\n targetKey: t.PrivateName,\n version: DecoratorVersionKind,\n): (t.FunctionExpression | t.ArrowFunctionExpression)[] {\n if (version !== \"2023-05\" && version !== \"2023-01\") {\n return [\n template.expression.ast`\n function () {\n return this.${t.cloneNode(targetKey)};\n }\n ` as t.FunctionExpression,\n template.expression.ast`\n function (value) {\n this.${t.cloneNode(targetKey)} = value;\n }\n ` as t.FunctionExpression,\n ];\n }\n return [\n template.expression.ast`\n o => o.${t.cloneNode(targetKey)}\n ` as t.ArrowFunctionExpression,\n template.expression.ast`\n (o, v) => o.${t.cloneNode(targetKey)} = v\n ` as t.ArrowFunctionExpression,\n ];\n}\n\n// 3 bits reserved to this (0-7)\nconst FIELD = 0;\nconst ACCESSOR = 1;\nconst METHOD = 2;\nconst GETTER = 3;\nconst SETTER = 4;\n\nconst STATIC_OLD_VERSION = 5; // Before 2023-05\nconst STATIC = 8; // 1 << 3\nconst DECORATORS_HAVE_THIS = 16; // 1 << 3\n\nfunction getElementKind(element: NodePath): number {\n switch (element.node.type) {\n case \"ClassProperty\":\n case \"ClassPrivateProperty\":\n return FIELD;\n case \"ClassAccessorProperty\":\n return ACCESSOR;\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n if (element.node.kind === \"get\") {\n return GETTER;\n } else if (element.node.kind === \"set\") {\n return SETTER;\n } else {\n return METHOD;\n }\n }\n}\n\n// Information about the decorators applied to an element\ninterface DecoratorInfo {\n // The expressions of the decorators themselves\n decorators: t.Expression[];\n decoratorsThis: t.Expression[];\n\n // The kind of the decorated value, matches the kind value passed to applyDecs\n kind: number;\n\n // whether or not the field is static\n isStatic: boolean;\n\n // The name of the decorator\n name: t.StringLiteral | t.Expression;\n\n privateMethods:\n | (t.FunctionExpression | t.ArrowFunctionExpression)[]\n | undefined;\n\n // The names of local variables that will be used/returned from the decoration\n locals: t.Identifier | t.Identifier[] | undefined;\n}\n\n// Information about a computed property key. These must be evaluated\n// interspersed with decorator expressions, which is why they get added to the\n// array of DecoratorInfos later on.\ninterface ComputedPropInfo {\n localComputedNameId: t.Identifier;\n keyNode: t.Expression;\n}\n\nfunction isDecoratorInfo(\n info: DecoratorInfo | ComputedPropInfo,\n): info is DecoratorInfo {\n return \"decorators\" in info;\n}\n\nfunction filteredOrderedDecoratorInfo(\n info: (DecoratorInfo | ComputedPropInfo)[],\n): DecoratorInfo[] {\n const filtered = info.filter(isDecoratorInfo);\n\n return [\n ...filtered.filter(\n el => el.isStatic && el.kind >= ACCESSOR && el.kind <= SETTER,\n ),\n ...filtered.filter(\n el => !el.isStatic && el.kind >= ACCESSOR && el.kind <= SETTER,\n ),\n ...filtered.filter(el => el.isStatic && el.kind === FIELD),\n ...filtered.filter(el => !el.isStatic && el.kind === FIELD),\n ];\n}\n\nfunction generateDecorationList(\n decorators: t.Expression[],\n decoratorsThis: (t.Expression | null)[],\n version: DecoratorVersionKind,\n) {\n const decsCount = decorators.length;\n const hasOneThis = decoratorsThis.some(Boolean);\n const decs: t.Expression[] = [];\n for (let i = 0; i < decsCount; i++) {\n if (version === \"2023-05\" && hasOneThis) {\n decs.push(\n decoratorsThis[i] || t.unaryExpression(\"void\", t.numericLiteral(0)),\n );\n }\n decs.push(decorators[i]);\n }\n\n return { hasThis: hasOneThis, decs };\n}\n\nfunction generateDecorationExprs(\n info: (DecoratorInfo | ComputedPropInfo)[],\n version: DecoratorVersionKind,\n): t.ArrayExpression {\n return t.arrayExpression(\n filteredOrderedDecoratorInfo(info).map(el => {\n const { decs, hasThis } = generateDecorationList(\n el.decorators,\n el.decoratorsThis,\n version,\n );\n\n let flag = el.kind;\n if (el.isStatic) {\n flag += version === \"2023-05\" ? STATIC : STATIC_OLD_VERSION;\n }\n if (hasThis) flag += DECORATORS_HAVE_THIS;\n\n return t.arrayExpression([\n decs.length === 1 ? decs[0] : t.arrayExpression(decs),\n t.numericLiteral(flag),\n el.name,\n ...(el.privateMethods || []),\n ]);\n }),\n );\n}\n\nfunction extractElementLocalAssignments(\n decorationInfo: (DecoratorInfo | ComputedPropInfo)[],\n) {\n const localIds: t.Identifier[] = [];\n\n for (const el of filteredOrderedDecoratorInfo(decorationInfo)) {\n const { locals } = el;\n\n if (Array.isArray(locals)) {\n localIds.push(...locals);\n } else if (locals !== undefined) {\n localIds.push(locals);\n }\n }\n\n return localIds;\n}\n\nfunction addCallAccessorsFor(\n element: NodePath,\n key: t.PrivateName,\n getId: t.Identifier,\n setId: t.Identifier,\n) {\n element.insertAfter(\n t.classPrivateMethod(\n \"get\",\n t.cloneNode(key),\n [],\n t.blockStatement([\n t.returnStatement(\n t.callExpression(t.cloneNode(getId), [t.thisExpression()]),\n ),\n ]),\n ),\n );\n\n element.insertAfter(\n t.classPrivateMethod(\n \"set\",\n t.cloneNode(key),\n [t.identifier(\"v\")],\n t.blockStatement([\n t.expressionStatement(\n t.callExpression(t.cloneNode(setId), [\n t.thisExpression(),\n t.identifier(\"v\"),\n ]),\n ),\n ]),\n ),\n );\n}\n\nfunction isNotTsParameter(\n node: t.Identifier | t.Pattern | t.RestElement | t.TSParameterProperty,\n): node is t.Identifier | t.Pattern | t.RestElement {\n return node.type !== \"TSParameterProperty\";\n}\n\nfunction movePrivateAccessor(\n element: NodePath,\n key: t.PrivateName,\n methodLocalVar: t.Identifier,\n isStatic: boolean,\n) {\n let params: (t.Identifier | t.RestElement)[];\n let block: t.Statement[];\n\n if (element.node.kind === \"set\") {\n params = [t.identifier(\"v\")];\n block = [\n t.expressionStatement(\n t.callExpression(methodLocalVar, [\n t.thisExpression(),\n t.identifier(\"v\"),\n ]),\n ),\n ];\n } else {\n params = [];\n block = [\n t.returnStatement(t.callExpression(methodLocalVar, [t.thisExpression()])),\n ];\n }\n\n element.replaceWith(\n t.classPrivateMethod(\n element.node.kind,\n t.cloneNode(key),\n params,\n t.blockStatement(block),\n isStatic,\n ),\n );\n}\n\nfunction isClassDecoratableElementPath(\n path: NodePath,\n): path is NodePath {\n const { type } = path;\n\n return (\n type !== \"TSDeclareMethod\" &&\n type !== \"TSIndexSignature\" &&\n type !== \"StaticBlock\"\n );\n}\n\nfunction staticBlockToIIFE(block: t.StaticBlock) {\n return t.callExpression(\n t.arrowFunctionExpression([], t.blockStatement(block.body)),\n [],\n );\n}\n\nfunction maybeSequenceExpression(exprs: t.Expression[]) {\n if (exprs.length === 0) return t.unaryExpression(\"void\", t.numericLiteral(0));\n if (exprs.length === 1) return exprs[0];\n return t.sequenceExpression(exprs);\n}\n\nfunction transformClass(\n path: NodePath,\n state: PluginPass,\n constantSuper: boolean,\n version: DecoratorVersionKind,\n): NodePath {\n const body = path.get(\"body.body\");\n\n const classDecorators = path.node.decorators;\n let hasElementDecorators = false;\n\n const generateClassPrivateUid = createLazyPrivateUidGeneratorForClass(path);\n\n // Iterate over the class to see if we need to decorate it, and also to\n // transform simple auto accessors which are not decorated\n for (const element of body) {\n if (!isClassDecoratableElementPath(element)) {\n continue;\n }\n\n if (element.node.decorators && element.node.decorators.length > 0) {\n hasElementDecorators = true;\n } else if (element.node.type === \"ClassAccessorProperty\") {\n const { key, value, static: isStatic, computed } = element.node;\n\n const newId = generateClassPrivateUid();\n\n const valueNode = value ? t.cloneNode(value) : undefined;\n\n const newField = generateClassProperty(newId, valueNode, isStatic);\n\n const [newPath] = element.replaceWith(newField);\n addProxyAccessorsFor(\n path.node.id,\n newPath,\n key,\n newId,\n version,\n computed,\n );\n }\n }\n\n // If nothing is decorated, return\n if (!classDecorators && !hasElementDecorators) return;\n\n const elementDecoratorInfo: (DecoratorInfo | ComputedPropInfo)[] = [];\n\n // The initializer of the first non-static field will be injected with the protoInit call\n let firstFieldPath:\n | NodePath\n | undefined;\n let constructorPath: NodePath | undefined;\n let requiresProtoInit = false;\n let requiresStaticInit = false;\n const decoratedPrivateMethods = new Set();\n\n let protoInitLocal: t.Identifier,\n staticInitLocal: t.Identifier,\n classInitLocal: t.Identifier,\n classIdLocal: t.Identifier;\n const assignments: t.AssignmentExpression[] = [];\n const scopeParent: Scope = path.scope.parent;\n\n const memoiseExpression = (expression: t.Expression, hint: string) => {\n const localEvaluatedId = scopeParent.generateDeclaredUidIdentifier(hint);\n assignments.push(t.assignmentExpression(\"=\", localEvaluatedId, expression));\n return t.cloneNode(localEvaluatedId);\n };\n\n const decoratorsThis = new Map();\n const maybeExtractDecorator = (decorator: t.Decorator) => {\n const { expression } = decorator;\n if (version === \"2023-05\" && t.isMemberExpression(expression)) {\n let object;\n if (\n t.isSuper(expression.object) ||\n t.isThisExpression(expression.object)\n ) {\n object = memoiseExpression(t.thisExpression(), \"obj\");\n } else if (!scopeParent.isStatic(expression.object)) {\n object = memoiseExpression(expression.object, \"obj\");\n expression.object = object;\n } else {\n object = expression.object;\n }\n decoratorsThis.set(decorator, t.cloneNode(object));\n }\n if (!scopeParent.isStatic(expression)) {\n decorator.expression = memoiseExpression(expression, \"dec\");\n }\n };\n\n if (classDecorators) {\n classInitLocal = scopeParent.generateDeclaredUidIdentifier(\"initClass\");\n\n const [classId, classPath] = replaceClassWithVar(path);\n path = classPath;\n classIdLocal = classId;\n\n path.node.decorators = null;\n\n for (const classDecorator of classDecorators) {\n maybeExtractDecorator(classDecorator);\n }\n } else {\n if (!path.node.id) {\n path.node.id = path.scope.generateUidIdentifier(\"Class\");\n }\n classIdLocal = t.cloneNode(path.node.id);\n }\n\n let lastInstancePrivateName: t.PrivateName;\n let needsInstancePrivateBrandCheck = false;\n\n if (hasElementDecorators) {\n for (const element of body) {\n if (!isClassDecoratableElementPath(element)) {\n continue;\n }\n\n const { node } = element;\n const decorators = element.get(\"decorators\");\n\n const hasDecorators = Array.isArray(decorators) && decorators.length > 0;\n\n if (hasDecorators) {\n for (const decoratorPath of decorators) {\n maybeExtractDecorator(decoratorPath.node);\n }\n }\n\n const isComputed =\n \"computed\" in element.node && element.node.computed === true;\n if (isComputed) {\n if (!scopeParent.isStatic(node.key)) {\n node.key = memoiseExpression(node.key as t.Expression, \"computedKey\");\n }\n }\n\n const kind = getElementKind(element);\n const { key } = node;\n\n const isPrivate = key.type === \"PrivateName\";\n\n const isStatic = !!element.node.static;\n\n let name = \"computedKey\";\n\n if (isPrivate) {\n name = key.id.name;\n } else if (!isComputed && key.type === \"Identifier\") {\n name = key.name;\n }\n\n if (isPrivate && !isStatic) {\n if (hasDecorators) {\n needsInstancePrivateBrandCheck = true;\n }\n if (t.isClassPrivateProperty(node) || !lastInstancePrivateName) {\n lastInstancePrivateName = key;\n }\n }\n\n if (element.isClassMethod({ kind: \"constructor\" })) {\n constructorPath = element;\n }\n\n if (hasDecorators) {\n let locals: t.Identifier | t.Identifier[];\n let privateMethods: Array<\n t.FunctionExpression | t.ArrowFunctionExpression\n >;\n\n if (kind === ACCESSOR) {\n const { value } = element.node as t.ClassAccessorProperty;\n\n const params: t.Expression[] = [t.thisExpression()];\n\n if (value) {\n params.push(t.cloneNode(value));\n }\n\n const newId = generateClassPrivateUid();\n const newFieldInitId =\n element.scope.parent.generateDeclaredUidIdentifier(`init_${name}`);\n const newValue = t.callExpression(\n t.cloneNode(newFieldInitId),\n params,\n );\n\n const newField = generateClassProperty(newId, newValue, isStatic);\n const [newPath] = element.replaceWith(newField);\n\n if (isPrivate) {\n privateMethods = extractProxyAccessorsFor(newId, version);\n\n const getId = newPath.scope.parent.generateDeclaredUidIdentifier(\n `get_${name}`,\n );\n const setId = newPath.scope.parent.generateDeclaredUidIdentifier(\n `set_${name}`,\n );\n\n addCallAccessorsFor(newPath, key, getId, setId);\n\n locals = [newFieldInitId, getId, setId];\n } else {\n addProxyAccessorsFor(\n path.node.id,\n newPath,\n key,\n newId,\n version,\n isComputed,\n );\n locals = newFieldInitId;\n }\n } else if (kind === FIELD) {\n const initId = element.scope.parent.generateDeclaredUidIdentifier(\n `init_${name}`,\n );\n const valuePath = (\n element as NodePath\n ).get(\"value\");\n\n valuePath.replaceWith(\n t.callExpression(\n t.cloneNode(initId),\n [t.thisExpression(), valuePath.node].filter(v => v),\n ),\n );\n\n locals = initId;\n\n if (isPrivate) {\n privateMethods = extractProxyAccessorsFor(key, version);\n }\n } else if (isPrivate) {\n locals = element.scope.parent.generateDeclaredUidIdentifier(\n `call_${name}`,\n );\n\n const replaceSupers = new ReplaceSupers({\n constantSuper,\n methodPath: element as NodePath,\n objectRef: classIdLocal,\n superRef: path.node.superClass,\n file: state.file,\n refToPreserve: classIdLocal,\n });\n\n replaceSupers.replace();\n\n const {\n params,\n body,\n async: isAsync,\n } = element.node as t.ClassPrivateMethod;\n\n privateMethods = [\n t.functionExpression(\n undefined,\n params.filter(isNotTsParameter),\n body,\n isAsync,\n ),\n ];\n\n if (kind === GETTER || kind === SETTER) {\n movePrivateAccessor(\n element as NodePath,\n t.cloneNode(key),\n t.cloneNode(locals),\n isStatic,\n );\n } else {\n const node = element.node as t.ClassPrivateMethod;\n\n // Unshift\n path.node.body.body.unshift(\n t.classPrivateProperty(key, t.cloneNode(locals), [], node.static),\n );\n\n decoratedPrivateMethods.add(key.id.name);\n\n element.remove();\n }\n }\n\n let nameExpr: t.Expression;\n\n if (isComputed) {\n nameExpr = t.cloneNode(key as t.Expression);\n } else if (key.type === \"PrivateName\") {\n nameExpr = t.stringLiteral(key.id.name);\n } else if (key.type === \"Identifier\") {\n nameExpr = t.stringLiteral(key.name);\n } else {\n nameExpr = t.cloneNode(key as t.Expression);\n }\n\n elementDecoratorInfo.push({\n kind,\n decorators: decorators.map(d => d.node.expression),\n decoratorsThis: decorators.map(d => decoratorsThis.get(d.node)),\n name: nameExpr,\n isStatic,\n privateMethods,\n locals,\n });\n\n if (kind !== FIELD) {\n if (isStatic) {\n requiresStaticInit = true;\n } else {\n requiresProtoInit = true;\n }\n }\n\n if (element.node) {\n element.node.decorators = null;\n }\n\n if (\n !firstFieldPath &&\n !isStatic &&\n (kind === FIELD || kind === ACCESSOR)\n ) {\n firstFieldPath = element as NodePath<\n t.ClassProperty | t.ClassPrivateProperty\n >;\n }\n }\n }\n }\n\n const elementDecorations = generateDecorationExprs(\n elementDecoratorInfo,\n version,\n );\n let classDecorationsFlag = 0;\n let classDecorations: t.Expression[] = [];\n if (classDecorators) {\n const { hasThis, decs } = generateDecorationList(\n classDecorators.map(el => el.expression),\n classDecorators.map(dec => decoratorsThis.get(dec)),\n version,\n );\n classDecorationsFlag = hasThis ? 1 : 0;\n classDecorations = decs;\n }\n\n const elementLocals: t.Identifier[] =\n extractElementLocalAssignments(elementDecoratorInfo);\n\n if (requiresProtoInit) {\n protoInitLocal = scopeParent.generateDeclaredUidIdentifier(\"initProto\");\n elementLocals.push(protoInitLocal);\n\n const protoInitCall = t.callExpression(t.cloneNode(protoInitLocal), [\n t.thisExpression(),\n ]);\n\n if (firstFieldPath) {\n const value = firstFieldPath.get(\"value\");\n const body: t.Expression[] = [protoInitCall];\n\n if (value.node) {\n body.push(value.node);\n }\n\n value.replaceWith(t.sequenceExpression(body));\n } else if (constructorPath) {\n if (path.node.superClass) {\n path.traverse({\n CallExpression: {\n exit(path) {\n if (!path.get(\"callee\").isSuper()) return;\n\n path.replaceWith(\n t.callExpression(t.cloneNode(protoInitLocal), [path.node]),\n );\n\n path.skip();\n },\n },\n });\n } else {\n constructorPath.node.body.body.unshift(\n t.expressionStatement(protoInitCall),\n );\n }\n } else {\n const body: t.Statement[] = [t.expressionStatement(protoInitCall)];\n\n if (path.node.superClass) {\n body.unshift(\n t.expressionStatement(\n t.callExpression(t.super(), [\n t.spreadElement(t.identifier(\"args\")),\n ]),\n ),\n );\n }\n\n path.node.body.body.unshift(\n t.classMethod(\n \"constructor\",\n t.identifier(\"constructor\"),\n [t.restElement(t.identifier(\"args\"))],\n t.blockStatement(body),\n ),\n );\n }\n }\n\n if (requiresStaticInit) {\n staticInitLocal = scopeParent.generateDeclaredUidIdentifier(\"initStatic\");\n elementLocals.push(staticInitLocal);\n }\n\n if (decoratedPrivateMethods.size > 0) {\n path.traverse({\n PrivateName(path) {\n if (!decoratedPrivateMethods.has(path.node.id.name)) return;\n\n const parentPath = path.parentPath;\n const parentParentPath = parentPath.parentPath;\n\n if (\n // this.bar().#x = 123;\n (parentParentPath.node.type === \"AssignmentExpression\" &&\n parentParentPath.node.left === parentPath.node) ||\n // this.#x++;\n parentParentPath.node.type === \"UpdateExpression\" ||\n // ([...this.#x] = foo);\n parentParentPath.node.type === \"RestElement\" ||\n // ([this.#x] = foo);\n parentParentPath.node.type === \"ArrayPattern\" ||\n // ({ a: this.#x } = bar);\n (parentParentPath.node.type === \"ObjectProperty\" &&\n parentParentPath.node.value === parentPath.node &&\n parentParentPath.parentPath.type === \"ObjectPattern\") ||\n // for (this.#x of []);\n (parentParentPath.node.type === \"ForOfStatement\" &&\n parentParentPath.node.left === parentPath.node)\n ) {\n throw path.buildCodeFrameError(\n `Decorated private methods are not updatable, but \"#${path.node.id.name}\" is updated via this expression.`,\n );\n }\n },\n });\n }\n\n const classLocals: t.Identifier[] = [];\n let classInitInjected = false;\n const classInitCall =\n classInitLocal && t.callExpression(t.cloneNode(classInitLocal), []);\n\n const originalClass = path.node;\n\n if (classDecorators) {\n classLocals.push(classIdLocal, classInitLocal);\n const statics: (\n | t.ClassProperty\n | t.ClassPrivateProperty\n | t.ClassPrivateMethod\n )[] = [];\n let staticBlocks: t.StaticBlock[] = [];\n path.get(\"body.body\").forEach(element => {\n // Static blocks cannot be compiled to \"instance blocks\", but we can inline\n // them as IIFEs in the next property.\n if (element.isStaticBlock()) {\n staticBlocks.push(element.node);\n element.remove();\n return;\n }\n\n const isProperty =\n element.isClassProperty() || element.isClassPrivateProperty();\n\n if (\n (isProperty || element.isClassPrivateMethod()) &&\n element.node.static\n ) {\n if (isProperty && staticBlocks.length > 0) {\n const allValues: t.Expression[] = staticBlocks.map(staticBlockToIIFE);\n if (element.node.value) allValues.push(element.node.value);\n element.node.value = maybeSequenceExpression(allValues);\n staticBlocks = [];\n }\n\n element.node.static = false;\n statics.push(element.node);\n element.remove();\n }\n });\n\n if (statics.length > 0 || staticBlocks.length > 0) {\n const staticsClass = template.expression.ast`\n class extends ${state.addHelper(\"identity\")} {}\n ` as t.ClassExpression;\n staticsClass.body.body = [\n t.staticBlock([\n t.toStatement(originalClass, true) ||\n // If toStatement returns false, originalClass must be an anonymous ClassExpression,\n // because `export default @dec ...` has been handled in the export visitor before.\n t.expressionStatement(originalClass as t.ClassExpression),\n ]),\n ...statics,\n ];\n\n const constructorBody: t.Expression[] = [];\n\n const newExpr = t.newExpression(staticsClass, []);\n\n if (staticBlocks.length > 0) {\n constructorBody.push(...staticBlocks.map(staticBlockToIIFE));\n }\n if (classInitCall) {\n classInitInjected = true;\n constructorBody.push(classInitCall);\n }\n if (constructorBody.length > 0) {\n constructorBody.unshift(\n t.callExpression(t.super(), [t.cloneNode(classIdLocal)]),\n );\n\n staticsClass.body.body.push(\n t.classMethod(\n \"constructor\",\n t.identifier(\"constructor\"),\n [],\n t.blockStatement([\n t.expressionStatement(t.sequenceExpression(constructorBody)),\n ]),\n ),\n );\n } else {\n newExpr.arguments.push(t.cloneNode(classIdLocal));\n }\n\n path.replaceWith(newExpr);\n }\n }\n if (!classInitInjected && classInitCall) {\n path.node.body.body.push(\n t.staticBlock([t.expressionStatement(classInitCall)]),\n );\n }\n\n let { superClass } = originalClass;\n if (superClass && (process.env.BABEL_8_BREAKING || version === \"2023-05\")) {\n const id = path.scope.maybeGenerateMemoised(superClass);\n if (id) {\n originalClass.superClass = t.assignmentExpression(\"=\", id, superClass);\n superClass = id;\n }\n }\n\n originalClass.body.body.unshift(\n t.staticBlock(\n [\n t.expressionStatement(\n createLocalsAssignment(\n elementLocals,\n classLocals,\n elementDecorations,\n t.arrayExpression(classDecorations),\n t.numericLiteral(classDecorationsFlag),\n needsInstancePrivateBrandCheck ? lastInstancePrivateName : null,\n t.cloneNode(superClass),\n state,\n version,\n ),\n ),\n requiresStaticInit &&\n t.expressionStatement(\n t.callExpression(t.cloneNode(staticInitLocal), [\n t.thisExpression(),\n ]),\n ),\n ].filter(Boolean),\n ),\n );\n\n // When path is a ClassExpression, path.insertBefore will convert `path`\n // into a SequenceExpression\n path.insertBefore(assignments.map(expr => t.expressionStatement(expr)));\n\n // Recrawl the scope to make sure new identifiers are properly synced\n path.scope.crawl();\n\n return path;\n}\n\nfunction createLocalsAssignment(\n elementLocals: t.Identifier[],\n classLocals: t.Identifier[],\n elementDecorations: t.ArrayExpression,\n classDecorations: t.ArrayExpression,\n classDecorationsFlag: t.NumericLiteral,\n maybePrivateBranName: t.PrivateName | null,\n superClass: null | t.Expression,\n state: PluginPass,\n version: DecoratorVersionKind,\n) {\n let lhs, rhs;\n const args: t.Expression[] = [\n t.thisExpression(),\n elementDecorations,\n classDecorations,\n ];\n\n if (!process.env.BABEL_8_BREAKING) {\n if (\n version === \"2021-12\" ||\n (version === \"2022-03\" && !state.availableHelper(\"applyDecs2203R\"))\n ) {\n const lhs = t.arrayPattern([...elementLocals, ...classLocals]);\n const rhs = t.callExpression(\n state.addHelper(version === \"2021-12\" ? \"applyDecs\" : \"applyDecs2203\"),\n args,\n );\n return t.assignmentExpression(\"=\", lhs, rhs);\n }\n }\n\n if (process.env.BABEL_8_BREAKING || version === \"2023-05\") {\n if (\n maybePrivateBranName ||\n superClass ||\n classDecorationsFlag.value !== 0\n ) {\n args.push(classDecorationsFlag);\n }\n if (maybePrivateBranName) {\n args.push(\n template.expression.ast`\n _ => ${t.cloneNode(maybePrivateBranName)} in _\n ` as t.ArrowFunctionExpression,\n );\n } else if (superClass) {\n args.push(t.unaryExpression(\"void\", t.numericLiteral(0)));\n }\n if (superClass) args.push(superClass);\n rhs = t.callExpression(state.addHelper(\"applyDecs2305\"), args);\n } else if (version === \"2023-01\") {\n if (maybePrivateBranName) {\n args.push(\n template.expression.ast`\n _ => ${t.cloneNode(maybePrivateBranName)} in _\n ` as t.ArrowFunctionExpression,\n );\n }\n rhs = t.callExpression(state.addHelper(\"applyDecs2301\"), args);\n } else {\n rhs = t.callExpression(state.addHelper(\"applyDecs2203R\"), args);\n }\n // optimize `{ c: [classLocals] } = applyapplyDecs2203R(...)` to\n // `[classLocals] = applyapplyDecs2203R(...).c`\n if (elementLocals.length > 0) {\n if (classLocals.length > 0) {\n lhs = t.objectPattern([\n t.objectProperty(t.identifier(\"e\"), t.arrayPattern(elementLocals)),\n t.objectProperty(t.identifier(\"c\"), t.arrayPattern(classLocals)),\n ]);\n } else {\n lhs = t.arrayPattern(elementLocals);\n rhs = t.memberExpression(rhs, t.identifier(\"e\"), false, false);\n }\n } else {\n // invariant: classLocals.length > 0\n lhs = t.arrayPattern(classLocals);\n rhs = t.memberExpression(rhs, t.identifier(\"c\"), false, false);\n }\n\n return t.assignmentExpression(\"=\", lhs, rhs);\n}\n\nexport default function (\n { assertVersion, assumption }: PluginAPI,\n { loose }: Options,\n // TODO(Babel 8): Only keep 2023-05\n version: \"2023-05\" | \"2023-01\" | \"2022-03\" | \"2021-12\",\n): PluginObject {\n if (process.env.BABEL_8_BREAKING) {\n assertVersion(\"^7.21.0\");\n } else {\n if (version === \"2023-05\" || version === \"2023-01\") {\n assertVersion(\"^7.21.0\");\n } else if (version === \"2021-12\") {\n assertVersion(\"^7.16.0\");\n } else {\n assertVersion(\"^7.19.0\");\n }\n }\n\n const VISITED = new WeakSet();\n const constantSuper = assumption(\"constantSuper\") ?? loose;\n\n return {\n name: \"proposal-decorators\",\n inherits: syntaxDecorators,\n\n visitor: {\n \"ExportNamedDeclaration|ExportDefaultDeclaration\"(\n path: NodePath,\n ) {\n const { declaration } = path.node;\n if (\n declaration?.type === \"ClassDeclaration\" &&\n // When compiling class decorators we need to replace the class\n // binding, so we must split it in two separate declarations.\n declaration.decorators?.length > 0\n ) {\n splitExportDeclaration(path);\n }\n },\n\n Class(path, state) {\n if (VISITED.has(path)) return;\n\n const newPath = transformClass(path, state, constantSuper, version);\n if (newPath) VISITED.add(newPath);\n },\n },\n };\n}\n","/* eslint-disable @babel/development/plugin-name */\n\nimport { declare } from \"@babel/helper-plugin-utils\";\nimport syntaxDecorators from \"@babel/plugin-syntax-decorators\";\nimport {\n createClassFeaturePlugin,\n FEATURES,\n} from \"@babel/helper-create-class-features-plugin\";\nimport legacyVisitor from \"./transformer-legacy.ts\";\nimport transformer2023_05 from \"./transformer-2023-05.ts\";\nimport type { Options as SyntaxOptions } from \"@babel/plugin-syntax-decorators\";\n\ninterface Options extends SyntaxOptions {\n /** @deprecated use `constantSuper` assumption instead. Only supported in 2021-12 version. */\n loose?: boolean;\n}\n\nexport type { Options };\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n // Options are validated in @babel/plugin-syntax-decorators\n if (!process.env.BABEL_8_BREAKING) {\n // eslint-disable-next-line no-var\n var { legacy } = options;\n }\n const { version } = options;\n\n if (\n process.env.BABEL_8_BREAKING\n ? version === \"legacy\"\n : legacy || version === \"legacy\"\n ) {\n return {\n name: \"proposal-decorators\",\n inherits: syntaxDecorators,\n visitor: legacyVisitor,\n };\n } else if (\n version === \"2021-12\" ||\n version === \"2022-03\" ||\n version === \"2023-01\" ||\n version === \"2023-05\"\n ) {\n return transformer2023_05(api, options, version);\n } else if (!process.env.BABEL_8_BREAKING) {\n api.assertVersion(\"^7.0.2\");\n return createClassFeaturePlugin({\n name: \"proposal-decorators\",\n\n api,\n feature: FEATURES.decorators,\n inherits: syntaxDecorators,\n // loose: options.loose, Not supported\n });\n } else {\n throw new Error(\n \"The '.version' option must be one of 'legacy', '2021-12', '2022-03', or '2023-01'.\",\n );\n }\n});\n","import { types as t } from \"@babel/core\";\nimport type { File } from \"@babel/core\";\nimport type { Scope, NodePath } from \"@babel/traverse\";\nimport type { TraversalAncestors } from \"@babel/types\";\n\nfunction isPureVoid(node: t.Node) {\n return (\n t.isUnaryExpression(node) &&\n node.operator === \"void\" &&\n t.isPureish(node.argument)\n );\n}\n\nexport function unshiftForXStatementBody(\n statementPath: NodePath,\n newStatements: t.Statement[],\n) {\n statementPath.ensureBlock();\n const { scope, node } = statementPath;\n const bodyScopeBindings = statementPath.get(\"body\").scope.bindings;\n const hasShadowedBlockScopedBindings = Object.keys(bodyScopeBindings).some(\n name => scope.hasBinding(name),\n );\n\n if (hasShadowedBlockScopedBindings) {\n // handle shadowed variables referenced in computed keys:\n // var a = 0;for (const { #x: x, [a++]: y } of z) { const a = 1; }\n node.body = t.blockStatement([...newStatements, node.body]);\n } else {\n node.body.body.unshift(...newStatements);\n }\n}\n\n/**\n * Test if an ArrayPattern's elements contain any RestElements.\n */\n\nfunction hasArrayRest(pattern: t.ArrayPattern) {\n return pattern.elements.some(elem => t.isRestElement(elem));\n}\n\n/**\n * Test if an ObjectPattern's properties contain any RestElements.\n */\n\nfunction hasObjectRest(pattern: t.ObjectPattern) {\n return pattern.properties.some(prop => t.isRestElement(prop));\n}\n\ninterface UnpackableArrayExpression extends t.ArrayExpression {\n elements: (null | t.Expression)[];\n}\n\nconst STOP_TRAVERSAL = {};\n\ninterface ArrayUnpackVisitorState {\n deopt: boolean;\n bindings: Record;\n}\n\n// NOTE: This visitor is meant to be used via t.traverse\nconst arrayUnpackVisitor = (\n node: t.Node,\n ancestors: TraversalAncestors,\n state: ArrayUnpackVisitorState,\n) => {\n if (!ancestors.length) {\n // Top-level node: this is the array literal.\n return;\n }\n\n if (\n t.isIdentifier(node) &&\n t.isReferenced(node, ancestors[ancestors.length - 1].node) &&\n state.bindings[node.name]\n ) {\n state.deopt = true;\n throw STOP_TRAVERSAL;\n }\n};\n\nexport type DestructuringTransformerNode =\n | t.VariableDeclaration\n | t.ExpressionStatement\n | t.ReturnStatement;\n\ninterface DestructuringTransformerOption {\n blockHoist?: number;\n operator?: t.AssignmentExpression[\"operator\"];\n nodes?: DestructuringTransformerNode[];\n kind?: t.VariableDeclaration[\"kind\"];\n scope: Scope;\n arrayLikeIsIterable: boolean;\n iterableIsArray: boolean;\n objectRestNoSymbols: boolean;\n useBuiltIns: boolean;\n addHelper: File[\"addHelper\"];\n}\nexport class DestructuringTransformer {\n private blockHoist: number;\n private operator: t.AssignmentExpression[\"operator\"];\n arrayRefSet: Set;\n private nodes: DestructuringTransformerNode[];\n private scope: Scope;\n private kind: t.VariableDeclaration[\"kind\"];\n private iterableIsArray: boolean;\n private arrayLikeIsIterable: boolean;\n private objectRestNoSymbols: boolean;\n private useBuiltIns: boolean;\n private addHelper: File[\"addHelper\"];\n constructor(opts: DestructuringTransformerOption) {\n this.blockHoist = opts.blockHoist;\n this.operator = opts.operator;\n this.arrayRefSet = new Set();\n this.nodes = opts.nodes || [];\n this.scope = opts.scope;\n this.kind = opts.kind;\n this.iterableIsArray = opts.iterableIsArray;\n this.arrayLikeIsIterable = opts.arrayLikeIsIterable;\n this.objectRestNoSymbols = opts.objectRestNoSymbols;\n this.useBuiltIns = opts.useBuiltIns;\n this.addHelper = opts.addHelper;\n }\n\n getExtendsHelper() {\n return this.useBuiltIns\n ? t.memberExpression(t.identifier(\"Object\"), t.identifier(\"assign\"))\n : this.addHelper(\"extends\");\n }\n\n buildVariableAssignment(\n id: t.AssignmentExpression[\"left\"],\n init: t.Expression,\n ) {\n let op = this.operator;\n if (t.isMemberExpression(id) || t.isOptionalMemberExpression(id)) op = \"=\";\n\n let node: t.ExpressionStatement | t.VariableDeclaration;\n\n if (op) {\n node = t.expressionStatement(\n t.assignmentExpression(\n op,\n id,\n t.cloneNode(init) || this.scope.buildUndefinedNode(),\n ),\n );\n } else {\n let nodeInit: t.Expression;\n\n if ((this.kind === \"const\" || this.kind === \"using\") && init === null) {\n nodeInit = this.scope.buildUndefinedNode();\n } else {\n nodeInit = t.cloneNode(init);\n }\n\n node = t.variableDeclaration(this.kind, [\n t.variableDeclarator(id as t.LVal, nodeInit),\n ]);\n }\n\n //@ts-expect-error(todo): document block hoist property\n node._blockHoist = this.blockHoist;\n\n return node;\n }\n\n buildVariableDeclaration(id: t.Identifier, init: t.Expression) {\n const declar = t.variableDeclaration(\"var\", [\n t.variableDeclarator(t.cloneNode(id), t.cloneNode(init)),\n ]);\n // @ts-expect-error todo(flow->ts): avoid mutations\n declar._blockHoist = this.blockHoist;\n return declar;\n }\n\n push(id: t.LVal, _init: t.Expression | null) {\n const init = t.cloneNode(_init);\n if (t.isObjectPattern(id)) {\n this.pushObjectPattern(id, init);\n } else if (t.isArrayPattern(id)) {\n this.pushArrayPattern(id, init);\n } else if (t.isAssignmentPattern(id)) {\n this.pushAssignmentPattern(id, init);\n } else {\n this.nodes.push(this.buildVariableAssignment(id, init));\n }\n }\n\n toArray(node: t.Expression, count?: boolean | number) {\n if (\n this.iterableIsArray ||\n (t.isIdentifier(node) && this.arrayRefSet.has(node.name))\n ) {\n return node;\n } else {\n return this.scope.toArray(node, count, this.arrayLikeIsIterable);\n }\n }\n\n pushAssignmentPattern(\n { left, right }: t.AssignmentPattern,\n valueRef: t.Expression | null,\n ) {\n // handle array init with void 0. This also happens when\n // the value was originally a hole.\n // const [x = 42] = [void 0,];\n // -> const x = 42;\n if (isPureVoid(valueRef)) {\n this.push(left, right);\n return;\n }\n\n // we need to assign the current value of the assignment to avoid evaluating\n // it more than once\n const tempId = this.scope.generateUidIdentifierBasedOnNode(valueRef);\n\n this.nodes.push(this.buildVariableDeclaration(tempId, valueRef));\n\n const tempConditional = t.conditionalExpression(\n t.binaryExpression(\n \"===\",\n t.cloneNode(tempId),\n this.scope.buildUndefinedNode(),\n ),\n right,\n t.cloneNode(tempId),\n );\n\n if (t.isPattern(left)) {\n let patternId;\n let node;\n\n if (\n this.kind === \"const\" ||\n this.kind === \"let\" ||\n this.kind === \"using\"\n ) {\n patternId = this.scope.generateUidIdentifier(tempId.name);\n node = this.buildVariableDeclaration(patternId, tempConditional);\n } else {\n patternId = tempId;\n\n node = t.expressionStatement(\n t.assignmentExpression(\"=\", t.cloneNode(tempId), tempConditional),\n );\n }\n\n this.nodes.push(node);\n this.push(left, patternId);\n } else {\n this.nodes.push(this.buildVariableAssignment(left, tempConditional));\n }\n }\n\n pushObjectRest(\n pattern: t.ObjectPattern,\n objRef: t.Expression,\n spreadProp: t.RestElement,\n spreadPropIndex: number,\n ) {\n const value = buildObjectExcludingKeys(\n pattern.properties.slice(0, spreadPropIndex) as t.ObjectProperty[],\n objRef,\n this.scope,\n name => this.addHelper(name),\n this.objectRestNoSymbols,\n this.useBuiltIns,\n );\n this.nodes.push(this.buildVariableAssignment(spreadProp.argument, value));\n }\n\n pushObjectProperty(prop: t.ObjectProperty, propRef: t.Expression) {\n if (t.isLiteral(prop.key)) prop.computed = true;\n\n const pattern = prop.value as t.LVal;\n const objRef = t.memberExpression(\n t.cloneNode(propRef),\n prop.key,\n prop.computed,\n );\n\n if (t.isPattern(pattern)) {\n this.push(pattern, objRef);\n } else {\n this.nodes.push(this.buildVariableAssignment(pattern, objRef));\n }\n }\n\n pushObjectPattern(pattern: t.ObjectPattern, objRef: t.Expression) {\n // https://github.com/babel/babel/issues/681\n\n if (!pattern.properties.length) {\n this.nodes.push(\n t.expressionStatement(\n t.callExpression(\n this.addHelper(\"objectDestructuringEmpty\"),\n isPureVoid(objRef) ? [] : [objRef],\n ),\n ),\n );\n return;\n }\n\n // if we have more than one properties in this pattern and the objectRef is a\n // member expression then we need to assign it to a temporary variable so it's\n // only evaluated once\n\n if (pattern.properties.length > 1 && !this.scope.isStatic(objRef)) {\n const temp = this.scope.generateUidIdentifierBasedOnNode(objRef);\n this.nodes.push(this.buildVariableDeclaration(temp, objRef));\n objRef = temp;\n }\n\n // Replace impure computed key expressions if we have a rest parameter\n if (hasObjectRest(pattern)) {\n let copiedPattern: t.ObjectPattern;\n for (let i = 0; i < pattern.properties.length; i++) {\n const prop = pattern.properties[i];\n if (t.isRestElement(prop)) {\n break;\n }\n const key = prop.key;\n if (prop.computed && !this.scope.isPure(key)) {\n const name = this.scope.generateUidIdentifierBasedOnNode(key);\n this.nodes.push(\n //@ts-expect-error PrivateName has been handled by destructuring-private\n this.buildVariableDeclaration(name, key),\n );\n if (!copiedPattern) {\n copiedPattern = pattern = {\n ...pattern,\n properties: pattern.properties.slice(),\n };\n }\n copiedPattern.properties[i] = {\n ...prop,\n key: name,\n };\n }\n }\n }\n\n for (let i = 0; i < pattern.properties.length; i++) {\n const prop = pattern.properties[i];\n if (t.isRestElement(prop)) {\n this.pushObjectRest(pattern, objRef, prop, i);\n } else {\n this.pushObjectProperty(prop, objRef);\n }\n }\n }\n\n canUnpackArrayPattern(\n pattern: t.ArrayPattern,\n arr: t.Expression,\n ): arr is UnpackableArrayExpression {\n // not an array so there's no way we can deal with this\n if (!t.isArrayExpression(arr)) return false;\n\n // pattern has less elements than the array and doesn't have a rest so some\n // elements won't be evaluated\n if (pattern.elements.length > arr.elements.length) return;\n if (\n pattern.elements.length < arr.elements.length &&\n !hasArrayRest(pattern)\n ) {\n return false;\n }\n\n for (const elem of pattern.elements) {\n // deopt on holes\n if (!elem) return false;\n\n // deopt on member expressions as they may be included in the RHS\n if (t.isMemberExpression(elem)) return false;\n }\n\n for (const elem of arr.elements) {\n // deopt on spread elements\n if (t.isSpreadElement(elem)) return false;\n\n // deopt call expressions as they might change values of LHS variables\n if (t.isCallExpression(elem)) return false;\n\n // deopt on member expressions as they may be getter/setters and have side-effects\n if (t.isMemberExpression(elem)) return false;\n }\n\n // deopt on reference to left side identifiers\n const bindings = t.getBindingIdentifiers(pattern);\n const state: ArrayUnpackVisitorState = { deopt: false, bindings };\n\n try {\n t.traverse(arr, arrayUnpackVisitor, state);\n } catch (e) {\n if (e !== STOP_TRAVERSAL) throw e;\n }\n\n return !state.deopt;\n }\n\n pushUnpackedArrayPattern(\n pattern: t.ArrayPattern,\n arr: UnpackableArrayExpression,\n ) {\n const holeToUndefined = (el: t.Expression) =>\n el ?? this.scope.buildUndefinedNode();\n\n for (let i = 0; i < pattern.elements.length; i++) {\n const elem = pattern.elements[i];\n if (t.isRestElement(elem)) {\n this.push(\n elem.argument,\n t.arrayExpression(arr.elements.slice(i).map(holeToUndefined)),\n );\n } else {\n this.push(elem, holeToUndefined(arr.elements[i]));\n }\n }\n }\n\n pushArrayPattern(pattern: t.ArrayPattern, arrayRef: t.Expression | null) {\n if (arrayRef === null) {\n this.nodes.push(\n t.expressionStatement(\n t.callExpression(this.addHelper(\"objectDestructuringEmpty\"), []),\n ),\n );\n return;\n }\n if (!pattern.elements) return;\n\n // optimise basic array destructuring of an array expression\n //\n // we can't do this to a pattern of unequal size to it's right hand\n // array expression as then there will be values that won't be evaluated\n //\n // eg: let [a, b] = [1, 2];\n\n if (this.canUnpackArrayPattern(pattern, arrayRef)) {\n this.pushUnpackedArrayPattern(pattern, arrayRef);\n return;\n }\n\n // if we have a rest then we need all the elements so don't tell\n // `scope.toArray` to only get a certain amount\n\n const count = !hasArrayRest(pattern) && pattern.elements.length;\n\n // so we need to ensure that the `arrayRef` is an array, `scope.toArray` will\n // return a locally bound identifier if it's been inferred to be an array,\n // otherwise it'll be a call to a helper that will ensure it's one\n\n const toArray = this.toArray(arrayRef, count);\n\n if (t.isIdentifier(toArray)) {\n // we've been given an identifier so it must have been inferred to be an\n // array\n arrayRef = toArray;\n } else {\n arrayRef = this.scope.generateUidIdentifierBasedOnNode(arrayRef);\n this.arrayRefSet.add(arrayRef.name);\n this.nodes.push(this.buildVariableDeclaration(arrayRef, toArray));\n }\n\n for (let i = 0; i < pattern.elements.length; i++) {\n const elem = pattern.elements[i];\n\n // hole\n if (!elem) continue;\n\n let elemRef;\n\n if (t.isRestElement(elem)) {\n elemRef = this.toArray(arrayRef);\n elemRef = t.callExpression(\n t.memberExpression(elemRef, t.identifier(\"slice\")),\n [t.numericLiteral(i)],\n );\n\n // set the element to the rest element argument since we've dealt with it\n // being a rest already\n this.push(elem.argument, elemRef);\n } else {\n elemRef = t.memberExpression(arrayRef, t.numericLiteral(i), true);\n this.push(elem, elemRef);\n }\n }\n }\n\n init(pattern: t.LVal, ref: t.Expression) {\n // trying to destructure a value that we can't evaluate more than once so we\n // need to save it to a variable\n\n if (!t.isArrayExpression(ref) && !t.isMemberExpression(ref)) {\n const memo = this.scope.maybeGenerateMemoised(ref, true);\n if (memo) {\n this.nodes.push(this.buildVariableDeclaration(memo, t.cloneNode(ref)));\n ref = memo;\n }\n }\n\n this.push(pattern, ref);\n\n return this.nodes;\n }\n}\n\ninterface ExcludingKey {\n key: t.Expression | t.PrivateName;\n computed: boolean;\n}\n\nexport function buildObjectExcludingKeys(\n excludedKeys: T[],\n objRef: t.Expression,\n scope: Scope,\n addHelper: File[\"addHelper\"],\n objectRestNoSymbols: boolean,\n useBuiltIns: boolean,\n): t.CallExpression {\n // get all the keys that appear in this object before the current spread\n\n const keys = [];\n let allLiteral = true;\n let hasTemplateLiteral = false;\n for (let i = 0; i < excludedKeys.length; i++) {\n const prop = excludedKeys[i];\n const key = prop.key;\n if (t.isIdentifier(key) && !prop.computed) {\n keys.push(t.stringLiteral(key.name));\n } else if (t.isTemplateLiteral(key)) {\n keys.push(t.cloneNode(key));\n hasTemplateLiteral = true;\n } else if (t.isLiteral(key)) {\n // @ts-expect-error todo(flow->ts) NullLiteral\n keys.push(t.stringLiteral(String(key.value)));\n } else if (t.isPrivateName(key)) {\n // private key is not enumerable\n } else {\n keys.push(t.cloneNode(key));\n allLiteral = false;\n }\n }\n\n let value;\n if (keys.length === 0) {\n const extendsHelper = useBuiltIns\n ? t.memberExpression(t.identifier(\"Object\"), t.identifier(\"assign\"))\n : addHelper(\"extends\");\n value = t.callExpression(extendsHelper, [\n t.objectExpression([]),\n t.sequenceExpression([\n t.callExpression(addHelper(\"objectDestructuringEmpty\"), [\n t.cloneNode(objRef),\n ]),\n t.cloneNode(objRef),\n ]),\n ]);\n } else {\n let keyExpression: t.Expression = t.arrayExpression(keys);\n\n if (!allLiteral) {\n keyExpression = t.callExpression(\n t.memberExpression(keyExpression, t.identifier(\"map\")),\n [addHelper(\"toPropertyKey\")],\n );\n } else if (!hasTemplateLiteral && !t.isProgram(scope.block)) {\n // Hoist definition of excluded keys, so that it's not created each time.\n const programScope = scope.getProgramParent();\n const id = programScope.generateUidIdentifier(\"excluded\");\n\n programScope.push({\n id,\n init: keyExpression,\n kind: \"const\",\n });\n\n keyExpression = t.cloneNode(id);\n }\n\n value = t.callExpression(\n addHelper(`objectWithoutProperties${objectRestNoSymbols ? \"Loose\" : \"\"}`),\n [t.cloneNode(objRef), keyExpression],\n );\n }\n return value;\n}\n\nexport function convertVariableDeclaration(\n path: NodePath,\n addHelper: File[\"addHelper\"],\n arrayLikeIsIterable: boolean,\n iterableIsArray: boolean,\n objectRestNoSymbols: boolean,\n useBuiltIns: boolean,\n) {\n const { node, scope } = path;\n\n const nodeKind = node.kind;\n const nodeLoc = node.loc;\n const nodes = [];\n\n for (let i = 0; i < node.declarations.length; i++) {\n const declar = node.declarations[i];\n\n const patternId = declar.init;\n const pattern = declar.id;\n\n const destructuring: DestructuringTransformer =\n new DestructuringTransformer({\n // @ts-expect-error(todo): avoid internal properties access\n blockHoist: node._blockHoist,\n nodes: nodes,\n scope: scope,\n kind: node.kind,\n iterableIsArray,\n arrayLikeIsIterable,\n useBuiltIns,\n objectRestNoSymbols,\n addHelper,\n });\n\n if (t.isPattern(pattern)) {\n destructuring.init(pattern, patternId);\n\n if (+i !== node.declarations.length - 1) {\n // we aren't the last declarator so let's just make the\n // last transformed node inherit from us\n t.inherits(nodes[nodes.length - 1], declar);\n }\n } else {\n nodes.push(\n t.inherits(\n destructuring.buildVariableAssignment(pattern, patternId),\n declar,\n ),\n );\n }\n }\n\n let tail: t.VariableDeclaration | null = null;\n let nodesOut = [];\n for (const node of nodes) {\n if (t.isVariableDeclaration(node)) {\n if (tail !== null) {\n // Create a single compound declarations\n tail.declarations.push(...node.declarations);\n continue;\n } else {\n // Make sure the original node kind is used for each compound declaration\n node.kind = nodeKind;\n tail = node;\n }\n } else {\n tail = null;\n }\n // Propagate the original declaration node's location\n if (!node.loc) {\n node.loc = nodeLoc;\n }\n nodesOut.push(node);\n }\n\n if (\n nodesOut.length === 2 &&\n t.isVariableDeclaration(nodesOut[0]) &&\n t.isExpressionStatement(nodesOut[1]) &&\n t.isCallExpression(nodesOut[1].expression) &&\n nodesOut[0].declarations.length === 1\n ) {\n // This can only happen when we generate this code:\n // var _ref = DESTRUCTURED_VALUE;\n // babelHelpers.objectDestructuringEmpty(_ref);\n // Since pushing those two statements to the for loop .init will require an IIFE,\n // we can optimize them to\n // babelHelpers.objectDestructuringEmpty(DESTRUCTURED_VALUE);\n const expr = nodesOut[1].expression;\n expr.arguments = [nodesOut[0].declarations[0].init];\n nodesOut = [expr];\n } else {\n // We must keep nodes all are expressions or statements, so `replaceWithMultiple` can work.\n if (\n t.isForStatement(path.parent, { init: node }) &&\n !nodesOut.some(v => t.isVariableDeclaration(v))\n ) {\n for (let i = 0; i < nodesOut.length; i++) {\n const node: t.Node = nodesOut[i];\n if (t.isExpressionStatement(node)) {\n nodesOut[i] = node.expression;\n }\n }\n }\n }\n\n if (nodesOut.length === 1) {\n path.replaceWith(nodesOut[0]);\n } else {\n path.replaceWithMultiple(nodesOut);\n }\n scope.crawl();\n}\n\nexport function convertAssignmentExpression(\n path: NodePath,\n addHelper: File[\"addHelper\"],\n arrayLikeIsIterable: boolean,\n iterableIsArray: boolean,\n objectRestNoSymbols: boolean,\n useBuiltIns: boolean,\n) {\n const { node, scope, parentPath } = path;\n\n const nodes: DestructuringTransformerNode[] = [];\n\n const destructuring = new DestructuringTransformer({\n operator: node.operator,\n scope: scope,\n nodes: nodes,\n arrayLikeIsIterable,\n iterableIsArray,\n objectRestNoSymbols,\n useBuiltIns,\n addHelper,\n });\n\n let ref: t.Identifier | void;\n if (\n (!parentPath.isExpressionStatement() &&\n !parentPath.isSequenceExpression()) ||\n path.isCompletionRecord()\n ) {\n ref = scope.generateUidIdentifierBasedOnNode(node.right, \"ref\");\n\n nodes.push(\n t.variableDeclaration(\"var\", [t.variableDeclarator(ref, node.right)]),\n );\n\n if (t.isArrayExpression(node.right)) {\n destructuring.arrayRefSet.add(ref.name);\n }\n }\n\n destructuring.init(node.left, ref || node.right);\n\n if (ref) {\n if (parentPath.isArrowFunctionExpression()) {\n path.replaceWith(t.blockStatement([]));\n nodes.push(t.returnStatement(t.cloneNode(ref)));\n } else {\n nodes.push(t.expressionStatement(t.cloneNode(ref)));\n }\n }\n\n path.replaceWithMultiple(nodes);\n scope.crawl();\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\nimport {\n DestructuringTransformer,\n convertVariableDeclaration,\n convertAssignmentExpression,\n unshiftForXStatementBody,\n type DestructuringTransformerNode,\n} from \"./util.ts\";\nexport { buildObjectExcludingKeys, unshiftForXStatementBody } from \"./util.ts\";\nimport type { NodePath } from \"@babel/traverse\";\n\n/**\n * Test if a VariableDeclaration's declarations contains any Patterns.\n */\n\nfunction variableDeclarationHasPattern(node: t.VariableDeclaration) {\n for (const declar of node.declarations) {\n if (t.isPattern(declar.id)) {\n return true;\n }\n }\n return false;\n}\n\nexport interface Options {\n allowArrayLike?: boolean;\n loose?: boolean;\n useBuiltIns?: boolean;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const { useBuiltIns = false } = options;\n\n const iterableIsArray =\n api.assumption(\"iterableIsArray\") ?? options.loose ?? false;\n const arrayLikeIsIterable =\n options.allowArrayLike ?? api.assumption(\"arrayLikeIsIterable\") ?? false;\n const objectRestNoSymbols =\n api.assumption(\"objectRestNoSymbols\") ?? options.loose ?? false;\n\n return {\n name: \"transform-destructuring\",\n\n visitor: {\n ExportNamedDeclaration(path) {\n const declaration = path.get(\"declaration\");\n if (!declaration.isVariableDeclaration()) return;\n if (!variableDeclarationHasPattern(declaration.node)) return;\n\n const specifiers = [];\n\n for (const name of Object.keys(path.getOuterBindingIdentifiers())) {\n specifiers.push(\n t.exportSpecifier(t.identifier(name), t.identifier(name)),\n );\n }\n\n // Split the declaration and export list into two declarations so that the variable\n // declaration can be split up later without needing to worry about not being a\n // top-level statement.\n path.replaceWith(declaration.node);\n path.insertAfter(t.exportNamedDeclaration(null, specifiers));\n path.scope.crawl();\n },\n\n ForXStatement(path: NodePath) {\n const { node, scope } = path;\n const left = node.left;\n\n if (t.isPattern(left)) {\n // for ({ length: k } in { abc: 3 });\n\n const temp = scope.generateUidIdentifier(\"ref\");\n\n node.left = t.variableDeclaration(\"var\", [\n t.variableDeclarator(temp),\n ]);\n\n path.ensureBlock();\n const statementBody = path.node.body.body;\n const nodes = [];\n // todo: the completion of a for statement can only be observed from\n // a do block (or eval that we don't support),\n // but the new do-expression proposal plans to ban iteration ends in the\n // do block, maybe we can get rid of this\n if (statementBody.length === 0 && path.isCompletionRecord()) {\n nodes.unshift(t.expressionStatement(scope.buildUndefinedNode()));\n }\n\n nodes.unshift(\n t.expressionStatement(\n t.assignmentExpression(\"=\", left, t.cloneNode(temp)),\n ),\n );\n\n unshiftForXStatementBody(path, nodes);\n scope.crawl();\n return;\n }\n\n if (!t.isVariableDeclaration(left)) return;\n\n const pattern = left.declarations[0].id;\n if (!t.isPattern(pattern)) return;\n\n const key = scope.generateUidIdentifier(\"ref\");\n node.left = t.variableDeclaration(left.kind, [\n t.variableDeclarator(key, null),\n ]);\n\n const nodes: DestructuringTransformerNode[] = [];\n\n const destructuring = new DestructuringTransformer({\n kind: left.kind,\n scope: scope,\n nodes: nodes,\n arrayLikeIsIterable,\n iterableIsArray,\n objectRestNoSymbols,\n useBuiltIns,\n addHelper: name => this.addHelper(name),\n });\n\n destructuring.init(pattern, key);\n\n unshiftForXStatementBody(path, nodes);\n scope.crawl();\n },\n\n CatchClause({ node, scope }) {\n const pattern = node.param;\n if (!t.isPattern(pattern)) return;\n\n const ref = scope.generateUidIdentifier(\"ref\");\n node.param = ref;\n\n const nodes: DestructuringTransformerNode[] = [];\n\n const destructuring = new DestructuringTransformer({\n kind: \"let\",\n scope: scope,\n nodes: nodes,\n arrayLikeIsIterable,\n iterableIsArray,\n objectRestNoSymbols,\n useBuiltIns,\n addHelper: name => this.addHelper(name),\n });\n destructuring.init(pattern, ref);\n\n node.body.body = [...nodes, ...node.body.body];\n scope.crawl();\n },\n\n AssignmentExpression(path, state) {\n if (!t.isPattern(path.node.left)) return;\n convertAssignmentExpression(\n path as NodePath,\n name => state.addHelper(name),\n arrayLikeIsIterable,\n iterableIsArray,\n objectRestNoSymbols,\n useBuiltIns,\n );\n },\n\n VariableDeclaration(path, state) {\n const { node, parent } = path;\n if (t.isForXStatement(parent)) return;\n if (!parent || !path.container) return; // i don't know why this is necessary - TODO\n if (!variableDeclarationHasPattern(node)) return;\n convertVariableDeclaration(\n path,\n name => state.addHelper(name),\n arrayLikeIsIterable,\n iterableIsArray,\n objectRestNoSymbols,\n useBuiltIns,\n );\n },\n },\n };\n});\n","import type * as t from \"@babel/types\";\nimport type { Scope } from \"@babel/traverse\";\nimport { types } from \"@babel/core\";\nimport type { File } from \"@babel/core\";\nimport { buildObjectExcludingKeys } from \"@babel/plugin-transform-destructuring\";\nconst {\n assignmentExpression,\n binaryExpression,\n conditionalExpression,\n cloneNode,\n isObjectProperty,\n isPrivateName,\n memberExpression,\n numericLiteral,\n objectPattern,\n restElement,\n variableDeclarator,\n variableDeclaration,\n unaryExpression,\n} = types;\n\nfunction buildUndefinedNode() {\n return unaryExpression(\"void\", numericLiteral(0));\n}\n\nfunction transformAssignmentPattern(\n initializer: t.Expression,\n tempId: t.Identifier,\n) {\n return conditionalExpression(\n binaryExpression(\"===\", cloneNode(tempId), buildUndefinedNode()),\n initializer,\n cloneNode(tempId),\n );\n}\n\nfunction initRestExcludingKeys(pattern: t.LVal): ExcludingKey[] | null {\n if (pattern.type === \"ObjectPattern\") {\n const { properties } = pattern;\n if (properties[properties.length - 1].type === \"RestElement\") {\n return [];\n }\n }\n return null;\n}\n\n/**\n * grow `excludingKeys` from given properties. This routine mutates properties by\n * memoising the computed non-static keys.\n *\n * @param {ExcludingKey[]} excludingKeys\n * @param {t.ObjectProperty[]} properties An array of object properties that should be excluded by rest element transform\n * @param {Scope} scope Where should we register the memoised id\n */\nfunction growRestExcludingKeys(\n excludingKeys: ExcludingKey[],\n properties: t.ObjectProperty[],\n scope: Scope,\n) {\n if (excludingKeys === null) return;\n for (const property of properties) {\n const propertyKey = property.key;\n if (property.computed && !scope.isStatic(propertyKey)) {\n const tempId = scope.generateDeclaredUidIdentifier(\"m\");\n // @ts-expect-error A computed property key must not be a private name\n property.key = assignmentExpression(\"=\", tempId, propertyKey);\n excludingKeys.push({ key: tempId, computed: true });\n } else if (propertyKey.type !== \"PrivateName\") {\n excludingKeys.push(property);\n }\n }\n}\n\n/**\n * Prepare var declarations for params. Only param initializers\n * will be transformed to undefined coalescing, other features are preserved.\n * This function does NOT mutate given AST structures.\n *\n * @export\n * @param {Function[\"params\"]} params An array of function params\n * @param {Scope} scope A scope used to generate uid for function params\n * @returns {{ params: Identifier[]; variableDeclaration: VariableDeclaration }} An array of new id for params\n * and variable declaration to be prepended to the function body\n */\nexport function buildVariableDeclarationFromParams(\n params: t.Function[\"params\"],\n scope: Scope,\n): {\n params: (t.Identifier | t.RestElement)[];\n variableDeclaration: t.VariableDeclaration;\n} {\n const { elements, transformed } = buildAssignmentsFromPatternList(\n params,\n scope,\n /* isAssignment */ false,\n );\n return {\n params: elements,\n variableDeclaration: variableDeclaration(\n \"var\",\n transformed.map(({ left, right }) => variableDeclarator(left, right)),\n ),\n };\n}\n\ninterface Transformed {\n left: Exclude;\n right: t.Expression;\n}\n\nfunction buildAssignmentsFromPatternList(\n elements: (t.LVal | null)[],\n scope: Scope,\n isAssignment: boolean,\n): {\n elements: (t.Identifier | t.RestElement | null)[];\n transformed: Transformed[];\n} {\n const newElements: (t.Identifier | t.RestElement)[] = [],\n transformed: Transformed[] = [];\n for (let element of elements) {\n if (element === null) {\n newElements.push(null);\n transformed.push(null);\n continue;\n }\n const tempId = scope.generateUidIdentifier(\"p\");\n if (isAssignment) {\n scope.push({ id: cloneNode(tempId) });\n }\n if (element.type === \"RestElement\") {\n newElements.push(restElement(tempId));\n // The argument of a RestElement within a BindingPattern must be either Identifier or BindingPattern\n element = element.argument as t.Identifier | t.Pattern;\n } else {\n newElements.push(tempId);\n }\n if (element.type === \"AssignmentPattern\") {\n transformed.push({\n left: element.left,\n right: transformAssignmentPattern(element.right, tempId),\n });\n } else {\n transformed.push({\n left: element as Transformed[\"left\"],\n right: cloneNode(tempId),\n });\n }\n }\n return { elements: newElements, transformed };\n}\n\ntype StackItem = {\n node: t.AssignmentExpression[\"left\"] | t.ObjectProperty | null;\n index: number;\n depth: number;\n};\n\n/**\n * A DFS simplified pattern traverser. It skips computed property keys and assignment pattern\n * initializers. The following nodes will be delegated to the visitor:\n * - ArrayPattern\n * - ArrayPattern elements\n * - AssignmentPattern\n * - ObjectPattern\n * - ObjectProperty\n * - RestElement\n * @param root\n * @param visitor\n */\nexport function* traversePattern(\n root: t.AssignmentExpression[\"left\"],\n visitor: (\n node: t.AssignmentExpression[\"left\"] | t.ObjectProperty,\n index: number,\n depth: number,\n ) => Generator,\n) {\n const stack: StackItem[] = [];\n stack.push({ node: root, index: 0, depth: 0 });\n let item: StackItem;\n while ((item = stack.pop()) !== undefined) {\n const { node, index } = item;\n if (node === null) continue;\n yield* visitor(node, index, item.depth);\n const depth = item.depth + 1;\n switch (node.type) {\n case \"AssignmentPattern\":\n stack.push({ node: node.left, index: 0, depth });\n break;\n case \"ObjectProperty\":\n // inherit the depth and index as an object property can not be an LHS without object pattern\n stack.push({ node: node.value as t.LVal, index, depth: item.depth });\n break;\n case \"RestElement\":\n stack.push({ node: node.argument, index: 0, depth });\n break;\n case \"ObjectPattern\":\n for (let list = node.properties, i = list.length - 1; i >= 0; i--) {\n stack.push({ node: list[i], index: i, depth });\n }\n break;\n case \"ArrayPattern\":\n for (let list = node.elements, i = list.length - 1; i >= 0; i--) {\n stack.push({ node: list[i], index: i, depth });\n }\n break;\n case \"TSParameterProperty\":\n case \"TSAsExpression\":\n case \"TSTypeAssertion\":\n case \"TSNonNullExpression\":\n throw new Error(\n `TypeScript features must first be transformed by ` +\n `@babel/plugin-transform-typescript.\\n` +\n `If you have already enabled that plugin (or '@babel/preset-typescript'), make sure ` +\n `that it runs before @babel/plugin-proposal-destructuring-private.`,\n );\n default:\n break;\n }\n }\n}\n\nexport function hasPrivateKeys(pattern: t.AssignmentExpression[\"left\"]) {\n let result = false;\n traversePattern(pattern, function* (node) {\n if (isObjectProperty(node) && isPrivateName(node.key)) {\n result = true;\n // stop the traversal\n yield;\n }\n }).next();\n return result;\n}\n\nexport function hasPrivateClassElement(node: t.ClassBody): boolean {\n return node.body.some(element =>\n isPrivateName(\n // @ts-expect-error: for those class element without `key`, they must\n // not be a private element\n element.key,\n ),\n );\n}\n\n/**\n * Traverse the given pattern and report the private key path.\n * A private key path is analogous to an array of `key` from the pattern NodePath\n * to the private key NodePath. See also test/util.skip-bundled.js for an example output\n *\n * @export\n * @param {t.LVal} pattern\n */\nexport function* privateKeyPathIterator(pattern: t.LVal) {\n const indexPath: number[] = [];\n yield* traversePattern(pattern, function* (node, index, depth) {\n indexPath[depth] = index;\n if (isObjectProperty(node) && isPrivateName(node.key)) {\n // The indexPath[0, depth] contains the path from root pattern to the object property\n // with private key. The indexPath may have more than depth + 1 elements because we\n // don't shrink the indexPath when the traverser returns to parent nodes.\n yield indexPath.slice(1, depth + 1);\n }\n });\n}\n\ntype LHS = Exclude;\n\ntype ExcludingKey = {\n key: t.ObjectProperty[\"key\"];\n computed: t.ObjectProperty[\"computed\"];\n};\ntype Item = {\n left: LHS;\n right: t.Expression;\n restExcludingKeys?: ExcludingKey[] | null;\n};\n\nfunction rightWillBeReferencedOnce(left: LHS) {\n switch (left.type) {\n // Skip memoising the right when left is an identifier or\n // an array pattern\n case \"Identifier\":\n case \"ArrayPattern\":\n return true;\n case \"ObjectPattern\":\n return left.properties.length === 1;\n default:\n return false;\n }\n}\n/**\n * Transform private destructuring. It returns a generator\n * which yields a pair of transformed LHS and RHS, which can form VariableDeclaration or\n * AssignmentExpression later.\n *\n * @export\n * @param {LHS} left The root pattern\n * @param {t.Expression} right The initializer or the RHS of pattern\n * @param {Scope} scope The scope where memoized id should be registered\n * @param {boolean} isAssignment Whether we are transforming from an AssignmentExpression of VariableDeclaration\n * @returns {Generator}\n */\nexport function* transformPrivateKeyDestructuring(\n left: LHS,\n right: t.Expression,\n scope: Scope,\n isAssignment: boolean,\n shouldPreserveCompletion: boolean,\n addHelper: File[\"addHelper\"],\n objectRestNoSymbols: boolean,\n useBuiltIns: boolean,\n): Generator {\n const stack: Item[] = [];\n const rootRight = right;\n // The stack holds patterns that we don't known whether they contain private key\n stack.push({\n left,\n right,\n restExcludingKeys: initRestExcludingKeys(left),\n });\n let item: Item;\n while ((item = stack.pop()) !== undefined) {\n const { restExcludingKeys } = item;\n let { left, right } = item;\n const searchPrivateKey = privateKeyPathIterator(left).next();\n if (searchPrivateKey.done) {\n if (restExcludingKeys?.length > 0) {\n // optimize out the rest element because `objectWithoutProperties`\n // returns a new object\n // `{ ...z } = babelHelpers.objectWithoutProperties(m, [\"x\"])`\n // to\n // `z = babelHelpers.objectWithoutProperties(m, [\"x\"])`\n const { properties } = left as t.ObjectPattern;\n if (properties.length === 1) {\n // The argument of an object rest element must be an Identifier\n left = (properties[0] as t.RestElement).argument as t.Identifier;\n }\n yield {\n left: left as t.ObjectPattern,\n right: buildObjectExcludingKeys(\n restExcludingKeys,\n right,\n scope,\n addHelper,\n objectRestNoSymbols,\n useBuiltIns,\n ),\n };\n } else {\n yield {\n left:\n // An assignment pattern will not be pushed to the stack\n left as Transformed[\"left\"],\n right,\n };\n }\n } else {\n // now we need to split according to the indexPath;\n const indexPath = searchPrivateKey.value;\n for (\n let indexPathIndex = 0, index;\n (indexPathIndex < indexPath.length &&\n (index = indexPath[indexPathIndex]) !== undefined) ||\n left.type === \"AssignmentPattern\";\n indexPathIndex++\n ) {\n const isRightSafeToReuse =\n // If we should preserve completion and the right is the rootRight, then the\n // right is NOT safe to reuse because we will insert a new memoising statement\n // in the AssignmentExpression visitor, which causes right to be referenced more\n // than once\n !(shouldPreserveCompletion && right === rootRight) &&\n (rightWillBeReferencedOnce(left) || scope.isStatic(right));\n if (!isRightSafeToReuse) {\n const tempId = scope.generateUidIdentifier(\"m\");\n if (isAssignment) {\n scope.push({ id: cloneNode(tempId) });\n }\n yield { left: tempId, right };\n right = cloneNode(tempId);\n }\n // invariant: at this point right must be a static identifier;\n switch (left.type) {\n case \"ObjectPattern\": {\n const { properties } = left;\n if (index > 0) {\n // properties[0, index) must not contain private keys\n const propertiesSlice = properties.slice(0, index);\n yield {\n left: objectPattern(propertiesSlice),\n right: cloneNode(right),\n };\n }\n if (index < properties.length - 1) {\n // for properties after `index`, push them to stack so we can process them later\n // inherit the restExcludingKeys on the stack if we are at\n // the first level, otherwise initialize a new restExcludingKeys\n const nextRestExcludingKeys =\n indexPathIndex === 0\n ? restExcludingKeys\n : initRestExcludingKeys(left);\n growRestExcludingKeys(\n nextRestExcludingKeys,\n // @ts-expect-error properties[0, index] must not contain rest element\n // because properties[index] contains a private key\n properties.slice(0, index + 1),\n scope,\n );\n stack.push({\n left: objectPattern(properties.slice(index + 1)),\n right: cloneNode(right),\n restExcludingKeys: nextRestExcludingKeys,\n });\n }\n // An object rest element must not contain a private key\n const property = properties[index] as t.ObjectProperty;\n // The value of ObjectProperty under ObjectPattern must be an LHS\n left = property.value as LHS;\n const { key } = property;\n const computed =\n property.computed ||\n // `{ 0: x } = RHS` is transformed to a computed member expression `x = RHS[0]`\n (key.type !== \"Identifier\" && key.type !== \"PrivateName\");\n right = memberExpression(right, key, computed);\n break;\n }\n case \"AssignmentPattern\": {\n right = transformAssignmentPattern(\n left.right,\n right as t.Identifier,\n );\n left = left.left;\n break;\n }\n case \"ArrayPattern\": {\n // todo: the transform here assumes that any expression within\n // the array pattern, when evaluated, do not interfere with the iterable\n // in RHS. Otherwise we have to pause the iterable and interleave\n // the expressions.\n // See also https://gist.github.com/nicolo-ribaudo/f8ac7916f89450f2ead77d99855b2098\n // and ordering/array-pattern-side-effect-iterable test\n const leftElements = left.elements;\n const leftElementsAfterIndex = leftElements.splice(index);\n const { elements, transformed } = buildAssignmentsFromPatternList(\n leftElementsAfterIndex,\n scope,\n isAssignment,\n );\n leftElements.push(...elements);\n yield { left, right: cloneNode(right) };\n // for elements after `index`, push them to stack so we can process them later\n for (let i = transformed.length - 1; i > 0; i--) {\n // skipping array holes\n if (transformed[i] !== null) {\n stack.push(transformed[i]);\n }\n }\n ({ left, right } = transformed[0]);\n break;\n }\n default:\n break;\n }\n }\n stack.push({\n left,\n right,\n restExcludingKeys: initRestExcludingKeys(left),\n });\n }\n }\n}\n","import { types as t } from \"@babel/core\";\nimport type { NodePath, Scope, Visitor } from \"@babel/traverse\";\n\ntype State = {\n needsOuterBinding: boolean;\n scope: Scope;\n};\n\nexport const iifeVisitor: Visitor = {\n \"ReferencedIdentifier|BindingIdentifier\"(\n path: NodePath,\n state,\n ) {\n const { scope, node } = path;\n const { name } = node;\n\n if (\n name === \"eval\" ||\n (scope.getBinding(name) === state.scope.parent.getBinding(name) &&\n state.scope.hasOwnBinding(name))\n ) {\n state.needsOuterBinding = true;\n path.stop();\n }\n },\n // type annotations don't use or introduce \"real\" bindings\n \"TypeAnnotation|TSTypeAnnotation|TypeParameterDeclaration|TSTypeParameterDeclaration\":\n (path: NodePath) => path.skip(),\n};\n\nexport function collectShadowedParamsNames(\n param: NodePath,\n functionScope: Scope,\n shadowedParams: Set,\n) {\n for (const name of Object.keys(param.getBindingIdentifiers())) {\n const constantViolations = functionScope.bindings[name]?.constantViolations;\n if (constantViolations) {\n for (const redeclarator of constantViolations) {\n const node = redeclarator.node;\n // If a constant violation is a var or a function declaration,\n // we first check to see if it's a var without an init.\n // If so, we remove that declarator.\n // Otherwise, we have to wrap it in an IIFE.\n switch (node.type) {\n case \"VariableDeclarator\": {\n if (node.init === null) {\n const declaration = redeclarator.parentPath;\n // The following uninitialized var declarators should not be removed\n // for (var x in {})\n // for (var x;;)\n if (\n !declaration.parentPath.isFor() ||\n declaration.parentPath.get(\"body\") === declaration\n ) {\n redeclarator.remove();\n break;\n }\n }\n\n shadowedParams.add(name);\n break;\n }\n case \"FunctionDeclaration\":\n shadowedParams.add(name);\n break;\n }\n }\n }\n }\n}\n\nexport function buildScopeIIFE(\n shadowedParams: Set,\n body: t.BlockStatement,\n) {\n const args = [];\n const params = [];\n\n for (const name of shadowedParams) {\n // We create them twice; the other option is to use t.cloneNode\n args.push(t.identifier(name));\n params.push(t.identifier(name));\n }\n\n return t.returnStatement(\n t.callExpression(t.arrowFunctionExpression(params, body), args),\n );\n}\n","import { template, types as t } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\n\nimport {\n iifeVisitor,\n collectShadowedParamsNames,\n buildScopeIIFE,\n} from \"./shadow-utils.ts\";\n\nconst buildDefaultParam = template.statement(`\n let VARIABLE_NAME =\n arguments.length > ARGUMENT_KEY && arguments[ARGUMENT_KEY] !== undefined ?\n arguments[ARGUMENT_KEY]\n :\n DEFAULT_VALUE;\n`);\n\nconst buildLooseDefaultParam = template.statement(`\n if (ASSIGNMENT_IDENTIFIER === UNDEFINED) {\n ASSIGNMENT_IDENTIFIER = DEFAULT_VALUE;\n }\n`);\n\nconst buildLooseDestructuredDefaultParam = template.statement(`\n let ASSIGNMENT_IDENTIFIER = PARAMETER_NAME === UNDEFINED ? DEFAULT_VALUE : PARAMETER_NAME ;\n`);\n\nconst buildSafeArgumentsAccess = template.statement(`\n let $0 = arguments.length > $1 ? arguments[$1] : undefined;\n`);\n\n// last 2 parameters are optional -- they are used by transform-object-rest-spread/src/index.js\nexport default function convertFunctionParams(\n path: NodePath,\n ignoreFunctionLength: boolean | void,\n shouldTransformParam?: (index: number) => boolean,\n replaceRestElement?: (\n path: NodePath,\n paramPath: NodePath,\n transformedRestNodes: t.Statement[],\n ) => void,\n) {\n const params = path.get(\"params\");\n\n const isSimpleParameterList = params.every(param => param.isIdentifier());\n if (isSimpleParameterList) return false;\n\n const { node, scope } = path;\n\n const body = [];\n const shadowedParams = new Set();\n\n for (const param of params) {\n collectShadowedParamsNames(param, scope, shadowedParams);\n }\n\n const state = {\n needsOuterBinding: false,\n scope,\n };\n if (shadowedParams.size === 0) {\n for (const param of params) {\n if (!param.isIdentifier()) param.traverse(iifeVisitor, state);\n if (state.needsOuterBinding) break;\n }\n }\n\n let firstOptionalIndex = null;\n\n for (let i = 0; i < params.length; i++) {\n const param = params[i];\n\n if (shouldTransformParam && !shouldTransformParam(i)) {\n continue;\n }\n const transformedRestNodes: t.Statement[] = [];\n if (replaceRestElement) {\n replaceRestElement(path, param, transformedRestNodes);\n }\n\n const paramIsAssignmentPattern = param.isAssignmentPattern();\n if (\n paramIsAssignmentPattern &&\n (ignoreFunctionLength || t.isMethod(node, { kind: \"set\" }))\n ) {\n const left = param.get(\"left\");\n const right = param.get(\"right\");\n\n const undefinedNode = scope.buildUndefinedNode();\n\n if (left.isIdentifier()) {\n body.push(\n buildLooseDefaultParam({\n ASSIGNMENT_IDENTIFIER: t.cloneNode(left.node),\n DEFAULT_VALUE: right.node,\n UNDEFINED: undefinedNode,\n }),\n );\n param.replaceWith(left.node);\n } else if (left.isObjectPattern() || left.isArrayPattern()) {\n const paramName = scope.generateUidIdentifier();\n body.push(\n buildLooseDestructuredDefaultParam({\n ASSIGNMENT_IDENTIFIER: left.node,\n DEFAULT_VALUE: right.node,\n PARAMETER_NAME: t.cloneNode(paramName),\n UNDEFINED: undefinedNode,\n }),\n );\n param.replaceWith(paramName);\n }\n } else if (paramIsAssignmentPattern) {\n if (firstOptionalIndex === null) firstOptionalIndex = i;\n\n const left = param.get(\"left\");\n const right = param.get(\"right\");\n\n const defNode = buildDefaultParam({\n VARIABLE_NAME: left.node,\n DEFAULT_VALUE: right.node,\n ARGUMENT_KEY: t.numericLiteral(i),\n });\n body.push(defNode);\n } else if (firstOptionalIndex !== null) {\n const defNode = buildSafeArgumentsAccess([\n param.node,\n t.numericLiteral(i),\n ]);\n body.push(defNode);\n } else if (param.isObjectPattern() || param.isArrayPattern()) {\n const uid = path.scope.generateUidIdentifier(\"ref\");\n uid.typeAnnotation = param.node.typeAnnotation;\n\n const defNode = t.variableDeclaration(\"let\", [\n t.variableDeclarator(param.node, uid),\n ]);\n body.push(defNode);\n\n param.replaceWith(t.cloneNode(uid));\n }\n\n if (transformedRestNodes) {\n for (const transformedNode of transformedRestNodes) {\n body.push(transformedNode);\n }\n }\n }\n\n // we need to cut off all trailing parameters\n if (firstOptionalIndex !== null) {\n node.params = node.params.slice(0, firstOptionalIndex);\n }\n\n // ensure it's a block, useful for arrow functions\n path.ensureBlock();\n\n const { async, generator } = node;\n if (generator || state.needsOuterBinding || shadowedParams.size > 0) {\n body.push(buildScopeIIFE(shadowedParams, path.node.body));\n\n path.set(\"body\", t.blockStatement(body as t.Statement[]));\n\n // We inject an arrow and then transform it to a normal function, to be\n // sure that we correctly handle this and arguments.\n const bodyPath = path.get(\"body.body\");\n const arrowPath = bodyPath[bodyPath.length - 1].get(\n \"argument.callee\",\n ) as NodePath;\n\n // This is an IIFE, so we don't need to worry about the noNewArrows assumption\n arrowPath.arrowFunctionToExpression();\n\n arrowPath.node.generator = generator;\n arrowPath.node.async = async;\n\n node.generator = false;\n node.async = false;\n if (async) {\n // If the default value of a parameter throws, it must reject asynchronously.\n path.node.body = template.statement.ast`{\n try {\n ${path.node.body.body}\n } catch (e) {\n return Promise.reject(e);\n }\n }` as t.BlockStatement;\n }\n } else {\n path.get(\"body\").unshiftContainer(\"body\", body);\n }\n\n return true;\n}\n","import { template, types as t } from \"@babel/core\";\nimport type { NodePath, Visitor } from \"@babel/traverse\";\n\nimport {\n iifeVisitor,\n collectShadowedParamsNames,\n buildScopeIIFE,\n} from \"./shadow-utils.ts\";\n\nconst buildRest = template.statement(`\n for (var LEN = ARGUMENTS.length,\n ARRAY = new Array(ARRAY_LEN),\n KEY = START;\n KEY < LEN;\n KEY++) {\n ARRAY[ARRAY_KEY] = ARGUMENTS[KEY];\n }\n`);\n\nconst restIndex = template.expression(`\n (INDEX < OFFSET || ARGUMENTS.length <= INDEX) ? undefined : ARGUMENTS[INDEX]\n`);\n\nconst restIndexImpure = template.expression(`\n REF = INDEX, (REF < OFFSET || ARGUMENTS.length <= REF) ? undefined : ARGUMENTS[REF]\n`);\n\nconst restLength = template.expression(`\n ARGUMENTS.length <= OFFSET ? 0 : ARGUMENTS.length - OFFSET\n`);\n\nfunction referencesRest(\n path: NodePath,\n state: State,\n) {\n if (path.node.name === state.name) {\n // Check rest parameter is not shadowed by a binding in another scope.\n return path.scope.bindingIdentifierEquals(state.name, state.outerBinding);\n }\n\n return false;\n}\n\ntype Candidate = {\n cause: \"argSpread\" | \"indexGetter\" | \"lengthGetter\";\n path: NodePath;\n};\n\ntype State = {\n references: NodePath[];\n offset: number;\n\n argumentsNode: t.Identifier;\n outerBinding: t.Identifier;\n\n // candidate member expressions we could optimise if there are no other references\n candidates: Candidate[];\n\n // local rest binding name\n name: string;\n\n /*\n It may be possible to optimize the output code in certain ways, such as\n not generating code to initialize an array (perhaps substituting direct\n references to arguments[i] or arguments.length for reads of the\n corresponding rest parameter property) or positioning the initialization\n code so that it may not have to execute depending on runtime conditions.\n\n This property tracks eligibility for optimization. \"deopted\" means give up\n and don't perform optimization. For example, when any of rest's elements /\n properties is assigned to at the top level, or referenced at all in a\n nested function.\n */\n deopted: boolean;\n noOptimise?: boolean;\n};\n\nconst memberExpressionOptimisationVisitor: Visitor = {\n Scope(path, state) {\n // check if this scope has a local binding that will shadow the rest parameter\n if (!path.scope.bindingIdentifierEquals(state.name, state.outerBinding)) {\n path.skip();\n }\n },\n\n Flow(path: NodePath) {\n // Do not skip TypeCastExpressions as the contain valid non flow code\n if (path.isTypeCastExpression()) return;\n // don't touch reference in type annotations\n path.skip();\n },\n\n Function(path, state) {\n // Detect whether any reference to rest is contained in nested functions to\n // determine if deopt is necessary.\n const oldNoOptimise = state.noOptimise;\n state.noOptimise = true;\n path.traverse(memberExpressionOptimisationVisitor, state);\n state.noOptimise = oldNoOptimise;\n\n // Skip because optimizing references to rest would refer to the `arguments`\n // of the nested function.\n path.skip();\n },\n\n ReferencedIdentifier(path, state) {\n const { node } = path;\n\n // we can't guarantee the purity of arguments\n if (node.name === \"arguments\") {\n state.deopted = true;\n }\n\n // is this a referenced identifier and is it referencing the rest parameter?\n if (!referencesRest(path, state)) return;\n\n if (state.noOptimise) {\n state.deopted = true;\n } else {\n const { parentPath } = path;\n\n // Is this identifier the right hand side of a default parameter?\n if (\n parentPath.listKey === \"params\" &&\n (parentPath.key as number) < state.offset\n ) {\n return;\n }\n\n // ex: `args[0]`\n // ex: `args.whatever`\n if (parentPath.isMemberExpression({ object: node })) {\n const grandparentPath = parentPath.parentPath;\n\n const argsOptEligible =\n !state.deopted &&\n !(\n // ex: `args[0] = \"whatever\"`\n (\n (grandparentPath.isAssignmentExpression() &&\n parentPath.node === grandparentPath.node.left) ||\n // ex: `[args[0]] = [\"whatever\"]`\n grandparentPath.isLVal() ||\n // ex: `for (rest[0] in this)`\n // ex: `for (rest[0] of this)`\n grandparentPath.isForXStatement() ||\n // ex: `++args[0]`\n // ex: `args[0]--`\n grandparentPath.isUpdateExpression() ||\n // ex: `delete args[0]`\n grandparentPath.isUnaryExpression({ operator: \"delete\" }) ||\n // ex: `args[0]()`\n // ex: `new args[0]()`\n // ex: `new args[0]`\n ((grandparentPath.isCallExpression() ||\n grandparentPath.isNewExpression()) &&\n parentPath.node === grandparentPath.node.callee)\n )\n );\n\n if (argsOptEligible) {\n if (parentPath.node.computed) {\n // if we know that this member expression is referencing a number then\n // we can safely optimise it\n if (parentPath.get(\"property\").isBaseType(\"number\")) {\n state.candidates.push({ cause: \"indexGetter\", path });\n return;\n }\n } else if (\n // @ts-expect-error .length must not be a private name\n parentPath.node.property.name === \"length\"\n ) {\n // args.length\n state.candidates.push({ cause: \"lengthGetter\", path });\n return;\n }\n }\n }\n\n // we can only do these optimizations if the rest variable would match\n // the arguments exactly\n // optimise single spread args in calls\n // ex: fn(...args)\n if (state.offset === 0 && parentPath.isSpreadElement()) {\n const call = parentPath.parentPath;\n if (call.isCallExpression() && call.node.arguments.length === 1) {\n state.candidates.push({ cause: \"argSpread\", path });\n return;\n }\n }\n\n state.references.push(path);\n }\n },\n\n /**\n * Deopt on use of a binding identifier with the same name as our rest param.\n *\n * See https://github.com/babel/babel/issues/2091\n */\n\n BindingIdentifier(path, state) {\n if (referencesRest(path, state)) {\n state.deopted = true;\n }\n },\n};\n\nfunction getParamsCount(node: t.Function) {\n let count = node.params.length;\n // skip the first parameter if it is a TypeScript 'this parameter'\n if (count > 0 && t.isIdentifier(node.params[0], { name: \"this\" })) {\n count -= 1;\n }\n return count;\n}\n\nfunction hasRest(node: t.Function) {\n const length = node.params.length;\n return length > 0 && t.isRestElement(node.params[length - 1]);\n}\n\nfunction optimiseIndexGetter(\n path: NodePath,\n argsId: t.Identifier,\n offset: number,\n) {\n const offsetLiteral = t.numericLiteral(offset);\n let index;\n const parent = path.parent as t.MemberExpression;\n\n if (t.isNumericLiteral(parent.property)) {\n index = t.numericLiteral(parent.property.value + offset);\n } else if (offset === 0) {\n // Avoid unnecessary '+ 0'\n index = parent.property;\n } else {\n index = t.binaryExpression(\n \"+\",\n parent.property,\n t.cloneNode(offsetLiteral),\n );\n }\n\n const { scope, parentPath } = path;\n if (!scope.isPure(index)) {\n const temp = scope.generateUidIdentifierBasedOnNode(index);\n scope.push({ id: temp, kind: \"var\" });\n parentPath.replaceWith(\n restIndexImpure({\n ARGUMENTS: argsId,\n OFFSET: offsetLiteral,\n INDEX: index,\n REF: t.cloneNode(temp),\n }),\n );\n } else {\n parentPath.replaceWith(\n restIndex({\n ARGUMENTS: argsId,\n OFFSET: offsetLiteral,\n INDEX: index,\n }),\n );\n const replacedParentPath = parentPath as NodePath;\n\n // See if we can statically evaluate the first test (i.e. index < offset)\n // and optimize the AST accordingly.\n const offsetTestPath = replacedParentPath.get(\n \"test\",\n ) as NodePath;\n const valRes = offsetTestPath.get(\"left\").evaluate();\n if (valRes.confident) {\n if (valRes.value === true) {\n replacedParentPath.replaceWith(scope.buildUndefinedNode());\n } else {\n offsetTestPath.replaceWith(offsetTestPath.get(\"right\"));\n }\n }\n }\n}\n\nfunction optimiseLengthGetter(\n path: NodePath,\n argsId: t.Identifier,\n offset: number,\n) {\n if (offset) {\n path.parentPath.replaceWith(\n restLength({\n ARGUMENTS: argsId,\n OFFSET: t.numericLiteral(offset),\n }),\n );\n } else {\n path.replaceWith(argsId);\n }\n}\n\nexport default function convertFunctionRest(path: NodePath) {\n const { node, scope } = path;\n if (!hasRest(node)) return false;\n\n const restPath = path.get(\n `params.${node.params.length - 1}.argument`,\n ) as NodePath;\n\n if (!restPath.isIdentifier()) {\n const shadowedParams = new Set();\n collectShadowedParamsNames(restPath, path.scope, shadowedParams);\n\n let needsIIFE = shadowedParams.size > 0;\n if (!needsIIFE) {\n const state = {\n needsOuterBinding: false,\n scope,\n };\n restPath.traverse(iifeVisitor, state);\n needsIIFE = state.needsOuterBinding;\n }\n\n if (needsIIFE) {\n path.ensureBlock();\n path.set(\n \"body\",\n t.blockStatement([buildScopeIIFE(shadowedParams, path.node.body)]),\n );\n }\n }\n\n let rest = restPath.node;\n node.params.pop(); // This returns 'rest'\n\n if (t.isPattern(rest)) {\n const pattern = rest;\n rest = scope.generateUidIdentifier(\"ref\");\n\n const declar = t.variableDeclaration(\"let\", [\n t.variableDeclarator(pattern, rest),\n ]);\n path.ensureBlock();\n (node.body as t.BlockStatement).body.unshift(declar);\n } else if (rest.name === \"arguments\") {\n scope.rename(rest.name);\n }\n\n const argsId = t.identifier(\"arguments\");\n const paramsCount = getParamsCount(node);\n\n // check and optimise for extremely common cases\n const state: State = {\n references: [],\n offset: paramsCount,\n argumentsNode: argsId,\n outerBinding: scope.getBindingIdentifier(rest.name),\n candidates: [],\n name: rest.name,\n deopted: false,\n };\n\n path.traverse(memberExpressionOptimisationVisitor, state);\n\n // There are only \"shorthand\" references\n if (!state.deopted && !state.references.length) {\n for (const { path, cause } of state.candidates) {\n const clonedArgsId = t.cloneNode(argsId);\n switch (cause) {\n case \"indexGetter\":\n optimiseIndexGetter(path, clonedArgsId, state.offset);\n break;\n case \"lengthGetter\":\n optimiseLengthGetter(path, clonedArgsId, state.offset);\n break;\n default:\n path.replaceWith(clonedArgsId);\n }\n }\n return true;\n }\n\n state.references.push(...state.candidates.map(({ path }) => path));\n\n const start = t.numericLiteral(paramsCount);\n const key = scope.generateUidIdentifier(\"key\");\n const len = scope.generateUidIdentifier(\"len\");\n\n let arrKey, arrLen;\n if (paramsCount) {\n // this method has additional params, so we need to subtract\n // the index of the current argument position from the\n // position in the array that we want to populate\n arrKey = t.binaryExpression(\"-\", t.cloneNode(key), t.cloneNode(start));\n\n // we need to work out the size of the array that we're\n // going to store all the rest parameters\n //\n // we need to add a check to avoid constructing the array\n // with <0 if there are less arguments than params as it'll\n // cause an error\n arrLen = t.conditionalExpression(\n t.binaryExpression(\">\", t.cloneNode(len), t.cloneNode(start)),\n t.binaryExpression(\"-\", t.cloneNode(len), t.cloneNode(start)),\n t.numericLiteral(0),\n );\n } else {\n arrKey = t.identifier(key.name);\n arrLen = t.identifier(len.name);\n }\n\n const loop = buildRest({\n ARGUMENTS: argsId,\n ARRAY_KEY: arrKey,\n ARRAY_LEN: arrLen,\n START: start,\n ARRAY: rest,\n KEY: key,\n LEN: len,\n });\n\n if (state.deopted) {\n (node.body as t.BlockStatement).body.unshift(loop);\n } else {\n let target = path\n .getEarliestCommonAncestorFrom(state.references)\n .getStatementParent();\n\n // don't perform the allocation inside a loop\n target.findParent(path => {\n if (path.isLoop()) {\n target = path;\n } else {\n // Stop crawling up if this is a function.\n return path.isFunction();\n }\n });\n\n target.insertBefore(loop);\n }\n\n return true;\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport convertFunctionParams from \"./params.ts\";\nimport convertFunctionRest from \"./rest.ts\";\nexport { convertFunctionParams };\n\nexport interface Options {\n loose?: boolean;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const ignoreFunctionLength =\n api.assumption(\"ignoreFunctionLength\") ?? options.loose;\n // Todo(BABEL 8): Consider default it to false\n const noNewArrows = api.assumption(\"noNewArrows\") ?? true;\n\n return {\n name: \"transform-parameters\",\n\n visitor: {\n Function(path) {\n if (\n path.isArrowFunctionExpression() &&\n path\n .get(\"params\")\n .some(param => param.isRestElement() || param.isAssignmentPattern())\n ) {\n // default/rest visitors require access to `arguments`, so it cannot be an arrow\n path.arrowFunctionToExpression({\n allowInsertArrowWithRest: false,\n noNewArrows,\n });\n\n // In some cases arrowFunctionToExpression replaces the function with a wrapper.\n // Return early; the wrapped function will be visited later in the AST traversal.\n if (!path.isFunctionExpression()) return;\n }\n\n const convertedRest = convertFunctionRest(path);\n const convertedParams = convertFunctionParams(\n path,\n ignoreFunctionLength,\n );\n\n if (convertedRest || convertedParams) {\n // Manually reprocess this scope to ensure that the moved params are updated.\n path.scope.crawl();\n }\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport syntaxDestructuringPrivate from \"@babel/plugin-syntax-destructuring-private\";\nimport {\n hasPrivateKeys,\n hasPrivateClassElement,\n transformPrivateKeyDestructuring,\n buildVariableDeclarationFromParams,\n} from \"./util.ts\";\nimport { convertFunctionParams } from \"@babel/plugin-transform-parameters\";\nimport { unshiftForXStatementBody } from \"@babel/plugin-transform-destructuring\";\n\nimport type { PluginPass } from \"@babel/core\";\nimport type { NodePath, Visitor } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\n\nexport default declare(function ({ assertVersion, assumption, types: t }) {\n assertVersion(\"^7.17.0\");\n const {\n assignmentExpression,\n assignmentPattern,\n cloneNode,\n expressionStatement,\n isExpressionStatement,\n isIdentifier,\n isSequenceExpression,\n sequenceExpression,\n variableDeclaration,\n variableDeclarator,\n } = t;\n\n const ignoreFunctionLength = assumption(\"ignoreFunctionLength\");\n const objectRestNoSymbols = assumption(\"objectRestNoSymbols\");\n\n const privateKeyDestructuringVisitor: Visitor = {\n Function(path) {\n // (b, { #x: x } = I) => body\n // transforms to:\n // (b, p1) => { var { #x: x } = p1 === undefined ? I : p1; body; }\n const firstPrivateIndex = path.node.params.findIndex(param =>\n hasPrivateKeys(param),\n );\n if (firstPrivateIndex === -1) return;\n // wrap function body within IIFE if any param is shadowed\n convertFunctionParams(path, ignoreFunctionLength, () => false);\n // invariant: path.body is always a BlockStatement after `convertFunctionParams`\n const { node, scope } = path;\n const { params } = node;\n const firstAssignmentPatternIndex = ignoreFunctionLength\n ? -1\n : params.findIndex(param => param.type === \"AssignmentPattern\");\n const paramsAfterIndex = params.splice(firstPrivateIndex);\n const { params: transformedParams, variableDeclaration } =\n buildVariableDeclarationFromParams(paramsAfterIndex, scope);\n\n (path.get(\"body\") as NodePath).unshiftContainer(\n \"body\",\n variableDeclaration,\n );\n params.push(...transformedParams);\n // preserve function.length\n // (b, p1) => {}\n // transforms to\n // (b, p1 = void 0) => {}\n if (firstAssignmentPatternIndex >= firstPrivateIndex) {\n params[firstAssignmentPatternIndex] = assignmentPattern(\n // @ts-expect-error The transformed assignment pattern must not be a RestElement\n params[firstAssignmentPatternIndex],\n scope.buildUndefinedNode(),\n );\n }\n scope.crawl();\n // the pattern will be handled by VariableDeclaration visitor.\n },\n CatchClause(path) {\n // catch({ #x: x }) { body }\n // transforms to:\n // catch(_e) { var {#x: x } = _e; body }\n const { node, scope } = path;\n if (!hasPrivateKeys(node.param)) return;\n // todo: handle shadowed param as we did in convertFunctionParams\n const ref = scope.generateUidIdentifier(\"e\");\n path\n .get(\"body\")\n .unshiftContainer(\n \"body\",\n variableDeclaration(\"let\", [variableDeclarator(node.param, ref)]),\n );\n node.param = cloneNode(ref);\n scope.crawl();\n // the pattern will be handled by VariableDeclaration visitor.\n },\n ForXStatement(path) {\n const { node, scope } = path;\n const leftPath = path.get(\"left\");\n if (leftPath.isVariableDeclaration()) {\n const left = leftPath.node;\n if (!hasPrivateKeys(left.declarations[0].id)) return;\n // for (const { #x: x } of cls) body;\n // transforms to:\n // for (const ref of cls) { const { #x: x } = ref; body; }\n // todo: the transform here assumes that any expression within\n // the destructuring pattern (`{ #x: x }`), when evaluated, do not interfere\n // with the iterator of cls. Otherwise we have to pause the iterator and\n // interleave the expressions.\n // See also https://gist.github.com/nicolo-ribaudo/f8ac7916f89450f2ead77d99855b2098\n const temp = scope.generateUidIdentifier(\"ref\");\n node.left = variableDeclaration(left.kind, [\n variableDeclarator(temp, null),\n ]);\n left.declarations[0].init = cloneNode(temp);\n unshiftForXStatementBody(path, [left]);\n scope.crawl();\n // the pattern will be handled by VariableDeclaration visitor.\n } else if (leftPath.isPattern()) {\n if (!hasPrivateKeys(leftPath.node)) return;\n // for ({ #x: x } of cls);\n // transforms to:\n // for (const ref of cls) { ({ #x: x } = ref); body; }\n // This transform assumes that any expression within the pattern\n // does not interfere with the iterable `cls`.\n const temp = scope.generateUidIdentifier(\"ref\");\n node.left = variableDeclaration(\"const\", [\n variableDeclarator(temp, null),\n ]);\n const assignExpr = expressionStatement(\n assignmentExpression(\"=\", leftPath.node, cloneNode(temp)),\n );\n unshiftForXStatementBody(path, [assignExpr]);\n scope.crawl();\n }\n },\n VariableDeclaration(path, state) {\n const { scope, node } = path;\n const { declarations } = node;\n if (!declarations.some(declarator => hasPrivateKeys(declarator.id))) {\n return;\n }\n const newDeclarations = [];\n for (const declarator of declarations) {\n for (const { left, right } of transformPrivateKeyDestructuring(\n // @ts-expect-error The id of a variable declarator must not be a RestElement\n declarator.id,\n declarator.init,\n scope,\n /* isAssignment */ false,\n /* shouldPreserveCompletion */ false,\n name => state.addHelper(name),\n objectRestNoSymbols,\n /* useBuiltIns */ true,\n )) {\n newDeclarations.push(variableDeclarator(left, right));\n }\n }\n node.declarations = newDeclarations;\n scope.crawl();\n },\n\n AssignmentExpression(path, state) {\n const { node, scope, parent } = path;\n if (!hasPrivateKeys(node.left)) return;\n const assignments = [];\n const shouldPreserveCompletion =\n (!isExpressionStatement(parent) && !isSequenceExpression(parent)) ||\n path.isCompletionRecord();\n for (const { left, right } of transformPrivateKeyDestructuring(\n // @ts-expect-error The left of an assignment expression must not be a RestElement\n node.left,\n node.right,\n scope,\n /* isAssignment */ true,\n shouldPreserveCompletion,\n name => state.addHelper(name),\n objectRestNoSymbols,\n /* useBuiltIns */ true,\n )) {\n assignments.push(assignmentExpression(\"=\", left, right));\n }\n // preserve completion record\n if (shouldPreserveCompletion) {\n const { left, right } = assignments[0];\n // If node.right is right and left is an identifier, then the left is an effectively-constant memoised id\n if (isIdentifier(left) && right === node.right) {\n if (\n !isIdentifier(assignments[assignments.length - 1].right, {\n name: left.name,\n })\n ) {\n // If the last assignment does not end with left, then we push `left` as the completion value\n assignments.push(cloneNode(left));\n }\n // do nothing as `left` is already at the end of assignments\n } else {\n const tempId = scope.generateDeclaredUidIdentifier(\"m\");\n assignments.unshift(\n assignmentExpression(\"=\", tempId, cloneNode(node.right)),\n );\n assignments.push(cloneNode(tempId));\n }\n }\n\n path.replaceWith(sequenceExpression(assignments));\n scope.crawl();\n },\n };\n\n const visitor: Visitor = {\n Class(path, state) {\n if (!hasPrivateClassElement(path.node.body)) return;\n path.traverse(privateKeyDestructuringVisitor, state);\n },\n };\n\n return {\n name: \"proposal-destructuring-private\",\n inherits: syntaxDestructuringPrivate,\n visitor: visitor,\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport syntaxDoExpressions from \"@babel/plugin-syntax-do-expressions\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"proposal-do-expressions\",\n inherits: syntaxDoExpressions,\n\n visitor: {\n DoExpression: {\n exit(path) {\n const { node } = path;\n if (node.async) {\n // Async do expressions are not yet supported\n return;\n }\n const body = node.body.body;\n if (body.length) {\n path.replaceExpressionWithStatements(body);\n } else {\n path.replaceWith(path.scope.buildUndefinedNode());\n }\n },\n },\n },\n };\n});\n","/*! https://mths.be/regenerate v1.4.2 by @mathias | MIT license */\n;(function(root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js/io.js or Browserified code,\n\t// and use it as `root`.\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar ERRORS = {\n\t\t'rangeOrder': 'A range\\u2019s `stop` value must be greater than or equal ' +\n\t\t\t'to the `start` value.',\n\t\t'codePointRange': 'Invalid code point value. Code points range from ' +\n\t\t\t'U+000000 to U+10FFFF.'\n\t};\n\n\t// https://mathiasbynens.be/notes/javascript-encoding#surrogate-pairs\n\tvar HIGH_SURROGATE_MIN = 0xD800;\n\tvar HIGH_SURROGATE_MAX = 0xDBFF;\n\tvar LOW_SURROGATE_MIN = 0xDC00;\n\tvar LOW_SURROGATE_MAX = 0xDFFF;\n\n\t// In Regenerate output, `\\0` is never preceded by `\\` because we sort by\n\t// code point value, so let’s keep this regular expression simple.\n\tvar regexNull = /\\\\x00([^0123456789]|$)/g;\n\n\tvar object = {};\n\tvar hasOwnProperty = object.hasOwnProperty;\n\tvar extend = function(destination, source) {\n\t\tvar key;\n\t\tfor (key in source) {\n\t\t\tif (hasOwnProperty.call(source, key)) {\n\t\t\t\tdestination[key] = source[key];\n\t\t\t}\n\t\t}\n\t\treturn destination;\n\t};\n\n\tvar forEach = function(array, callback) {\n\t\tvar index = -1;\n\t\tvar length = array.length;\n\t\twhile (++index < length) {\n\t\t\tcallback(array[index], index);\n\t\t}\n\t};\n\n\tvar toString = object.toString;\n\tvar isArray = function(value) {\n\t\treturn toString.call(value) == '[object Array]';\n\t};\n\tvar isNumber = function(value) {\n\t\treturn typeof value == 'number' ||\n\t\t\ttoString.call(value) == '[object Number]';\n\t};\n\n\t// This assumes that `number` is a positive integer that `toString()`s nicely\n\t// (which is the case for all code point values).\n\tvar zeroes = '0000';\n\tvar pad = function(number, totalCharacters) {\n\t\tvar string = String(number);\n\t\treturn string.length < totalCharacters\n\t\t\t? (zeroes + string).slice(-totalCharacters)\n\t\t\t: string;\n\t};\n\n\tvar hex = function(number) {\n\t\treturn Number(number).toString(16).toUpperCase();\n\t};\n\n\tvar slice = [].slice;\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar dataFromCodePoints = function(codePoints) {\n\t\tvar index = -1;\n\t\tvar length = codePoints.length;\n\t\tvar max = length - 1;\n\t\tvar result = [];\n\t\tvar isStart = true;\n\t\tvar tmp;\n\t\tvar previous = 0;\n\t\twhile (++index < length) {\n\t\t\ttmp = codePoints[index];\n\t\t\tif (isStart) {\n\t\t\t\tresult.push(tmp);\n\t\t\t\tprevious = tmp;\n\t\t\t\tisStart = false;\n\t\t\t} else {\n\t\t\t\tif (tmp == previous + 1) {\n\t\t\t\t\tif (index != max) {\n\t\t\t\t\t\tprevious = tmp;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisStart = true;\n\t\t\t\t\t\tresult.push(tmp + 1);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// End the previous range and start a new one.\n\t\t\t\t\tresult.push(previous + 1, tmp);\n\t\t\t\t\tprevious = tmp;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!isStart) {\n\t\t\tresult.push(tmp + 1);\n\t\t}\n\t\treturn result;\n\t};\n\n\tvar dataRemove = function(data, codePoint) {\n\t\t// Iterate over the data per `(start, end)` pair.\n\t\tvar index = 0;\n\t\tvar start;\n\t\tvar end;\n\t\tvar length = data.length;\n\t\twhile (index < length) {\n\t\t\tstart = data[index];\n\t\t\tend = data[index + 1];\n\t\t\tif (codePoint >= start && codePoint < end) {\n\t\t\t\t// Modify this pair.\n\t\t\t\tif (codePoint == start) {\n\t\t\t\t\tif (end == start + 1) {\n\t\t\t\t\t\t// Just remove `start` and `end`.\n\t\t\t\t\t\tdata.splice(index, 2);\n\t\t\t\t\t\treturn data;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Just replace `start` with a new value.\n\t\t\t\t\t\tdata[index] = codePoint + 1;\n\t\t\t\t\t\treturn data;\n\t\t\t\t\t}\n\t\t\t\t} else if (codePoint == end - 1) {\n\t\t\t\t\t// Just replace `end` with a new value.\n\t\t\t\t\tdata[index + 1] = codePoint;\n\t\t\t\t\treturn data;\n\t\t\t\t} else {\n\t\t\t\t\t// Replace `[start, end]` with `[startA, endA, startB, endB]`.\n\t\t\t\t\tdata.splice(index, 2, start, codePoint, codePoint + 1, end);\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\t\t\t}\n\t\t\tindex += 2;\n\t\t}\n\t\treturn data;\n\t};\n\n\tvar dataRemoveRange = function(data, rangeStart, rangeEnd) {\n\t\tif (rangeEnd < rangeStart) {\n\t\t\tthrow Error(ERRORS.rangeOrder);\n\t\t}\n\t\t// Iterate over the data per `(start, end)` pair.\n\t\tvar index = 0;\n\t\tvar start;\n\t\tvar end;\n\t\twhile (index < data.length) {\n\t\t\tstart = data[index];\n\t\t\tend = data[index + 1] - 1; // Note: the `- 1` makes `end` inclusive.\n\n\t\t\t// Exit as soon as no more matching pairs can be found.\n\t\t\tif (start > rangeEnd) {\n\t\t\t\treturn data;\n\t\t\t}\n\n\t\t\t// Check if this range pair is equal to, or forms a subset of, the range\n\t\t\t// to be removed.\n\t\t\t// E.g. we have `[0, 11, 40, 51]` and want to remove 0-10 → `[40, 51]`.\n\t\t\t// E.g. we have `[40, 51]` and want to remove 0-100 → `[]`.\n\t\t\tif (rangeStart <= start && rangeEnd >= end) {\n\t\t\t\t// Remove this pair.\n\t\t\t\tdata.splice(index, 2);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check if both `rangeStart` and `rangeEnd` are within the bounds of\n\t\t\t// this pair.\n\t\t\t// E.g. we have `[0, 11]` and want to remove 4-6 → `[0, 4, 7, 11]`.\n\t\t\tif (rangeStart >= start && rangeEnd < end) {\n\t\t\t\tif (rangeStart == start) {\n\t\t\t\t\t// Replace `[start, end]` with `[startB, endB]`.\n\t\t\t\t\tdata[index] = rangeEnd + 1;\n\t\t\t\t\tdata[index + 1] = end + 1;\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\t\t\t\t// Replace `[start, end]` with `[startA, endA, startB, endB]`.\n\t\t\t\tdata.splice(index, 2, start, rangeStart, rangeEnd + 1, end + 1);\n\t\t\t\treturn data;\n\t\t\t}\n\n\t\t\t// Check if only `rangeStart` is within the bounds of this pair.\n\t\t\t// E.g. we have `[0, 11]` and want to remove 4-20 → `[0, 4]`.\n\t\t\tif (rangeStart >= start && rangeStart <= end) {\n\t\t\t\t// Replace `end` with `rangeStart`.\n\t\t\t\tdata[index + 1] = rangeStart;\n\t\t\t\t// Note: we cannot `return` just yet, in case any following pairs still\n\t\t\t\t// contain matching code points.\n\t\t\t\t// E.g. we have `[0, 11, 14, 31]` and want to remove 4-20\n\t\t\t\t// → `[0, 4, 21, 31]`.\n\t\t\t}\n\n\t\t\t// Check if only `rangeEnd` is within the bounds of this pair.\n\t\t\t// E.g. we have `[14, 31]` and want to remove 4-20 → `[21, 31]`.\n\t\t\telse if (rangeEnd >= start && rangeEnd <= end) {\n\t\t\t\t// Just replace `start`.\n\t\t\t\tdata[index] = rangeEnd + 1;\n\t\t\t\treturn data;\n\t\t\t}\n\n\t\t\tindex += 2;\n\t\t}\n\t\treturn data;\n\t};\n\n\t var dataAdd = function(data, codePoint) {\n\t\t// Iterate over the data per `(start, end)` pair.\n\t\tvar index = 0;\n\t\tvar start;\n\t\tvar end;\n\t\tvar lastIndex = null;\n\t\tvar length = data.length;\n\t\tif (codePoint < 0x0 || codePoint > 0x10FFFF) {\n\t\t\tthrow RangeError(ERRORS.codePointRange);\n\t\t}\n\t\twhile (index < length) {\n\t\t\tstart = data[index];\n\t\t\tend = data[index + 1];\n\n\t\t\t// Check if the code point is already in the set.\n\t\t\tif (codePoint >= start && codePoint < end) {\n\t\t\t\treturn data;\n\t\t\t}\n\n\t\t\tif (codePoint == start - 1) {\n\t\t\t\t// Just replace `start` with a new value.\n\t\t\t\tdata[index] = codePoint;\n\t\t\t\treturn data;\n\t\t\t}\n\n\t\t\t// At this point, if `start` is `greater` than `codePoint`, insert a new\n\t\t\t// `[start, end]` pair before the current pair, or after the current pair\n\t\t\t// if there is a known `lastIndex`.\n\t\t\tif (start > codePoint) {\n\t\t\t\tdata.splice(\n\t\t\t\t\tlastIndex != null ? lastIndex + 2 : 0,\n\t\t\t\t\t0,\n\t\t\t\t\tcodePoint,\n\t\t\t\t\tcodePoint + 1\n\t\t\t\t);\n\t\t\t\treturn data;\n\t\t\t}\n\n\t\t\tif (codePoint == end) {\n\t\t\t\t// Check if adding this code point causes two separate ranges to become\n\t\t\t\t// a single range, e.g. `dataAdd([0, 4, 5, 10], 4)` → `[0, 10]`.\n\t\t\t\tif (codePoint + 1 == data[index + 2]) {\n\t\t\t\t\tdata.splice(index, 4, start, data[index + 3]);\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\t\t\t\t// Else, just replace `end` with a new value.\n\t\t\t\tdata[index + 1] = codePoint + 1;\n\t\t\t\treturn data;\n\t\t\t}\n\t\t\tlastIndex = index;\n\t\t\tindex += 2;\n\t\t}\n\t\t// The loop has finished; add the new pair to the end of the data set.\n\t\tdata.push(codePoint, codePoint + 1);\n\t\treturn data;\n\t};\n\n\tvar dataAddData = function(dataA, dataB) {\n\t\t// Iterate over the data per `(start, end)` pair.\n\t\tvar index = 0;\n\t\tvar start;\n\t\tvar end;\n\t\tvar data = dataA.slice();\n\t\tvar length = dataB.length;\n\t\twhile (index < length) {\n\t\t\tstart = dataB[index];\n\t\t\tend = dataB[index + 1] - 1;\n\t\t\tif (start == end) {\n\t\t\t\tdata = dataAdd(data, start);\n\t\t\t} else {\n\t\t\t\tdata = dataAddRange(data, start, end);\n\t\t\t}\n\t\t\tindex += 2;\n\t\t}\n\t\treturn data;\n\t};\n\n\tvar dataRemoveData = function(dataA, dataB) {\n\t\t// Iterate over the data per `(start, end)` pair.\n\t\tvar index = 0;\n\t\tvar start;\n\t\tvar end;\n\t\tvar data = dataA.slice();\n\t\tvar length = dataB.length;\n\t\twhile (index < length) {\n\t\t\tstart = dataB[index];\n\t\t\tend = dataB[index + 1] - 1;\n\t\t\tif (start == end) {\n\t\t\t\tdata = dataRemove(data, start);\n\t\t\t} else {\n\t\t\t\tdata = dataRemoveRange(data, start, end);\n\t\t\t}\n\t\t\tindex += 2;\n\t\t}\n\t\treturn data;\n\t};\n\n\tvar dataAddRange = function(data, rangeStart, rangeEnd) {\n\t\tif (rangeEnd < rangeStart) {\n\t\t\tthrow Error(ERRORS.rangeOrder);\n\t\t}\n\t\tif (\n\t\t\trangeStart < 0x0 || rangeStart > 0x10FFFF ||\n\t\t\trangeEnd < 0x0 || rangeEnd > 0x10FFFF\n\t\t) {\n\t\t\tthrow RangeError(ERRORS.codePointRange);\n\t\t}\n\t\t// Iterate over the data per `(start, end)` pair.\n\t\tvar index = 0;\n\t\tvar start;\n\t\tvar end;\n\t\tvar added = false;\n\t\tvar length = data.length;\n\t\twhile (index < length) {\n\t\t\tstart = data[index];\n\t\t\tend = data[index + 1];\n\n\t\t\tif (added) {\n\t\t\t\t// The range has already been added to the set; at this point, we just\n\t\t\t\t// need to get rid of the following ranges in case they overlap.\n\n\t\t\t\t// Check if this range can be combined with the previous range.\n\t\t\t\tif (start == rangeEnd + 1) {\n\t\t\t\t\tdata.splice(index - 1, 2);\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Exit as soon as no more possibly overlapping pairs can be found.\n\t\t\t\tif (start > rangeEnd) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// E.g. `[0, 11, 12, 16]` and we’ve added 5-15, so we now have\n\t\t\t\t// `[0, 16, 12, 16]`. Remove the `12,16` part, as it lies within the\n\t\t\t\t// `0,16` range that was previously added.\n\t\t\t\tif (start >= rangeStart && start <= rangeEnd) {\n\t\t\t\t\t// `start` lies within the range that was previously added.\n\n\t\t\t\t\tif (end > rangeStart && end - 1 <= rangeEnd) {\n\t\t\t\t\t\t// `end` lies within the range that was previously added as well,\n\t\t\t\t\t\t// so remove this pair.\n\t\t\t\t\t\tdata.splice(index, 2);\n\t\t\t\t\t\tindex -= 2;\n\t\t\t\t\t\t// Note: we cannot `return` just yet, as there may still be other\n\t\t\t\t\t\t// overlapping pairs.\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// `start` lies within the range that was previously added, but\n\t\t\t\t\t\t// `end` doesn’t. E.g. `[0, 11, 12, 31]` and we’ve added 5-15, so\n\t\t\t\t\t\t// now we have `[0, 16, 12, 31]`. This must be written as `[0, 31]`.\n\t\t\t\t\t\t// Remove the previously added `end` and the current `start`.\n\t\t\t\t\t\tdata.splice(index - 1, 2);\n\t\t\t\t\t\tindex -= 2;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Note: we cannot return yet.\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\telse if (start == rangeEnd + 1 || start == rangeEnd) {\n\t\t\t\tdata[index] = rangeStart;\n\t\t\t\treturn data;\n\t\t\t}\n\n\t\t\t// Check if a new pair must be inserted *before* the current one.\n\t\t\telse if (start > rangeEnd) {\n\t\t\t\tdata.splice(index, 0, rangeStart, rangeEnd + 1);\n\t\t\t\treturn data;\n\t\t\t}\n\n\t\t\telse if (rangeStart >= start && rangeStart < end && rangeEnd + 1 <= end) {\n\t\t\t\t// The new range lies entirely within an existing range pair. No action\n\t\t\t\t// needed.\n\t\t\t\treturn data;\n\t\t\t}\n\n\t\t\telse if (\n\t\t\t\t// E.g. `[0, 11]` and you add 5-15 → `[0, 16]`.\n\t\t\t\t(rangeStart >= start && rangeStart < end) ||\n\t\t\t\t// E.g. `[0, 3]` and you add 3-6 → `[0, 7]`.\n\t\t\t\tend == rangeStart\n\t\t\t) {\n\t\t\t\t// Replace `end` with the new value.\n\t\t\t\tdata[index + 1] = rangeEnd + 1;\n\t\t\t\t// Make sure the next range pair doesn’t overlap, e.g. `[0, 11, 12, 14]`\n\t\t\t\t// and you add 5-15 → `[0, 16]`, i.e. remove the `12,14` part.\n\t\t\t\tadded = true;\n\t\t\t\t// Note: we cannot `return` just yet.\n\t\t\t}\n\n\t\t\telse if (rangeStart <= start && rangeEnd + 1 >= end) {\n\t\t\t\t// The new range is a superset of the old range.\n\t\t\t\tdata[index] = rangeStart;\n\t\t\t\tdata[index + 1] = rangeEnd + 1;\n\t\t\t\tadded = true;\n\t\t\t}\n\n\t\t\tindex += 2;\n\t\t}\n\t\t// The loop has finished without doing anything; add the new pair to the end\n\t\t// of the data set.\n\t\tif (!added) {\n\t\t\tdata.push(rangeStart, rangeEnd + 1);\n\t\t}\n\t\treturn data;\n\t};\n\n\tvar dataContains = function(data, codePoint) {\n\t\tvar index = 0;\n\t\tvar length = data.length;\n\t\t// Exit early if `codePoint` is not within `data`’s overall range.\n\t\tvar start = data[index];\n\t\tvar end = data[length - 1];\n\t\tif (length >= 2) {\n\t\t\tif (codePoint < start || codePoint > end) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\t// Iterate over the data per `(start, end)` pair.\n\t\twhile (index < length) {\n\t\t\tstart = data[index];\n\t\t\tend = data[index + 1];\n\t\t\tif (codePoint >= start && codePoint < end) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tindex += 2;\n\t\t}\n\t\treturn false;\n\t};\n\n\tvar dataIntersection = function(data, codePoints) {\n\t\tvar index = 0;\n\t\tvar length = codePoints.length;\n\t\tvar codePoint;\n\t\tvar result = [];\n\t\twhile (index < length) {\n\t\t\tcodePoint = codePoints[index];\n\t\t\tif (dataContains(data, codePoint)) {\n\t\t\t\tresult.push(codePoint);\n\t\t\t}\n\t\t\t++index;\n\t\t}\n\t\treturn dataFromCodePoints(result);\n\t};\n\n\tvar dataIsEmpty = function(data) {\n\t\treturn !data.length;\n\t};\n\n\tvar dataIsSingleton = function(data) {\n\t\t// Check if the set only represents a single code point.\n\t\treturn data.length == 2 && data[0] + 1 == data[1];\n\t};\n\n\tvar dataToArray = function(data) {\n\t\t// Iterate over the data per `(start, end)` pair.\n\t\tvar index = 0;\n\t\tvar start;\n\t\tvar end;\n\t\tvar result = [];\n\t\tvar length = data.length;\n\t\twhile (index < length) {\n\t\t\tstart = data[index];\n\t\t\tend = data[index + 1];\n\t\t\twhile (start < end) {\n\t\t\t\tresult.push(start);\n\t\t\t\t++start;\n\t\t\t}\n\t\t\tindex += 2;\n\t\t}\n\t\treturn result;\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\t// https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\tvar floor = Math.floor;\n\tvar highSurrogate = function(codePoint) {\n\t\treturn parseInt(\n\t\t\tfloor((codePoint - 0x10000) / 0x400) + HIGH_SURROGATE_MIN,\n\t\t\t10\n\t\t);\n\t};\n\n\tvar lowSurrogate = function(codePoint) {\n\t\treturn parseInt(\n\t\t\t(codePoint - 0x10000) % 0x400 + LOW_SURROGATE_MIN,\n\t\t\t10\n\t\t);\n\t};\n\n\tvar stringFromCharCode = String.fromCharCode;\n\tvar codePointToString = function(codePoint) {\n\t\tvar string;\n\t\t// https://mathiasbynens.be/notes/javascript-escapes#single\n\t\t// Note: the `\\b` escape sequence for U+0008 BACKSPACE in strings has a\n\t\t// different meaning in regular expressions (word boundary), so it cannot\n\t\t// be used here.\n\t\tif (codePoint == 0x09) {\n\t\t\tstring = '\\\\t';\n\t\t}\n\t\t// Note: IE < 9 treats `'\\v'` as `'v'`, so avoid using it.\n\t\t// else if (codePoint == 0x0B) {\n\t\t// \tstring = '\\\\v';\n\t\t// }\n\t\telse if (codePoint == 0x0A) {\n\t\t\tstring = '\\\\n';\n\t\t}\n\t\telse if (codePoint == 0x0C) {\n\t\t\tstring = '\\\\f';\n\t\t}\n\t\telse if (codePoint == 0x0D) {\n\t\t\tstring = '\\\\r';\n\t\t}\n\t\telse if (codePoint == 0x2D) {\n\t\t\t// https://mathiasbynens.be/notes/javascript-escapes#hexadecimal\n\t\t\t// Note: `-` (U+002D HYPHEN-MINUS) is escaped in this way rather\n\t\t\t// than by backslash-escaping, in case the output is used outside\n\t\t\t// of a character class in a `u` RegExp. /\\-/u throws, but\n\t\t\t// /\\x2D/u is fine.\n\t\t\tstring = '\\\\x2D';\n\t\t}\n\t\telse if (codePoint == 0x5C) {\n\t\t\tstring = '\\\\\\\\';\n\t\t}\n\t\telse if (\n\t\t\tcodePoint == 0x24 ||\n\t\t\t(codePoint >= 0x28 && codePoint <= 0x2B) ||\n\t\t\tcodePoint == 0x2E || codePoint == 0x2F ||\n\t\t\tcodePoint == 0x3F ||\n\t\t\t(codePoint >= 0x5B && codePoint <= 0x5E) ||\n\t\t\t(codePoint >= 0x7B && codePoint <= 0x7D)\n\t\t) {\n\t\t\t// The code point maps to an unsafe printable ASCII character;\n\t\t\t// backslash-escape it. Here’s the list of those symbols:\n\t\t\t//\n\t\t\t// $()*+./?[\\]^{|}\n\t\t\t//\n\t\t\t// This matches SyntaxCharacters as well as `/` (U+002F SOLIDUS).\n\t\t\t// https://tc39.github.io/ecma262/#prod-SyntaxCharacter\n\t\t\tstring = '\\\\' + stringFromCharCode(codePoint);\n\t\t}\n\t\telse if (codePoint >= 0x20 && codePoint <= 0x7E) {\n\t\t\t// The code point maps to one of these printable ASCII symbols\n\t\t\t// (including the space character):\n\t\t\t//\n\t\t\t// !\"#%&',/0123456789:;<=>@ABCDEFGHIJKLMNO\n\t\t\t// PQRSTUVWXYZ_`abcdefghijklmnopqrstuvwxyz~\n\t\t\t//\n\t\t\t// These can safely be used directly.\n\t\t\tstring = stringFromCharCode(codePoint);\n\t\t}\n\t\telse if (codePoint <= 0xFF) {\n\t\t\tstring = '\\\\x' + pad(hex(codePoint), 2);\n\t\t}\n\t\telse { // `codePoint <= 0xFFFF` holds true.\n\t\t\t// https://mathiasbynens.be/notes/javascript-escapes#unicode\n\t\t\tstring = '\\\\u' + pad(hex(codePoint), 4);\n\t\t}\n\n\t\t// There’s no need to account for astral symbols / surrogate pairs here,\n\t\t// since `codePointToString` is private and only used for BMP code points.\n\t\t// But if that’s what you need, just add an `else` block with this code:\n\t\t//\n\t\t// string = '\\\\u' + pad(hex(highSurrogate(codePoint)), 4)\n\t\t// \t+ '\\\\u' + pad(hex(lowSurrogate(codePoint)), 4);\n\n\t\treturn string;\n\t};\n\n\tvar codePointToStringUnicode = function(codePoint) {\n\t\tif (codePoint <= 0xFFFF) {\n\t\t\treturn codePointToString(codePoint);\n\t\t}\n\t\treturn '\\\\u{' + codePoint.toString(16).toUpperCase() + '}';\n\t};\n\n\tvar symbolToCodePoint = function(symbol) {\n\t\tvar length = symbol.length;\n\t\tvar first = symbol.charCodeAt(0);\n\t\tvar second;\n\t\tif (\n\t\t\tfirst >= HIGH_SURROGATE_MIN && first <= HIGH_SURROGATE_MAX &&\n\t\t\tlength > 1 // There is a next code unit.\n\t\t) {\n\t\t\t// `first` is a high surrogate, and there is a next character. Assume\n\t\t\t// it’s a low surrogate (else it’s invalid usage of Regenerate anyway).\n\t\t\tsecond = symbol.charCodeAt(1);\n\t\t\t// https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\t\t\treturn (first - HIGH_SURROGATE_MIN) * 0x400 +\n\t\t\t\tsecond - LOW_SURROGATE_MIN + 0x10000;\n\t\t}\n\t\treturn first;\n\t};\n\n\tvar createBMPCharacterClasses = function(data) {\n\t\t// Iterate over the data per `(start, end)` pair.\n\t\tvar result = '';\n\t\tvar index = 0;\n\t\tvar start;\n\t\tvar end;\n\t\tvar length = data.length;\n\t\tif (dataIsSingleton(data)) {\n\t\t\treturn codePointToString(data[0]);\n\t\t}\n\t\twhile (index < length) {\n\t\t\tstart = data[index];\n\t\t\tend = data[index + 1] - 1; // Note: the `- 1` makes `end` inclusive.\n\t\t\tif (start == end) {\n\t\t\t\tresult += codePointToString(start);\n\t\t\t} else if (start + 1 == end) {\n\t\t\t\tresult += codePointToString(start) + codePointToString(end);\n\t\t\t} else {\n\t\t\t\tresult += codePointToString(start) + '-' + codePointToString(end);\n\t\t\t}\n\t\t\tindex += 2;\n\t\t}\n\t\treturn '[' + result + ']';\n\t};\n\n\tvar createUnicodeCharacterClasses = function(data) {\n\t\t// Iterate over the data per `(start, end)` pair.\n\t\tvar result = '';\n\t\tvar index = 0;\n\t\tvar start;\n\t\tvar end;\n\t\tvar length = data.length;\n\t\tif (dataIsSingleton(data)) {\n\t\t\treturn codePointToStringUnicode(data[0]);\n\t\t}\n\t\twhile (index < length) {\n\t\t\tstart = data[index];\n\t\t\tend = data[index + 1] - 1; // Note: the `- 1` makes `end` inclusive.\n\t\t\tif (start == end) {\n\t\t\t\tresult += codePointToStringUnicode(start);\n\t\t\t} else if (start + 1 == end) {\n\t\t\t\tresult += codePointToStringUnicode(start) + codePointToStringUnicode(end);\n\t\t\t} else {\n\t\t\t\tresult += codePointToStringUnicode(start) + '-' + codePointToStringUnicode(end);\n\t\t\t}\n\t\t\tindex += 2;\n\t\t}\n\t\treturn '[' + result + ']';\n\t};\n\n\tvar splitAtBMP = function(data) {\n\t\t// Iterate over the data per `(start, end)` pair.\n\t\tvar loneHighSurrogates = [];\n\t\tvar loneLowSurrogates = [];\n\t\tvar bmp = [];\n\t\tvar astral = [];\n\t\tvar index = 0;\n\t\tvar start;\n\t\tvar end;\n\t\tvar length = data.length;\n\t\twhile (index < length) {\n\t\t\tstart = data[index];\n\t\t\tend = data[index + 1] - 1; // Note: the `- 1` makes `end` inclusive.\n\n\t\t\tif (start < HIGH_SURROGATE_MIN) {\n\n\t\t\t\t// The range starts and ends before the high surrogate range.\n\t\t\t\t// E.g. (0, 0x10).\n\t\t\t\tif (end < HIGH_SURROGATE_MIN) {\n\t\t\t\t\tbmp.push(start, end + 1);\n\t\t\t\t}\n\n\t\t\t\t// The range starts before the high surrogate range and ends within it.\n\t\t\t\t// E.g. (0, 0xD855).\n\t\t\t\tif (end >= HIGH_SURROGATE_MIN && end <= HIGH_SURROGATE_MAX) {\n\t\t\t\t\tbmp.push(start, HIGH_SURROGATE_MIN);\n\t\t\t\t\tloneHighSurrogates.push(HIGH_SURROGATE_MIN, end + 1);\n\t\t\t\t}\n\n\t\t\t\t// The range starts before the high surrogate range and ends in the low\n\t\t\t\t// surrogate range. E.g. (0, 0xDCFF).\n\t\t\t\tif (end >= LOW_SURROGATE_MIN && end <= LOW_SURROGATE_MAX) {\n\t\t\t\t\tbmp.push(start, HIGH_SURROGATE_MIN);\n\t\t\t\t\tloneHighSurrogates.push(HIGH_SURROGATE_MIN, HIGH_SURROGATE_MAX + 1);\n\t\t\t\t\tloneLowSurrogates.push(LOW_SURROGATE_MIN, end + 1);\n\t\t\t\t}\n\n\t\t\t\t// The range starts before the high surrogate range and ends after the\n\t\t\t\t// low surrogate range. E.g. (0, 0x10FFFF).\n\t\t\t\tif (end > LOW_SURROGATE_MAX) {\n\t\t\t\t\tbmp.push(start, HIGH_SURROGATE_MIN);\n\t\t\t\t\tloneHighSurrogates.push(HIGH_SURROGATE_MIN, HIGH_SURROGATE_MAX + 1);\n\t\t\t\t\tloneLowSurrogates.push(LOW_SURROGATE_MIN, LOW_SURROGATE_MAX + 1);\n\t\t\t\t\tif (end <= 0xFFFF) {\n\t\t\t\t\t\tbmp.push(LOW_SURROGATE_MAX + 1, end + 1);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbmp.push(LOW_SURROGATE_MAX + 1, 0xFFFF + 1);\n\t\t\t\t\t\tastral.push(0xFFFF + 1, end + 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t} else if (start >= HIGH_SURROGATE_MIN && start <= HIGH_SURROGATE_MAX) {\n\n\t\t\t\t// The range starts and ends in the high surrogate range.\n\t\t\t\t// E.g. (0xD855, 0xD866).\n\t\t\t\tif (end >= HIGH_SURROGATE_MIN && end <= HIGH_SURROGATE_MAX) {\n\t\t\t\t\tloneHighSurrogates.push(start, end + 1);\n\t\t\t\t}\n\n\t\t\t\t// The range starts in the high surrogate range and ends in the low\n\t\t\t\t// surrogate range. E.g. (0xD855, 0xDCFF).\n\t\t\t\tif (end >= LOW_SURROGATE_MIN && end <= LOW_SURROGATE_MAX) {\n\t\t\t\t\tloneHighSurrogates.push(start, HIGH_SURROGATE_MAX + 1);\n\t\t\t\t\tloneLowSurrogates.push(LOW_SURROGATE_MIN, end + 1);\n\t\t\t\t}\n\n\t\t\t\t// The range starts in the high surrogate range and ends after the low\n\t\t\t\t// surrogate range. E.g. (0xD855, 0x10FFFF).\n\t\t\t\tif (end > LOW_SURROGATE_MAX) {\n\t\t\t\t\tloneHighSurrogates.push(start, HIGH_SURROGATE_MAX + 1);\n\t\t\t\t\tloneLowSurrogates.push(LOW_SURROGATE_MIN, LOW_SURROGATE_MAX + 1);\n\t\t\t\t\tif (end <= 0xFFFF) {\n\t\t\t\t\t\tbmp.push(LOW_SURROGATE_MAX + 1, end + 1);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbmp.push(LOW_SURROGATE_MAX + 1, 0xFFFF + 1);\n\t\t\t\t\t\tastral.push(0xFFFF + 1, end + 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t} else if (start >= LOW_SURROGATE_MIN && start <= LOW_SURROGATE_MAX) {\n\n\t\t\t\t// The range starts and ends in the low surrogate range.\n\t\t\t\t// E.g. (0xDCFF, 0xDDFF).\n\t\t\t\tif (end >= LOW_SURROGATE_MIN && end <= LOW_SURROGATE_MAX) {\n\t\t\t\t\tloneLowSurrogates.push(start, end + 1);\n\t\t\t\t}\n\n\t\t\t\t// The range starts in the low surrogate range and ends after the low\n\t\t\t\t// surrogate range. E.g. (0xDCFF, 0x10FFFF).\n\t\t\t\tif (end > LOW_SURROGATE_MAX) {\n\t\t\t\t\tloneLowSurrogates.push(start, LOW_SURROGATE_MAX + 1);\n\t\t\t\t\tif (end <= 0xFFFF) {\n\t\t\t\t\t\tbmp.push(LOW_SURROGATE_MAX + 1, end + 1);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbmp.push(LOW_SURROGATE_MAX + 1, 0xFFFF + 1);\n\t\t\t\t\t\tastral.push(0xFFFF + 1, end + 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t} else if (start > LOW_SURROGATE_MAX && start <= 0xFFFF) {\n\n\t\t\t\t// The range starts and ends after the low surrogate range.\n\t\t\t\t// E.g. (0xFFAA, 0x10FFFF).\n\t\t\t\tif (end <= 0xFFFF) {\n\t\t\t\t\tbmp.push(start, end + 1);\n\t\t\t\t} else {\n\t\t\t\t\tbmp.push(start, 0xFFFF + 1);\n\t\t\t\t\tastral.push(0xFFFF + 1, end + 1);\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\t// The range starts and ends in the astral range.\n\t\t\t\tastral.push(start, end + 1);\n\n\t\t\t}\n\n\t\t\tindex += 2;\n\t\t}\n\t\treturn {\n\t\t\t'loneHighSurrogates': loneHighSurrogates,\n\t\t\t'loneLowSurrogates': loneLowSurrogates,\n\t\t\t'bmp': bmp,\n\t\t\t'astral': astral\n\t\t};\n\t};\n\n\tvar optimizeSurrogateMappings = function(surrogateMappings) {\n\t\tvar result = [];\n\t\tvar tmpLow = [];\n\t\tvar addLow = false;\n\t\tvar mapping;\n\t\tvar nextMapping;\n\t\tvar highSurrogates;\n\t\tvar lowSurrogates;\n\t\tvar nextHighSurrogates;\n\t\tvar nextLowSurrogates;\n\t\tvar index = -1;\n\t\tvar length = surrogateMappings.length;\n\t\twhile (++index < length) {\n\t\t\tmapping = surrogateMappings[index];\n\t\t\tnextMapping = surrogateMappings[index + 1];\n\t\t\tif (!nextMapping) {\n\t\t\t\tresult.push(mapping);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\thighSurrogates = mapping[0];\n\t\t\tlowSurrogates = mapping[1];\n\t\t\tnextHighSurrogates = nextMapping[0];\n\t\t\tnextLowSurrogates = nextMapping[1];\n\n\t\t\t// Check for identical high surrogate ranges.\n\t\t\ttmpLow = lowSurrogates;\n\t\t\twhile (\n\t\t\t\tnextHighSurrogates &&\n\t\t\t\thighSurrogates[0] == nextHighSurrogates[0] &&\n\t\t\t\thighSurrogates[1] == nextHighSurrogates[1]\n\t\t\t) {\n\t\t\t\t// Merge with the next item.\n\t\t\t\tif (dataIsSingleton(nextLowSurrogates)) {\n\t\t\t\t\ttmpLow = dataAdd(tmpLow, nextLowSurrogates[0]);\n\t\t\t\t} else {\n\t\t\t\t\ttmpLow = dataAddRange(\n\t\t\t\t\t\ttmpLow,\n\t\t\t\t\t\tnextLowSurrogates[0],\n\t\t\t\t\t\tnextLowSurrogates[1] - 1\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t++index;\n\t\t\t\tmapping = surrogateMappings[index];\n\t\t\t\thighSurrogates = mapping[0];\n\t\t\t\tlowSurrogates = mapping[1];\n\t\t\t\tnextMapping = surrogateMappings[index + 1];\n\t\t\t\tnextHighSurrogates = nextMapping && nextMapping[0];\n\t\t\t\tnextLowSurrogates = nextMapping && nextMapping[1];\n\t\t\t\taddLow = true;\n\t\t\t}\n\t\t\tresult.push([\n\t\t\t\thighSurrogates,\n\t\t\t\taddLow ? tmpLow : lowSurrogates\n\t\t\t]);\n\t\t\taddLow = false;\n\t\t}\n\t\treturn optimizeByLowSurrogates(result);\n\t};\n\n\tvar optimizeByLowSurrogates = function(surrogateMappings) {\n\t\tif (surrogateMappings.length == 1) {\n\t\t\treturn surrogateMappings;\n\t\t}\n\t\tvar index = -1;\n\t\tvar innerIndex = -1;\n\t\twhile (++index < surrogateMappings.length) {\n\t\t\tvar mapping = surrogateMappings[index];\n\t\t\tvar lowSurrogates = mapping[1];\n\t\t\tvar lowSurrogateStart = lowSurrogates[0];\n\t\t\tvar lowSurrogateEnd = lowSurrogates[1];\n\t\t\tinnerIndex = index; // Note: the loop starts at the next index.\n\t\t\twhile (++innerIndex < surrogateMappings.length) {\n\t\t\t\tvar otherMapping = surrogateMappings[innerIndex];\n\t\t\t\tvar otherLowSurrogates = otherMapping[1];\n\t\t\t\tvar otherLowSurrogateStart = otherLowSurrogates[0];\n\t\t\t\tvar otherLowSurrogateEnd = otherLowSurrogates[1];\n\t\t\t\tif (\n\t\t\t\t\tlowSurrogateStart == otherLowSurrogateStart &&\n\t\t\t\t\tlowSurrogateEnd == otherLowSurrogateEnd &&\n\t\t\t\t\totherLowSurrogates.length === 2\n\t\t\t\t) {\n\t\t\t\t\t// Add the code points in the other item to this one.\n\t\t\t\t\tif (dataIsSingleton(otherMapping[0])) {\n\t\t\t\t\t\tmapping[0] = dataAdd(mapping[0], otherMapping[0][0]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmapping[0] = dataAddRange(\n\t\t\t\t\t\t\tmapping[0],\n\t\t\t\t\t\t\totherMapping[0][0],\n\t\t\t\t\t\t\totherMapping[0][1] - 1\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// Remove the other, now redundant, item.\n\t\t\t\t\tsurrogateMappings.splice(innerIndex, 1);\n\t\t\t\t\t--innerIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn surrogateMappings;\n\t};\n\n\tvar surrogateSet = function(data) {\n\t\t// Exit early if `data` is an empty set.\n\t\tif (!data.length) {\n\t\t\treturn [];\n\t\t}\n\n\t\t// Iterate over the data per `(start, end)` pair.\n\t\tvar index = 0;\n\t\tvar start;\n\t\tvar end;\n\t\tvar startHigh;\n\t\tvar startLow;\n\t\tvar endHigh;\n\t\tvar endLow;\n\t\tvar surrogateMappings = [];\n\t\tvar length = data.length;\n\t\twhile (index < length) {\n\t\t\tstart = data[index];\n\t\t\tend = data[index + 1] - 1;\n\n\t\t\tstartHigh = highSurrogate(start);\n\t\t\tstartLow = lowSurrogate(start);\n\t\t\tendHigh = highSurrogate(end);\n\t\t\tendLow = lowSurrogate(end);\n\n\t\t\tvar startsWithLowestLowSurrogate = startLow == LOW_SURROGATE_MIN;\n\t\t\tvar endsWithHighestLowSurrogate = endLow == LOW_SURROGATE_MAX;\n\t\t\tvar complete = false;\n\n\t\t\t// Append the previous high-surrogate-to-low-surrogate mappings.\n\t\t\t// Step 1: `(startHigh, startLow)` to `(startHigh, LOW_SURROGATE_MAX)`.\n\t\t\tif (\n\t\t\t\tstartHigh == endHigh ||\n\t\t\t\tstartsWithLowestLowSurrogate && endsWithHighestLowSurrogate\n\t\t\t) {\n\t\t\t\tsurrogateMappings.push([\n\t\t\t\t\t[startHigh, endHigh + 1],\n\t\t\t\t\t[startLow, endLow + 1]\n\t\t\t\t]);\n\t\t\t\tcomplete = true;\n\t\t\t} else {\n\t\t\t\tsurrogateMappings.push([\n\t\t\t\t\t[startHigh, startHigh + 1],\n\t\t\t\t\t[startLow, LOW_SURROGATE_MAX + 1]\n\t\t\t\t]);\n\t\t\t}\n\n\t\t\t// Step 2: `(startHigh + 1, LOW_SURROGATE_MIN)` to\n\t\t\t// `(endHigh - 1, LOW_SURROGATE_MAX)`.\n\t\t\tif (!complete && startHigh + 1 < endHigh) {\n\t\t\t\tif (endsWithHighestLowSurrogate) {\n\t\t\t\t\t// Combine step 2 and step 3.\n\t\t\t\t\tsurrogateMappings.push([\n\t\t\t\t\t\t[startHigh + 1, endHigh + 1],\n\t\t\t\t\t\t[LOW_SURROGATE_MIN, endLow + 1]\n\t\t\t\t\t]);\n\t\t\t\t\tcomplete = true;\n\t\t\t\t} else {\n\t\t\t\t\tsurrogateMappings.push([\n\t\t\t\t\t\t[startHigh + 1, endHigh],\n\t\t\t\t\t\t[LOW_SURROGATE_MIN, LOW_SURROGATE_MAX + 1]\n\t\t\t\t\t]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Step 3. `(endHigh, LOW_SURROGATE_MIN)` to `(endHigh, endLow)`.\n\t\t\tif (!complete) {\n\t\t\t\tsurrogateMappings.push([\n\t\t\t\t\t[endHigh, endHigh + 1],\n\t\t\t\t\t[LOW_SURROGATE_MIN, endLow + 1]\n\t\t\t\t]);\n\t\t\t}\n\n\t\t\tindex += 2;\n\t\t}\n\n\t\t// The format of `surrogateMappings` is as follows:\n\t\t//\n\t\t// [ surrogateMapping1, surrogateMapping2 ]\n\t\t//\n\t\t// i.e.:\n\t\t//\n\t\t// [\n\t\t// [ highSurrogates1, lowSurrogates1 ],\n\t\t// [ highSurrogates2, lowSurrogates2 ]\n\t\t// ]\n\t\treturn optimizeSurrogateMappings(surrogateMappings);\n\t};\n\n\tvar createSurrogateCharacterClasses = function(surrogateMappings) {\n\t\tvar result = [];\n\t\tforEach(surrogateMappings, function(surrogateMapping) {\n\t\t\tvar highSurrogates = surrogateMapping[0];\n\t\t\tvar lowSurrogates = surrogateMapping[1];\n\t\t\tresult.push(\n\t\t\t\tcreateBMPCharacterClasses(highSurrogates) +\n\t\t\t\tcreateBMPCharacterClasses(lowSurrogates)\n\t\t\t);\n\t\t});\n\t\treturn result.join('|');\n\t};\n\n\tvar createCharacterClassesFromData = function(data, bmpOnly, hasUnicodeFlag) {\n\t\tif (hasUnicodeFlag) {\n\t\t\treturn createUnicodeCharacterClasses(data);\n\t\t}\n\t\tvar result = [];\n\n\t\tvar parts = splitAtBMP(data);\n\t\tvar loneHighSurrogates = parts.loneHighSurrogates;\n\t\tvar loneLowSurrogates = parts.loneLowSurrogates;\n\t\tvar bmp = parts.bmp;\n\t\tvar astral = parts.astral;\n\t\tvar hasLoneHighSurrogates = !dataIsEmpty(loneHighSurrogates);\n\t\tvar hasLoneLowSurrogates = !dataIsEmpty(loneLowSurrogates);\n\n\t\tvar surrogateMappings = surrogateSet(astral);\n\n\t\tif (bmpOnly) {\n\t\t\tbmp = dataAddData(bmp, loneHighSurrogates);\n\t\t\thasLoneHighSurrogates = false;\n\t\t\tbmp = dataAddData(bmp, loneLowSurrogates);\n\t\t\thasLoneLowSurrogates = false;\n\t\t}\n\n\t\tif (!dataIsEmpty(bmp)) {\n\t\t\t// The data set contains BMP code points that are not high surrogates\n\t\t\t// needed for astral code points in the set.\n\t\t\tresult.push(createBMPCharacterClasses(bmp));\n\t\t}\n\t\tif (surrogateMappings.length) {\n\t\t\t// The data set contains astral code points; append character classes\n\t\t\t// based on their surrogate pairs.\n\t\t\tresult.push(createSurrogateCharacterClasses(surrogateMappings));\n\t\t}\n\t\t// https://gist.github.com/mathiasbynens/bbe7f870208abcfec860\n\t\tif (hasLoneHighSurrogates) {\n\t\t\tresult.push(\n\t\t\t\tcreateBMPCharacterClasses(loneHighSurrogates) +\n\t\t\t\t// Make sure the high surrogates aren’t part of a surrogate pair.\n\t\t\t\t'(?![\\\\uDC00-\\\\uDFFF])'\n\t\t\t);\n\t\t}\n\t\tif (hasLoneLowSurrogates) {\n\t\t\tresult.push(\n\t\t\t\t// It is not possible to accurately assert the low surrogates aren’t\n\t\t\t\t// part of a surrogate pair, since JavaScript regular expressions do\n\t\t\t\t// not support lookbehind.\n\t\t\t\t'(?:[^\\\\uD800-\\\\uDBFF]|^)' +\n\t\t\t\tcreateBMPCharacterClasses(loneLowSurrogates)\n\t\t\t);\n\t\t}\n\t\treturn result.join('|');\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\t// `regenerate` can be used as a constructor (and new methods can be added to\n\t// its prototype) but also as a regular function, the latter of which is the\n\t// documented and most common usage. For that reason, it’s not capitalized.\n\tvar regenerate = function(value) {\n\t\tif (arguments.length > 1) {\n\t\t\tvalue = slice.call(arguments);\n\t\t}\n\t\tif (this instanceof regenerate) {\n\t\t\tthis.data = [];\n\t\t\treturn value ? this.add(value) : this;\n\t\t}\n\t\treturn (new regenerate).add(value);\n\t};\n\n\tregenerate.version = '1.4.2';\n\n\tvar proto = regenerate.prototype;\n\textend(proto, {\n\t\t'add': function(value) {\n\t\t\tvar $this = this;\n\t\t\tif (value == null) {\n\t\t\t\treturn $this;\n\t\t\t}\n\t\t\tif (value instanceof regenerate) {\n\t\t\t\t// Allow passing other Regenerate instances.\n\t\t\t\t$this.data = dataAddData($this.data, value.data);\n\t\t\t\treturn $this;\n\t\t\t}\n\t\t\tif (arguments.length > 1) {\n\t\t\t\tvalue = slice.call(arguments);\n\t\t\t}\n\t\t\tif (isArray(value)) {\n\t\t\t\tforEach(value, function(item) {\n\t\t\t\t\t$this.add(item);\n\t\t\t\t});\n\t\t\t\treturn $this;\n\t\t\t}\n\t\t\t$this.data = dataAdd(\n\t\t\t\t$this.data,\n\t\t\t\tisNumber(value) ? value : symbolToCodePoint(value)\n\t\t\t);\n\t\t\treturn $this;\n\t\t},\n\t\t'remove': function(value) {\n\t\t\tvar $this = this;\n\t\t\tif (value == null) {\n\t\t\t\treturn $this;\n\t\t\t}\n\t\t\tif (value instanceof regenerate) {\n\t\t\t\t// Allow passing other Regenerate instances.\n\t\t\t\t$this.data = dataRemoveData($this.data, value.data);\n\t\t\t\treturn $this;\n\t\t\t}\n\t\t\tif (arguments.length > 1) {\n\t\t\t\tvalue = slice.call(arguments);\n\t\t\t}\n\t\t\tif (isArray(value)) {\n\t\t\t\tforEach(value, function(item) {\n\t\t\t\t\t$this.remove(item);\n\t\t\t\t});\n\t\t\t\treturn $this;\n\t\t\t}\n\t\t\t$this.data = dataRemove(\n\t\t\t\t$this.data,\n\t\t\t\tisNumber(value) ? value : symbolToCodePoint(value)\n\t\t\t);\n\t\t\treturn $this;\n\t\t},\n\t\t'addRange': function(start, end) {\n\t\t\tvar $this = this;\n\t\t\t$this.data = dataAddRange($this.data,\n\t\t\t\tisNumber(start) ? start : symbolToCodePoint(start),\n\t\t\t\tisNumber(end) ? end : symbolToCodePoint(end)\n\t\t\t);\n\t\t\treturn $this;\n\t\t},\n\t\t'removeRange': function(start, end) {\n\t\t\tvar $this = this;\n\t\t\tvar startCodePoint = isNumber(start) ? start : symbolToCodePoint(start);\n\t\t\tvar endCodePoint = isNumber(end) ? end : symbolToCodePoint(end);\n\t\t\t$this.data = dataRemoveRange(\n\t\t\t\t$this.data,\n\t\t\t\tstartCodePoint,\n\t\t\t\tendCodePoint\n\t\t\t);\n\t\t\treturn $this;\n\t\t},\n\t\t'intersection': function(argument) {\n\t\t\tvar $this = this;\n\t\t\t// Allow passing other Regenerate instances.\n\t\t\t// TODO: Optimize this by writing and using `dataIntersectionData()`.\n\t\t\tvar array = argument instanceof regenerate ?\n\t\t\t\tdataToArray(argument.data) :\n\t\t\t\targument;\n\t\t\t$this.data = dataIntersection($this.data, array);\n\t\t\treturn $this;\n\t\t},\n\t\t'contains': function(codePoint) {\n\t\t\treturn dataContains(\n\t\t\t\tthis.data,\n\t\t\t\tisNumber(codePoint) ? codePoint : symbolToCodePoint(codePoint)\n\t\t\t);\n\t\t},\n\t\t'clone': function() {\n\t\t\tvar set = new regenerate;\n\t\t\tset.data = this.data.slice(0);\n\t\t\treturn set;\n\t\t},\n\t\t'toString': function(options) {\n\t\t\tvar result = createCharacterClassesFromData(\n\t\t\t\tthis.data,\n\t\t\t\toptions ? options.bmpOnly : false,\n\t\t\t\toptions ? options.hasUnicodeFlag : false\n\t\t\t);\n\t\t\tif (!result) {\n\t\t\t\t// For an empty set, return something that can be inserted `/here/` to\n\t\t\t\t// form a valid regular expression. Avoid `(?:)` since that matches the\n\t\t\t\t// empty string.\n\t\t\t\treturn '[]';\n\t\t\t}\n\t\t\t// Use `\\0` instead of `\\x00` where possible.\n\t\t\treturn result.replace(regexNull, '\\\\0$1');\n\t\t},\n\t\t'toRegExp': function(flags) {\n\t\t\tvar pattern = this.toString(\n\t\t\t\tflags && flags.indexOf('u') != -1 ?\n\t\t\t\t\t{ 'hasUnicodeFlag': true } :\n\t\t\t\t\tnull\n\t\t\t);\n\t\t\treturn RegExp(pattern, flags || '');\n\t\t},\n\t\t'valueOf': function() { // Note: `valueOf` is aliased as `toArray`.\n\t\t\treturn dataToArray(this.data);\n\t\t}\n\t});\n\n\tproto.toArray = proto.valueOf;\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn regenerate;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = regenerate;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfreeExports.regenerate = regenerate;\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.regenerate = regenerate;\n\t}\n\n}(this));\n","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x345, 0x37F, 0x386, 0x38C, 0x559, 0x5BF, 0x5C7, 0x6FF, 0x7FA, 0x9B2, 0x9CE, 0x9D7, 0x9FC, 0xA51, 0xA5E, 0xAD0, 0xB71, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xD4E, 0xDBD, 0xDD6, 0xE4D, 0xE84, 0xEA5, 0xEC6, 0xECD, 0xF00, 0x1038, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0x2E2F, 0xA7D3, 0xA8C5, 0xA8FB, 0xA9CF, 0xAAC0, 0xAAC2, 0xFB3E, 0x10808, 0x1083C, 0x10F27, 0x110C2, 0x11176, 0x111DA, 0x111DC, 0x11237, 0x11288, 0x11350, 0x11357, 0x114C7, 0x11640, 0x11644, 0x116B8, 0x11909, 0x119E1, 0x11A9D, 0x11C40, 0x11D3A, 0x11D43, 0x11D98, 0x11FB0, 0x16FE3, 0x1B132, 0x1B155, 0x1BC9E, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E08F, 0x1E14E, 0x1E947, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5B0, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x610, 0x61A).addRange(0x620, 0x657).addRange(0x659, 0x65F).addRange(0x66E, 0x6D3).addRange(0x6D5, 0x6DC).addRange(0x6E1, 0x6E8).addRange(0x6ED, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x710, 0x73F).addRange(0x74D, 0x7B1).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x817).addRange(0x81A, 0x82C).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x8D4, 0x8DF).addRange(0x8E3, 0x8E9).addRange(0x8F0, 0x93B).addRange(0x93D, 0x94C).addRange(0x94E, 0x950).addRange(0x955, 0x963).addRange(0x971, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8);\nset.addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BD, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CC).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9F0, 0x9F1).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4C).addRange(0xA59, 0xA5C).addRange(0xA70, 0xA75).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABD, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACC).addRange(0xAE0, 0xAE3).addRange(0xAF9, 0xAFC).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3D, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4C).addRange(0xB56, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A);\nset.addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCC).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3D, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4C).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC80, 0xC83).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBD, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCC).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCF1, 0xCF3).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD3D, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4C).addRange(0xD54, 0xD57).addRange(0xD5F, 0xD63).addRange(0xD7A, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDF2, 0xDF3).addRange(0xE01, 0xE3A).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A);\nset.addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB9).addRange(0xEBB, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF83).addRange(0xF88, 0xF97).addRange(0xF99, 0xFBC).addRange(0x1000, 0x1036).addRange(0x103B, 0x103F).addRange(0x1050, 0x108F).addRange(0x109A, 0x109D).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1713).addRange(0x171F, 0x1733).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17B3).addRange(0x17B6, 0x17C8).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1920, 0x192B);\nset.addRange(0x1930, 0x1938).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A1B).addRange(0x1A20, 0x1A5E).addRange(0x1A61, 0x1A74).addRange(0x1ABF, 0x1AC0).addRange(0x1ACC, 0x1ACE).addRange(0x1B00, 0x1B33).addRange(0x1B35, 0x1B43).addRange(0x1B45, 0x1B4C).addRange(0x1B80, 0x1BA9).addRange(0x1BAC, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1BE7, 0x1BF1).addRange(0x1C00, 0x1C36).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1DE7, 0x1DF4).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188);\nset.addRange(0x24B6, 0x24E9).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2DFF).addRange(0x3005, 0x3007).addRange(0x3021, 0x3029).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA674, 0xA67B).addRange(0xA67F, 0xA6EF).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA805).addRange(0xA807, 0xA827).addRange(0xA840, 0xA873).addRange(0xA880, 0xA8C3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FF).addRange(0xA90A, 0xA92A).addRange(0xA930, 0xA952).addRange(0xA960, 0xA97C);\nset.addRange(0xA980, 0xA9B2).addRange(0xA9B4, 0xA9BF).addRange(0xA9E0, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA60, 0xAA76).addRange(0xAA7A, 0xAABE).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEF).addRange(0xAAF2, 0xAAF5).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABEA).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D);\nset.addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4);\nset.addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D27).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAC).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x11045).addRange(0x11071, 0x11075).addRange(0x11080, 0x110B8).addRange(0x110D0, 0x110E8).addRange(0x11100, 0x11132).addRange(0x11144, 0x11147).addRange(0x11150, 0x11172).addRange(0x11180, 0x111BF).addRange(0x111C1, 0x111C4).addRange(0x111CE, 0x111CF).addRange(0x11200, 0x11211).addRange(0x11213, 0x11234).addRange(0x1123E, 0x11241).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112E8).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133D, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134C).addRange(0x1135D, 0x11363).addRange(0x11400, 0x11441).addRange(0x11443, 0x11445).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114C1).addRange(0x114C4, 0x114C5);\nset.addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115BE).addRange(0x115D8, 0x115DD).addRange(0x11600, 0x1163E).addRange(0x11680, 0x116B5).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172A).addRange(0x11740, 0x11746).addRange(0x11800, 0x11838).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x1193C).addRange(0x1193F, 0x11942).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119DF).addRange(0x119E3, 0x119E4).addRange(0x11A00, 0x11A32).addRange(0x11A35, 0x11A3E).addRange(0x11A50, 0x11A97).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C3E).addRange(0x11C72, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D41).addRange(0x11D46, 0x11D47).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D96).addRange(0x11EE0, 0x11EF6).addRange(0x11F00, 0x11F10).addRange(0x11F12, 0x11F3A).addRange(0x11F3E, 0x11F40).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342F);\nset.addRange(0x13441, 0x13446).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734);\nset.addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E030, 0x1E06D).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E4D0, 0x1E4EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1F130, 0x1F149).addRange(0x1F150, 0x1F169).addRange(0x1F170, 0x1F189).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2EBF0, 0x2EE5D);\nset.addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x0, 0x10FFFF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x30, 0x39).addRange(0x41, 0x46).addRange(0x61, 0x66);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x0, 0x7F);\nexports.characters = set;\n","const set = require('regenerate')(0x38C, 0x85E, 0x9B2, 0x9D7, 0xA3C, 0xA51, 0xA5E, 0xAD0, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xDBD, 0xDCA, 0xDD6, 0xE84, 0xEA5, 0xEC6, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x1940, 0x1F59, 0x1F5B, 0x1F5D, 0x2D27, 0x2D2D, 0xA7D3, 0xFB3E, 0xFDCF, 0xFEFF, 0x101A0, 0x10808, 0x1083C, 0x1093F, 0x110CD, 0x11288, 0x11350, 0x11357, 0x11909, 0x11D3A, 0x11FB0, 0x1B132, 0x1B155, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E08F, 0x1E2FF, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E, 0x1F7F0, 0xE0001);\nset.addRange(0x0, 0x377).addRange(0x37A, 0x37F).addRange(0x384, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x52F).addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0x591, 0x5C7).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0x600, 0x70D).addRange(0x70F, 0x74A).addRange(0x74D, 0x7B1).addRange(0x7C0, 0x7FA).addRange(0x7FD, 0x82D).addRange(0x830, 0x83E).addRange(0x840, 0x85B).addRange(0x860, 0x86A).addRange(0x870, 0x88E).addRange(0x890, 0x891).addRange(0x898, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9FE).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA76).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0);\nset.addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAF1).addRange(0xAF9, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB77).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBFA).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC77, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9);\nset.addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF3).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4F).addRange(0xD54, 0xD63).addRange(0xD66, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0xE01, 0xE3A).addRange(0xE3F, 0xE5B).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECE).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF00, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF97).addRange(0xF99, 0xFBC).addRange(0xFBE, 0xFCC).addRange(0xFCE, 0xFDA).addRange(0x1000, 0x10C5).addRange(0x10D0, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5);\nset.addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x137C).addRange(0x1380, 0x1399).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1400, 0x169C).addRange(0x16A0, 0x16F8).addRange(0x1700, 0x1715).addRange(0x171F, 0x1736).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17DD).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x1800, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1944, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x1A1B).addRange(0x1A1E, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B7E).addRange(0x1B80, 0x1BF3).addRange(0x1BFC, 0x1C37).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CC7).addRange(0x1CD0, 0x1CFA).addRange(0x1D00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D);\nset.addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE).addRange(0x2000, 0x2064).addRange(0x2066, 0x2071).addRange(0x2074, 0x208E).addRange(0x2090, 0x209C).addRange(0x20A0, 0x20C0).addRange(0x20D0, 0x20F0).addRange(0x2100, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2CF3).addRange(0x2CF9, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70).addRange(0x2D7F, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2E5D).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x303F).addRange(0x3041, 0x3096).addRange(0x3099, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x3190, 0x31E3).addRange(0x31EF, 0x321E).addRange(0x3220, 0xA48C).addRange(0xA490, 0xA4C6).addRange(0xA4D0, 0xA62B).addRange(0xA640, 0xA6F7).addRange(0xA700, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9);\nset.addRange(0xA7F2, 0xA82C).addRange(0xA830, 0xA839).addRange(0xA840, 0xA877).addRange(0xA880, 0xA8C5).addRange(0xA8CE, 0xA8D9).addRange(0xA8E0, 0xA953).addRange(0xA95F, 0xA97C).addRange(0xA980, 0xA9CD).addRange(0xA9CF, 0xA9D9).addRange(0xA9DE, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAAC2).addRange(0xAADB, 0xAAF6).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB6B).addRange(0xAB70, 0xABED).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xD800, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBC2).addRange(0xFBD3, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFE19).addRange(0xFE20, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF01, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFF9, 0xFFFD);\nset.addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FD).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x102E0, 0x102FB).addRange(0x10300, 0x10323).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x1039F, 0x103C3).addRange(0x103C8, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x1056F, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10857, 0x1089E).addRange(0x108A7, 0x108AF).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x1091B).addRange(0x1091F, 0x10939);\nset.addRange(0x10980, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A3F, 0x10A48).addRange(0x10A50, 0x10A58).addRange(0x10A60, 0x10A9F).addRange(0x10AC0, 0x10AE6).addRange(0x10AEB, 0x10AF6).addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B55).addRange(0x10B58, 0x10B72).addRange(0x10B78, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10D27).addRange(0x10D30, 0x10D39).addRange(0x10E60, 0x10E7E).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAD).addRange(0x10EB0, 0x10EB1).addRange(0x10EFD, 0x10F27).addRange(0x10F30, 0x10F59).addRange(0x10F70, 0x10F89).addRange(0x10FB0, 0x10FCB).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x1104D).addRange(0x11052, 0x11075).addRange(0x1107F, 0x110C2).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11100, 0x11134).addRange(0x11136, 0x11147).addRange(0x11150, 0x11176).addRange(0x11180, 0x111DF).addRange(0x111E1, 0x111F4).addRange(0x11200, 0x11211).addRange(0x11213, 0x11241).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9).addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9);\nset.addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11400, 0x1145B).addRange(0x1145D, 0x11461).addRange(0x11480, 0x114C7).addRange(0x114D0, 0x114D9).addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115DD).addRange(0x11600, 0x11644).addRange(0x11650, 0x11659).addRange(0x11660, 0x1166C).addRange(0x11680, 0x116B9).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11746).addRange(0x11800, 0x1183B).addRange(0x118A0, 0x118F2).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11946).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E4).addRange(0x11A00, 0x11A47).addRange(0x11A50, 0x11AA2).addRange(0x11AB0, 0x11AF8).addRange(0x11B00, 0x11B09).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C45).addRange(0x11C50, 0x11C6C).addRange(0x11C70, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D00, 0x11D06);\nset.addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF8).addRange(0x11F00, 0x11F10).addRange(0x11F12, 0x11F3A).addRange(0x11F3E, 0x11F59).addRange(0x11FC0, 0x11FF1).addRange(0x11FFF, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF2).addRange(0x13000, 0x13455).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF5).addRange(0x16B00, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E9A).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE4).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB);\nset.addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9C, 0x1BCA3).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D1EA).addRange(0x1D200, 0x1D245).addRange(0x1D2C0, 0x1D2D3).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D360, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1DA8B).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E030, 0x1E06D).addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F).addRange(0x1E290, 0x1E2AE).addRange(0x1E2C0, 0x1E2F9).addRange(0x1E4D0, 0x1E4F9);\nset.addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E8C7, 0x1E8D6).addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F).addRange(0x1EC71, 0x1ECB4).addRange(0x1ED01, 0x1ED3D).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DC, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F776).addRange(0x1F77B, 0x1F7D9).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887);\nset.addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2EBF0, 0x2EE5D).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF).addRange(0xE0020, 0xE007F).addRange(0xE0100, 0xE01EF).addRange(0xF0000, 0xFFFFD).addRange(0x100000, 0x10FFFD);\nexports.characters = set;\n","const set = require('regenerate')(0x61C);\nset.addRange(0x200E, 0x200F).addRange(0x202A, 0x202E).addRange(0x2066, 0x2069);\nexports.characters = set;\n","const set = require('regenerate')(0x3C, 0x3E, 0x5B, 0x5D, 0x7B, 0x7D, 0xAB, 0xBB, 0x2140, 0x2211, 0x2224, 0x2226, 0x2239, 0x2262, 0x2298, 0x27C0, 0x29B8, 0x29C9, 0x29E1, 0x2A24, 0x2A26, 0x2A29, 0x2ADC, 0x2ADE, 0x2AF3, 0x2AFD, 0x2BFE, 0xFF1C, 0xFF1E, 0xFF3B, 0xFF3D, 0xFF5B, 0xFF5D, 0x1D6DB, 0x1D715, 0x1D74F, 0x1D789, 0x1D7C3);\nset.addRange(0x28, 0x29).addRange(0xF3A, 0xF3D).addRange(0x169B, 0x169C).addRange(0x2039, 0x203A).addRange(0x2045, 0x2046).addRange(0x207D, 0x207E).addRange(0x208D, 0x208E).addRange(0x2201, 0x2204).addRange(0x2208, 0x220D).addRange(0x2215, 0x2216).addRange(0x221A, 0x221D).addRange(0x221F, 0x2222).addRange(0x222B, 0x2233).addRange(0x223B, 0x224C).addRange(0x2252, 0x2255).addRange(0x225F, 0x2260).addRange(0x2264, 0x226B).addRange(0x226E, 0x228C).addRange(0x228F, 0x2292).addRange(0x22A2, 0x22A3).addRange(0x22A6, 0x22B8).addRange(0x22BE, 0x22BF).addRange(0x22C9, 0x22CD).addRange(0x22D0, 0x22D1).addRange(0x22D6, 0x22ED).addRange(0x22F0, 0x22FF).addRange(0x2308, 0x230B).addRange(0x2320, 0x2321).addRange(0x2329, 0x232A).addRange(0x2768, 0x2775).addRange(0x27C3, 0x27C6).addRange(0x27C8, 0x27C9).addRange(0x27CB, 0x27CD).addRange(0x27D3, 0x27D6).addRange(0x27DC, 0x27DE).addRange(0x27E2, 0x27EF).addRange(0x2983, 0x2998).addRange(0x299B, 0x29A0).addRange(0x29A2, 0x29AF).addRange(0x29C0, 0x29C5).addRange(0x29CE, 0x29D2).addRange(0x29D4, 0x29D5).addRange(0x29D8, 0x29DC).addRange(0x29E3, 0x29E5).addRange(0x29E8, 0x29E9).addRange(0x29F4, 0x29F9).addRange(0x29FC, 0x29FD).addRange(0x2A0A, 0x2A1C).addRange(0x2A1E, 0x2A21).addRange(0x2A2B, 0x2A2E).addRange(0x2A34, 0x2A35);\nset.addRange(0x2A3C, 0x2A3E).addRange(0x2A57, 0x2A58).addRange(0x2A64, 0x2A65).addRange(0x2A6A, 0x2A6D).addRange(0x2A6F, 0x2A70).addRange(0x2A73, 0x2A74).addRange(0x2A79, 0x2AA3).addRange(0x2AA6, 0x2AAD).addRange(0x2AAF, 0x2AD6).addRange(0x2AE2, 0x2AE6).addRange(0x2AEC, 0x2AEE).addRange(0x2AF7, 0x2AFB).addRange(0x2E02, 0x2E05).addRange(0x2E09, 0x2E0A).addRange(0x2E0C, 0x2E0D).addRange(0x2E1C, 0x2E1D).addRange(0x2E20, 0x2E29).addRange(0x2E55, 0x2E5C).addRange(0x3008, 0x3011).addRange(0x3014, 0x301B).addRange(0xFE59, 0xFE5E).addRange(0xFE64, 0xFE65).addRange(0xFF08, 0xFF09).addRange(0xFF5F, 0xFF60).addRange(0xFF62, 0xFF63);\nexports.characters = set;\n","const set = require('regenerate')(0x27, 0x2E, 0x3A, 0x5E, 0x60, 0xA8, 0xAD, 0xAF, 0xB4, 0x37A, 0x387, 0x559, 0x55F, 0x5BF, 0x5C7, 0x5F4, 0x61C, 0x640, 0x670, 0x70F, 0x711, 0x7FA, 0x7FD, 0x888, 0x93A, 0x93C, 0x94D, 0x971, 0x981, 0x9BC, 0x9CD, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xACD, 0xB01, 0xB3C, 0xB3F, 0xB4D, 0xB82, 0xBC0, 0xBCD, 0xC00, 0xC04, 0xC3C, 0xC81, 0xCBC, 0xCBF, 0xCC6, 0xD4D, 0xD81, 0xDCA, 0xDD6, 0xE31, 0xEB1, 0xEC6, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1082, 0x108D, 0x109D, 0x10FC, 0x17C6, 0x17D7, 0x17DD, 0x1843, 0x18A9, 0x1932, 0x1A1B, 0x1A56, 0x1A60, 0x1A62, 0x1A7F, 0x1AA7, 0x1B34, 0x1B3C, 0x1B42, 0x1BE6, 0x1BED, 0x1CED, 0x1CF4, 0x1D78, 0x1FBD, 0x2024, 0x2027, 0x2071, 0x207F, 0x2D6F, 0x2D7F, 0x2E2F, 0x3005, 0x303B, 0xA015, 0xA60C, 0xA67F, 0xA770, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9B3, 0xA9CF, 0xAA43, 0xAA4C, 0xAA70, 0xAA7C, 0xAAB0, 0xAAC1, 0xAADD, 0xAAF6, 0xABE5, 0xABE8, 0xABED, 0xFB1E, 0xFE13, 0xFE52, 0xFE55, 0xFEFF, 0xFF07, 0xFF0E, 0xFF1A, 0xFF3E, 0xFF40, 0xFF70, 0xFFE3, 0x101FD, 0x102E0, 0x10A3F, 0x11001, 0x11070, 0x110BD, 0x110C2, 0x110CD, 0x11173, 0x111CF, 0x11234, 0x1123E, 0x11241, 0x112DF, 0x11340, 0x11446, 0x1145E, 0x114BA, 0x1163D, 0x116AB, 0x116AD, 0x116B7, 0x1193E, 0x11943, 0x119E0, 0x11A47, 0x11C3F, 0x11D3A, 0x11D47, 0x11D95, 0x11D97, 0x11F40, 0x11F42, 0x16F4F, 0x1DA75, 0x1DA84, 0x1E08F, 0x1E2AE, 0xE0001);\nset.addRange(0xB7, 0xB8).addRange(0x2B0, 0x36F).addRange(0x374, 0x375).addRange(0x384, 0x385).addRange(0x483, 0x489).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x600, 0x605).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DD).addRange(0x6DF, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F5).addRange(0x816, 0x82D).addRange(0x859, 0x85B).addRange(0x890, 0x891).addRange(0x898, 0x89F).addRange(0x8C9, 0x902).addRange(0x941, 0x948).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x9C1, 0x9C4).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA02).addRange(0xA41, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA82).addRange(0xAC1, 0xAC5).addRange(0xAC7, 0xAC8).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB41, 0xB44).addRange(0xB55, 0xB56).addRange(0xB62, 0xB63).addRange(0xC3E, 0xC40).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xCCC, 0xCCD).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD01).addRange(0xD3B, 0xD3C).addRange(0xD41, 0xD44).addRange(0xD62, 0xD63);\nset.addRange(0xDD2, 0xDD4).addRange(0xE34, 0xE3A).addRange(0xE46, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECE).addRange(0xF18, 0xF19).addRange(0xF71, 0xF7E).addRange(0xF80, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102D, 0x1030).addRange(0x1032, 0x1037).addRange(0x1039, 0x103A).addRange(0x103D, 0x103E).addRange(0x1058, 0x1059).addRange(0x105E, 0x1060).addRange(0x1071, 0x1074).addRange(0x1085, 0x1086).addRange(0x135D, 0x135F).addRange(0x1712, 0x1714).addRange(0x1732, 0x1733).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17B5).addRange(0x17B7, 0x17BD).addRange(0x17C9, 0x17D3).addRange(0x180B, 0x180F).addRange(0x1885, 0x1886).addRange(0x1920, 0x1922).addRange(0x1927, 0x1928).addRange(0x1939, 0x193B).addRange(0x1A17, 0x1A18).addRange(0x1A58, 0x1A5E).addRange(0x1A65, 0x1A6C).addRange(0x1A73, 0x1A7C).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B03).addRange(0x1B36, 0x1B3A).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B81).addRange(0x1BA2, 0x1BA5).addRange(0x1BA8, 0x1BA9).addRange(0x1BAB, 0x1BAD).addRange(0x1BE8, 0x1BE9).addRange(0x1BEF, 0x1BF1).addRange(0x1C2C, 0x1C33).addRange(0x1C36, 0x1C37).addRange(0x1C78, 0x1C7D).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE0);\nset.addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1D2C, 0x1D6A).addRange(0x1D9B, 0x1DFF).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x200B, 0x200F).addRange(0x2018, 0x2019).addRange(0x202A, 0x202E).addRange(0x2060, 0x2064).addRange(0x2066, 0x206F).addRange(0x2090, 0x209C).addRange(0x20D0, 0x20F0).addRange(0x2C7C, 0x2C7D).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302D).addRange(0x3031, 0x3035).addRange(0x3099, 0x309E).addRange(0x30FC, 0x30FE).addRange(0xA4F8, 0xA4FD).addRange(0xA66F, 0xA672).addRange(0xA674, 0xA67D).addRange(0xA69C, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA700, 0xA721).addRange(0xA788, 0xA78A).addRange(0xA7F2, 0xA7F4).addRange(0xA7F8, 0xA7F9).addRange(0xA825, 0xA826).addRange(0xA8C4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA951).addRange(0xA980, 0xA982).addRange(0xA9B6, 0xA9B9).addRange(0xA9BC, 0xA9BD).addRange(0xA9E5, 0xA9E6).addRange(0xAA29, 0xAA2E).addRange(0xAA31, 0xAA32).addRange(0xAA35, 0xAA36).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEC, 0xAAED).addRange(0xAAF3, 0xAAF4).addRange(0xAB5B, 0xAB5F).addRange(0xAB69, 0xAB6B);\nset.addRange(0xFBB2, 0xFBC2).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFF9E, 0xFF9F).addRange(0xFFF9, 0xFFFB).addRange(0x10376, 0x1037A).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC).addRange(0x10EFD, 0x10EFF).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11081).addRange(0x110B3, 0x110B6).addRange(0x110B9, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x1112B).addRange(0x1112D, 0x11134).addRange(0x11180, 0x11181).addRange(0x111B6, 0x111BE).addRange(0x111C9, 0x111CC).addRange(0x1122F, 0x11231).addRange(0x11236, 0x11237).addRange(0x112E3, 0x112EA).addRange(0x11300, 0x11301).addRange(0x1133B, 0x1133C).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11438, 0x1143F).addRange(0x11442, 0x11444).addRange(0x114B3, 0x114B8).addRange(0x114BF, 0x114C0).addRange(0x114C2, 0x114C3).addRange(0x115B2, 0x115B5).addRange(0x115BC, 0x115BD).addRange(0x115BF, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11633, 0x1163A).addRange(0x1163F, 0x11640).addRange(0x116B0, 0x116B5).addRange(0x1171D, 0x1171F).addRange(0x11722, 0x11725);\nset.addRange(0x11727, 0x1172B).addRange(0x1182F, 0x11837).addRange(0x11839, 0x1183A).addRange(0x1193B, 0x1193C).addRange(0x119D4, 0x119D7).addRange(0x119DA, 0x119DB).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A38).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A56).addRange(0x11A59, 0x11A5B).addRange(0x11A8A, 0x11A96).addRange(0x11A98, 0x11A99).addRange(0x11C30, 0x11C36).addRange(0x11C38, 0x11C3D).addRange(0x11C92, 0x11CA7).addRange(0x11CAA, 0x11CB0).addRange(0x11CB2, 0x11CB3).addRange(0x11CB5, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D45).addRange(0x11D90, 0x11D91).addRange(0x11EF3, 0x11EF4).addRange(0x11F00, 0x11F01).addRange(0x11F36, 0x11F3A).addRange(0x13430, 0x13440).addRange(0x13447, 0x13455).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16B40, 0x16B43).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FE3, 0x16FE4).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1BC9D, 0x1BC9E).addRange(0x1BCA0, 0x1BCA3).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D173, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006);\nset.addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E030, 0x1E06D).addRange(0x1E130, 0x1E13D).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E4EB, 0x1E4EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94B).addRange(0x1F3FB, 0x1F3FF).addRange(0xE0020, 0xE007F).addRange(0xE0100, 0xE01EF);\nexports.characters = set;\n","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x345, 0x37F, 0x386, 0x38C, 0x10C7, 0x10CD, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2139, 0x214E, 0x2D27, 0x2D2D, 0xA7D3, 0x10780, 0x1D4A2, 0x1D4BB, 0x1D546);\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x1BA).addRange(0x1BC, 0x1BF).addRange(0x1C4, 0x293).addRange(0x295, 0x2B8).addRange(0x2C0, 0x2C1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x373).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x10FF).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2134).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149);\nset.addRange(0x2160, 0x217F).addRange(0x2183, 0x2184).addRange(0x24B6, 0x24E9).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0xA640, 0xA66D).addRange(0xA680, 0xA69D).addRange(0xA722, 0xA787).addRange(0xA78B, 0xA78E).addRange(0xA790, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA7F6).addRange(0xA7F8, 0xA7FA).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10400, 0x1044F).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10783, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x118A0, 0x118DF).addRange(0x16E40, 0x16E7F).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514);\nset.addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E030, 0x1E06D).addRange(0x1E900, 0x1E943).addRange(0x1F130, 0x1F149).addRange(0x1F150, 0x1F169).addRange(0x1F170, 0x1F189);\nexports.characters = set;\n","const set = require('regenerate')(0xB5, 0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x17F, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x345, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3C2, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x587, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2126, 0x2132, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5);\nset.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDF).addRange(0x149, 0x14A).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1C4, 0x1C5).addRange(0x1C7, 0x1C8).addRange(0x1CA, 0x1CB).addRange(0x1F1, 0x1F2).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3CF, 0x3D1).addRange(0x3D5, 0x3D6).addRange(0x3F0, 0x3F1).addRange(0x3F4, 0x3F5).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1E9A, 0x1E9B).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1F80, 0x1FAF).addRange(0x1FB2, 0x1FB4);\nset.addRange(0x1FB7, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC7, 0x1FCC).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF7, 0x1FFC).addRange(0x212A, 0x212B).addRange(0x2160, 0x216F).addRange(0x24B6, 0x24CF).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1E900, 0x1E921);\nexports.characters = set;\n","const set = require('regenerate')(0xB5, 0x1BF, 0x259, 0x263, 0x26F, 0x275, 0x27D, 0x280, 0x292, 0x345, 0x37F, 0x386, 0x38C, 0x10C7, 0x10CD, 0x1D79, 0x1D7D, 0x1D8E, 0x1E9E, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2126, 0x2132, 0x214E, 0x2D27, 0x2D2D, 0xAB53);\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x137).addRange(0x139, 0x18C).addRange(0x18E, 0x19A).addRange(0x19C, 0x1A9).addRange(0x1AC, 0x1B9).addRange(0x1BC, 0x1BD).addRange(0x1C4, 0x220).addRange(0x222, 0x233).addRange(0x23A, 0x254).addRange(0x256, 0x257).addRange(0x25B, 0x25C).addRange(0x260, 0x261).addRange(0x265, 0x266).addRange(0x268, 0x26C).addRange(0x271, 0x272).addRange(0x282, 0x283).addRange(0x287, 0x28C).addRange(0x29D, 0x29E).addRange(0x370, 0x373).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3D1).addRange(0x3D5, 0x3F5).addRange(0x3F7, 0x3FB).addRange(0x3FD, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x561, 0x587).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1E00, 0x1E9B).addRange(0x1EA0, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC);\nset.addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x212A, 0x212B).addRange(0x2160, 0x217F).addRange(0x2183, 0x2184).addRange(0x24B6, 0x24E9).addRange(0x2C00, 0x2C70).addRange(0x2C72, 0x2C73).addRange(0x2C75, 0x2C76).addRange(0x2C7E, 0x2CE3).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0xA640, 0xA66D).addRange(0xA680, 0xA69B).addRange(0xA722, 0xA72F).addRange(0xA732, 0xA76F).addRange(0xA779, 0xA787).addRange(0xA78B, 0xA78D).addRange(0xA790, 0xA794).addRange(0xA796, 0xA7AE).addRange(0xA7B0, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D6, 0xA7D9).addRange(0xA7F5, 0xA7F6).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10400, 0x1044F).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x118A0, 0x118DF).addRange(0x16E40, 0x16E7F).addRange(0x1E900, 0x1E943);\nset;\nexports.characters = set;\n","const set = require('regenerate')(0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14A, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3CF, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F4, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2126, 0x2132, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5);\nset.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDE).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1C4, 0x1C5).addRange(0x1C7, 0x1C8).addRange(0x1CA, 0x1CB).addRange(0x1F1, 0x1F2).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13A0, 0x13F5).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1F88, 0x1F8F).addRange(0x1F98, 0x1F9F).addRange(0x1FA8, 0x1FAF).addRange(0x1FB8, 0x1FBC).addRange(0x1FC8, 0x1FCC).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF8, 0x1FFC).addRange(0x212A, 0x212B);\nset.addRange(0x2160, 0x216F).addRange(0x24B6, 0x24CF).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1E900, 0x1E921);\nexports.characters = set;\n","const set = require('regenerate')(0xA0, 0xA8, 0xAA, 0xAD, 0xAF, 0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x136, 0x139, 0x13B, 0x13D, 0x143, 0x145, 0x147, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x17F, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x34F, 0x370, 0x372, 0x374, 0x376, 0x37A, 0x38C, 0x3C2, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x587, 0x61C, 0x9DF, 0xA33, 0xA36, 0xA5E, 0xE33, 0xEB3, 0xF0C, 0xF43, 0xF4D, 0xF52, 0xF57, 0xF5C, 0xF69, 0xF73, 0xF81, 0xF93, 0xF9D, 0xFA2, 0xFA7, 0xFAC, 0xFB9, 0x10C7, 0x10CD, 0x10FC, 0x1D78, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x1F71, 0x1F73, 0x1F75, 0x1F77, 0x1F79, 0x1F7B, 0x1F7D, 0x1FD3, 0x1FE3, 0x2011, 0x2017, 0x203C, 0x203E, 0x2057, 0x20A8, 0x2124, 0x2126, 0x2128, 0x2183, 0x2189, 0x2A0C, 0x2ADC, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0x2D6F, 0x2E9F, 0x2EF3, 0x3000, 0x3036, 0x309F, 0x30FF, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA770, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xAB69, 0xFA10, 0xFA12, 0xFA20, 0xFA22, 0xFB1D, 0xFB3E, 0xFE74, 0xFEFF, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E, 0x1F190);\nset.addRange(0x41, 0x5A).addRange(0xB2, 0xB5).addRange(0xB8, 0xBA).addRange(0xBC, 0xBE).addRange(0xC0, 0xD6).addRange(0xD8, 0xDF).addRange(0x132, 0x134).addRange(0x13F, 0x141).addRange(0x149, 0x14A).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1C4, 0x1CD).addRange(0x1F1, 0x1F4).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x2B0, 0x2B8).addRange(0x2D8, 0x2DD).addRange(0x2E0, 0x2E4).addRange(0x340, 0x341).addRange(0x343, 0x345).addRange(0x37E, 0x37F).addRange(0x384, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3CF, 0x3D6).addRange(0x3F0, 0x3F2).addRange(0x3F4, 0x3F5).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x675, 0x678).addRange(0x958, 0x95F).addRange(0x9DC, 0x9DD).addRange(0xA59, 0xA5B).addRange(0xB5C, 0xB5D).addRange(0xEDC, 0xEDD);\nset.addRange(0xF75, 0xF79).addRange(0x10A0, 0x10C5).addRange(0x115F, 0x1160).addRange(0x13F8, 0x13FD).addRange(0x17B4, 0x17B5).addRange(0x180B, 0x180F).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1D2C, 0x1D2E).addRange(0x1D30, 0x1D3A).addRange(0x1D3C, 0x1D4D).addRange(0x1D4F, 0x1D6A).addRange(0x1D9B, 0x1DBF).addRange(0x1E9A, 0x1E9B).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1F80, 0x1FAF).addRange(0x1FB2, 0x1FB4).addRange(0x1FB7, 0x1FC4).addRange(0x1FC7, 0x1FCF).addRange(0x1FD8, 0x1FDB).addRange(0x1FDD, 0x1FDF).addRange(0x1FE8, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF7, 0x1FFE).addRange(0x2000, 0x200F).addRange(0x2024, 0x2026).addRange(0x202A, 0x202F).addRange(0x2033, 0x2034).addRange(0x2036, 0x2037).addRange(0x2047, 0x2049).addRange(0x205F, 0x2071).addRange(0x2074, 0x208E).addRange(0x2090, 0x209C).addRange(0x2100, 0x2103).addRange(0x2105, 0x2107).addRange(0x2109, 0x2113).addRange(0x2115, 0x2116).addRange(0x2119, 0x211D).addRange(0x2120, 0x2122).addRange(0x212A, 0x212D).addRange(0x212F, 0x2139).addRange(0x213B, 0x2140).addRange(0x2145, 0x2149).addRange(0x2150, 0x217F).addRange(0x222C, 0x222D);\nset.addRange(0x222F, 0x2230).addRange(0x2329, 0x232A).addRange(0x2460, 0x24EA).addRange(0x2A74, 0x2A76).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7C, 0x2C80).addRange(0x2F00, 0x2FD5).addRange(0x3038, 0x303A).addRange(0x309B, 0x309C).addRange(0x3131, 0x318E).addRange(0x3192, 0x319F).addRange(0x3200, 0x321E).addRange(0x3220, 0x3247).addRange(0x3250, 0x327E).addRange(0x3280, 0x33FF).addRange(0xA69C, 0xA69D).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xA7F2, 0xA7F5).addRange(0xA7F8, 0xA7F9).addRange(0xAB5C, 0xAB5F).addRange(0xAB70, 0xABBF).addRange(0xF900, 0xFA0D).addRange(0xFA15, 0xFA1E).addRange(0xFA25, 0xFA26).addRange(0xFA2A, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFC).addRange(0xFE00, 0xFE19).addRange(0xFE30, 0xFE44).addRange(0xFE47, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFE70, 0xFE72).addRange(0xFE76, 0xFEFC).addRange(0xFF01, 0xFFBE).addRange(0xFFC2, 0xFFC7);\nset.addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFF0, 0xFFF8).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10781, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1BCA0, 0x1BCA3).addRange(0x1D15E, 0x1D164).addRange(0x1D173, 0x1D17A).addRange(0x1D1BB, 0x1D1C0).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1E030, 0x1E06D).addRange(0x1E900, 0x1E921).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A);\nset.addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1F100, 0x1F10A).addRange(0x1F110, 0x1F12E).addRange(0x1F130, 0x1F14F).addRange(0x1F16A, 0x1F16C).addRange(0x1F200, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1FBF0, 0x1FBF9).addRange(0x2F800, 0x2FA1D).addRange(0xE0000, 0xE0FFF);\nexports.characters = set;\n","const set = require('regenerate')(0xB5, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x137, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x18C, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1B9, 0x1BD, 0x1BF, 0x1C4, 0x1CC, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F3, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x233, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x259, 0x263, 0x26F, 0x275, 0x27D, 0x280, 0x292, 0x345, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x3FB, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1D79, 0x1D7D, 0x1D8E, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBE, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C73, 0x2C76, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CE3, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA69B, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA72F, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA76F, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D7, 0xA7D9, 0xA7F6, 0xAB53);\nset.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x199, 0x19A).addRange(0x1C6, 0x1C7).addRange(0x1C9, 0x1CA).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F1).addRange(0x23F, 0x240).addRange(0x24F, 0x254).addRange(0x256, 0x257).addRange(0x25B, 0x25C).addRange(0x260, 0x261).addRange(0x265, 0x266).addRange(0x268, 0x26C).addRange(0x271, 0x272).addRange(0x282, 0x283).addRange(0x287, 0x28C).addRange(0x29D, 0x29E).addRange(0x37B, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x561, 0x587).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1E95, 0x1E9B).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1F87).addRange(0x1F90, 0x1F97).addRange(0x1FA0, 0x1FA7).addRange(0x1FB0, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7).addRange(0x1FE0, 0x1FE7).addRange(0x1FF2, 0x1FF4);\nset.addRange(0x1FF6, 0x1FF7).addRange(0x2170, 0x217F).addRange(0x24D0, 0x24E9).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2D00, 0x2D25).addRange(0xA793, 0xA794).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1E922, 0x1E943);\nexports.characters = set;\n","const set = require('regenerate')(0xB5, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x137, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x18C, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1B9, 0x1BD, 0x1BF, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x233, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x259, 0x263, 0x26F, 0x275, 0x27D, 0x280, 0x292, 0x345, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x3FB, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1D79, 0x1D7D, 0x1D8E, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBC, 0x1FBE, 0x1FCC, 0x1FFC, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C73, 0x2C76, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CE3, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA69B, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA72F, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA76F, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D7, 0xA7D9, 0xA7F6, 0xAB53);\nset.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x199, 0x19A).addRange(0x1C5, 0x1C6).addRange(0x1C8, 0x1C9).addRange(0x1CB, 0x1CC).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F0).addRange(0x1F2, 0x1F3).addRange(0x23F, 0x240).addRange(0x24F, 0x254).addRange(0x256, 0x257).addRange(0x25B, 0x25C).addRange(0x260, 0x261).addRange(0x265, 0x266).addRange(0x268, 0x26C).addRange(0x271, 0x272).addRange(0x282, 0x283).addRange(0x287, 0x28C).addRange(0x29D, 0x29E).addRange(0x37B, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x561, 0x587).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1E95, 0x1E9B).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7).addRange(0x1FE0, 0x1FE7);\nset.addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FF7).addRange(0x2170, 0x217F).addRange(0x24D0, 0x24E9).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2D00, 0x2D25).addRange(0xA793, 0xA794).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1E922, 0x1E943);\nexports.characters = set;\n","const set = require('regenerate')(0x2D, 0x58A, 0x5BE, 0x1400, 0x1806, 0x2053, 0x207B, 0x208B, 0x2212, 0x2E17, 0x2E1A, 0x2E40, 0x2E5D, 0x301C, 0x3030, 0x30A0, 0xFE58, 0xFE63, 0xFF0D, 0x10EAD);\nset.addRange(0x2010, 0x2015).addRange(0x2E3A, 0x2E3B).addRange(0xFE31, 0xFE32);\nexports.characters = set;\n","const set = require('regenerate')(0xAD, 0x34F, 0x61C, 0x3164, 0xFEFF, 0xFFA0);\nset.addRange(0x115F, 0x1160).addRange(0x17B4, 0x17B5).addRange(0x180B, 0x180F).addRange(0x200B, 0x200F).addRange(0x202A, 0x202E).addRange(0x2060, 0x206F).addRange(0xFE00, 0xFE0F).addRange(0xFFF0, 0xFFF8).addRange(0x1BCA0, 0x1BCA3).addRange(0x1D173, 0x1D17A).addRange(0xE0000, 0xE0FFF);\nexports.characters = set;\n","const set = require('regenerate')(0x149, 0x673, 0xF77, 0xF79, 0xE0001);\nset.addRange(0x17A3, 0x17A4).addRange(0x206A, 0x206F).addRange(0x2329, 0x232A);\nexports.characters = set;\n","const set = require('regenerate')(0x5E, 0x60, 0xA8, 0xAF, 0xB4, 0x37A, 0x559, 0x5BF, 0x5C4, 0x93C, 0x94D, 0x971, 0x9BC, 0x9CD, 0xA3C, 0xA4D, 0xABC, 0xACD, 0xB3C, 0xB4D, 0xB55, 0xBCD, 0xC3C, 0xC4D, 0xCBC, 0xCCD, 0xD4D, 0xDCA, 0xE4E, 0xEBA, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1037, 0x108F, 0x17DD, 0x1A7F, 0x1B34, 0x1B44, 0x1CED, 0x1CF4, 0x1FBD, 0x2E2F, 0x30FC, 0xA66F, 0xA67F, 0xA8C4, 0xA953, 0xA9B3, 0xA9C0, 0xA9E5, 0xAAF6, 0xFB1E, 0xFF3E, 0xFF40, 0xFF70, 0xFFE3, 0x102E0, 0x11046, 0x11070, 0x11173, 0x111C0, 0x1133C, 0x1134D, 0x11442, 0x11446, 0x1163F, 0x1172B, 0x11943, 0x119E0, 0x11A34, 0x11A47, 0x11A99, 0x11C3F, 0x11D42, 0x11D97, 0x1E2AE);\nset.addRange(0xB7, 0xB8).addRange(0x2B0, 0x34E).addRange(0x350, 0x357).addRange(0x35D, 0x362).addRange(0x374, 0x375).addRange(0x384, 0x385).addRange(0x483, 0x487).addRange(0x591, 0x5A1).addRange(0x5A3, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x64B, 0x652).addRange(0x657, 0x658).addRange(0x6DF, 0x6E0).addRange(0x6E5, 0x6E6).addRange(0x6EA, 0x6EC).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F5).addRange(0x818, 0x819).addRange(0x898, 0x89F).addRange(0x8C9, 0x8D2).addRange(0x8E3, 0x8FE).addRange(0x951, 0x954).addRange(0xAFD, 0xAFF).addRange(0xD3B, 0xD3C).addRange(0xE47, 0xE4C).addRange(0xEC8, 0xECC).addRange(0xF18, 0xF19).addRange(0xF3E, 0xF3F).addRange(0xF82, 0xF84).addRange(0xF86, 0xF87).addRange(0x1039, 0x103A).addRange(0x1063, 0x1064).addRange(0x1069, 0x106D).addRange(0x1087, 0x108D).addRange(0x109A, 0x109B).addRange(0x135D, 0x135F).addRange(0x1714, 0x1715).addRange(0x17C9, 0x17D3).addRange(0x1939, 0x193B).addRange(0x1A75, 0x1A7C).addRange(0x1AB0, 0x1ABE).addRange(0x1AC1, 0x1ACB).addRange(0x1B6B, 0x1B73).addRange(0x1BAA, 0x1BAB).addRange(0x1C36, 0x1C37).addRange(0x1C78, 0x1C7D).addRange(0x1CD0, 0x1CE8).addRange(0x1CF7, 0x1CF9).addRange(0x1D2C, 0x1D6A).addRange(0x1DC4, 0x1DCF);\nset.addRange(0x1DF5, 0x1DFF).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x2CEF, 0x2CF1).addRange(0x302A, 0x302F).addRange(0x3099, 0x309C).addRange(0xA67C, 0xA67D).addRange(0xA69C, 0xA69D).addRange(0xA6F0, 0xA6F1).addRange(0xA700, 0xA721).addRange(0xA788, 0xA78A).addRange(0xA7F8, 0xA7F9).addRange(0xA8E0, 0xA8F1).addRange(0xA92B, 0xA92E).addRange(0xAA7B, 0xAA7D).addRange(0xAABF, 0xAAC2).addRange(0xAB5B, 0xAB5F).addRange(0xAB69, 0xAB6B).addRange(0xABEC, 0xABED).addRange(0xFE20, 0xFE2F).addRange(0xFF9E, 0xFF9F).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10AE5, 0x10AE6).addRange(0x10D22, 0x10D27).addRange(0x10EFD, 0x10EFF).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x110B9, 0x110BA).addRange(0x11133, 0x11134).addRange(0x111CA, 0x111CC).addRange(0x11235, 0x11236).addRange(0x112E9, 0x112EA).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x114C2, 0x114C3).addRange(0x115BF, 0x115C0).addRange(0x116B6, 0x116B7).addRange(0x11839, 0x1183A).addRange(0x1193D, 0x1193E).addRange(0x11D44, 0x11D45).addRange(0x13447, 0x13455).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16F8F, 0x16F9F).addRange(0x16FF0, 0x16FF1).addRange(0x1AFF0, 0x1AFF3);\nset.addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1E030, 0x1E06D).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E946).addRange(0x1E948, 0x1E94A);\nexports.characters = set;\n","const set = require('regenerate')(0x23, 0x2A, 0x200D, 0x20E3, 0xFE0F);\nset.addRange(0x30, 0x39).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F3FB, 0x1F3FF).addRange(0x1F9B0, 0x1F9B3).addRange(0xE0020, 0xE007F);\nexports.characters = set;\n","const set = require('regenerate')(0x261D, 0x26F9, 0x1F385, 0x1F3C7, 0x1F47C, 0x1F48F, 0x1F491, 0x1F4AA, 0x1F57A, 0x1F590, 0x1F6A3, 0x1F6C0, 0x1F6CC, 0x1F90C, 0x1F90F, 0x1F926, 0x1F977, 0x1F9BB);\nset.addRange(0x270A, 0x270D).addRange(0x1F3C2, 0x1F3C4).addRange(0x1F3CA, 0x1F3CC).addRange(0x1F442, 0x1F443).addRange(0x1F446, 0x1F450).addRange(0x1F466, 0x1F478).addRange(0x1F481, 0x1F483).addRange(0x1F485, 0x1F487).addRange(0x1F574, 0x1F575).addRange(0x1F595, 0x1F596).addRange(0x1F645, 0x1F647).addRange(0x1F64B, 0x1F64F).addRange(0x1F6B4, 0x1F6B6).addRange(0x1F918, 0x1F91F).addRange(0x1F930, 0x1F939).addRange(0x1F93C, 0x1F93E).addRange(0x1F9B5, 0x1F9B6).addRange(0x1F9B8, 0x1F9B9).addRange(0x1F9CD, 0x1F9CF).addRange(0x1F9D1, 0x1F9DD).addRange(0x1FAC3, 0x1FAC5).addRange(0x1FAF0, 0x1FAF8);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1F3FB, 0x1F3FF);\nexports.characters = set;\n","const set = require('regenerate')(0x23F0, 0x23F3, 0x267F, 0x2693, 0x26A1, 0x26CE, 0x26D4, 0x26EA, 0x26F5, 0x26FA, 0x26FD, 0x2705, 0x2728, 0x274C, 0x274E, 0x2757, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x1F004, 0x1F0CF, 0x1F18E, 0x1F201, 0x1F21A, 0x1F22F, 0x1F3F4, 0x1F440, 0x1F57A, 0x1F5A4, 0x1F6CC, 0x1F7F0);\nset.addRange(0x231A, 0x231B).addRange(0x23E9, 0x23EC).addRange(0x25FD, 0x25FE).addRange(0x2614, 0x2615).addRange(0x2648, 0x2653).addRange(0x26AA, 0x26AB).addRange(0x26BD, 0x26BE).addRange(0x26C4, 0x26C5).addRange(0x26F2, 0x26F3).addRange(0x270A, 0x270B).addRange(0x2753, 0x2755).addRange(0x2795, 0x2797).addRange(0x2B1B, 0x2B1C).addRange(0x1F191, 0x1F19A).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F232, 0x1F236).addRange(0x1F238, 0x1F23A).addRange(0x1F250, 0x1F251).addRange(0x1F300, 0x1F320).addRange(0x1F32D, 0x1F335).addRange(0x1F337, 0x1F37C).addRange(0x1F37E, 0x1F393).addRange(0x1F3A0, 0x1F3CA).addRange(0x1F3CF, 0x1F3D3).addRange(0x1F3E0, 0x1F3F0).addRange(0x1F3F8, 0x1F43E).addRange(0x1F442, 0x1F4FC).addRange(0x1F4FF, 0x1F53D).addRange(0x1F54B, 0x1F54E).addRange(0x1F550, 0x1F567).addRange(0x1F595, 0x1F596).addRange(0x1F5FB, 0x1F64F).addRange(0x1F680, 0x1F6C5).addRange(0x1F6D0, 0x1F6D2).addRange(0x1F6D5, 0x1F6D7).addRange(0x1F6DC, 0x1F6DF).addRange(0x1F6EB, 0x1F6EC).addRange(0x1F6F4, 0x1F6FC).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1F9FF).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8);\nexports.characters = set;\n","const set = require('regenerate')(0x23, 0x2A, 0xA9, 0xAE, 0x203C, 0x2049, 0x2122, 0x2139, 0x2328, 0x23CF, 0x24C2, 0x25B6, 0x25C0, 0x260E, 0x2611, 0x2618, 0x261D, 0x2620, 0x2626, 0x262A, 0x2640, 0x2642, 0x2663, 0x2668, 0x267B, 0x2699, 0x26A7, 0x26C8, 0x26D1, 0x26FD, 0x2702, 0x2705, 0x270F, 0x2712, 0x2714, 0x2716, 0x271D, 0x2721, 0x2728, 0x2744, 0x2747, 0x274C, 0x274E, 0x2757, 0x27A1, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x3030, 0x303D, 0x3297, 0x3299, 0x1F004, 0x1F0CF, 0x1F18E, 0x1F21A, 0x1F22F, 0x1F587, 0x1F590, 0x1F5A8, 0x1F5BC, 0x1F5E1, 0x1F5E3, 0x1F5E8, 0x1F5EF, 0x1F5F3, 0x1F6E9, 0x1F6F0, 0x1F7F0);\nset.addRange(0x30, 0x39).addRange(0x2194, 0x2199).addRange(0x21A9, 0x21AA).addRange(0x231A, 0x231B).addRange(0x23E9, 0x23F3).addRange(0x23F8, 0x23FA).addRange(0x25AA, 0x25AB).addRange(0x25FB, 0x25FE).addRange(0x2600, 0x2604).addRange(0x2614, 0x2615).addRange(0x2622, 0x2623).addRange(0x262E, 0x262F).addRange(0x2638, 0x263A).addRange(0x2648, 0x2653).addRange(0x265F, 0x2660).addRange(0x2665, 0x2666).addRange(0x267E, 0x267F).addRange(0x2692, 0x2697).addRange(0x269B, 0x269C).addRange(0x26A0, 0x26A1).addRange(0x26AA, 0x26AB).addRange(0x26B0, 0x26B1).addRange(0x26BD, 0x26BE).addRange(0x26C4, 0x26C5).addRange(0x26CE, 0x26CF).addRange(0x26D3, 0x26D4).addRange(0x26E9, 0x26EA).addRange(0x26F0, 0x26F5).addRange(0x26F7, 0x26FA).addRange(0x2708, 0x270D).addRange(0x2733, 0x2734).addRange(0x2753, 0x2755).addRange(0x2763, 0x2764).addRange(0x2795, 0x2797).addRange(0x2934, 0x2935).addRange(0x2B05, 0x2B07).addRange(0x2B1B, 0x2B1C).addRange(0x1F170, 0x1F171).addRange(0x1F17E, 0x1F17F).addRange(0x1F191, 0x1F19A).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F201, 0x1F202).addRange(0x1F232, 0x1F23A).addRange(0x1F250, 0x1F251).addRange(0x1F300, 0x1F321).addRange(0x1F324, 0x1F393).addRange(0x1F396, 0x1F397).addRange(0x1F399, 0x1F39B).addRange(0x1F39E, 0x1F3F0).addRange(0x1F3F3, 0x1F3F5).addRange(0x1F3F7, 0x1F4FD);\nset.addRange(0x1F4FF, 0x1F53D).addRange(0x1F549, 0x1F54E).addRange(0x1F550, 0x1F567).addRange(0x1F56F, 0x1F570).addRange(0x1F573, 0x1F57A).addRange(0x1F58A, 0x1F58D).addRange(0x1F595, 0x1F596).addRange(0x1F5A4, 0x1F5A5).addRange(0x1F5B1, 0x1F5B2).addRange(0x1F5C2, 0x1F5C4).addRange(0x1F5D1, 0x1F5D3).addRange(0x1F5DC, 0x1F5DE).addRange(0x1F5FA, 0x1F64F).addRange(0x1F680, 0x1F6C5).addRange(0x1F6CB, 0x1F6D2).addRange(0x1F6D5, 0x1F6D7).addRange(0x1F6DC, 0x1F6E5).addRange(0x1F6EB, 0x1F6EC).addRange(0x1F6F3, 0x1F6FC).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1F9FF).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8);\nexports.characters = set;\n","const set = require('regenerate')(0xA9, 0xAE, 0x203C, 0x2049, 0x2122, 0x2139, 0x2328, 0x2388, 0x23CF, 0x24C2, 0x25B6, 0x25C0, 0x2714, 0x2716, 0x271D, 0x2721, 0x2728, 0x2744, 0x2747, 0x274C, 0x274E, 0x2757, 0x27A1, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x3030, 0x303D, 0x3297, 0x3299, 0x1F12F, 0x1F18E, 0x1F21A, 0x1F22F);\nset.addRange(0x2194, 0x2199).addRange(0x21A9, 0x21AA).addRange(0x231A, 0x231B).addRange(0x23E9, 0x23F3).addRange(0x23F8, 0x23FA).addRange(0x25AA, 0x25AB).addRange(0x25FB, 0x25FE).addRange(0x2600, 0x2605).addRange(0x2607, 0x2612).addRange(0x2614, 0x2685).addRange(0x2690, 0x2705).addRange(0x2708, 0x2712).addRange(0x2733, 0x2734).addRange(0x2753, 0x2755).addRange(0x2763, 0x2767).addRange(0x2795, 0x2797).addRange(0x2934, 0x2935).addRange(0x2B05, 0x2B07).addRange(0x2B1B, 0x2B1C).addRange(0x1F000, 0x1F0FF).addRange(0x1F10D, 0x1F10F).addRange(0x1F16C, 0x1F171).addRange(0x1F17E, 0x1F17F).addRange(0x1F191, 0x1F19A).addRange(0x1F1AD, 0x1F1E5).addRange(0x1F201, 0x1F20F).addRange(0x1F232, 0x1F23A).addRange(0x1F23C, 0x1F23F).addRange(0x1F249, 0x1F3FA).addRange(0x1F400, 0x1F53D).addRange(0x1F546, 0x1F64F).addRange(0x1F680, 0x1F6FF).addRange(0x1F774, 0x1F77F).addRange(0x1F7D5, 0x1F7FF).addRange(0x1F80C, 0x1F80F).addRange(0x1F848, 0x1F84F).addRange(0x1F85A, 0x1F85F).addRange(0x1F888, 0x1F88F).addRange(0x1F8AE, 0x1F8FF).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1FAFF).addRange(0x1FC00, 0x1FFFD);\nexports.characters = set;\n","const set = require('regenerate')(0xB7, 0x640, 0x7FA, 0xB55, 0xE46, 0xEC6, 0x180A, 0x1843, 0x1AA7, 0x1C36, 0x1C7B, 0x3005, 0xA015, 0xA60C, 0xA9CF, 0xA9E6, 0xAA70, 0xAADD, 0xFF70, 0x1135D, 0x11A98, 0x16FE3);\nset.addRange(0x2D0, 0x2D1).addRange(0x3031, 0x3035).addRange(0x309D, 0x309E).addRange(0x30FC, 0x30FE).addRange(0xAAF3, 0xAAF4).addRange(0x10781, 0x10782).addRange(0x115C6, 0x115C8).addRange(0x16B42, 0x16B43).addRange(0x16FE0, 0x16FE1).addRange(0x1E13C, 0x1E13D).addRange(0x1E944, 0x1E946);\nexports.characters = set;\n","const set = require('regenerate')(0x38C, 0x5BE, 0x5C0, 0x5C3, 0x5C6, 0x61B, 0x6DE, 0x6E9, 0x710, 0x7B1, 0x81A, 0x824, 0x828, 0x85E, 0x93B, 0x9B2, 0x9BD, 0x9CE, 0xA03, 0xA5E, 0xA76, 0xA83, 0xAC9, 0xAD0, 0xAF9, 0xB3D, 0xB40, 0xB83, 0xB9C, 0xBBF, 0xBD0, 0xC3D, 0xC5D, 0xD3D, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xEC6, 0xF36, 0xF38, 0xF7F, 0xF85, 0x1031, 0x1038, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x1715, 0x17B6, 0x18AA, 0x1940, 0x1A57, 0x1A61, 0x1B3B, 0x1BAA, 0x1BE7, 0x1BEE, 0x1CD3, 0x1CE1, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x2D27, 0x2D2D, 0xA673, 0xA7D3, 0xAA4D, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0xFDCF, 0x101A0, 0x10808, 0x1083C, 0x1093F, 0x10EAD, 0x11000, 0x11075, 0x1112C, 0x11235, 0x11288, 0x1133D, 0x1133F, 0x11350, 0x11445, 0x1145D, 0x114B9, 0x114BE, 0x114C1, 0x115BE, 0x1163E, 0x116AC, 0x116B6, 0x11726, 0x11838, 0x1183B, 0x11909, 0x1193D, 0x11A00, 0x11A50, 0x11A97, 0x11C3E, 0x11CA9, 0x11CB1, 0x11CB4, 0x11D46, 0x11D96, 0x11D98, 0x11F41, 0x11FB0, 0x16AF5, 0x1B132, 0x1B155, 0x1BC9C, 0x1BC9F, 0x1D166, 0x1D245, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E2FF, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E, 0x1F7F0);\nset.addRange(0x20, 0x7E).addRange(0xA0, 0xAC).addRange(0xAE, 0x2FF).addRange(0x370, 0x377).addRange(0x37A, 0x37F).addRange(0x384, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x482).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0x606, 0x60F).addRange(0x61D, 0x64A).addRange(0x660, 0x66F).addRange(0x671, 0x6D5).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x70D).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7C0, 0x7EA).addRange(0x7F4, 0x7FA).addRange(0x7FE, 0x815).addRange(0x830, 0x83E).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x903, 0x939).addRange(0x93D, 0x940).addRange(0x949, 0x94C).addRange(0x94E, 0x950).addRange(0x958, 0x961).addRange(0x964, 0x980).addRange(0x982, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BF, 0x9C0).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CC).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9E6, 0x9FD).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28);\nset.addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA40).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA6F).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABD, 0xAC0).addRange(0xACB, 0xACC).addRange(0xAE0, 0xAE1).addRange(0xAE6, 0xAF1).addRange(0xB02, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4C).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB66, 0xB77).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBC1, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCC).addRange(0xBE6, 0xBFA).addRange(0xC01, 0xC03).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC41, 0xC44).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC66, 0xC6F);\nset.addRange(0xC77, 0xC80).addRange(0xC82, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBD, 0xCBE).addRange(0xCC0, 0xCC1).addRange(0xCC3, 0xCC4).addRange(0xCC7, 0xCC8).addRange(0xCCA, 0xCCB).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF3).addRange(0xD02, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD3F, 0xD40).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4C).addRange(0xD4E, 0xD4F).addRange(0xD54, 0xD56).addRange(0xD58, 0xD61).addRange(0xD66, 0xD7F).addRange(0xD82, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDD0, 0xDD1).addRange(0xDD8, 0xDDE).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE3F, 0xE46).addRange(0xE4F, 0xE5B).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF00, 0xF17).addRange(0xF1A, 0xF34).addRange(0xF3A, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C);\nset.addRange(0xFBE, 0xFC5).addRange(0xFC7, 0xFCC).addRange(0xFCE, 0xFDA).addRange(0x1000, 0x102C).addRange(0x103B, 0x103C).addRange(0x103F, 0x1057).addRange(0x105A, 0x105D).addRange(0x1061, 0x1070).addRange(0x1075, 0x1081).addRange(0x1083, 0x1084).addRange(0x1087, 0x108C).addRange(0x108E, 0x109C).addRange(0x109E, 0x10C5).addRange(0x10D0, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1360, 0x137C).addRange(0x1380, 0x1399).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1400, 0x169C).addRange(0x16A0, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1734, 0x1736).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x17BE, 0x17C5).addRange(0x17C7, 0x17C8).addRange(0x17D4, 0x17DC).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x1800, 0x180A).addRange(0x1810, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x1884).addRange(0x1887, 0x18A8).addRange(0x18B0, 0x18F5);\nset.addRange(0x1900, 0x191E).addRange(0x1923, 0x1926).addRange(0x1929, 0x192B).addRange(0x1930, 0x1931).addRange(0x1933, 0x1938).addRange(0x1944, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x1A16).addRange(0x1A19, 0x1A1A).addRange(0x1A1E, 0x1A55).addRange(0x1A63, 0x1A64).addRange(0x1A6D, 0x1A72).addRange(0x1A80, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD).addRange(0x1B04, 0x1B33).addRange(0x1B3D, 0x1B41).addRange(0x1B43, 0x1B4C).addRange(0x1B50, 0x1B6A).addRange(0x1B74, 0x1B7E).addRange(0x1B82, 0x1BA1).addRange(0x1BA6, 0x1BA7).addRange(0x1BAE, 0x1BE5).addRange(0x1BEA, 0x1BEC).addRange(0x1BF2, 0x1BF3).addRange(0x1BFC, 0x1C2B).addRange(0x1C34, 0x1C35).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CC7).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF7).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE);\nset.addRange(0x2000, 0x200A).addRange(0x2010, 0x2027).addRange(0x202F, 0x205F).addRange(0x2070, 0x2071).addRange(0x2074, 0x208E).addRange(0x2090, 0x209C).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2CF9, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2E00, 0x2E5D).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x3029).addRange(0x3030, 0x303F).addRange(0x3041, 0x3096).addRange(0x309B, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x3190, 0x31E3).addRange(0x31EF, 0x321E).addRange(0x3220, 0xA48C).addRange(0xA490, 0xA4C6).addRange(0xA4D0, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67E, 0xA69D).addRange(0xA6A0, 0xA6EF).addRange(0xA6F2, 0xA6F7).addRange(0xA700, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A);\nset.addRange(0xA80C, 0xA824).addRange(0xA827, 0xA82B).addRange(0xA830, 0xA839).addRange(0xA840, 0xA877).addRange(0xA880, 0xA8C3).addRange(0xA8CE, 0xA8D9).addRange(0xA8F2, 0xA8FE).addRange(0xA900, 0xA925).addRange(0xA92E, 0xA946).addRange(0xA952, 0xA953).addRange(0xA95F, 0xA97C).addRange(0xA983, 0xA9B2).addRange(0xA9B4, 0xA9B5).addRange(0xA9BA, 0xA9BB).addRange(0xA9BE, 0xA9CD).addRange(0xA9CF, 0xA9D9).addRange(0xA9DE, 0xA9E4).addRange(0xA9E6, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA2F, 0xAA30).addRange(0xAA33, 0xAA34).addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAA7B).addRange(0xAA7D, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAAEB).addRange(0xAAEE, 0xAAF5).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB6B).addRange(0xAB70, 0xABE4).addRange(0xABE6, 0xABE7).addRange(0xABE9, 0xABEC).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44);\nset.addRange(0xFB46, 0xFBC2).addRange(0xFBD3, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFF).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF01, 0xFF9D).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFFC, 0xFFFD).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x102E1, 0x102FB).addRange(0x10300, 0x10323).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x1039F, 0x103C3).addRange(0x103C8, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x1056F, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1);\nset.addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10857, 0x1089E).addRange(0x108A7, 0x108AF).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x1091B).addRange(0x1091F, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x10A00).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A40, 0x10A48).addRange(0x10A50, 0x10A58).addRange(0x10A60, 0x10A9F).addRange(0x10AC0, 0x10AE4).addRange(0x10AEB, 0x10AF6).addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B55).addRange(0x10B58, 0x10B72).addRange(0x10B78, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10D23).addRange(0x10D30, 0x10D39).addRange(0x10E60, 0x10E7E).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F27).addRange(0x10F30, 0x10F45).addRange(0x10F51, 0x10F59).addRange(0x10F70, 0x10F81).addRange(0x10F86, 0x10F89).addRange(0x10FB0, 0x10FCB).addRange(0x10FE0, 0x10FF6);\nset.addRange(0x11002, 0x11037).addRange(0x11047, 0x1104D).addRange(0x11052, 0x1106F).addRange(0x11071, 0x11072).addRange(0x11082, 0x110B2).addRange(0x110B7, 0x110B8).addRange(0x110BB, 0x110BC).addRange(0x110BE, 0x110C1).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11103, 0x11126).addRange(0x11136, 0x11147).addRange(0x11150, 0x11172).addRange(0x11174, 0x11176).addRange(0x11182, 0x111B5).addRange(0x111BF, 0x111C8).addRange(0x111CD, 0x111CE).addRange(0x111D0, 0x111DF).addRange(0x111E1, 0x111F4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122E).addRange(0x11232, 0x11233).addRange(0x11238, 0x1123D).addRange(0x1123F, 0x11240).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9).addRange(0x112B0, 0x112DE).addRange(0x112E0, 0x112E2).addRange(0x112F0, 0x112F9).addRange(0x11302, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x11341, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11400, 0x11437).addRange(0x11440, 0x11441).addRange(0x11447, 0x1145B).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114B1, 0x114B2).addRange(0x114BB, 0x114BC).addRange(0x114C4, 0x114C7).addRange(0x114D0, 0x114D9);\nset.addRange(0x11580, 0x115AE).addRange(0x115B0, 0x115B1).addRange(0x115B8, 0x115BB).addRange(0x115C1, 0x115DB).addRange(0x11600, 0x11632).addRange(0x1163B, 0x1163C).addRange(0x11641, 0x11644).addRange(0x11650, 0x11659).addRange(0x11660, 0x1166C).addRange(0x11680, 0x116AA).addRange(0x116AE, 0x116AF).addRange(0x116B8, 0x116B9).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x11720, 0x11721).addRange(0x11730, 0x11746).addRange(0x11800, 0x1182E).addRange(0x118A0, 0x118F2).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x11931, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193F, 0x11942).addRange(0x11944, 0x11946).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D3).addRange(0x119DC, 0x119DF).addRange(0x119E1, 0x119E4).addRange(0x11A0B, 0x11A32).addRange(0x11A39, 0x11A3A).addRange(0x11A3F, 0x11A46).addRange(0x11A57, 0x11A58).addRange(0x11A5C, 0x11A89).addRange(0x11A9A, 0x11AA2).addRange(0x11AB0, 0x11AF8).addRange(0x11B00, 0x11B09).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2F).addRange(0x11C40, 0x11C45).addRange(0x11C50, 0x11C6C).addRange(0x11C70, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E);\nset.addRange(0x11D93, 0x11D94).addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF2).addRange(0x11EF5, 0x11EF8).addRange(0x11F02, 0x11F10).addRange(0x11F12, 0x11F35).addRange(0x11F3E, 0x11F3F).addRange(0x11F43, 0x11F59).addRange(0x11FC0, 0x11FF1).addRange(0x11FFF, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF2).addRange(0x13000, 0x1342F).addRange(0x13441, 0x13446).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B37, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E9A).addRange(0x16F00, 0x16F4A).addRange(0x16F50, 0x16F87).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE3).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5);\nset.addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D164).addRange(0x1D16A, 0x1D16D).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D200, 0x1D241).addRange(0x1D2C0, 0x1D2D3).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D360, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D9FF).addRange(0x1DA37, 0x1DA3A).addRange(0x1DA6D, 0x1DA74).addRange(0x1DA76, 0x1DA83).addRange(0x1DA85, 0x1DA8B).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E030, 0x1E06D).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E2F0, 0x1E2F9).addRange(0x1E4D0, 0x1E4EB).addRange(0x1E4F0, 0x1E4F9).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E8C7, 0x1E8CF);\nset.addRange(0x1E900, 0x1E943).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F).addRange(0x1EC71, 0x1ECB4).addRange(0x1ED01, 0x1ED3D).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DC, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F776).addRange(0x1F77B, 0x1F7D9).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88);\nset.addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2EBF0, 0x2EE5D).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);\nexports.characters = set;\n","const set = require('regenerate')(0x5BF, 0x5C7, 0x670, 0x711, 0x7FD, 0x93A, 0x93C, 0x94D, 0x981, 0x9BC, 0x9BE, 0x9CD, 0x9D7, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xACD, 0xB01, 0xB3C, 0xB4D, 0xB82, 0xBBE, 0xBC0, 0xBCD, 0xBD7, 0xC00, 0xC04, 0xC3C, 0xC81, 0xCBC, 0xCBF, 0xCC2, 0xCC6, 0xD3E, 0xD4D, 0xD57, 0xD81, 0xDCA, 0xDCF, 0xDD6, 0xDDF, 0xE31, 0xEB1, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1082, 0x108D, 0x109D, 0x17C6, 0x17DD, 0x180F, 0x18A9, 0x1932, 0x1A1B, 0x1A56, 0x1A60, 0x1A62, 0x1A7F, 0x1B3C, 0x1B42, 0x1BE6, 0x1BED, 0x1CED, 0x1CF4, 0x200C, 0x2D7F, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9B3, 0xA9E5, 0xAA43, 0xAA4C, 0xAA7C, 0xAAB0, 0xAAC1, 0xAAF6, 0xABE5, 0xABE8, 0xABED, 0xFB1E, 0x101FD, 0x102E0, 0x10A3F, 0x11001, 0x11070, 0x110C2, 0x11173, 0x111CF, 0x11234, 0x1123E, 0x11241, 0x112DF, 0x1133E, 0x11340, 0x11357, 0x11446, 0x1145E, 0x114B0, 0x114BA, 0x114BD, 0x115AF, 0x1163D, 0x116AB, 0x116AD, 0x116B7, 0x11930, 0x1193E, 0x11943, 0x119E0, 0x11A47, 0x11C3F, 0x11D3A, 0x11D47, 0x11D95, 0x11D97, 0x11F40, 0x11F42, 0x13440, 0x16F4F, 0x16FE4, 0x1D165, 0x1DA75, 0x1DA84, 0x1E08F, 0x1E2AE);\nset.addRange(0x300, 0x36F).addRange(0x483, 0x489).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DC).addRange(0x6DF, 0x6E4).addRange(0x6E7, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F3).addRange(0x816, 0x819).addRange(0x81B, 0x823).addRange(0x825, 0x827).addRange(0x829, 0x82D).addRange(0x859, 0x85B).addRange(0x898, 0x89F).addRange(0x8CA, 0x8E1).addRange(0x8E3, 0x902).addRange(0x941, 0x948).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x9C1, 0x9C4).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA02).addRange(0xA41, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA82).addRange(0xAC1, 0xAC5).addRange(0xAC7, 0xAC8).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB3E, 0xB3F).addRange(0xB41, 0xB44).addRange(0xB55, 0xB57).addRange(0xB62, 0xB63).addRange(0xC3E, 0xC40).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xCCC, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD01).addRange(0xD3B, 0xD3C);\nset.addRange(0xD41, 0xD44).addRange(0xD62, 0xD63).addRange(0xDD2, 0xDD4).addRange(0xE34, 0xE3A).addRange(0xE47, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECE).addRange(0xF18, 0xF19).addRange(0xF71, 0xF7E).addRange(0xF80, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102D, 0x1030).addRange(0x1032, 0x1037).addRange(0x1039, 0x103A).addRange(0x103D, 0x103E).addRange(0x1058, 0x1059).addRange(0x105E, 0x1060).addRange(0x1071, 0x1074).addRange(0x1085, 0x1086).addRange(0x135D, 0x135F).addRange(0x1712, 0x1714).addRange(0x1732, 0x1733).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17B5).addRange(0x17B7, 0x17BD).addRange(0x17C9, 0x17D3).addRange(0x180B, 0x180D).addRange(0x1885, 0x1886).addRange(0x1920, 0x1922).addRange(0x1927, 0x1928).addRange(0x1939, 0x193B).addRange(0x1A17, 0x1A18).addRange(0x1A58, 0x1A5E).addRange(0x1A65, 0x1A6C).addRange(0x1A73, 0x1A7C).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B03).addRange(0x1B34, 0x1B3A).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B81).addRange(0x1BA2, 0x1BA5).addRange(0x1BA8, 0x1BA9).addRange(0x1BAB, 0x1BAD).addRange(0x1BE8, 0x1BE9).addRange(0x1BEF, 0x1BF1).addRange(0x1C2C, 0x1C33).addRange(0x1C36, 0x1C37).addRange(0x1CD0, 0x1CD2);\nset.addRange(0x1CD4, 0x1CE0).addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x20D0, 0x20F0).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302F).addRange(0x3099, 0x309A).addRange(0xA66F, 0xA672).addRange(0xA674, 0xA67D).addRange(0xA69E, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA825, 0xA826).addRange(0xA8C4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA951).addRange(0xA980, 0xA982).addRange(0xA9B6, 0xA9B9).addRange(0xA9BC, 0xA9BD).addRange(0xAA29, 0xAA2E).addRange(0xAA31, 0xAA32).addRange(0xAA35, 0xAA36).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEC, 0xAAED).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFF9E, 0xFF9F).addRange(0x10376, 0x1037A).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC).addRange(0x10EFD, 0x10EFF).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11081).addRange(0x110B3, 0x110B6).addRange(0x110B9, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x1112B).addRange(0x1112D, 0x11134).addRange(0x11180, 0x11181);\nset.addRange(0x111B6, 0x111BE).addRange(0x111C9, 0x111CC).addRange(0x1122F, 0x11231).addRange(0x11236, 0x11237).addRange(0x112E3, 0x112EA).addRange(0x11300, 0x11301).addRange(0x1133B, 0x1133C).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11438, 0x1143F).addRange(0x11442, 0x11444).addRange(0x114B3, 0x114B8).addRange(0x114BF, 0x114C0).addRange(0x114C2, 0x114C3).addRange(0x115B2, 0x115B5).addRange(0x115BC, 0x115BD).addRange(0x115BF, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11633, 0x1163A).addRange(0x1163F, 0x11640).addRange(0x116B0, 0x116B5).addRange(0x1171D, 0x1171F).addRange(0x11722, 0x11725).addRange(0x11727, 0x1172B).addRange(0x1182F, 0x11837).addRange(0x11839, 0x1183A).addRange(0x1193B, 0x1193C).addRange(0x119D4, 0x119D7).addRange(0x119DA, 0x119DB).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A38).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A56).addRange(0x11A59, 0x11A5B).addRange(0x11A8A, 0x11A96).addRange(0x11A98, 0x11A99).addRange(0x11C30, 0x11C36).addRange(0x11C38, 0x11C3D).addRange(0x11C92, 0x11CA7).addRange(0x11CAA, 0x11CB0).addRange(0x11CB2, 0x11CB3).addRange(0x11CB5, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D45).addRange(0x11D90, 0x11D91).addRange(0x11EF3, 0x11EF4).addRange(0x11F00, 0x11F01).addRange(0x11F36, 0x11F3A).addRange(0x13447, 0x13455).addRange(0x16AF0, 0x16AF4);\nset.addRange(0x16B30, 0x16B36).addRange(0x16F8F, 0x16F92).addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D16E, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E4EC, 0x1E4EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94A).addRange(0xE0020, 0xE007F).addRange(0xE0100, 0xE01EF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x30, 0x39).addRange(0x41, 0x46).addRange(0x61, 0x66).addRange(0xFF10, 0xFF19).addRange(0xFF21, 0xFF26).addRange(0xFF41, 0xFF46);\nexports.characters = set;\n","const set = require('regenerate')(0x5F, 0xAA, 0xB5, 0xB7, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x38C, 0x559, 0x5BF, 0x5C7, 0x6FF, 0x7FA, 0x7FD, 0x9B2, 0x9D7, 0x9FC, 0x9FE, 0xA3C, 0xA51, 0xA5E, 0xAD0, 0xB71, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xDBD, 0xDCA, 0xDD6, 0xE84, 0xEA5, 0xEC6, 0xF00, 0xF35, 0xF37, 0xF39, 0xFC6, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x1AA7, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2054, 0x2071, 0x207F, 0x20E1, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA82C, 0xA8FB, 0xFB3E, 0xFF3F, 0x101FD, 0x102E0, 0x10808, 0x1083C, 0x10A3F, 0x10F27, 0x110C2, 0x11176, 0x111DC, 0x11288, 0x11350, 0x11357, 0x114C7, 0x11644, 0x11909, 0x11A47, 0x11A9D, 0x11D3A, 0x11FB0, 0x1B132, 0x1B155, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1DA75, 0x1DA84, 0x1E08F, 0x1E14E, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x300, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x386, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x483, 0x487).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x610, 0x61A).addRange(0x620, 0x669).addRange(0x66E, 0x6D3).addRange(0x6D5, 0x6DC).addRange(0x6DF, 0x6E8).addRange(0x6EA, 0x6FC).addRange(0x710, 0x74A).addRange(0x74D, 0x7B1).addRange(0x7C0, 0x7F5).addRange(0x800, 0x82D).addRange(0x840, 0x85B).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x898, 0x8E1).addRange(0x8E3, 0x963).addRange(0x966, 0x96F).addRange(0x971, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD);\nset.addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9F1).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA75).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAEF).addRange(0xAF9, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB6F).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9);\nset.addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBEF).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC80, 0xC83).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF3).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4E).addRange(0xD54, 0xD57).addRange(0xD5F, 0xD63).addRange(0xD66, 0xD6F).addRange(0xD7A, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF3).addRange(0xE01, 0xE3A).addRange(0xE40, 0xE4E).addRange(0xE50, 0xE59).addRange(0xE81, 0xE82);\nset.addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECE).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF18, 0xF19).addRange(0xF20, 0xF29).addRange(0xF3E, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF84).addRange(0xF86, 0xF97).addRange(0xF99, 0xFBC).addRange(0x1000, 0x1049).addRange(0x1050, 0x109D).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x135F).addRange(0x1369, 0x1371).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1715).addRange(0x171F, 0x1734).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17D3).addRange(0x17DC, 0x17DD).addRange(0x17E0, 0x17E9);\nset.addRange(0x180B, 0x180D).addRange(0x180F, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1946, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x1A00, 0x1A1B).addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AB0, 0x1ABD).addRange(0x1ABF, 0x1ACE).addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B59).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1BF3).addRange(0x1C00, 0x1C37).addRange(0x1C40, 0x1C49).addRange(0x1C4D, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CFA).addRange(0x1D00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x200C, 0x200D).addRange(0x203F, 0x2040).addRange(0x2090, 0x209C).addRange(0x20D0, 0x20DC);\nset.addRange(0x20E5, 0x20F0).addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D7F, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2DFF).addRange(0x3005, 0x3007).addRange(0x3021, 0x302F).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x3099, 0x309F).addRange(0x30A1, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA62B).addRange(0xA640, 0xA66F).addRange(0xA674, 0xA67D).addRange(0xA67F, 0xA6F1).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA827).addRange(0xA840, 0xA873).addRange(0xA880, 0xA8C5).addRange(0xA8D0, 0xA8D9).addRange(0xA8E0, 0xA8F7).addRange(0xA8FD, 0xA92D);\nset.addRange(0xA930, 0xA953).addRange(0xA960, 0xA97C).addRange(0xA980, 0xA9C0).addRange(0xA9CF, 0xA9D9).addRange(0xA9E0, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA60, 0xAA76).addRange(0xAA7A, 0xAAC2).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEF).addRange(0xAAF2, 0xAAF6).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABEA).addRange(0xABEC, 0xABED).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFE33, 0xFE34).addRange(0xFE4D, 0xFE4F).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF10, 0xFF19).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF65, 0xFFBE).addRange(0xFFC2, 0xFFC7);\nset.addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7);\nset.addRange(0x109BE, 0x109BF).addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE6).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAC).addRange(0x10EB0, 0x10EB1).addRange(0x10EFD, 0x10F1C).addRange(0x10F30, 0x10F50).addRange(0x10F70, 0x10F85).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x11046).addRange(0x11066, 0x11075).addRange(0x1107F, 0x110BA).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11100, 0x11134).addRange(0x11136, 0x1113F).addRange(0x11144, 0x11147).addRange(0x11150, 0x11173).addRange(0x11180, 0x111C4).addRange(0x111C9, 0x111CC).addRange(0x111CE, 0x111DA).addRange(0x11200, 0x11211).addRange(0x11213, 0x11237).addRange(0x1123E, 0x11241).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C);\nset.addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11400, 0x1144A).addRange(0x11450, 0x11459).addRange(0x1145E, 0x11461).addRange(0x11480, 0x114C5).addRange(0x114D0, 0x114D9).addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115C0).addRange(0x115D8, 0x115DD).addRange(0x11600, 0x11640).addRange(0x11650, 0x11659).addRange(0x11680, 0x116B8).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11739).addRange(0x11740, 0x11746).addRange(0x11800, 0x1183A).addRange(0x118A0, 0x118E9).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11943).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E1).addRange(0x119E3, 0x119E4).addRange(0x11A00, 0x11A3E).addRange(0x11A50, 0x11A99).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C40).addRange(0x11C50, 0x11C59).addRange(0x11C72, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D00, 0x11D06);\nset.addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF6).addRange(0x11F00, 0x11F10).addRange(0x11F12, 0x11F3A).addRange(0x11F3E, 0x11F42).addRange(0x11F50, 0x11F59).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342F).addRange(0x13440, 0x13455).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF4).addRange(0x16B00, 0x16B36).addRange(0x16B40, 0x16B43).addRange(0x16B50, 0x16B59).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FE3, 0x16FE4).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167);\nset.addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D165, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021);\nset.addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E030, 0x1E06D).addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E290, 0x1E2AE).addRange(0x1E2C0, 0x1E2F9).addRange(0x1E4D0, 0x1E4F9).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2EBF0, 0x2EE5D).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF).addRange(0xE0100, 0xE01EF);\nexports.characters = set;\n","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x386, 0x38C, 0x559, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x7FA, 0x81A, 0x824, 0x828, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xEC6, 0xF00, 0x103F, 0x1061, 0x108E, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x18AA, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA8FB, 0xA9CF, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11F02, 0x11FB0, 0x16F50, 0x16FE3, 0x1B132, 0x1B155, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E14E, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x971, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33);\nset.addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6);\nset.addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066).addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1878).addRange(0x1880, 0x18A8);\nset.addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96);\nset.addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3005, 0x3007).addRange(0x3021, 0x3029).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x309B, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67F, 0xA69D).addRange(0xA6A0, 0xA6EF).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E6, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA40, 0xAA42);\nset.addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA76).addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEA).addRange(0xAAF2, 0xAAF4).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C);\nset.addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48);\nset.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x1123F, 0x11240).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7);\nset.addRange(0x119AA, 0x119D0).addRange(0x11A0B, 0x11A32).addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x11F04, 0x11F10).addRange(0x11F12, 0x11F33).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342F).addRange(0x13441, 0x13446).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C);\nset.addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E030, 0x1E06D).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E4D0, 0x1E4EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C);\nset.addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2EBF0, 0x2EE5D).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);\nexports.characters = set;\n","const set = require('regenerate')(0x16FE4);\nset.addRange(0x3006, 0x3007).addRange(0x3021, 0x3029).addRange(0x3038, 0x303A).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1B170, 0x1B2FB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2EBF0, 0x2EE5D).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);\nexports.characters = set;\n","const set = require('regenerate')(0x31EF);\nset.addRange(0x2FF0, 0x2FF1).addRange(0x2FF4, 0x2FFD);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x2FF2, 0x2FF3);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x200C, 0x200D);\nexports.characters = set;\n","const set = require('regenerate')(0x19BA, 0xAAB9);\nset.addRange(0xE40, 0xE44).addRange(0xEC0, 0xEC4).addRange(0x19B5, 0x19B7).addRange(0xAAB5, 0xAAB6).addRange(0xAABB, 0xAABC);\nexports.characters = set;\n","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1C6, 0x1C9, 0x1CC, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F3, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x221, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x345, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1E9F, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBE, 0x2071, 0x207F, 0x210A, 0x2113, 0x212F, 0x2134, 0x2139, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C71, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA78E, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7AF, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D3, 0xA7D5, 0xA7D7, 0xA7D9, 0xA7F6, 0x10780, 0x1D4BB, 0x1D7CB);\nset.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x137, 0x138).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x18C, 0x18D).addRange(0x199, 0x19B).addRange(0x1AA, 0x1AB).addRange(0x1B9, 0x1BA).addRange(0x1BD, 0x1BF).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F0).addRange(0x233, 0x239).addRange(0x23F, 0x240).addRange(0x24F, 0x293).addRange(0x295, 0x2B8).addRange(0x2C0, 0x2C1).addRange(0x2E0, 0x2E4).addRange(0x37A, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x3FB, 0x3FC).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x560, 0x588).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x10FF).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1D00, 0x1DBF).addRange(0x1E95, 0x1E9D).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1F87).addRange(0x1F90, 0x1F97).addRange(0x1FA0, 0x1FA7).addRange(0x1FB0, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7);\nset.addRange(0x1FE0, 0x1FE7).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FF7).addRange(0x2090, 0x209C).addRange(0x210E, 0x210F).addRange(0x213C, 0x213D).addRange(0x2146, 0x2149).addRange(0x2170, 0x217F).addRange(0x24D0, 0x24E9).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2C73, 0x2C74).addRange(0x2C76, 0x2C7D).addRange(0x2CE3, 0x2CE4).addRange(0x2D00, 0x2D25).addRange(0xA69B, 0xA69D).addRange(0xA72F, 0xA731).addRange(0xA76F, 0xA778).addRange(0xA793, 0xA795).addRange(0xA7F2, 0xA7F4).addRange(0xA7F8, 0xA7FA).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10783, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1D41A, 0x1D433).addRange(0x1D44E, 0x1D454).addRange(0x1D456, 0x1D467).addRange(0x1D482, 0x1D49B).addRange(0x1D4B6, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D4CF).addRange(0x1D4EA, 0x1D503).addRange(0x1D51E, 0x1D537).addRange(0x1D552, 0x1D56B).addRange(0x1D586, 0x1D59F).addRange(0x1D5BA, 0x1D5D3);\nset.addRange(0x1D5EE, 0x1D607).addRange(0x1D622, 0x1D63B).addRange(0x1D656, 0x1D66F).addRange(0x1D68A, 0x1D6A5).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6E1).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D71B).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D755).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D78F).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7C9).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E030, 0x1E06D).addRange(0x1E922, 0x1E943);\nexports.characters = set;\n","const set = require('regenerate')(0x2B, 0x5E, 0x7C, 0x7E, 0xAC, 0xB1, 0xD7, 0xF7, 0x3D5, 0x2016, 0x2040, 0x2044, 0x2052, 0x20E1, 0x2102, 0x2107, 0x2115, 0x2124, 0x214B, 0x21DD, 0x237C, 0x23B7, 0x23D0, 0x25E2, 0x25E4, 0x2640, 0x2642, 0xFB29, 0xFE68, 0xFF0B, 0xFF3C, 0xFF3E, 0xFF5C, 0xFF5E, 0xFFE2, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x3C, 0x3E).addRange(0x3D0, 0x3D2).addRange(0x3F0, 0x3F1).addRange(0x3F4, 0x3F6).addRange(0x606, 0x608).addRange(0x2032, 0x2034).addRange(0x2061, 0x2064).addRange(0x207A, 0x207E).addRange(0x208A, 0x208E).addRange(0x20D0, 0x20DC).addRange(0x20E5, 0x20E6).addRange(0x20EB, 0x20EF).addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x2128, 0x2129).addRange(0x212C, 0x212D).addRange(0x212F, 0x2131).addRange(0x2133, 0x2138).addRange(0x213C, 0x2149).addRange(0x2190, 0x21A7).addRange(0x21A9, 0x21AE).addRange(0x21B0, 0x21B1).addRange(0x21B6, 0x21B7).addRange(0x21BC, 0x21DB).addRange(0x21E4, 0x21E5).addRange(0x21F4, 0x22FF).addRange(0x2308, 0x230B).addRange(0x2320, 0x2321).addRange(0x239B, 0x23B5).addRange(0x23DC, 0x23E2).addRange(0x25A0, 0x25A1).addRange(0x25AE, 0x25B7).addRange(0x25BC, 0x25C1).addRange(0x25C6, 0x25C7).addRange(0x25CA, 0x25CB).addRange(0x25CF, 0x25D3).addRange(0x25E7, 0x25EC).addRange(0x25F8, 0x25FF).addRange(0x2605, 0x2606).addRange(0x2660, 0x2663).addRange(0x266D, 0x266F).addRange(0x27C0, 0x27FF).addRange(0x2900, 0x2AFF).addRange(0x2B30, 0x2B44).addRange(0x2B47, 0x2B4C).addRange(0xFE61, 0xFE66).addRange(0xFF1C, 0xFF1E).addRange(0xFFE9, 0xFFEC).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F);\nset.addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xFDD0, 0xFDEF).addRange(0xFFFE, 0xFFFF).addRange(0x1FFFE, 0x1FFFF).addRange(0x2FFFE, 0x2FFFF).addRange(0x3FFFE, 0x3FFFF).addRange(0x4FFFE, 0x4FFFF).addRange(0x5FFFE, 0x5FFFF).addRange(0x6FFFE, 0x6FFFF).addRange(0x7FFFE, 0x7FFFF).addRange(0x8FFFE, 0x8FFFF).addRange(0x9FFFE, 0x9FFFF).addRange(0xAFFFE, 0xAFFFF).addRange(0xBFFFE, 0xBFFFF).addRange(0xCFFFE, 0xCFFFF).addRange(0xDFFFE, 0xDFFFF).addRange(0xEFFFE, 0xEFFFF).addRange(0xFFFFE, 0xFFFFF).addRange(0x10FFFE, 0x10FFFF);\nexports.characters = set;\n","const set = require('regenerate')(0x60, 0xA9, 0xAE, 0xB6, 0xBB, 0xBF, 0xD7, 0xF7, 0x3030);\nset.addRange(0x21, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0x7E).addRange(0xA1, 0xA7).addRange(0xAB, 0xAC).addRange(0xB0, 0xB1).addRange(0x2010, 0x2027).addRange(0x2030, 0x203E).addRange(0x2041, 0x2053).addRange(0x2055, 0x205E).addRange(0x2190, 0x245F).addRange(0x2500, 0x2775).addRange(0x2794, 0x2BFF).addRange(0x2E00, 0x2E7F).addRange(0x3001, 0x3003).addRange(0x3008, 0x3020).addRange(0xFD3E, 0xFD3F).addRange(0xFE45, 0xFE46);\nexports.characters = set;\n","const set = require('regenerate')(0x20, 0x85);\nset.addRange(0x9, 0xD).addRange(0x200E, 0x200F).addRange(0x2028, 0x2029);\nexports.characters = set;\n","const set = require('regenerate')(0x22, 0x27, 0xAB, 0xBB, 0x2E42, 0xFF02, 0xFF07);\nset.addRange(0x2018, 0x201F).addRange(0x2039, 0x203A).addRange(0x300C, 0x300F).addRange(0x301D, 0x301F).addRange(0xFE41, 0xFE44).addRange(0xFF62, 0xFF63);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1F1E6, 0x1F1FF);\nexports.characters = set;\n","const set = require('regenerate')(0x21, 0x2E, 0x3F, 0x589, 0x6D4, 0x7F9, 0x837, 0x839, 0x1362, 0x166E, 0x1803, 0x1809, 0x2E2E, 0x2E3C, 0x3002, 0xA4FF, 0xA6F3, 0xA6F7, 0xA92F, 0xABEB, 0xFE52, 0xFF01, 0xFF0E, 0xFF1F, 0xFF61, 0x111CD, 0x112A9, 0x11944, 0x11946, 0x16AF5, 0x16B44, 0x16E98, 0x1BC9F, 0x1DA88);\nset.addRange(0x61D, 0x61F).addRange(0x700, 0x702).addRange(0x83D, 0x83E).addRange(0x964, 0x965).addRange(0x104A, 0x104B).addRange(0x1367, 0x1368).addRange(0x1735, 0x1736).addRange(0x17D4, 0x17D5).addRange(0x1944, 0x1945).addRange(0x1AA8, 0x1AAB).addRange(0x1B5A, 0x1B5B).addRange(0x1B5E, 0x1B5F).addRange(0x1B7D, 0x1B7E).addRange(0x1C3B, 0x1C3C).addRange(0x1C7E, 0x1C7F).addRange(0x203C, 0x203D).addRange(0x2047, 0x2049).addRange(0x2E53, 0x2E54).addRange(0xA60E, 0xA60F).addRange(0xA876, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA9C8, 0xA9C9).addRange(0xAA5D, 0xAA5F).addRange(0xAAF0, 0xAAF1).addRange(0xFE56, 0xFE57).addRange(0x10A56, 0x10A57).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x11048).addRange(0x110BE, 0x110C1).addRange(0x11141, 0x11143).addRange(0x111C5, 0x111C6).addRange(0x111DE, 0x111DF).addRange(0x11238, 0x11239).addRange(0x1123B, 0x1123C).addRange(0x1144B, 0x1144C).addRange(0x115C2, 0x115C3).addRange(0x115C9, 0x115D7).addRange(0x11641, 0x11642).addRange(0x1173C, 0x1173E).addRange(0x11A42, 0x11A43).addRange(0x11A9B, 0x11A9C).addRange(0x11C41, 0x11C42).addRange(0x11EF7, 0x11EF8).addRange(0x11F43, 0x11F44).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B38);\nexports.characters = set;\n","const set = require('regenerate')(0x12F, 0x249, 0x268, 0x29D, 0x2B2, 0x3F3, 0x456, 0x458, 0x1D62, 0x1D96, 0x1DA4, 0x1DA8, 0x1E2D, 0x1ECB, 0x2071, 0x2C7C, 0x1DF1A, 0x1E068);\nset.addRange(0x69, 0x6A).addRange(0x2148, 0x2149).addRange(0x1D422, 0x1D423).addRange(0x1D456, 0x1D457).addRange(0x1D48A, 0x1D48B).addRange(0x1D4BE, 0x1D4BF).addRange(0x1D4F2, 0x1D4F3).addRange(0x1D526, 0x1D527).addRange(0x1D55A, 0x1D55B).addRange(0x1D58E, 0x1D58F).addRange(0x1D5C2, 0x1D5C3).addRange(0x1D5F6, 0x1D5F7).addRange(0x1D62A, 0x1D62B).addRange(0x1D65E, 0x1D65F).addRange(0x1D692, 0x1D693).addRange(0x1E04C, 0x1E04D);\nexports.characters = set;\n","const set = require('regenerate')(0x21, 0x2C, 0x2E, 0x3F, 0x37E, 0x387, 0x589, 0x5C3, 0x60C, 0x61B, 0x6D4, 0x70C, 0x85E, 0xF08, 0x166E, 0x17DA, 0x2E2E, 0x2E3C, 0x2E41, 0x2E4C, 0xA92F, 0xAADF, 0xABEB, 0xFF01, 0xFF0C, 0xFF0E, 0xFF1F, 0xFF61, 0xFF64, 0x1039F, 0x103D0, 0x10857, 0x1091F, 0x111CD, 0x112A9, 0x11944, 0x11946, 0x11C71, 0x16AF5, 0x16B44, 0x1BC9F);\nset.addRange(0x3A, 0x3B).addRange(0x61D, 0x61F).addRange(0x700, 0x70A).addRange(0x7F8, 0x7F9).addRange(0x830, 0x83E).addRange(0x964, 0x965).addRange(0xE5A, 0xE5B).addRange(0xF0D, 0xF12).addRange(0x104A, 0x104B).addRange(0x1361, 0x1368).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x17D4, 0x17D6).addRange(0x1802, 0x1805).addRange(0x1808, 0x1809).addRange(0x1944, 0x1945).addRange(0x1AA8, 0x1AAB).addRange(0x1B5A, 0x1B5B).addRange(0x1B5D, 0x1B5F).addRange(0x1B7D, 0x1B7E).addRange(0x1C3B, 0x1C3F).addRange(0x1C7E, 0x1C7F).addRange(0x203C, 0x203D).addRange(0x2047, 0x2049).addRange(0x2E4E, 0x2E4F).addRange(0x2E53, 0x2E54).addRange(0x3001, 0x3002).addRange(0xA4FE, 0xA4FF).addRange(0xA60D, 0xA60F).addRange(0xA6F3, 0xA6F7).addRange(0xA876, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA9C7, 0xA9C9).addRange(0xAA5D, 0xAA5F).addRange(0xAAF0, 0xAAF1).addRange(0xFE50, 0xFE52).addRange(0xFE54, 0xFE57).addRange(0xFF1A, 0xFF1B).addRange(0x10A56, 0x10A57).addRange(0x10AF0, 0x10AF5).addRange(0x10B3A, 0x10B3F).addRange(0x10B99, 0x10B9C).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x1104D).addRange(0x110BE, 0x110C1).addRange(0x11141, 0x11143).addRange(0x111C5, 0x111C6).addRange(0x111DE, 0x111DF).addRange(0x11238, 0x1123C).addRange(0x1144B, 0x1144D);\nset.addRange(0x1145A, 0x1145B).addRange(0x115C2, 0x115C5).addRange(0x115C9, 0x115D7).addRange(0x11641, 0x11642).addRange(0x1173C, 0x1173E).addRange(0x11A42, 0x11A43).addRange(0x11A9B, 0x11A9C).addRange(0x11AA1, 0x11AA2).addRange(0x11C41, 0x11C43).addRange(0x11EF7, 0x11EF8).addRange(0x11F43, 0x11F44).addRange(0x12470, 0x12474).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B39).addRange(0x16E97, 0x16E98).addRange(0x1DA87, 0x1DA8A);\nexports.characters = set;\n","const set = require('regenerate')(0xFA11, 0xFA1F, 0xFA21);\nset.addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xFA0E, 0xFA0F).addRange(0xFA13, 0xFA14).addRange(0xFA23, 0xFA24).addRange(0xFA27, 0xFA29).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2EBF0, 0x2EE5D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);\nexports.characters = set;\n","const set = require('regenerate')(0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14A, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1C4, 0x1C7, 0x1CA, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F1, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3CF, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F4, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2145, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5, 0x1D49C, 0x1D4A2, 0x1D546, 0x1D7CA);\nset.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDE).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3D2, 0x3D4).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13A0, 0x13F5).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1FB8, 0x1FBB).addRange(0x1FC8, 0x1FCB).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF8, 0x1FFB).addRange(0x210B, 0x210D).addRange(0x2110, 0x2112).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x2130, 0x2133).addRange(0x213E, 0x213F).addRange(0x2160, 0x216F);\nset.addRange(0x24B6, 0x24CF).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1D400, 0x1D419).addRange(0x1D434, 0x1D44D).addRange(0x1D468, 0x1D481).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B5).addRange(0x1D4D0, 0x1D4E9).addRange(0x1D504, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D538, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D56C, 0x1D585).addRange(0x1D5A0, 0x1D5B9).addRange(0x1D5D4, 0x1D5ED).addRange(0x1D608, 0x1D621).addRange(0x1D63C, 0x1D655).addRange(0x1D670, 0x1D689).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6E2, 0x1D6FA).addRange(0x1D71C, 0x1D734).addRange(0x1D756, 0x1D76E).addRange(0x1D790, 0x1D7A8).addRange(0x1E900, 0x1E921).addRange(0x1F130, 0x1F149).addRange(0x1F150, 0x1F169).addRange(0x1F170, 0x1F189);\nexports.characters = set;\n","const set = require('regenerate')(0x180F);\nset.addRange(0x180B, 0x180D).addRange(0xFE00, 0xFE0F).addRange(0xE0100, 0xE01EF);\nexports.characters = set;\n","const set = require('regenerate')(0x20, 0x85, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000);\nset.addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029);\nexports.characters = set;\n","const set = require('regenerate')(0x5F, 0xAA, 0xB5, 0xB7, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x38C, 0x559, 0x5BF, 0x5C7, 0x6FF, 0x7FA, 0x7FD, 0x9B2, 0x9D7, 0x9FC, 0x9FE, 0xA3C, 0xA51, 0xA5E, 0xAD0, 0xB71, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xDBD, 0xDCA, 0xDD6, 0xE84, 0xEA5, 0xEC6, 0xF00, 0xF35, 0xF37, 0xF39, 0xFC6, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x1AA7, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2054, 0x2071, 0x207F, 0x20E1, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA82C, 0xA8FB, 0xFB3E, 0xFE71, 0xFE73, 0xFE77, 0xFE79, 0xFE7B, 0xFE7D, 0xFF3F, 0x101FD, 0x102E0, 0x10808, 0x1083C, 0x10A3F, 0x10F27, 0x110C2, 0x11176, 0x111DC, 0x11288, 0x11350, 0x11357, 0x114C7, 0x11644, 0x11909, 0x11A47, 0x11A9D, 0x11D3A, 0x11FB0, 0x1B132, 0x1B155, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1DA75, 0x1DA84, 0x1E08F, 0x1E14E, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x300, 0x374).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x386, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x483, 0x487).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x610, 0x61A).addRange(0x620, 0x669).addRange(0x66E, 0x6D3).addRange(0x6D5, 0x6DC).addRange(0x6DF, 0x6E8).addRange(0x6EA, 0x6FC).addRange(0x710, 0x74A).addRange(0x74D, 0x7B1).addRange(0x7C0, 0x7F5).addRange(0x800, 0x82D).addRange(0x840, 0x85B).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x898, 0x8E1).addRange(0x8E3, 0x963).addRange(0x966, 0x96F).addRange(0x971, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD);\nset.addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9F1).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA75).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAEF).addRange(0xAF9, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB6F).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9);\nset.addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBEF).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC80, 0xC83).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF3).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4E).addRange(0xD54, 0xD57).addRange(0xD5F, 0xD63).addRange(0xD66, 0xD6F).addRange(0xD7A, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF3).addRange(0xE01, 0xE3A).addRange(0xE40, 0xE4E).addRange(0xE50, 0xE59).addRange(0xE81, 0xE82);\nset.addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECE).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF18, 0xF19).addRange(0xF20, 0xF29).addRange(0xF3E, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF84).addRange(0xF86, 0xF97).addRange(0xF99, 0xFBC).addRange(0x1000, 0x1049).addRange(0x1050, 0x109D).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x135F).addRange(0x1369, 0x1371).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1715).addRange(0x171F, 0x1734).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17D3).addRange(0x17DC, 0x17DD).addRange(0x17E0, 0x17E9);\nset.addRange(0x180B, 0x180D).addRange(0x180F, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1946, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x1A00, 0x1A1B).addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AB0, 0x1ABD).addRange(0x1ABF, 0x1ACE).addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B59).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1BF3).addRange(0x1C00, 0x1C37).addRange(0x1C40, 0x1C49).addRange(0x1C4D, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CFA).addRange(0x1D00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x200C, 0x200D).addRange(0x203F, 0x2040).addRange(0x2090, 0x209C).addRange(0x20D0, 0x20DC);\nset.addRange(0x20E5, 0x20F0).addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D7F, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2DFF).addRange(0x3005, 0x3007).addRange(0x3021, 0x302F).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x3099, 0x309A).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA62B).addRange(0xA640, 0xA66F).addRange(0xA674, 0xA67D).addRange(0xA67F, 0xA6F1).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA827).addRange(0xA840, 0xA873).addRange(0xA880, 0xA8C5).addRange(0xA8D0, 0xA8D9).addRange(0xA8E0, 0xA8F7);\nset.addRange(0xA8FD, 0xA92D).addRange(0xA930, 0xA953).addRange(0xA960, 0xA97C).addRange(0xA980, 0xA9C0).addRange(0xA9CF, 0xA9D9).addRange(0xA9E0, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA60, 0xAA76).addRange(0xAA7A, 0xAAC2).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEF).addRange(0xAAF2, 0xAAF6).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABEA).addRange(0xABEC, 0xABED).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFC5D).addRange(0xFC64, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDF9).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFE33, 0xFE34).addRange(0xFE4D, 0xFE4F).addRange(0xFE7F, 0xFEFC).addRange(0xFF10, 0xFF19).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF65, 0xFFBE);\nset.addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939);\nset.addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE6).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAC).addRange(0x10EB0, 0x10EB1).addRange(0x10EFD, 0x10F1C).addRange(0x10F30, 0x10F50).addRange(0x10F70, 0x10F85).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x11046).addRange(0x11066, 0x11075).addRange(0x1107F, 0x110BA).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11100, 0x11134).addRange(0x11136, 0x1113F).addRange(0x11144, 0x11147).addRange(0x11150, 0x11173).addRange(0x11180, 0x111C4).addRange(0x111C9, 0x111CC).addRange(0x111CE, 0x111DA).addRange(0x11200, 0x11211).addRange(0x11213, 0x11237).addRange(0x1123E, 0x11241).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9).addRange(0x11300, 0x11303);\nset.addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11400, 0x1144A).addRange(0x11450, 0x11459).addRange(0x1145E, 0x11461).addRange(0x11480, 0x114C5).addRange(0x114D0, 0x114D9).addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115C0).addRange(0x115D8, 0x115DD).addRange(0x11600, 0x11640).addRange(0x11650, 0x11659).addRange(0x11680, 0x116B8).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11739).addRange(0x11740, 0x11746).addRange(0x11800, 0x1183A).addRange(0x118A0, 0x118E9).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11943).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E1).addRange(0x119E3, 0x119E4).addRange(0x11A00, 0x11A3E).addRange(0x11A50, 0x11A99).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C40).addRange(0x11C50, 0x11C59).addRange(0x11C72, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6);\nset.addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF6).addRange(0x11F00, 0x11F10).addRange(0x11F12, 0x11F3A).addRange(0x11F3E, 0x11F42).addRange(0x11F50, 0x11F59).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342F).addRange(0x13440, 0x13455).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF4).addRange(0x16B00, 0x16B36).addRange(0x16B40, 0x16B43).addRange(0x16B50, 0x16B59).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FE3, 0x16FE4).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152);\nset.addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D165, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018);\nset.addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E030, 0x1E06D).addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E290, 0x1E2AE).addRange(0x1E2C0, 0x1E2F9).addRange(0x1E4D0, 0x1E4F9).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2EBF0, 0x2EE5D).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF).addRange(0xE0100, 0xE01EF);\nexports.characters = set;\n","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x386, 0x38C, 0x559, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x7FA, 0x81A, 0x824, 0x828, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE32, 0xE84, 0xEA5, 0xEB2, 0xEBD, 0xEC6, 0xF00, 0x103F, 0x1061, 0x108E, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x18AA, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA8FB, 0xA9CF, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0xFE71, 0xFE73, 0xFE77, 0xFE79, 0xFE7B, 0xFE7D, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11F02, 0x11FB0, 0x16F50, 0x16FE3, 0x1B132, 0x1B155, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E14E, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x971, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33);\nset.addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6);\nset.addRange(0xE01, 0xE30).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066).addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1878).addRange(0x1880, 0x18A8).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E);\nset.addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE);\nset.addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3005, 0x3007).addRange(0x3021, 0x3029).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67F, 0xA69D).addRange(0xA6A0, 0xA6EF).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E6, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA76);\nset.addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEA).addRange(0xAAF2, 0xAAF4).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFC5D).addRange(0xFC64, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDF9).addRange(0xFE7F, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFF9D).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0);\nset.addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2);\nset.addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x1123F, 0x11240).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D0);\nset.addRange(0x11A0B, 0x11A32).addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x11F04, 0x11F10).addRange(0x11F12, 0x11F33).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342F).addRange(0x13441, 0x13446).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F);\nset.addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E030, 0x1E06D).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E4D0, 0x1E4EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89);\nset.addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2EBF0, 0x2EE5D).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);\nexports.characters = set;\n","const set = require('regenerate')(0xB5, 0x37F, 0x386, 0x38C, 0x10C7, 0x10CD, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2139, 0x214E, 0x2D27, 0x2D2D, 0xA7D3, 0xA7FA, 0x1D4A2, 0x1D4BB, 0x1D546);\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x1BA).addRange(0x1BC, 0x1BF).addRange(0x1C4, 0x293).addRange(0x295, 0x2AF).addRange(0x370, 0x373).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1D00, 0x1D2B).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1D9A).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2134).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2183, 0x2184);\nset.addRange(0x2C00, 0x2C7B).addRange(0x2C7E, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0xA640, 0xA66D).addRange(0xA680, 0xA69B).addRange(0xA722, 0xA76F).addRange(0xA771, 0xA787).addRange(0xA78B, 0xA78E).addRange(0xA790, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F5, 0xA7F6).addRange(0xAB30, 0xAB5A).addRange(0xAB60, 0xAB68).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10400, 0x1044F).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x118A0, 0x118DF).addRange(0x16E40, 0x16E7F).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550);\nset.addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E900, 0x1E943);\nexports.characters = set;\n","const set = require('regenerate')(0x29, 0x5D, 0x7D, 0xF3B, 0xF3D, 0x169C, 0x2046, 0x207E, 0x208E, 0x2309, 0x230B, 0x232A, 0x2769, 0x276B, 0x276D, 0x276F, 0x2771, 0x2773, 0x2775, 0x27C6, 0x27E7, 0x27E9, 0x27EB, 0x27ED, 0x27EF, 0x2984, 0x2986, 0x2988, 0x298A, 0x298C, 0x298E, 0x2990, 0x2992, 0x2994, 0x2996, 0x2998, 0x29D9, 0x29DB, 0x29FD, 0x2E23, 0x2E25, 0x2E27, 0x2E29, 0x2E56, 0x2E58, 0x2E5A, 0x2E5C, 0x3009, 0x300B, 0x300D, 0x300F, 0x3011, 0x3015, 0x3017, 0x3019, 0x301B, 0xFD3E, 0xFE18, 0xFE36, 0xFE38, 0xFE3A, 0xFE3C, 0xFE3E, 0xFE40, 0xFE42, 0xFE44, 0xFE48, 0xFE5A, 0xFE5C, 0xFE5E, 0xFF09, 0xFF3D, 0xFF5D, 0xFF60, 0xFF63);\nset.addRange(0x301E, 0x301F);\nexports.characters = set;\n","const set = require('regenerate')(0x5F, 0x2054, 0xFF3F);\nset.addRange(0x203F, 0x2040).addRange(0xFE33, 0xFE34).addRange(0xFE4D, 0xFE4F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x0, 0x1F).addRange(0x7F, 0x9F);\nexports.characters = set;\n","const set = require('regenerate')(0x24, 0x58F, 0x60B, 0x9FB, 0xAF1, 0xBF9, 0xE3F, 0x17DB, 0xA838, 0xFDFC, 0xFE69, 0xFF04, 0x1E2FF, 0x1ECB0);\nset.addRange(0xA2, 0xA5).addRange(0x7FE, 0x7FF).addRange(0x9F2, 0x9F3).addRange(0x20A0, 0x20C0).addRange(0xFFE0, 0xFFE1).addRange(0xFFE5, 0xFFE6).addRange(0x11FDD, 0x11FE0);\nexports.characters = set;\n","const set = require('regenerate')(0x2D, 0x58A, 0x5BE, 0x1400, 0x1806, 0x2E17, 0x2E1A, 0x2E40, 0x2E5D, 0x301C, 0x3030, 0x30A0, 0xFE58, 0xFE63, 0xFF0D, 0x10EAD);\nset.addRange(0x2010, 0x2015).addRange(0x2E3A, 0x2E3B).addRange(0xFE31, 0xFE32);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x30, 0x39).addRange(0x660, 0x669).addRange(0x6F0, 0x6F9).addRange(0x7C0, 0x7C9).addRange(0x966, 0x96F).addRange(0x9E6, 0x9EF).addRange(0xA66, 0xA6F).addRange(0xAE6, 0xAEF).addRange(0xB66, 0xB6F).addRange(0xBE6, 0xBEF).addRange(0xC66, 0xC6F).addRange(0xCE6, 0xCEF).addRange(0xD66, 0xD6F).addRange(0xDE6, 0xDEF).addRange(0xE50, 0xE59).addRange(0xED0, 0xED9).addRange(0xF20, 0xF29).addRange(0x1040, 0x1049).addRange(0x1090, 0x1099).addRange(0x17E0, 0x17E9).addRange(0x1810, 0x1819).addRange(0x1946, 0x194F).addRange(0x19D0, 0x19D9).addRange(0x1A80, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1B50, 0x1B59).addRange(0x1BB0, 0x1BB9).addRange(0x1C40, 0x1C49).addRange(0x1C50, 0x1C59).addRange(0xA620, 0xA629).addRange(0xA8D0, 0xA8D9).addRange(0xA900, 0xA909).addRange(0xA9D0, 0xA9D9).addRange(0xA9F0, 0xA9F9).addRange(0xAA50, 0xAA59).addRange(0xABF0, 0xABF9).addRange(0xFF10, 0xFF19).addRange(0x104A0, 0x104A9).addRange(0x10D30, 0x10D39).addRange(0x11066, 0x1106F).addRange(0x110F0, 0x110F9).addRange(0x11136, 0x1113F).addRange(0x111D0, 0x111D9).addRange(0x112F0, 0x112F9).addRange(0x11450, 0x11459).addRange(0x114D0, 0x114D9).addRange(0x11650, 0x11659).addRange(0x116C0, 0x116C9).addRange(0x11730, 0x11739).addRange(0x118E0, 0x118E9).addRange(0x11950, 0x11959);\nset.addRange(0x11C50, 0x11C59).addRange(0x11D50, 0x11D59).addRange(0x11DA0, 0x11DA9).addRange(0x11F50, 0x11F59).addRange(0x16A60, 0x16A69).addRange(0x16AC0, 0x16AC9).addRange(0x16B50, 0x16B59).addRange(0x1D7CE, 0x1D7FF).addRange(0x1E140, 0x1E149).addRange(0x1E2F0, 0x1E2F9).addRange(0x1E4F0, 0x1E4F9).addRange(0x1E950, 0x1E959).addRange(0x1FBF0, 0x1FBF9);\nexports.characters = set;\n","const set = require('regenerate')(0x1ABE);\nset.addRange(0x488, 0x489).addRange(0x20DD, 0x20E0).addRange(0x20E2, 0x20E4).addRange(0xA670, 0xA672);\nexports.characters = set;\n","const set = require('regenerate')(0xBB, 0x2019, 0x201D, 0x203A, 0x2E03, 0x2E05, 0x2E0A, 0x2E0D, 0x2E1D, 0x2E21);\n\nexports.characters = set;\n","const set = require('regenerate')(0xAD, 0x61C, 0x6DD, 0x70F, 0x8E2, 0x180E, 0xFEFF, 0x110BD, 0x110CD, 0xE0001);\nset.addRange(0x600, 0x605).addRange(0x890, 0x891).addRange(0x200B, 0x200F).addRange(0x202A, 0x202E).addRange(0x2060, 0x2064).addRange(0x2066, 0x206F).addRange(0xFFF9, 0xFFFB).addRange(0x13430, 0x1343F).addRange(0x1BCA0, 0x1BCA3).addRange(0x1D173, 0x1D17A).addRange(0xE0020, 0xE007F);\nexports.characters = set;\n","const set = require('regenerate')(0xAB, 0x2018, 0x201F, 0x2039, 0x2E02, 0x2E04, 0x2E09, 0x2E0C, 0x2E1C, 0x2E20);\nset.addRange(0x201B, 0x201C);\nexports.characters = set;\n","const set = require('regenerate')(0x3007, 0x10341, 0x1034A);\nset.addRange(0x16EE, 0x16F0).addRange(0x2160, 0x2182).addRange(0x2185, 0x2188).addRange(0x3021, 0x3029).addRange(0x3038, 0x303A).addRange(0xA6E6, 0xA6EF).addRange(0x10140, 0x10174).addRange(0x103D1, 0x103D5).addRange(0x12400, 0x1246E);\nexports.characters = set;\n","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x386, 0x38C, 0x559, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x7FA, 0x81A, 0x824, 0x828, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xEC6, 0xF00, 0x103F, 0x1061, 0x108E, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x18AA, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0x2E2F, 0xA7D3, 0xA8FB, 0xA9CF, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11F02, 0x11FB0, 0x16F50, 0x16FE3, 0x1B132, 0x1B155, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E14E, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x971, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33);\nset.addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6);\nset.addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066).addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16F1, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1878).addRange(0x1880, 0x1884);\nset.addRange(0x1887, 0x18A8).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2183, 0x2184).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25);\nset.addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3005, 0x3006).addRange(0x3031, 0x3035).addRange(0x303B, 0x303C).addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67F, 0xA69D).addRange(0xA6A0, 0xA6E5).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E6, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28);\nset.addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA76).addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEA).addRange(0xAAF2, 0xAAF4).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10280, 0x1029C);\nset.addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x10340).addRange(0x10342, 0x10349).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48);\nset.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x1123F, 0x11240).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7);\nset.addRange(0x119AA, 0x119D0).addRange(0x11A0B, 0x11A32).addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x11F04, 0x11F10).addRange(0x11F12, 0x11F33).addRange(0x12000, 0x12399).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342F).addRange(0x13441, 0x13446).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F);\nset.addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E030, 0x1E06D).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E4D0, 0x1E4EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89);\nset.addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2EBF0, 0x2EE5D).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);\nexports.characters = set;\n","const set = require('regenerate')(0x2028);\n\nexports.characters = set;\n","const set = require('regenerate')(0xB5, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1C6, 0x1C9, 0x1CC, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F3, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x221, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1E9F, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBE, 0x210A, 0x2113, 0x212F, 0x2134, 0x2139, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C71, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA69B, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA76F, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA78E, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7AF, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D3, 0xA7D5, 0xA7D7, 0xA7D9, 0xA7F6, 0xA7FA, 0x1D4BB, 0x1D7CB);\nset.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x137, 0x138).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x18C, 0x18D).addRange(0x199, 0x19B).addRange(0x1AA, 0x1AB).addRange(0x1B9, 0x1BA).addRange(0x1BD, 0x1BF).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F0).addRange(0x233, 0x239).addRange(0x23F, 0x240).addRange(0x24F, 0x293).addRange(0x295, 0x2AF).addRange(0x37B, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x3FB, 0x3FC).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x560, 0x588).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1D00, 0x1D2B).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1D9A).addRange(0x1E95, 0x1E9D).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1F87).addRange(0x1F90, 0x1F97).addRange(0x1FA0, 0x1FA7).addRange(0x1FB0, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7);\nset.addRange(0x1FE0, 0x1FE7).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FF7).addRange(0x210E, 0x210F).addRange(0x213C, 0x213D).addRange(0x2146, 0x2149).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2C73, 0x2C74).addRange(0x2C76, 0x2C7B).addRange(0x2CE3, 0x2CE4).addRange(0x2D00, 0x2D25).addRange(0xA72F, 0xA731).addRange(0xA771, 0xA778).addRange(0xA793, 0xA795).addRange(0xAB30, 0xAB5A).addRange(0xAB60, 0xAB68).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1D41A, 0x1D433).addRange(0x1D44E, 0x1D454).addRange(0x1D456, 0x1D467).addRange(0x1D482, 0x1D49B).addRange(0x1D4B6, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D4CF).addRange(0x1D4EA, 0x1D503).addRange(0x1D51E, 0x1D537).addRange(0x1D552, 0x1D56B).addRange(0x1D586, 0x1D59F).addRange(0x1D5BA, 0x1D5D3).addRange(0x1D5EE, 0x1D607).addRange(0x1D622, 0x1D63B).addRange(0x1D656, 0x1D66F).addRange(0x1D68A, 0x1D6A5).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6E1).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D71B).addRange(0x1D736, 0x1D74E);\nset.addRange(0x1D750, 0x1D755).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D78F).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7C9).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1DF25, 0x1DF2A).addRange(0x1E922, 0x1E943);\nexports.characters = set;\n","const set = require('regenerate')(0x5BF, 0x5C7, 0x670, 0x711, 0x7FD, 0x9BC, 0x9D7, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xB3C, 0xB82, 0xBD7, 0xC3C, 0xCBC, 0xCF3, 0xD57, 0xDCA, 0xDD6, 0xE31, 0xEB1, 0xF35, 0xF37, 0xF39, 0xFC6, 0x108F, 0x17DD, 0x180F, 0x18A9, 0x1A7F, 0x1CED, 0x1CF4, 0x2D7F, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9E5, 0xAA43, 0xAAB0, 0xAAC1, 0xFB1E, 0x101FD, 0x102E0, 0x10A3F, 0x11070, 0x110C2, 0x11173, 0x1123E, 0x11241, 0x11357, 0x1145E, 0x11940, 0x119E4, 0x11A47, 0x11D3A, 0x11D47, 0x11F03, 0x13440, 0x16F4F, 0x16FE4, 0x1DA75, 0x1DA84, 0x1E08F, 0x1E2AE);\nset.addRange(0x300, 0x36F).addRange(0x483, 0x489).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DC).addRange(0x6DF, 0x6E4).addRange(0x6E7, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F3).addRange(0x816, 0x819).addRange(0x81B, 0x823).addRange(0x825, 0x827).addRange(0x829, 0x82D).addRange(0x859, 0x85B).addRange(0x898, 0x89F).addRange(0x8CA, 0x8E1).addRange(0x8E3, 0x903).addRange(0x93A, 0x93C).addRange(0x93E, 0x94F).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x981, 0x983).addRange(0x9BE, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CD).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA03).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA83).addRange(0xABE, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB3E, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB62, 0xB63).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD);\nset.addRange(0xC00, 0xC04).addRange(0xC3E, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xC81, 0xC83).addRange(0xCBE, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD03).addRange(0xD3B, 0xD3C).addRange(0xD3E, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4D).addRange(0xD62, 0xD63).addRange(0xD81, 0xD83).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDF2, 0xDF3).addRange(0xE34, 0xE3A).addRange(0xE47, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECE).addRange(0xF18, 0xF19).addRange(0xF3E, 0xF3F).addRange(0xF71, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102B, 0x103E).addRange(0x1056, 0x1059).addRange(0x105E, 0x1060).addRange(0x1062, 0x1064).addRange(0x1067, 0x106D).addRange(0x1071, 0x1074).addRange(0x1082, 0x108D).addRange(0x109A, 0x109D).addRange(0x135D, 0x135F).addRange(0x1712, 0x1715).addRange(0x1732, 0x1734).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17D3).addRange(0x180B, 0x180D).addRange(0x1885, 0x1886).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1A17, 0x1A1B);\nset.addRange(0x1A55, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B04).addRange(0x1B34, 0x1B44).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B82).addRange(0x1BA1, 0x1BAD).addRange(0x1BE6, 0x1BF3).addRange(0x1C24, 0x1C37).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE8).addRange(0x1CF7, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x20D0, 0x20F0).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302F).addRange(0x3099, 0x309A).addRange(0xA66F, 0xA672).addRange(0xA674, 0xA67D).addRange(0xA69E, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA823, 0xA827).addRange(0xA880, 0xA881).addRange(0xA8B4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA953).addRange(0xA980, 0xA983).addRange(0xA9B3, 0xA9C0).addRange(0xAA29, 0xAA36).addRange(0xAA4C, 0xAA4D).addRange(0xAA7B, 0xAA7D).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEB, 0xAAEF).addRange(0xAAF5, 0xAAF6).addRange(0xABE3, 0xABEA).addRange(0xABEC, 0xABED).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0x10376, 0x1037A).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC);\nset.addRange(0x10EFD, 0x10EFF).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11000, 0x11002).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11082).addRange(0x110B0, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x11134).addRange(0x11145, 0x11146).addRange(0x11180, 0x11182).addRange(0x111B3, 0x111C0).addRange(0x111C9, 0x111CC).addRange(0x111CE, 0x111CF).addRange(0x1122C, 0x11237).addRange(0x112DF, 0x112EA).addRange(0x11300, 0x11303).addRange(0x1133B, 0x1133C).addRange(0x1133E, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x11362, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11435, 0x11446).addRange(0x114B0, 0x114C3).addRange(0x115AF, 0x115B5).addRange(0x115B8, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11630, 0x11640).addRange(0x116AB, 0x116B7).addRange(0x1171D, 0x1172B).addRange(0x1182C, 0x1183A).addRange(0x11930, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x1193E).addRange(0x11942, 0x11943).addRange(0x119D1, 0x119D7).addRange(0x119DA, 0x119E0).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A39).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A5B).addRange(0x11A8A, 0x11A99).addRange(0x11C2F, 0x11C36).addRange(0x11C38, 0x11C3F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D);\nset.addRange(0x11D3F, 0x11D45).addRange(0x11D8A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D97).addRange(0x11EF3, 0x11EF6).addRange(0x11F00, 0x11F01).addRange(0x11F34, 0x11F3A).addRange(0x11F3E, 0x11F42).addRange(0x13447, 0x13455).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16F51, 0x16F87).addRange(0x16F8F, 0x16F92).addRange(0x16FF0, 0x16FF1).addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D165, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E4EC, 0x1E4EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94A).addRange(0xE0100, 0xE01EF);\nexports.characters = set;\n","const set = require('regenerate')(0x2B, 0x7C, 0x7E, 0xAC, 0xB1, 0xD7, 0xF7, 0x3F6, 0x2044, 0x2052, 0x2118, 0x214B, 0x21A0, 0x21A3, 0x21A6, 0x21AE, 0x21D2, 0x21D4, 0x237C, 0x25B7, 0x25C1, 0x266F, 0xFB29, 0xFE62, 0xFF0B, 0xFF5C, 0xFF5E, 0xFFE2, 0x1D6C1, 0x1D6DB, 0x1D6FB, 0x1D715, 0x1D735, 0x1D74F, 0x1D76F, 0x1D789, 0x1D7A9, 0x1D7C3);\nset.addRange(0x3C, 0x3E).addRange(0x606, 0x608).addRange(0x207A, 0x207C).addRange(0x208A, 0x208C).addRange(0x2140, 0x2144).addRange(0x2190, 0x2194).addRange(0x219A, 0x219B).addRange(0x21CE, 0x21CF).addRange(0x21F4, 0x22FF).addRange(0x2320, 0x2321).addRange(0x239B, 0x23B3).addRange(0x23DC, 0x23E1).addRange(0x25F8, 0x25FF).addRange(0x27C0, 0x27C4).addRange(0x27C7, 0x27E5).addRange(0x27F0, 0x27FF).addRange(0x2900, 0x2982).addRange(0x2999, 0x29D7).addRange(0x29DC, 0x29FB).addRange(0x29FE, 0x2AFF).addRange(0x2B30, 0x2B44).addRange(0x2B47, 0x2B4C).addRange(0xFE64, 0xFE66).addRange(0xFF1C, 0xFF1E).addRange(0xFFE9, 0xFFEC).addRange(0x1EEF0, 0x1EEF1);\nexports.characters = set;\n","const set = require('regenerate')(0x2EC, 0x2EE, 0x374, 0x37A, 0x559, 0x640, 0x7FA, 0x81A, 0x824, 0x828, 0x8C9, 0x971, 0xE46, 0xEC6, 0x10FC, 0x17D7, 0x1843, 0x1AA7, 0x1D78, 0x2071, 0x207F, 0x2D6F, 0x2E2F, 0x3005, 0x303B, 0xA015, 0xA60C, 0xA67F, 0xA770, 0xA788, 0xA9CF, 0xA9E6, 0xAA70, 0xAADD, 0xAB69, 0xFF70, 0x16FE3, 0x1E4EB, 0x1E94B);\nset.addRange(0x2B0, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x6E5, 0x6E6).addRange(0x7F4, 0x7F5).addRange(0x1C78, 0x1C7D).addRange(0x1D2C, 0x1D6A).addRange(0x1D9B, 0x1DBF).addRange(0x2090, 0x209C).addRange(0x2C7C, 0x2C7D).addRange(0x3031, 0x3035).addRange(0x309D, 0x309E).addRange(0x30FC, 0x30FE).addRange(0xA4F8, 0xA4FD).addRange(0xA69C, 0xA69D).addRange(0xA717, 0xA71F).addRange(0xA7F2, 0xA7F4).addRange(0xA7F8, 0xA7F9).addRange(0xAAF3, 0xAAF4).addRange(0xAB5C, 0xAB5F).addRange(0xFF9E, 0xFF9F).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x16B40, 0x16B43).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1E030, 0x1E06D).addRange(0x1E137, 0x1E13D);\nexports.characters = set;\n","const set = require('regenerate')(0x5E, 0x60, 0xA8, 0xAF, 0xB4, 0xB8, 0x2ED, 0x375, 0x888, 0x1FBD, 0xAB5B, 0xFF3E, 0xFF40, 0xFFE3);\nset.addRange(0x2C2, 0x2C5).addRange(0x2D2, 0x2DF).addRange(0x2E5, 0x2EB).addRange(0x2EF, 0x2FF).addRange(0x384, 0x385).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x309B, 0x309C).addRange(0xA700, 0xA716).addRange(0xA720, 0xA721).addRange(0xA789, 0xA78A).addRange(0xAB6A, 0xAB6B).addRange(0xFBB2, 0xFBC2).addRange(0x1F3FB, 0x1F3FF);\nexports.characters = set;\n","const set = require('regenerate')(0x5BF, 0x5C7, 0x670, 0x711, 0x7FD, 0x93A, 0x93C, 0x94D, 0x981, 0x9BC, 0x9CD, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xACD, 0xB01, 0xB3C, 0xB3F, 0xB4D, 0xB82, 0xBC0, 0xBCD, 0xC00, 0xC04, 0xC3C, 0xC81, 0xCBC, 0xCBF, 0xCC6, 0xD4D, 0xD81, 0xDCA, 0xDD6, 0xE31, 0xEB1, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1082, 0x108D, 0x109D, 0x17C6, 0x17DD, 0x180F, 0x18A9, 0x1932, 0x1A1B, 0x1A56, 0x1A60, 0x1A62, 0x1A7F, 0x1B34, 0x1B3C, 0x1B42, 0x1BE6, 0x1BED, 0x1CED, 0x1CF4, 0x20E1, 0x2D7F, 0xA66F, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9B3, 0xA9E5, 0xAA43, 0xAA4C, 0xAA7C, 0xAAB0, 0xAAC1, 0xAAF6, 0xABE5, 0xABE8, 0xABED, 0xFB1E, 0x101FD, 0x102E0, 0x10A3F, 0x11001, 0x11070, 0x110C2, 0x11173, 0x111CF, 0x11234, 0x1123E, 0x11241, 0x112DF, 0x11340, 0x11446, 0x1145E, 0x114BA, 0x1163D, 0x116AB, 0x116AD, 0x116B7, 0x1193E, 0x11943, 0x119E0, 0x11A47, 0x11C3F, 0x11D3A, 0x11D47, 0x11D95, 0x11D97, 0x11F40, 0x11F42, 0x13440, 0x16F4F, 0x16FE4, 0x1DA75, 0x1DA84, 0x1E08F, 0x1E2AE);\nset.addRange(0x300, 0x36F).addRange(0x483, 0x487).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DC).addRange(0x6DF, 0x6E4).addRange(0x6E7, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F3).addRange(0x816, 0x819).addRange(0x81B, 0x823).addRange(0x825, 0x827).addRange(0x829, 0x82D).addRange(0x859, 0x85B).addRange(0x898, 0x89F).addRange(0x8CA, 0x8E1).addRange(0x8E3, 0x902).addRange(0x941, 0x948).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x9C1, 0x9C4).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA02).addRange(0xA41, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA82).addRange(0xAC1, 0xAC5).addRange(0xAC7, 0xAC8).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB41, 0xB44).addRange(0xB55, 0xB56).addRange(0xB62, 0xB63).addRange(0xC3E, 0xC40).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xCCC, 0xCCD).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD01).addRange(0xD3B, 0xD3C).addRange(0xD41, 0xD44).addRange(0xD62, 0xD63);\nset.addRange(0xDD2, 0xDD4).addRange(0xE34, 0xE3A).addRange(0xE47, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECE).addRange(0xF18, 0xF19).addRange(0xF71, 0xF7E).addRange(0xF80, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102D, 0x1030).addRange(0x1032, 0x1037).addRange(0x1039, 0x103A).addRange(0x103D, 0x103E).addRange(0x1058, 0x1059).addRange(0x105E, 0x1060).addRange(0x1071, 0x1074).addRange(0x1085, 0x1086).addRange(0x135D, 0x135F).addRange(0x1712, 0x1714).addRange(0x1732, 0x1733).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17B5).addRange(0x17B7, 0x17BD).addRange(0x17C9, 0x17D3).addRange(0x180B, 0x180D).addRange(0x1885, 0x1886).addRange(0x1920, 0x1922).addRange(0x1927, 0x1928).addRange(0x1939, 0x193B).addRange(0x1A17, 0x1A18).addRange(0x1A58, 0x1A5E).addRange(0x1A65, 0x1A6C).addRange(0x1A73, 0x1A7C).addRange(0x1AB0, 0x1ABD).addRange(0x1ABF, 0x1ACE).addRange(0x1B00, 0x1B03).addRange(0x1B36, 0x1B3A).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B81).addRange(0x1BA2, 0x1BA5).addRange(0x1BA8, 0x1BA9).addRange(0x1BAB, 0x1BAD).addRange(0x1BE8, 0x1BE9).addRange(0x1BEF, 0x1BF1).addRange(0x1C2C, 0x1C33).addRange(0x1C36, 0x1C37).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE0);\nset.addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x20D0, 0x20DC).addRange(0x20E5, 0x20F0).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302D).addRange(0x3099, 0x309A).addRange(0xA674, 0xA67D).addRange(0xA69E, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA825, 0xA826).addRange(0xA8C4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA951).addRange(0xA980, 0xA982).addRange(0xA9B6, 0xA9B9).addRange(0xA9BC, 0xA9BD).addRange(0xAA29, 0xAA2E).addRange(0xAA31, 0xAA32).addRange(0xAA35, 0xAA36).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEC, 0xAAED).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0x10376, 0x1037A).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC).addRange(0x10EFD, 0x10EFF).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11081).addRange(0x110B3, 0x110B6).addRange(0x110B9, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x1112B).addRange(0x1112D, 0x11134).addRange(0x11180, 0x11181).addRange(0x111B6, 0x111BE).addRange(0x111C9, 0x111CC);\nset.addRange(0x1122F, 0x11231).addRange(0x11236, 0x11237).addRange(0x112E3, 0x112EA).addRange(0x11300, 0x11301).addRange(0x1133B, 0x1133C).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11438, 0x1143F).addRange(0x11442, 0x11444).addRange(0x114B3, 0x114B8).addRange(0x114BF, 0x114C0).addRange(0x114C2, 0x114C3).addRange(0x115B2, 0x115B5).addRange(0x115BC, 0x115BD).addRange(0x115BF, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11633, 0x1163A).addRange(0x1163F, 0x11640).addRange(0x116B0, 0x116B5).addRange(0x1171D, 0x1171F).addRange(0x11722, 0x11725).addRange(0x11727, 0x1172B).addRange(0x1182F, 0x11837).addRange(0x11839, 0x1183A).addRange(0x1193B, 0x1193C).addRange(0x119D4, 0x119D7).addRange(0x119DA, 0x119DB).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A38).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A56).addRange(0x11A59, 0x11A5B).addRange(0x11A8A, 0x11A96).addRange(0x11A98, 0x11A99).addRange(0x11C30, 0x11C36).addRange(0x11C38, 0x11C3D).addRange(0x11C92, 0x11CA7).addRange(0x11CAA, 0x11CB0).addRange(0x11CB2, 0x11CB3).addRange(0x11CB5, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D45).addRange(0x11D90, 0x11D91).addRange(0x11EF3, 0x11EF4).addRange(0x11F00, 0x11F01).addRange(0x11F36, 0x11F3A).addRange(0x13447, 0x13455).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16F8F, 0x16F92);\nset.addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E4EC, 0x1E4EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94A).addRange(0xE0100, 0xE01EF);\nexports.characters = set;\n","const set = require('regenerate')(0xB9, 0x2070, 0x2CFD, 0x3007, 0x10341, 0x1034A);\nset.addRange(0x30, 0x39).addRange(0xB2, 0xB3).addRange(0xBC, 0xBE).addRange(0x660, 0x669).addRange(0x6F0, 0x6F9).addRange(0x7C0, 0x7C9).addRange(0x966, 0x96F).addRange(0x9E6, 0x9EF).addRange(0x9F4, 0x9F9).addRange(0xA66, 0xA6F).addRange(0xAE6, 0xAEF).addRange(0xB66, 0xB6F).addRange(0xB72, 0xB77).addRange(0xBE6, 0xBF2).addRange(0xC66, 0xC6F).addRange(0xC78, 0xC7E).addRange(0xCE6, 0xCEF).addRange(0xD58, 0xD5E).addRange(0xD66, 0xD78).addRange(0xDE6, 0xDEF).addRange(0xE50, 0xE59).addRange(0xED0, 0xED9).addRange(0xF20, 0xF33).addRange(0x1040, 0x1049).addRange(0x1090, 0x1099).addRange(0x1369, 0x137C).addRange(0x16EE, 0x16F0).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x1810, 0x1819).addRange(0x1946, 0x194F).addRange(0x19D0, 0x19DA).addRange(0x1A80, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1B50, 0x1B59).addRange(0x1BB0, 0x1BB9).addRange(0x1C40, 0x1C49).addRange(0x1C50, 0x1C59).addRange(0x2074, 0x2079).addRange(0x2080, 0x2089).addRange(0x2150, 0x2182).addRange(0x2185, 0x2189).addRange(0x2460, 0x249B).addRange(0x24EA, 0x24FF).addRange(0x2776, 0x2793).addRange(0x3021, 0x3029).addRange(0x3038, 0x303A).addRange(0x3192, 0x3195).addRange(0x3220, 0x3229).addRange(0x3248, 0x324F).addRange(0x3251, 0x325F);\nset.addRange(0x3280, 0x3289).addRange(0x32B1, 0x32BF).addRange(0xA620, 0xA629).addRange(0xA6E6, 0xA6EF).addRange(0xA830, 0xA835).addRange(0xA8D0, 0xA8D9).addRange(0xA900, 0xA909).addRange(0xA9D0, 0xA9D9).addRange(0xA9F0, 0xA9F9).addRange(0xAA50, 0xAA59).addRange(0xABF0, 0xABF9).addRange(0xFF10, 0xFF19).addRange(0x10107, 0x10133).addRange(0x10140, 0x10178).addRange(0x1018A, 0x1018B).addRange(0x102E1, 0x102FB).addRange(0x10320, 0x10323).addRange(0x103D1, 0x103D5).addRange(0x104A0, 0x104A9).addRange(0x10858, 0x1085F).addRange(0x10879, 0x1087F).addRange(0x108A7, 0x108AF).addRange(0x108FB, 0x108FF).addRange(0x10916, 0x1091B).addRange(0x109BC, 0x109BD).addRange(0x109C0, 0x109CF).addRange(0x109D2, 0x109FF).addRange(0x10A40, 0x10A48).addRange(0x10A7D, 0x10A7E).addRange(0x10A9D, 0x10A9F).addRange(0x10AEB, 0x10AEF).addRange(0x10B58, 0x10B5F).addRange(0x10B78, 0x10B7F).addRange(0x10BA9, 0x10BAF).addRange(0x10CFA, 0x10CFF).addRange(0x10D30, 0x10D39).addRange(0x10E60, 0x10E7E).addRange(0x10F1D, 0x10F26).addRange(0x10F51, 0x10F54).addRange(0x10FC5, 0x10FCB).addRange(0x11052, 0x1106F).addRange(0x110F0, 0x110F9).addRange(0x11136, 0x1113F).addRange(0x111D0, 0x111D9).addRange(0x111E1, 0x111F4).addRange(0x112F0, 0x112F9).addRange(0x11450, 0x11459).addRange(0x114D0, 0x114D9).addRange(0x11650, 0x11659).addRange(0x116C0, 0x116C9).addRange(0x11730, 0x1173B);\nset.addRange(0x118E0, 0x118F2).addRange(0x11950, 0x11959).addRange(0x11C50, 0x11C6C).addRange(0x11D50, 0x11D59).addRange(0x11DA0, 0x11DA9).addRange(0x11F50, 0x11F59).addRange(0x11FC0, 0x11FD4).addRange(0x12400, 0x1246E).addRange(0x16A60, 0x16A69).addRange(0x16AC0, 0x16AC9).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16E80, 0x16E96).addRange(0x1D2C0, 0x1D2D3).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D360, 0x1D378).addRange(0x1D7CE, 0x1D7FF).addRange(0x1E140, 0x1E149).addRange(0x1E2F0, 0x1E2F9).addRange(0x1E4F0, 0x1E4F9).addRange(0x1E8C7, 0x1E8CF).addRange(0x1E950, 0x1E959).addRange(0x1EC71, 0x1ECAB).addRange(0x1ECAD, 0x1ECAF).addRange(0x1ECB1, 0x1ECB4).addRange(0x1ED01, 0x1ED2D).addRange(0x1ED2F, 0x1ED3D).addRange(0x1F100, 0x1F10C).addRange(0x1FBF0, 0x1FBF9);\nexports.characters = set;\n","const set = require('regenerate')(0x28, 0x5B, 0x7B, 0xF3A, 0xF3C, 0x169B, 0x201A, 0x201E, 0x2045, 0x207D, 0x208D, 0x2308, 0x230A, 0x2329, 0x2768, 0x276A, 0x276C, 0x276E, 0x2770, 0x2772, 0x2774, 0x27C5, 0x27E6, 0x27E8, 0x27EA, 0x27EC, 0x27EE, 0x2983, 0x2985, 0x2987, 0x2989, 0x298B, 0x298D, 0x298F, 0x2991, 0x2993, 0x2995, 0x2997, 0x29D8, 0x29DA, 0x29FC, 0x2E22, 0x2E24, 0x2E26, 0x2E28, 0x2E42, 0x2E55, 0x2E57, 0x2E59, 0x2E5B, 0x3008, 0x300A, 0x300C, 0x300E, 0x3010, 0x3014, 0x3016, 0x3018, 0x301A, 0x301D, 0xFD3F, 0xFE17, 0xFE35, 0xFE37, 0xFE39, 0xFE3B, 0xFE3D, 0xFE3F, 0xFE41, 0xFE43, 0xFE47, 0xFE59, 0xFE5B, 0xFE5D, 0xFF08, 0xFF3B, 0xFF5B, 0xFF5F, 0xFF62);\n\nexports.characters = set;\n","const set = require('regenerate')(0xAA, 0xBA, 0x1BB, 0x294, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xF00, 0x103F, 0x1061, 0x108E, 0x1258, 0x12C0, 0x17DC, 0x18AA, 0x1CFA, 0x3006, 0x303C, 0x309F, 0x30FF, 0xA66E, 0xA78F, 0xA7F7, 0xA8FB, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xAAF2, 0xFB1D, 0xFB3E, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11F02, 0x11FB0, 0x16F50, 0x1B132, 0x1B155, 0x1DF0A, 0x1E14E, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x1C0, 0x1C3).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x63F).addRange(0x641, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C8).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x972, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39);\nset.addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE40, 0xE45).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066);\nset.addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x1100, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16F1, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1842).addRange(0x1844, 0x1878).addRange(0x1880, 0x1884).addRange(0x1887, 0x18A8).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C77).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6);\nset.addRange(0x2135, 0x2138).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3041, 0x3096).addRange(0x30A1, 0x30FA).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA014).addRange(0xA016, 0xA48C).addRange(0xA4D0, 0xA4F7).addRange(0xA500, 0xA60B).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA6A0, 0xA6E5).addRange(0xA7FB, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E7, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA6F).addRange(0xAA71, 0xAA76).addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADC).addRange(0xAAE0, 0xAAEA).addRange(0xAB01, 0xAB06);\nset.addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xABC0, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF66, 0xFF6F).addRange(0xFF71, 0xFF9D).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x10340).addRange(0x10342, 0x10349).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x10450, 0x1049D).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767);\nset.addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x1123F, 0x11240).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328);\nset.addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D0).addRange(0x11A0B, 0x11A32).addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x11F04, 0x11F10).addRange(0x11F12, 0x11F33).addRange(0x12000, 0x12399).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342F).addRange(0x13441, 0x13446).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16F00, 0x16F4A);\nset.addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1E100, 0x1E12C).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E4D0, 0x1E4EA).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2EBF0, 0x2EE5D).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);\nexports.characters = set;\n","const set = require('regenerate')(0xB9, 0x19DA, 0x2070, 0x2189, 0x2CFD);\nset.addRange(0xB2, 0xB3).addRange(0xBC, 0xBE).addRange(0x9F4, 0x9F9).addRange(0xB72, 0xB77).addRange(0xBF0, 0xBF2).addRange(0xC78, 0xC7E).addRange(0xD58, 0xD5E).addRange(0xD70, 0xD78).addRange(0xF2A, 0xF33).addRange(0x1369, 0x137C).addRange(0x17F0, 0x17F9).addRange(0x2074, 0x2079).addRange(0x2080, 0x2089).addRange(0x2150, 0x215F).addRange(0x2460, 0x249B).addRange(0x24EA, 0x24FF).addRange(0x2776, 0x2793).addRange(0x3192, 0x3195).addRange(0x3220, 0x3229).addRange(0x3248, 0x324F).addRange(0x3251, 0x325F).addRange(0x3280, 0x3289).addRange(0x32B1, 0x32BF).addRange(0xA830, 0xA835).addRange(0x10107, 0x10133).addRange(0x10175, 0x10178).addRange(0x1018A, 0x1018B).addRange(0x102E1, 0x102FB).addRange(0x10320, 0x10323).addRange(0x10858, 0x1085F).addRange(0x10879, 0x1087F).addRange(0x108A7, 0x108AF).addRange(0x108FB, 0x108FF).addRange(0x10916, 0x1091B).addRange(0x109BC, 0x109BD).addRange(0x109C0, 0x109CF).addRange(0x109D2, 0x109FF).addRange(0x10A40, 0x10A48).addRange(0x10A7D, 0x10A7E).addRange(0x10A9D, 0x10A9F).addRange(0x10AEB, 0x10AEF).addRange(0x10B58, 0x10B5F).addRange(0x10B78, 0x10B7F).addRange(0x10BA9, 0x10BAF).addRange(0x10CFA, 0x10CFF).addRange(0x10E60, 0x10E7E).addRange(0x10F1D, 0x10F26).addRange(0x10F51, 0x10F54).addRange(0x10FC5, 0x10FCB).addRange(0x11052, 0x11065).addRange(0x111E1, 0x111F4);\nset.addRange(0x1173A, 0x1173B).addRange(0x118EA, 0x118F2).addRange(0x11C5A, 0x11C6C).addRange(0x11FC0, 0x11FD4).addRange(0x16B5B, 0x16B61).addRange(0x16E80, 0x16E96).addRange(0x1D2C0, 0x1D2D3).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D360, 0x1D378).addRange(0x1E8C7, 0x1E8CF).addRange(0x1EC71, 0x1ECAB).addRange(0x1ECAD, 0x1ECAF).addRange(0x1ECB1, 0x1ECB4).addRange(0x1ED01, 0x1ED2D).addRange(0x1ED2F, 0x1ED3D).addRange(0x1F100, 0x1F10C);\nexports.characters = set;\n","const set = require('regenerate')(0x2A, 0x2C, 0x5C, 0xA1, 0xA7, 0xBF, 0x37E, 0x387, 0x589, 0x5C0, 0x5C3, 0x5C6, 0x61B, 0x6D4, 0x85E, 0x970, 0x9FD, 0xA76, 0xAF0, 0xC77, 0xC84, 0xDF4, 0xE4F, 0xF14, 0xF85, 0x10FB, 0x166E, 0x1CD3, 0x2053, 0x2D70, 0x2E0B, 0x2E1B, 0x2E41, 0x303D, 0x30FB, 0xA673, 0xA67E, 0xA8FC, 0xA95F, 0xABEB, 0xFE19, 0xFE30, 0xFE68, 0xFF0A, 0xFF0C, 0xFF3C, 0xFF61, 0x1039F, 0x103D0, 0x1056F, 0x10857, 0x1091F, 0x1093F, 0x10A7F, 0x111CD, 0x111DB, 0x112A9, 0x1145D, 0x114C6, 0x116B9, 0x1183B, 0x119E2, 0x11FFF, 0x16AF5, 0x16B44, 0x16FE2, 0x1BC9F);\nset.addRange(0x21, 0x23).addRange(0x25, 0x27).addRange(0x2E, 0x2F).addRange(0x3A, 0x3B).addRange(0x3F, 0x40).addRange(0xB6, 0xB7).addRange(0x55A, 0x55F).addRange(0x5F3, 0x5F4).addRange(0x609, 0x60A).addRange(0x60C, 0x60D).addRange(0x61D, 0x61F).addRange(0x66A, 0x66D).addRange(0x700, 0x70D).addRange(0x7F7, 0x7F9).addRange(0x830, 0x83E).addRange(0x964, 0x965).addRange(0xE5A, 0xE5B).addRange(0xF04, 0xF12).addRange(0xFD0, 0xFD4).addRange(0xFD9, 0xFDA).addRange(0x104A, 0x104F).addRange(0x1360, 0x1368).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x17D4, 0x17D6).addRange(0x17D8, 0x17DA).addRange(0x1800, 0x1805).addRange(0x1807, 0x180A).addRange(0x1944, 0x1945).addRange(0x1A1E, 0x1A1F).addRange(0x1AA0, 0x1AA6).addRange(0x1AA8, 0x1AAD).addRange(0x1B5A, 0x1B60).addRange(0x1B7D, 0x1B7E).addRange(0x1BFC, 0x1BFF).addRange(0x1C3B, 0x1C3F).addRange(0x1C7E, 0x1C7F).addRange(0x1CC0, 0x1CC7).addRange(0x2016, 0x2017).addRange(0x2020, 0x2027).addRange(0x2030, 0x2038).addRange(0x203B, 0x203E).addRange(0x2041, 0x2043).addRange(0x2047, 0x2051).addRange(0x2055, 0x205E).addRange(0x2CF9, 0x2CFC).addRange(0x2CFE, 0x2CFF).addRange(0x2E00, 0x2E01).addRange(0x2E06, 0x2E08).addRange(0x2E0E, 0x2E16).addRange(0x2E18, 0x2E19);\nset.addRange(0x2E1E, 0x2E1F).addRange(0x2E2A, 0x2E2E).addRange(0x2E30, 0x2E39).addRange(0x2E3C, 0x2E3F).addRange(0x2E43, 0x2E4F).addRange(0x2E52, 0x2E54).addRange(0x3001, 0x3003).addRange(0xA4FE, 0xA4FF).addRange(0xA60D, 0xA60F).addRange(0xA6F2, 0xA6F7).addRange(0xA874, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA8F8, 0xA8FA).addRange(0xA92E, 0xA92F).addRange(0xA9C1, 0xA9CD).addRange(0xA9DE, 0xA9DF).addRange(0xAA5C, 0xAA5F).addRange(0xAADE, 0xAADF).addRange(0xAAF0, 0xAAF1).addRange(0xFE10, 0xFE16).addRange(0xFE45, 0xFE46).addRange(0xFE49, 0xFE4C).addRange(0xFE50, 0xFE52).addRange(0xFE54, 0xFE57).addRange(0xFE5F, 0xFE61).addRange(0xFE6A, 0xFE6B).addRange(0xFF01, 0xFF03).addRange(0xFF05, 0xFF07).addRange(0xFF0E, 0xFF0F).addRange(0xFF1A, 0xFF1B).addRange(0xFF1F, 0xFF20).addRange(0xFF64, 0xFF65).addRange(0x10100, 0x10102).addRange(0x10A50, 0x10A58).addRange(0x10AF0, 0x10AF6).addRange(0x10B39, 0x10B3F).addRange(0x10B99, 0x10B9C).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x1104D).addRange(0x110BB, 0x110BC).addRange(0x110BE, 0x110C1).addRange(0x11140, 0x11143).addRange(0x11174, 0x11175).addRange(0x111C5, 0x111C8).addRange(0x111DD, 0x111DF).addRange(0x11238, 0x1123D).addRange(0x1144B, 0x1144F).addRange(0x1145A, 0x1145B).addRange(0x115C1, 0x115D7).addRange(0x11641, 0x11643);\nset.addRange(0x11660, 0x1166C).addRange(0x1173C, 0x1173E).addRange(0x11944, 0x11946).addRange(0x11A3F, 0x11A46).addRange(0x11A9A, 0x11A9C).addRange(0x11A9E, 0x11AA2).addRange(0x11B00, 0x11B09).addRange(0x11C41, 0x11C45).addRange(0x11C70, 0x11C71).addRange(0x11EF7, 0x11EF8).addRange(0x11F43, 0x11F4F).addRange(0x12470, 0x12474).addRange(0x12FF1, 0x12FF2).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B3B).addRange(0x16E97, 0x16E9A).addRange(0x1DA87, 0x1DA8B).addRange(0x1E95E, 0x1E95F);\nexports.characters = set;\n","const set = require('regenerate')(0xA6, 0xA9, 0xAE, 0xB0, 0x482, 0x6DE, 0x6E9, 0x7F6, 0x9FA, 0xB70, 0xBFA, 0xC7F, 0xD4F, 0xD79, 0xF13, 0xF34, 0xF36, 0xF38, 0x166D, 0x1940, 0x2114, 0x2125, 0x2127, 0x2129, 0x212E, 0x214A, 0x214F, 0x21D3, 0x3004, 0x3020, 0x31EF, 0x3250, 0xA839, 0xFDCF, 0xFFE4, 0xFFE8, 0x101A0, 0x10AC8, 0x1173F, 0x16B45, 0x1BC9C, 0x1D245, 0x1E14F, 0x1ECAC, 0x1ED2E, 0x1F7F0);\nset.addRange(0x58D, 0x58E).addRange(0x60E, 0x60F).addRange(0x6FD, 0x6FE).addRange(0xBF3, 0xBF8).addRange(0xF01, 0xF03).addRange(0xF15, 0xF17).addRange(0xF1A, 0xF1F).addRange(0xFBE, 0xFC5).addRange(0xFC7, 0xFCC).addRange(0xFCE, 0xFCF).addRange(0xFD5, 0xFD8).addRange(0x109E, 0x109F).addRange(0x1390, 0x1399).addRange(0x19DE, 0x19FF).addRange(0x1B61, 0x1B6A).addRange(0x1B74, 0x1B7C).addRange(0x2100, 0x2101).addRange(0x2103, 0x2106).addRange(0x2108, 0x2109).addRange(0x2116, 0x2117).addRange(0x211E, 0x2123).addRange(0x213A, 0x213B).addRange(0x214C, 0x214D).addRange(0x218A, 0x218B).addRange(0x2195, 0x2199).addRange(0x219C, 0x219F).addRange(0x21A1, 0x21A2).addRange(0x21A4, 0x21A5).addRange(0x21A7, 0x21AD).addRange(0x21AF, 0x21CD).addRange(0x21D0, 0x21D1).addRange(0x21D5, 0x21F3).addRange(0x2300, 0x2307).addRange(0x230C, 0x231F).addRange(0x2322, 0x2328).addRange(0x232B, 0x237B).addRange(0x237D, 0x239A).addRange(0x23B4, 0x23DB).addRange(0x23E2, 0x2426).addRange(0x2440, 0x244A).addRange(0x249C, 0x24E9).addRange(0x2500, 0x25B6).addRange(0x25B8, 0x25C0).addRange(0x25C2, 0x25F7).addRange(0x2600, 0x266E).addRange(0x2670, 0x2767).addRange(0x2794, 0x27BF).addRange(0x2800, 0x28FF).addRange(0x2B00, 0x2B2F).addRange(0x2B45, 0x2B46).addRange(0x2B4D, 0x2B73);\nset.addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2CE5, 0x2CEA).addRange(0x2E50, 0x2E51).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x2FFF).addRange(0x3012, 0x3013).addRange(0x3036, 0x3037).addRange(0x303E, 0x303F).addRange(0x3190, 0x3191).addRange(0x3196, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3200, 0x321E).addRange(0x322A, 0x3247).addRange(0x3260, 0x327F).addRange(0x328A, 0x32B0).addRange(0x32C0, 0x33FF).addRange(0x4DC0, 0x4DFF).addRange(0xA490, 0xA4C6).addRange(0xA828, 0xA82B).addRange(0xA836, 0xA837).addRange(0xAA77, 0xAA79).addRange(0xFD40, 0xFD4F).addRange(0xFDFD, 0xFDFF).addRange(0xFFED, 0xFFEE).addRange(0xFFFC, 0xFFFD).addRange(0x10137, 0x1013F).addRange(0x10179, 0x10189).addRange(0x1018C, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x10877, 0x10878).addRange(0x11FD5, 0x11FDC).addRange(0x11FE1, 0x11FF1).addRange(0x16B3C, 0x16B3F).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D164).addRange(0x1D16A, 0x1D16C).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D200, 0x1D241).addRange(0x1D300, 0x1D356).addRange(0x1D800, 0x1D9FF).addRange(0x1DA37, 0x1DA3A).addRange(0x1DA6D, 0x1DA74).addRange(0x1DA76, 0x1DA83);\nset.addRange(0x1DA85, 0x1DA86).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F10D, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F3FA).addRange(0x1F400, 0x1F6D7).addRange(0x1F6DC, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F776).addRange(0x1F77B, 0x1F7D9).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA);\nexports.characters = set;\n","const set = require('regenerate')(0xAD, 0x38B, 0x38D, 0x3A2, 0x530, 0x590, 0x61C, 0x6DD, 0x83F, 0x85F, 0x8E2, 0x984, 0x9A9, 0x9B1, 0x9DE, 0xA04, 0xA29, 0xA31, 0xA34, 0xA37, 0xA3D, 0xA5D, 0xA84, 0xA8E, 0xA92, 0xAA9, 0xAB1, 0xAB4, 0xAC6, 0xACA, 0xB00, 0xB04, 0xB29, 0xB31, 0xB34, 0xB5E, 0xB84, 0xB91, 0xB9B, 0xB9D, 0xBC9, 0xC0D, 0xC11, 0xC29, 0xC45, 0xC49, 0xC57, 0xC8D, 0xC91, 0xCA9, 0xCB4, 0xCC5, 0xCC9, 0xCDF, 0xCF0, 0xD0D, 0xD11, 0xD45, 0xD49, 0xD80, 0xD84, 0xDB2, 0xDBC, 0xDD5, 0xDD7, 0xE83, 0xE85, 0xE8B, 0xEA4, 0xEA6, 0xEC5, 0xEC7, 0xECF, 0xF48, 0xF98, 0xFBD, 0xFCD, 0x10C6, 0x1249, 0x1257, 0x1259, 0x1289, 0x12B1, 0x12BF, 0x12C1, 0x12D7, 0x1311, 0x176D, 0x1771, 0x180E, 0x191F, 0x1A5F, 0x1B7F, 0x1F58, 0x1F5A, 0x1F5C, 0x1F5E, 0x1FB5, 0x1FC5, 0x1FDC, 0x1FF5, 0x1FFF, 0x208F, 0x2B96, 0x2D26, 0x2DA7, 0x2DAF, 0x2DB7, 0x2DBF, 0x2DC7, 0x2DCF, 0x2DD7, 0x2DDF, 0x2E9A, 0x3040, 0x3130, 0x318F, 0x321F, 0xA7D2, 0xA7D4, 0xA9CE, 0xA9FF, 0xAB27, 0xAB2F, 0xFB37, 0xFB3D, 0xFB3F, 0xFB42, 0xFB45, 0xFE53, 0xFE67, 0xFE75, 0xFFE7, 0x1000C, 0x10027, 0x1003B, 0x1003E, 0x1018F, 0x1039E, 0x1057B, 0x1058B, 0x10593, 0x10596, 0x105A2, 0x105B2, 0x105BA, 0x10786, 0x107B1, 0x10809, 0x10836, 0x10856, 0x108F3, 0x10A04, 0x10A14, 0x10A18, 0x10E7F, 0x10EAA, 0x110BD, 0x11135, 0x111E0, 0x11212, 0x11287, 0x11289, 0x1128E, 0x1129E, 0x11304, 0x11329, 0x11331, 0x11334, 0x1133A, 0x1145C, 0x11914, 0x11917, 0x11936, 0x11C09, 0x11C37, 0x11CA8, 0x11D07, 0x11D0A, 0x11D3B, 0x11D3E, 0x11D66, 0x11D69, 0x11D8F, 0x11D92, 0x11F11, 0x1246F, 0x16A5F, 0x16ABF, 0x16B5A, 0x16B62, 0x1AFF4, 0x1AFFC, 0x1AFFF, 0x1D455, 0x1D49D, 0x1D4AD, 0x1D4BA, 0x1D4BC, 0x1D4C4, 0x1D506, 0x1D515, 0x1D51D, 0x1D53A, 0x1D53F, 0x1D545, 0x1D551, 0x1DAA0, 0x1E007, 0x1E022, 0x1E025, 0x1E7E7, 0x1E7EC, 0x1E7EF, 0x1E7FF, 0x1EE04, 0x1EE20, 0x1EE23, 0x1EE28, 0x1EE33, 0x1EE38, 0x1EE3A, 0x1EE48, 0x1EE4A, 0x1EE4C, 0x1EE50, 0x1EE53, 0x1EE58, 0x1EE5A, 0x1EE5C, 0x1EE5E, 0x1EE60, 0x1EE63, 0x1EE6B, 0x1EE73, 0x1EE78, 0x1EE7D, 0x1EE7F, 0x1EE8A, 0x1EEA4, 0x1EEAA, 0x1F0C0, 0x1F0D0, 0x1FABE, 0x1FB93);\nset.addRange(0x0, 0x1F).addRange(0x7F, 0x9F).addRange(0x378, 0x379).addRange(0x380, 0x383).addRange(0x557, 0x558).addRange(0x58B, 0x58C).addRange(0x5C8, 0x5CF).addRange(0x5EB, 0x5EE).addRange(0x5F5, 0x605).addRange(0x70E, 0x70F).addRange(0x74B, 0x74C).addRange(0x7B2, 0x7BF).addRange(0x7FB, 0x7FC).addRange(0x82E, 0x82F).addRange(0x85C, 0x85D).addRange(0x86B, 0x86F).addRange(0x88F, 0x897).addRange(0x98D, 0x98E).addRange(0x991, 0x992).addRange(0x9B3, 0x9B5).addRange(0x9BA, 0x9BB).addRange(0x9C5, 0x9C6).addRange(0x9C9, 0x9CA).addRange(0x9CF, 0x9D6).addRange(0x9D8, 0x9DB).addRange(0x9E4, 0x9E5).addRange(0x9FF, 0xA00).addRange(0xA0B, 0xA0E).addRange(0xA11, 0xA12).addRange(0xA3A, 0xA3B).addRange(0xA43, 0xA46).addRange(0xA49, 0xA4A).addRange(0xA4E, 0xA50).addRange(0xA52, 0xA58).addRange(0xA5F, 0xA65).addRange(0xA77, 0xA80).addRange(0xABA, 0xABB).addRange(0xACE, 0xACF).addRange(0xAD1, 0xADF).addRange(0xAE4, 0xAE5).addRange(0xAF2, 0xAF8).addRange(0xB0D, 0xB0E).addRange(0xB11, 0xB12).addRange(0xB3A, 0xB3B).addRange(0xB45, 0xB46).addRange(0xB49, 0xB4A).addRange(0xB4E, 0xB54).addRange(0xB58, 0xB5B).addRange(0xB64, 0xB65).addRange(0xB78, 0xB81).addRange(0xB8B, 0xB8D);\nset.addRange(0xB96, 0xB98).addRange(0xBA0, 0xBA2).addRange(0xBA5, 0xBA7).addRange(0xBAB, 0xBAD).addRange(0xBBA, 0xBBD).addRange(0xBC3, 0xBC5).addRange(0xBCE, 0xBCF).addRange(0xBD1, 0xBD6).addRange(0xBD8, 0xBE5).addRange(0xBFB, 0xBFF).addRange(0xC3A, 0xC3B).addRange(0xC4E, 0xC54).addRange(0xC5B, 0xC5C).addRange(0xC5E, 0xC5F).addRange(0xC64, 0xC65).addRange(0xC70, 0xC76).addRange(0xCBA, 0xCBB).addRange(0xCCE, 0xCD4).addRange(0xCD7, 0xCDC).addRange(0xCE4, 0xCE5).addRange(0xCF4, 0xCFF).addRange(0xD50, 0xD53).addRange(0xD64, 0xD65).addRange(0xD97, 0xD99).addRange(0xDBE, 0xDBF).addRange(0xDC7, 0xDC9).addRange(0xDCB, 0xDCE).addRange(0xDE0, 0xDE5).addRange(0xDF0, 0xDF1).addRange(0xDF5, 0xE00).addRange(0xE3B, 0xE3E).addRange(0xE5C, 0xE80).addRange(0xEBE, 0xEBF).addRange(0xEDA, 0xEDB).addRange(0xEE0, 0xEFF).addRange(0xF6D, 0xF70).addRange(0xFDB, 0xFFF).addRange(0x10C8, 0x10CC).addRange(0x10CE, 0x10CF).addRange(0x124E, 0x124F).addRange(0x125E, 0x125F).addRange(0x128E, 0x128F).addRange(0x12B6, 0x12B7).addRange(0x12C6, 0x12C7).addRange(0x1316, 0x1317).addRange(0x135B, 0x135C).addRange(0x137D, 0x137F).addRange(0x139A, 0x139F).addRange(0x13F6, 0x13F7).addRange(0x13FE, 0x13FF).addRange(0x169D, 0x169F);\nset.addRange(0x16F9, 0x16FF).addRange(0x1716, 0x171E).addRange(0x1737, 0x173F).addRange(0x1754, 0x175F).addRange(0x1774, 0x177F).addRange(0x17DE, 0x17DF).addRange(0x17EA, 0x17EF).addRange(0x17FA, 0x17FF).addRange(0x181A, 0x181F).addRange(0x1879, 0x187F).addRange(0x18AB, 0x18AF).addRange(0x18F6, 0x18FF).addRange(0x192C, 0x192F).addRange(0x193C, 0x193F).addRange(0x1941, 0x1943).addRange(0x196E, 0x196F).addRange(0x1975, 0x197F).addRange(0x19AC, 0x19AF).addRange(0x19CA, 0x19CF).addRange(0x19DB, 0x19DD).addRange(0x1A1C, 0x1A1D).addRange(0x1A7D, 0x1A7E).addRange(0x1A8A, 0x1A8F).addRange(0x1A9A, 0x1A9F).addRange(0x1AAE, 0x1AAF).addRange(0x1ACF, 0x1AFF).addRange(0x1B4D, 0x1B4F).addRange(0x1BF4, 0x1BFB).addRange(0x1C38, 0x1C3A).addRange(0x1C4A, 0x1C4C).addRange(0x1C89, 0x1C8F).addRange(0x1CBB, 0x1CBC).addRange(0x1CC8, 0x1CCF).addRange(0x1CFB, 0x1CFF).addRange(0x1F16, 0x1F17).addRange(0x1F1E, 0x1F1F).addRange(0x1F46, 0x1F47).addRange(0x1F4E, 0x1F4F).addRange(0x1F7E, 0x1F7F).addRange(0x1FD4, 0x1FD5).addRange(0x1FF0, 0x1FF1).addRange(0x200B, 0x200F).addRange(0x202A, 0x202E).addRange(0x2060, 0x206F).addRange(0x2072, 0x2073).addRange(0x209D, 0x209F).addRange(0x20C1, 0x20CF).addRange(0x20F1, 0x20FF).addRange(0x218C, 0x218F).addRange(0x2427, 0x243F).addRange(0x244B, 0x245F);\nset.addRange(0x2B74, 0x2B75).addRange(0x2CF4, 0x2CF8).addRange(0x2D28, 0x2D2C).addRange(0x2D2E, 0x2D2F).addRange(0x2D68, 0x2D6E).addRange(0x2D71, 0x2D7E).addRange(0x2D97, 0x2D9F).addRange(0x2E5E, 0x2E7F).addRange(0x2EF4, 0x2EFF).addRange(0x2FD6, 0x2FEF).addRange(0x3097, 0x3098).addRange(0x3100, 0x3104).addRange(0x31E4, 0x31EE).addRange(0xA48D, 0xA48F).addRange(0xA4C7, 0xA4CF).addRange(0xA62C, 0xA63F).addRange(0xA6F8, 0xA6FF).addRange(0xA7CB, 0xA7CF).addRange(0xA7DA, 0xA7F1).addRange(0xA82D, 0xA82F).addRange(0xA83A, 0xA83F).addRange(0xA878, 0xA87F).addRange(0xA8C6, 0xA8CD).addRange(0xA8DA, 0xA8DF).addRange(0xA954, 0xA95E).addRange(0xA97D, 0xA97F).addRange(0xA9DA, 0xA9DD).addRange(0xAA37, 0xAA3F).addRange(0xAA4E, 0xAA4F).addRange(0xAA5A, 0xAA5B).addRange(0xAAC3, 0xAADA).addRange(0xAAF7, 0xAB00).addRange(0xAB07, 0xAB08).addRange(0xAB0F, 0xAB10).addRange(0xAB17, 0xAB1F).addRange(0xAB6C, 0xAB6F).addRange(0xABEE, 0xABEF).addRange(0xABFA, 0xABFF).addRange(0xD7A4, 0xD7AF).addRange(0xD7C7, 0xD7CA).addRange(0xD7FC, 0xF8FF).addRange(0xFA6E, 0xFA6F).addRange(0xFADA, 0xFAFF).addRange(0xFB07, 0xFB12).addRange(0xFB18, 0xFB1C).addRange(0xFBC3, 0xFBD2).addRange(0xFD90, 0xFD91).addRange(0xFDC8, 0xFDCE).addRange(0xFDD0, 0xFDEF).addRange(0xFE1A, 0xFE1F).addRange(0xFE6C, 0xFE6F);\nset.addRange(0xFEFD, 0xFF00).addRange(0xFFBF, 0xFFC1).addRange(0xFFC8, 0xFFC9).addRange(0xFFD0, 0xFFD1).addRange(0xFFD8, 0xFFD9).addRange(0xFFDD, 0xFFDF).addRange(0xFFEF, 0xFFFB).addRange(0xFFFE, 0xFFFF).addRange(0x1004E, 0x1004F).addRange(0x1005E, 0x1007F).addRange(0x100FB, 0x100FF).addRange(0x10103, 0x10106).addRange(0x10134, 0x10136).addRange(0x1019D, 0x1019F).addRange(0x101A1, 0x101CF).addRange(0x101FE, 0x1027F).addRange(0x1029D, 0x1029F).addRange(0x102D1, 0x102DF).addRange(0x102FC, 0x102FF).addRange(0x10324, 0x1032C).addRange(0x1034B, 0x1034F).addRange(0x1037B, 0x1037F).addRange(0x103C4, 0x103C7).addRange(0x103D6, 0x103FF).addRange(0x1049E, 0x1049F).addRange(0x104AA, 0x104AF).addRange(0x104D4, 0x104D7).addRange(0x104FC, 0x104FF).addRange(0x10528, 0x1052F).addRange(0x10564, 0x1056E).addRange(0x105BD, 0x105FF).addRange(0x10737, 0x1073F).addRange(0x10756, 0x1075F).addRange(0x10768, 0x1077F).addRange(0x107BB, 0x107FF).addRange(0x10806, 0x10807).addRange(0x10839, 0x1083B).addRange(0x1083D, 0x1083E).addRange(0x1089F, 0x108A6).addRange(0x108B0, 0x108DF).addRange(0x108F6, 0x108FA).addRange(0x1091C, 0x1091E).addRange(0x1093A, 0x1093E).addRange(0x10940, 0x1097F).addRange(0x109B8, 0x109BB).addRange(0x109D0, 0x109D1).addRange(0x10A07, 0x10A0B).addRange(0x10A36, 0x10A37).addRange(0x10A3B, 0x10A3E).addRange(0x10A49, 0x10A4F).addRange(0x10A59, 0x10A5F);\nset.addRange(0x10AA0, 0x10ABF).addRange(0x10AE7, 0x10AEA).addRange(0x10AF7, 0x10AFF).addRange(0x10B36, 0x10B38).addRange(0x10B56, 0x10B57).addRange(0x10B73, 0x10B77).addRange(0x10B92, 0x10B98).addRange(0x10B9D, 0x10BA8).addRange(0x10BB0, 0x10BFF).addRange(0x10C49, 0x10C7F).addRange(0x10CB3, 0x10CBF).addRange(0x10CF3, 0x10CF9).addRange(0x10D28, 0x10D2F).addRange(0x10D3A, 0x10E5F).addRange(0x10EAE, 0x10EAF).addRange(0x10EB2, 0x10EFC).addRange(0x10F28, 0x10F2F).addRange(0x10F5A, 0x10F6F).addRange(0x10F8A, 0x10FAF).addRange(0x10FCC, 0x10FDF).addRange(0x10FF7, 0x10FFF).addRange(0x1104E, 0x11051).addRange(0x11076, 0x1107E).addRange(0x110C3, 0x110CF).addRange(0x110E9, 0x110EF).addRange(0x110FA, 0x110FF).addRange(0x11148, 0x1114F).addRange(0x11177, 0x1117F).addRange(0x111F5, 0x111FF).addRange(0x11242, 0x1127F).addRange(0x112AA, 0x112AF).addRange(0x112EB, 0x112EF).addRange(0x112FA, 0x112FF).addRange(0x1130D, 0x1130E).addRange(0x11311, 0x11312).addRange(0x11345, 0x11346).addRange(0x11349, 0x1134A).addRange(0x1134E, 0x1134F).addRange(0x11351, 0x11356).addRange(0x11358, 0x1135C).addRange(0x11364, 0x11365).addRange(0x1136D, 0x1136F).addRange(0x11375, 0x113FF).addRange(0x11462, 0x1147F).addRange(0x114C8, 0x114CF).addRange(0x114DA, 0x1157F).addRange(0x115B6, 0x115B7).addRange(0x115DE, 0x115FF).addRange(0x11645, 0x1164F).addRange(0x1165A, 0x1165F).addRange(0x1166D, 0x1167F);\nset.addRange(0x116BA, 0x116BF).addRange(0x116CA, 0x116FF).addRange(0x1171B, 0x1171C).addRange(0x1172C, 0x1172F).addRange(0x11747, 0x117FF).addRange(0x1183C, 0x1189F).addRange(0x118F3, 0x118FE).addRange(0x11907, 0x11908).addRange(0x1190A, 0x1190B).addRange(0x11939, 0x1193A).addRange(0x11947, 0x1194F).addRange(0x1195A, 0x1199F).addRange(0x119A8, 0x119A9).addRange(0x119D8, 0x119D9).addRange(0x119E5, 0x119FF).addRange(0x11A48, 0x11A4F).addRange(0x11AA3, 0x11AAF).addRange(0x11AF9, 0x11AFF).addRange(0x11B0A, 0x11BFF).addRange(0x11C46, 0x11C4F).addRange(0x11C6D, 0x11C6F).addRange(0x11C90, 0x11C91).addRange(0x11CB7, 0x11CFF).addRange(0x11D37, 0x11D39).addRange(0x11D48, 0x11D4F).addRange(0x11D5A, 0x11D5F).addRange(0x11D99, 0x11D9F).addRange(0x11DAA, 0x11EDF).addRange(0x11EF9, 0x11EFF).addRange(0x11F3B, 0x11F3D).addRange(0x11F5A, 0x11FAF).addRange(0x11FB1, 0x11FBF).addRange(0x11FF2, 0x11FFE).addRange(0x1239A, 0x123FF).addRange(0x12475, 0x1247F).addRange(0x12544, 0x12F8F).addRange(0x12FF3, 0x12FFF).addRange(0x13430, 0x1343F).addRange(0x13456, 0x143FF).addRange(0x14647, 0x167FF).addRange(0x16A39, 0x16A3F).addRange(0x16A6A, 0x16A6D).addRange(0x16ACA, 0x16ACF).addRange(0x16AEE, 0x16AEF).addRange(0x16AF6, 0x16AFF).addRange(0x16B46, 0x16B4F).addRange(0x16B78, 0x16B7C).addRange(0x16B90, 0x16E3F).addRange(0x16E9B, 0x16EFF).addRange(0x16F4B, 0x16F4E).addRange(0x16F88, 0x16F8E);\nset.addRange(0x16FA0, 0x16FDF).addRange(0x16FE5, 0x16FEF).addRange(0x16FF2, 0x16FFF).addRange(0x187F8, 0x187FF).addRange(0x18CD6, 0x18CFF).addRange(0x18D09, 0x1AFEF).addRange(0x1B123, 0x1B131).addRange(0x1B133, 0x1B14F).addRange(0x1B153, 0x1B154).addRange(0x1B156, 0x1B163).addRange(0x1B168, 0x1B16F).addRange(0x1B2FC, 0x1BBFF).addRange(0x1BC6B, 0x1BC6F).addRange(0x1BC7D, 0x1BC7F).addRange(0x1BC89, 0x1BC8F).addRange(0x1BC9A, 0x1BC9B).addRange(0x1BCA0, 0x1CEFF).addRange(0x1CF2E, 0x1CF2F).addRange(0x1CF47, 0x1CF4F).addRange(0x1CFC4, 0x1CFFF).addRange(0x1D0F6, 0x1D0FF).addRange(0x1D127, 0x1D128).addRange(0x1D173, 0x1D17A).addRange(0x1D1EB, 0x1D1FF).addRange(0x1D246, 0x1D2BF).addRange(0x1D2D4, 0x1D2DF).addRange(0x1D2F4, 0x1D2FF).addRange(0x1D357, 0x1D35F).addRange(0x1D379, 0x1D3FF).addRange(0x1D4A0, 0x1D4A1).addRange(0x1D4A3, 0x1D4A4).addRange(0x1D4A7, 0x1D4A8).addRange(0x1D50B, 0x1D50C).addRange(0x1D547, 0x1D549).addRange(0x1D6A6, 0x1D6A7).addRange(0x1D7CC, 0x1D7CD).addRange(0x1DA8C, 0x1DA9A).addRange(0x1DAB0, 0x1DEFF).addRange(0x1DF1F, 0x1DF24).addRange(0x1DF2B, 0x1DFFF).addRange(0x1E019, 0x1E01A).addRange(0x1E02B, 0x1E02F).addRange(0x1E06E, 0x1E08E).addRange(0x1E090, 0x1E0FF).addRange(0x1E12D, 0x1E12F).addRange(0x1E13E, 0x1E13F).addRange(0x1E14A, 0x1E14D).addRange(0x1E150, 0x1E28F).addRange(0x1E2AF, 0x1E2BF).addRange(0x1E2FA, 0x1E2FE).addRange(0x1E300, 0x1E4CF);\nset.addRange(0x1E4FA, 0x1E7DF).addRange(0x1E8C5, 0x1E8C6).addRange(0x1E8D7, 0x1E8FF).addRange(0x1E94C, 0x1E94F).addRange(0x1E95A, 0x1E95D).addRange(0x1E960, 0x1EC70).addRange(0x1ECB5, 0x1ED00).addRange(0x1ED3E, 0x1EDFF).addRange(0x1EE25, 0x1EE26).addRange(0x1EE3C, 0x1EE41).addRange(0x1EE43, 0x1EE46).addRange(0x1EE55, 0x1EE56).addRange(0x1EE65, 0x1EE66).addRange(0x1EE9C, 0x1EEA0).addRange(0x1EEBC, 0x1EEEF).addRange(0x1EEF2, 0x1EFFF).addRange(0x1F02C, 0x1F02F).addRange(0x1F094, 0x1F09F).addRange(0x1F0AF, 0x1F0B0).addRange(0x1F0F6, 0x1F0FF).addRange(0x1F1AE, 0x1F1E5).addRange(0x1F203, 0x1F20F).addRange(0x1F23C, 0x1F23F).addRange(0x1F249, 0x1F24F).addRange(0x1F252, 0x1F25F).addRange(0x1F266, 0x1F2FF).addRange(0x1F6D8, 0x1F6DB).addRange(0x1F6ED, 0x1F6EF).addRange(0x1F6FD, 0x1F6FF).addRange(0x1F777, 0x1F77A).addRange(0x1F7DA, 0x1F7DF).addRange(0x1F7EC, 0x1F7EF).addRange(0x1F7F1, 0x1F7FF).addRange(0x1F80C, 0x1F80F).addRange(0x1F848, 0x1F84F).addRange(0x1F85A, 0x1F85F).addRange(0x1F888, 0x1F88F).addRange(0x1F8AE, 0x1F8AF).addRange(0x1F8B2, 0x1F8FF).addRange(0x1FA54, 0x1FA5F).addRange(0x1FA6E, 0x1FA6F).addRange(0x1FA7D, 0x1FA7F).addRange(0x1FA89, 0x1FA8F).addRange(0x1FAC6, 0x1FACD).addRange(0x1FADC, 0x1FADF).addRange(0x1FAE9, 0x1FAEF).addRange(0x1FAF9, 0x1FAFF).addRange(0x1FBCB, 0x1FBEF).addRange(0x1FBFA, 0x1FFFF).addRange(0x2A6E0, 0x2A6FF).addRange(0x2B73A, 0x2B73F);\nset.addRange(0x2B81E, 0x2B81F).addRange(0x2CEA2, 0x2CEAF).addRange(0x2EBE1, 0x2EBEF).addRange(0x2EE5E, 0x2F7FF).addRange(0x2FA1E, 0x2FFFF).addRange(0x3134B, 0x3134F).addRange(0x323B0, 0xE00FF).addRange(0xE01F0, 0x10FFFF);\nexports.characters = set;\n","const set = require('regenerate')(0x2029);\n\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xE000, 0xF8FF).addRange(0xF0000, 0xFFFFD).addRange(0x100000, 0x10FFFD);\nexports.characters = set;\n","const set = require('regenerate')(0x5F, 0x7B, 0x7D, 0xA1, 0xA7, 0xAB, 0xBB, 0xBF, 0x37E, 0x387, 0x5BE, 0x5C0, 0x5C3, 0x5C6, 0x61B, 0x6D4, 0x85E, 0x970, 0x9FD, 0xA76, 0xAF0, 0xC77, 0xC84, 0xDF4, 0xE4F, 0xF14, 0xF85, 0x10FB, 0x1400, 0x166E, 0x1CD3, 0x2D70, 0x3030, 0x303D, 0x30A0, 0x30FB, 0xA673, 0xA67E, 0xA8FC, 0xA95F, 0xABEB, 0xFE63, 0xFE68, 0xFF3F, 0xFF5B, 0xFF5D, 0x1039F, 0x103D0, 0x1056F, 0x10857, 0x1091F, 0x1093F, 0x10A7F, 0x10EAD, 0x111CD, 0x111DB, 0x112A9, 0x1145D, 0x114C6, 0x116B9, 0x1183B, 0x119E2, 0x11FFF, 0x16AF5, 0x16B44, 0x16FE2, 0x1BC9F);\nset.addRange(0x21, 0x23).addRange(0x25, 0x2A).addRange(0x2C, 0x2F).addRange(0x3A, 0x3B).addRange(0x3F, 0x40).addRange(0x5B, 0x5D).addRange(0xB6, 0xB7).addRange(0x55A, 0x55F).addRange(0x589, 0x58A).addRange(0x5F3, 0x5F4).addRange(0x609, 0x60A).addRange(0x60C, 0x60D).addRange(0x61D, 0x61F).addRange(0x66A, 0x66D).addRange(0x700, 0x70D).addRange(0x7F7, 0x7F9).addRange(0x830, 0x83E).addRange(0x964, 0x965).addRange(0xE5A, 0xE5B).addRange(0xF04, 0xF12).addRange(0xF3A, 0xF3D).addRange(0xFD0, 0xFD4).addRange(0xFD9, 0xFDA).addRange(0x104A, 0x104F).addRange(0x1360, 0x1368).addRange(0x169B, 0x169C).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x17D4, 0x17D6).addRange(0x17D8, 0x17DA).addRange(0x1800, 0x180A).addRange(0x1944, 0x1945).addRange(0x1A1E, 0x1A1F).addRange(0x1AA0, 0x1AA6).addRange(0x1AA8, 0x1AAD).addRange(0x1B5A, 0x1B60).addRange(0x1B7D, 0x1B7E).addRange(0x1BFC, 0x1BFF).addRange(0x1C3B, 0x1C3F).addRange(0x1C7E, 0x1C7F).addRange(0x1CC0, 0x1CC7).addRange(0x2010, 0x2027).addRange(0x2030, 0x2043).addRange(0x2045, 0x2051).addRange(0x2053, 0x205E).addRange(0x207D, 0x207E).addRange(0x208D, 0x208E).addRange(0x2308, 0x230B).addRange(0x2329, 0x232A).addRange(0x2768, 0x2775).addRange(0x27C5, 0x27C6);\nset.addRange(0x27E6, 0x27EF).addRange(0x2983, 0x2998).addRange(0x29D8, 0x29DB).addRange(0x29FC, 0x29FD).addRange(0x2CF9, 0x2CFC).addRange(0x2CFE, 0x2CFF).addRange(0x2E00, 0x2E2E).addRange(0x2E30, 0x2E4F).addRange(0x2E52, 0x2E5D).addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3014, 0x301F).addRange(0xA4FE, 0xA4FF).addRange(0xA60D, 0xA60F).addRange(0xA6F2, 0xA6F7).addRange(0xA874, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA8F8, 0xA8FA).addRange(0xA92E, 0xA92F).addRange(0xA9C1, 0xA9CD).addRange(0xA9DE, 0xA9DF).addRange(0xAA5C, 0xAA5F).addRange(0xAADE, 0xAADF).addRange(0xAAF0, 0xAAF1).addRange(0xFD3E, 0xFD3F).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE52).addRange(0xFE54, 0xFE61).addRange(0xFE6A, 0xFE6B).addRange(0xFF01, 0xFF03).addRange(0xFF05, 0xFF0A).addRange(0xFF0C, 0xFF0F).addRange(0xFF1A, 0xFF1B).addRange(0xFF1F, 0xFF20).addRange(0xFF3B, 0xFF3D).addRange(0xFF5F, 0xFF65).addRange(0x10100, 0x10102).addRange(0x10A50, 0x10A58).addRange(0x10AF0, 0x10AF6).addRange(0x10B39, 0x10B3F).addRange(0x10B99, 0x10B9C).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x1104D).addRange(0x110BB, 0x110BC).addRange(0x110BE, 0x110C1).addRange(0x11140, 0x11143).addRange(0x11174, 0x11175).addRange(0x111C5, 0x111C8).addRange(0x111DD, 0x111DF).addRange(0x11238, 0x1123D);\nset.addRange(0x1144B, 0x1144F).addRange(0x1145A, 0x1145B).addRange(0x115C1, 0x115D7).addRange(0x11641, 0x11643).addRange(0x11660, 0x1166C).addRange(0x1173C, 0x1173E).addRange(0x11944, 0x11946).addRange(0x11A3F, 0x11A46).addRange(0x11A9A, 0x11A9C).addRange(0x11A9E, 0x11AA2).addRange(0x11B00, 0x11B09).addRange(0x11C41, 0x11C45).addRange(0x11C70, 0x11C71).addRange(0x11EF7, 0x11EF8).addRange(0x11F43, 0x11F4F).addRange(0x12470, 0x12474).addRange(0x12FF1, 0x12FF2).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B3B).addRange(0x16E97, 0x16E9A).addRange(0x1DA87, 0x1DA8B).addRange(0x1E95E, 0x1E95F);\nexports.characters = set;\n","const set = require('regenerate')(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000);\nset.addRange(0x2000, 0x200A).addRange(0x2028, 0x2029);\nexports.characters = set;\n","const set = require('regenerate')(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000);\nset.addRange(0x2000, 0x200A);\nexports.characters = set;\n","const set = require('regenerate')(0x903, 0x93B, 0x9D7, 0xA03, 0xA83, 0xAC9, 0xB3E, 0xB40, 0xB57, 0xBD7, 0xCBE, 0xCF3, 0xD57, 0xF7F, 0x1031, 0x1038, 0x108F, 0x1715, 0x1734, 0x17B6, 0x1A55, 0x1A57, 0x1A61, 0x1B04, 0x1B35, 0x1B3B, 0x1B82, 0x1BA1, 0x1BAA, 0x1BE7, 0x1BEE, 0x1CE1, 0x1CF7, 0xA827, 0xA983, 0xAA4D, 0xAA7B, 0xAA7D, 0xAAEB, 0xAAF5, 0xABEC, 0x11000, 0x11002, 0x11082, 0x1112C, 0x11182, 0x111CE, 0x11235, 0x11357, 0x11445, 0x114B9, 0x114C1, 0x115BE, 0x1163E, 0x116AC, 0x116B6, 0x11726, 0x11838, 0x1193D, 0x11940, 0x11942, 0x119E4, 0x11A39, 0x11A97, 0x11C2F, 0x11C3E, 0x11CA9, 0x11CB1, 0x11CB4, 0x11D96, 0x11F03, 0x11F41);\nset.addRange(0x93E, 0x940).addRange(0x949, 0x94C).addRange(0x94E, 0x94F).addRange(0x982, 0x983).addRange(0x9BE, 0x9C0).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CC).addRange(0xA3E, 0xA40).addRange(0xABE, 0xAC0).addRange(0xACB, 0xACC).addRange(0xB02, 0xB03).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4C).addRange(0xBBE, 0xBBF).addRange(0xBC1, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCC).addRange(0xC01, 0xC03).addRange(0xC41, 0xC44).addRange(0xC82, 0xC83).addRange(0xCC0, 0xCC4).addRange(0xCC7, 0xCC8).addRange(0xCCA, 0xCCB).addRange(0xCD5, 0xCD6).addRange(0xD02, 0xD03).addRange(0xD3E, 0xD40).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4C).addRange(0xD82, 0xD83).addRange(0xDCF, 0xDD1).addRange(0xDD8, 0xDDF).addRange(0xDF2, 0xDF3).addRange(0xF3E, 0xF3F).addRange(0x102B, 0x102C).addRange(0x103B, 0x103C).addRange(0x1056, 0x1057).addRange(0x1062, 0x1064).addRange(0x1067, 0x106D).addRange(0x1083, 0x1084).addRange(0x1087, 0x108C).addRange(0x109A, 0x109C).addRange(0x17BE, 0x17C5).addRange(0x17C7, 0x17C8).addRange(0x1923, 0x1926).addRange(0x1929, 0x192B).addRange(0x1930, 0x1931).addRange(0x1933, 0x1938).addRange(0x1A19, 0x1A1A).addRange(0x1A63, 0x1A64).addRange(0x1A6D, 0x1A72).addRange(0x1B3D, 0x1B41);\nset.addRange(0x1B43, 0x1B44).addRange(0x1BA6, 0x1BA7).addRange(0x1BEA, 0x1BEC).addRange(0x1BF2, 0x1BF3).addRange(0x1C24, 0x1C2B).addRange(0x1C34, 0x1C35).addRange(0x302E, 0x302F).addRange(0xA823, 0xA824).addRange(0xA880, 0xA881).addRange(0xA8B4, 0xA8C3).addRange(0xA952, 0xA953).addRange(0xA9B4, 0xA9B5).addRange(0xA9BA, 0xA9BB).addRange(0xA9BE, 0xA9C0).addRange(0xAA2F, 0xAA30).addRange(0xAA33, 0xAA34).addRange(0xAAEE, 0xAAEF).addRange(0xABE3, 0xABE4).addRange(0xABE6, 0xABE7).addRange(0xABE9, 0xABEA).addRange(0x110B0, 0x110B2).addRange(0x110B7, 0x110B8).addRange(0x11145, 0x11146).addRange(0x111B3, 0x111B5).addRange(0x111BF, 0x111C0).addRange(0x1122C, 0x1122E).addRange(0x11232, 0x11233).addRange(0x112E0, 0x112E2).addRange(0x11302, 0x11303).addRange(0x1133E, 0x1133F).addRange(0x11341, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x11362, 0x11363).addRange(0x11435, 0x11437).addRange(0x11440, 0x11441).addRange(0x114B0, 0x114B2).addRange(0x114BB, 0x114BE).addRange(0x115AF, 0x115B1).addRange(0x115B8, 0x115BB).addRange(0x11630, 0x11632).addRange(0x1163B, 0x1163C).addRange(0x116AE, 0x116AF).addRange(0x11720, 0x11721).addRange(0x1182C, 0x1182E).addRange(0x11930, 0x11935).addRange(0x11937, 0x11938).addRange(0x119D1, 0x119D3).addRange(0x119DC, 0x119DF).addRange(0x11A57, 0x11A58).addRange(0x11D8A, 0x11D8E);\nset.addRange(0x11D93, 0x11D94).addRange(0x11EF5, 0x11EF6).addRange(0x11F34, 0x11F35).addRange(0x11F3E, 0x11F3F).addRange(0x16F51, 0x16F87).addRange(0x16FF0, 0x16FF1).addRange(0x1D165, 0x1D166).addRange(0x1D16D, 0x1D172);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xD800, 0xDFFF);\nexports.characters = set;\n","const set = require('regenerate')(0x24, 0x2B, 0x5E, 0x60, 0x7C, 0x7E, 0xAC, 0xB4, 0xB8, 0xD7, 0xF7, 0x2ED, 0x375, 0x3F6, 0x482, 0x60B, 0x6DE, 0x6E9, 0x7F6, 0x888, 0xAF1, 0xB70, 0xC7F, 0xD4F, 0xD79, 0xE3F, 0xF13, 0xF34, 0xF36, 0xF38, 0x166D, 0x17DB, 0x1940, 0x1FBD, 0x2044, 0x2052, 0x2114, 0x2125, 0x2127, 0x2129, 0x212E, 0x214F, 0x3004, 0x3020, 0x31EF, 0x3250, 0xAB5B, 0xFB29, 0xFDCF, 0xFE62, 0xFE69, 0xFF04, 0xFF0B, 0xFF3E, 0xFF40, 0xFF5C, 0xFF5E, 0x101A0, 0x10AC8, 0x1173F, 0x16B45, 0x1BC9C, 0x1D245, 0x1D6C1, 0x1D6DB, 0x1D6FB, 0x1D715, 0x1D735, 0x1D74F, 0x1D76F, 0x1D789, 0x1D7A9, 0x1D7C3, 0x1E14F, 0x1E2FF, 0x1ECAC, 0x1ECB0, 0x1ED2E, 0x1F7F0);\nset.addRange(0x3C, 0x3E).addRange(0xA2, 0xA6).addRange(0xA8, 0xA9).addRange(0xAE, 0xB1).addRange(0x2C2, 0x2C5).addRange(0x2D2, 0x2DF).addRange(0x2E5, 0x2EB).addRange(0x2EF, 0x2FF).addRange(0x384, 0x385).addRange(0x58D, 0x58F).addRange(0x606, 0x608).addRange(0x60E, 0x60F).addRange(0x6FD, 0x6FE).addRange(0x7FE, 0x7FF).addRange(0x9F2, 0x9F3).addRange(0x9FA, 0x9FB).addRange(0xBF3, 0xBFA).addRange(0xF01, 0xF03).addRange(0xF15, 0xF17).addRange(0xF1A, 0xF1F).addRange(0xFBE, 0xFC5).addRange(0xFC7, 0xFCC).addRange(0xFCE, 0xFCF).addRange(0xFD5, 0xFD8).addRange(0x109E, 0x109F).addRange(0x1390, 0x1399).addRange(0x19DE, 0x19FF).addRange(0x1B61, 0x1B6A).addRange(0x1B74, 0x1B7C).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x207A, 0x207C).addRange(0x208A, 0x208C).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x2101).addRange(0x2103, 0x2106).addRange(0x2108, 0x2109).addRange(0x2116, 0x2118).addRange(0x211E, 0x2123).addRange(0x213A, 0x213B).addRange(0x2140, 0x2144).addRange(0x214A, 0x214D).addRange(0x218A, 0x218B).addRange(0x2190, 0x2307).addRange(0x230C, 0x2328).addRange(0x232B, 0x2426).addRange(0x2440, 0x244A).addRange(0x249C, 0x24E9);\nset.addRange(0x2500, 0x2767).addRange(0x2794, 0x27C4).addRange(0x27C7, 0x27E5).addRange(0x27F0, 0x2982).addRange(0x2999, 0x29D7).addRange(0x29DC, 0x29FB).addRange(0x29FE, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2CE5, 0x2CEA).addRange(0x2E50, 0x2E51).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x2FFF).addRange(0x3012, 0x3013).addRange(0x3036, 0x3037).addRange(0x303E, 0x303F).addRange(0x309B, 0x309C).addRange(0x3190, 0x3191).addRange(0x3196, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3200, 0x321E).addRange(0x322A, 0x3247).addRange(0x3260, 0x327F).addRange(0x328A, 0x32B0).addRange(0x32C0, 0x33FF).addRange(0x4DC0, 0x4DFF).addRange(0xA490, 0xA4C6).addRange(0xA700, 0xA716).addRange(0xA720, 0xA721).addRange(0xA789, 0xA78A).addRange(0xA828, 0xA82B).addRange(0xA836, 0xA839).addRange(0xAA77, 0xAA79).addRange(0xAB6A, 0xAB6B).addRange(0xFBB2, 0xFBC2).addRange(0xFD40, 0xFD4F).addRange(0xFDFC, 0xFDFF).addRange(0xFE64, 0xFE66).addRange(0xFF1C, 0xFF1E).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFFC, 0xFFFD).addRange(0x10137, 0x1013F).addRange(0x10179, 0x10189).addRange(0x1018C, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x10877, 0x10878).addRange(0x11FD5, 0x11FF1);\nset.addRange(0x16B3C, 0x16B3F).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D164).addRange(0x1D16A, 0x1D16C).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D200, 0x1D241).addRange(0x1D300, 0x1D356).addRange(0x1D800, 0x1D9FF).addRange(0x1DA37, 0x1DA3A).addRange(0x1DA6D, 0x1DA74).addRange(0x1DA76, 0x1DA83).addRange(0x1DA85, 0x1DA86).addRange(0x1EEF0, 0x1EEF1).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F10D, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DC, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F776).addRange(0x1F77B, 0x1F7D9).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8).addRange(0x1FB00, 0x1FB92);\nset.addRange(0x1FB94, 0x1FBCA);\nexports.characters = set;\n","const set = require('regenerate')(0x1C5, 0x1C8, 0x1CB, 0x1F2, 0x1FBC, 0x1FCC, 0x1FFC);\nset.addRange(0x1F88, 0x1F8F).addRange(0x1F98, 0x1F9F).addRange(0x1FA8, 0x1FAF);\nexports.characters = set;\n","const set = require('regenerate')(0x38B, 0x38D, 0x3A2, 0x530, 0x590, 0x70E, 0x83F, 0x85F, 0x88F, 0x984, 0x9A9, 0x9B1, 0x9DE, 0xA04, 0xA29, 0xA31, 0xA34, 0xA37, 0xA3D, 0xA5D, 0xA84, 0xA8E, 0xA92, 0xAA9, 0xAB1, 0xAB4, 0xAC6, 0xACA, 0xB00, 0xB04, 0xB29, 0xB31, 0xB34, 0xB5E, 0xB84, 0xB91, 0xB9B, 0xB9D, 0xBC9, 0xC0D, 0xC11, 0xC29, 0xC45, 0xC49, 0xC57, 0xC8D, 0xC91, 0xCA9, 0xCB4, 0xCC5, 0xCC9, 0xCDF, 0xCF0, 0xD0D, 0xD11, 0xD45, 0xD49, 0xD80, 0xD84, 0xDB2, 0xDBC, 0xDD5, 0xDD7, 0xE83, 0xE85, 0xE8B, 0xEA4, 0xEA6, 0xEC5, 0xEC7, 0xECF, 0xF48, 0xF98, 0xFBD, 0xFCD, 0x10C6, 0x1249, 0x1257, 0x1259, 0x1289, 0x12B1, 0x12BF, 0x12C1, 0x12D7, 0x1311, 0x176D, 0x1771, 0x191F, 0x1A5F, 0x1B7F, 0x1F58, 0x1F5A, 0x1F5C, 0x1F5E, 0x1FB5, 0x1FC5, 0x1FDC, 0x1FF5, 0x1FFF, 0x2065, 0x208F, 0x2B96, 0x2D26, 0x2DA7, 0x2DAF, 0x2DB7, 0x2DBF, 0x2DC7, 0x2DCF, 0x2DD7, 0x2DDF, 0x2E9A, 0x3040, 0x3130, 0x318F, 0x321F, 0xA7D2, 0xA7D4, 0xA9CE, 0xA9FF, 0xAB27, 0xAB2F, 0xFB37, 0xFB3D, 0xFB3F, 0xFB42, 0xFB45, 0xFE53, 0xFE67, 0xFE75, 0xFF00, 0xFFE7, 0x1000C, 0x10027, 0x1003B, 0x1003E, 0x1018F, 0x1039E, 0x1057B, 0x1058B, 0x10593, 0x10596, 0x105A2, 0x105B2, 0x105BA, 0x10786, 0x107B1, 0x10809, 0x10836, 0x10856, 0x108F3, 0x10A04, 0x10A14, 0x10A18, 0x10E7F, 0x10EAA, 0x11135, 0x111E0, 0x11212, 0x11287, 0x11289, 0x1128E, 0x1129E, 0x11304, 0x11329, 0x11331, 0x11334, 0x1133A, 0x1145C, 0x11914, 0x11917, 0x11936, 0x11C09, 0x11C37, 0x11CA8, 0x11D07, 0x11D0A, 0x11D3B, 0x11D3E, 0x11D66, 0x11D69, 0x11D8F, 0x11D92, 0x11F11, 0x1246F, 0x16A5F, 0x16ABF, 0x16B5A, 0x16B62, 0x1AFF4, 0x1AFFC, 0x1AFFF, 0x1D455, 0x1D49D, 0x1D4AD, 0x1D4BA, 0x1D4BC, 0x1D4C4, 0x1D506, 0x1D515, 0x1D51D, 0x1D53A, 0x1D53F, 0x1D545, 0x1D551, 0x1DAA0, 0x1E007, 0x1E022, 0x1E025, 0x1E7E7, 0x1E7EC, 0x1E7EF, 0x1E7FF, 0x1EE04, 0x1EE20, 0x1EE23, 0x1EE28, 0x1EE33, 0x1EE38, 0x1EE3A, 0x1EE48, 0x1EE4A, 0x1EE4C, 0x1EE50, 0x1EE53, 0x1EE58, 0x1EE5A, 0x1EE5C, 0x1EE5E, 0x1EE60, 0x1EE63, 0x1EE6B, 0x1EE73, 0x1EE78, 0x1EE7D, 0x1EE7F, 0x1EE8A, 0x1EEA4, 0x1EEAA, 0x1F0C0, 0x1F0D0, 0x1FABE, 0x1FB93);\nset.addRange(0x378, 0x379).addRange(0x380, 0x383).addRange(0x557, 0x558).addRange(0x58B, 0x58C).addRange(0x5C8, 0x5CF).addRange(0x5EB, 0x5EE).addRange(0x5F5, 0x5FF).addRange(0x74B, 0x74C).addRange(0x7B2, 0x7BF).addRange(0x7FB, 0x7FC).addRange(0x82E, 0x82F).addRange(0x85C, 0x85D).addRange(0x86B, 0x86F).addRange(0x892, 0x897).addRange(0x98D, 0x98E).addRange(0x991, 0x992).addRange(0x9B3, 0x9B5).addRange(0x9BA, 0x9BB).addRange(0x9C5, 0x9C6).addRange(0x9C9, 0x9CA).addRange(0x9CF, 0x9D6).addRange(0x9D8, 0x9DB).addRange(0x9E4, 0x9E5).addRange(0x9FF, 0xA00).addRange(0xA0B, 0xA0E).addRange(0xA11, 0xA12).addRange(0xA3A, 0xA3B).addRange(0xA43, 0xA46).addRange(0xA49, 0xA4A).addRange(0xA4E, 0xA50).addRange(0xA52, 0xA58).addRange(0xA5F, 0xA65).addRange(0xA77, 0xA80).addRange(0xABA, 0xABB).addRange(0xACE, 0xACF).addRange(0xAD1, 0xADF).addRange(0xAE4, 0xAE5).addRange(0xAF2, 0xAF8).addRange(0xB0D, 0xB0E).addRange(0xB11, 0xB12).addRange(0xB3A, 0xB3B).addRange(0xB45, 0xB46).addRange(0xB49, 0xB4A).addRange(0xB4E, 0xB54).addRange(0xB58, 0xB5B).addRange(0xB64, 0xB65).addRange(0xB78, 0xB81).addRange(0xB8B, 0xB8D).addRange(0xB96, 0xB98).addRange(0xBA0, 0xBA2).addRange(0xBA5, 0xBA7);\nset.addRange(0xBAB, 0xBAD).addRange(0xBBA, 0xBBD).addRange(0xBC3, 0xBC5).addRange(0xBCE, 0xBCF).addRange(0xBD1, 0xBD6).addRange(0xBD8, 0xBE5).addRange(0xBFB, 0xBFF).addRange(0xC3A, 0xC3B).addRange(0xC4E, 0xC54).addRange(0xC5B, 0xC5C).addRange(0xC5E, 0xC5F).addRange(0xC64, 0xC65).addRange(0xC70, 0xC76).addRange(0xCBA, 0xCBB).addRange(0xCCE, 0xCD4).addRange(0xCD7, 0xCDC).addRange(0xCE4, 0xCE5).addRange(0xCF4, 0xCFF).addRange(0xD50, 0xD53).addRange(0xD64, 0xD65).addRange(0xD97, 0xD99).addRange(0xDBE, 0xDBF).addRange(0xDC7, 0xDC9).addRange(0xDCB, 0xDCE).addRange(0xDE0, 0xDE5).addRange(0xDF0, 0xDF1).addRange(0xDF5, 0xE00).addRange(0xE3B, 0xE3E).addRange(0xE5C, 0xE80).addRange(0xEBE, 0xEBF).addRange(0xEDA, 0xEDB).addRange(0xEE0, 0xEFF).addRange(0xF6D, 0xF70).addRange(0xFDB, 0xFFF).addRange(0x10C8, 0x10CC).addRange(0x10CE, 0x10CF).addRange(0x124E, 0x124F).addRange(0x125E, 0x125F).addRange(0x128E, 0x128F).addRange(0x12B6, 0x12B7).addRange(0x12C6, 0x12C7).addRange(0x1316, 0x1317).addRange(0x135B, 0x135C).addRange(0x137D, 0x137F).addRange(0x139A, 0x139F).addRange(0x13F6, 0x13F7).addRange(0x13FE, 0x13FF).addRange(0x169D, 0x169F).addRange(0x16F9, 0x16FF).addRange(0x1716, 0x171E).addRange(0x1737, 0x173F);\nset.addRange(0x1754, 0x175F).addRange(0x1774, 0x177F).addRange(0x17DE, 0x17DF).addRange(0x17EA, 0x17EF).addRange(0x17FA, 0x17FF).addRange(0x181A, 0x181F).addRange(0x1879, 0x187F).addRange(0x18AB, 0x18AF).addRange(0x18F6, 0x18FF).addRange(0x192C, 0x192F).addRange(0x193C, 0x193F).addRange(0x1941, 0x1943).addRange(0x196E, 0x196F).addRange(0x1975, 0x197F).addRange(0x19AC, 0x19AF).addRange(0x19CA, 0x19CF).addRange(0x19DB, 0x19DD).addRange(0x1A1C, 0x1A1D).addRange(0x1A7D, 0x1A7E).addRange(0x1A8A, 0x1A8F).addRange(0x1A9A, 0x1A9F).addRange(0x1AAE, 0x1AAF).addRange(0x1ACF, 0x1AFF).addRange(0x1B4D, 0x1B4F).addRange(0x1BF4, 0x1BFB).addRange(0x1C38, 0x1C3A).addRange(0x1C4A, 0x1C4C).addRange(0x1C89, 0x1C8F).addRange(0x1CBB, 0x1CBC).addRange(0x1CC8, 0x1CCF).addRange(0x1CFB, 0x1CFF).addRange(0x1F16, 0x1F17).addRange(0x1F1E, 0x1F1F).addRange(0x1F46, 0x1F47).addRange(0x1F4E, 0x1F4F).addRange(0x1F7E, 0x1F7F).addRange(0x1FD4, 0x1FD5).addRange(0x1FF0, 0x1FF1).addRange(0x2072, 0x2073).addRange(0x209D, 0x209F).addRange(0x20C1, 0x20CF).addRange(0x20F1, 0x20FF).addRange(0x218C, 0x218F).addRange(0x2427, 0x243F).addRange(0x244B, 0x245F).addRange(0x2B74, 0x2B75).addRange(0x2CF4, 0x2CF8).addRange(0x2D28, 0x2D2C).addRange(0x2D2E, 0x2D2F).addRange(0x2D68, 0x2D6E).addRange(0x2D71, 0x2D7E);\nset.addRange(0x2D97, 0x2D9F).addRange(0x2E5E, 0x2E7F).addRange(0x2EF4, 0x2EFF).addRange(0x2FD6, 0x2FEF).addRange(0x3097, 0x3098).addRange(0x3100, 0x3104).addRange(0x31E4, 0x31EE).addRange(0xA48D, 0xA48F).addRange(0xA4C7, 0xA4CF).addRange(0xA62C, 0xA63F).addRange(0xA6F8, 0xA6FF).addRange(0xA7CB, 0xA7CF).addRange(0xA7DA, 0xA7F1).addRange(0xA82D, 0xA82F).addRange(0xA83A, 0xA83F).addRange(0xA878, 0xA87F).addRange(0xA8C6, 0xA8CD).addRange(0xA8DA, 0xA8DF).addRange(0xA954, 0xA95E).addRange(0xA97D, 0xA97F).addRange(0xA9DA, 0xA9DD).addRange(0xAA37, 0xAA3F).addRange(0xAA4E, 0xAA4F).addRange(0xAA5A, 0xAA5B).addRange(0xAAC3, 0xAADA).addRange(0xAAF7, 0xAB00).addRange(0xAB07, 0xAB08).addRange(0xAB0F, 0xAB10).addRange(0xAB17, 0xAB1F).addRange(0xAB6C, 0xAB6F).addRange(0xABEE, 0xABEF).addRange(0xABFA, 0xABFF).addRange(0xD7A4, 0xD7AF).addRange(0xD7C7, 0xD7CA).addRange(0xD7FC, 0xD7FF).addRange(0xFA6E, 0xFA6F).addRange(0xFADA, 0xFAFF).addRange(0xFB07, 0xFB12).addRange(0xFB18, 0xFB1C).addRange(0xFBC3, 0xFBD2).addRange(0xFD90, 0xFD91).addRange(0xFDC8, 0xFDCE).addRange(0xFDD0, 0xFDEF).addRange(0xFE1A, 0xFE1F).addRange(0xFE6C, 0xFE6F).addRange(0xFEFD, 0xFEFE).addRange(0xFFBF, 0xFFC1).addRange(0xFFC8, 0xFFC9).addRange(0xFFD0, 0xFFD1).addRange(0xFFD8, 0xFFD9).addRange(0xFFDD, 0xFFDF);\nset.addRange(0xFFEF, 0xFFF8).addRange(0xFFFE, 0xFFFF).addRange(0x1004E, 0x1004F).addRange(0x1005E, 0x1007F).addRange(0x100FB, 0x100FF).addRange(0x10103, 0x10106).addRange(0x10134, 0x10136).addRange(0x1019D, 0x1019F).addRange(0x101A1, 0x101CF).addRange(0x101FE, 0x1027F).addRange(0x1029D, 0x1029F).addRange(0x102D1, 0x102DF).addRange(0x102FC, 0x102FF).addRange(0x10324, 0x1032C).addRange(0x1034B, 0x1034F).addRange(0x1037B, 0x1037F).addRange(0x103C4, 0x103C7).addRange(0x103D6, 0x103FF).addRange(0x1049E, 0x1049F).addRange(0x104AA, 0x104AF).addRange(0x104D4, 0x104D7).addRange(0x104FC, 0x104FF).addRange(0x10528, 0x1052F).addRange(0x10564, 0x1056E).addRange(0x105BD, 0x105FF).addRange(0x10737, 0x1073F).addRange(0x10756, 0x1075F).addRange(0x10768, 0x1077F).addRange(0x107BB, 0x107FF).addRange(0x10806, 0x10807).addRange(0x10839, 0x1083B).addRange(0x1083D, 0x1083E).addRange(0x1089F, 0x108A6).addRange(0x108B0, 0x108DF).addRange(0x108F6, 0x108FA).addRange(0x1091C, 0x1091E).addRange(0x1093A, 0x1093E).addRange(0x10940, 0x1097F).addRange(0x109B8, 0x109BB).addRange(0x109D0, 0x109D1).addRange(0x10A07, 0x10A0B).addRange(0x10A36, 0x10A37).addRange(0x10A3B, 0x10A3E).addRange(0x10A49, 0x10A4F).addRange(0x10A59, 0x10A5F).addRange(0x10AA0, 0x10ABF).addRange(0x10AE7, 0x10AEA).addRange(0x10AF7, 0x10AFF).addRange(0x10B36, 0x10B38).addRange(0x10B56, 0x10B57).addRange(0x10B73, 0x10B77);\nset.addRange(0x10B92, 0x10B98).addRange(0x10B9D, 0x10BA8).addRange(0x10BB0, 0x10BFF).addRange(0x10C49, 0x10C7F).addRange(0x10CB3, 0x10CBF).addRange(0x10CF3, 0x10CF9).addRange(0x10D28, 0x10D2F).addRange(0x10D3A, 0x10E5F).addRange(0x10EAE, 0x10EAF).addRange(0x10EB2, 0x10EFC).addRange(0x10F28, 0x10F2F).addRange(0x10F5A, 0x10F6F).addRange(0x10F8A, 0x10FAF).addRange(0x10FCC, 0x10FDF).addRange(0x10FF7, 0x10FFF).addRange(0x1104E, 0x11051).addRange(0x11076, 0x1107E).addRange(0x110C3, 0x110CC).addRange(0x110CE, 0x110CF).addRange(0x110E9, 0x110EF).addRange(0x110FA, 0x110FF).addRange(0x11148, 0x1114F).addRange(0x11177, 0x1117F).addRange(0x111F5, 0x111FF).addRange(0x11242, 0x1127F).addRange(0x112AA, 0x112AF).addRange(0x112EB, 0x112EF).addRange(0x112FA, 0x112FF).addRange(0x1130D, 0x1130E).addRange(0x11311, 0x11312).addRange(0x11345, 0x11346).addRange(0x11349, 0x1134A).addRange(0x1134E, 0x1134F).addRange(0x11351, 0x11356).addRange(0x11358, 0x1135C).addRange(0x11364, 0x11365).addRange(0x1136D, 0x1136F).addRange(0x11375, 0x113FF).addRange(0x11462, 0x1147F).addRange(0x114C8, 0x114CF).addRange(0x114DA, 0x1157F).addRange(0x115B6, 0x115B7).addRange(0x115DE, 0x115FF).addRange(0x11645, 0x1164F).addRange(0x1165A, 0x1165F).addRange(0x1166D, 0x1167F).addRange(0x116BA, 0x116BF).addRange(0x116CA, 0x116FF).addRange(0x1171B, 0x1171C).addRange(0x1172C, 0x1172F).addRange(0x11747, 0x117FF);\nset.addRange(0x1183C, 0x1189F).addRange(0x118F3, 0x118FE).addRange(0x11907, 0x11908).addRange(0x1190A, 0x1190B).addRange(0x11939, 0x1193A).addRange(0x11947, 0x1194F).addRange(0x1195A, 0x1199F).addRange(0x119A8, 0x119A9).addRange(0x119D8, 0x119D9).addRange(0x119E5, 0x119FF).addRange(0x11A48, 0x11A4F).addRange(0x11AA3, 0x11AAF).addRange(0x11AF9, 0x11AFF).addRange(0x11B0A, 0x11BFF).addRange(0x11C46, 0x11C4F).addRange(0x11C6D, 0x11C6F).addRange(0x11C90, 0x11C91).addRange(0x11CB7, 0x11CFF).addRange(0x11D37, 0x11D39).addRange(0x11D48, 0x11D4F).addRange(0x11D5A, 0x11D5F).addRange(0x11D99, 0x11D9F).addRange(0x11DAA, 0x11EDF).addRange(0x11EF9, 0x11EFF).addRange(0x11F3B, 0x11F3D).addRange(0x11F5A, 0x11FAF).addRange(0x11FB1, 0x11FBF).addRange(0x11FF2, 0x11FFE).addRange(0x1239A, 0x123FF).addRange(0x12475, 0x1247F).addRange(0x12544, 0x12F8F).addRange(0x12FF3, 0x12FFF).addRange(0x13456, 0x143FF).addRange(0x14647, 0x167FF).addRange(0x16A39, 0x16A3F).addRange(0x16A6A, 0x16A6D).addRange(0x16ACA, 0x16ACF).addRange(0x16AEE, 0x16AEF).addRange(0x16AF6, 0x16AFF).addRange(0x16B46, 0x16B4F).addRange(0x16B78, 0x16B7C).addRange(0x16B90, 0x16E3F).addRange(0x16E9B, 0x16EFF).addRange(0x16F4B, 0x16F4E).addRange(0x16F88, 0x16F8E).addRange(0x16FA0, 0x16FDF).addRange(0x16FE5, 0x16FEF).addRange(0x16FF2, 0x16FFF).addRange(0x187F8, 0x187FF).addRange(0x18CD6, 0x18CFF).addRange(0x18D09, 0x1AFEF);\nset.addRange(0x1B123, 0x1B131).addRange(0x1B133, 0x1B14F).addRange(0x1B153, 0x1B154).addRange(0x1B156, 0x1B163).addRange(0x1B168, 0x1B16F).addRange(0x1B2FC, 0x1BBFF).addRange(0x1BC6B, 0x1BC6F).addRange(0x1BC7D, 0x1BC7F).addRange(0x1BC89, 0x1BC8F).addRange(0x1BC9A, 0x1BC9B).addRange(0x1BCA4, 0x1CEFF).addRange(0x1CF2E, 0x1CF2F).addRange(0x1CF47, 0x1CF4F).addRange(0x1CFC4, 0x1CFFF).addRange(0x1D0F6, 0x1D0FF).addRange(0x1D127, 0x1D128).addRange(0x1D1EB, 0x1D1FF).addRange(0x1D246, 0x1D2BF).addRange(0x1D2D4, 0x1D2DF).addRange(0x1D2F4, 0x1D2FF).addRange(0x1D357, 0x1D35F).addRange(0x1D379, 0x1D3FF).addRange(0x1D4A0, 0x1D4A1).addRange(0x1D4A3, 0x1D4A4).addRange(0x1D4A7, 0x1D4A8).addRange(0x1D50B, 0x1D50C).addRange(0x1D547, 0x1D549).addRange(0x1D6A6, 0x1D6A7).addRange(0x1D7CC, 0x1D7CD).addRange(0x1DA8C, 0x1DA9A).addRange(0x1DAB0, 0x1DEFF).addRange(0x1DF1F, 0x1DF24).addRange(0x1DF2B, 0x1DFFF).addRange(0x1E019, 0x1E01A).addRange(0x1E02B, 0x1E02F).addRange(0x1E06E, 0x1E08E).addRange(0x1E090, 0x1E0FF).addRange(0x1E12D, 0x1E12F).addRange(0x1E13E, 0x1E13F).addRange(0x1E14A, 0x1E14D).addRange(0x1E150, 0x1E28F).addRange(0x1E2AF, 0x1E2BF).addRange(0x1E2FA, 0x1E2FE).addRange(0x1E300, 0x1E4CF).addRange(0x1E4FA, 0x1E7DF).addRange(0x1E8C5, 0x1E8C6).addRange(0x1E8D7, 0x1E8FF).addRange(0x1E94C, 0x1E94F).addRange(0x1E95A, 0x1E95D).addRange(0x1E960, 0x1EC70).addRange(0x1ECB5, 0x1ED00);\nset.addRange(0x1ED3E, 0x1EDFF).addRange(0x1EE25, 0x1EE26).addRange(0x1EE3C, 0x1EE41).addRange(0x1EE43, 0x1EE46).addRange(0x1EE55, 0x1EE56).addRange(0x1EE65, 0x1EE66).addRange(0x1EE9C, 0x1EEA0).addRange(0x1EEBC, 0x1EEEF).addRange(0x1EEF2, 0x1EFFF).addRange(0x1F02C, 0x1F02F).addRange(0x1F094, 0x1F09F).addRange(0x1F0AF, 0x1F0B0).addRange(0x1F0F6, 0x1F0FF).addRange(0x1F1AE, 0x1F1E5).addRange(0x1F203, 0x1F20F).addRange(0x1F23C, 0x1F23F).addRange(0x1F249, 0x1F24F).addRange(0x1F252, 0x1F25F).addRange(0x1F266, 0x1F2FF).addRange(0x1F6D8, 0x1F6DB).addRange(0x1F6ED, 0x1F6EF).addRange(0x1F6FD, 0x1F6FF).addRange(0x1F777, 0x1F77A).addRange(0x1F7DA, 0x1F7DF).addRange(0x1F7EC, 0x1F7EF).addRange(0x1F7F1, 0x1F7FF).addRange(0x1F80C, 0x1F80F).addRange(0x1F848, 0x1F84F).addRange(0x1F85A, 0x1F85F).addRange(0x1F888, 0x1F88F).addRange(0x1F8AE, 0x1F8AF).addRange(0x1F8B2, 0x1F8FF).addRange(0x1FA54, 0x1FA5F).addRange(0x1FA6E, 0x1FA6F).addRange(0x1FA7D, 0x1FA7F).addRange(0x1FA89, 0x1FA8F).addRange(0x1FAC6, 0x1FACD).addRange(0x1FADC, 0x1FADF).addRange(0x1FAE9, 0x1FAEF).addRange(0x1FAF9, 0x1FAFF).addRange(0x1FBCB, 0x1FBEF).addRange(0x1FBFA, 0x1FFFF).addRange(0x2A6E0, 0x2A6FF).addRange(0x2B73A, 0x2B73F).addRange(0x2B81E, 0x2B81F).addRange(0x2CEA2, 0x2CEAF).addRange(0x2EBE1, 0x2EBEF).addRange(0x2EE5E, 0x2F7FF).addRange(0x2FA1E, 0x2FFFF).addRange(0x3134B, 0x3134F).addRange(0x323B0, 0xE0000);\nset.addRange(0xE0002, 0xE001F).addRange(0xE0080, 0xE00FF).addRange(0xE01F0, 0xEFFFF).addRange(0xFFFFE, 0xFFFFF).addRange(0x10FFFE, 0x10FFFF);\nexports.characters = set;\n","const set = require('regenerate')(0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14A, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1C4, 0x1C7, 0x1CA, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F1, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3CF, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F4, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2145, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5, 0x1D49C, 0x1D4A2, 0x1D546, 0x1D7CA);\nset.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDE).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3D2, 0x3D4).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13A0, 0x13F5).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1FB8, 0x1FBB).addRange(0x1FC8, 0x1FCB).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF8, 0x1FFB).addRange(0x210B, 0x210D).addRange(0x2110, 0x2112).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x2130, 0x2133).addRange(0x213E, 0x213F).addRange(0x2C00, 0x2C2F);\nset.addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1D400, 0x1D419).addRange(0x1D434, 0x1D44D).addRange(0x1D468, 0x1D481).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B5).addRange(0x1D4D0, 0x1D4E9).addRange(0x1D504, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D538, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D56C, 0x1D585).addRange(0x1D5A0, 0x1D5B9).addRange(0x1D5D4, 0x1D5ED).addRange(0x1D608, 0x1D621).addRange(0x1D63C, 0x1D655).addRange(0x1D670, 0x1D689).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6E2, 0x1D6FA).addRange(0x1D71C, 0x1D734).addRange(0x1D756, 0x1D76E).addRange(0x1D790, 0x1D7A8).addRange(0x1E900, 0x1E921);\nexports.characters = set;\n","module.exports = new Map([\n\t['General_Category', [\n\t\t'Cased_Letter',\n\t\t'Close_Punctuation',\n\t\t'Connector_Punctuation',\n\t\t'Control',\n\t\t'Currency_Symbol',\n\t\t'Dash_Punctuation',\n\t\t'Decimal_Number',\n\t\t'Enclosing_Mark',\n\t\t'Final_Punctuation',\n\t\t'Format',\n\t\t'Initial_Punctuation',\n\t\t'Letter',\n\t\t'Letter_Number',\n\t\t'Line_Separator',\n\t\t'Lowercase_Letter',\n\t\t'Mark',\n\t\t'Math_Symbol',\n\t\t'Modifier_Letter',\n\t\t'Modifier_Symbol',\n\t\t'Nonspacing_Mark',\n\t\t'Number',\n\t\t'Open_Punctuation',\n\t\t'Other',\n\t\t'Other_Letter',\n\t\t'Other_Number',\n\t\t'Other_Punctuation',\n\t\t'Other_Symbol',\n\t\t'Paragraph_Separator',\n\t\t'Private_Use',\n\t\t'Punctuation',\n\t\t'Separator',\n\t\t'Space_Separator',\n\t\t'Spacing_Mark',\n\t\t'Surrogate',\n\t\t'Symbol',\n\t\t'Titlecase_Letter',\n\t\t'Unassigned',\n\t\t'Uppercase_Letter'\n\t]],\n\t['Script', [\n\t\t'Adlam',\n\t\t'Ahom',\n\t\t'Anatolian_Hieroglyphs',\n\t\t'Arabic',\n\t\t'Armenian',\n\t\t'Avestan',\n\t\t'Balinese',\n\t\t'Bamum',\n\t\t'Bassa_Vah',\n\t\t'Batak',\n\t\t'Bengali',\n\t\t'Bhaiksuki',\n\t\t'Bopomofo',\n\t\t'Brahmi',\n\t\t'Braille',\n\t\t'Buginese',\n\t\t'Buhid',\n\t\t'Canadian_Aboriginal',\n\t\t'Carian',\n\t\t'Caucasian_Albanian',\n\t\t'Chakma',\n\t\t'Cham',\n\t\t'Cherokee',\n\t\t'Chorasmian',\n\t\t'Common',\n\t\t'Coptic',\n\t\t'Cuneiform',\n\t\t'Cypriot',\n\t\t'Cypro_Minoan',\n\t\t'Cyrillic',\n\t\t'Deseret',\n\t\t'Devanagari',\n\t\t'Dives_Akuru',\n\t\t'Dogra',\n\t\t'Duployan',\n\t\t'Egyptian_Hieroglyphs',\n\t\t'Elbasan',\n\t\t'Elymaic',\n\t\t'Ethiopic',\n\t\t'Georgian',\n\t\t'Glagolitic',\n\t\t'Gothic',\n\t\t'Grantha',\n\t\t'Greek',\n\t\t'Gujarati',\n\t\t'Gunjala_Gondi',\n\t\t'Gurmukhi',\n\t\t'Han',\n\t\t'Hangul',\n\t\t'Hanifi_Rohingya',\n\t\t'Hanunoo',\n\t\t'Hatran',\n\t\t'Hebrew',\n\t\t'Hiragana',\n\t\t'Imperial_Aramaic',\n\t\t'Inherited',\n\t\t'Inscriptional_Pahlavi',\n\t\t'Inscriptional_Parthian',\n\t\t'Javanese',\n\t\t'Kaithi',\n\t\t'Kannada',\n\t\t'Katakana',\n\t\t'Kawi',\n\t\t'Kayah_Li',\n\t\t'Kharoshthi',\n\t\t'Khitan_Small_Script',\n\t\t'Khmer',\n\t\t'Khojki',\n\t\t'Khudawadi',\n\t\t'Lao',\n\t\t'Latin',\n\t\t'Lepcha',\n\t\t'Limbu',\n\t\t'Linear_A',\n\t\t'Linear_B',\n\t\t'Lisu',\n\t\t'Lycian',\n\t\t'Lydian',\n\t\t'Mahajani',\n\t\t'Makasar',\n\t\t'Malayalam',\n\t\t'Mandaic',\n\t\t'Manichaean',\n\t\t'Marchen',\n\t\t'Masaram_Gondi',\n\t\t'Medefaidrin',\n\t\t'Meetei_Mayek',\n\t\t'Mende_Kikakui',\n\t\t'Meroitic_Cursive',\n\t\t'Meroitic_Hieroglyphs',\n\t\t'Miao',\n\t\t'Modi',\n\t\t'Mongolian',\n\t\t'Mro',\n\t\t'Multani',\n\t\t'Myanmar',\n\t\t'Nabataean',\n\t\t'Nag_Mundari',\n\t\t'Nandinagari',\n\t\t'New_Tai_Lue',\n\t\t'Newa',\n\t\t'Nko',\n\t\t'Nushu',\n\t\t'Nyiakeng_Puachue_Hmong',\n\t\t'Ogham',\n\t\t'Ol_Chiki',\n\t\t'Old_Hungarian',\n\t\t'Old_Italic',\n\t\t'Old_North_Arabian',\n\t\t'Old_Permic',\n\t\t'Old_Persian',\n\t\t'Old_Sogdian',\n\t\t'Old_South_Arabian',\n\t\t'Old_Turkic',\n\t\t'Old_Uyghur',\n\t\t'Oriya',\n\t\t'Osage',\n\t\t'Osmanya',\n\t\t'Pahawh_Hmong',\n\t\t'Palmyrene',\n\t\t'Pau_Cin_Hau',\n\t\t'Phags_Pa',\n\t\t'Phoenician',\n\t\t'Psalter_Pahlavi',\n\t\t'Rejang',\n\t\t'Runic',\n\t\t'Samaritan',\n\t\t'Saurashtra',\n\t\t'Sharada',\n\t\t'Shavian',\n\t\t'Siddham',\n\t\t'SignWriting',\n\t\t'Sinhala',\n\t\t'Sogdian',\n\t\t'Sora_Sompeng',\n\t\t'Soyombo',\n\t\t'Sundanese',\n\t\t'Syloti_Nagri',\n\t\t'Syriac',\n\t\t'Tagalog',\n\t\t'Tagbanwa',\n\t\t'Tai_Le',\n\t\t'Tai_Tham',\n\t\t'Tai_Viet',\n\t\t'Takri',\n\t\t'Tamil',\n\t\t'Tangsa',\n\t\t'Tangut',\n\t\t'Telugu',\n\t\t'Thaana',\n\t\t'Thai',\n\t\t'Tibetan',\n\t\t'Tifinagh',\n\t\t'Tirhuta',\n\t\t'Toto',\n\t\t'Ugaritic',\n\t\t'Vai',\n\t\t'Vithkuqi',\n\t\t'Wancho',\n\t\t'Warang_Citi',\n\t\t'Yezidi',\n\t\t'Yi',\n\t\t'Zanabazar_Square'\n\t]],\n\t['Script_Extensions', [\n\t\t'Adlam',\n\t\t'Ahom',\n\t\t'Anatolian_Hieroglyphs',\n\t\t'Arabic',\n\t\t'Armenian',\n\t\t'Avestan',\n\t\t'Balinese',\n\t\t'Bamum',\n\t\t'Bassa_Vah',\n\t\t'Batak',\n\t\t'Bengali',\n\t\t'Bhaiksuki',\n\t\t'Bopomofo',\n\t\t'Brahmi',\n\t\t'Braille',\n\t\t'Buginese',\n\t\t'Buhid',\n\t\t'Canadian_Aboriginal',\n\t\t'Carian',\n\t\t'Caucasian_Albanian',\n\t\t'Chakma',\n\t\t'Cham',\n\t\t'Cherokee',\n\t\t'Chorasmian',\n\t\t'Common',\n\t\t'Coptic',\n\t\t'Cuneiform',\n\t\t'Cypriot',\n\t\t'Cypro_Minoan',\n\t\t'Cyrillic',\n\t\t'Deseret',\n\t\t'Devanagari',\n\t\t'Dives_Akuru',\n\t\t'Dogra',\n\t\t'Duployan',\n\t\t'Egyptian_Hieroglyphs',\n\t\t'Elbasan',\n\t\t'Elymaic',\n\t\t'Ethiopic',\n\t\t'Georgian',\n\t\t'Glagolitic',\n\t\t'Gothic',\n\t\t'Grantha',\n\t\t'Greek',\n\t\t'Gujarati',\n\t\t'Gunjala_Gondi',\n\t\t'Gurmukhi',\n\t\t'Han',\n\t\t'Hangul',\n\t\t'Hanifi_Rohingya',\n\t\t'Hanunoo',\n\t\t'Hatran',\n\t\t'Hebrew',\n\t\t'Hiragana',\n\t\t'Imperial_Aramaic',\n\t\t'Inherited',\n\t\t'Inscriptional_Pahlavi',\n\t\t'Inscriptional_Parthian',\n\t\t'Javanese',\n\t\t'Kaithi',\n\t\t'Kannada',\n\t\t'Katakana',\n\t\t'Kawi',\n\t\t'Kayah_Li',\n\t\t'Kharoshthi',\n\t\t'Khitan_Small_Script',\n\t\t'Khmer',\n\t\t'Khojki',\n\t\t'Khudawadi',\n\t\t'Lao',\n\t\t'Latin',\n\t\t'Lepcha',\n\t\t'Limbu',\n\t\t'Linear_A',\n\t\t'Linear_B',\n\t\t'Lisu',\n\t\t'Lycian',\n\t\t'Lydian',\n\t\t'Mahajani',\n\t\t'Makasar',\n\t\t'Malayalam',\n\t\t'Mandaic',\n\t\t'Manichaean',\n\t\t'Marchen',\n\t\t'Masaram_Gondi',\n\t\t'Medefaidrin',\n\t\t'Meetei_Mayek',\n\t\t'Mende_Kikakui',\n\t\t'Meroitic_Cursive',\n\t\t'Meroitic_Hieroglyphs',\n\t\t'Miao',\n\t\t'Modi',\n\t\t'Mongolian',\n\t\t'Mro',\n\t\t'Multani',\n\t\t'Myanmar',\n\t\t'Nabataean',\n\t\t'Nag_Mundari',\n\t\t'Nandinagari',\n\t\t'New_Tai_Lue',\n\t\t'Newa',\n\t\t'Nko',\n\t\t'Nushu',\n\t\t'Nyiakeng_Puachue_Hmong',\n\t\t'Ogham',\n\t\t'Ol_Chiki',\n\t\t'Old_Hungarian',\n\t\t'Old_Italic',\n\t\t'Old_North_Arabian',\n\t\t'Old_Permic',\n\t\t'Old_Persian',\n\t\t'Old_Sogdian',\n\t\t'Old_South_Arabian',\n\t\t'Old_Turkic',\n\t\t'Old_Uyghur',\n\t\t'Oriya',\n\t\t'Osage',\n\t\t'Osmanya',\n\t\t'Pahawh_Hmong',\n\t\t'Palmyrene',\n\t\t'Pau_Cin_Hau',\n\t\t'Phags_Pa',\n\t\t'Phoenician',\n\t\t'Psalter_Pahlavi',\n\t\t'Rejang',\n\t\t'Runic',\n\t\t'Samaritan',\n\t\t'Saurashtra',\n\t\t'Sharada',\n\t\t'Shavian',\n\t\t'Siddham',\n\t\t'SignWriting',\n\t\t'Sinhala',\n\t\t'Sogdian',\n\t\t'Sora_Sompeng',\n\t\t'Soyombo',\n\t\t'Sundanese',\n\t\t'Syloti_Nagri',\n\t\t'Syriac',\n\t\t'Tagalog',\n\t\t'Tagbanwa',\n\t\t'Tai_Le',\n\t\t'Tai_Tham',\n\t\t'Tai_Viet',\n\t\t'Takri',\n\t\t'Tamil',\n\t\t'Tangsa',\n\t\t'Tangut',\n\t\t'Telugu',\n\t\t'Thaana',\n\t\t'Thai',\n\t\t'Tibetan',\n\t\t'Tifinagh',\n\t\t'Tirhuta',\n\t\t'Toto',\n\t\t'Ugaritic',\n\t\t'Vai',\n\t\t'Vithkuqi',\n\t\t'Wancho',\n\t\t'Warang_Citi',\n\t\t'Yezidi',\n\t\t'Yi',\n\t\t'Zanabazar_Square'\n\t]],\n\t['Binary_Property', [\n\t\t'ASCII',\n\t\t'ASCII_Hex_Digit',\n\t\t'Alphabetic',\n\t\t'Any',\n\t\t'Assigned',\n\t\t'Bidi_Control',\n\t\t'Bidi_Mirrored',\n\t\t'Case_Ignorable',\n\t\t'Cased',\n\t\t'Changes_When_Casefolded',\n\t\t'Changes_When_Casemapped',\n\t\t'Changes_When_Lowercased',\n\t\t'Changes_When_NFKC_Casefolded',\n\t\t'Changes_When_Titlecased',\n\t\t'Changes_When_Uppercased',\n\t\t'Dash',\n\t\t'Default_Ignorable_Code_Point',\n\t\t'Deprecated',\n\t\t'Diacritic',\n\t\t'Emoji',\n\t\t'Emoji_Component',\n\t\t'Emoji_Modifier',\n\t\t'Emoji_Modifier_Base',\n\t\t'Emoji_Presentation',\n\t\t'Extended_Pictographic',\n\t\t'Extender',\n\t\t'Grapheme_Base',\n\t\t'Grapheme_Extend',\n\t\t'Hex_Digit',\n\t\t'IDS_Binary_Operator',\n\t\t'IDS_Trinary_Operator',\n\t\t'ID_Continue',\n\t\t'ID_Start',\n\t\t'Ideographic',\n\t\t'Join_Control',\n\t\t'Logical_Order_Exception',\n\t\t'Lowercase',\n\t\t'Math',\n\t\t'Noncharacter_Code_Point',\n\t\t'Pattern_Syntax',\n\t\t'Pattern_White_Space',\n\t\t'Quotation_Mark',\n\t\t'Radical',\n\t\t'Regional_Indicator',\n\t\t'Sentence_Terminal',\n\t\t'Soft_Dotted',\n\t\t'Terminal_Punctuation',\n\t\t'Unified_Ideograph',\n\t\t'Uppercase',\n\t\t'Variation_Selector',\n\t\t'White_Space',\n\t\t'XID_Continue',\n\t\t'XID_Start'\n\t]],\n\t['Property_of_Strings', [\n\t\t'Basic_Emoji',\n\t\t'Emoji_Keycap_Sequence',\n\t\t'RGI_Emoji',\n\t\t'RGI_Emoji_Flag_Sequence',\n\t\t'RGI_Emoji_Modifier_Sequence',\n\t\t'RGI_Emoji_Tag_Sequence',\n\t\t'RGI_Emoji_ZWJ_Sequence'\n\t]]\n]);\n","const set = require('regenerate')(0x23F0, 0x23F3, 0x267F, 0x2693, 0x26A1, 0x26CE, 0x26D4, 0x26EA, 0x26F5, 0x26FA, 0x26FD, 0x2705, 0x2728, 0x274C, 0x274E, 0x2757, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x1F004, 0x1F0CF, 0x1F18E, 0x1F201, 0x1F21A, 0x1F22F, 0x1F3F4, 0x1F440, 0x1F57A, 0x1F5A4, 0x1F6CC, 0x1F7F0);\nset.addRange(0x231A, 0x231B).addRange(0x23E9, 0x23EC).addRange(0x25FD, 0x25FE).addRange(0x2614, 0x2615).addRange(0x2648, 0x2653).addRange(0x26AA, 0x26AB).addRange(0x26BD, 0x26BE).addRange(0x26C4, 0x26C5).addRange(0x26F2, 0x26F3).addRange(0x270A, 0x270B).addRange(0x2753, 0x2755).addRange(0x2795, 0x2797).addRange(0x2B1B, 0x2B1C).addRange(0x1F191, 0x1F19A).addRange(0x1F232, 0x1F236).addRange(0x1F238, 0x1F23A).addRange(0x1F250, 0x1F251).addRange(0x1F300, 0x1F320).addRange(0x1F32D, 0x1F335).addRange(0x1F337, 0x1F37C).addRange(0x1F37E, 0x1F393).addRange(0x1F3A0, 0x1F3CA).addRange(0x1F3CF, 0x1F3D3).addRange(0x1F3E0, 0x1F3F0).addRange(0x1F3F8, 0x1F43E).addRange(0x1F442, 0x1F4FC).addRange(0x1F4FF, 0x1F53D).addRange(0x1F54B, 0x1F54E).addRange(0x1F550, 0x1F567).addRange(0x1F595, 0x1F596).addRange(0x1F5FB, 0x1F64F).addRange(0x1F680, 0x1F6C5).addRange(0x1F6D0, 0x1F6D2).addRange(0x1F6D5, 0x1F6D7).addRange(0x1F6DC, 0x1F6DF).addRange(0x1F6EB, 0x1F6EC).addRange(0x1F6F4, 0x1F6FC).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1F9FF).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8);\nexports.characters = set;\nexports.strings = ['\\xA9\\uFE0F','\\xAE\\uFE0F','\\u203C\\uFE0F','\\u2049\\uFE0F','\\u2122\\uFE0F','\\u2139\\uFE0F','\\u2194\\uFE0F','\\u2195\\uFE0F','\\u2196\\uFE0F','\\u2197\\uFE0F','\\u2198\\uFE0F','\\u2199\\uFE0F','\\u21A9\\uFE0F','\\u21AA\\uFE0F','\\u2328\\uFE0F','\\u23CF\\uFE0F','\\u23ED\\uFE0F','\\u23EE\\uFE0F','\\u23EF\\uFE0F','\\u23F1\\uFE0F','\\u23F2\\uFE0F','\\u23F8\\uFE0F','\\u23F9\\uFE0F','\\u23FA\\uFE0F','\\u24C2\\uFE0F','\\u25AA\\uFE0F','\\u25AB\\uFE0F','\\u25B6\\uFE0F','\\u25C0\\uFE0F','\\u25FB\\uFE0F','\\u25FC\\uFE0F','\\u2600\\uFE0F','\\u2601\\uFE0F','\\u2602\\uFE0F','\\u2603\\uFE0F','\\u2604\\uFE0F','\\u260E\\uFE0F','\\u2611\\uFE0F','\\u2618\\uFE0F','\\u261D\\uFE0F','\\u2620\\uFE0F','\\u2622\\uFE0F','\\u2623\\uFE0F','\\u2626\\uFE0F','\\u262A\\uFE0F','\\u262E\\uFE0F','\\u262F\\uFE0F','\\u2638\\uFE0F','\\u2639\\uFE0F','\\u263A\\uFE0F','\\u2640\\uFE0F','\\u2642\\uFE0F','\\u265F\\uFE0F','\\u2660\\uFE0F','\\u2663\\uFE0F','\\u2665\\uFE0F','\\u2666\\uFE0F','\\u2668\\uFE0F','\\u267B\\uFE0F','\\u267E\\uFE0F','\\u2692\\uFE0F','\\u2694\\uFE0F','\\u2695\\uFE0F','\\u2696\\uFE0F','\\u2697\\uFE0F','\\u2699\\uFE0F','\\u269B\\uFE0F','\\u269C\\uFE0F','\\u26A0\\uFE0F','\\u26A7\\uFE0F','\\u26B0\\uFE0F','\\u26B1\\uFE0F','\\u26C8\\uFE0F','\\u26CF\\uFE0F','\\u26D1\\uFE0F','\\u26D3\\uFE0F','\\u26E9\\uFE0F','\\u26F0\\uFE0F','\\u26F1\\uFE0F','\\u26F4\\uFE0F','\\u26F7\\uFE0F','\\u26F8\\uFE0F','\\u26F9\\uFE0F','\\u2702\\uFE0F','\\u2708\\uFE0F','\\u2709\\uFE0F','\\u270C\\uFE0F','\\u270D\\uFE0F','\\u270F\\uFE0F','\\u2712\\uFE0F','\\u2714\\uFE0F','\\u2716\\uFE0F','\\u271D\\uFE0F','\\u2721\\uFE0F','\\u2733\\uFE0F','\\u2734\\uFE0F','\\u2744\\uFE0F','\\u2747\\uFE0F','\\u2763\\uFE0F','\\u2764\\uFE0F','\\u27A1\\uFE0F','\\u2934\\uFE0F','\\u2935\\uFE0F','\\u2B05\\uFE0F','\\u2B06\\uFE0F','\\u2B07\\uFE0F','\\u3030\\uFE0F','\\u303D\\uFE0F','\\u3297\\uFE0F','\\u3299\\uFE0F','\\u{1F170}\\uFE0F','\\u{1F171}\\uFE0F','\\u{1F17E}\\uFE0F','\\u{1F17F}\\uFE0F','\\u{1F202}\\uFE0F','\\u{1F237}\\uFE0F','\\u{1F321}\\uFE0F','\\u{1F324}\\uFE0F','\\u{1F325}\\uFE0F','\\u{1F326}\\uFE0F','\\u{1F327}\\uFE0F','\\u{1F328}\\uFE0F','\\u{1F329}\\uFE0F','\\u{1F32A}\\uFE0F','\\u{1F32B}\\uFE0F','\\u{1F32C}\\uFE0F','\\u{1F336}\\uFE0F','\\u{1F37D}\\uFE0F','\\u{1F396}\\uFE0F','\\u{1F397}\\uFE0F','\\u{1F399}\\uFE0F','\\u{1F39A}\\uFE0F','\\u{1F39B}\\uFE0F','\\u{1F39E}\\uFE0F','\\u{1F39F}\\uFE0F','\\u{1F3CB}\\uFE0F','\\u{1F3CC}\\uFE0F','\\u{1F3CD}\\uFE0F','\\u{1F3CE}\\uFE0F','\\u{1F3D4}\\uFE0F','\\u{1F3D5}\\uFE0F','\\u{1F3D6}\\uFE0F','\\u{1F3D7}\\uFE0F','\\u{1F3D8}\\uFE0F','\\u{1F3D9}\\uFE0F','\\u{1F3DA}\\uFE0F','\\u{1F3DB}\\uFE0F','\\u{1F3DC}\\uFE0F','\\u{1F3DD}\\uFE0F','\\u{1F3DE}\\uFE0F','\\u{1F3DF}\\uFE0F','\\u{1F3F3}\\uFE0F','\\u{1F3F5}\\uFE0F','\\u{1F3F7}\\uFE0F','\\u{1F43F}\\uFE0F','\\u{1F441}\\uFE0F','\\u{1F4FD}\\uFE0F','\\u{1F549}\\uFE0F','\\u{1F54A}\\uFE0F','\\u{1F56F}\\uFE0F','\\u{1F570}\\uFE0F','\\u{1F573}\\uFE0F','\\u{1F574}\\uFE0F','\\u{1F575}\\uFE0F','\\u{1F576}\\uFE0F','\\u{1F577}\\uFE0F','\\u{1F578}\\uFE0F','\\u{1F579}\\uFE0F','\\u{1F587}\\uFE0F','\\u{1F58A}\\uFE0F','\\u{1F58B}\\uFE0F','\\u{1F58C}\\uFE0F','\\u{1F58D}\\uFE0F','\\u{1F590}\\uFE0F','\\u{1F5A5}\\uFE0F','\\u{1F5A8}\\uFE0F','\\u{1F5B1}\\uFE0F','\\u{1F5B2}\\uFE0F','\\u{1F5BC}\\uFE0F','\\u{1F5C2}\\uFE0F','\\u{1F5C3}\\uFE0F','\\u{1F5C4}\\uFE0F','\\u{1F5D1}\\uFE0F','\\u{1F5D2}\\uFE0F','\\u{1F5D3}\\uFE0F','\\u{1F5DC}\\uFE0F','\\u{1F5DD}\\uFE0F','\\u{1F5DE}\\uFE0F','\\u{1F5E1}\\uFE0F','\\u{1F5E3}\\uFE0F','\\u{1F5E8}\\uFE0F','\\u{1F5EF}\\uFE0F','\\u{1F5F3}\\uFE0F','\\u{1F5FA}\\uFE0F','\\u{1F6CB}\\uFE0F','\\u{1F6CD}\\uFE0F','\\u{1F6CE}\\uFE0F','\\u{1F6CF}\\uFE0F','\\u{1F6E0}\\uFE0F','\\u{1F6E1}\\uFE0F','\\u{1F6E2}\\uFE0F','\\u{1F6E3}\\uFE0F','\\u{1F6E4}\\uFE0F','\\u{1F6E5}\\uFE0F','\\u{1F6E9}\\uFE0F','\\u{1F6F0}\\uFE0F','\\u{1F6F3}\\uFE0F'];\n","const set = require('regenerate')();\n\nexports.characters = set;\nexports.strings = ['#\\uFE0F\\u20E3','*\\uFE0F\\u20E3','0\\uFE0F\\u20E3','1\\uFE0F\\u20E3','2\\uFE0F\\u20E3','3\\uFE0F\\u20E3','4\\uFE0F\\u20E3','5\\uFE0F\\u20E3','6\\uFE0F\\u20E3','7\\uFE0F\\u20E3','8\\uFE0F\\u20E3','9\\uFE0F\\u20E3'];\n","const set = require('regenerate')();\n\nexports.characters = set;\nexports.strings = ['\\u{1F1E6}\\u{1F1E8}','\\u{1F1E6}\\u{1F1E9}','\\u{1F1E6}\\u{1F1EA}','\\u{1F1E6}\\u{1F1EB}','\\u{1F1E6}\\u{1F1EC}','\\u{1F1E6}\\u{1F1EE}','\\u{1F1E6}\\u{1F1F1}','\\u{1F1E6}\\u{1F1F2}','\\u{1F1E6}\\u{1F1F4}','\\u{1F1E6}\\u{1F1F6}','\\u{1F1E6}\\u{1F1F7}','\\u{1F1E6}\\u{1F1F8}','\\u{1F1E6}\\u{1F1F9}','\\u{1F1E6}\\u{1F1FA}','\\u{1F1E6}\\u{1F1FC}','\\u{1F1E6}\\u{1F1FD}','\\u{1F1E6}\\u{1F1FF}','\\u{1F1E7}\\u{1F1E6}','\\u{1F1E7}\\u{1F1E7}','\\u{1F1E7}\\u{1F1E9}','\\u{1F1E7}\\u{1F1EA}','\\u{1F1E7}\\u{1F1EB}','\\u{1F1E7}\\u{1F1EC}','\\u{1F1E7}\\u{1F1ED}','\\u{1F1E7}\\u{1F1EE}','\\u{1F1E7}\\u{1F1EF}','\\u{1F1E7}\\u{1F1F1}','\\u{1F1E7}\\u{1F1F2}','\\u{1F1E7}\\u{1F1F3}','\\u{1F1E7}\\u{1F1F4}','\\u{1F1E7}\\u{1F1F6}','\\u{1F1E7}\\u{1F1F7}','\\u{1F1E7}\\u{1F1F8}','\\u{1F1E7}\\u{1F1F9}','\\u{1F1E7}\\u{1F1FB}','\\u{1F1E7}\\u{1F1FC}','\\u{1F1E7}\\u{1F1FE}','\\u{1F1E7}\\u{1F1FF}','\\u{1F1E8}\\u{1F1E6}','\\u{1F1E8}\\u{1F1E8}','\\u{1F1E8}\\u{1F1E9}','\\u{1F1E8}\\u{1F1EB}','\\u{1F1E8}\\u{1F1EC}','\\u{1F1E8}\\u{1F1ED}','\\u{1F1E8}\\u{1F1EE}','\\u{1F1E8}\\u{1F1F0}','\\u{1F1E8}\\u{1F1F1}','\\u{1F1E8}\\u{1F1F2}','\\u{1F1E8}\\u{1F1F3}','\\u{1F1E8}\\u{1F1F4}','\\u{1F1E8}\\u{1F1F5}','\\u{1F1E8}\\u{1F1F7}','\\u{1F1E8}\\u{1F1FA}','\\u{1F1E8}\\u{1F1FB}','\\u{1F1E8}\\u{1F1FC}','\\u{1F1E8}\\u{1F1FD}','\\u{1F1E8}\\u{1F1FE}','\\u{1F1E8}\\u{1F1FF}','\\u{1F1E9}\\u{1F1EA}','\\u{1F1E9}\\u{1F1EC}','\\u{1F1E9}\\u{1F1EF}','\\u{1F1E9}\\u{1F1F0}','\\u{1F1E9}\\u{1F1F2}','\\u{1F1E9}\\u{1F1F4}','\\u{1F1E9}\\u{1F1FF}','\\u{1F1EA}\\u{1F1E6}','\\u{1F1EA}\\u{1F1E8}','\\u{1F1EA}\\u{1F1EA}','\\u{1F1EA}\\u{1F1EC}','\\u{1F1EA}\\u{1F1ED}','\\u{1F1EA}\\u{1F1F7}','\\u{1F1EA}\\u{1F1F8}','\\u{1F1EA}\\u{1F1F9}','\\u{1F1EA}\\u{1F1FA}','\\u{1F1EB}\\u{1F1EE}','\\u{1F1EB}\\u{1F1EF}','\\u{1F1EB}\\u{1F1F0}','\\u{1F1EB}\\u{1F1F2}','\\u{1F1EB}\\u{1F1F4}','\\u{1F1EB}\\u{1F1F7}','\\u{1F1EC}\\u{1F1E6}','\\u{1F1EC}\\u{1F1E7}','\\u{1F1EC}\\u{1F1E9}','\\u{1F1EC}\\u{1F1EA}','\\u{1F1EC}\\u{1F1EB}','\\u{1F1EC}\\u{1F1EC}','\\u{1F1EC}\\u{1F1ED}','\\u{1F1EC}\\u{1F1EE}','\\u{1F1EC}\\u{1F1F1}','\\u{1F1EC}\\u{1F1F2}','\\u{1F1EC}\\u{1F1F3}','\\u{1F1EC}\\u{1F1F5}','\\u{1F1EC}\\u{1F1F6}','\\u{1F1EC}\\u{1F1F7}','\\u{1F1EC}\\u{1F1F8}','\\u{1F1EC}\\u{1F1F9}','\\u{1F1EC}\\u{1F1FA}','\\u{1F1EC}\\u{1F1FC}','\\u{1F1EC}\\u{1F1FE}','\\u{1F1ED}\\u{1F1F0}','\\u{1F1ED}\\u{1F1F2}','\\u{1F1ED}\\u{1F1F3}','\\u{1F1ED}\\u{1F1F7}','\\u{1F1ED}\\u{1F1F9}','\\u{1F1ED}\\u{1F1FA}','\\u{1F1EE}\\u{1F1E8}','\\u{1F1EE}\\u{1F1E9}','\\u{1F1EE}\\u{1F1EA}','\\u{1F1EE}\\u{1F1F1}','\\u{1F1EE}\\u{1F1F2}','\\u{1F1EE}\\u{1F1F3}','\\u{1F1EE}\\u{1F1F4}','\\u{1F1EE}\\u{1F1F6}','\\u{1F1EE}\\u{1F1F7}','\\u{1F1EE}\\u{1F1F8}','\\u{1F1EE}\\u{1F1F9}','\\u{1F1EF}\\u{1F1EA}','\\u{1F1EF}\\u{1F1F2}','\\u{1F1EF}\\u{1F1F4}','\\u{1F1EF}\\u{1F1F5}','\\u{1F1F0}\\u{1F1EA}','\\u{1F1F0}\\u{1F1EC}','\\u{1F1F0}\\u{1F1ED}','\\u{1F1F0}\\u{1F1EE}','\\u{1F1F0}\\u{1F1F2}','\\u{1F1F0}\\u{1F1F3}','\\u{1F1F0}\\u{1F1F5}','\\u{1F1F0}\\u{1F1F7}','\\u{1F1F0}\\u{1F1FC}','\\u{1F1F0}\\u{1F1FE}','\\u{1F1F0}\\u{1F1FF}','\\u{1F1F1}\\u{1F1E6}','\\u{1F1F1}\\u{1F1E7}','\\u{1F1F1}\\u{1F1E8}','\\u{1F1F1}\\u{1F1EE}','\\u{1F1F1}\\u{1F1F0}','\\u{1F1F1}\\u{1F1F7}','\\u{1F1F1}\\u{1F1F8}','\\u{1F1F1}\\u{1F1F9}','\\u{1F1F1}\\u{1F1FA}','\\u{1F1F1}\\u{1F1FB}','\\u{1F1F1}\\u{1F1FE}','\\u{1F1F2}\\u{1F1E6}','\\u{1F1F2}\\u{1F1E8}','\\u{1F1F2}\\u{1F1E9}','\\u{1F1F2}\\u{1F1EA}','\\u{1F1F2}\\u{1F1EB}','\\u{1F1F2}\\u{1F1EC}','\\u{1F1F2}\\u{1F1ED}','\\u{1F1F2}\\u{1F1F0}','\\u{1F1F2}\\u{1F1F1}','\\u{1F1F2}\\u{1F1F2}','\\u{1F1F2}\\u{1F1F3}','\\u{1F1F2}\\u{1F1F4}','\\u{1F1F2}\\u{1F1F5}','\\u{1F1F2}\\u{1F1F6}','\\u{1F1F2}\\u{1F1F7}','\\u{1F1F2}\\u{1F1F8}','\\u{1F1F2}\\u{1F1F9}','\\u{1F1F2}\\u{1F1FA}','\\u{1F1F2}\\u{1F1FB}','\\u{1F1F2}\\u{1F1FC}','\\u{1F1F2}\\u{1F1FD}','\\u{1F1F2}\\u{1F1FE}','\\u{1F1F2}\\u{1F1FF}','\\u{1F1F3}\\u{1F1E6}','\\u{1F1F3}\\u{1F1E8}','\\u{1F1F3}\\u{1F1EA}','\\u{1F1F3}\\u{1F1EB}','\\u{1F1F3}\\u{1F1EC}','\\u{1F1F3}\\u{1F1EE}','\\u{1F1F3}\\u{1F1F1}','\\u{1F1F3}\\u{1F1F4}','\\u{1F1F3}\\u{1F1F5}','\\u{1F1F3}\\u{1F1F7}','\\u{1F1F3}\\u{1F1FA}','\\u{1F1F3}\\u{1F1FF}','\\u{1F1F4}\\u{1F1F2}','\\u{1F1F5}\\u{1F1E6}','\\u{1F1F5}\\u{1F1EA}','\\u{1F1F5}\\u{1F1EB}','\\u{1F1F5}\\u{1F1EC}','\\u{1F1F5}\\u{1F1ED}','\\u{1F1F5}\\u{1F1F0}','\\u{1F1F5}\\u{1F1F1}','\\u{1F1F5}\\u{1F1F2}','\\u{1F1F5}\\u{1F1F3}','\\u{1F1F5}\\u{1F1F7}','\\u{1F1F5}\\u{1F1F8}','\\u{1F1F5}\\u{1F1F9}','\\u{1F1F5}\\u{1F1FC}','\\u{1F1F5}\\u{1F1FE}','\\u{1F1F6}\\u{1F1E6}','\\u{1F1F7}\\u{1F1EA}','\\u{1F1F7}\\u{1F1F4}','\\u{1F1F7}\\u{1F1F8}','\\u{1F1F7}\\u{1F1FA}','\\u{1F1F7}\\u{1F1FC}','\\u{1F1F8}\\u{1F1E6}','\\u{1F1F8}\\u{1F1E7}','\\u{1F1F8}\\u{1F1E8}','\\u{1F1F8}\\u{1F1E9}','\\u{1F1F8}\\u{1F1EA}','\\u{1F1F8}\\u{1F1EC}','\\u{1F1F8}\\u{1F1ED}','\\u{1F1F8}\\u{1F1EE}','\\u{1F1F8}\\u{1F1EF}','\\u{1F1F8}\\u{1F1F0}','\\u{1F1F8}\\u{1F1F1}','\\u{1F1F8}\\u{1F1F2}','\\u{1F1F8}\\u{1F1F3}','\\u{1F1F8}\\u{1F1F4}','\\u{1F1F8}\\u{1F1F7}','\\u{1F1F8}\\u{1F1F8}','\\u{1F1F8}\\u{1F1F9}','\\u{1F1F8}\\u{1F1FB}','\\u{1F1F8}\\u{1F1FD}','\\u{1F1F8}\\u{1F1FE}','\\u{1F1F8}\\u{1F1FF}','\\u{1F1F9}\\u{1F1E6}','\\u{1F1F9}\\u{1F1E8}','\\u{1F1F9}\\u{1F1E9}','\\u{1F1F9}\\u{1F1EB}','\\u{1F1F9}\\u{1F1EC}','\\u{1F1F9}\\u{1F1ED}','\\u{1F1F9}\\u{1F1EF}','\\u{1F1F9}\\u{1F1F0}','\\u{1F1F9}\\u{1F1F1}','\\u{1F1F9}\\u{1F1F2}','\\u{1F1F9}\\u{1F1F3}','\\u{1F1F9}\\u{1F1F4}','\\u{1F1F9}\\u{1F1F7}','\\u{1F1F9}\\u{1F1F9}','\\u{1F1F9}\\u{1F1FB}','\\u{1F1F9}\\u{1F1FC}','\\u{1F1F9}\\u{1F1FF}','\\u{1F1FA}\\u{1F1E6}','\\u{1F1FA}\\u{1F1EC}','\\u{1F1FA}\\u{1F1F2}','\\u{1F1FA}\\u{1F1F3}','\\u{1F1FA}\\u{1F1F8}','\\u{1F1FA}\\u{1F1FE}','\\u{1F1FA}\\u{1F1FF}','\\u{1F1FB}\\u{1F1E6}','\\u{1F1FB}\\u{1F1E8}','\\u{1F1FB}\\u{1F1EA}','\\u{1F1FB}\\u{1F1EC}','\\u{1F1FB}\\u{1F1EE}','\\u{1F1FB}\\u{1F1F3}','\\u{1F1FB}\\u{1F1FA}','\\u{1F1FC}\\u{1F1EB}','\\u{1F1FC}\\u{1F1F8}','\\u{1F1FD}\\u{1F1F0}','\\u{1F1FE}\\u{1F1EA}','\\u{1F1FE}\\u{1F1F9}','\\u{1F1FF}\\u{1F1E6}','\\u{1F1FF}\\u{1F1F2}','\\u{1F1FF}\\u{1F1FC}'];\n","const set = require('regenerate')();\n\nexports.characters = set;\nexports.strings = ['\\u261D\\u{1F3FB}','\\u261D\\u{1F3FC}','\\u261D\\u{1F3FD}','\\u261D\\u{1F3FE}','\\u261D\\u{1F3FF}','\\u26F9\\u{1F3FB}','\\u26F9\\u{1F3FC}','\\u26F9\\u{1F3FD}','\\u26F9\\u{1F3FE}','\\u26F9\\u{1F3FF}','\\u270A\\u{1F3FB}','\\u270A\\u{1F3FC}','\\u270A\\u{1F3FD}','\\u270A\\u{1F3FE}','\\u270A\\u{1F3FF}','\\u270B\\u{1F3FB}','\\u270B\\u{1F3FC}','\\u270B\\u{1F3FD}','\\u270B\\u{1F3FE}','\\u270B\\u{1F3FF}','\\u270C\\u{1F3FB}','\\u270C\\u{1F3FC}','\\u270C\\u{1F3FD}','\\u270C\\u{1F3FE}','\\u270C\\u{1F3FF}','\\u270D\\u{1F3FB}','\\u270D\\u{1F3FC}','\\u270D\\u{1F3FD}','\\u270D\\u{1F3FE}','\\u270D\\u{1F3FF}','\\u{1F385}\\u{1F3FB}','\\u{1F385}\\u{1F3FC}','\\u{1F385}\\u{1F3FD}','\\u{1F385}\\u{1F3FE}','\\u{1F385}\\u{1F3FF}','\\u{1F3C2}\\u{1F3FB}','\\u{1F3C2}\\u{1F3FC}','\\u{1F3C2}\\u{1F3FD}','\\u{1F3C2}\\u{1F3FE}','\\u{1F3C2}\\u{1F3FF}','\\u{1F3C3}\\u{1F3FB}','\\u{1F3C3}\\u{1F3FC}','\\u{1F3C3}\\u{1F3FD}','\\u{1F3C3}\\u{1F3FE}','\\u{1F3C3}\\u{1F3FF}','\\u{1F3C4}\\u{1F3FB}','\\u{1F3C4}\\u{1F3FC}','\\u{1F3C4}\\u{1F3FD}','\\u{1F3C4}\\u{1F3FE}','\\u{1F3C4}\\u{1F3FF}','\\u{1F3C7}\\u{1F3FB}','\\u{1F3C7}\\u{1F3FC}','\\u{1F3C7}\\u{1F3FD}','\\u{1F3C7}\\u{1F3FE}','\\u{1F3C7}\\u{1F3FF}','\\u{1F3CA}\\u{1F3FB}','\\u{1F3CA}\\u{1F3FC}','\\u{1F3CA}\\u{1F3FD}','\\u{1F3CA}\\u{1F3FE}','\\u{1F3CA}\\u{1F3FF}','\\u{1F3CB}\\u{1F3FB}','\\u{1F3CB}\\u{1F3FC}','\\u{1F3CB}\\u{1F3FD}','\\u{1F3CB}\\u{1F3FE}','\\u{1F3CB}\\u{1F3FF}','\\u{1F3CC}\\u{1F3FB}','\\u{1F3CC}\\u{1F3FC}','\\u{1F3CC}\\u{1F3FD}','\\u{1F3CC}\\u{1F3FE}','\\u{1F3CC}\\u{1F3FF}','\\u{1F442}\\u{1F3FB}','\\u{1F442}\\u{1F3FC}','\\u{1F442}\\u{1F3FD}','\\u{1F442}\\u{1F3FE}','\\u{1F442}\\u{1F3FF}','\\u{1F443}\\u{1F3FB}','\\u{1F443}\\u{1F3FC}','\\u{1F443}\\u{1F3FD}','\\u{1F443}\\u{1F3FE}','\\u{1F443}\\u{1F3FF}','\\u{1F446}\\u{1F3FB}','\\u{1F446}\\u{1F3FC}','\\u{1F446}\\u{1F3FD}','\\u{1F446}\\u{1F3FE}','\\u{1F446}\\u{1F3FF}','\\u{1F447}\\u{1F3FB}','\\u{1F447}\\u{1F3FC}','\\u{1F447}\\u{1F3FD}','\\u{1F447}\\u{1F3FE}','\\u{1F447}\\u{1F3FF}','\\u{1F448}\\u{1F3FB}','\\u{1F448}\\u{1F3FC}','\\u{1F448}\\u{1F3FD}','\\u{1F448}\\u{1F3FE}','\\u{1F448}\\u{1F3FF}','\\u{1F449}\\u{1F3FB}','\\u{1F449}\\u{1F3FC}','\\u{1F449}\\u{1F3FD}','\\u{1F449}\\u{1F3FE}','\\u{1F449}\\u{1F3FF}','\\u{1F44A}\\u{1F3FB}','\\u{1F44A}\\u{1F3FC}','\\u{1F44A}\\u{1F3FD}','\\u{1F44A}\\u{1F3FE}','\\u{1F44A}\\u{1F3FF}','\\u{1F44B}\\u{1F3FB}','\\u{1F44B}\\u{1F3FC}','\\u{1F44B}\\u{1F3FD}','\\u{1F44B}\\u{1F3FE}','\\u{1F44B}\\u{1F3FF}','\\u{1F44C}\\u{1F3FB}','\\u{1F44C}\\u{1F3FC}','\\u{1F44C}\\u{1F3FD}','\\u{1F44C}\\u{1F3FE}','\\u{1F44C}\\u{1F3FF}','\\u{1F44D}\\u{1F3FB}','\\u{1F44D}\\u{1F3FC}','\\u{1F44D}\\u{1F3FD}','\\u{1F44D}\\u{1F3FE}','\\u{1F44D}\\u{1F3FF}','\\u{1F44E}\\u{1F3FB}','\\u{1F44E}\\u{1F3FC}','\\u{1F44E}\\u{1F3FD}','\\u{1F44E}\\u{1F3FE}','\\u{1F44E}\\u{1F3FF}','\\u{1F44F}\\u{1F3FB}','\\u{1F44F}\\u{1F3FC}','\\u{1F44F}\\u{1F3FD}','\\u{1F44F}\\u{1F3FE}','\\u{1F44F}\\u{1F3FF}','\\u{1F450}\\u{1F3FB}','\\u{1F450}\\u{1F3FC}','\\u{1F450}\\u{1F3FD}','\\u{1F450}\\u{1F3FE}','\\u{1F450}\\u{1F3FF}','\\u{1F466}\\u{1F3FB}','\\u{1F466}\\u{1F3FC}','\\u{1F466}\\u{1F3FD}','\\u{1F466}\\u{1F3FE}','\\u{1F466}\\u{1F3FF}','\\u{1F467}\\u{1F3FB}','\\u{1F467}\\u{1F3FC}','\\u{1F467}\\u{1F3FD}','\\u{1F467}\\u{1F3FE}','\\u{1F467}\\u{1F3FF}','\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FF}','\\u{1F46B}\\u{1F3FB}','\\u{1F46B}\\u{1F3FC}','\\u{1F46B}\\u{1F3FD}','\\u{1F46B}\\u{1F3FE}','\\u{1F46B}\\u{1F3FF}','\\u{1F46C}\\u{1F3FB}','\\u{1F46C}\\u{1F3FC}','\\u{1F46C}\\u{1F3FD}','\\u{1F46C}\\u{1F3FE}','\\u{1F46C}\\u{1F3FF}','\\u{1F46D}\\u{1F3FB}','\\u{1F46D}\\u{1F3FC}','\\u{1F46D}\\u{1F3FD}','\\u{1F46D}\\u{1F3FE}','\\u{1F46D}\\u{1F3FF}','\\u{1F46E}\\u{1F3FB}','\\u{1F46E}\\u{1F3FC}','\\u{1F46E}\\u{1F3FD}','\\u{1F46E}\\u{1F3FE}','\\u{1F46E}\\u{1F3FF}','\\u{1F470}\\u{1F3FB}','\\u{1F470}\\u{1F3FC}','\\u{1F470}\\u{1F3FD}','\\u{1F470}\\u{1F3FE}','\\u{1F470}\\u{1F3FF}','\\u{1F471}\\u{1F3FB}','\\u{1F471}\\u{1F3FC}','\\u{1F471}\\u{1F3FD}','\\u{1F471}\\u{1F3FE}','\\u{1F471}\\u{1F3FF}','\\u{1F472}\\u{1F3FB}','\\u{1F472}\\u{1F3FC}','\\u{1F472}\\u{1F3FD}','\\u{1F472}\\u{1F3FE}','\\u{1F472}\\u{1F3FF}','\\u{1F473}\\u{1F3FB}','\\u{1F473}\\u{1F3FC}','\\u{1F473}\\u{1F3FD}','\\u{1F473}\\u{1F3FE}','\\u{1F473}\\u{1F3FF}','\\u{1F474}\\u{1F3FB}','\\u{1F474}\\u{1F3FC}','\\u{1F474}\\u{1F3FD}','\\u{1F474}\\u{1F3FE}','\\u{1F474}\\u{1F3FF}','\\u{1F475}\\u{1F3FB}','\\u{1F475}\\u{1F3FC}','\\u{1F475}\\u{1F3FD}','\\u{1F475}\\u{1F3FE}','\\u{1F475}\\u{1F3FF}','\\u{1F476}\\u{1F3FB}','\\u{1F476}\\u{1F3FC}','\\u{1F476}\\u{1F3FD}','\\u{1F476}\\u{1F3FE}','\\u{1F476}\\u{1F3FF}','\\u{1F477}\\u{1F3FB}','\\u{1F477}\\u{1F3FC}','\\u{1F477}\\u{1F3FD}','\\u{1F477}\\u{1F3FE}','\\u{1F477}\\u{1F3FF}','\\u{1F478}\\u{1F3FB}','\\u{1F478}\\u{1F3FC}','\\u{1F478}\\u{1F3FD}','\\u{1F478}\\u{1F3FE}','\\u{1F478}\\u{1F3FF}','\\u{1F47C}\\u{1F3FB}','\\u{1F47C}\\u{1F3FC}','\\u{1F47C}\\u{1F3FD}','\\u{1F47C}\\u{1F3FE}','\\u{1F47C}\\u{1F3FF}','\\u{1F481}\\u{1F3FB}','\\u{1F481}\\u{1F3FC}','\\u{1F481}\\u{1F3FD}','\\u{1F481}\\u{1F3FE}','\\u{1F481}\\u{1F3FF}','\\u{1F482}\\u{1F3FB}','\\u{1F482}\\u{1F3FC}','\\u{1F482}\\u{1F3FD}','\\u{1F482}\\u{1F3FE}','\\u{1F482}\\u{1F3FF}','\\u{1F483}\\u{1F3FB}','\\u{1F483}\\u{1F3FC}','\\u{1F483}\\u{1F3FD}','\\u{1F483}\\u{1F3FE}','\\u{1F483}\\u{1F3FF}','\\u{1F485}\\u{1F3FB}','\\u{1F485}\\u{1F3FC}','\\u{1F485}\\u{1F3FD}','\\u{1F485}\\u{1F3FE}','\\u{1F485}\\u{1F3FF}','\\u{1F486}\\u{1F3FB}','\\u{1F486}\\u{1F3FC}','\\u{1F486}\\u{1F3FD}','\\u{1F486}\\u{1F3FE}','\\u{1F486}\\u{1F3FF}','\\u{1F487}\\u{1F3FB}','\\u{1F487}\\u{1F3FC}','\\u{1F487}\\u{1F3FD}','\\u{1F487}\\u{1F3FE}','\\u{1F487}\\u{1F3FF}','\\u{1F48F}\\u{1F3FB}','\\u{1F48F}\\u{1F3FC}','\\u{1F48F}\\u{1F3FD}','\\u{1F48F}\\u{1F3FE}','\\u{1F48F}\\u{1F3FF}','\\u{1F491}\\u{1F3FB}','\\u{1F491}\\u{1F3FC}','\\u{1F491}\\u{1F3FD}','\\u{1F491}\\u{1F3FE}','\\u{1F491}\\u{1F3FF}','\\u{1F4AA}\\u{1F3FB}','\\u{1F4AA}\\u{1F3FC}','\\u{1F4AA}\\u{1F3FD}','\\u{1F4AA}\\u{1F3FE}','\\u{1F4AA}\\u{1F3FF}','\\u{1F574}\\u{1F3FB}','\\u{1F574}\\u{1F3FC}','\\u{1F574}\\u{1F3FD}','\\u{1F574}\\u{1F3FE}','\\u{1F574}\\u{1F3FF}','\\u{1F575}\\u{1F3FB}','\\u{1F575}\\u{1F3FC}','\\u{1F575}\\u{1F3FD}','\\u{1F575}\\u{1F3FE}','\\u{1F575}\\u{1F3FF}','\\u{1F57A}\\u{1F3FB}','\\u{1F57A}\\u{1F3FC}','\\u{1F57A}\\u{1F3FD}','\\u{1F57A}\\u{1F3FE}','\\u{1F57A}\\u{1F3FF}','\\u{1F590}\\u{1F3FB}','\\u{1F590}\\u{1F3FC}','\\u{1F590}\\u{1F3FD}','\\u{1F590}\\u{1F3FE}','\\u{1F590}\\u{1F3FF}','\\u{1F595}\\u{1F3FB}','\\u{1F595}\\u{1F3FC}','\\u{1F595}\\u{1F3FD}','\\u{1F595}\\u{1F3FE}','\\u{1F595}\\u{1F3FF}','\\u{1F596}\\u{1F3FB}','\\u{1F596}\\u{1F3FC}','\\u{1F596}\\u{1F3FD}','\\u{1F596}\\u{1F3FE}','\\u{1F596}\\u{1F3FF}','\\u{1F645}\\u{1F3FB}','\\u{1F645}\\u{1F3FC}','\\u{1F645}\\u{1F3FD}','\\u{1F645}\\u{1F3FE}','\\u{1F645}\\u{1F3FF}','\\u{1F646}\\u{1F3FB}','\\u{1F646}\\u{1F3FC}','\\u{1F646}\\u{1F3FD}','\\u{1F646}\\u{1F3FE}','\\u{1F646}\\u{1F3FF}','\\u{1F647}\\u{1F3FB}','\\u{1F647}\\u{1F3FC}','\\u{1F647}\\u{1F3FD}','\\u{1F647}\\u{1F3FE}','\\u{1F647}\\u{1F3FF}','\\u{1F64B}\\u{1F3FB}','\\u{1F64B}\\u{1F3FC}','\\u{1F64B}\\u{1F3FD}','\\u{1F64B}\\u{1F3FE}','\\u{1F64B}\\u{1F3FF}','\\u{1F64C}\\u{1F3FB}','\\u{1F64C}\\u{1F3FC}','\\u{1F64C}\\u{1F3FD}','\\u{1F64C}\\u{1F3FE}','\\u{1F64C}\\u{1F3FF}','\\u{1F64D}\\u{1F3FB}','\\u{1F64D}\\u{1F3FC}','\\u{1F64D}\\u{1F3FD}','\\u{1F64D}\\u{1F3FE}','\\u{1F64D}\\u{1F3FF}','\\u{1F64E}\\u{1F3FB}','\\u{1F64E}\\u{1F3FC}','\\u{1F64E}\\u{1F3FD}','\\u{1F64E}\\u{1F3FE}','\\u{1F64E}\\u{1F3FF}','\\u{1F64F}\\u{1F3FB}','\\u{1F64F}\\u{1F3FC}','\\u{1F64F}\\u{1F3FD}','\\u{1F64F}\\u{1F3FE}','\\u{1F64F}\\u{1F3FF}','\\u{1F6A3}\\u{1F3FB}','\\u{1F6A3}\\u{1F3FC}','\\u{1F6A3}\\u{1F3FD}','\\u{1F6A3}\\u{1F3FE}','\\u{1F6A3}\\u{1F3FF}','\\u{1F6B4}\\u{1F3FB}','\\u{1F6B4}\\u{1F3FC}','\\u{1F6B4}\\u{1F3FD}','\\u{1F6B4}\\u{1F3FE}','\\u{1F6B4}\\u{1F3FF}','\\u{1F6B5}\\u{1F3FB}','\\u{1F6B5}\\u{1F3FC}','\\u{1F6B5}\\u{1F3FD}','\\u{1F6B5}\\u{1F3FE}','\\u{1F6B5}\\u{1F3FF}','\\u{1F6B6}\\u{1F3FB}','\\u{1F6B6}\\u{1F3FC}','\\u{1F6B6}\\u{1F3FD}','\\u{1F6B6}\\u{1F3FE}','\\u{1F6B6}\\u{1F3FF}','\\u{1F6C0}\\u{1F3FB}','\\u{1F6C0}\\u{1F3FC}','\\u{1F6C0}\\u{1F3FD}','\\u{1F6C0}\\u{1F3FE}','\\u{1F6C0}\\u{1F3FF}','\\u{1F6CC}\\u{1F3FB}','\\u{1F6CC}\\u{1F3FC}','\\u{1F6CC}\\u{1F3FD}','\\u{1F6CC}\\u{1F3FE}','\\u{1F6CC}\\u{1F3FF}','\\u{1F90C}\\u{1F3FB}','\\u{1F90C}\\u{1F3FC}','\\u{1F90C}\\u{1F3FD}','\\u{1F90C}\\u{1F3FE}','\\u{1F90C}\\u{1F3FF}','\\u{1F90F}\\u{1F3FB}','\\u{1F90F}\\u{1F3FC}','\\u{1F90F}\\u{1F3FD}','\\u{1F90F}\\u{1F3FE}','\\u{1F90F}\\u{1F3FF}','\\u{1F918}\\u{1F3FB}','\\u{1F918}\\u{1F3FC}','\\u{1F918}\\u{1F3FD}','\\u{1F918}\\u{1F3FE}','\\u{1F918}\\u{1F3FF}','\\u{1F919}\\u{1F3FB}','\\u{1F919}\\u{1F3FC}','\\u{1F919}\\u{1F3FD}','\\u{1F919}\\u{1F3FE}','\\u{1F919}\\u{1F3FF}','\\u{1F91A}\\u{1F3FB}','\\u{1F91A}\\u{1F3FC}','\\u{1F91A}\\u{1F3FD}','\\u{1F91A}\\u{1F3FE}','\\u{1F91A}\\u{1F3FF}','\\u{1F91B}\\u{1F3FB}','\\u{1F91B}\\u{1F3FC}','\\u{1F91B}\\u{1F3FD}','\\u{1F91B}\\u{1F3FE}','\\u{1F91B}\\u{1F3FF}','\\u{1F91C}\\u{1F3FB}','\\u{1F91C}\\u{1F3FC}','\\u{1F91C}\\u{1F3FD}','\\u{1F91C}\\u{1F3FE}','\\u{1F91C}\\u{1F3FF}','\\u{1F91D}\\u{1F3FB}','\\u{1F91D}\\u{1F3FC}','\\u{1F91D}\\u{1F3FD}','\\u{1F91D}\\u{1F3FE}','\\u{1F91D}\\u{1F3FF}','\\u{1F91E}\\u{1F3FB}','\\u{1F91E}\\u{1F3FC}','\\u{1F91E}\\u{1F3FD}','\\u{1F91E}\\u{1F3FE}','\\u{1F91E}\\u{1F3FF}','\\u{1F91F}\\u{1F3FB}','\\u{1F91F}\\u{1F3FC}','\\u{1F91F}\\u{1F3FD}','\\u{1F91F}\\u{1F3FE}','\\u{1F91F}\\u{1F3FF}','\\u{1F926}\\u{1F3FB}','\\u{1F926}\\u{1F3FC}','\\u{1F926}\\u{1F3FD}','\\u{1F926}\\u{1F3FE}','\\u{1F926}\\u{1F3FF}','\\u{1F930}\\u{1F3FB}','\\u{1F930}\\u{1F3FC}','\\u{1F930}\\u{1F3FD}','\\u{1F930}\\u{1F3FE}','\\u{1F930}\\u{1F3FF}','\\u{1F931}\\u{1F3FB}','\\u{1F931}\\u{1F3FC}','\\u{1F931}\\u{1F3FD}','\\u{1F931}\\u{1F3FE}','\\u{1F931}\\u{1F3FF}','\\u{1F932}\\u{1F3FB}','\\u{1F932}\\u{1F3FC}','\\u{1F932}\\u{1F3FD}','\\u{1F932}\\u{1F3FE}','\\u{1F932}\\u{1F3FF}','\\u{1F933}\\u{1F3FB}','\\u{1F933}\\u{1F3FC}','\\u{1F933}\\u{1F3FD}','\\u{1F933}\\u{1F3FE}','\\u{1F933}\\u{1F3FF}','\\u{1F934}\\u{1F3FB}','\\u{1F934}\\u{1F3FC}','\\u{1F934}\\u{1F3FD}','\\u{1F934}\\u{1F3FE}','\\u{1F934}\\u{1F3FF}','\\u{1F935}\\u{1F3FB}','\\u{1F935}\\u{1F3FC}','\\u{1F935}\\u{1F3FD}','\\u{1F935}\\u{1F3FE}','\\u{1F935}\\u{1F3FF}','\\u{1F936}\\u{1F3FB}','\\u{1F936}\\u{1F3FC}','\\u{1F936}\\u{1F3FD}','\\u{1F936}\\u{1F3FE}','\\u{1F936}\\u{1F3FF}','\\u{1F937}\\u{1F3FB}','\\u{1F937}\\u{1F3FC}','\\u{1F937}\\u{1F3FD}','\\u{1F937}\\u{1F3FE}','\\u{1F937}\\u{1F3FF}','\\u{1F938}\\u{1F3FB}','\\u{1F938}\\u{1F3FC}','\\u{1F938}\\u{1F3FD}','\\u{1F938}\\u{1F3FE}','\\u{1F938}\\u{1F3FF}','\\u{1F939}\\u{1F3FB}','\\u{1F939}\\u{1F3FC}','\\u{1F939}\\u{1F3FD}','\\u{1F939}\\u{1F3FE}','\\u{1F939}\\u{1F3FF}','\\u{1F93D}\\u{1F3FB}','\\u{1F93D}\\u{1F3FC}','\\u{1F93D}\\u{1F3FD}','\\u{1F93D}\\u{1F3FE}','\\u{1F93D}\\u{1F3FF}','\\u{1F93E}\\u{1F3FB}','\\u{1F93E}\\u{1F3FC}','\\u{1F93E}\\u{1F3FD}','\\u{1F93E}\\u{1F3FE}','\\u{1F93E}\\u{1F3FF}','\\u{1F977}\\u{1F3FB}','\\u{1F977}\\u{1F3FC}','\\u{1F977}\\u{1F3FD}','\\u{1F977}\\u{1F3FE}','\\u{1F977}\\u{1F3FF}','\\u{1F9B5}\\u{1F3FB}','\\u{1F9B5}\\u{1F3FC}','\\u{1F9B5}\\u{1F3FD}','\\u{1F9B5}\\u{1F3FE}','\\u{1F9B5}\\u{1F3FF}','\\u{1F9B6}\\u{1F3FB}','\\u{1F9B6}\\u{1F3FC}','\\u{1F9B6}\\u{1F3FD}','\\u{1F9B6}\\u{1F3FE}','\\u{1F9B6}\\u{1F3FF}','\\u{1F9B8}\\u{1F3FB}','\\u{1F9B8}\\u{1F3FC}','\\u{1F9B8}\\u{1F3FD}','\\u{1F9B8}\\u{1F3FE}','\\u{1F9B8}\\u{1F3FF}','\\u{1F9B9}\\u{1F3FB}','\\u{1F9B9}\\u{1F3FC}','\\u{1F9B9}\\u{1F3FD}','\\u{1F9B9}\\u{1F3FE}','\\u{1F9B9}\\u{1F3FF}','\\u{1F9BB}\\u{1F3FB}','\\u{1F9BB}\\u{1F3FC}','\\u{1F9BB}\\u{1F3FD}','\\u{1F9BB}\\u{1F3FE}','\\u{1F9BB}\\u{1F3FF}','\\u{1F9CD}\\u{1F3FB}','\\u{1F9CD}\\u{1F3FC}','\\u{1F9CD}\\u{1F3FD}','\\u{1F9CD}\\u{1F3FE}','\\u{1F9CD}\\u{1F3FF}','\\u{1F9CE}\\u{1F3FB}','\\u{1F9CE}\\u{1F3FC}','\\u{1F9CE}\\u{1F3FD}','\\u{1F9CE}\\u{1F3FE}','\\u{1F9CE}\\u{1F3FF}','\\u{1F9CF}\\u{1F3FB}','\\u{1F9CF}\\u{1F3FC}','\\u{1F9CF}\\u{1F3FD}','\\u{1F9CF}\\u{1F3FE}','\\u{1F9CF}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FF}','\\u{1F9D2}\\u{1F3FB}','\\u{1F9D2}\\u{1F3FC}','\\u{1F9D2}\\u{1F3FD}','\\u{1F9D2}\\u{1F3FE}','\\u{1F9D2}\\u{1F3FF}','\\u{1F9D3}\\u{1F3FB}','\\u{1F9D3}\\u{1F3FC}','\\u{1F9D3}\\u{1F3FD}','\\u{1F9D3}\\u{1F3FE}','\\u{1F9D3}\\u{1F3FF}','\\u{1F9D4}\\u{1F3FB}','\\u{1F9D4}\\u{1F3FC}','\\u{1F9D4}\\u{1F3FD}','\\u{1F9D4}\\u{1F3FE}','\\u{1F9D4}\\u{1F3FF}','\\u{1F9D5}\\u{1F3FB}','\\u{1F9D5}\\u{1F3FC}','\\u{1F9D5}\\u{1F3FD}','\\u{1F9D5}\\u{1F3FE}','\\u{1F9D5}\\u{1F3FF}','\\u{1F9D6}\\u{1F3FB}','\\u{1F9D6}\\u{1F3FC}','\\u{1F9D6}\\u{1F3FD}','\\u{1F9D6}\\u{1F3FE}','\\u{1F9D6}\\u{1F3FF}','\\u{1F9D7}\\u{1F3FB}','\\u{1F9D7}\\u{1F3FC}','\\u{1F9D7}\\u{1F3FD}','\\u{1F9D7}\\u{1F3FE}','\\u{1F9D7}\\u{1F3FF}','\\u{1F9D8}\\u{1F3FB}','\\u{1F9D8}\\u{1F3FC}','\\u{1F9D8}\\u{1F3FD}','\\u{1F9D8}\\u{1F3FE}','\\u{1F9D8}\\u{1F3FF}','\\u{1F9D9}\\u{1F3FB}','\\u{1F9D9}\\u{1F3FC}','\\u{1F9D9}\\u{1F3FD}','\\u{1F9D9}\\u{1F3FE}','\\u{1F9D9}\\u{1F3FF}','\\u{1F9DA}\\u{1F3FB}','\\u{1F9DA}\\u{1F3FC}','\\u{1F9DA}\\u{1F3FD}','\\u{1F9DA}\\u{1F3FE}','\\u{1F9DA}\\u{1F3FF}','\\u{1F9DB}\\u{1F3FB}','\\u{1F9DB}\\u{1F3FC}','\\u{1F9DB}\\u{1F3FD}','\\u{1F9DB}\\u{1F3FE}','\\u{1F9DB}\\u{1F3FF}','\\u{1F9DC}\\u{1F3FB}','\\u{1F9DC}\\u{1F3FC}','\\u{1F9DC}\\u{1F3FD}','\\u{1F9DC}\\u{1F3FE}','\\u{1F9DC}\\u{1F3FF}','\\u{1F9DD}\\u{1F3FB}','\\u{1F9DD}\\u{1F3FC}','\\u{1F9DD}\\u{1F3FD}','\\u{1F9DD}\\u{1F3FE}','\\u{1F9DD}\\u{1F3FF}','\\u{1FAC3}\\u{1F3FB}','\\u{1FAC3}\\u{1F3FC}','\\u{1FAC3}\\u{1F3FD}','\\u{1FAC3}\\u{1F3FE}','\\u{1FAC3}\\u{1F3FF}','\\u{1FAC4}\\u{1F3FB}','\\u{1FAC4}\\u{1F3FC}','\\u{1FAC4}\\u{1F3FD}','\\u{1FAC4}\\u{1F3FE}','\\u{1FAC4}\\u{1F3FF}','\\u{1FAC5}\\u{1F3FB}','\\u{1FAC5}\\u{1F3FC}','\\u{1FAC5}\\u{1F3FD}','\\u{1FAC5}\\u{1F3FE}','\\u{1FAC5}\\u{1F3FF}','\\u{1FAF0}\\u{1F3FB}','\\u{1FAF0}\\u{1F3FC}','\\u{1FAF0}\\u{1F3FD}','\\u{1FAF0}\\u{1F3FE}','\\u{1FAF0}\\u{1F3FF}','\\u{1FAF1}\\u{1F3FB}','\\u{1FAF1}\\u{1F3FC}','\\u{1FAF1}\\u{1F3FD}','\\u{1FAF1}\\u{1F3FE}','\\u{1FAF1}\\u{1F3FF}','\\u{1FAF2}\\u{1F3FB}','\\u{1FAF2}\\u{1F3FC}','\\u{1FAF2}\\u{1F3FD}','\\u{1FAF2}\\u{1F3FE}','\\u{1FAF2}\\u{1F3FF}','\\u{1FAF3}\\u{1F3FB}','\\u{1FAF3}\\u{1F3FC}','\\u{1FAF3}\\u{1F3FD}','\\u{1FAF3}\\u{1F3FE}','\\u{1FAF3}\\u{1F3FF}','\\u{1FAF4}\\u{1F3FB}','\\u{1FAF4}\\u{1F3FC}','\\u{1FAF4}\\u{1F3FD}','\\u{1FAF4}\\u{1F3FE}','\\u{1FAF4}\\u{1F3FF}','\\u{1FAF5}\\u{1F3FB}','\\u{1FAF5}\\u{1F3FC}','\\u{1FAF5}\\u{1F3FD}','\\u{1FAF5}\\u{1F3FE}','\\u{1FAF5}\\u{1F3FF}','\\u{1FAF6}\\u{1F3FB}','\\u{1FAF6}\\u{1F3FC}','\\u{1FAF6}\\u{1F3FD}','\\u{1FAF6}\\u{1F3FE}','\\u{1FAF6}\\u{1F3FF}','\\u{1FAF7}\\u{1F3FB}','\\u{1FAF7}\\u{1F3FC}','\\u{1FAF7}\\u{1F3FD}','\\u{1FAF7}\\u{1F3FE}','\\u{1FAF7}\\u{1F3FF}','\\u{1FAF8}\\u{1F3FB}','\\u{1FAF8}\\u{1F3FC}','\\u{1FAF8}\\u{1F3FD}','\\u{1FAF8}\\u{1F3FE}','\\u{1FAF8}\\u{1F3FF}'];\n","const set = require('regenerate')();\n\nexports.characters = set;\nexports.strings = ['\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0065}\\u{E006E}\\u{E0067}\\u{E007F}','\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0073}\\u{E0063}\\u{E0074}\\u{E007F}','\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0077}\\u{E006C}\\u{E0073}\\u{E007F}'];\n","const set = require('regenerate')();\n\nexports.characters = set;\nexports.strings = ['\\u{1F468}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}','\\u{1F468}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}','\\u{1F468}\\u200D\\u{1F466}','\\u{1F468}\\u200D\\u{1F466}\\u200D\\u{1F466}','\\u{1F468}\\u200D\\u{1F467}','\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F466}','\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F467}','\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F466}','\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F466}\\u200D\\u{1F466}','\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}','\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F466}','\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F467}','\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F466}','\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}','\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}','\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}','\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}','\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}','\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}','\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}','\\u{1F469}\\u200D\\u{1F466}','\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}','\\u{1F469}\\u200D\\u{1F467}','\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}','\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}','\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F466}','\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}','\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}','\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}','\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F9D1}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}','\\u{1F9D1}\\u200D\\u{1F9D1}\\u200D\\u{1F9D2}','\\u{1F9D1}\\u200D\\u{1F9D1}\\u200D\\u{1F9D2}\\u200D\\u{1F9D2}','\\u{1F9D1}\\u200D\\u{1F9D2}','\\u{1F9D1}\\u200D\\u{1F9D2}\\u200D\\u{1F9D2}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FC}','\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FD}','\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FE}','\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FF}','\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FB}','\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FD}','\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FE}','\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FF}','\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FB}','\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FC}','\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FE}','\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FF}','\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FB}','\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FC}','\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FD}','\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FF}','\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FB}','\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FC}','\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FD}','\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FE}','\\u{1F3C3}\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FB}\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FC}\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FD}\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FE}\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FF}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u200D\\u2695\\uFE0F','\\u{1F468}\\u200D\\u2696\\uFE0F','\\u{1F468}\\u200D\\u2708\\uFE0F','\\u{1F468}\\u200D\\u{1F33E}','\\u{1F468}\\u200D\\u{1F373}','\\u{1F468}\\u200D\\u{1F37C}','\\u{1F468}\\u200D\\u{1F393}','\\u{1F468}\\u200D\\u{1F3A4}','\\u{1F468}\\u200D\\u{1F3A8}','\\u{1F468}\\u200D\\u{1F3EB}','\\u{1F468}\\u200D\\u{1F3ED}','\\u{1F468}\\u200D\\u{1F4BB}','\\u{1F468}\\u200D\\u{1F4BC}','\\u{1F468}\\u200D\\u{1F527}','\\u{1F468}\\u200D\\u{1F52C}','\\u{1F468}\\u200D\\u{1F680}','\\u{1F468}\\u200D\\u{1F692}','\\u{1F468}\\u200D\\u{1F9AF}','\\u{1F468}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u200D\\u{1F9BC}','\\u{1F468}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u200D\\u{1F9BD}','\\u{1F468}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FB}\\u200D\\u2695\\uFE0F','\\u{1F468}\\u{1F3FB}\\u200D\\u2696\\uFE0F','\\u{1F468}\\u{1F3FB}\\u200D\\u2708\\uFE0F','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F33E}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F373}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F37C}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F393}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3A4}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3A8}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3EB}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3ED}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F4BB}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F4BC}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F527}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F52C}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F680}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F692}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9AF}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9BC}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9BD}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FC}\\u200D\\u2695\\uFE0F','\\u{1F468}\\u{1F3FC}\\u200D\\u2696\\uFE0F','\\u{1F468}\\u{1F3FC}\\u200D\\u2708\\uFE0F','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F33E}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F373}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F37C}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F393}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3A4}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3A8}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3EB}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3ED}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F4BB}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F4BC}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F527}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F52C}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F680}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F692}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9AF}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9BC}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9BD}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FD}\\u200D\\u2695\\uFE0F','\\u{1F468}\\u{1F3FD}\\u200D\\u2696\\uFE0F','\\u{1F468}\\u{1F3FD}\\u200D\\u2708\\uFE0F','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F33E}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F373}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F37C}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F393}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3A4}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3A8}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3EB}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3ED}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F4BB}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F4BC}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F527}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F52C}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F680}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F692}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9AF}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9BC}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9BD}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FE}\\u200D\\u2695\\uFE0F','\\u{1F468}\\u{1F3FE}\\u200D\\u2696\\uFE0F','\\u{1F468}\\u{1F3FE}\\u200D\\u2708\\uFE0F','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F33E}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F373}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F37C}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F393}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3A4}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3A8}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3EB}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3ED}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F4BB}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F4BC}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F527}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F52C}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F680}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F692}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9AF}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9BC}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9BD}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FF}\\u200D\\u2695\\uFE0F','\\u{1F468}\\u{1F3FF}\\u200D\\u2696\\uFE0F','\\u{1F468}\\u{1F3FF}\\u200D\\u2708\\uFE0F','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F33E}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F373}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F37C}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F393}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3A4}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3A8}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3EB}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3ED}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F4BB}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F4BC}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F527}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F52C}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F680}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F692}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9AF}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9BC}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9BD}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u200D\\u2695\\uFE0F','\\u{1F469}\\u200D\\u2696\\uFE0F','\\u{1F469}\\u200D\\u2708\\uFE0F','\\u{1F469}\\u200D\\u{1F33E}','\\u{1F469}\\u200D\\u{1F373}','\\u{1F469}\\u200D\\u{1F37C}','\\u{1F469}\\u200D\\u{1F393}','\\u{1F469}\\u200D\\u{1F3A4}','\\u{1F469}\\u200D\\u{1F3A8}','\\u{1F469}\\u200D\\u{1F3EB}','\\u{1F469}\\u200D\\u{1F3ED}','\\u{1F469}\\u200D\\u{1F4BB}','\\u{1F469}\\u200D\\u{1F4BC}','\\u{1F469}\\u200D\\u{1F527}','\\u{1F469}\\u200D\\u{1F52C}','\\u{1F469}\\u200D\\u{1F680}','\\u{1F469}\\u200D\\u{1F692}','\\u{1F469}\\u200D\\u{1F9AF}','\\u{1F469}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u200D\\u{1F9BC}','\\u{1F469}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u200D\\u{1F9BD}','\\u{1F469}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FB}\\u200D\\u2695\\uFE0F','\\u{1F469}\\u{1F3FB}\\u200D\\u2696\\uFE0F','\\u{1F469}\\u{1F3FB}\\u200D\\u2708\\uFE0F','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F33E}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F373}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F37C}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F393}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3A4}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3A8}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3EB}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3ED}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F4BB}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F4BC}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F527}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F52C}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F680}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F692}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9AF}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9BC}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9BD}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FC}\\u200D\\u2695\\uFE0F','\\u{1F469}\\u{1F3FC}\\u200D\\u2696\\uFE0F','\\u{1F469}\\u{1F3FC}\\u200D\\u2708\\uFE0F','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F33E}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F373}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F37C}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F393}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3A4}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3A8}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3EB}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3ED}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F4BB}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F4BC}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F527}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F52C}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F680}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F692}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9AF}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9BC}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9BD}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FD}\\u200D\\u2695\\uFE0F','\\u{1F469}\\u{1F3FD}\\u200D\\u2696\\uFE0F','\\u{1F469}\\u{1F3FD}\\u200D\\u2708\\uFE0F','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F33E}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F373}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F37C}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F393}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3A4}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3A8}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3EB}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3ED}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F4BB}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F4BC}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F527}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F52C}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F680}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F692}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9AF}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9BC}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9BD}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FE}\\u200D\\u2695\\uFE0F','\\u{1F469}\\u{1F3FE}\\u200D\\u2696\\uFE0F','\\u{1F469}\\u{1F3FE}\\u200D\\u2708\\uFE0F','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F33E}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F373}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F37C}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F393}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3A4}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3A8}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3EB}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3ED}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F4BB}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F4BC}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F527}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F52C}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F680}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F692}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9AF}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9BC}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9BD}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FF}\\u200D\\u2695\\uFE0F','\\u{1F469}\\u{1F3FF}\\u200D\\u2696\\uFE0F','\\u{1F469}\\u{1F3FF}\\u200D\\u2708\\uFE0F','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F33E}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F373}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F37C}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F393}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3A4}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3A8}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3EB}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3ED}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F4BB}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F4BC}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F527}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F52C}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F680}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F692}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9AF}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9BC}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9BD}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FB}\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FC}\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FD}\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FE}\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FF}\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FB}\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FC}\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FD}\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FE}\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FF}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u200D\\u2695\\uFE0F','\\u{1F9D1}\\u200D\\u2696\\uFE0F','\\u{1F9D1}\\u200D\\u2708\\uFE0F','\\u{1F9D1}\\u200D\\u{1F33E}','\\u{1F9D1}\\u200D\\u{1F373}','\\u{1F9D1}\\u200D\\u{1F37C}','\\u{1F9D1}\\u200D\\u{1F384}','\\u{1F9D1}\\u200D\\u{1F393}','\\u{1F9D1}\\u200D\\u{1F3A4}','\\u{1F9D1}\\u200D\\u{1F3A8}','\\u{1F9D1}\\u200D\\u{1F3EB}','\\u{1F9D1}\\u200D\\u{1F3ED}','\\u{1F9D1}\\u200D\\u{1F4BB}','\\u{1F9D1}\\u200D\\u{1F4BC}','\\u{1F9D1}\\u200D\\u{1F527}','\\u{1F9D1}\\u200D\\u{1F52C}','\\u{1F9D1}\\u200D\\u{1F680}','\\u{1F9D1}\\u200D\\u{1F692}','\\u{1F9D1}\\u200D\\u{1F9AF}','\\u{1F9D1}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u200D\\u{1F9BC}','\\u{1F9D1}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u200D\\u{1F9BD}','\\u{1F9D1}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2695\\uFE0F','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2696\\uFE0F','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2708\\uFE0F','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F33E}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F373}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F37C}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F384}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F393}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3A4}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3A8}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3EB}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3ED}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F4BB}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F4BC}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F527}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F52C}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F680}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F692}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9AF}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9BC}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9BD}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2695\\uFE0F','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2696\\uFE0F','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2708\\uFE0F','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F33E}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F373}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F37C}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F384}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F393}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3A4}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3A8}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3EB}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3ED}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F4BB}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F4BC}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F527}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F52C}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F680}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F692}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9AF}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9BC}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9BD}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2695\\uFE0F','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2696\\uFE0F','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2708\\uFE0F','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F33E}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F373}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F37C}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F384}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F393}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3A4}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3A8}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3EB}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3ED}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F4BB}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F4BC}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F527}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F52C}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F680}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F692}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9AF}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9BC}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9BD}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2695\\uFE0F','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2696\\uFE0F','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2708\\uFE0F','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F33E}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F373}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F37C}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F384}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F393}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3A4}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3A8}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3EB}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3ED}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F4BB}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F4BC}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F527}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F52C}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F680}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F692}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9AF}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9BC}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9BD}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2695\\uFE0F','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2696\\uFE0F','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2708\\uFE0F','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F33E}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F373}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F37C}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F384}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F393}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3A4}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3A8}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3EB}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3ED}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F4BB}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F4BC}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F527}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F52C}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F680}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F692}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9AF}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9BC}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9BD}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u26F9\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u26F9\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u26F9\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u26F9\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u26F9\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u26F9\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u26F9\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u26F9\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u26F9\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u26F9\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u26F9\\uFE0F\\u200D\\u2640\\uFE0F','\\u26F9\\uFE0F\\u200D\\u2642\\uFE0F','\\u{1F3C3}\\u200D\\u2640\\uFE0F','\\u{1F3C3}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u200D\\u2642\\uFE0F','\\u{1F3C3}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F3C3}\\u{1F3FB}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F3C3}\\u{1F3FB}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F3C3}\\u{1F3FC}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F3C3}\\u{1F3FC}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F3C3}\\u{1F3FD}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F3C3}\\u{1F3FD}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F3C3}\\u{1F3FE}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F3C3}\\u{1F3FE}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F3C3}\\u{1F3FF}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F3C3}\\u{1F3FF}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C4}\\u200D\\u2640\\uFE0F','\\u{1F3C4}\\u200D\\u2642\\uFE0F','\\u{1F3C4}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F3C4}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F3C4}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F3C4}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F3C4}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F3C4}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F3C4}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F3C4}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F3C4}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F3C4}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F3CA}\\u200D\\u2640\\uFE0F','\\u{1F3CA}\\u200D\\u2642\\uFE0F','\\u{1F3CA}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F3CA}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F3CA}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F3CA}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F3CA}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F3CA}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F3CA}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F3CA}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F3CA}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F3CA}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F3CB}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F3CB}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F3CB}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F3CB}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F3CB}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F3CB}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F3CB}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F3CB}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F3CB}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F3CB}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F3CB}\\uFE0F\\u200D\\u2640\\uFE0F','\\u{1F3CB}\\uFE0F\\u200D\\u2642\\uFE0F','\\u{1F3CC}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F3CC}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F3CC}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F3CC}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F3CC}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F3CC}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F3CC}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F3CC}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F3CC}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F3CC}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F3CC}\\uFE0F\\u200D\\u2640\\uFE0F','\\u{1F3CC}\\uFE0F\\u200D\\u2642\\uFE0F','\\u{1F46E}\\u200D\\u2640\\uFE0F','\\u{1F46E}\\u200D\\u2642\\uFE0F','\\u{1F46E}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F46E}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F46E}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F46E}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F46E}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F46E}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F46E}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F46E}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F46E}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F46E}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F46F}\\u200D\\u2640\\uFE0F','\\u{1F46F}\\u200D\\u2642\\uFE0F','\\u{1F470}\\u200D\\u2640\\uFE0F','\\u{1F470}\\u200D\\u2642\\uFE0F','\\u{1F470}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F470}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F470}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F470}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F470}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F470}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F470}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F470}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F470}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F470}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F471}\\u200D\\u2640\\uFE0F','\\u{1F471}\\u200D\\u2642\\uFE0F','\\u{1F471}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F471}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F471}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F471}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F471}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F471}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F471}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F471}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F471}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F471}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F473}\\u200D\\u2640\\uFE0F','\\u{1F473}\\u200D\\u2642\\uFE0F','\\u{1F473}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F473}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F473}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F473}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F473}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F473}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F473}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F473}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F473}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F473}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F477}\\u200D\\u2640\\uFE0F','\\u{1F477}\\u200D\\u2642\\uFE0F','\\u{1F477}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F477}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F477}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F477}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F477}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F477}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F477}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F477}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F477}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F477}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F481}\\u200D\\u2640\\uFE0F','\\u{1F481}\\u200D\\u2642\\uFE0F','\\u{1F481}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F481}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F481}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F481}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F481}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F481}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F481}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F481}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F481}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F481}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F482}\\u200D\\u2640\\uFE0F','\\u{1F482}\\u200D\\u2642\\uFE0F','\\u{1F482}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F482}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F482}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F482}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F482}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F482}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F482}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F482}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F482}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F482}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F486}\\u200D\\u2640\\uFE0F','\\u{1F486}\\u200D\\u2642\\uFE0F','\\u{1F486}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F486}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F486}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F486}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F486}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F486}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F486}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F486}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F486}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F486}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F487}\\u200D\\u2640\\uFE0F','\\u{1F487}\\u200D\\u2642\\uFE0F','\\u{1F487}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F487}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F487}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F487}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F487}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F487}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F487}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F487}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F487}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F487}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F575}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F575}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F575}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F575}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F575}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F575}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F575}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F575}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F575}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F575}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F575}\\uFE0F\\u200D\\u2640\\uFE0F','\\u{1F575}\\uFE0F\\u200D\\u2642\\uFE0F','\\u{1F645}\\u200D\\u2640\\uFE0F','\\u{1F645}\\u200D\\u2642\\uFE0F','\\u{1F645}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F645}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F645}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F645}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F645}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F645}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F645}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F645}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F645}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F645}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F646}\\u200D\\u2640\\uFE0F','\\u{1F646}\\u200D\\u2642\\uFE0F','\\u{1F646}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F646}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F646}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F646}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F646}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F646}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F646}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F646}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F646}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F646}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F647}\\u200D\\u2640\\uFE0F','\\u{1F647}\\u200D\\u2642\\uFE0F','\\u{1F647}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F647}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F647}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F647}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F647}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F647}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F647}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F647}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F647}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F647}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F64B}\\u200D\\u2640\\uFE0F','\\u{1F64B}\\u200D\\u2642\\uFE0F','\\u{1F64B}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F64B}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F64B}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F64B}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F64B}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F64B}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F64B}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F64B}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F64B}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F64B}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F64D}\\u200D\\u2640\\uFE0F','\\u{1F64D}\\u200D\\u2642\\uFE0F','\\u{1F64D}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F64D}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F64D}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F64D}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F64D}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F64D}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F64D}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F64D}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F64D}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F64D}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F64E}\\u200D\\u2640\\uFE0F','\\u{1F64E}\\u200D\\u2642\\uFE0F','\\u{1F64E}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F64E}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F64E}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F64E}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F64E}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F64E}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F64E}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F64E}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F64E}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F64E}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F6A3}\\u200D\\u2640\\uFE0F','\\u{1F6A3}\\u200D\\u2642\\uFE0F','\\u{1F6A3}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F6A3}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F6A3}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F6A3}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F6A3}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F6A3}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F6A3}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F6A3}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F6A3}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F6A3}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F6B4}\\u200D\\u2640\\uFE0F','\\u{1F6B4}\\u200D\\u2642\\uFE0F','\\u{1F6B4}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F6B4}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F6B4}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F6B4}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F6B4}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F6B4}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F6B4}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F6B4}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F6B4}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F6B4}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F6B5}\\u200D\\u2640\\uFE0F','\\u{1F6B5}\\u200D\\u2642\\uFE0F','\\u{1F6B5}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F6B5}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F6B5}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F6B5}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F6B5}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F6B5}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F6B5}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F6B5}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F6B5}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F6B5}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F6B6}\\u200D\\u2640\\uFE0F','\\u{1F6B6}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u200D\\u2642\\uFE0F','\\u{1F6B6}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F6B6}\\u{1F3FB}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F6B6}\\u{1F3FB}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F6B6}\\u{1F3FC}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F6B6}\\u{1F3FC}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F6B6}\\u{1F3FD}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F6B6}\\u{1F3FD}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F6B6}\\u{1F3FE}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F6B6}\\u{1F3FE}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F6B6}\\u{1F3FF}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F6B6}\\u{1F3FF}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F926}\\u200D\\u2640\\uFE0F','\\u{1F926}\\u200D\\u2642\\uFE0F','\\u{1F926}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F926}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F926}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F926}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F926}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F926}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F926}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F926}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F926}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F926}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F935}\\u200D\\u2640\\uFE0F','\\u{1F935}\\u200D\\u2642\\uFE0F','\\u{1F935}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F935}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F935}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F935}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F935}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F935}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F935}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F935}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F935}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F935}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F937}\\u200D\\u2640\\uFE0F','\\u{1F937}\\u200D\\u2642\\uFE0F','\\u{1F937}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F937}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F937}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F937}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F937}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F937}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F937}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F937}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F937}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F937}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F938}\\u200D\\u2640\\uFE0F','\\u{1F938}\\u200D\\u2642\\uFE0F','\\u{1F938}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F938}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F938}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F938}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F938}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F938}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F938}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F938}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F938}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F938}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F939}\\u200D\\u2640\\uFE0F','\\u{1F939}\\u200D\\u2642\\uFE0F','\\u{1F939}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F939}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F939}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F939}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F939}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F939}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F939}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F939}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F939}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F939}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F93C}\\u200D\\u2640\\uFE0F','\\u{1F93C}\\u200D\\u2642\\uFE0F','\\u{1F93D}\\u200D\\u2640\\uFE0F','\\u{1F93D}\\u200D\\u2642\\uFE0F','\\u{1F93D}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F93D}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F93D}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F93D}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F93D}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F93D}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F93D}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F93D}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F93D}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F93D}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F93E}\\u200D\\u2640\\uFE0F','\\u{1F93E}\\u200D\\u2642\\uFE0F','\\u{1F93E}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F93E}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F93E}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F93E}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F93E}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F93E}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F93E}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F93E}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F93E}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F93E}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9B8}\\u200D\\u2640\\uFE0F','\\u{1F9B8}\\u200D\\u2642\\uFE0F','\\u{1F9B8}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9B8}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9B8}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9B8}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9B8}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9B8}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9B8}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9B8}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9B8}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9B8}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9B9}\\u200D\\u2640\\uFE0F','\\u{1F9B9}\\u200D\\u2642\\uFE0F','\\u{1F9B9}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9B9}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9B9}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9B9}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9B9}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9B9}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9B9}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9B9}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9B9}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9B9}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9CD}\\u200D\\u2640\\uFE0F','\\u{1F9CD}\\u200D\\u2642\\uFE0F','\\u{1F9CD}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9CD}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9CD}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9CD}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9CD}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9CD}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9CD}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9CD}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9CD}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9CD}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9CE}\\u200D\\u2640\\uFE0F','\\u{1F9CE}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u200D\\u2642\\uFE0F','\\u{1F9CE}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9CE}\\u{1F3FB}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9CE}\\u{1F3FB}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9CE}\\u{1F3FC}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9CE}\\u{1F3FC}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9CE}\\u{1F3FD}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9CE}\\u{1F3FD}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9CE}\\u{1F3FE}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9CE}\\u{1F3FE}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9CE}\\u{1F3FF}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9CE}\\u{1F3FF}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CF}\\u200D\\u2640\\uFE0F','\\u{1F9CF}\\u200D\\u2642\\uFE0F','\\u{1F9CF}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9CF}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9CF}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9CF}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9CF}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9CF}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9CF}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9CF}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9CF}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9CF}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9D4}\\u200D\\u2640\\uFE0F','\\u{1F9D4}\\u200D\\u2642\\uFE0F','\\u{1F9D4}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9D4}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9D4}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9D4}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9D4}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9D4}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9D4}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9D4}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9D4}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9D4}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9D6}\\u200D\\u2640\\uFE0F','\\u{1F9D6}\\u200D\\u2642\\uFE0F','\\u{1F9D6}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9D6}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9D6}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9D6}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9D6}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9D6}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9D6}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9D6}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9D6}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9D6}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9D7}\\u200D\\u2640\\uFE0F','\\u{1F9D7}\\u200D\\u2642\\uFE0F','\\u{1F9D7}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9D7}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9D7}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9D7}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9D7}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9D7}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9D7}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9D7}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9D7}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9D7}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9D8}\\u200D\\u2640\\uFE0F','\\u{1F9D8}\\u200D\\u2642\\uFE0F','\\u{1F9D8}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9D8}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9D8}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9D8}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9D8}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9D8}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9D8}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9D8}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9D8}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9D8}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9D9}\\u200D\\u2640\\uFE0F','\\u{1F9D9}\\u200D\\u2642\\uFE0F','\\u{1F9D9}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9D9}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9D9}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9D9}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9D9}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9D9}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9D9}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9D9}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9D9}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9D9}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9DA}\\u200D\\u2640\\uFE0F','\\u{1F9DA}\\u200D\\u2642\\uFE0F','\\u{1F9DA}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9DA}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9DA}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9DA}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9DA}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9DA}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9DA}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9DA}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9DA}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9DA}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9DB}\\u200D\\u2640\\uFE0F','\\u{1F9DB}\\u200D\\u2642\\uFE0F','\\u{1F9DB}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9DB}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9DB}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9DB}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9DB}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9DB}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9DB}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9DB}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9DB}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9DB}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9DC}\\u200D\\u2640\\uFE0F','\\u{1F9DC}\\u200D\\u2642\\uFE0F','\\u{1F9DC}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9DC}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9DC}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9DC}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9DC}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9DC}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9DC}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9DC}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9DC}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9DC}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9DD}\\u200D\\u2640\\uFE0F','\\u{1F9DD}\\u200D\\u2642\\uFE0F','\\u{1F9DD}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9DD}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9DD}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9DD}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9DD}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9DD}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9DD}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9DD}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9DD}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9DD}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9DE}\\u200D\\u2640\\uFE0F','\\u{1F9DE}\\u200D\\u2642\\uFE0F','\\u{1F9DF}\\u200D\\u2640\\uFE0F','\\u{1F9DF}\\u200D\\u2642\\uFE0F','\\u{1F468}\\u200D\\u{1F9B0}','\\u{1F468}\\u200D\\u{1F9B1}','\\u{1F468}\\u200D\\u{1F9B2}','\\u{1F468}\\u200D\\u{1F9B3}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B0}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B1}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B2}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B3}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B0}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B1}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B2}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B3}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B0}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B1}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B2}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B3}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B0}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B1}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B2}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B3}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B0}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B1}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B2}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B3}','\\u{1F469}\\u200D\\u{1F9B0}','\\u{1F469}\\u200D\\u{1F9B1}','\\u{1F469}\\u200D\\u{1F9B2}','\\u{1F469}\\u200D\\u{1F9B3}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B0}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B1}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B2}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B3}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B0}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B1}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B2}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B3}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B0}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B1}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B2}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B3}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B0}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B1}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B2}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B3}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B0}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B1}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B2}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B3}','\\u{1F9D1}\\u200D\\u{1F9B0}','\\u{1F9D1}\\u200D\\u{1F9B1}','\\u{1F9D1}\\u200D\\u{1F9B2}','\\u{1F9D1}\\u200D\\u{1F9B3}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B0}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B1}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B2}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B3}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B0}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B1}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B2}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B3}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B0}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B1}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B2}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B3}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B0}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B1}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B2}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B3}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B0}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B1}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B2}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B3}','\\u26D3\\uFE0F\\u200D\\u{1F4A5}','\\u2764\\uFE0F\\u200D\\u{1F525}','\\u2764\\uFE0F\\u200D\\u{1FA79}','\\u{1F344}\\u200D\\u{1F7EB}','\\u{1F34B}\\u200D\\u{1F7E9}','\\u{1F3F3}\\uFE0F\\u200D\\u26A7\\uFE0F','\\u{1F3F3}\\uFE0F\\u200D\\u{1F308}','\\u{1F3F4}\\u200D\\u2620\\uFE0F','\\u{1F408}\\u200D\\u2B1B','\\u{1F415}\\u200D\\u{1F9BA}','\\u{1F426}\\u200D\\u2B1B','\\u{1F426}\\u200D\\u{1F525}','\\u{1F43B}\\u200D\\u2744\\uFE0F','\\u{1F441}\\uFE0F\\u200D\\u{1F5E8}\\uFE0F','\\u{1F62E}\\u200D\\u{1F4A8}','\\u{1F635}\\u200D\\u{1F4AB}','\\u{1F636}\\u200D\\u{1F32B}\\uFE0F','\\u{1F642}\\u200D\\u2194\\uFE0F','\\u{1F642}\\u200D\\u2195\\uFE0F'];\n","const set = require('regenerate')(0x23F0, 0x23F3, 0x267F, 0x2693, 0x26A1, 0x26CE, 0x26D4, 0x26EA, 0x26F5, 0x26FA, 0x26FD, 0x2705, 0x2728, 0x274C, 0x274E, 0x2757, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x1F004, 0x1F0CF, 0x1F18E, 0x1F201, 0x1F21A, 0x1F22F, 0x1F3F4, 0x1F440, 0x1F57A, 0x1F5A4, 0x1F6CC, 0x1F7F0);\nset.addRange(0x231A, 0x231B).addRange(0x23E9, 0x23EC).addRange(0x25FD, 0x25FE).addRange(0x2614, 0x2615).addRange(0x2648, 0x2653).addRange(0x26AA, 0x26AB).addRange(0x26BD, 0x26BE).addRange(0x26C4, 0x26C5).addRange(0x26F2, 0x26F3).addRange(0x270A, 0x270B).addRange(0x2753, 0x2755).addRange(0x2795, 0x2797).addRange(0x2B1B, 0x2B1C).addRange(0x1F191, 0x1F19A).addRange(0x1F232, 0x1F236).addRange(0x1F238, 0x1F23A).addRange(0x1F250, 0x1F251).addRange(0x1F300, 0x1F320).addRange(0x1F32D, 0x1F335).addRange(0x1F337, 0x1F37C).addRange(0x1F37E, 0x1F393).addRange(0x1F3A0, 0x1F3CA).addRange(0x1F3CF, 0x1F3D3).addRange(0x1F3E0, 0x1F3F0).addRange(0x1F3F8, 0x1F43E).addRange(0x1F442, 0x1F4FC).addRange(0x1F4FF, 0x1F53D).addRange(0x1F54B, 0x1F54E).addRange(0x1F550, 0x1F567).addRange(0x1F595, 0x1F596).addRange(0x1F5FB, 0x1F64F).addRange(0x1F680, 0x1F6C5).addRange(0x1F6D0, 0x1F6D2).addRange(0x1F6D5, 0x1F6D7).addRange(0x1F6DC, 0x1F6DF).addRange(0x1F6EB, 0x1F6EC).addRange(0x1F6F4, 0x1F6FC).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1F9FF).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8);\nexports.characters = set;\nexports.strings = ['#\\uFE0F\\u20E3','*\\uFE0F\\u20E3','0\\uFE0F\\u20E3','1\\uFE0F\\u20E3','2\\uFE0F\\u20E3','3\\uFE0F\\u20E3','4\\uFE0F\\u20E3','5\\uFE0F\\u20E3','6\\uFE0F\\u20E3','7\\uFE0F\\u20E3','8\\uFE0F\\u20E3','9\\uFE0F\\u20E3','\\xA9\\uFE0F','\\xAE\\uFE0F','\\u203C\\uFE0F','\\u2049\\uFE0F','\\u2122\\uFE0F','\\u2139\\uFE0F','\\u2194\\uFE0F','\\u2195\\uFE0F','\\u2196\\uFE0F','\\u2197\\uFE0F','\\u2198\\uFE0F','\\u2199\\uFE0F','\\u21A9\\uFE0F','\\u21AA\\uFE0F','\\u2328\\uFE0F','\\u23CF\\uFE0F','\\u23ED\\uFE0F','\\u23EE\\uFE0F','\\u23EF\\uFE0F','\\u23F1\\uFE0F','\\u23F2\\uFE0F','\\u23F8\\uFE0F','\\u23F9\\uFE0F','\\u23FA\\uFE0F','\\u24C2\\uFE0F','\\u25AA\\uFE0F','\\u25AB\\uFE0F','\\u25B6\\uFE0F','\\u25C0\\uFE0F','\\u25FB\\uFE0F','\\u25FC\\uFE0F','\\u2600\\uFE0F','\\u2601\\uFE0F','\\u2602\\uFE0F','\\u2603\\uFE0F','\\u2604\\uFE0F','\\u260E\\uFE0F','\\u2611\\uFE0F','\\u2618\\uFE0F','\\u261D\\u{1F3FB}','\\u261D\\u{1F3FC}','\\u261D\\u{1F3FD}','\\u261D\\u{1F3FE}','\\u261D\\u{1F3FF}','\\u261D\\uFE0F','\\u2620\\uFE0F','\\u2622\\uFE0F','\\u2623\\uFE0F','\\u2626\\uFE0F','\\u262A\\uFE0F','\\u262E\\uFE0F','\\u262F\\uFE0F','\\u2638\\uFE0F','\\u2639\\uFE0F','\\u263A\\uFE0F','\\u2640\\uFE0F','\\u2642\\uFE0F','\\u265F\\uFE0F','\\u2660\\uFE0F','\\u2663\\uFE0F','\\u2665\\uFE0F','\\u2666\\uFE0F','\\u2668\\uFE0F','\\u267B\\uFE0F','\\u267E\\uFE0F','\\u2692\\uFE0F','\\u2694\\uFE0F','\\u2695\\uFE0F','\\u2696\\uFE0F','\\u2697\\uFE0F','\\u2699\\uFE0F','\\u269B\\uFE0F','\\u269C\\uFE0F','\\u26A0\\uFE0F','\\u26A7\\uFE0F','\\u26B0\\uFE0F','\\u26B1\\uFE0F','\\u26C8\\uFE0F','\\u26CF\\uFE0F','\\u26D1\\uFE0F','\\u26D3\\uFE0F','\\u26D3\\uFE0F\\u200D\\u{1F4A5}','\\u26E9\\uFE0F','\\u26F0\\uFE0F','\\u26F1\\uFE0F','\\u26F4\\uFE0F','\\u26F7\\uFE0F','\\u26F8\\uFE0F','\\u26F9\\u{1F3FB}','\\u26F9\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u26F9\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u26F9\\u{1F3FC}','\\u26F9\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u26F9\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u26F9\\u{1F3FD}','\\u26F9\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u26F9\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u26F9\\u{1F3FE}','\\u26F9\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u26F9\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u26F9\\u{1F3FF}','\\u26F9\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u26F9\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u26F9\\uFE0F','\\u26F9\\uFE0F\\u200D\\u2640\\uFE0F','\\u26F9\\uFE0F\\u200D\\u2642\\uFE0F','\\u2702\\uFE0F','\\u2708\\uFE0F','\\u2709\\uFE0F','\\u270A\\u{1F3FB}','\\u270A\\u{1F3FC}','\\u270A\\u{1F3FD}','\\u270A\\u{1F3FE}','\\u270A\\u{1F3FF}','\\u270B\\u{1F3FB}','\\u270B\\u{1F3FC}','\\u270B\\u{1F3FD}','\\u270B\\u{1F3FE}','\\u270B\\u{1F3FF}','\\u270C\\u{1F3FB}','\\u270C\\u{1F3FC}','\\u270C\\u{1F3FD}','\\u270C\\u{1F3FE}','\\u270C\\u{1F3FF}','\\u270C\\uFE0F','\\u270D\\u{1F3FB}','\\u270D\\u{1F3FC}','\\u270D\\u{1F3FD}','\\u270D\\u{1F3FE}','\\u270D\\u{1F3FF}','\\u270D\\uFE0F','\\u270F\\uFE0F','\\u2712\\uFE0F','\\u2714\\uFE0F','\\u2716\\uFE0F','\\u271D\\uFE0F','\\u2721\\uFE0F','\\u2733\\uFE0F','\\u2734\\uFE0F','\\u2744\\uFE0F','\\u2747\\uFE0F','\\u2763\\uFE0F','\\u2764\\uFE0F','\\u2764\\uFE0F\\u200D\\u{1F525}','\\u2764\\uFE0F\\u200D\\u{1FA79}','\\u27A1\\uFE0F','\\u2934\\uFE0F','\\u2935\\uFE0F','\\u2B05\\uFE0F','\\u2B06\\uFE0F','\\u2B07\\uFE0F','\\u3030\\uFE0F','\\u303D\\uFE0F','\\u3297\\uFE0F','\\u3299\\uFE0F','\\u{1F170}\\uFE0F','\\u{1F171}\\uFE0F','\\u{1F17E}\\uFE0F','\\u{1F17F}\\uFE0F','\\u{1F1E6}\\u{1F1E8}','\\u{1F1E6}\\u{1F1E9}','\\u{1F1E6}\\u{1F1EA}','\\u{1F1E6}\\u{1F1EB}','\\u{1F1E6}\\u{1F1EC}','\\u{1F1E6}\\u{1F1EE}','\\u{1F1E6}\\u{1F1F1}','\\u{1F1E6}\\u{1F1F2}','\\u{1F1E6}\\u{1F1F4}','\\u{1F1E6}\\u{1F1F6}','\\u{1F1E6}\\u{1F1F7}','\\u{1F1E6}\\u{1F1F8}','\\u{1F1E6}\\u{1F1F9}','\\u{1F1E6}\\u{1F1FA}','\\u{1F1E6}\\u{1F1FC}','\\u{1F1E6}\\u{1F1FD}','\\u{1F1E6}\\u{1F1FF}','\\u{1F1E7}\\u{1F1E6}','\\u{1F1E7}\\u{1F1E7}','\\u{1F1E7}\\u{1F1E9}','\\u{1F1E7}\\u{1F1EA}','\\u{1F1E7}\\u{1F1EB}','\\u{1F1E7}\\u{1F1EC}','\\u{1F1E7}\\u{1F1ED}','\\u{1F1E7}\\u{1F1EE}','\\u{1F1E7}\\u{1F1EF}','\\u{1F1E7}\\u{1F1F1}','\\u{1F1E7}\\u{1F1F2}','\\u{1F1E7}\\u{1F1F3}','\\u{1F1E7}\\u{1F1F4}','\\u{1F1E7}\\u{1F1F6}','\\u{1F1E7}\\u{1F1F7}','\\u{1F1E7}\\u{1F1F8}','\\u{1F1E7}\\u{1F1F9}','\\u{1F1E7}\\u{1F1FB}','\\u{1F1E7}\\u{1F1FC}','\\u{1F1E7}\\u{1F1FE}','\\u{1F1E7}\\u{1F1FF}','\\u{1F1E8}\\u{1F1E6}','\\u{1F1E8}\\u{1F1E8}','\\u{1F1E8}\\u{1F1E9}','\\u{1F1E8}\\u{1F1EB}','\\u{1F1E8}\\u{1F1EC}','\\u{1F1E8}\\u{1F1ED}','\\u{1F1E8}\\u{1F1EE}','\\u{1F1E8}\\u{1F1F0}','\\u{1F1E8}\\u{1F1F1}','\\u{1F1E8}\\u{1F1F2}','\\u{1F1E8}\\u{1F1F3}','\\u{1F1E8}\\u{1F1F4}','\\u{1F1E8}\\u{1F1F5}','\\u{1F1E8}\\u{1F1F7}','\\u{1F1E8}\\u{1F1FA}','\\u{1F1E8}\\u{1F1FB}','\\u{1F1E8}\\u{1F1FC}','\\u{1F1E8}\\u{1F1FD}','\\u{1F1E8}\\u{1F1FE}','\\u{1F1E8}\\u{1F1FF}','\\u{1F1E9}\\u{1F1EA}','\\u{1F1E9}\\u{1F1EC}','\\u{1F1E9}\\u{1F1EF}','\\u{1F1E9}\\u{1F1F0}','\\u{1F1E9}\\u{1F1F2}','\\u{1F1E9}\\u{1F1F4}','\\u{1F1E9}\\u{1F1FF}','\\u{1F1EA}\\u{1F1E6}','\\u{1F1EA}\\u{1F1E8}','\\u{1F1EA}\\u{1F1EA}','\\u{1F1EA}\\u{1F1EC}','\\u{1F1EA}\\u{1F1ED}','\\u{1F1EA}\\u{1F1F7}','\\u{1F1EA}\\u{1F1F8}','\\u{1F1EA}\\u{1F1F9}','\\u{1F1EA}\\u{1F1FA}','\\u{1F1EB}\\u{1F1EE}','\\u{1F1EB}\\u{1F1EF}','\\u{1F1EB}\\u{1F1F0}','\\u{1F1EB}\\u{1F1F2}','\\u{1F1EB}\\u{1F1F4}','\\u{1F1EB}\\u{1F1F7}','\\u{1F1EC}\\u{1F1E6}','\\u{1F1EC}\\u{1F1E7}','\\u{1F1EC}\\u{1F1E9}','\\u{1F1EC}\\u{1F1EA}','\\u{1F1EC}\\u{1F1EB}','\\u{1F1EC}\\u{1F1EC}','\\u{1F1EC}\\u{1F1ED}','\\u{1F1EC}\\u{1F1EE}','\\u{1F1EC}\\u{1F1F1}','\\u{1F1EC}\\u{1F1F2}','\\u{1F1EC}\\u{1F1F3}','\\u{1F1EC}\\u{1F1F5}','\\u{1F1EC}\\u{1F1F6}','\\u{1F1EC}\\u{1F1F7}','\\u{1F1EC}\\u{1F1F8}','\\u{1F1EC}\\u{1F1F9}','\\u{1F1EC}\\u{1F1FA}','\\u{1F1EC}\\u{1F1FC}','\\u{1F1EC}\\u{1F1FE}','\\u{1F1ED}\\u{1F1F0}','\\u{1F1ED}\\u{1F1F2}','\\u{1F1ED}\\u{1F1F3}','\\u{1F1ED}\\u{1F1F7}','\\u{1F1ED}\\u{1F1F9}','\\u{1F1ED}\\u{1F1FA}','\\u{1F1EE}\\u{1F1E8}','\\u{1F1EE}\\u{1F1E9}','\\u{1F1EE}\\u{1F1EA}','\\u{1F1EE}\\u{1F1F1}','\\u{1F1EE}\\u{1F1F2}','\\u{1F1EE}\\u{1F1F3}','\\u{1F1EE}\\u{1F1F4}','\\u{1F1EE}\\u{1F1F6}','\\u{1F1EE}\\u{1F1F7}','\\u{1F1EE}\\u{1F1F8}','\\u{1F1EE}\\u{1F1F9}','\\u{1F1EF}\\u{1F1EA}','\\u{1F1EF}\\u{1F1F2}','\\u{1F1EF}\\u{1F1F4}','\\u{1F1EF}\\u{1F1F5}','\\u{1F1F0}\\u{1F1EA}','\\u{1F1F0}\\u{1F1EC}','\\u{1F1F0}\\u{1F1ED}','\\u{1F1F0}\\u{1F1EE}','\\u{1F1F0}\\u{1F1F2}','\\u{1F1F0}\\u{1F1F3}','\\u{1F1F0}\\u{1F1F5}','\\u{1F1F0}\\u{1F1F7}','\\u{1F1F0}\\u{1F1FC}','\\u{1F1F0}\\u{1F1FE}','\\u{1F1F0}\\u{1F1FF}','\\u{1F1F1}\\u{1F1E6}','\\u{1F1F1}\\u{1F1E7}','\\u{1F1F1}\\u{1F1E8}','\\u{1F1F1}\\u{1F1EE}','\\u{1F1F1}\\u{1F1F0}','\\u{1F1F1}\\u{1F1F7}','\\u{1F1F1}\\u{1F1F8}','\\u{1F1F1}\\u{1F1F9}','\\u{1F1F1}\\u{1F1FA}','\\u{1F1F1}\\u{1F1FB}','\\u{1F1F1}\\u{1F1FE}','\\u{1F1F2}\\u{1F1E6}','\\u{1F1F2}\\u{1F1E8}','\\u{1F1F2}\\u{1F1E9}','\\u{1F1F2}\\u{1F1EA}','\\u{1F1F2}\\u{1F1EB}','\\u{1F1F2}\\u{1F1EC}','\\u{1F1F2}\\u{1F1ED}','\\u{1F1F2}\\u{1F1F0}','\\u{1F1F2}\\u{1F1F1}','\\u{1F1F2}\\u{1F1F2}','\\u{1F1F2}\\u{1F1F3}','\\u{1F1F2}\\u{1F1F4}','\\u{1F1F2}\\u{1F1F5}','\\u{1F1F2}\\u{1F1F6}','\\u{1F1F2}\\u{1F1F7}','\\u{1F1F2}\\u{1F1F8}','\\u{1F1F2}\\u{1F1F9}','\\u{1F1F2}\\u{1F1FA}','\\u{1F1F2}\\u{1F1FB}','\\u{1F1F2}\\u{1F1FC}','\\u{1F1F2}\\u{1F1FD}','\\u{1F1F2}\\u{1F1FE}','\\u{1F1F2}\\u{1F1FF}','\\u{1F1F3}\\u{1F1E6}','\\u{1F1F3}\\u{1F1E8}','\\u{1F1F3}\\u{1F1EA}','\\u{1F1F3}\\u{1F1EB}','\\u{1F1F3}\\u{1F1EC}','\\u{1F1F3}\\u{1F1EE}','\\u{1F1F3}\\u{1F1F1}','\\u{1F1F3}\\u{1F1F4}','\\u{1F1F3}\\u{1F1F5}','\\u{1F1F3}\\u{1F1F7}','\\u{1F1F3}\\u{1F1FA}','\\u{1F1F3}\\u{1F1FF}','\\u{1F1F4}\\u{1F1F2}','\\u{1F1F5}\\u{1F1E6}','\\u{1F1F5}\\u{1F1EA}','\\u{1F1F5}\\u{1F1EB}','\\u{1F1F5}\\u{1F1EC}','\\u{1F1F5}\\u{1F1ED}','\\u{1F1F5}\\u{1F1F0}','\\u{1F1F5}\\u{1F1F1}','\\u{1F1F5}\\u{1F1F2}','\\u{1F1F5}\\u{1F1F3}','\\u{1F1F5}\\u{1F1F7}','\\u{1F1F5}\\u{1F1F8}','\\u{1F1F5}\\u{1F1F9}','\\u{1F1F5}\\u{1F1FC}','\\u{1F1F5}\\u{1F1FE}','\\u{1F1F6}\\u{1F1E6}','\\u{1F1F7}\\u{1F1EA}','\\u{1F1F7}\\u{1F1F4}','\\u{1F1F7}\\u{1F1F8}','\\u{1F1F7}\\u{1F1FA}','\\u{1F1F7}\\u{1F1FC}','\\u{1F1F8}\\u{1F1E6}','\\u{1F1F8}\\u{1F1E7}','\\u{1F1F8}\\u{1F1E8}','\\u{1F1F8}\\u{1F1E9}','\\u{1F1F8}\\u{1F1EA}','\\u{1F1F8}\\u{1F1EC}','\\u{1F1F8}\\u{1F1ED}','\\u{1F1F8}\\u{1F1EE}','\\u{1F1F8}\\u{1F1EF}','\\u{1F1F8}\\u{1F1F0}','\\u{1F1F8}\\u{1F1F1}','\\u{1F1F8}\\u{1F1F2}','\\u{1F1F8}\\u{1F1F3}','\\u{1F1F8}\\u{1F1F4}','\\u{1F1F8}\\u{1F1F7}','\\u{1F1F8}\\u{1F1F8}','\\u{1F1F8}\\u{1F1F9}','\\u{1F1F8}\\u{1F1FB}','\\u{1F1F8}\\u{1F1FD}','\\u{1F1F8}\\u{1F1FE}','\\u{1F1F8}\\u{1F1FF}','\\u{1F1F9}\\u{1F1E6}','\\u{1F1F9}\\u{1F1E8}','\\u{1F1F9}\\u{1F1E9}','\\u{1F1F9}\\u{1F1EB}','\\u{1F1F9}\\u{1F1EC}','\\u{1F1F9}\\u{1F1ED}','\\u{1F1F9}\\u{1F1EF}','\\u{1F1F9}\\u{1F1F0}','\\u{1F1F9}\\u{1F1F1}','\\u{1F1F9}\\u{1F1F2}','\\u{1F1F9}\\u{1F1F3}','\\u{1F1F9}\\u{1F1F4}','\\u{1F1F9}\\u{1F1F7}','\\u{1F1F9}\\u{1F1F9}','\\u{1F1F9}\\u{1F1FB}','\\u{1F1F9}\\u{1F1FC}','\\u{1F1F9}\\u{1F1FF}','\\u{1F1FA}\\u{1F1E6}','\\u{1F1FA}\\u{1F1EC}','\\u{1F1FA}\\u{1F1F2}','\\u{1F1FA}\\u{1F1F3}','\\u{1F1FA}\\u{1F1F8}','\\u{1F1FA}\\u{1F1FE}','\\u{1F1FA}\\u{1F1FF}','\\u{1F1FB}\\u{1F1E6}','\\u{1F1FB}\\u{1F1E8}','\\u{1F1FB}\\u{1F1EA}','\\u{1F1FB}\\u{1F1EC}','\\u{1F1FB}\\u{1F1EE}','\\u{1F1FB}\\u{1F1F3}','\\u{1F1FB}\\u{1F1FA}','\\u{1F1FC}\\u{1F1EB}','\\u{1F1FC}\\u{1F1F8}','\\u{1F1FD}\\u{1F1F0}','\\u{1F1FE}\\u{1F1EA}','\\u{1F1FE}\\u{1F1F9}','\\u{1F1FF}\\u{1F1E6}','\\u{1F1FF}\\u{1F1F2}','\\u{1F1FF}\\u{1F1FC}','\\u{1F202}\\uFE0F','\\u{1F237}\\uFE0F','\\u{1F321}\\uFE0F','\\u{1F324}\\uFE0F','\\u{1F325}\\uFE0F','\\u{1F326}\\uFE0F','\\u{1F327}\\uFE0F','\\u{1F328}\\uFE0F','\\u{1F329}\\uFE0F','\\u{1F32A}\\uFE0F','\\u{1F32B}\\uFE0F','\\u{1F32C}\\uFE0F','\\u{1F336}\\uFE0F','\\u{1F344}\\u200D\\u{1F7EB}','\\u{1F34B}\\u200D\\u{1F7E9}','\\u{1F37D}\\uFE0F','\\u{1F385}\\u{1F3FB}','\\u{1F385}\\u{1F3FC}','\\u{1F385}\\u{1F3FD}','\\u{1F385}\\u{1F3FE}','\\u{1F385}\\u{1F3FF}','\\u{1F396}\\uFE0F','\\u{1F397}\\uFE0F','\\u{1F399}\\uFE0F','\\u{1F39A}\\uFE0F','\\u{1F39B}\\uFE0F','\\u{1F39E}\\uFE0F','\\u{1F39F}\\uFE0F','\\u{1F3C2}\\u{1F3FB}','\\u{1F3C2}\\u{1F3FC}','\\u{1F3C2}\\u{1F3FD}','\\u{1F3C2}\\u{1F3FE}','\\u{1F3C2}\\u{1F3FF}','\\u{1F3C3}\\u200D\\u2640\\uFE0F','\\u{1F3C3}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u200D\\u2642\\uFE0F','\\u{1F3C3}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FB}','\\u{1F3C3}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F3C3}\\u{1F3FB}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F3C3}\\u{1F3FB}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FB}\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FC}','\\u{1F3C3}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F3C3}\\u{1F3FC}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F3C3}\\u{1F3FC}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FC}\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FD}','\\u{1F3C3}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F3C3}\\u{1F3FD}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F3C3}\\u{1F3FD}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FD}\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FE}','\\u{1F3C3}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F3C3}\\u{1F3FE}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F3C3}\\u{1F3FE}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FE}\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FF}','\\u{1F3C3}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F3C3}\\u{1F3FF}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F3C3}\\u{1F3FF}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F3C3}\\u{1F3FF}\\u200D\\u27A1\\uFE0F','\\u{1F3C4}\\u200D\\u2640\\uFE0F','\\u{1F3C4}\\u200D\\u2642\\uFE0F','\\u{1F3C4}\\u{1F3FB}','\\u{1F3C4}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F3C4}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F3C4}\\u{1F3FC}','\\u{1F3C4}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F3C4}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F3C4}\\u{1F3FD}','\\u{1F3C4}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F3C4}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F3C4}\\u{1F3FE}','\\u{1F3C4}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F3C4}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F3C4}\\u{1F3FF}','\\u{1F3C4}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F3C4}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F3C7}\\u{1F3FB}','\\u{1F3C7}\\u{1F3FC}','\\u{1F3C7}\\u{1F3FD}','\\u{1F3C7}\\u{1F3FE}','\\u{1F3C7}\\u{1F3FF}','\\u{1F3CA}\\u200D\\u2640\\uFE0F','\\u{1F3CA}\\u200D\\u2642\\uFE0F','\\u{1F3CA}\\u{1F3FB}','\\u{1F3CA}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F3CA}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F3CA}\\u{1F3FC}','\\u{1F3CA}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F3CA}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F3CA}\\u{1F3FD}','\\u{1F3CA}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F3CA}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F3CA}\\u{1F3FE}','\\u{1F3CA}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F3CA}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F3CA}\\u{1F3FF}','\\u{1F3CA}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F3CA}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F3CB}\\u{1F3FB}','\\u{1F3CB}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F3CB}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F3CB}\\u{1F3FC}','\\u{1F3CB}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F3CB}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F3CB}\\u{1F3FD}','\\u{1F3CB}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F3CB}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F3CB}\\u{1F3FE}','\\u{1F3CB}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F3CB}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F3CB}\\u{1F3FF}','\\u{1F3CB}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F3CB}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F3CB}\\uFE0F','\\u{1F3CB}\\uFE0F\\u200D\\u2640\\uFE0F','\\u{1F3CB}\\uFE0F\\u200D\\u2642\\uFE0F','\\u{1F3CC}\\u{1F3FB}','\\u{1F3CC}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F3CC}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F3CC}\\u{1F3FC}','\\u{1F3CC}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F3CC}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F3CC}\\u{1F3FD}','\\u{1F3CC}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F3CC}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F3CC}\\u{1F3FE}','\\u{1F3CC}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F3CC}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F3CC}\\u{1F3FF}','\\u{1F3CC}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F3CC}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F3CC}\\uFE0F','\\u{1F3CC}\\uFE0F\\u200D\\u2640\\uFE0F','\\u{1F3CC}\\uFE0F\\u200D\\u2642\\uFE0F','\\u{1F3CD}\\uFE0F','\\u{1F3CE}\\uFE0F','\\u{1F3D4}\\uFE0F','\\u{1F3D5}\\uFE0F','\\u{1F3D6}\\uFE0F','\\u{1F3D7}\\uFE0F','\\u{1F3D8}\\uFE0F','\\u{1F3D9}\\uFE0F','\\u{1F3DA}\\uFE0F','\\u{1F3DB}\\uFE0F','\\u{1F3DC}\\uFE0F','\\u{1F3DD}\\uFE0F','\\u{1F3DE}\\uFE0F','\\u{1F3DF}\\uFE0F','\\u{1F3F3}\\uFE0F','\\u{1F3F3}\\uFE0F\\u200D\\u26A7\\uFE0F','\\u{1F3F3}\\uFE0F\\u200D\\u{1F308}','\\u{1F3F4}\\u200D\\u2620\\uFE0F','\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0065}\\u{E006E}\\u{E0067}\\u{E007F}','\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0073}\\u{E0063}\\u{E0074}\\u{E007F}','\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0077}\\u{E006C}\\u{E0073}\\u{E007F}','\\u{1F3F5}\\uFE0F','\\u{1F3F7}\\uFE0F','\\u{1F408}\\u200D\\u2B1B','\\u{1F415}\\u200D\\u{1F9BA}','\\u{1F426}\\u200D\\u2B1B','\\u{1F426}\\u200D\\u{1F525}','\\u{1F43B}\\u200D\\u2744\\uFE0F','\\u{1F43F}\\uFE0F','\\u{1F441}\\uFE0F','\\u{1F441}\\uFE0F\\u200D\\u{1F5E8}\\uFE0F','\\u{1F442}\\u{1F3FB}','\\u{1F442}\\u{1F3FC}','\\u{1F442}\\u{1F3FD}','\\u{1F442}\\u{1F3FE}','\\u{1F442}\\u{1F3FF}','\\u{1F443}\\u{1F3FB}','\\u{1F443}\\u{1F3FC}','\\u{1F443}\\u{1F3FD}','\\u{1F443}\\u{1F3FE}','\\u{1F443}\\u{1F3FF}','\\u{1F446}\\u{1F3FB}','\\u{1F446}\\u{1F3FC}','\\u{1F446}\\u{1F3FD}','\\u{1F446}\\u{1F3FE}','\\u{1F446}\\u{1F3FF}','\\u{1F447}\\u{1F3FB}','\\u{1F447}\\u{1F3FC}','\\u{1F447}\\u{1F3FD}','\\u{1F447}\\u{1F3FE}','\\u{1F447}\\u{1F3FF}','\\u{1F448}\\u{1F3FB}','\\u{1F448}\\u{1F3FC}','\\u{1F448}\\u{1F3FD}','\\u{1F448}\\u{1F3FE}','\\u{1F448}\\u{1F3FF}','\\u{1F449}\\u{1F3FB}','\\u{1F449}\\u{1F3FC}','\\u{1F449}\\u{1F3FD}','\\u{1F449}\\u{1F3FE}','\\u{1F449}\\u{1F3FF}','\\u{1F44A}\\u{1F3FB}','\\u{1F44A}\\u{1F3FC}','\\u{1F44A}\\u{1F3FD}','\\u{1F44A}\\u{1F3FE}','\\u{1F44A}\\u{1F3FF}','\\u{1F44B}\\u{1F3FB}','\\u{1F44B}\\u{1F3FC}','\\u{1F44B}\\u{1F3FD}','\\u{1F44B}\\u{1F3FE}','\\u{1F44B}\\u{1F3FF}','\\u{1F44C}\\u{1F3FB}','\\u{1F44C}\\u{1F3FC}','\\u{1F44C}\\u{1F3FD}','\\u{1F44C}\\u{1F3FE}','\\u{1F44C}\\u{1F3FF}','\\u{1F44D}\\u{1F3FB}','\\u{1F44D}\\u{1F3FC}','\\u{1F44D}\\u{1F3FD}','\\u{1F44D}\\u{1F3FE}','\\u{1F44D}\\u{1F3FF}','\\u{1F44E}\\u{1F3FB}','\\u{1F44E}\\u{1F3FC}','\\u{1F44E}\\u{1F3FD}','\\u{1F44E}\\u{1F3FE}','\\u{1F44E}\\u{1F3FF}','\\u{1F44F}\\u{1F3FB}','\\u{1F44F}\\u{1F3FC}','\\u{1F44F}\\u{1F3FD}','\\u{1F44F}\\u{1F3FE}','\\u{1F44F}\\u{1F3FF}','\\u{1F450}\\u{1F3FB}','\\u{1F450}\\u{1F3FC}','\\u{1F450}\\u{1F3FD}','\\u{1F450}\\u{1F3FE}','\\u{1F450}\\u{1F3FF}','\\u{1F466}\\u{1F3FB}','\\u{1F466}\\u{1F3FC}','\\u{1F466}\\u{1F3FD}','\\u{1F466}\\u{1F3FE}','\\u{1F466}\\u{1F3FF}','\\u{1F467}\\u{1F3FB}','\\u{1F467}\\u{1F3FC}','\\u{1F467}\\u{1F3FD}','\\u{1F467}\\u{1F3FE}','\\u{1F467}\\u{1F3FF}','\\u{1F468}\\u200D\\u2695\\uFE0F','\\u{1F468}\\u200D\\u2696\\uFE0F','\\u{1F468}\\u200D\\u2708\\uFE0F','\\u{1F468}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}','\\u{1F468}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}','\\u{1F468}\\u200D\\u{1F33E}','\\u{1F468}\\u200D\\u{1F373}','\\u{1F468}\\u200D\\u{1F37C}','\\u{1F468}\\u200D\\u{1F393}','\\u{1F468}\\u200D\\u{1F3A4}','\\u{1F468}\\u200D\\u{1F3A8}','\\u{1F468}\\u200D\\u{1F3EB}','\\u{1F468}\\u200D\\u{1F3ED}','\\u{1F468}\\u200D\\u{1F466}','\\u{1F468}\\u200D\\u{1F466}\\u200D\\u{1F466}','\\u{1F468}\\u200D\\u{1F467}','\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F466}','\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F467}','\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F466}','\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F466}\\u200D\\u{1F466}','\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}','\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F466}','\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F467}','\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F466}','\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}','\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}','\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}','\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}','\\u{1F468}\\u200D\\u{1F4BB}','\\u{1F468}\\u200D\\u{1F4BC}','\\u{1F468}\\u200D\\u{1F527}','\\u{1F468}\\u200D\\u{1F52C}','\\u{1F468}\\u200D\\u{1F680}','\\u{1F468}\\u200D\\u{1F692}','\\u{1F468}\\u200D\\u{1F9AF}','\\u{1F468}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u200D\\u{1F9B0}','\\u{1F468}\\u200D\\u{1F9B1}','\\u{1F468}\\u200D\\u{1F9B2}','\\u{1F468}\\u200D\\u{1F9B3}','\\u{1F468}\\u200D\\u{1F9BC}','\\u{1F468}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u200D\\u{1F9BD}','\\u{1F468}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FB}\\u200D\\u2695\\uFE0F','\\u{1F468}\\u{1F3FB}\\u200D\\u2696\\uFE0F','\\u{1F468}\\u{1F3FB}\\u200D\\u2708\\uFE0F','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F33E}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F373}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F37C}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F393}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3A4}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3A8}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3EB}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3ED}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F4BB}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F4BC}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F527}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F52C}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F680}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F692}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9AF}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B0}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B1}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B2}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B3}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9BC}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9BD}','\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FC}\\u200D\\u2695\\uFE0F','\\u{1F468}\\u{1F3FC}\\u200D\\u2696\\uFE0F','\\u{1F468}\\u{1F3FC}\\u200D\\u2708\\uFE0F','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F33E}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F373}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F37C}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F393}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3A4}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3A8}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3EB}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3ED}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F4BB}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F4BC}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F527}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F52C}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F680}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F692}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9AF}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B0}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B1}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B2}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B3}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9BC}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9BD}','\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FD}\\u200D\\u2695\\uFE0F','\\u{1F468}\\u{1F3FD}\\u200D\\u2696\\uFE0F','\\u{1F468}\\u{1F3FD}\\u200D\\u2708\\uFE0F','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F33E}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F373}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F37C}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F393}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3A4}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3A8}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3EB}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3ED}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F4BB}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F4BC}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F527}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F52C}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F680}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F692}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9AF}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B0}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B1}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B2}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B3}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9BC}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9BD}','\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FE}\\u200D\\u2695\\uFE0F','\\u{1F468}\\u{1F3FE}\\u200D\\u2696\\uFE0F','\\u{1F468}\\u{1F3FE}\\u200D\\u2708\\uFE0F','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F33E}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F373}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F37C}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F393}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3A4}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3A8}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3EB}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3ED}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F4BB}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F4BC}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F527}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F52C}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F680}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F692}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9AF}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B0}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B1}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B2}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B3}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9BC}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9BD}','\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FF}\\u200D\\u2695\\uFE0F','\\u{1F468}\\u{1F3FF}\\u200D\\u2696\\uFE0F','\\u{1F468}\\u{1F3FF}\\u200D\\u2708\\uFE0F','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F33E}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F373}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F37C}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F393}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3A4}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3A8}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3EB}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3ED}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F4BB}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F4BC}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F527}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F52C}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F680}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F692}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9AF}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B0}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B1}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B2}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B3}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9BC}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9BD}','\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u200D\\u2695\\uFE0F','\\u{1F469}\\u200D\\u2696\\uFE0F','\\u{1F469}\\u200D\\u2708\\uFE0F','\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}','\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}','\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}','\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}','\\u{1F469}\\u200D\\u{1F33E}','\\u{1F469}\\u200D\\u{1F373}','\\u{1F469}\\u200D\\u{1F37C}','\\u{1F469}\\u200D\\u{1F393}','\\u{1F469}\\u200D\\u{1F3A4}','\\u{1F469}\\u200D\\u{1F3A8}','\\u{1F469}\\u200D\\u{1F3EB}','\\u{1F469}\\u200D\\u{1F3ED}','\\u{1F469}\\u200D\\u{1F466}','\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}','\\u{1F469}\\u200D\\u{1F467}','\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}','\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}','\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F466}','\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}','\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}','\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}','\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}','\\u{1F469}\\u200D\\u{1F4BB}','\\u{1F469}\\u200D\\u{1F4BC}','\\u{1F469}\\u200D\\u{1F527}','\\u{1F469}\\u200D\\u{1F52C}','\\u{1F469}\\u200D\\u{1F680}','\\u{1F469}\\u200D\\u{1F692}','\\u{1F469}\\u200D\\u{1F9AF}','\\u{1F469}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u200D\\u{1F9B0}','\\u{1F469}\\u200D\\u{1F9B1}','\\u{1F469}\\u200D\\u{1F9B2}','\\u{1F469}\\u200D\\u{1F9B3}','\\u{1F469}\\u200D\\u{1F9BC}','\\u{1F469}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u200D\\u{1F9BD}','\\u{1F469}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FB}\\u200D\\u2695\\uFE0F','\\u{1F469}\\u{1F3FB}\\u200D\\u2696\\uFE0F','\\u{1F469}\\u{1F3FB}\\u200D\\u2708\\uFE0F','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F33E}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F373}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F37C}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F393}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3A4}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3A8}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3EB}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3ED}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F4BB}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F4BC}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F527}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F52C}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F680}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F692}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9AF}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B0}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B1}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B2}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B3}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9BC}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9BD}','\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FC}\\u200D\\u2695\\uFE0F','\\u{1F469}\\u{1F3FC}\\u200D\\u2696\\uFE0F','\\u{1F469}\\u{1F3FC}\\u200D\\u2708\\uFE0F','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F33E}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F373}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F37C}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F393}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3A4}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3A8}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3EB}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3ED}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F4BB}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F4BC}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F527}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F52C}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F680}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F692}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9AF}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B0}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B1}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B2}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B3}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9BC}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9BD}','\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FD}\\u200D\\u2695\\uFE0F','\\u{1F469}\\u{1F3FD}\\u200D\\u2696\\uFE0F','\\u{1F469}\\u{1F3FD}\\u200D\\u2708\\uFE0F','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F33E}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F373}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F37C}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F393}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3A4}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3A8}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3EB}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3ED}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F4BB}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F4BC}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F527}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F52C}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F680}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F692}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9AF}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B0}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B1}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B2}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B3}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9BC}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9BD}','\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FE}\\u200D\\u2695\\uFE0F','\\u{1F469}\\u{1F3FE}\\u200D\\u2696\\uFE0F','\\u{1F469}\\u{1F3FE}\\u200D\\u2708\\uFE0F','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F33E}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F373}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F37C}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F393}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3A4}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3A8}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3EB}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3ED}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F4BB}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F4BC}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F527}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F52C}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F680}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F692}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9AF}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B0}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B1}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B2}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B3}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9BC}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9BD}','\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FF}\\u200D\\u2695\\uFE0F','\\u{1F469}\\u{1F3FF}\\u200D\\u2696\\uFE0F','\\u{1F469}\\u{1F3FF}\\u200D\\u2708\\uFE0F','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F33E}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F373}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F37C}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F393}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3A4}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3A8}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3EB}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3ED}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F4BB}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F4BC}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F527}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F52C}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F680}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F692}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9AF}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B0}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B1}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B2}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B3}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9BC}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9BD}','\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F46B}\\u{1F3FB}','\\u{1F46B}\\u{1F3FC}','\\u{1F46B}\\u{1F3FD}','\\u{1F46B}\\u{1F3FE}','\\u{1F46B}\\u{1F3FF}','\\u{1F46C}\\u{1F3FB}','\\u{1F46C}\\u{1F3FC}','\\u{1F46C}\\u{1F3FD}','\\u{1F46C}\\u{1F3FE}','\\u{1F46C}\\u{1F3FF}','\\u{1F46D}\\u{1F3FB}','\\u{1F46D}\\u{1F3FC}','\\u{1F46D}\\u{1F3FD}','\\u{1F46D}\\u{1F3FE}','\\u{1F46D}\\u{1F3FF}','\\u{1F46E}\\u200D\\u2640\\uFE0F','\\u{1F46E}\\u200D\\u2642\\uFE0F','\\u{1F46E}\\u{1F3FB}','\\u{1F46E}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F46E}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F46E}\\u{1F3FC}','\\u{1F46E}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F46E}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F46E}\\u{1F3FD}','\\u{1F46E}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F46E}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F46E}\\u{1F3FE}','\\u{1F46E}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F46E}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F46E}\\u{1F3FF}','\\u{1F46E}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F46E}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F46F}\\u200D\\u2640\\uFE0F','\\u{1F46F}\\u200D\\u2642\\uFE0F','\\u{1F470}\\u200D\\u2640\\uFE0F','\\u{1F470}\\u200D\\u2642\\uFE0F','\\u{1F470}\\u{1F3FB}','\\u{1F470}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F470}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F470}\\u{1F3FC}','\\u{1F470}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F470}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F470}\\u{1F3FD}','\\u{1F470}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F470}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F470}\\u{1F3FE}','\\u{1F470}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F470}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F470}\\u{1F3FF}','\\u{1F470}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F470}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F471}\\u200D\\u2640\\uFE0F','\\u{1F471}\\u200D\\u2642\\uFE0F','\\u{1F471}\\u{1F3FB}','\\u{1F471}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F471}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F471}\\u{1F3FC}','\\u{1F471}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F471}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F471}\\u{1F3FD}','\\u{1F471}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F471}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F471}\\u{1F3FE}','\\u{1F471}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F471}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F471}\\u{1F3FF}','\\u{1F471}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F471}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F472}\\u{1F3FB}','\\u{1F472}\\u{1F3FC}','\\u{1F472}\\u{1F3FD}','\\u{1F472}\\u{1F3FE}','\\u{1F472}\\u{1F3FF}','\\u{1F473}\\u200D\\u2640\\uFE0F','\\u{1F473}\\u200D\\u2642\\uFE0F','\\u{1F473}\\u{1F3FB}','\\u{1F473}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F473}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F473}\\u{1F3FC}','\\u{1F473}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F473}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F473}\\u{1F3FD}','\\u{1F473}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F473}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F473}\\u{1F3FE}','\\u{1F473}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F473}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F473}\\u{1F3FF}','\\u{1F473}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F473}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F474}\\u{1F3FB}','\\u{1F474}\\u{1F3FC}','\\u{1F474}\\u{1F3FD}','\\u{1F474}\\u{1F3FE}','\\u{1F474}\\u{1F3FF}','\\u{1F475}\\u{1F3FB}','\\u{1F475}\\u{1F3FC}','\\u{1F475}\\u{1F3FD}','\\u{1F475}\\u{1F3FE}','\\u{1F475}\\u{1F3FF}','\\u{1F476}\\u{1F3FB}','\\u{1F476}\\u{1F3FC}','\\u{1F476}\\u{1F3FD}','\\u{1F476}\\u{1F3FE}','\\u{1F476}\\u{1F3FF}','\\u{1F477}\\u200D\\u2640\\uFE0F','\\u{1F477}\\u200D\\u2642\\uFE0F','\\u{1F477}\\u{1F3FB}','\\u{1F477}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F477}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F477}\\u{1F3FC}','\\u{1F477}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F477}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F477}\\u{1F3FD}','\\u{1F477}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F477}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F477}\\u{1F3FE}','\\u{1F477}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F477}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F477}\\u{1F3FF}','\\u{1F477}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F477}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F478}\\u{1F3FB}','\\u{1F478}\\u{1F3FC}','\\u{1F478}\\u{1F3FD}','\\u{1F478}\\u{1F3FE}','\\u{1F478}\\u{1F3FF}','\\u{1F47C}\\u{1F3FB}','\\u{1F47C}\\u{1F3FC}','\\u{1F47C}\\u{1F3FD}','\\u{1F47C}\\u{1F3FE}','\\u{1F47C}\\u{1F3FF}','\\u{1F481}\\u200D\\u2640\\uFE0F','\\u{1F481}\\u200D\\u2642\\uFE0F','\\u{1F481}\\u{1F3FB}','\\u{1F481}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F481}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F481}\\u{1F3FC}','\\u{1F481}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F481}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F481}\\u{1F3FD}','\\u{1F481}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F481}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F481}\\u{1F3FE}','\\u{1F481}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F481}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F481}\\u{1F3FF}','\\u{1F481}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F481}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F482}\\u200D\\u2640\\uFE0F','\\u{1F482}\\u200D\\u2642\\uFE0F','\\u{1F482}\\u{1F3FB}','\\u{1F482}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F482}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F482}\\u{1F3FC}','\\u{1F482}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F482}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F482}\\u{1F3FD}','\\u{1F482}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F482}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F482}\\u{1F3FE}','\\u{1F482}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F482}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F482}\\u{1F3FF}','\\u{1F482}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F482}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F483}\\u{1F3FB}','\\u{1F483}\\u{1F3FC}','\\u{1F483}\\u{1F3FD}','\\u{1F483}\\u{1F3FE}','\\u{1F483}\\u{1F3FF}','\\u{1F485}\\u{1F3FB}','\\u{1F485}\\u{1F3FC}','\\u{1F485}\\u{1F3FD}','\\u{1F485}\\u{1F3FE}','\\u{1F485}\\u{1F3FF}','\\u{1F486}\\u200D\\u2640\\uFE0F','\\u{1F486}\\u200D\\u2642\\uFE0F','\\u{1F486}\\u{1F3FB}','\\u{1F486}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F486}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F486}\\u{1F3FC}','\\u{1F486}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F486}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F486}\\u{1F3FD}','\\u{1F486}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F486}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F486}\\u{1F3FE}','\\u{1F486}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F486}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F486}\\u{1F3FF}','\\u{1F486}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F486}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F487}\\u200D\\u2640\\uFE0F','\\u{1F487}\\u200D\\u2642\\uFE0F','\\u{1F487}\\u{1F3FB}','\\u{1F487}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F487}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F487}\\u{1F3FC}','\\u{1F487}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F487}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F487}\\u{1F3FD}','\\u{1F487}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F487}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F487}\\u{1F3FE}','\\u{1F487}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F487}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F487}\\u{1F3FF}','\\u{1F487}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F487}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F48F}\\u{1F3FB}','\\u{1F48F}\\u{1F3FC}','\\u{1F48F}\\u{1F3FD}','\\u{1F48F}\\u{1F3FE}','\\u{1F48F}\\u{1F3FF}','\\u{1F491}\\u{1F3FB}','\\u{1F491}\\u{1F3FC}','\\u{1F491}\\u{1F3FD}','\\u{1F491}\\u{1F3FE}','\\u{1F491}\\u{1F3FF}','\\u{1F4AA}\\u{1F3FB}','\\u{1F4AA}\\u{1F3FC}','\\u{1F4AA}\\u{1F3FD}','\\u{1F4AA}\\u{1F3FE}','\\u{1F4AA}\\u{1F3FF}','\\u{1F4FD}\\uFE0F','\\u{1F549}\\uFE0F','\\u{1F54A}\\uFE0F','\\u{1F56F}\\uFE0F','\\u{1F570}\\uFE0F','\\u{1F573}\\uFE0F','\\u{1F574}\\u{1F3FB}','\\u{1F574}\\u{1F3FC}','\\u{1F574}\\u{1F3FD}','\\u{1F574}\\u{1F3FE}','\\u{1F574}\\u{1F3FF}','\\u{1F574}\\uFE0F','\\u{1F575}\\u{1F3FB}','\\u{1F575}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F575}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F575}\\u{1F3FC}','\\u{1F575}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F575}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F575}\\u{1F3FD}','\\u{1F575}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F575}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F575}\\u{1F3FE}','\\u{1F575}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F575}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F575}\\u{1F3FF}','\\u{1F575}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F575}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F575}\\uFE0F','\\u{1F575}\\uFE0F\\u200D\\u2640\\uFE0F','\\u{1F575}\\uFE0F\\u200D\\u2642\\uFE0F','\\u{1F576}\\uFE0F','\\u{1F577}\\uFE0F','\\u{1F578}\\uFE0F','\\u{1F579}\\uFE0F','\\u{1F57A}\\u{1F3FB}','\\u{1F57A}\\u{1F3FC}','\\u{1F57A}\\u{1F3FD}','\\u{1F57A}\\u{1F3FE}','\\u{1F57A}\\u{1F3FF}','\\u{1F587}\\uFE0F','\\u{1F58A}\\uFE0F','\\u{1F58B}\\uFE0F','\\u{1F58C}\\uFE0F','\\u{1F58D}\\uFE0F','\\u{1F590}\\u{1F3FB}','\\u{1F590}\\u{1F3FC}','\\u{1F590}\\u{1F3FD}','\\u{1F590}\\u{1F3FE}','\\u{1F590}\\u{1F3FF}','\\u{1F590}\\uFE0F','\\u{1F595}\\u{1F3FB}','\\u{1F595}\\u{1F3FC}','\\u{1F595}\\u{1F3FD}','\\u{1F595}\\u{1F3FE}','\\u{1F595}\\u{1F3FF}','\\u{1F596}\\u{1F3FB}','\\u{1F596}\\u{1F3FC}','\\u{1F596}\\u{1F3FD}','\\u{1F596}\\u{1F3FE}','\\u{1F596}\\u{1F3FF}','\\u{1F5A5}\\uFE0F','\\u{1F5A8}\\uFE0F','\\u{1F5B1}\\uFE0F','\\u{1F5B2}\\uFE0F','\\u{1F5BC}\\uFE0F','\\u{1F5C2}\\uFE0F','\\u{1F5C3}\\uFE0F','\\u{1F5C4}\\uFE0F','\\u{1F5D1}\\uFE0F','\\u{1F5D2}\\uFE0F','\\u{1F5D3}\\uFE0F','\\u{1F5DC}\\uFE0F','\\u{1F5DD}\\uFE0F','\\u{1F5DE}\\uFE0F','\\u{1F5E1}\\uFE0F','\\u{1F5E3}\\uFE0F','\\u{1F5E8}\\uFE0F','\\u{1F5EF}\\uFE0F','\\u{1F5F3}\\uFE0F','\\u{1F5FA}\\uFE0F','\\u{1F62E}\\u200D\\u{1F4A8}','\\u{1F635}\\u200D\\u{1F4AB}','\\u{1F636}\\u200D\\u{1F32B}\\uFE0F','\\u{1F642}\\u200D\\u2194\\uFE0F','\\u{1F642}\\u200D\\u2195\\uFE0F','\\u{1F645}\\u200D\\u2640\\uFE0F','\\u{1F645}\\u200D\\u2642\\uFE0F','\\u{1F645}\\u{1F3FB}','\\u{1F645}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F645}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F645}\\u{1F3FC}','\\u{1F645}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F645}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F645}\\u{1F3FD}','\\u{1F645}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F645}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F645}\\u{1F3FE}','\\u{1F645}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F645}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F645}\\u{1F3FF}','\\u{1F645}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F645}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F646}\\u200D\\u2640\\uFE0F','\\u{1F646}\\u200D\\u2642\\uFE0F','\\u{1F646}\\u{1F3FB}','\\u{1F646}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F646}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F646}\\u{1F3FC}','\\u{1F646}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F646}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F646}\\u{1F3FD}','\\u{1F646}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F646}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F646}\\u{1F3FE}','\\u{1F646}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F646}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F646}\\u{1F3FF}','\\u{1F646}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F646}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F647}\\u200D\\u2640\\uFE0F','\\u{1F647}\\u200D\\u2642\\uFE0F','\\u{1F647}\\u{1F3FB}','\\u{1F647}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F647}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F647}\\u{1F3FC}','\\u{1F647}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F647}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F647}\\u{1F3FD}','\\u{1F647}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F647}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F647}\\u{1F3FE}','\\u{1F647}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F647}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F647}\\u{1F3FF}','\\u{1F647}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F647}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F64B}\\u200D\\u2640\\uFE0F','\\u{1F64B}\\u200D\\u2642\\uFE0F','\\u{1F64B}\\u{1F3FB}','\\u{1F64B}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F64B}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F64B}\\u{1F3FC}','\\u{1F64B}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F64B}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F64B}\\u{1F3FD}','\\u{1F64B}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F64B}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F64B}\\u{1F3FE}','\\u{1F64B}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F64B}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F64B}\\u{1F3FF}','\\u{1F64B}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F64B}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F64C}\\u{1F3FB}','\\u{1F64C}\\u{1F3FC}','\\u{1F64C}\\u{1F3FD}','\\u{1F64C}\\u{1F3FE}','\\u{1F64C}\\u{1F3FF}','\\u{1F64D}\\u200D\\u2640\\uFE0F','\\u{1F64D}\\u200D\\u2642\\uFE0F','\\u{1F64D}\\u{1F3FB}','\\u{1F64D}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F64D}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F64D}\\u{1F3FC}','\\u{1F64D}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F64D}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F64D}\\u{1F3FD}','\\u{1F64D}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F64D}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F64D}\\u{1F3FE}','\\u{1F64D}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F64D}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F64D}\\u{1F3FF}','\\u{1F64D}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F64D}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F64E}\\u200D\\u2640\\uFE0F','\\u{1F64E}\\u200D\\u2642\\uFE0F','\\u{1F64E}\\u{1F3FB}','\\u{1F64E}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F64E}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F64E}\\u{1F3FC}','\\u{1F64E}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F64E}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F64E}\\u{1F3FD}','\\u{1F64E}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F64E}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F64E}\\u{1F3FE}','\\u{1F64E}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F64E}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F64E}\\u{1F3FF}','\\u{1F64E}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F64E}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F64F}\\u{1F3FB}','\\u{1F64F}\\u{1F3FC}','\\u{1F64F}\\u{1F3FD}','\\u{1F64F}\\u{1F3FE}','\\u{1F64F}\\u{1F3FF}','\\u{1F6A3}\\u200D\\u2640\\uFE0F','\\u{1F6A3}\\u200D\\u2642\\uFE0F','\\u{1F6A3}\\u{1F3FB}','\\u{1F6A3}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F6A3}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F6A3}\\u{1F3FC}','\\u{1F6A3}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F6A3}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F6A3}\\u{1F3FD}','\\u{1F6A3}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F6A3}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F6A3}\\u{1F3FE}','\\u{1F6A3}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F6A3}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F6A3}\\u{1F3FF}','\\u{1F6A3}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F6A3}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F6B4}\\u200D\\u2640\\uFE0F','\\u{1F6B4}\\u200D\\u2642\\uFE0F','\\u{1F6B4}\\u{1F3FB}','\\u{1F6B4}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F6B4}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F6B4}\\u{1F3FC}','\\u{1F6B4}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F6B4}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F6B4}\\u{1F3FD}','\\u{1F6B4}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F6B4}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F6B4}\\u{1F3FE}','\\u{1F6B4}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F6B4}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F6B4}\\u{1F3FF}','\\u{1F6B4}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F6B4}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F6B5}\\u200D\\u2640\\uFE0F','\\u{1F6B5}\\u200D\\u2642\\uFE0F','\\u{1F6B5}\\u{1F3FB}','\\u{1F6B5}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F6B5}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F6B5}\\u{1F3FC}','\\u{1F6B5}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F6B5}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F6B5}\\u{1F3FD}','\\u{1F6B5}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F6B5}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F6B5}\\u{1F3FE}','\\u{1F6B5}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F6B5}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F6B5}\\u{1F3FF}','\\u{1F6B5}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F6B5}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F6B6}\\u200D\\u2640\\uFE0F','\\u{1F6B6}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u200D\\u2642\\uFE0F','\\u{1F6B6}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FB}','\\u{1F6B6}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F6B6}\\u{1F3FB}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F6B6}\\u{1F3FB}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FB}\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FC}','\\u{1F6B6}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F6B6}\\u{1F3FC}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F6B6}\\u{1F3FC}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FC}\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FD}','\\u{1F6B6}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F6B6}\\u{1F3FD}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F6B6}\\u{1F3FD}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FD}\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FE}','\\u{1F6B6}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F6B6}\\u{1F3FE}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F6B6}\\u{1F3FE}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FE}\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FF}','\\u{1F6B6}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F6B6}\\u{1F3FF}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F6B6}\\u{1F3FF}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F6B6}\\u{1F3FF}\\u200D\\u27A1\\uFE0F','\\u{1F6C0}\\u{1F3FB}','\\u{1F6C0}\\u{1F3FC}','\\u{1F6C0}\\u{1F3FD}','\\u{1F6C0}\\u{1F3FE}','\\u{1F6C0}\\u{1F3FF}','\\u{1F6CB}\\uFE0F','\\u{1F6CC}\\u{1F3FB}','\\u{1F6CC}\\u{1F3FC}','\\u{1F6CC}\\u{1F3FD}','\\u{1F6CC}\\u{1F3FE}','\\u{1F6CC}\\u{1F3FF}','\\u{1F6CD}\\uFE0F','\\u{1F6CE}\\uFE0F','\\u{1F6CF}\\uFE0F','\\u{1F6E0}\\uFE0F','\\u{1F6E1}\\uFE0F','\\u{1F6E2}\\uFE0F','\\u{1F6E3}\\uFE0F','\\u{1F6E4}\\uFE0F','\\u{1F6E5}\\uFE0F','\\u{1F6E9}\\uFE0F','\\u{1F6F0}\\uFE0F','\\u{1F6F3}\\uFE0F','\\u{1F90C}\\u{1F3FB}','\\u{1F90C}\\u{1F3FC}','\\u{1F90C}\\u{1F3FD}','\\u{1F90C}\\u{1F3FE}','\\u{1F90C}\\u{1F3FF}','\\u{1F90F}\\u{1F3FB}','\\u{1F90F}\\u{1F3FC}','\\u{1F90F}\\u{1F3FD}','\\u{1F90F}\\u{1F3FE}','\\u{1F90F}\\u{1F3FF}','\\u{1F918}\\u{1F3FB}','\\u{1F918}\\u{1F3FC}','\\u{1F918}\\u{1F3FD}','\\u{1F918}\\u{1F3FE}','\\u{1F918}\\u{1F3FF}','\\u{1F919}\\u{1F3FB}','\\u{1F919}\\u{1F3FC}','\\u{1F919}\\u{1F3FD}','\\u{1F919}\\u{1F3FE}','\\u{1F919}\\u{1F3FF}','\\u{1F91A}\\u{1F3FB}','\\u{1F91A}\\u{1F3FC}','\\u{1F91A}\\u{1F3FD}','\\u{1F91A}\\u{1F3FE}','\\u{1F91A}\\u{1F3FF}','\\u{1F91B}\\u{1F3FB}','\\u{1F91B}\\u{1F3FC}','\\u{1F91B}\\u{1F3FD}','\\u{1F91B}\\u{1F3FE}','\\u{1F91B}\\u{1F3FF}','\\u{1F91C}\\u{1F3FB}','\\u{1F91C}\\u{1F3FC}','\\u{1F91C}\\u{1F3FD}','\\u{1F91C}\\u{1F3FE}','\\u{1F91C}\\u{1F3FF}','\\u{1F91D}\\u{1F3FB}','\\u{1F91D}\\u{1F3FC}','\\u{1F91D}\\u{1F3FD}','\\u{1F91D}\\u{1F3FE}','\\u{1F91D}\\u{1F3FF}','\\u{1F91E}\\u{1F3FB}','\\u{1F91E}\\u{1F3FC}','\\u{1F91E}\\u{1F3FD}','\\u{1F91E}\\u{1F3FE}','\\u{1F91E}\\u{1F3FF}','\\u{1F91F}\\u{1F3FB}','\\u{1F91F}\\u{1F3FC}','\\u{1F91F}\\u{1F3FD}','\\u{1F91F}\\u{1F3FE}','\\u{1F91F}\\u{1F3FF}','\\u{1F926}\\u200D\\u2640\\uFE0F','\\u{1F926}\\u200D\\u2642\\uFE0F','\\u{1F926}\\u{1F3FB}','\\u{1F926}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F926}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F926}\\u{1F3FC}','\\u{1F926}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F926}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F926}\\u{1F3FD}','\\u{1F926}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F926}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F926}\\u{1F3FE}','\\u{1F926}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F926}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F926}\\u{1F3FF}','\\u{1F926}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F926}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F930}\\u{1F3FB}','\\u{1F930}\\u{1F3FC}','\\u{1F930}\\u{1F3FD}','\\u{1F930}\\u{1F3FE}','\\u{1F930}\\u{1F3FF}','\\u{1F931}\\u{1F3FB}','\\u{1F931}\\u{1F3FC}','\\u{1F931}\\u{1F3FD}','\\u{1F931}\\u{1F3FE}','\\u{1F931}\\u{1F3FF}','\\u{1F932}\\u{1F3FB}','\\u{1F932}\\u{1F3FC}','\\u{1F932}\\u{1F3FD}','\\u{1F932}\\u{1F3FE}','\\u{1F932}\\u{1F3FF}','\\u{1F933}\\u{1F3FB}','\\u{1F933}\\u{1F3FC}','\\u{1F933}\\u{1F3FD}','\\u{1F933}\\u{1F3FE}','\\u{1F933}\\u{1F3FF}','\\u{1F934}\\u{1F3FB}','\\u{1F934}\\u{1F3FC}','\\u{1F934}\\u{1F3FD}','\\u{1F934}\\u{1F3FE}','\\u{1F934}\\u{1F3FF}','\\u{1F935}\\u200D\\u2640\\uFE0F','\\u{1F935}\\u200D\\u2642\\uFE0F','\\u{1F935}\\u{1F3FB}','\\u{1F935}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F935}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F935}\\u{1F3FC}','\\u{1F935}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F935}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F935}\\u{1F3FD}','\\u{1F935}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F935}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F935}\\u{1F3FE}','\\u{1F935}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F935}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F935}\\u{1F3FF}','\\u{1F935}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F935}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F936}\\u{1F3FB}','\\u{1F936}\\u{1F3FC}','\\u{1F936}\\u{1F3FD}','\\u{1F936}\\u{1F3FE}','\\u{1F936}\\u{1F3FF}','\\u{1F937}\\u200D\\u2640\\uFE0F','\\u{1F937}\\u200D\\u2642\\uFE0F','\\u{1F937}\\u{1F3FB}','\\u{1F937}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F937}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F937}\\u{1F3FC}','\\u{1F937}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F937}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F937}\\u{1F3FD}','\\u{1F937}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F937}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F937}\\u{1F3FE}','\\u{1F937}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F937}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F937}\\u{1F3FF}','\\u{1F937}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F937}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F938}\\u200D\\u2640\\uFE0F','\\u{1F938}\\u200D\\u2642\\uFE0F','\\u{1F938}\\u{1F3FB}','\\u{1F938}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F938}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F938}\\u{1F3FC}','\\u{1F938}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F938}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F938}\\u{1F3FD}','\\u{1F938}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F938}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F938}\\u{1F3FE}','\\u{1F938}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F938}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F938}\\u{1F3FF}','\\u{1F938}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F938}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F939}\\u200D\\u2640\\uFE0F','\\u{1F939}\\u200D\\u2642\\uFE0F','\\u{1F939}\\u{1F3FB}','\\u{1F939}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F939}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F939}\\u{1F3FC}','\\u{1F939}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F939}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F939}\\u{1F3FD}','\\u{1F939}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F939}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F939}\\u{1F3FE}','\\u{1F939}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F939}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F939}\\u{1F3FF}','\\u{1F939}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F939}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F93C}\\u200D\\u2640\\uFE0F','\\u{1F93C}\\u200D\\u2642\\uFE0F','\\u{1F93D}\\u200D\\u2640\\uFE0F','\\u{1F93D}\\u200D\\u2642\\uFE0F','\\u{1F93D}\\u{1F3FB}','\\u{1F93D}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F93D}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F93D}\\u{1F3FC}','\\u{1F93D}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F93D}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F93D}\\u{1F3FD}','\\u{1F93D}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F93D}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F93D}\\u{1F3FE}','\\u{1F93D}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F93D}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F93D}\\u{1F3FF}','\\u{1F93D}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F93D}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F93E}\\u200D\\u2640\\uFE0F','\\u{1F93E}\\u200D\\u2642\\uFE0F','\\u{1F93E}\\u{1F3FB}','\\u{1F93E}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F93E}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F93E}\\u{1F3FC}','\\u{1F93E}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F93E}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F93E}\\u{1F3FD}','\\u{1F93E}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F93E}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F93E}\\u{1F3FE}','\\u{1F93E}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F93E}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F93E}\\u{1F3FF}','\\u{1F93E}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F93E}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F977}\\u{1F3FB}','\\u{1F977}\\u{1F3FC}','\\u{1F977}\\u{1F3FD}','\\u{1F977}\\u{1F3FE}','\\u{1F977}\\u{1F3FF}','\\u{1F9B5}\\u{1F3FB}','\\u{1F9B5}\\u{1F3FC}','\\u{1F9B5}\\u{1F3FD}','\\u{1F9B5}\\u{1F3FE}','\\u{1F9B5}\\u{1F3FF}','\\u{1F9B6}\\u{1F3FB}','\\u{1F9B6}\\u{1F3FC}','\\u{1F9B6}\\u{1F3FD}','\\u{1F9B6}\\u{1F3FE}','\\u{1F9B6}\\u{1F3FF}','\\u{1F9B8}\\u200D\\u2640\\uFE0F','\\u{1F9B8}\\u200D\\u2642\\uFE0F','\\u{1F9B8}\\u{1F3FB}','\\u{1F9B8}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9B8}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9B8}\\u{1F3FC}','\\u{1F9B8}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9B8}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9B8}\\u{1F3FD}','\\u{1F9B8}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9B8}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9B8}\\u{1F3FE}','\\u{1F9B8}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9B8}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9B8}\\u{1F3FF}','\\u{1F9B8}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9B8}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9B9}\\u200D\\u2640\\uFE0F','\\u{1F9B9}\\u200D\\u2642\\uFE0F','\\u{1F9B9}\\u{1F3FB}','\\u{1F9B9}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9B9}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9B9}\\u{1F3FC}','\\u{1F9B9}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9B9}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9B9}\\u{1F3FD}','\\u{1F9B9}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9B9}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9B9}\\u{1F3FE}','\\u{1F9B9}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9B9}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9B9}\\u{1F3FF}','\\u{1F9B9}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9B9}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9BB}\\u{1F3FB}','\\u{1F9BB}\\u{1F3FC}','\\u{1F9BB}\\u{1F3FD}','\\u{1F9BB}\\u{1F3FE}','\\u{1F9BB}\\u{1F3FF}','\\u{1F9CD}\\u200D\\u2640\\uFE0F','\\u{1F9CD}\\u200D\\u2642\\uFE0F','\\u{1F9CD}\\u{1F3FB}','\\u{1F9CD}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9CD}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9CD}\\u{1F3FC}','\\u{1F9CD}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9CD}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9CD}\\u{1F3FD}','\\u{1F9CD}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9CD}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9CD}\\u{1F3FE}','\\u{1F9CD}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9CD}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9CD}\\u{1F3FF}','\\u{1F9CD}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9CD}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9CE}\\u200D\\u2640\\uFE0F','\\u{1F9CE}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u200D\\u2642\\uFE0F','\\u{1F9CE}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FB}','\\u{1F9CE}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9CE}\\u{1F3FB}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9CE}\\u{1F3FB}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FB}\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FC}','\\u{1F9CE}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9CE}\\u{1F3FC}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9CE}\\u{1F3FC}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FC}\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FD}','\\u{1F9CE}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9CE}\\u{1F3FD}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9CE}\\u{1F3FD}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FD}\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FE}','\\u{1F9CE}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9CE}\\u{1F3FE}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9CE}\\u{1F3FE}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FE}\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FF}','\\u{1F9CE}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9CE}\\u{1F3FF}\\u200D\\u2640\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9CE}\\u{1F3FF}\\u200D\\u2642\\uFE0F\\u200D\\u27A1\\uFE0F','\\u{1F9CE}\\u{1F3FF}\\u200D\\u27A1\\uFE0F','\\u{1F9CF}\\u200D\\u2640\\uFE0F','\\u{1F9CF}\\u200D\\u2642\\uFE0F','\\u{1F9CF}\\u{1F3FB}','\\u{1F9CF}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9CF}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9CF}\\u{1F3FC}','\\u{1F9CF}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9CF}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9CF}\\u{1F3FD}','\\u{1F9CF}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9CF}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9CF}\\u{1F3FE}','\\u{1F9CF}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9CF}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9CF}\\u{1F3FF}','\\u{1F9CF}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9CF}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9D1}\\u200D\\u2695\\uFE0F','\\u{1F9D1}\\u200D\\u2696\\uFE0F','\\u{1F9D1}\\u200D\\u2708\\uFE0F','\\u{1F9D1}\\u200D\\u{1F33E}','\\u{1F9D1}\\u200D\\u{1F373}','\\u{1F9D1}\\u200D\\u{1F37C}','\\u{1F9D1}\\u200D\\u{1F384}','\\u{1F9D1}\\u200D\\u{1F393}','\\u{1F9D1}\\u200D\\u{1F3A4}','\\u{1F9D1}\\u200D\\u{1F3A8}','\\u{1F9D1}\\u200D\\u{1F3EB}','\\u{1F9D1}\\u200D\\u{1F3ED}','\\u{1F9D1}\\u200D\\u{1F4BB}','\\u{1F9D1}\\u200D\\u{1F4BC}','\\u{1F9D1}\\u200D\\u{1F527}','\\u{1F9D1}\\u200D\\u{1F52C}','\\u{1F9D1}\\u200D\\u{1F680}','\\u{1F9D1}\\u200D\\u{1F692}','\\u{1F9D1}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}','\\u{1F9D1}\\u200D\\u{1F9AF}','\\u{1F9D1}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u200D\\u{1F9B0}','\\u{1F9D1}\\u200D\\u{1F9B1}','\\u{1F9D1}\\u200D\\u{1F9B2}','\\u{1F9D1}\\u200D\\u{1F9B3}','\\u{1F9D1}\\u200D\\u{1F9BC}','\\u{1F9D1}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u200D\\u{1F9BD}','\\u{1F9D1}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u200D\\u{1F9D1}\\u200D\\u{1F9D2}','\\u{1F9D1}\\u200D\\u{1F9D1}\\u200D\\u{1F9D2}\\u200D\\u{1F9D2}','\\u{1F9D1}\\u200D\\u{1F9D2}','\\u{1F9D1}\\u200D\\u{1F9D2}\\u200D\\u{1F9D2}','\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2695\\uFE0F','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2696\\uFE0F','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2708\\uFE0F','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F33E}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F373}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F37C}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F384}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F393}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3A4}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3A8}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3EB}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3ED}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F4BB}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F4BC}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F527}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F52C}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F680}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F692}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9AF}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B0}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B1}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B2}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B3}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9BC}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9BD}','\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2695\\uFE0F','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2696\\uFE0F','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2708\\uFE0F','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F33E}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F373}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F37C}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F384}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F393}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3A4}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3A8}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3EB}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3ED}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F4BB}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F4BC}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F527}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F52C}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F680}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F692}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9AF}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B0}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B1}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B2}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B3}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9BC}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9BD}','\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2695\\uFE0F','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2696\\uFE0F','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2708\\uFE0F','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F33E}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F373}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F37C}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F384}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F393}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3A4}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3A8}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3EB}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3ED}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F4BB}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F4BC}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F527}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F52C}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F680}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F692}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9AF}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B0}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B1}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B2}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B3}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9BC}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9BD}','\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2695\\uFE0F','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2696\\uFE0F','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2708\\uFE0F','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F33E}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F373}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F37C}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F384}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F393}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3A4}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3A8}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3EB}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3ED}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F4BB}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F4BC}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F527}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F52C}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F680}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F692}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9AF}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B0}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B1}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B2}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B3}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9BC}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9BD}','\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2695\\uFE0F','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2696\\uFE0F','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2708\\uFE0F','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F33E}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F373}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F37C}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F384}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F393}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3A4}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3A8}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3EB}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3ED}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F4BB}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F4BC}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F527}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F52C}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F680}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F692}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9AF}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9AF}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B0}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B1}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B2}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B3}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9BC}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9BC}\\u200D\\u27A1\\uFE0F','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9BD}','\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9BD}\\u200D\\u27A1\\uFE0F','\\u{1F9D2}\\u{1F3FB}','\\u{1F9D2}\\u{1F3FC}','\\u{1F9D2}\\u{1F3FD}','\\u{1F9D2}\\u{1F3FE}','\\u{1F9D2}\\u{1F3FF}','\\u{1F9D3}\\u{1F3FB}','\\u{1F9D3}\\u{1F3FC}','\\u{1F9D3}\\u{1F3FD}','\\u{1F9D3}\\u{1F3FE}','\\u{1F9D3}\\u{1F3FF}','\\u{1F9D4}\\u200D\\u2640\\uFE0F','\\u{1F9D4}\\u200D\\u2642\\uFE0F','\\u{1F9D4}\\u{1F3FB}','\\u{1F9D4}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9D4}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9D4}\\u{1F3FC}','\\u{1F9D4}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9D4}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9D4}\\u{1F3FD}','\\u{1F9D4}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9D4}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9D4}\\u{1F3FE}','\\u{1F9D4}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9D4}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9D4}\\u{1F3FF}','\\u{1F9D4}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9D4}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9D5}\\u{1F3FB}','\\u{1F9D5}\\u{1F3FC}','\\u{1F9D5}\\u{1F3FD}','\\u{1F9D5}\\u{1F3FE}','\\u{1F9D5}\\u{1F3FF}','\\u{1F9D6}\\u200D\\u2640\\uFE0F','\\u{1F9D6}\\u200D\\u2642\\uFE0F','\\u{1F9D6}\\u{1F3FB}','\\u{1F9D6}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9D6}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9D6}\\u{1F3FC}','\\u{1F9D6}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9D6}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9D6}\\u{1F3FD}','\\u{1F9D6}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9D6}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9D6}\\u{1F3FE}','\\u{1F9D6}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9D6}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9D6}\\u{1F3FF}','\\u{1F9D6}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9D6}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9D7}\\u200D\\u2640\\uFE0F','\\u{1F9D7}\\u200D\\u2642\\uFE0F','\\u{1F9D7}\\u{1F3FB}','\\u{1F9D7}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9D7}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9D7}\\u{1F3FC}','\\u{1F9D7}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9D7}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9D7}\\u{1F3FD}','\\u{1F9D7}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9D7}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9D7}\\u{1F3FE}','\\u{1F9D7}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9D7}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9D7}\\u{1F3FF}','\\u{1F9D7}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9D7}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9D8}\\u200D\\u2640\\uFE0F','\\u{1F9D8}\\u200D\\u2642\\uFE0F','\\u{1F9D8}\\u{1F3FB}','\\u{1F9D8}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9D8}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9D8}\\u{1F3FC}','\\u{1F9D8}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9D8}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9D8}\\u{1F3FD}','\\u{1F9D8}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9D8}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9D8}\\u{1F3FE}','\\u{1F9D8}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9D8}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9D8}\\u{1F3FF}','\\u{1F9D8}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9D8}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9D9}\\u200D\\u2640\\uFE0F','\\u{1F9D9}\\u200D\\u2642\\uFE0F','\\u{1F9D9}\\u{1F3FB}','\\u{1F9D9}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9D9}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9D9}\\u{1F3FC}','\\u{1F9D9}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9D9}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9D9}\\u{1F3FD}','\\u{1F9D9}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9D9}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9D9}\\u{1F3FE}','\\u{1F9D9}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9D9}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9D9}\\u{1F3FF}','\\u{1F9D9}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9D9}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9DA}\\u200D\\u2640\\uFE0F','\\u{1F9DA}\\u200D\\u2642\\uFE0F','\\u{1F9DA}\\u{1F3FB}','\\u{1F9DA}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9DA}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9DA}\\u{1F3FC}','\\u{1F9DA}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9DA}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9DA}\\u{1F3FD}','\\u{1F9DA}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9DA}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9DA}\\u{1F3FE}','\\u{1F9DA}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9DA}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9DA}\\u{1F3FF}','\\u{1F9DA}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9DA}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9DB}\\u200D\\u2640\\uFE0F','\\u{1F9DB}\\u200D\\u2642\\uFE0F','\\u{1F9DB}\\u{1F3FB}','\\u{1F9DB}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9DB}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9DB}\\u{1F3FC}','\\u{1F9DB}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9DB}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9DB}\\u{1F3FD}','\\u{1F9DB}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9DB}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9DB}\\u{1F3FE}','\\u{1F9DB}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9DB}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9DB}\\u{1F3FF}','\\u{1F9DB}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9DB}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9DC}\\u200D\\u2640\\uFE0F','\\u{1F9DC}\\u200D\\u2642\\uFE0F','\\u{1F9DC}\\u{1F3FB}','\\u{1F9DC}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9DC}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9DC}\\u{1F3FC}','\\u{1F9DC}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9DC}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9DC}\\u{1F3FD}','\\u{1F9DC}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9DC}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9DC}\\u{1F3FE}','\\u{1F9DC}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9DC}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9DC}\\u{1F3FF}','\\u{1F9DC}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9DC}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9DD}\\u200D\\u2640\\uFE0F','\\u{1F9DD}\\u200D\\u2642\\uFE0F','\\u{1F9DD}\\u{1F3FB}','\\u{1F9DD}\\u{1F3FB}\\u200D\\u2640\\uFE0F','\\u{1F9DD}\\u{1F3FB}\\u200D\\u2642\\uFE0F','\\u{1F9DD}\\u{1F3FC}','\\u{1F9DD}\\u{1F3FC}\\u200D\\u2640\\uFE0F','\\u{1F9DD}\\u{1F3FC}\\u200D\\u2642\\uFE0F','\\u{1F9DD}\\u{1F3FD}','\\u{1F9DD}\\u{1F3FD}\\u200D\\u2640\\uFE0F','\\u{1F9DD}\\u{1F3FD}\\u200D\\u2642\\uFE0F','\\u{1F9DD}\\u{1F3FE}','\\u{1F9DD}\\u{1F3FE}\\u200D\\u2640\\uFE0F','\\u{1F9DD}\\u{1F3FE}\\u200D\\u2642\\uFE0F','\\u{1F9DD}\\u{1F3FF}','\\u{1F9DD}\\u{1F3FF}\\u200D\\u2640\\uFE0F','\\u{1F9DD}\\u{1F3FF}\\u200D\\u2642\\uFE0F','\\u{1F9DE}\\u200D\\u2640\\uFE0F','\\u{1F9DE}\\u200D\\u2642\\uFE0F','\\u{1F9DF}\\u200D\\u2640\\uFE0F','\\u{1F9DF}\\u200D\\u2642\\uFE0F','\\u{1FAC3}\\u{1F3FB}','\\u{1FAC3}\\u{1F3FC}','\\u{1FAC3}\\u{1F3FD}','\\u{1FAC3}\\u{1F3FE}','\\u{1FAC3}\\u{1F3FF}','\\u{1FAC4}\\u{1F3FB}','\\u{1FAC4}\\u{1F3FC}','\\u{1FAC4}\\u{1F3FD}','\\u{1FAC4}\\u{1F3FE}','\\u{1FAC4}\\u{1F3FF}','\\u{1FAC5}\\u{1F3FB}','\\u{1FAC5}\\u{1F3FC}','\\u{1FAC5}\\u{1F3FD}','\\u{1FAC5}\\u{1F3FE}','\\u{1FAC5}\\u{1F3FF}','\\u{1FAF0}\\u{1F3FB}','\\u{1FAF0}\\u{1F3FC}','\\u{1FAF0}\\u{1F3FD}','\\u{1FAF0}\\u{1F3FE}','\\u{1FAF0}\\u{1F3FF}','\\u{1FAF1}\\u{1F3FB}','\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FC}','\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FD}','\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FE}','\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FF}','\\u{1FAF1}\\u{1F3FC}','\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FB}','\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FD}','\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FE}','\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FF}','\\u{1FAF1}\\u{1F3FD}','\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FB}','\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FC}','\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FE}','\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FF}','\\u{1FAF1}\\u{1F3FE}','\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FB}','\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FC}','\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FD}','\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FF}','\\u{1FAF1}\\u{1F3FF}','\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FB}','\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FC}','\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FD}','\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FE}','\\u{1FAF2}\\u{1F3FB}','\\u{1FAF2}\\u{1F3FC}','\\u{1FAF2}\\u{1F3FD}','\\u{1FAF2}\\u{1F3FE}','\\u{1FAF2}\\u{1F3FF}','\\u{1FAF3}\\u{1F3FB}','\\u{1FAF3}\\u{1F3FC}','\\u{1FAF3}\\u{1F3FD}','\\u{1FAF3}\\u{1F3FE}','\\u{1FAF3}\\u{1F3FF}','\\u{1FAF4}\\u{1F3FB}','\\u{1FAF4}\\u{1F3FC}','\\u{1FAF4}\\u{1F3FD}','\\u{1FAF4}\\u{1F3FE}','\\u{1FAF4}\\u{1F3FF}','\\u{1FAF5}\\u{1F3FB}','\\u{1FAF5}\\u{1F3FC}','\\u{1FAF5}\\u{1F3FD}','\\u{1FAF5}\\u{1F3FE}','\\u{1FAF5}\\u{1F3FF}','\\u{1FAF6}\\u{1F3FB}','\\u{1FAF6}\\u{1F3FC}','\\u{1FAF6}\\u{1F3FD}','\\u{1FAF6}\\u{1F3FE}','\\u{1FAF6}\\u{1F3FF}','\\u{1FAF7}\\u{1F3FB}','\\u{1FAF7}\\u{1F3FC}','\\u{1FAF7}\\u{1F3FD}','\\u{1FAF7}\\u{1F3FE}','\\u{1FAF7}\\u{1F3FF}','\\u{1FAF8}\\u{1F3FB}','\\u{1FAF8}\\u{1F3FC}','\\u{1FAF8}\\u{1F3FD}','\\u{1FAF8}\\u{1F3FE}','\\u{1FAF8}\\u{1F3FF}'];\n","const set = require('regenerate')(0x61F, 0x640);\nset.addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11746);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x14400, 0x14646);\nexports.characters = set;\n","const set = require('regenerate')(0xFDCF, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x600, 0x604).addRange(0x606, 0x6DC).addRange(0x6DE, 0x6FF).addRange(0x750, 0x77F).addRange(0x870, 0x88E).addRange(0x890, 0x891).addRange(0x898, 0x8E1).addRange(0x8E3, 0x8FF).addRange(0xFB50, 0xFBC2).addRange(0xFBD3, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFF).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0x102E0, 0x102FB).addRange(0x10E60, 0x10E7E).addRange(0x10EFD, 0x10EFF).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0xFB13, 0xFB17);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B3F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B7E);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xA6A0, 0xA6F7).addRange(0x16800, 0x16A38);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF5);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1BC0, 0x1BF3).addRange(0x1BFC, 0x1BFF);\nexports.characters = set;\n","const set = require('regenerate')(0x9B2, 0x9D7, 0x1CD0, 0x1CD2, 0x1CD8, 0x1CE1, 0x1CEA, 0x1CED, 0x1CF2, 0xA8F1);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0x980, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9FE).addRange(0x1CD5, 0x1CD6).addRange(0x1CF5, 0x1CF7);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C45).addRange(0x11C50, 0x11C6C);\nexports.characters = set;\n","const set = require('regenerate')(0x3030, 0x3037, 0x30FB);\nset.addRange(0x2EA, 0x2EB).addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x302A, 0x302D).addRange(0x3105, 0x312F).addRange(0x31A0, 0x31BF).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65);\nexports.characters = set;\n","const set = require('regenerate')(0x1107F);\nset.addRange(0x11000, 0x1104D).addRange(0x11052, 0x11075);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x2800, 0x28FF);\nexports.characters = set;\n","const set = require('regenerate')(0xA9CF);\nset.addRange(0x1A00, 0x1A1B).addRange(0x1A1E, 0x1A1F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1735, 0x1736).addRange(0x1740, 0x1753);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1400, 0x167F).addRange(0x18B0, 0x18F5).addRange(0x11AB0, 0x11ABF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x102A0, 0x102D0);\nexports.characters = set;\n","const set = require('regenerate')(0x1056F);\nset.addRange(0x10530, 0x10563);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x9E6, 0x9EF).addRange(0x1040, 0x1049).addRange(0x11100, 0x11134).addRange(0x11136, 0x11147);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAA5F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0xAB70, 0xABBF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10FB0, 0x10FCB);\nexports.characters = set;\n","const set = require('regenerate')(0xD7, 0xF7, 0x374, 0x37E, 0x385, 0x387, 0x605, 0x6DD, 0x8E2, 0xE3F, 0x3004, 0x3012, 0x3020, 0x3036, 0x31EF, 0x327F, 0x33FF, 0xAB5B, 0xFEFF, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1F7F0, 0xE0001);\nset.addRange(0x0, 0x40).addRange(0x5B, 0x60).addRange(0x7B, 0xA9).addRange(0xAB, 0xB9).addRange(0xBB, 0xBF).addRange(0x2B9, 0x2DF).addRange(0x2E5, 0x2E9).addRange(0x2EC, 0x2FF).addRange(0xFD5, 0xFD8).addRange(0x16EB, 0x16ED).addRange(0x2000, 0x200B).addRange(0x200E, 0x202E).addRange(0x2030, 0x2064).addRange(0x2066, 0x2070).addRange(0x2074, 0x207E).addRange(0x2080, 0x208E).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x2125).addRange(0x2127, 0x2129).addRange(0x212C, 0x2131).addRange(0x2133, 0x214D).addRange(0x214F, 0x215F).addRange(0x2189, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x27FF).addRange(0x2900, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2E00, 0x2E42).addRange(0x2E44, 0x2E5D).addRange(0x2FF0, 0x3000).addRange(0x3248, 0x325F).addRange(0x32B1, 0x32BF).addRange(0x32CC, 0x32CF).addRange(0x3371, 0x337A).addRange(0x3380, 0x33DF).addRange(0x4DC0, 0x4DFF).addRange(0xA708, 0xA721).addRange(0xA788, 0xA78A).addRange(0xAB6A, 0xAB6B).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE44).addRange(0xFE47, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFF01, 0xFF20).addRange(0xFF3B, 0xFF40).addRange(0xFF5B, 0xFF60).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE);\nset.addRange(0xFFF9, 0xFFFD).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D166).addRange(0x1D16A, 0x1D17A).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D2C0, 0x1D2D3).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D372, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1EC71, 0x1ECB4).addRange(0x1ED01, 0x1ED3D).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F201, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DC, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F776);\nset.addRange(0x1F77B, 0x1F7D9).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0xE0020, 0xE007F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x3E2, 0x3EF).addRange(0x2C80, 0x2CF3).addRange(0x2CF9, 0x2CFF).addRange(0x102E0, 0x102FB);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543);\nexports.characters = set;\n","const set = require('regenerate')(0x10808, 0x1083C, 0x1083F);\nset.addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1013F).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10100, 0x10101).addRange(0x12F90, 0x12FF2);\nexports.characters = set;\n","const set = require('regenerate')(0x1D2B, 0x1D78, 0x1DF8, 0x2E43, 0x1E08F);\nset.addRange(0x400, 0x52F).addRange(0x1C80, 0x1C88).addRange(0x2DE0, 0x2DFF).addRange(0xA640, 0xA69F).addRange(0xFE2E, 0xFE2F).addRange(0x1E030, 0x1E06D);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10400, 0x1044F);\nexports.characters = set;\n","const set = require('regenerate')(0x20F0);\nset.addRange(0x900, 0x952).addRange(0x955, 0x97F).addRange(0x1CD0, 0x1CF6).addRange(0x1CF8, 0x1CF9).addRange(0xA830, 0xA839).addRange(0xA8E0, 0xA8FF).addRange(0x11B00, 0x11B09);\nexports.characters = set;\n","const set = require('regenerate')(0x11909);\nset.addRange(0x11900, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11946).addRange(0x11950, 0x11959);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x964, 0x96F).addRange(0xA830, 0xA839).addRange(0x11800, 0x1183B);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9C, 0x1BCA3);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x13000, 0x13455);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10500, 0x10527);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10FE0, 0x10FF6);\nexports.characters = set;\n","const set = require('regenerate')(0x1258, 0x12C0);\nset.addRange(0x1200, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x137C).addRange(0x1380, 0x1399).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE);\nexports.characters = set;\n","const set = require('regenerate')(0x10C7, 0x10CD, 0x2D27, 0x2D2D);\nset.addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FF).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x2D00, 0x2D25);\nexports.characters = set;\n","const set = require('regenerate')(0x484, 0x487, 0x2E43, 0xA66F);\nset.addRange(0x2C00, 0x2C5F).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10330, 0x1034A);\nexports.characters = set;\n","const set = require('regenerate')(0x1CD0, 0x20F0, 0x11350, 0x11357, 0x11FD3);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xBE6, 0xBF3).addRange(0x1CD2, 0x1CD3).addRange(0x1CF2, 0x1CF4).addRange(0x1CF8, 0x1CF9).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11FD0, 0x11FD1);\nexports.characters = set;\n","const set = require('regenerate')(0x342, 0x345, 0x37F, 0x384, 0x386, 0x38C, 0x1F59, 0x1F5B, 0x1F5D, 0x2126, 0xAB65, 0x101A0);\nset.addRange(0x370, 0x373).addRange(0x375, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3E1).addRange(0x3F0, 0x3FF).addRange(0x1D26, 0x1D2A).addRange(0x1D5D, 0x1D61).addRange(0x1D66, 0x1D6A).addRange(0x1DBF, 0x1DC1).addRange(0x1F00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE).addRange(0x10140, 0x1018E).addRange(0x1D200, 0x1D245);\nexports.characters = set;\n","const set = require('regenerate')(0xAD0);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAF1).addRange(0xAF9, 0xAFF).addRange(0xA830, 0xA839);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x964, 0x965).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9);\nexports.characters = set;\n","const set = require('regenerate')(0xA3C, 0xA51, 0xA5E);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA76).addRange(0xA830, 0xA839);\nexports.characters = set;\n","const set = require('regenerate')(0x3030, 0x30FB, 0x32FF);\nset.addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x3001, 0x3003).addRange(0x3005, 0x3011).addRange(0x3013, 0x301F).addRange(0x3021, 0x302D).addRange(0x3037, 0x303F).addRange(0x3190, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3220, 0x3247).addRange(0x3280, 0x32B0).addRange(0x32C0, 0x32CB).addRange(0x3358, 0x3370).addRange(0x337B, 0x337F).addRange(0x33E0, 0x33FE).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xA700, 0xA707).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65).addRange(0x16FE2, 0x16FE3).addRange(0x16FF0, 0x16FF1).addRange(0x1D360, 0x1D371).addRange(0x1F250, 0x1F251).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2EBF0, 0x2EE5D).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);\nexports.characters = set;\n","const set = require('regenerate')(0x3037, 0x30FB);\nset.addRange(0x1100, 0x11FF).addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x302E, 0x3030).addRange(0x3131, 0x318E).addRange(0x3200, 0x321E).addRange(0x3260, 0x327E).addRange(0xA960, 0xA97C).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC);\nexports.characters = set;\n","const set = require('regenerate')(0x60C, 0x61B, 0x61F, 0x640, 0x6D4);\nset.addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1720, 0x1736);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x108FF);\nexports.characters = set;\n","const set = require('regenerate')(0xFB3E);\nset.addRange(0x591, 0x5C7).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0xFB1D, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFB4F);\nexports.characters = set;\n","const set = require('regenerate')(0x3037, 0xFF70, 0x1B132, 0x1F200);\nset.addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x3030, 0x3035).addRange(0x303C, 0x303D).addRange(0x3041, 0x3096).addRange(0x3099, 0x30A0).addRange(0x30FB, 0x30FC).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65).addRange(0xFF9E, 0xFF9F).addRange(0x1B001, 0x1B11F).addRange(0x1B150, 0x1B152);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10840, 0x10855).addRange(0x10857, 0x1085F);\nexports.characters = set;\n","const set = require('regenerate')(0x1DF9, 0x101FD);\nset.addRange(0x300, 0x341).addRange(0x343, 0x344).addRange(0x346, 0x362).addRange(0x953, 0x954).addRange(0x1AB0, 0x1ACE).addRange(0x1DC2, 0x1DF7).addRange(0x1DFB, 0x1DFF).addRange(0x200C, 0x200D).addRange(0x20D0, 0x20EF).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2D).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0xE0100, 0xE01EF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10B60, 0x10B72).addRange(0x10B78, 0x10B7F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10B40, 0x10B55).addRange(0x10B58, 0x10B5F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xA980, 0xA9CD).addRange(0xA9CF, 0xA9D9).addRange(0xA9DE, 0xA9DF);\nexports.characters = set;\n","const set = require('regenerate')(0x110CD);\nset.addRange(0x966, 0x96F).addRange(0xA830, 0xA839).addRange(0x11080, 0x110C2);\nexports.characters = set;\n","const set = require('regenerate')(0x1CD0, 0x1CD2, 0x1CDA, 0x1CF2, 0x1CF4);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xC80, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF3).addRange(0xA830, 0xA835);\nexports.characters = set;\n","const set = require('regenerate')(0x3037, 0x1B000, 0x1B155);\nset.addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x3030, 0x3035).addRange(0x303C, 0x303D).addRange(0x3099, 0x309C).addRange(0x30A0, 0x30FF).addRange(0x31F0, 0x31FF).addRange(0x32D0, 0x32FE).addRange(0x3300, 0x3357).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF9F).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B120, 0x1B122).addRange(0x1B164, 0x1B167);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11F00, 0x11F10).addRange(0x11F12, 0x11F3A).addRange(0x11F3E, 0x11F59);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xA900, 0xA92F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A3F, 0x10A48).addRange(0x10A50, 0x10A58);\nexports.characters = set;\n","const set = require('regenerate')(0x16FE4);\nset.addRange(0x18B00, 0x18CD5);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1780, 0x17DD).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x19E0, 0x19FF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xAE6, 0xAEF).addRange(0xA830, 0xA839).addRange(0x11200, 0x11211).addRange(0x11213, 0x11241);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x964, 0x965).addRange(0xA830, 0xA839).addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9);\nexports.characters = set;\n","const set = require('regenerate')(0xE84, 0xEA5, 0xEC6);\nset.addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECE).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF);\nexports.characters = set;\n","const set = require('regenerate')(0xAA, 0xBA, 0x10FB, 0x202F, 0x2071, 0x207F, 0x20F0, 0x2132, 0x214E, 0xA7D3, 0xA92E);\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2B8).addRange(0x2E0, 0x2E4).addRange(0x363, 0x36F).addRange(0x485, 0x486).addRange(0x951, 0x952).addRange(0x1D00, 0x1D25).addRange(0x1D2C, 0x1D5C).addRange(0x1D62, 0x1D65).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1DBE).addRange(0x1E00, 0x1EFF).addRange(0x2090, 0x209C).addRange(0x212A, 0x212B).addRange(0x2160, 0x2188).addRange(0x2C60, 0x2C7F).addRange(0xA700, 0xA707).addRange(0xA722, 0xA787).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA7FF).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB64).addRange(0xAB66, 0xAB69).addRange(0xFB00, 0xFB06).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1C00, 0x1C37).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C4F);\nexports.characters = set;\n","const set = require('regenerate')(0x965, 0x1940);\nset.addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1944, 0x194F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10107, 0x10133).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1013F);\nexports.characters = set;\n","const set = require('regenerate')(0x11FB0);\nset.addRange(0xA4D0, 0xA4FF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10280, 0x1029C);\nexports.characters = set;\n","const set = require('regenerate')(0x1093F);\nset.addRange(0x10920, 0x10939);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x964, 0x96F).addRange(0xA830, 0xA839).addRange(0x11150, 0x11176);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11EE0, 0x11EF8);\nexports.characters = set;\n","const set = require('regenerate')(0x1CDA, 0x1CF2);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4F).addRange(0xD54, 0xD63).addRange(0xD66, 0xD7F).addRange(0xA830, 0xA832);\nexports.characters = set;\n","const set = require('regenerate')(0x640, 0x85E);\nset.addRange(0x840, 0x85B);\nexports.characters = set;\n","const set = require('regenerate')(0x640);\nset.addRange(0x10AC0, 0x10AE6).addRange(0x10AEB, 0x10AF6);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11C70, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6);\nexports.characters = set;\n","const set = require('regenerate')(0x11D3A);\nset.addRange(0x964, 0x965).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x16E40, 0x16E9A);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xAAE0, 0xAAF6).addRange(0xABC0, 0xABED).addRange(0xABF0, 0xABF9);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1E800, 0x1E8C4).addRange(0x1E8C7, 0x1E8D6);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x109A0, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x109FF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10980, 0x1099F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xA830, 0xA839).addRange(0x11600, 0x11644).addRange(0x11650, 0x11659);\nexports.characters = set;\n","const set = require('regenerate')(0x202F);\nset.addRange(0x1800, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x11660, 0x1166C);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16A6F);\nexports.characters = set;\n","const set = require('regenerate')(0x11288);\nset.addRange(0xA66, 0xA6F).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9);\nexports.characters = set;\n","const set = require('regenerate')(0xA92E);\nset.addRange(0x1000, 0x109F).addRange(0xA9E0, 0xA9FE).addRange(0xAA60, 0xAA7F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10880, 0x1089E).addRange(0x108A7, 0x108AF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1E4D0, 0x1E4F9);\nexports.characters = set;\n","const set = require('regenerate')(0x1CE9, 0x1CF2, 0x1CFA);\nset.addRange(0x964, 0x965).addRange(0xCE6, 0xCEF).addRange(0xA830, 0xA835).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E4);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x19DF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11400, 0x1145B).addRange(0x1145D, 0x11461);\nexports.characters = set;\n","const set = require('regenerate')(0x60C, 0x61B, 0x61F);\nset.addRange(0x7C0, 0x7FA).addRange(0x7FD, 0x7FF).addRange(0xFD3E, 0xFD3F);\nexports.characters = set;\n","const set = require('regenerate')(0x16FE1);\nset.addRange(0x1B170, 0x1B2FB);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1680, 0x169C);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1C50, 0x1C7F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10CFF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10300, 0x10323).addRange(0x1032D, 0x1032F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10A80, 0x10A9F);\nexports.characters = set;\n","const set = require('regenerate')(0x483);\nset.addRange(0x10350, 0x1037A);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103D5);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10F00, 0x10F27);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10A60, 0x10A7F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10C00, 0x10C48);\nexports.characters = set;\n","const set = require('regenerate')(0x640, 0x10AF2);\nset.addRange(0x10F70, 0x10F89);\nexports.characters = set;\n","const set = require('regenerate')(0x1CDA, 0x1CF2);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB77);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10480, 0x1049D).addRange(0x104A0, 0x104A9);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x16B00, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10860, 0x1087F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11AC0, 0x11AF8);\nexports.characters = set;\n","const set = require('regenerate')(0x1805);\nset.addRange(0x1802, 0x1803).addRange(0xA840, 0xA877);\nexports.characters = set;\n","const set = require('regenerate')(0x1091F);\nset.addRange(0x10900, 0x1091B);\nexports.characters = set;\n","const set = require('regenerate')(0x640);\nset.addRange(0x10B80, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF);\nexports.characters = set;\n","const set = require('regenerate')(0xA95F);\nset.addRange(0xA930, 0xA953);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x800, 0x82D).addRange(0x830, 0x83E);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xA880, 0xA8C5).addRange(0xA8CE, 0xA8D9);\nexports.characters = set;\n","const set = require('regenerate')(0x951, 0x1CD7, 0x1CD9, 0x1CE0, 0xA838);\nset.addRange(0x1CDC, 0x1CDD).addRange(0xA830, 0xA835).addRange(0x11180, 0x111DF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10450, 0x1047F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115DD);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1D800, 0x1DA8B).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF);\nexports.characters = set;\n","const set = require('regenerate')(0xDBD, 0xDCA, 0xDD6, 0x1CF2);\nset.addRange(0x964, 0x965).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0x111E1, 0x111F4);\nexports.characters = set;\n","const set = require('regenerate')(0x640);\nset.addRange(0x10F30, 0x10F59);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11A50, 0x11AA2);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1B80, 0x1BBF).addRange(0x1CC0, 0x1CC7);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x964, 0x965).addRange(0x9E6, 0x9EF).addRange(0xA800, 0xA82C);\nexports.characters = set;\n","const set = require('regenerate')(0x60C, 0x61F, 0x640, 0x670, 0x1DF8, 0x1DFA);\nset.addRange(0x61B, 0x61C).addRange(0x64B, 0x655).addRange(0x700, 0x70D).addRange(0x70F, 0x74A).addRange(0x74D, 0x74F).addRange(0x860, 0x86A);\nexports.characters = set;\n","const set = require('regenerate')(0x171F);\nset.addRange(0x1700, 0x1715).addRange(0x1735, 0x1736);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1735, 0x1736).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1040, 0x1049).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xAA80, 0xAAC2).addRange(0xAADB, 0xAADF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x964, 0x965).addRange(0xA830, 0xA839).addRange(0x11680, 0x116B9).addRange(0x116C0, 0x116C9);\nexports.characters = set;\n","const set = require('regenerate')(0xB9C, 0xBD0, 0xBD7, 0x1CDA, 0xA8F3, 0x11301, 0x11303, 0x11FFF);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBFA).addRange(0x1133B, 0x1133C).addRange(0x11FC0, 0x11FF1);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9);\nexports.characters = set;\n","const set = require('regenerate')(0x16FE0);\nset.addRange(0x17000, 0x187F7).addRange(0x18800, 0x18AFF).addRange(0x18D00, 0x18D08);\nexports.characters = set;\n","const set = require('regenerate')(0xC5D, 0x1CDA, 0x1CF2);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC77, 0xC7F);\nexports.characters = set;\n","const set = require('regenerate')(0x60C, 0x61F, 0xFDF2, 0xFDFD);\nset.addRange(0x61B, 0x61C).addRange(0x660, 0x669).addRange(0x780, 0x7B1);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xE01, 0xE3A).addRange(0xE40, 0xE5B);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xF00, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF97).addRange(0xF99, 0xFBC).addRange(0xFBE, 0xFCC).addRange(0xFCE, 0xFD4).addRange(0xFD9, 0xFDA);\nexports.characters = set;\n","const set = require('regenerate')(0x2D7F);\nset.addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70);\nexports.characters = set;\n","const set = require('regenerate')(0x1CF2);\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xA830, 0xA839).addRange(0x11480, 0x114C7).addRange(0x114D0, 0x114D9);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1E290, 0x1E2AE);\nexports.characters = set;\n","const set = require('regenerate')(0x1039F);\nset.addRange(0x10380, 0x1039D);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xA500, 0xA62B);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC);\nexports.characters = set;\n","const set = require('regenerate')(0x1E2FF);\nset.addRange(0x1E2C0, 0x1E2F9);\nexports.characters = set;\n","const set = require('regenerate')(0x118FF);\nset.addRange(0x118A0, 0x118F2);\nexports.characters = set;\n","const set = require('regenerate')(0x60C, 0x61B, 0x61F);\nset.addRange(0x660, 0x669).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAD).addRange(0x10EB0, 0x10EB1);\nexports.characters = set;\n","const set = require('regenerate')(0x30FB);\nset.addRange(0x3001, 0x3002).addRange(0x3008, 0x3011).addRange(0x3014, 0x301B).addRange(0xA000, 0xA48C).addRange(0xA490, 0xA4C6).addRange(0xFF61, 0xFF65);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11A00, 0x11A47);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11746);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x14400, 0x14646);\nexports.characters = set;\n","const set = require('regenerate')(0xFDCF, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\nset.addRange(0x600, 0x604).addRange(0x606, 0x60B).addRange(0x60D, 0x61A).addRange(0x61C, 0x61E).addRange(0x620, 0x63F).addRange(0x641, 0x64A).addRange(0x656, 0x66F).addRange(0x671, 0x6DC).addRange(0x6DE, 0x6FF).addRange(0x750, 0x77F).addRange(0x870, 0x88E).addRange(0x890, 0x891).addRange(0x898, 0x8E1).addRange(0x8E3, 0x8FF).addRange(0xFB50, 0xFBC2).addRange(0xFBD3, 0xFD3D).addRange(0xFD40, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFF).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0x10E60, 0x10E7E).addRange(0x10EFD, 0x10EFF).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0xFB13, 0xFB17);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B3F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B7E);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xA6A0, 0xA6F7).addRange(0x16800, 0x16A38);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF5);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1BC0, 0x1BF3).addRange(0x1BFC, 0x1BFF);\nexports.characters = set;\n","const set = require('regenerate')(0x9B2, 0x9D7);\nset.addRange(0x980, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9FE);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C45).addRange(0x11C50, 0x11C6C);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x2EA, 0x2EB).addRange(0x3105, 0x312F).addRange(0x31A0, 0x31BF);\nexports.characters = set;\n","const set = require('regenerate')(0x1107F);\nset.addRange(0x11000, 0x1104D).addRange(0x11052, 0x11075);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x2800, 0x28FF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1A00, 0x1A1B).addRange(0x1A1E, 0x1A1F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1740, 0x1753);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1400, 0x167F).addRange(0x18B0, 0x18F5).addRange(0x11AB0, 0x11ABF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x102A0, 0x102D0);\nexports.characters = set;\n","const set = require('regenerate')(0x1056F);\nset.addRange(0x10530, 0x10563);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11100, 0x11134).addRange(0x11136, 0x11147);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAA5F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0xAB70, 0xABBF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10FB0, 0x10FCB);\nexports.characters = set;\n","const set = require('regenerate')(0xD7, 0xF7, 0x374, 0x37E, 0x385, 0x387, 0x605, 0x60C, 0x61B, 0x61F, 0x640, 0x6DD, 0x8E2, 0xE3F, 0x10FB, 0x1805, 0x1CD3, 0x1CE1, 0x1CFA, 0x3006, 0x30A0, 0x31EF, 0x32FF, 0xA92E, 0xA9CF, 0xAB5B, 0xFEFF, 0xFF70, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1F7F0, 0xE0001);\nset.addRange(0x0, 0x40).addRange(0x5B, 0x60).addRange(0x7B, 0xA9).addRange(0xAB, 0xB9).addRange(0xBB, 0xBF).addRange(0x2B9, 0x2DF).addRange(0x2E5, 0x2E9).addRange(0x2EC, 0x2FF).addRange(0x964, 0x965).addRange(0xFD5, 0xFD8).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x1802, 0x1803).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF7).addRange(0x2000, 0x200B).addRange(0x200E, 0x2064).addRange(0x2066, 0x2070).addRange(0x2074, 0x207E).addRange(0x2080, 0x208E).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x2125).addRange(0x2127, 0x2129).addRange(0x212C, 0x2131).addRange(0x2133, 0x214D).addRange(0x214F, 0x215F).addRange(0x2189, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x27FF).addRange(0x2900, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2E00, 0x2E5D).addRange(0x2FF0, 0x3004).addRange(0x3008, 0x3020).addRange(0x3030, 0x3037).addRange(0x303C, 0x303F).addRange(0x309B, 0x309C).addRange(0x30FB, 0x30FC).addRange(0x3190, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3220, 0x325F).addRange(0x327F, 0x32CF).addRange(0x3358, 0x33FF).addRange(0x4DC0, 0x4DFF).addRange(0xA700, 0xA721).addRange(0xA788, 0xA78A).addRange(0xA830, 0xA839).addRange(0xAB6A, 0xAB6B);\nset.addRange(0xFD3E, 0xFD3F).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFF01, 0xFF20).addRange(0xFF3B, 0xFF40).addRange(0xFF5B, 0xFF65).addRange(0xFF9E, 0xFF9F).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFF9, 0xFFFD).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1013F).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x102E1, 0x102FB).addRange(0x1BCA0, 0x1BCA3).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D166).addRange(0x1D16A, 0x1D17A).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D2C0, 0x1D2D3).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D360, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1EC71, 0x1ECB4).addRange(0x1ED01, 0x1ED3D);\nset.addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F201, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DC, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F776).addRange(0x1F77B, 0x1F7D9).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0xE0020, 0xE007F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x3E2, 0x3EF).addRange(0x2C80, 0x2CF3).addRange(0x2CF9, 0x2CFF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543);\nexports.characters = set;\n","const set = require('regenerate')(0x10808, 0x1083C, 0x1083F);\nset.addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x12F90, 0x12FF2);\nexports.characters = set;\n","const set = require('regenerate')(0x1D2B, 0x1D78, 0x1E08F);\nset.addRange(0x400, 0x484).addRange(0x487, 0x52F).addRange(0x1C80, 0x1C88).addRange(0x2DE0, 0x2DFF).addRange(0xA640, 0xA69F).addRange(0xFE2E, 0xFE2F).addRange(0x1E030, 0x1E06D);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10400, 0x1044F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x900, 0x950).addRange(0x955, 0x963).addRange(0x966, 0x97F).addRange(0xA8E0, 0xA8FF).addRange(0x11B00, 0x11B09);\nexports.characters = set;\n","const set = require('regenerate')(0x11909);\nset.addRange(0x11900, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11946).addRange(0x11950, 0x11959);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11800, 0x1183B);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9C, 0x1BC9F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x13000, 0x13455);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10500, 0x10527);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10FE0, 0x10FF6);\nexports.characters = set;\n","const set = require('regenerate')(0x1258, 0x12C0);\nset.addRange(0x1200, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x137C).addRange(0x1380, 0x1399).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE);\nexports.characters = set;\n","const set = require('regenerate')(0x10C7, 0x10CD, 0x2D27, 0x2D2D);\nset.addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x10FF).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x2D00, 0x2D25);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x2C00, 0x2C5F).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10330, 0x1034A);\nexports.characters = set;\n","const set = require('regenerate')(0x11350, 0x11357);\nset.addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133C, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374);\nexports.characters = set;\n","const set = require('regenerate')(0x37F, 0x384, 0x386, 0x38C, 0x1DBF, 0x1F59, 0x1F5B, 0x1F5D, 0x2126, 0xAB65, 0x101A0);\nset.addRange(0x370, 0x373).addRange(0x375, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3E1).addRange(0x3F0, 0x3FF).addRange(0x1D26, 0x1D2A).addRange(0x1D5D, 0x1D61).addRange(0x1D66, 0x1D6A).addRange(0x1F00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE).addRange(0x10140, 0x1018E).addRange(0x1D200, 0x1D245);\nexports.characters = set;\n","const set = require('regenerate')(0xAD0);\nset.addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAF1).addRange(0xAF9, 0xAFF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9);\nexports.characters = set;\n","const set = require('regenerate')(0xA3C, 0xA51, 0xA5E);\nset.addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA76);\nexports.characters = set;\n","const set = require('regenerate')(0x3005, 0x3007);\nset.addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x3021, 0x3029).addRange(0x3038, 0x303B).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0x16FE2, 0x16FE3).addRange(0x16FF0, 0x16FF1).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B739).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2EBF0, 0x2EE5D).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0x31350, 0x323AF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1100, 0x11FF).addRange(0x302E, 0x302F).addRange(0x3131, 0x318E).addRange(0x3200, 0x321E).addRange(0x3260, 0x327E).addRange(0xA960, 0xA97C).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1720, 0x1734);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x108FF);\nexports.characters = set;\n","const set = require('regenerate')(0xFB3E);\nset.addRange(0x591, 0x5C7).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0xFB1D, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFB4F);\nexports.characters = set;\n","const set = require('regenerate')(0x1B132, 0x1F200);\nset.addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x1B001, 0x1B11F).addRange(0x1B150, 0x1B152);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10840, 0x10855).addRange(0x10857, 0x1085F);\nexports.characters = set;\n","const set = require('regenerate')(0x670, 0x1CED, 0x1CF4, 0x101FD, 0x102E0, 0x1133B);\nset.addRange(0x300, 0x36F).addRange(0x485, 0x486).addRange(0x64B, 0x655).addRange(0x951, 0x954).addRange(0x1AB0, 0x1ACE).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE0).addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x200C, 0x200D).addRange(0x20D0, 0x20F0).addRange(0x302A, 0x302D).addRange(0x3099, 0x309A).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2D).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0xE0100, 0xE01EF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10B60, 0x10B72).addRange(0x10B78, 0x10B7F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10B40, 0x10B55).addRange(0x10B58, 0x10B5F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xA980, 0xA9CD).addRange(0xA9D0, 0xA9D9).addRange(0xA9DE, 0xA9DF);\nexports.characters = set;\n","const set = require('regenerate')(0x110CD);\nset.addRange(0x11080, 0x110C2);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xC80, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF3);\nexports.characters = set;\n","const set = require('regenerate')(0x1B000, 0x1B155);\nset.addRange(0x30A1, 0x30FA).addRange(0x30FD, 0x30FF).addRange(0x31F0, 0x31FF).addRange(0x32D0, 0x32FE).addRange(0x3300, 0x3357).addRange(0xFF66, 0xFF6F).addRange(0xFF71, 0xFF9D).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B120, 0x1B122).addRange(0x1B164, 0x1B167);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11F00, 0x11F10).addRange(0x11F12, 0x11F3A).addRange(0x11F3E, 0x11F59);\nexports.characters = set;\n","const set = require('regenerate')(0xA92F);\nset.addRange(0xA900, 0xA92D);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A3F, 0x10A48).addRange(0x10A50, 0x10A58);\nexports.characters = set;\n","const set = require('regenerate')(0x16FE4);\nset.addRange(0x18B00, 0x18CD5);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1780, 0x17DD).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x19E0, 0x19FF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11200, 0x11211).addRange(0x11213, 0x11241);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9);\nexports.characters = set;\n","const set = require('regenerate')(0xE84, 0xEA5, 0xEC6);\nset.addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECE).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF);\nexports.characters = set;\n","const set = require('regenerate')(0xAA, 0xBA, 0x2071, 0x207F, 0x2132, 0x214E, 0xA7D3);\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2B8).addRange(0x2E0, 0x2E4).addRange(0x1D00, 0x1D25).addRange(0x1D2C, 0x1D5C).addRange(0x1D62, 0x1D65).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1DBE).addRange(0x1E00, 0x1EFF).addRange(0x2090, 0x209C).addRange(0x212A, 0x212B).addRange(0x2160, 0x2188).addRange(0x2C60, 0x2C7F).addRange(0xA722, 0xA787).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA7FF).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB64).addRange(0xAB66, 0xAB69).addRange(0xFB00, 0xFB06).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x1DF00, 0x1DF1E).addRange(0x1DF25, 0x1DF2A);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1C00, 0x1C37).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C4F);\nexports.characters = set;\n","const set = require('regenerate')(0x1940);\nset.addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1944, 0x194F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA);\nexports.characters = set;\n","const set = require('regenerate')(0x11FB0);\nset.addRange(0xA4D0, 0xA4FF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10280, 0x1029C);\nexports.characters = set;\n","const set = require('regenerate')(0x1093F);\nset.addRange(0x10920, 0x10939);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11150, 0x11176);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11EE0, 0x11EF8);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4F).addRange(0xD54, 0xD63).addRange(0xD66, 0xD7F);\nexports.characters = set;\n","const set = require('regenerate')(0x85E);\nset.addRange(0x840, 0x85B);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10AC0, 0x10AE6).addRange(0x10AEB, 0x10AF6);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11C70, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6);\nexports.characters = set;\n","const set = require('regenerate')(0x11D3A);\nset.addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x16E40, 0x16E9A);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xAAE0, 0xAAF6).addRange(0xABC0, 0xABED).addRange(0xABF0, 0xABF9);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1E800, 0x1E8C4).addRange(0x1E8C7, 0x1E8D6);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x109A0, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x109FF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10980, 0x1099F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11600, 0x11644).addRange(0x11650, 0x11659);\nexports.characters = set;\n","const set = require('regenerate')(0x1804);\nset.addRange(0x1800, 0x1801).addRange(0x1806, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x11660, 0x1166C);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16A6F);\nexports.characters = set;\n","const set = require('regenerate')(0x11288);\nset.addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1000, 0x109F).addRange(0xA9E0, 0xA9FE).addRange(0xAA60, 0xAA7F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10880, 0x1089E).addRange(0x108A7, 0x108AF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1E4D0, 0x1E4F9);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E4);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x19DF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11400, 0x1145B).addRange(0x1145D, 0x11461);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x7C0, 0x7FA).addRange(0x7FD, 0x7FF);\nexports.characters = set;\n","const set = require('regenerate')(0x16FE1);\nset.addRange(0x1B170, 0x1B2FB);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1680, 0x169C);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1C50, 0x1C7F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10CFF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10300, 0x10323).addRange(0x1032D, 0x1032F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10A80, 0x10A9F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10350, 0x1037A);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103D5);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10F00, 0x10F27);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10A60, 0x10A7F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10C00, 0x10C48);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10F70, 0x10F89);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB77);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10480, 0x1049D).addRange(0x104A0, 0x104A9);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x16B00, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10860, 0x1087F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11AC0, 0x11AF8);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xA840, 0xA877);\nexports.characters = set;\n","const set = require('regenerate')(0x1091F);\nset.addRange(0x10900, 0x1091B);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10B80, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF);\nexports.characters = set;\n","const set = require('regenerate')(0xA95F);\nset.addRange(0xA930, 0xA953);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x800, 0x82D).addRange(0x830, 0x83E);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xA880, 0xA8C5).addRange(0xA8CE, 0xA8D9);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11180, 0x111DF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10450, 0x1047F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115DD);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1D800, 0x1DA8B).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF);\nexports.characters = set;\n","const set = require('regenerate')(0xDBD, 0xDCA, 0xDD6);\nset.addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0x111E1, 0x111F4);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10F30, 0x10F59);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11A50, 0x11AA2);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1B80, 0x1BBF).addRange(0x1CC0, 0x1CC7);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xA800, 0xA82C);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x700, 0x70D).addRange(0x70F, 0x74A).addRange(0x74D, 0x74F).addRange(0x860, 0x86A);\nexports.characters = set;\n","const set = require('regenerate')(0x171F);\nset.addRange(0x1700, 0x1715);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1950, 0x196D).addRange(0x1970, 0x1974);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xAA80, 0xAAC2).addRange(0xAADB, 0xAADF);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11680, 0x116B9).addRange(0x116C0, 0x116C9);\nexports.characters = set;\n","const set = require('regenerate')(0xB9C, 0xBD0, 0xBD7, 0x11FFF);\nset.addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBFA).addRange(0x11FC0, 0x11FF1);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9);\nexports.characters = set;\n","const set = require('regenerate')(0x16FE0);\nset.addRange(0x17000, 0x187F7).addRange(0x18800, 0x18AFF).addRange(0x18D00, 0x18D08);\nexports.characters = set;\n","const set = require('regenerate')(0xC5D);\nset.addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC77, 0xC7F);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x780, 0x7B1);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xE01, 0xE3A).addRange(0xE40, 0xE5B);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xF00, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF97).addRange(0xF99, 0xFBC).addRange(0xFBE, 0xFCC).addRange(0xFCE, 0xFD4).addRange(0xFD9, 0xFDA);\nexports.characters = set;\n","const set = require('regenerate')(0x2D7F);\nset.addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11480, 0x114C7).addRange(0x114D0, 0x114D9);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x1E290, 0x1E2AE);\nexports.characters = set;\n","const set = require('regenerate')(0x1039F);\nset.addRange(0x10380, 0x1039D);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xA500, 0xA62B);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC);\nexports.characters = set;\n","const set = require('regenerate')(0x1E2FF);\nset.addRange(0x1E2C0, 0x1E2F9);\nexports.characters = set;\n","const set = require('regenerate')(0x118FF);\nset.addRange(0x118A0, 0x118F2);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAD).addRange(0x10EB0, 0x10EB1);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0xA000, 0xA48C).addRange(0xA490, 0xA4C6);\nexports.characters = set;\n","const set = require('regenerate')();\nset.addRange(0x11A00, 0x11A47);\nexports.characters = set;\n","module.exports = '15.1.0';\n","/*!\n * regjsgen 0.5.2\n * Copyright 2014-2020 Benjamin Tan \n * Available under the MIT license \n */\n;(function() {\n 'use strict';\n\n // Used to determine if values are of the language type `Object`.\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n // Used as a reference to the global object.\n var root = (objectTypes[typeof window] && window) || this;\n\n // Detect free variable `exports`.\n var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports;\n\n // Detect free variable `module`.\n var hasFreeModule = objectTypes[typeof module] && module && !module.nodeType;\n\n // Detect free variable `global` from Node.js or Browserified code and use it as `root`.\n var freeGlobal = freeExports && hasFreeModule && typeof global == 'object' && global;\n if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) {\n root = freeGlobal;\n }\n\n // Used to check objects for own properties.\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n\n /*--------------------------------------------------------------------------*/\n\n // Generates a string based on the given code point.\n // Based on https://mths.be/fromcodepoint by @mathias.\n function fromCodePoint() {\n var codePoint = Number(arguments[0]);\n\n if (\n !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10FFFF || // not a valid Unicode code point\n Math.floor(codePoint) != codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint);\n }\n\n if (codePoint <= 0xFFFF) {\n // BMP code point\n return String.fromCharCode(codePoint);\n } else {\n // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000;\n var highSurrogate = (codePoint >> 10) + 0xD800;\n var lowSurrogate = (codePoint % 0x400) + 0xDC00;\n return String.fromCharCode(highSurrogate, lowSurrogate);\n }\n }\n\n /*--------------------------------------------------------------------------*/\n\n // Ensures that nodes have the correct types.\n var assertTypeRegexMap = {};\n function assertType(type, expected) {\n if (expected.indexOf('|') == -1) {\n if (type == expected) {\n return;\n }\n\n throw Error('Invalid node type: ' + type + '; expected type: ' + expected);\n }\n\n expected = hasOwnProperty.call(assertTypeRegexMap, expected)\n ? assertTypeRegexMap[expected]\n : (assertTypeRegexMap[expected] = RegExp('^(?:' + expected + ')$'));\n\n if (expected.test(type)) {\n return;\n }\n\n throw Error('Invalid node type: ' + type + '; expected types: ' + expected);\n }\n\n /*--------------------------------------------------------------------------*/\n\n // Generates a regular expression string based on an AST.\n function generate(node) {\n var type = node.type;\n\n if (hasOwnProperty.call(generators, type)) {\n return generators[type](node);\n }\n\n throw Error('Invalid node type: ' + type);\n }\n\n // Constructs a string by concatentating the output of each term.\n function generateSequence(generator, terms, /* optional */ separator) {\n var i = -1,\n length = terms.length,\n result = '',\n term;\n\n while (++i < length) {\n term = terms[i];\n\n if (separator && i > 0) result += separator;\n\n // Ensure that `\\0` null escapes followed by number symbols are not\n // treated as backreferences.\n if (\n i + 1 < length &&\n terms[i].type == 'value' &&\n terms[i].kind == 'null' &&\n terms[i + 1].type == 'value' &&\n terms[i + 1].kind == 'symbol' &&\n terms[i + 1].codePoint >= 48 &&\n terms[i + 1].codePoint <= 57\n ) {\n result += '\\\\000';\n continue;\n }\n\n result += generator(term);\n }\n\n return result;\n }\n\n /*--------------------------------------------------------------------------*/\n\n function generateAlternative(node) {\n assertType(node.type, 'alternative');\n\n return generateSequence(generateTerm, node.body);\n }\n\n function generateAnchor(node) {\n assertType(node.type, 'anchor');\n\n switch (node.kind) {\n case 'start':\n return '^';\n case 'end':\n return '$';\n case 'boundary':\n return '\\\\b';\n case 'not-boundary':\n return '\\\\B';\n default:\n throw Error('Invalid assertion');\n }\n }\n\n var atomType = 'anchor|characterClass|characterClassEscape|dot|group|reference|unicodePropertyEscape|value';\n\n function generateAtom(node) {\n assertType(node.type, atomType);\n\n return generate(node);\n }\n\n function generateCharacterClass(node) {\n assertType(node.type, 'characterClass');\n\n var kind = node.kind;\n var separator = kind === 'intersection' ? '&&' : kind === 'subtraction' ? '--' : '';\n\n return '[' +\n (node.negative ? '^' : '') +\n generateSequence(generateClassAtom, node.body, separator) +\n ']';\n }\n\n function generateCharacterClassEscape(node) {\n assertType(node.type, 'characterClassEscape');\n\n return '\\\\' + node.value;\n }\n\n function generateCharacterClassRange(node) {\n assertType(node.type, 'characterClassRange');\n\n var min = node.min,\n max = node.max;\n\n if (min.type == 'characterClassRange' || max.type == 'characterClassRange') {\n throw Error('Invalid character class range');\n }\n\n return generateClassAtom(min) + '-' + generateClassAtom(max);\n }\n\n function generateClassAtom(node) {\n assertType(node.type, 'anchor|characterClass|characterClassEscape|characterClassRange|dot|value|unicodePropertyEscape|classStrings');\n\n return generate(node);\n }\n\n function generateClassStrings(node) {\n assertType(node.type, 'classStrings');\n\n return '\\\\q{' + generateSequence(generateClassString, node.strings, '|') + '}';\n }\n\n function generateClassString(node) {\n assertType(node.type, 'classString');\n\n return generateSequence(generate, node.characters);\n }\n\n function generateDisjunction(node) {\n assertType(node.type, 'disjunction');\n\n return generateSequence(generate, node.body, '|');\n }\n\n\n function generateDot(node) {\n assertType(node.type, 'dot');\n\n return '.';\n }\n\n function generateGroup(node) {\n assertType(node.type, 'group');\n\n var result = '';\n\n switch (node.behavior) {\n case 'normal':\n if (node.name) {\n result += '?<' + generateIdentifier(node.name) + '>';\n }\n break;\n case 'ignore':\n if (node.modifierFlags) {\n result += '?';\n if(node.modifierFlags.enabling) result += node.modifierFlags.enabling;\n if(node.modifierFlags.disabling) result += \"-\" + node.modifierFlags.disabling;\n result += ':';\n } else {\n result += '?:';\n }\n break;\n case 'lookahead':\n result += '?=';\n break;\n case 'negativeLookahead':\n result += '?!';\n break;\n case 'lookbehind':\n result += '?<=';\n break;\n case 'negativeLookbehind':\n result += '?';\n }\n\n throw new Error('Unknown reference type');\n }\n\n function generateTerm(node) {\n assertType(node.type, atomType + '|empty|quantifier');\n\n return generate(node);\n }\n\n function generateUnicodePropertyEscape(node) {\n assertType(node.type, 'unicodePropertyEscape');\n\n return '\\\\' + (node.negative ? 'P' : 'p') + '{' + node.value + '}';\n }\n\n function generateValue(node) {\n assertType(node.type, 'value');\n\n var kind = node.kind,\n codePoint = node.codePoint;\n\n if (typeof codePoint != 'number') {\n throw new Error('Invalid code point: ' + codePoint);\n }\n\n switch (kind) {\n case 'controlLetter':\n return '\\\\c' + fromCodePoint(codePoint + 64);\n case 'hexadecimalEscape':\n return '\\\\x' + ('00' + codePoint.toString(16).toUpperCase()).slice(-2);\n case 'identifier':\n return '\\\\' + fromCodePoint(codePoint);\n case 'null':\n return '\\\\' + codePoint;\n case 'octal':\n return '\\\\' + ('000' + codePoint.toString(8)).slice(-3);\n case 'singleEscape':\n switch (codePoint) {\n case 0x0008:\n return '\\\\b';\n case 0x0009:\n return '\\\\t';\n case 0x000A:\n return '\\\\n';\n case 0x000B:\n return '\\\\v';\n case 0x000C:\n return '\\\\f';\n case 0x000D:\n return '\\\\r';\n case 0x002D:\n return '\\\\-';\n default:\n throw Error('Invalid code point: ' + codePoint);\n }\n case 'symbol':\n return fromCodePoint(codePoint);\n case 'unicodeEscape':\n return '\\\\u' + ('0000' + codePoint.toString(16).toUpperCase()).slice(-4);\n case 'unicodeCodePointEscape':\n return '\\\\u{' + codePoint.toString(16).toUpperCase() + '}';\n default:\n throw Error('Unsupported node kind: ' + kind);\n }\n }\n\n /*--------------------------------------------------------------------------*/\n\n // Used to generate strings for each node type.\n var generators = {\n 'alternative': generateAlternative,\n 'anchor': generateAnchor,\n 'characterClass': generateCharacterClass,\n 'characterClassEscape': generateCharacterClassEscape,\n 'characterClassRange': generateCharacterClassRange,\n 'classStrings': generateClassStrings,\n 'disjunction': generateDisjunction,\n 'dot': generateDot,\n 'group': generateGroup,\n 'quantifier': generateQuantifier,\n 'reference': generateReference,\n 'unicodePropertyEscape': generateUnicodePropertyEscape,\n 'value': generateValue\n };\n\n /*--------------------------------------------------------------------------*/\n\n // Export regjsgen.\n var regjsgen = {\n 'generate': generate\n };\n\n // Some AMD build optimizers, like r.js, check for condition patterns like the following:\n if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n // Define as an anonymous module so it can be aliased through path mapping.\n define(function() {\n return regjsgen;\n });\n\n root.regjsgen = regjsgen;\n }\n // Check for `exports` after `define` in case a build optimizer adds an `exports` object.\n else if (freeExports && hasFreeModule) {\n // Export for CommonJS support.\n freeExports.generate = generate;\n }\n else {\n // Export to the global object.\n root.regjsgen = regjsgen;\n }\n}.call(this));\n","// regjsparser\n//\n// ==================================================================\n//\n// See ECMA-262 Standard: 15.10.1\n//\n// NOTE: The ECMA-262 standard uses the term \"Assertion\" for /^/. Here the\n// term \"Anchor\" is used.\n//\n// Pattern ::\n// Disjunction\n//\n// Disjunction ::\n// Alternative\n// Alternative | Disjunction\n//\n// Alternative ::\n// [empty]\n// Alternative Term\n//\n// Term ::\n// Anchor\n// Atom\n// Atom Quantifier\n//\n// Anchor ::\n// ^\n// $\n// \\ b\n// \\ B\n// ( ? = Disjunction )\n// ( ? ! Disjunction )\n// ( ? < = Disjunction )\n// ( ? < ! Disjunction )\n//\n// Quantifier ::\n// QuantifierPrefix\n// QuantifierPrefix ?\n//\n// QuantifierPrefix ::\n// *\n// +\n// ?\n// { DecimalDigits }\n// { DecimalDigits , }\n// { DecimalDigits , DecimalDigits }\n//\n// Atom ::\n// PatternCharacter\n// .\n// \\ AtomEscape\n// CharacterClass\n// ( GroupSpecifier Disjunction )\n// ( ? : Disjunction )\n//\n// PatternCharacter ::\n// SourceCharacter but not any of: ^ $ \\ . * + ? ( ) [ ] { } |\n//\n// AtomEscape ::\n// DecimalEscape\n// CharacterClassEscape\n// CharacterEscape\n// k GroupName\n//\n// CharacterEscape[U] ::\n// ControlEscape\n// c ControlLetter\n// HexEscapeSequence\n// RegExpUnicodeEscapeSequence[?U] (ES6)\n// IdentityEscape[?U]\n//\n// ControlEscape ::\n// one of f n r t v\n// ControlLetter ::\n// one of\n// a b c d e f g h i j k l m n o p q r s t u v w x y z\n// A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\n//\n// IdentityEscape ::\n// SourceCharacter but not c\n//\n// DecimalEscape ::\n// DecimalIntegerLiteral [lookahead ∉ DecimalDigit]\n//\n// CharacterClassEscape ::\n// one of d D s S w W\n//\n// CharacterClass ::\n// [ [lookahead ∉ {^}] ClassRanges ]\n// [ ^ ClassRanges ]\n//\n// ClassRanges ::\n// [empty]\n// [~V] NonemptyClassRanges\n// [+V] ClassContents\n//\n// NonemptyClassRanges ::\n// ClassAtom\n// ClassAtom NonemptyClassRangesNoDash\n// ClassAtom - ClassAtom ClassRanges\n//\n// NonemptyClassRangesNoDash ::\n// ClassAtom\n// ClassAtomNoDash NonemptyClassRangesNoDash\n// ClassAtomNoDash - ClassAtom ClassRanges\n//\n// ClassAtom ::\n// -\n// ClassAtomNoDash\n//\n// ClassAtomNoDash ::\n// SourceCharacter but not one of \\ or ] or -\n// \\ ClassEscape\n//\n// ClassEscape ::\n// DecimalEscape\n// b\n// CharacterEscape\n// CharacterClassEscape\n//\n// GroupSpecifier ::\n// [empty]\n// ? GroupName\n//\n// GroupName ::\n// < RegExpIdentifierName >\n//\n// RegExpIdentifierName ::\n// RegExpIdentifierStart\n// RegExpIdentifierName RegExpIdentifierContinue\n//\n// RegExpIdentifierStart ::\n// UnicodeIDStart\n// $\n// _\n// \\ RegExpUnicodeEscapeSequence\n//\n// RegExpIdentifierContinue ::\n// UnicodeIDContinue\n// $\n// _\n// \\ RegExpUnicodeEscapeSequence\n// \n// \n//\n// --------------------------------------------------------------\n// NOTE: The following productions refer to the \"set notation and\n// properties of strings\" proposal.\n// https://github.com/tc39/proposal-regexp-set-notation\n// --------------------------------------------------------------\n//\n// ClassContents ::\n// ClassUnion\n// ClassIntersection\n// ClassSubtraction\n//\n// ClassUnion ::\n// ClassRange ClassUnion?\n// ClassOperand ClassUnion?\n//\n// ClassIntersection ::\n// ClassOperand && [lookahead ≠ &] ClassOperand\n// ClassIntersection && [lookahead ≠ &] ClassOperand\n//\n// ClassSubtraction ::\n// ClassOperand -- ClassOperand\n// ClassSubtraction -- ClassOperand\n//\n// ClassOperand ::\n// ClassCharacter\n// ClassStrings\n// NestedClass\n//\n// NestedClass ::\n// [ [lookahead ≠ ^] ClassRanges[+U,+V] ]\n// [ ^ ClassRanges[+U,+V] ]\n// \\ CharacterClassEscape[+U, +V]\n//\n// ClassRange ::\n// ClassCharacter - ClassCharacter\n//\n// ClassCharacter ::\n// [lookahead ∉ ClassReservedDouble] SourceCharacter but not ClassSyntaxCharacter\n// \\ CharacterEscape[+U]\n// \\ ClassHalfOfDouble\n// \\ b\n//\n// ClassSyntaxCharacter ::\n// one of ( ) [ ] { } / - \\ |\n//\n// ClassStrings ::\n// ( ClassString MoreClassStrings? )\n//\n// MoreClassStrings ::\n// | ClassString MoreClassStrings?\n//\n// ClassString ::\n// [empty]\n// NonEmptyClassString\n//\n// NonEmptyClassString ::\n// ClassCharacter NonEmptyClassString?\n//\n// ClassReservedDouble ::\n// one of && !! ## $$ %% ** ++ ,, .. :: ;; << == >> ?? @@ ^^ __ `` ~~\n//\n// ClassHalfOfDouble ::\n// one of & - ! # % , : ; < = > @ _ ` ~\n//\n// --------------------------------------------------------------\n// NOTE: The following productions refer to the\n// \"Regular Expression Pattern Modifiers for ECMAScript\" proposal.\n// https://github.com/tc39/proposal-regexp-modifiers\n// --------------------------------------------------------------\n//\n// Atom ::\n// ( ? RegularExpressionFlags : Disjunction )\n// ( ? RegularExpressionFlags - RegularExpressionFlags : Disjunction )\n//\n\n\"use strict\";\n(function() {\n\n var fromCodePoint = String.fromCodePoint || (function() {\n // Implementation taken from\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint\n\n var stringFromCharCode = String.fromCharCode;\n var floor = Math.floor;\n\n return function fromCodePoint() {\n var MAX_SIZE = 0x4000;\n var codeUnits = [];\n var highSurrogate;\n var lowSurrogate;\n var index = -1;\n var length = arguments.length;\n if (!length) {\n return '';\n }\n var result = '';\n while (++index < length) {\n var codePoint = Number(arguments[index]);\n if (\n !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10FFFF || // not a valid Unicode code point\n floor(codePoint) != codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint);\n }\n if (codePoint <= 0xFFFF) { // BMP code point\n codeUnits.push(codePoint);\n } else { // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000;\n highSurrogate = (codePoint >> 10) + 0xD800;\n lowSurrogate = (codePoint % 0x400) + 0xDC00;\n codeUnits.push(highSurrogate, lowSurrogate);\n }\n if (index + 1 == length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode.apply(null, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n };\n }());\n\n function parse(str, flags, features) {\n if (!features) {\n features = {};\n }\n function addRaw(node) {\n node.raw = str.substring(node.range[0], node.range[1]);\n return node;\n }\n\n function updateRawStart(node, start) {\n node.range[0] = start;\n return addRaw(node);\n }\n\n function createAnchor(kind, rawLength) {\n return addRaw({\n type: 'anchor',\n kind: kind,\n range: [\n pos - rawLength,\n pos\n ]\n });\n }\n\n function createValue(kind, codePoint, from, to) {\n return addRaw({\n type: 'value',\n kind: kind,\n codePoint: codePoint,\n range: [from, to]\n });\n }\n\n function createEscaped(kind, codePoint, value, fromOffset) {\n fromOffset = fromOffset || 0;\n return createValue(kind, codePoint, pos - (value.length + fromOffset), pos);\n }\n\n function createCharacter(matches) {\n var _char = matches[0];\n var first = _char.charCodeAt(0);\n if (isUnicodeMode) {\n var second;\n if (_char.length === 1 && first >= 0xD800 && first <= 0xDBFF) {\n second = lookahead().charCodeAt(0);\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // Unicode surrogate pair\n pos++;\n return createValue(\n 'symbol',\n (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000,\n pos - 2, pos);\n }\n }\n }\n return createValue('symbol', first, pos - 1, pos);\n }\n\n function createDisjunction(alternatives, from, to) {\n return addRaw({\n type: 'disjunction',\n body: alternatives,\n range: [\n from,\n to\n ]\n });\n }\n\n function createDot() {\n return addRaw({\n type: 'dot',\n range: [\n pos - 1,\n pos\n ]\n });\n }\n\n function createCharacterClassEscape(value) {\n return addRaw({\n type: 'characterClassEscape',\n value: value,\n range: [\n pos - 2,\n pos\n ]\n });\n }\n\n function createReference(matchIndex) {\n return addRaw({\n type: 'reference',\n matchIndex: parseInt(matchIndex, 10),\n range: [\n pos - 1 - matchIndex.length,\n pos\n ]\n });\n }\n\n function createNamedReference(name) {\n return addRaw({\n type: 'reference',\n name: name,\n range: [\n name.range[0] - 3,\n pos\n ]\n });\n }\n\n function createGroup(behavior, disjunction, from, to) {\n return addRaw({\n type: 'group',\n behavior: behavior,\n body: disjunction,\n range: [\n from,\n to\n ]\n });\n }\n\n function createQuantifier(min, max, from, to, symbol) {\n if (to == null) {\n from = pos - 1;\n to = pos;\n }\n\n return addRaw({\n type: 'quantifier',\n min: min,\n max: max,\n greedy: true,\n body: null, // set later on\n symbol: symbol,\n range: [\n from,\n to\n ]\n });\n }\n\n function createAlternative(terms, from, to) {\n return addRaw({\n type: 'alternative',\n body: terms,\n range: [\n from,\n to\n ]\n });\n }\n\n function createCharacterClass(contents, negative, from, to) {\n return addRaw({\n type: 'characterClass',\n kind: contents.kind,\n body: contents.body,\n negative: negative,\n range: [\n from,\n to\n ]\n });\n }\n\n function createClassRange(min, max, from, to) {\n // See 15.10.2.15:\n if (min.codePoint > max.codePoint) {\n bail('invalid range in character class', min.raw + '-' + max.raw, from, to);\n }\n\n return addRaw({\n type: 'characterClassRange',\n min: min,\n max: max,\n range: [\n from,\n to\n ]\n });\n }\n\n function createClassStrings(strings, from, to) {\n return addRaw({\n type: 'classStrings',\n strings: strings,\n range: [from, to]\n });\n }\n\n function createClassString(characters, from, to) {\n return addRaw({\n type: 'classString',\n characters: characters,\n range: [from, to]\n });\n }\n\n function flattenBody(body) {\n if (body.type === 'alternative') {\n return body.body;\n } else {\n return [body];\n }\n }\n\n function incr(amount) {\n amount = (amount || 1);\n var res = str.substring(pos, pos + amount);\n pos += (amount || 1);\n return res;\n }\n\n function skip(value) {\n if (!match(value)) {\n bail('character', value);\n }\n }\n\n function match(value) {\n if (str.indexOf(value, pos) === pos) {\n return incr(value.length);\n }\n }\n\n function lookahead() {\n return str[pos];\n }\n\n function current(value) {\n return str.indexOf(value, pos) === pos;\n }\n\n function next(value) {\n return str[pos + 1] === value;\n }\n\n function matchReg(regExp) {\n var subStr = str.substring(pos);\n var res = subStr.match(regExp);\n if (res) {\n res.range = [];\n res.range[0] = pos;\n incr(res[0].length);\n res.range[1] = pos;\n }\n return res;\n }\n\n function parseDisjunction() {\n // Disjunction ::\n // Alternative\n // Alternative | Disjunction\n var res = [], from = pos;\n res.push(parseAlternative());\n\n while (match('|')) {\n res.push(parseAlternative());\n }\n\n if (res.length === 1) {\n return res[0];\n }\n\n return createDisjunction(res, from, pos);\n }\n\n function parseAlternative() {\n var res = [], from = pos;\n var term;\n\n // Alternative ::\n // [empty]\n // Alternative Term\n while (term = parseTerm()) {\n res.push(term);\n }\n\n if (res.length === 1) {\n return res[0];\n }\n\n return createAlternative(res, from, pos);\n }\n\n function parseTerm() {\n // Term ::\n // Anchor\n // Atom\n // Atom Quantifier\n\n if (pos >= str.length || current('|') || current(')')) {\n return null; /* Means: The term is empty */\n }\n\n var anchor = parseAnchor();\n\n if (anchor) {\n return anchor;\n }\n\n var atom = parseAtomAndExtendedAtom();\n var quantifier;\n if (!atom) {\n // Check if a quantifier is following. A quantifier without an atom\n // is an error.\n var pos_backup = pos\n quantifier = parseQuantifier() || false;\n if (quantifier) {\n pos = pos_backup\n bail('Expected atom');\n }\n\n // If no unicode flag, then try to parse ExtendedAtom -> ExtendedPatternCharacter.\n // ExtendedPatternCharacter\n var res;\n if (!isUnicodeMode && (res = matchReg(/^{/))) {\n atom = createCharacter(res);\n } else {\n bail('Expected atom');\n }\n }\n quantifier = parseQuantifier() || false;\n if (quantifier) {\n quantifier.body = flattenBody(atom);\n // The quantifier contains the atom. Therefore, the beginning of the\n // quantifier range is given by the beginning of the atom.\n updateRawStart(quantifier, atom.range[0]);\n return quantifier;\n }\n return atom;\n }\n\n function parseGroup(matchA, typeA, matchB, typeB) {\n var type = null, from = pos;\n\n if (match(matchA)) {\n type = typeA;\n } else if (match(matchB)) {\n type = typeB;\n } else {\n return false;\n }\n\n return finishGroup(type, from);\n }\n\n function finishGroup(type, from) {\n var body = parseDisjunction();\n if (!body) {\n bail('Expected disjunction');\n }\n skip(')');\n var group = createGroup(type, flattenBody(body), from, pos);\n\n if (type == 'normal') {\n // Keep track of the number of closed groups. This is required for\n // parseDecimalEscape(). In case the string is parsed a second time the\n // value already holds the total count and no incrementation is required.\n if (firstIteration) {\n closedCaptureCounter++;\n }\n }\n return group;\n }\n\n function parseAnchor() {\n // Anchor ::\n // ^\n // $\n // \\ b\n // \\ B\n // ( ? = Disjunction )\n // ( ? ! Disjunction )\n\n if (match('^')) {\n return createAnchor('start', 1 /* rawLength */);\n } else if (match('$')) {\n return createAnchor('end', 1 /* rawLength */);\n } else if (match('\\\\b')) {\n return createAnchor('boundary', 2 /* rawLength */);\n } else if (match('\\\\B')) {\n return createAnchor('not-boundary', 2 /* rawLength */);\n } else {\n return parseGroup('(?=', 'lookahead', '(?!', 'negativeLookahead');\n }\n }\n\n function parseQuantifier() {\n // Quantifier ::\n // QuantifierPrefix\n // QuantifierPrefix ?\n //\n // QuantifierPrefix ::\n // *\n // +\n // ?\n // { DecimalDigits }\n // { DecimalDigits , }\n // { DecimalDigits , DecimalDigits }\n\n var res, from = pos;\n var quantifier;\n var min, max;\n\n if (match('*')) {\n quantifier = createQuantifier(0, undefined, undefined, undefined, '*');\n }\n else if (match('+')) {\n quantifier = createQuantifier(1, undefined, undefined, undefined, \"+\");\n }\n else if (match('?')) {\n quantifier = createQuantifier(0, 1, undefined, undefined, \"?\");\n }\n else if (res = matchReg(/^\\{([0-9]+)\\}/)) {\n min = parseInt(res[1], 10);\n quantifier = createQuantifier(min, min, res.range[0], res.range[1]);\n }\n else if (res = matchReg(/^\\{([0-9]+),\\}/)) {\n min = parseInt(res[1], 10);\n quantifier = createQuantifier(min, undefined, res.range[0], res.range[1]);\n }\n else if (res = matchReg(/^\\{([0-9]+),([0-9]+)\\}/)) {\n min = parseInt(res[1], 10);\n max = parseInt(res[2], 10);\n if (min > max) {\n bail('numbers out of order in {} quantifier', '', from, pos);\n }\n quantifier = createQuantifier(min, max, res.range[0], res.range[1]);\n }\n\n if ((min && !Number.isSafeInteger(min)) || (max && !Number.isSafeInteger(max))) {\n bail(\"iterations outside JS safe integer range in quantifier\", \"\", from, pos);\n }\n\n if (quantifier) {\n if (match('?')) {\n quantifier.greedy = false;\n quantifier.range[1] += 1;\n }\n }\n\n return quantifier;\n }\n\n function parseAtomAndExtendedAtom() {\n // Parsing Atom and ExtendedAtom together due to redundancy.\n // ExtendedAtom is defined in Apendix B of the ECMA-262 standard.\n //\n // SEE: https://www.ecma-international.org/ecma-262/10.0/index.html#prod-annexB-ExtendedPatternCharacter\n //\n // Atom ::\n // PatternCharacter\n // .\n // \\ AtomEscape\n // CharacterClass\n // ( GroupSpecifier Disjunction )\n // ( ? RegularExpressionFlags : Disjunction )\n // ( ? RegularExpressionFlags - RegularExpressionFlags : Disjunction )\n // ExtendedAtom ::\n // ExtendedPatternCharacter\n // ExtendedPatternCharacter ::\n // SourceCharacter but not one of ^$\\.*+?()[|\n\n var res;\n\n // jviereck: allow ']', '}' here as well to be compatible with browser's\n // implementations: ']'.match(/]/);\n if (res = matchReg(/^[^^$\\\\.*+?()[\\]{}|]/)) {\n // PatternCharacter\n return createCharacter(res);\n }\n else if (!isUnicodeMode && (res = matchReg(/^(?:]|})/))) {\n // ExtendedPatternCharacter, first part. See parseTerm.\n return createCharacter(res);\n }\n else if (match('.')) {\n // .\n return createDot();\n }\n else if (match('\\\\')) {\n // \\ AtomEscape\n res = parseAtomEscape();\n if (!res) {\n if (!isUnicodeMode && lookahead() == 'c') {\n // B.1.4 ExtendedAtom\n // \\[lookahead = c]\n return createValue('symbol', 92, pos - 1, pos);\n }\n bail('atomEscape');\n }\n return res;\n }\n else if (res = parseCharacterClass()) {\n return res;\n }\n else if (features.lookbehind && (res = parseGroup('(?<=', 'lookbehind', '(?\");\n var group = finishGroup(\"normal\", name.range[0] - 3);\n group.name = name;\n return group;\n }\n else if (features.modifiers && str.indexOf(\"(?\") == pos && str[pos+2] != \":\") {\n return parseModifiersGroup();\n }\n else {\n // ( Disjunction )\n // ( ? : Disjunction )\n return parseGroup('(?:', 'ignore', '(', 'normal');\n }\n }\n\n function parseModifiersGroup() {\n function hasDupChar(str) {\n var i = 0;\n while (i < str.length) {\n if (str.indexOf(str[i], i + 1) != -1) {\n return true;\n }\n i++;\n }\n return false;\n }\n\n var from = pos;\n incr(2);\n\n var enablingFlags = matchReg(/^[sim]+/);\n var disablingFlags;\n if(match(\"-\")){\n disablingFlags = matchReg(/^[sim]+/);\n if (!disablingFlags) {\n bail('Invalid flags for modifiers group');\n }\n } else if(!enablingFlags){\n bail('Invalid flags for modifiers group');\n }\n\n enablingFlags = enablingFlags ? enablingFlags[0] : \"\";\n disablingFlags = disablingFlags ? disablingFlags[0] : \"\";\n\n var flags = enablingFlags + disablingFlags;\n if(flags.length > 3 || hasDupChar(flags)) {\n bail('flags cannot be duplicated for modifiers group');\n }\n\n skip(\":\");\n\n var modifiersGroup = finishGroup(\"ignore\", from);\n\n modifiersGroup.modifierFlags = {\n enabling: enablingFlags,\n disabling: disablingFlags\n };\n\n return modifiersGroup;\n }\n\n function parseUnicodeSurrogatePairEscape(firstEscape) {\n if (isUnicodeMode) {\n var first, second;\n if (firstEscape.kind == 'unicodeEscape' &&\n (first = firstEscape.codePoint) >= 0xD800 && first <= 0xDBFF &&\n current('\\\\') && next('u') ) {\n var prevPos = pos;\n pos++;\n var secondEscape = parseClassEscape();\n if (secondEscape.kind == 'unicodeEscape' &&\n (second = secondEscape.codePoint) >= 0xDC00 && second <= 0xDFFF) {\n // Unicode surrogate pair\n firstEscape.range[1] = secondEscape.range[1];\n firstEscape.codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n firstEscape.type = 'value';\n firstEscape.kind = 'unicodeCodePointEscape';\n addRaw(firstEscape);\n }\n else {\n pos = prevPos;\n }\n }\n }\n return firstEscape;\n }\n\n function parseClassEscape() {\n return parseAtomEscape(true);\n }\n\n function parseAtomEscape(insideCharacterClass) {\n // AtomEscape ::\n // DecimalEscape\n // CharacterEscape\n // CharacterClassEscape\n // k GroupName\n\n var res, from = pos;\n\n res = parseDecimalEscape(insideCharacterClass) || parseNamedReference();\n if (res) {\n return res;\n }\n\n // For ClassEscape\n if (insideCharacterClass) {\n // b\n if (match('b')) {\n // 15.10.2.19\n // The production ClassEscape :: b evaluates by returning the\n // CharSet containing the one character (Unicode value 0008).\n return createEscaped('singleEscape', 0x0008, '\\\\b');\n } else if (match('B')) {\n bail('\\\\B not possible inside of CharacterClass', '', from);\n } else if (!isUnicodeMode && (res = matchReg(/^c([0-9])/))) {\n // B.1.4\n // c ClassControlLetter, ClassControlLetter = DecimalDigit\n return createEscaped('controlLetter', res[1] + 16, res[1], 2);\n } else if (!isUnicodeMode && (res = matchReg(/^c_/))) {\n // B.1.4\n // c ClassControlLetter, ClassControlLetter = _\n return createEscaped('controlLetter', 31, '_', 2);\n }\n // [+U] -\n if (isUnicodeMode && match('-')) {\n return createEscaped('singleEscape', 0x002d, '\\\\-');\n }\n }\n\n res = parseCharacterClassEscape() || parseCharacterEscape();\n\n return res;\n }\n\n\n function parseDecimalEscape(insideCharacterClass) {\n // DecimalEscape ::\n // DecimalIntegerLiteral [lookahead ∉ DecimalDigit]\n\n var res, match, from = pos;\n\n if (res = matchReg(/^(?!0)\\d+/)) {\n match = res[0];\n var refIdx = parseInt(res[0], 10);\n if (refIdx <= closedCaptureCounter && !insideCharacterClass) {\n // If the number is smaller than the normal-groups found so\n // far, then it is a reference...\n return createReference(res[0]);\n } else {\n // ... otherwise it needs to be interpreted as a octal (if the\n // number is in an octal format). If it is NOT octal format,\n // then the slash is ignored and the number is matched later\n // as normal characters.\n\n // Recall the negative decision to decide if the input must be parsed\n // a second time with the total normal-groups.\n backrefDenied.push(refIdx);\n\n // \\1 octal escapes are disallowed in unicode mode, but they might\n // be references to groups which haven't been parsed yet.\n // We must parse a second time to determine if \\1 is a reference\n // or an octal scape, and then we can report the error.\n if (firstIteration) {\n shouldReparse = true;\n } else {\n bailOctalEscapeIfUnicode(from, pos);\n }\n\n // Reset the position again, as maybe only parts of the previous\n // matched numbers are actual octal numbers. E.g. in '019' only\n // the '01' should be matched.\n incr(-res[0].length);\n if (res = matchReg(/^[0-7]{1,3}/)) {\n return createEscaped('octal', parseInt(res[0], 8), res[0], 1);\n } else {\n // If we end up here, we have a case like /\\91/. Then the\n // first slash is to be ignored and the 9 & 1 to be treated\n // like ordinary characters. Create a character for the\n // first number only here - other number-characters\n // (if available) will be matched later.\n res = createCharacter(matchReg(/^[89]/));\n return updateRawStart(res, res.range[0] - 1);\n }\n }\n }\n // Only allow octal numbers in the following. All matched numbers start\n // with a zero (if the do not, the previous if-branch is executed).\n // If the number is not octal format and starts with zero (e.g. `091`)\n // then only the zeros `0` is treated here and the `91` are ordinary\n // characters.\n // Example:\n // /\\091/.exec('\\091')[0].length === 3\n else if (res = matchReg(/^[0-7]{1,3}/)) {\n match = res[0];\n if (match !== '0') {\n bailOctalEscapeIfUnicode(from, pos);\n }\n if (/^0{1,3}$/.test(match)) {\n // If they are all zeros, then only take the first one.\n return createEscaped('null', 0x0000, '0', match.length);\n } else {\n return createEscaped('octal', parseInt(match, 8), match, 1);\n }\n }\n return false;\n }\n\n function bailOctalEscapeIfUnicode(from, pos) {\n if (isUnicodeMode) {\n bail(\"Invalid decimal escape in unicode mode\", null, from, pos);\n }\n }\n\n function parseCharacterClassEscape() {\n // CharacterClassEscape :: one of d D s S w W\n var res;\n if (res = matchReg(/^[dDsSwW]/)) {\n return createCharacterClassEscape(res[0]);\n } else if (features.unicodePropertyEscape && isUnicodeMode && (res = matchReg(/^([pP])\\{([^\\}]+)\\}/))) {\n // https://github.com/jviereck/regjsparser/issues/77\n return addRaw({\n type: 'unicodePropertyEscape',\n negative: res[1] === 'P',\n value: res[2],\n range: [res.range[0] - 1, res.range[1]],\n raw: res[0]\n });\n } else if (features.unicodeSet && hasUnicodeSetFlag && match('q{')) {\n return parseClassStrings();\n }\n return false;\n }\n\n function parseNamedReference() {\n if (features.namedGroups && matchReg(/^k<(?=.*?>)/)) {\n var name = parseIdentifier();\n skip('>');\n return createNamedReference(name);\n }\n }\n\n function parseRegExpUnicodeEscapeSequence() {\n var res;\n if (res = matchReg(/^u([0-9a-fA-F]{4})/)) {\n // UnicodeEscapeSequence\n return parseUnicodeSurrogatePairEscape(\n createEscaped('unicodeEscape', parseInt(res[1], 16), res[1], 2)\n );\n } else if (isUnicodeMode && (res = matchReg(/^u\\{([0-9a-fA-F]+)\\}/))) {\n // RegExpUnicodeEscapeSequence (ES6 Unicode code point escape)\n return createEscaped('unicodeCodePointEscape', parseInt(res[1], 16), res[1], 4);\n }\n }\n\n function parseCharacterEscape() {\n // CharacterEscape ::\n // ControlEscape\n // c ControlLetter\n // HexEscapeSequence\n // UnicodeEscapeSequence\n // IdentityEscape\n\n var res;\n var from = pos;\n if (res = matchReg(/^[fnrtv]/)) {\n // ControlEscape\n var codePoint = 0;\n switch (res[0]) {\n case 't': codePoint = 0x009; break;\n case 'n': codePoint = 0x00A; break;\n case 'v': codePoint = 0x00B; break;\n case 'f': codePoint = 0x00C; break;\n case 'r': codePoint = 0x00D; break;\n }\n return createEscaped('singleEscape', codePoint, '\\\\' + res[0]);\n } else if (res = matchReg(/^c([a-zA-Z])/)) {\n // c ControlLetter\n return createEscaped('controlLetter', res[1].charCodeAt(0) % 32, res[1], 2);\n } else if (res = matchReg(/^x([0-9a-fA-F]{2})/)) {\n // HexEscapeSequence\n return createEscaped('hexadecimalEscape', parseInt(res[1], 16), res[1], 2);\n } else if (res = parseRegExpUnicodeEscapeSequence()) {\n if (!res || res.codePoint > 0x10FFFF) {\n bail('Invalid escape sequence', null, from, pos);\n }\n return res;\n } else {\n // IdentityEscape\n return parseIdentityEscape();\n }\n }\n\n function parseIdentifierAtom(check) {\n var ch = lookahead();\n var from = pos;\n if (ch === '\\\\') {\n incr();\n var esc = parseRegExpUnicodeEscapeSequence();\n if (!esc || !check(esc.codePoint)) {\n bail('Invalid escape sequence', null, from, pos);\n }\n return fromCodePoint(esc.codePoint);\n }\n var code = ch.charCodeAt(0);\n if (code >= 0xD800 && code <= 0xDBFF) {\n ch += str[pos + 1];\n var second = ch.charCodeAt(1);\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // Unicode surrogate pair\n code = (code - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n if (!check(code)) return;\n incr();\n if (code > 0xFFFF) incr();\n return ch;\n }\n\n function parseIdentifier() {\n // RegExpIdentifierName ::\n // RegExpIdentifierStart\n // RegExpIdentifierName RegExpIdentifierContinue\n //\n // RegExpIdentifierStart ::\n // UnicodeIDStart\n // $\n // _\n // \\ RegExpUnicodeEscapeSequence\n //\n // RegExpIdentifierContinue ::\n // UnicodeIDContinue\n // $\n // _\n // \\ RegExpUnicodeEscapeSequence\n // \n // \n\n var start = pos;\n var res = parseIdentifierAtom(isIdentifierStart);\n if (!res) {\n bail('Invalid identifier');\n }\n\n var ch;\n while (ch = parseIdentifierAtom(isIdentifierPart)) {\n res += ch;\n }\n\n return addRaw({\n type: 'identifier',\n value: res,\n range: [start, pos]\n });\n }\n\n function isIdentifierStart(ch) {\n // Generated by `tools/generate-identifier-regex.js`.\n var NonAsciiIdentifierStart = /[\\$A-Z_a-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEF\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7B9\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF1A]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE83\\uDE86-\\uDE89\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1]|\\uD821[\\uDC00-\\uDFF1]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]/;\n\n return (ch === 36) || (ch === 95) || // $ (dollar) and _ (underscore)\n (ch >= 65 && ch <= 90) || // A..Z\n (ch >= 97 && ch <= 122) || // a..z\n ((ch >= 0x80) && NonAsciiIdentifierStart.test(fromCodePoint(ch)));\n }\n\n // Taken from the Esprima parser.\n function isIdentifierPart(ch) {\n // Generated by `tools/generate-identifier-regex.js`.\n // eslint-disable-next-line no-misleading-character-class\n var NonAsciiIdentifierPartOnly = /[0-9_\\xB7\\u0300-\\u036F\\u0387\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u0669\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u06F0-\\u06F9\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07C0-\\u07C9\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D3-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096F\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u09E6-\\u09EF\\u09FE\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A66-\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0AE6-\\u0AEF\\u0AFA-\\u0AFF\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B66-\\u0B6F\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C04\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0CE6-\\u0CEF\\u0D00-\\u0D03\\u0D3B\\u0D3C\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D66-\\u0D6F\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0E50-\\u0E59\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1040-\\u1049\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F-\\u109D\\u135D-\\u135F\\u1369-\\u1371\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u194F\\u19D0-\\u19DA\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AB0-\\u1ABD\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BB0-\\u1BB9\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1C40-\\u1C49\\u1C50-\\u1C59\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF7-\\u1CF9\\u1DC0-\\u1DF9\\u1DFB-\\u1DFF\\u200C\\u200D\\u203F\\u2040\\u2054\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA620-\\uA629\\uA66F\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F1\\uA8FF-\\uA909\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9D0-\\uA9D9\\uA9E5\\uA9F0-\\uA9F9\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA50-\\uAA59\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFF10-\\uFF19\\uFF3F]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD801[\\uDCA0-\\uDCA9]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD803[\\uDD24-\\uDD27\\uDD30-\\uDD39\\uDF46-\\uDF50]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDCF0-\\uDCF9\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD36-\\uDD3F\\uDD45\\uDD46\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDDC9-\\uDDCC\\uDDD0-\\uDDD9\\uDE2C-\\uDE37\\uDE3E\\uDEDF-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF3B\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC35-\\uDC46\\uDC50-\\uDC59\\uDC5E\\uDCB0-\\uDCC3\\uDCD0-\\uDCD9\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDDDC\\uDDDD\\uDE30-\\uDE40\\uDE50-\\uDE59\\uDEAB-\\uDEB7\\uDEC0-\\uDEC9\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDC2C-\\uDC3A\\uDCE0-\\uDCE9\\uDE01-\\uDE0A\\uDE33-\\uDE39\\uDE3B-\\uDE3E\\uDE47\\uDE51-\\uDE5B\\uDE8A-\\uDE99]|\\uD807[\\uDC2F-\\uDC36\\uDC38-\\uDC3F\\uDC50-\\uDC59\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD31-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD45\\uDD47\\uDD50-\\uDD59\\uDD8A-\\uDD8E\\uDD90\\uDD91\\uDD93-\\uDD97\\uDDA0-\\uDDA9\\uDEF3-\\uDEF6]|\\uD81A[\\uDE60-\\uDE69\\uDEF0-\\uDEF4\\uDF30-\\uDF36\\uDF50-\\uDF59]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDCD0-\\uDCD6\\uDD44-\\uDD4A\\uDD50-\\uDD59]|\\uDB40[\\uDD00-\\uDDEF]/;\n\n return isIdentifierStart(ch) ||\n (ch >= 48 && ch <= 57) || // 0..9\n ((ch >= 0x80) && NonAsciiIdentifierPartOnly.test(fromCodePoint(ch)));\n }\n\n function parseIdentityEscape() {\n // IdentityEscape ::\n // [+U] SyntaxCharacter\n // [+U] /\n // [~U] SourceCharacterIdentityEscape[?N]\n // SourceCharacterIdentityEscape[?N] ::\n // [~N] SourceCharacter but not c\n // [+N] SourceCharacter but not one of c or k\n\n\n var tmp;\n var l = lookahead();\n if (\n (isUnicodeMode && /[\\^\\$\\.\\*\\+\\?\\(\\)\\\\\\[\\]\\{\\}\\|\\/]/.test(l)) ||\n (!isUnicodeMode && l !== \"c\")\n ) {\n if (l === \"k\" && features.lookbehind) {\n return null;\n }\n tmp = incr();\n return createEscaped('identifier', tmp.charCodeAt(0), tmp, 1);\n }\n\n return null;\n }\n\n function parseCharacterClass() {\n // CharacterClass ::\n // [ [lookahead ∉ {^}] ClassRanges ]\n // [ ^ ClassRanges ]\n\n var res, from = pos;\n if (res = matchReg(/^\\[\\^/)) {\n res = parseClassRanges();\n skip(']');\n return createCharacterClass(res, true, from, pos);\n } else if (match('[')) {\n res = parseClassRanges();\n skip(']');\n return createCharacterClass(res, false, from, pos);\n }\n\n return null;\n }\n\n function parseClassRanges() {\n // ClassRanges ::\n // [empty]\n // [~V] NonemptyClassRanges\n // [+V] ClassContents\n\n var res;\n if (current(']')) {\n // Empty array means nothing inside of the ClassRange.\n return { kind: 'union', body: [] };\n } else if (hasUnicodeSetFlag) {\n return parseClassContents();\n } else {\n res = parseNonemptyClassRanges();\n if (!res) {\n bail('nonEmptyClassRanges');\n }\n return { kind: 'union', body: res };\n }\n }\n\n function parseHelperClassRanges(atom) {\n var from, to, res, atomTo, dash;\n if (current('-') && !next(']')) {\n // ClassAtom - ClassAtom ClassRanges\n from = atom.range[0];\n dash = createCharacter(match('-'));\n\n atomTo = parseClassAtom();\n if (!atomTo) {\n bail('classAtom');\n }\n to = pos;\n\n // Parse the next class range if exists.\n var classRanges = parseClassRanges();\n if (!classRanges) {\n bail('classRanges');\n }\n\n // Check if both the from and atomTo have codePoints.\n if (!('codePoint' in atom) || !('codePoint' in atomTo)) {\n if (!isUnicodeMode) {\n // If not, don't create a range but treat them as\n // `atom` `-` `atom` instead.\n //\n // SEE: https://tc39.es/ecma262/#sec-regular-expression-patterns-semantics\n // NonemptyClassRanges::ClassAtom-ClassAtomClassRanges\n // CharacterRangeOrUnion\n res = [atom, dash, atomTo];\n } else {\n // With unicode flag, both sides must have codePoints if\n // one side has a codePoint.\n //\n // SEE: https://tc39.es/ecma262/#sec-patterns-static-semantics-early-errors\n // NonemptyClassRanges :: ClassAtom - ClassAtom ClassRanges\n bail('invalid character class');\n }\n } else {\n res = [createClassRange(atom, atomTo, from, to)];\n }\n\n if (classRanges.type === 'empty') {\n return res;\n }\n return res.concat(classRanges.body);\n }\n\n res = parseNonemptyClassRangesNoDash();\n if (!res) {\n bail('nonEmptyClassRangesNoDash');\n }\n\n return [atom].concat(res);\n }\n\n function parseNonemptyClassRanges() {\n // NonemptyClassRanges ::\n // ClassAtom\n // ClassAtom NonemptyClassRangesNoDash\n // ClassAtom - ClassAtom ClassRanges\n\n var atom = parseClassAtom();\n if (!atom) {\n bail('classAtom');\n }\n\n if (current(']')) {\n // ClassAtom\n return [atom];\n }\n\n // ClassAtom NonemptyClassRangesNoDash\n // ClassAtom - ClassAtom ClassRanges\n return parseHelperClassRanges(atom);\n }\n\n function parseNonemptyClassRangesNoDash() {\n // NonemptyClassRangesNoDash ::\n // ClassAtom\n // ClassAtomNoDash NonemptyClassRangesNoDash\n // ClassAtomNoDash - ClassAtom ClassRanges\n\n var res = parseClassAtom();\n if (!res) {\n bail('classAtom');\n }\n if (current(']')) {\n // ClassAtom\n return res;\n }\n\n // ClassAtomNoDash NonemptyClassRangesNoDash\n // ClassAtomNoDash - ClassAtom ClassRanges\n return parseHelperClassRanges(res);\n }\n\n function parseClassAtom() {\n // ClassAtom ::\n // -\n // ClassAtomNoDash\n if (match('-')) {\n return createCharacter('-');\n } else {\n return parseClassAtomNoDash();\n }\n }\n\n function parseClassAtomNoDash() {\n // ClassAtomNoDash ::\n // SourceCharacter but not one of \\ or ] or -\n // \\ ClassEscape\n\n var res;\n if (res = matchReg(/^[^\\\\\\]-]/)) {\n return createCharacter(res[0]);\n } else if (match('\\\\')) {\n res = parseClassEscape();\n if (!res) {\n bail('classEscape');\n }\n\n return parseUnicodeSurrogatePairEscape(res);\n }\n }\n\n function parseClassContents() {\n // ClassContents ::\n // ClassUnion\n // ClassIntersection\n // ClassSubtraction\n //\n // ClassUnion ::\n // ClassRange ClassUnion?\n // ClassOperand ClassUnion?\n //\n // ClassIntersection ::\n // ClassOperand && [lookahead ≠ &] ClassOperand\n // ClassIntersection && [lookahead ≠ &] ClassOperand\n //\n // ClassSubtraction ::\n // ClassOperand -- ClassOperand\n // ClassSubtraction -- ClassOperand\n\n var body = [];\n var kind;\n\n var operand = parseClassOperand(/* allowRanges*/ true);\n body.push(operand);\n\n if (operand.type === 'classRange') {\n kind = 'union';\n } else if (current('&')) {\n kind = 'intersection';\n } else if (current('-')) {\n kind = 'subtraction';\n } else {\n kind = 'union';\n }\n\n while (!current(']')) {\n if (kind === 'intersection') {\n skip('&');\n skip('&');\n if (current('&')) {\n bail('&& cannot be followed by &. Wrap it in brackets: &&[&].');\n }\n } else if (kind === 'subtraction') {\n skip('-');\n skip('-');\n }\n\n operand = parseClassOperand(/* allowRanges*/ kind === 'union');\n body.push(operand);\n }\n\n return { kind: kind, body: body };\n }\n\n function parseClassOperand(allowRanges) {\n // ClassOperand ::\n // ClassCharacter\n // ClassStrings\n // NestedClass\n //\n // NestedClass ::\n // [ [lookahead ≠ ^] ClassRanges[+U,+V] ]\n // [ ^ ClassRanges[+U,+V] ]\n // \\ CharacterClassEscape[+U, +V]\n //\n // ClassRange ::\n // ClassCharacter - ClassCharacter\n //\n // ClassCharacter ::\n // [lookahead ∉ ClassReservedDouble] SourceCharacter but not ClassSyntaxCharacter\n // \\ CharacterEscape[+U]\n // \\ ClassHalfOfDouble\n // \\ b\n //\n // ClassSyntaxCharacter ::\n // one of ( ) [ ] { } / - \\ |\n\n var from = pos;\n var start, res;\n\n if (match('\\\\')) {\n // ClassOperand ::\n // ...\n // ClassStrings\n // NestedClass\n //\n // NestedClass ::\n // ...\n // \\ CharacterClassEscape[+U, +V]\n if (res = parseClassEscape()) {\n start = res;\n } else if (res = parseClassCharacterEscapedHelper()) {\n return res;\n } else {\n bail('Invalid escape', '\\\\' + lookahead(), from);\n }\n } else if (res = parseClassCharacterUnescapedHelper()) {\n start = res;\n } else if (res = parseCharacterClass()) {\n // ClassOperand ::\n // ...\n // NestedClass\n //\n // NestedClass ::\n // [ [lookahead ≠ ^] ClassRanges[+U,+V] ]\n // [ ^ ClassRanges[+U,+V] ]\n // ...\n return res;\n } else {\n bail('Invalid character', lookahead());\n }\n\n if (allowRanges && current('-') && !next('-')) {\n skip('-');\n\n if (res = parseClassCharacter()) {\n // ClassRange ::\n // ClassCharacter - ClassCharacter\n return createClassRange(start, res, from, pos);\n }\n\n bail('Invalid range end', lookahead());\n }\n\n // ClassOperand ::\n // ClassCharacter\n // ...\n return start;\n }\n\n function parseClassCharacter() {\n // ClassCharacter ::\n // [lookahead ∉ ClassReservedDouble] SourceCharacter but not ClassSyntaxCharacter\n // \\ CharacterEscape[+U]\n // \\ ClassHalfOfDouble\n // \\ b\n\n if (match('\\\\')) {\n var res, from = pos;\n if (res = parseClassCharacterEscapedHelper()) {\n return res;\n } else {\n bail('Invalid escape', '\\\\' + lookahead(), from);\n }\n }\n\n return parseClassCharacterUnescapedHelper();\n }\n\n function parseClassCharacterUnescapedHelper() {\n // ClassCharacter ::\n // [lookahead ∉ ClassReservedDouble] SourceCharacter but not ClassSyntaxCharacter\n // ...\n\n var res;\n if (res = matchReg(/^[^()[\\]{}/\\-\\\\|]/)) {\n return createCharacter(res);\n }\n }\n\n function parseClassCharacterEscapedHelper() {\n // ClassCharacter ::\n // ...\n // \\ CharacterEscape[+U]\n // \\ ClassHalfOfDouble\n // \\ b\n\n var res;\n if (match('b')) {\n return createEscaped('singleEscape', 0x0008, '\\\\b');\n } else if (match('B')) {\n bail('\\\\B not possible inside of ClassContents', '', pos - 2);\n } else if (res = matchReg(/^[&\\-!#%,:;<=>@_`~]/)) {\n return createEscaped('identifier', res[0].codePointAt(0), res[0]);\n } else if (res = parseCharacterEscape()) {\n return res;\n } else {\n return null;\n }\n }\n\n function parseClassStrings() {\n // ClassStrings ::\n // \\q{ ClassString MoreClassStrings? }\n\n // When calling this function, \\q{ has already been consumed.\n var from = pos - 3;\n\n var res = [];\n do {\n res.push(parseClassString());\n } while (match('|'));\n\n skip('}');\n\n return createClassStrings(res, from, pos);\n }\n\n function parseClassString() {\n // ClassString ::\n // [empty]\n // NonEmptyClassString\n //\n // NonEmptyClassString ::\n // ClassCharacter NonEmptyClassString?\n\n var res = [], from = pos;\n var char;\n\n while (char = parseClassCharacter()) {\n res.push(char);\n }\n\n return createClassString(res, from, pos);\n }\n\n function bail(message, details, from, to) {\n from = from == null ? pos : from;\n to = to == null ? from : to;\n\n var contextStart = Math.max(0, from - 10);\n var contextEnd = Math.min(to + 10, str.length);\n\n // Output a bit of context and a line pointing to where our error is.\n //\n // We are assuming that there are no actual newlines in the content as this is a regular expression.\n var context = ' ' + str.substring(contextStart, contextEnd);\n var pointer = ' ' + new Array(from - contextStart + 1).join(' ') + '^';\n\n throw SyntaxError(message + ' at position ' + from + (details ? ': ' + details : '') + '\\n' + context + '\\n' + pointer);\n }\n\n var backrefDenied = [];\n var closedCaptureCounter = 0;\n var firstIteration = true;\n var shouldReparse = false;\n var hasUnicodeFlag = (flags || \"\").indexOf(\"u\") !== -1;\n var hasUnicodeSetFlag = (flags || \"\").indexOf(\"v\") !== -1;\n var isUnicodeMode = hasUnicodeFlag || hasUnicodeSetFlag;\n var pos = 0;\n\n if (hasUnicodeSetFlag && !features.unicodeSet) {\n throw new Error('The \"v\" flag is only supported when the .unicodeSet option is enabled.');\n }\n\n if (hasUnicodeFlag && hasUnicodeSetFlag) {\n throw new Error('The \"u\" and \"v\" flags are mutually exclusive.');\n }\n\n // Convert the input to a string and treat the empty string special.\n str = String(str);\n if (str === '') {\n str = '(?:)';\n }\n\n var result = parseDisjunction();\n\n if (result.range[1] !== str.length) {\n bail('Could not parse entire input - got stuck', '', result.range[1]);\n }\n\n // The spec requires to interpret the `\\2` in `/\\2()()/` as backreference.\n // As the parser collects the number of capture groups as the string is\n // parsed it is impossible to make these decisions at the point when the\n // `\\2` is handled. In case the local decision turns out to be wrong after\n // the parsing has finished, the input string is parsed a second time with\n // the total number of capture groups set.\n //\n // SEE: https://github.com/jviereck/regjsparser/issues/70\n shouldReparse = shouldReparse || backrefDenied.some(function (ref) {\n return ref <= closedCaptureCounter;\n });\n if (shouldReparse) {\n // Parse the input a second time.\n pos = 0;\n firstIteration = false;\n return parseDisjunction();\n }\n\n return result;\n }\n\n var regjsparser = {\n parse: parse\n };\n\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = regjsparser;\n } else {\n window.regjsparser = regjsparser;\n }\n\n}());\n","module.exports = new Set([\n\t// Non-binary properties:\n\t'General_Category',\n\t'Script',\n\t'Script_Extensions',\n\t// Binary properties:\n\t'Alphabetic',\n\t'Any',\n\t'ASCII',\n\t'ASCII_Hex_Digit',\n\t'Assigned',\n\t'Bidi_Control',\n\t'Bidi_Mirrored',\n\t'Case_Ignorable',\n\t'Cased',\n\t'Changes_When_Casefolded',\n\t'Changes_When_Casemapped',\n\t'Changes_When_Lowercased',\n\t'Changes_When_NFKC_Casefolded',\n\t'Changes_When_Titlecased',\n\t'Changes_When_Uppercased',\n\t'Dash',\n\t'Default_Ignorable_Code_Point',\n\t'Deprecated',\n\t'Diacritic',\n\t'Emoji',\n\t'Emoji_Component',\n\t'Emoji_Modifier',\n\t'Emoji_Modifier_Base',\n\t'Emoji_Presentation',\n\t'Extended_Pictographic',\n\t'Extender',\n\t'Grapheme_Base',\n\t'Grapheme_Extend',\n\t'Hex_Digit',\n\t'ID_Continue',\n\t'ID_Start',\n\t'Ideographic',\n\t'IDS_Binary_Operator',\n\t'IDS_Trinary_Operator',\n\t'Join_Control',\n\t'Logical_Order_Exception',\n\t'Lowercase',\n\t'Math',\n\t'Noncharacter_Code_Point',\n\t'Pattern_Syntax',\n\t'Pattern_White_Space',\n\t'Quotation_Mark',\n\t'Radical',\n\t'Regional_Indicator',\n\t'Sentence_Terminal',\n\t'Soft_Dotted',\n\t'Terminal_Punctuation',\n\t'Unified_Ideograph',\n\t'Uppercase',\n\t'Variation_Selector',\n\t'White_Space',\n\t'XID_Continue',\n\t'XID_Start'\n]);\n","// Generated using `npm run build`. Do not edit!\nmodule.exports = new Map([\n\t['scx', 'Script_Extensions'],\n\t['sc', 'Script'],\n\t['gc', 'General_Category'],\n\t['AHex', 'ASCII_Hex_Digit'],\n\t['Alpha', 'Alphabetic'],\n\t['Bidi_C', 'Bidi_Control'],\n\t['Bidi_M', 'Bidi_Mirrored'],\n\t['Cased', 'Cased'],\n\t['CI', 'Case_Ignorable'],\n\t['CWCF', 'Changes_When_Casefolded'],\n\t['CWCM', 'Changes_When_Casemapped'],\n\t['CWKCF', 'Changes_When_NFKC_Casefolded'],\n\t['CWL', 'Changes_When_Lowercased'],\n\t['CWT', 'Changes_When_Titlecased'],\n\t['CWU', 'Changes_When_Uppercased'],\n\t['Dash', 'Dash'],\n\t['Dep', 'Deprecated'],\n\t['DI', 'Default_Ignorable_Code_Point'],\n\t['Dia', 'Diacritic'],\n\t['EBase', 'Emoji_Modifier_Base'],\n\t['EComp', 'Emoji_Component'],\n\t['EMod', 'Emoji_Modifier'],\n\t['Emoji', 'Emoji'],\n\t['EPres', 'Emoji_Presentation'],\n\t['Ext', 'Extender'],\n\t['ExtPict', 'Extended_Pictographic'],\n\t['Gr_Base', 'Grapheme_Base'],\n\t['Gr_Ext', 'Grapheme_Extend'],\n\t['Hex', 'Hex_Digit'],\n\t['IDC', 'ID_Continue'],\n\t['Ideo', 'Ideographic'],\n\t['IDS', 'ID_Start'],\n\t['IDSB', 'IDS_Binary_Operator'],\n\t['IDST', 'IDS_Trinary_Operator'],\n\t['Join_C', 'Join_Control'],\n\t['LOE', 'Logical_Order_Exception'],\n\t['Lower', 'Lowercase'],\n\t['Math', 'Math'],\n\t['NChar', 'Noncharacter_Code_Point'],\n\t['Pat_Syn', 'Pattern_Syntax'],\n\t['Pat_WS', 'Pattern_White_Space'],\n\t['QMark', 'Quotation_Mark'],\n\t['Radical', 'Radical'],\n\t['RI', 'Regional_Indicator'],\n\t['SD', 'Soft_Dotted'],\n\t['STerm', 'Sentence_Terminal'],\n\t['Term', 'Terminal_Punctuation'],\n\t['UIdeo', 'Unified_Ideograph'],\n\t['Upper', 'Uppercase'],\n\t['VS', 'Variation_Selector'],\n\t['WSpace', 'White_Space'],\n\t['space', 'White_Space'],\n\t['XIDC', 'XID_Continue'],\n\t['XIDS', 'XID_Start']\n]);\n","'use strict';\n\nconst canonicalProperties = require('unicode-canonical-property-names-ecmascript');\nconst propertyAliases = require('unicode-property-aliases-ecmascript');\n\nconst matchProperty = function(property) {\n\tif (canonicalProperties.has(property)) {\n\t\treturn property;\n\t}\n\tif (propertyAliases.has(property)) {\n\t\treturn propertyAliases.get(property);\n\t}\n\tthrow new Error(`Unknown property: ${ property }`);\n};\n\nmodule.exports = matchProperty;\n","'use strict';\n\nconst propertyToValueAliases = require('./data/mappings.js');\n\nconst matchPropertyValue = function(property, value) {\n\tconst aliasToValue = propertyToValueAliases.get(property);\n\tif (!aliasToValue) {\n\t\tthrow new Error(`Unknown property \\`${ property }\\`.`);\n\t}\n\tconst canonicalValue = aliasToValue.get(value);\n\tif (canonicalValue) {\n\t\treturn canonicalValue;\n\t}\n\tthrow new Error(\n\t\t`Unknown value \\`${ value }\\` for property \\`${ property }\\`.`\n\t);\n};\n\nmodule.exports = matchPropertyValue;\n","module.exports = new Map([\n\t['General_Category', new Map([\n\t\t['C', 'Other'],\n\t\t['Cc', 'Control'],\n\t\t['cntrl', 'Control'],\n\t\t['Cf', 'Format'],\n\t\t['Cn', 'Unassigned'],\n\t\t['Co', 'Private_Use'],\n\t\t['Cs', 'Surrogate'],\n\t\t['L', 'Letter'],\n\t\t['LC', 'Cased_Letter'],\n\t\t['Ll', 'Lowercase_Letter'],\n\t\t['Lm', 'Modifier_Letter'],\n\t\t['Lo', 'Other_Letter'],\n\t\t['Lt', 'Titlecase_Letter'],\n\t\t['Lu', 'Uppercase_Letter'],\n\t\t['M', 'Mark'],\n\t\t['Combining_Mark', 'Mark'],\n\t\t['Mc', 'Spacing_Mark'],\n\t\t['Me', 'Enclosing_Mark'],\n\t\t['Mn', 'Nonspacing_Mark'],\n\t\t['N', 'Number'],\n\t\t['Nd', 'Decimal_Number'],\n\t\t['digit', 'Decimal_Number'],\n\t\t['Nl', 'Letter_Number'],\n\t\t['No', 'Other_Number'],\n\t\t['P', 'Punctuation'],\n\t\t['punct', 'Punctuation'],\n\t\t['Pc', 'Connector_Punctuation'],\n\t\t['Pd', 'Dash_Punctuation'],\n\t\t['Pe', 'Close_Punctuation'],\n\t\t['Pf', 'Final_Punctuation'],\n\t\t['Pi', 'Initial_Punctuation'],\n\t\t['Po', 'Other_Punctuation'],\n\t\t['Ps', 'Open_Punctuation'],\n\t\t['S', 'Symbol'],\n\t\t['Sc', 'Currency_Symbol'],\n\t\t['Sk', 'Modifier_Symbol'],\n\t\t['Sm', 'Math_Symbol'],\n\t\t['So', 'Other_Symbol'],\n\t\t['Z', 'Separator'],\n\t\t['Zl', 'Line_Separator'],\n\t\t['Zp', 'Paragraph_Separator'],\n\t\t['Zs', 'Space_Separator'],\n\t\t['Other', 'Other'],\n\t\t['Control', 'Control'],\n\t\t['Format', 'Format'],\n\t\t['Unassigned', 'Unassigned'],\n\t\t['Private_Use', 'Private_Use'],\n\t\t['Surrogate', 'Surrogate'],\n\t\t['Letter', 'Letter'],\n\t\t['Cased_Letter', 'Cased_Letter'],\n\t\t['Lowercase_Letter', 'Lowercase_Letter'],\n\t\t['Modifier_Letter', 'Modifier_Letter'],\n\t\t['Other_Letter', 'Other_Letter'],\n\t\t['Titlecase_Letter', 'Titlecase_Letter'],\n\t\t['Uppercase_Letter', 'Uppercase_Letter'],\n\t\t['Mark', 'Mark'],\n\t\t['Spacing_Mark', 'Spacing_Mark'],\n\t\t['Enclosing_Mark', 'Enclosing_Mark'],\n\t\t['Nonspacing_Mark', 'Nonspacing_Mark'],\n\t\t['Number', 'Number'],\n\t\t['Decimal_Number', 'Decimal_Number'],\n\t\t['Letter_Number', 'Letter_Number'],\n\t\t['Other_Number', 'Other_Number'],\n\t\t['Punctuation', 'Punctuation'],\n\t\t['Connector_Punctuation', 'Connector_Punctuation'],\n\t\t['Dash_Punctuation', 'Dash_Punctuation'],\n\t\t['Close_Punctuation', 'Close_Punctuation'],\n\t\t['Final_Punctuation', 'Final_Punctuation'],\n\t\t['Initial_Punctuation', 'Initial_Punctuation'],\n\t\t['Other_Punctuation', 'Other_Punctuation'],\n\t\t['Open_Punctuation', 'Open_Punctuation'],\n\t\t['Symbol', 'Symbol'],\n\t\t['Currency_Symbol', 'Currency_Symbol'],\n\t\t['Modifier_Symbol', 'Modifier_Symbol'],\n\t\t['Math_Symbol', 'Math_Symbol'],\n\t\t['Other_Symbol', 'Other_Symbol'],\n\t\t['Separator', 'Separator'],\n\t\t['Line_Separator', 'Line_Separator'],\n\t\t['Paragraph_Separator', 'Paragraph_Separator'],\n\t\t['Space_Separator', 'Space_Separator']\n\t])],\n\t['Script', new Map([\n\t\t['Adlm', 'Adlam'],\n\t\t['Aghb', 'Caucasian_Albanian'],\n\t\t['Ahom', 'Ahom'],\n\t\t['Arab', 'Arabic'],\n\t\t['Armi', 'Imperial_Aramaic'],\n\t\t['Armn', 'Armenian'],\n\t\t['Avst', 'Avestan'],\n\t\t['Bali', 'Balinese'],\n\t\t['Bamu', 'Bamum'],\n\t\t['Bass', 'Bassa_Vah'],\n\t\t['Batk', 'Batak'],\n\t\t['Beng', 'Bengali'],\n\t\t['Bhks', 'Bhaiksuki'],\n\t\t['Bopo', 'Bopomofo'],\n\t\t['Brah', 'Brahmi'],\n\t\t['Brai', 'Braille'],\n\t\t['Bugi', 'Buginese'],\n\t\t['Buhd', 'Buhid'],\n\t\t['Cakm', 'Chakma'],\n\t\t['Cans', 'Canadian_Aboriginal'],\n\t\t['Cari', 'Carian'],\n\t\t['Cham', 'Cham'],\n\t\t['Cher', 'Cherokee'],\n\t\t['Chrs', 'Chorasmian'],\n\t\t['Copt', 'Coptic'],\n\t\t['Qaac', 'Coptic'],\n\t\t['Cpmn', 'Cypro_Minoan'],\n\t\t['Cprt', 'Cypriot'],\n\t\t['Cyrl', 'Cyrillic'],\n\t\t['Deva', 'Devanagari'],\n\t\t['Diak', 'Dives_Akuru'],\n\t\t['Dogr', 'Dogra'],\n\t\t['Dsrt', 'Deseret'],\n\t\t['Dupl', 'Duployan'],\n\t\t['Egyp', 'Egyptian_Hieroglyphs'],\n\t\t['Elba', 'Elbasan'],\n\t\t['Elym', 'Elymaic'],\n\t\t['Ethi', 'Ethiopic'],\n\t\t['Geor', 'Georgian'],\n\t\t['Glag', 'Glagolitic'],\n\t\t['Gong', 'Gunjala_Gondi'],\n\t\t['Gonm', 'Masaram_Gondi'],\n\t\t['Goth', 'Gothic'],\n\t\t['Gran', 'Grantha'],\n\t\t['Grek', 'Greek'],\n\t\t['Gujr', 'Gujarati'],\n\t\t['Guru', 'Gurmukhi'],\n\t\t['Hang', 'Hangul'],\n\t\t['Hani', 'Han'],\n\t\t['Hano', 'Hanunoo'],\n\t\t['Hatr', 'Hatran'],\n\t\t['Hebr', 'Hebrew'],\n\t\t['Hira', 'Hiragana'],\n\t\t['Hluw', 'Anatolian_Hieroglyphs'],\n\t\t['Hmng', 'Pahawh_Hmong'],\n\t\t['Hmnp', 'Nyiakeng_Puachue_Hmong'],\n\t\t['Hrkt', 'Katakana_Or_Hiragana'],\n\t\t['Hung', 'Old_Hungarian'],\n\t\t['Ital', 'Old_Italic'],\n\t\t['Java', 'Javanese'],\n\t\t['Kali', 'Kayah_Li'],\n\t\t['Kana', 'Katakana'],\n\t\t['Kawi', 'Kawi'],\n\t\t['Khar', 'Kharoshthi'],\n\t\t['Khmr', 'Khmer'],\n\t\t['Khoj', 'Khojki'],\n\t\t['Kits', 'Khitan_Small_Script'],\n\t\t['Knda', 'Kannada'],\n\t\t['Kthi', 'Kaithi'],\n\t\t['Lana', 'Tai_Tham'],\n\t\t['Laoo', 'Lao'],\n\t\t['Latn', 'Latin'],\n\t\t['Lepc', 'Lepcha'],\n\t\t['Limb', 'Limbu'],\n\t\t['Lina', 'Linear_A'],\n\t\t['Linb', 'Linear_B'],\n\t\t['Lisu', 'Lisu'],\n\t\t['Lyci', 'Lycian'],\n\t\t['Lydi', 'Lydian'],\n\t\t['Mahj', 'Mahajani'],\n\t\t['Maka', 'Makasar'],\n\t\t['Mand', 'Mandaic'],\n\t\t['Mani', 'Manichaean'],\n\t\t['Marc', 'Marchen'],\n\t\t['Medf', 'Medefaidrin'],\n\t\t['Mend', 'Mende_Kikakui'],\n\t\t['Merc', 'Meroitic_Cursive'],\n\t\t['Mero', 'Meroitic_Hieroglyphs'],\n\t\t['Mlym', 'Malayalam'],\n\t\t['Modi', 'Modi'],\n\t\t['Mong', 'Mongolian'],\n\t\t['Mroo', 'Mro'],\n\t\t['Mtei', 'Meetei_Mayek'],\n\t\t['Mult', 'Multani'],\n\t\t['Mymr', 'Myanmar'],\n\t\t['Nagm', 'Nag_Mundari'],\n\t\t['Nand', 'Nandinagari'],\n\t\t['Narb', 'Old_North_Arabian'],\n\t\t['Nbat', 'Nabataean'],\n\t\t['Newa', 'Newa'],\n\t\t['Nkoo', 'Nko'],\n\t\t['Nshu', 'Nushu'],\n\t\t['Ogam', 'Ogham'],\n\t\t['Olck', 'Ol_Chiki'],\n\t\t['Orkh', 'Old_Turkic'],\n\t\t['Orya', 'Oriya'],\n\t\t['Osge', 'Osage'],\n\t\t['Osma', 'Osmanya'],\n\t\t['Ougr', 'Old_Uyghur'],\n\t\t['Palm', 'Palmyrene'],\n\t\t['Pauc', 'Pau_Cin_Hau'],\n\t\t['Perm', 'Old_Permic'],\n\t\t['Phag', 'Phags_Pa'],\n\t\t['Phli', 'Inscriptional_Pahlavi'],\n\t\t['Phlp', 'Psalter_Pahlavi'],\n\t\t['Phnx', 'Phoenician'],\n\t\t['Plrd', 'Miao'],\n\t\t['Prti', 'Inscriptional_Parthian'],\n\t\t['Rjng', 'Rejang'],\n\t\t['Rohg', 'Hanifi_Rohingya'],\n\t\t['Runr', 'Runic'],\n\t\t['Samr', 'Samaritan'],\n\t\t['Sarb', 'Old_South_Arabian'],\n\t\t['Saur', 'Saurashtra'],\n\t\t['Sgnw', 'SignWriting'],\n\t\t['Shaw', 'Shavian'],\n\t\t['Shrd', 'Sharada'],\n\t\t['Sidd', 'Siddham'],\n\t\t['Sind', 'Khudawadi'],\n\t\t['Sinh', 'Sinhala'],\n\t\t['Sogd', 'Sogdian'],\n\t\t['Sogo', 'Old_Sogdian'],\n\t\t['Sora', 'Sora_Sompeng'],\n\t\t['Soyo', 'Soyombo'],\n\t\t['Sund', 'Sundanese'],\n\t\t['Sylo', 'Syloti_Nagri'],\n\t\t['Syrc', 'Syriac'],\n\t\t['Tagb', 'Tagbanwa'],\n\t\t['Takr', 'Takri'],\n\t\t['Tale', 'Tai_Le'],\n\t\t['Talu', 'New_Tai_Lue'],\n\t\t['Taml', 'Tamil'],\n\t\t['Tang', 'Tangut'],\n\t\t['Tavt', 'Tai_Viet'],\n\t\t['Telu', 'Telugu'],\n\t\t['Tfng', 'Tifinagh'],\n\t\t['Tglg', 'Tagalog'],\n\t\t['Thaa', 'Thaana'],\n\t\t['Thai', 'Thai'],\n\t\t['Tibt', 'Tibetan'],\n\t\t['Tirh', 'Tirhuta'],\n\t\t['Tnsa', 'Tangsa'],\n\t\t['Toto', 'Toto'],\n\t\t['Ugar', 'Ugaritic'],\n\t\t['Vaii', 'Vai'],\n\t\t['Vith', 'Vithkuqi'],\n\t\t['Wara', 'Warang_Citi'],\n\t\t['Wcho', 'Wancho'],\n\t\t['Xpeo', 'Old_Persian'],\n\t\t['Xsux', 'Cuneiform'],\n\t\t['Yezi', 'Yezidi'],\n\t\t['Yiii', 'Yi'],\n\t\t['Zanb', 'Zanabazar_Square'],\n\t\t['Zinh', 'Inherited'],\n\t\t['Qaai', 'Inherited'],\n\t\t['Zyyy', 'Common'],\n\t\t['Zzzz', 'Unknown'],\n\t\t['Adlam', 'Adlam'],\n\t\t['Caucasian_Albanian', 'Caucasian_Albanian'],\n\t\t['Arabic', 'Arabic'],\n\t\t['Imperial_Aramaic', 'Imperial_Aramaic'],\n\t\t['Armenian', 'Armenian'],\n\t\t['Avestan', 'Avestan'],\n\t\t['Balinese', 'Balinese'],\n\t\t['Bamum', 'Bamum'],\n\t\t['Bassa_Vah', 'Bassa_Vah'],\n\t\t['Batak', 'Batak'],\n\t\t['Bengali', 'Bengali'],\n\t\t['Bhaiksuki', 'Bhaiksuki'],\n\t\t['Bopomofo', 'Bopomofo'],\n\t\t['Brahmi', 'Brahmi'],\n\t\t['Braille', 'Braille'],\n\t\t['Buginese', 'Buginese'],\n\t\t['Buhid', 'Buhid'],\n\t\t['Chakma', 'Chakma'],\n\t\t['Canadian_Aboriginal', 'Canadian_Aboriginal'],\n\t\t['Carian', 'Carian'],\n\t\t['Cherokee', 'Cherokee'],\n\t\t['Chorasmian', 'Chorasmian'],\n\t\t['Coptic', 'Coptic'],\n\t\t['Cypro_Minoan', 'Cypro_Minoan'],\n\t\t['Cypriot', 'Cypriot'],\n\t\t['Cyrillic', 'Cyrillic'],\n\t\t['Devanagari', 'Devanagari'],\n\t\t['Dives_Akuru', 'Dives_Akuru'],\n\t\t['Dogra', 'Dogra'],\n\t\t['Deseret', 'Deseret'],\n\t\t['Duployan', 'Duployan'],\n\t\t['Egyptian_Hieroglyphs', 'Egyptian_Hieroglyphs'],\n\t\t['Elbasan', 'Elbasan'],\n\t\t['Elymaic', 'Elymaic'],\n\t\t['Ethiopic', 'Ethiopic'],\n\t\t['Georgian', 'Georgian'],\n\t\t['Glagolitic', 'Glagolitic'],\n\t\t['Gunjala_Gondi', 'Gunjala_Gondi'],\n\t\t['Masaram_Gondi', 'Masaram_Gondi'],\n\t\t['Gothic', 'Gothic'],\n\t\t['Grantha', 'Grantha'],\n\t\t['Greek', 'Greek'],\n\t\t['Gujarati', 'Gujarati'],\n\t\t['Gurmukhi', 'Gurmukhi'],\n\t\t['Hangul', 'Hangul'],\n\t\t['Han', 'Han'],\n\t\t['Hanunoo', 'Hanunoo'],\n\t\t['Hatran', 'Hatran'],\n\t\t['Hebrew', 'Hebrew'],\n\t\t['Hiragana', 'Hiragana'],\n\t\t['Anatolian_Hieroglyphs', 'Anatolian_Hieroglyphs'],\n\t\t['Pahawh_Hmong', 'Pahawh_Hmong'],\n\t\t['Nyiakeng_Puachue_Hmong', 'Nyiakeng_Puachue_Hmong'],\n\t\t['Katakana_Or_Hiragana', 'Katakana_Or_Hiragana'],\n\t\t['Old_Hungarian', 'Old_Hungarian'],\n\t\t['Old_Italic', 'Old_Italic'],\n\t\t['Javanese', 'Javanese'],\n\t\t['Kayah_Li', 'Kayah_Li'],\n\t\t['Katakana', 'Katakana'],\n\t\t['Kharoshthi', 'Kharoshthi'],\n\t\t['Khmer', 'Khmer'],\n\t\t['Khojki', 'Khojki'],\n\t\t['Khitan_Small_Script', 'Khitan_Small_Script'],\n\t\t['Kannada', 'Kannada'],\n\t\t['Kaithi', 'Kaithi'],\n\t\t['Tai_Tham', 'Tai_Tham'],\n\t\t['Lao', 'Lao'],\n\t\t['Latin', 'Latin'],\n\t\t['Lepcha', 'Lepcha'],\n\t\t['Limbu', 'Limbu'],\n\t\t['Linear_A', 'Linear_A'],\n\t\t['Linear_B', 'Linear_B'],\n\t\t['Lycian', 'Lycian'],\n\t\t['Lydian', 'Lydian'],\n\t\t['Mahajani', 'Mahajani'],\n\t\t['Makasar', 'Makasar'],\n\t\t['Mandaic', 'Mandaic'],\n\t\t['Manichaean', 'Manichaean'],\n\t\t['Marchen', 'Marchen'],\n\t\t['Medefaidrin', 'Medefaidrin'],\n\t\t['Mende_Kikakui', 'Mende_Kikakui'],\n\t\t['Meroitic_Cursive', 'Meroitic_Cursive'],\n\t\t['Meroitic_Hieroglyphs', 'Meroitic_Hieroglyphs'],\n\t\t['Malayalam', 'Malayalam'],\n\t\t['Mongolian', 'Mongolian'],\n\t\t['Mro', 'Mro'],\n\t\t['Meetei_Mayek', 'Meetei_Mayek'],\n\t\t['Multani', 'Multani'],\n\t\t['Myanmar', 'Myanmar'],\n\t\t['Nag_Mundari', 'Nag_Mundari'],\n\t\t['Nandinagari', 'Nandinagari'],\n\t\t['Old_North_Arabian', 'Old_North_Arabian'],\n\t\t['Nabataean', 'Nabataean'],\n\t\t['Nko', 'Nko'],\n\t\t['Nushu', 'Nushu'],\n\t\t['Ogham', 'Ogham'],\n\t\t['Ol_Chiki', 'Ol_Chiki'],\n\t\t['Old_Turkic', 'Old_Turkic'],\n\t\t['Oriya', 'Oriya'],\n\t\t['Osage', 'Osage'],\n\t\t['Osmanya', 'Osmanya'],\n\t\t['Old_Uyghur', 'Old_Uyghur'],\n\t\t['Palmyrene', 'Palmyrene'],\n\t\t['Pau_Cin_Hau', 'Pau_Cin_Hau'],\n\t\t['Old_Permic', 'Old_Permic'],\n\t\t['Phags_Pa', 'Phags_Pa'],\n\t\t['Inscriptional_Pahlavi', 'Inscriptional_Pahlavi'],\n\t\t['Psalter_Pahlavi', 'Psalter_Pahlavi'],\n\t\t['Phoenician', 'Phoenician'],\n\t\t['Miao', 'Miao'],\n\t\t['Inscriptional_Parthian', 'Inscriptional_Parthian'],\n\t\t['Rejang', 'Rejang'],\n\t\t['Hanifi_Rohingya', 'Hanifi_Rohingya'],\n\t\t['Runic', 'Runic'],\n\t\t['Samaritan', 'Samaritan'],\n\t\t['Old_South_Arabian', 'Old_South_Arabian'],\n\t\t['Saurashtra', 'Saurashtra'],\n\t\t['SignWriting', 'SignWriting'],\n\t\t['Shavian', 'Shavian'],\n\t\t['Sharada', 'Sharada'],\n\t\t['Siddham', 'Siddham'],\n\t\t['Khudawadi', 'Khudawadi'],\n\t\t['Sinhala', 'Sinhala'],\n\t\t['Sogdian', 'Sogdian'],\n\t\t['Old_Sogdian', 'Old_Sogdian'],\n\t\t['Sora_Sompeng', 'Sora_Sompeng'],\n\t\t['Soyombo', 'Soyombo'],\n\t\t['Sundanese', 'Sundanese'],\n\t\t['Syloti_Nagri', 'Syloti_Nagri'],\n\t\t['Syriac', 'Syriac'],\n\t\t['Tagbanwa', 'Tagbanwa'],\n\t\t['Takri', 'Takri'],\n\t\t['Tai_Le', 'Tai_Le'],\n\t\t['New_Tai_Lue', 'New_Tai_Lue'],\n\t\t['Tamil', 'Tamil'],\n\t\t['Tangut', 'Tangut'],\n\t\t['Tai_Viet', 'Tai_Viet'],\n\t\t['Telugu', 'Telugu'],\n\t\t['Tifinagh', 'Tifinagh'],\n\t\t['Tagalog', 'Tagalog'],\n\t\t['Thaana', 'Thaana'],\n\t\t['Tibetan', 'Tibetan'],\n\t\t['Tirhuta', 'Tirhuta'],\n\t\t['Tangsa', 'Tangsa'],\n\t\t['Ugaritic', 'Ugaritic'],\n\t\t['Vai', 'Vai'],\n\t\t['Vithkuqi', 'Vithkuqi'],\n\t\t['Warang_Citi', 'Warang_Citi'],\n\t\t['Wancho', 'Wancho'],\n\t\t['Old_Persian', 'Old_Persian'],\n\t\t['Cuneiform', 'Cuneiform'],\n\t\t['Yezidi', 'Yezidi'],\n\t\t['Yi', 'Yi'],\n\t\t['Zanabazar_Square', 'Zanabazar_Square'],\n\t\t['Inherited', 'Inherited'],\n\t\t['Common', 'Common'],\n\t\t['Unknown', 'Unknown']\n\t])],\n\t['Script_Extensions', new Map([\n\t\t['Adlm', 'Adlam'],\n\t\t['Aghb', 'Caucasian_Albanian'],\n\t\t['Ahom', 'Ahom'],\n\t\t['Arab', 'Arabic'],\n\t\t['Armi', 'Imperial_Aramaic'],\n\t\t['Armn', 'Armenian'],\n\t\t['Avst', 'Avestan'],\n\t\t['Bali', 'Balinese'],\n\t\t['Bamu', 'Bamum'],\n\t\t['Bass', 'Bassa_Vah'],\n\t\t['Batk', 'Batak'],\n\t\t['Beng', 'Bengali'],\n\t\t['Bhks', 'Bhaiksuki'],\n\t\t['Bopo', 'Bopomofo'],\n\t\t['Brah', 'Brahmi'],\n\t\t['Brai', 'Braille'],\n\t\t['Bugi', 'Buginese'],\n\t\t['Buhd', 'Buhid'],\n\t\t['Cakm', 'Chakma'],\n\t\t['Cans', 'Canadian_Aboriginal'],\n\t\t['Cari', 'Carian'],\n\t\t['Cham', 'Cham'],\n\t\t['Cher', 'Cherokee'],\n\t\t['Chrs', 'Chorasmian'],\n\t\t['Copt', 'Coptic'],\n\t\t['Qaac', 'Coptic'],\n\t\t['Cpmn', 'Cypro_Minoan'],\n\t\t['Cprt', 'Cypriot'],\n\t\t['Cyrl', 'Cyrillic'],\n\t\t['Deva', 'Devanagari'],\n\t\t['Diak', 'Dives_Akuru'],\n\t\t['Dogr', 'Dogra'],\n\t\t['Dsrt', 'Deseret'],\n\t\t['Dupl', 'Duployan'],\n\t\t['Egyp', 'Egyptian_Hieroglyphs'],\n\t\t['Elba', 'Elbasan'],\n\t\t['Elym', 'Elymaic'],\n\t\t['Ethi', 'Ethiopic'],\n\t\t['Geor', 'Georgian'],\n\t\t['Glag', 'Glagolitic'],\n\t\t['Gong', 'Gunjala_Gondi'],\n\t\t['Gonm', 'Masaram_Gondi'],\n\t\t['Goth', 'Gothic'],\n\t\t['Gran', 'Grantha'],\n\t\t['Grek', 'Greek'],\n\t\t['Gujr', 'Gujarati'],\n\t\t['Guru', 'Gurmukhi'],\n\t\t['Hang', 'Hangul'],\n\t\t['Hani', 'Han'],\n\t\t['Hano', 'Hanunoo'],\n\t\t['Hatr', 'Hatran'],\n\t\t['Hebr', 'Hebrew'],\n\t\t['Hira', 'Hiragana'],\n\t\t['Hluw', 'Anatolian_Hieroglyphs'],\n\t\t['Hmng', 'Pahawh_Hmong'],\n\t\t['Hmnp', 'Nyiakeng_Puachue_Hmong'],\n\t\t['Hrkt', 'Katakana_Or_Hiragana'],\n\t\t['Hung', 'Old_Hungarian'],\n\t\t['Ital', 'Old_Italic'],\n\t\t['Java', 'Javanese'],\n\t\t['Kali', 'Kayah_Li'],\n\t\t['Kana', 'Katakana'],\n\t\t['Kawi', 'Kawi'],\n\t\t['Khar', 'Kharoshthi'],\n\t\t['Khmr', 'Khmer'],\n\t\t['Khoj', 'Khojki'],\n\t\t['Kits', 'Khitan_Small_Script'],\n\t\t['Knda', 'Kannada'],\n\t\t['Kthi', 'Kaithi'],\n\t\t['Lana', 'Tai_Tham'],\n\t\t['Laoo', 'Lao'],\n\t\t['Latn', 'Latin'],\n\t\t['Lepc', 'Lepcha'],\n\t\t['Limb', 'Limbu'],\n\t\t['Lina', 'Linear_A'],\n\t\t['Linb', 'Linear_B'],\n\t\t['Lisu', 'Lisu'],\n\t\t['Lyci', 'Lycian'],\n\t\t['Lydi', 'Lydian'],\n\t\t['Mahj', 'Mahajani'],\n\t\t['Maka', 'Makasar'],\n\t\t['Mand', 'Mandaic'],\n\t\t['Mani', 'Manichaean'],\n\t\t['Marc', 'Marchen'],\n\t\t['Medf', 'Medefaidrin'],\n\t\t['Mend', 'Mende_Kikakui'],\n\t\t['Merc', 'Meroitic_Cursive'],\n\t\t['Mero', 'Meroitic_Hieroglyphs'],\n\t\t['Mlym', 'Malayalam'],\n\t\t['Modi', 'Modi'],\n\t\t['Mong', 'Mongolian'],\n\t\t['Mroo', 'Mro'],\n\t\t['Mtei', 'Meetei_Mayek'],\n\t\t['Mult', 'Multani'],\n\t\t['Mymr', 'Myanmar'],\n\t\t['Nagm', 'Nag_Mundari'],\n\t\t['Nand', 'Nandinagari'],\n\t\t['Narb', 'Old_North_Arabian'],\n\t\t['Nbat', 'Nabataean'],\n\t\t['Newa', 'Newa'],\n\t\t['Nkoo', 'Nko'],\n\t\t['Nshu', 'Nushu'],\n\t\t['Ogam', 'Ogham'],\n\t\t['Olck', 'Ol_Chiki'],\n\t\t['Orkh', 'Old_Turkic'],\n\t\t['Orya', 'Oriya'],\n\t\t['Osge', 'Osage'],\n\t\t['Osma', 'Osmanya'],\n\t\t['Ougr', 'Old_Uyghur'],\n\t\t['Palm', 'Palmyrene'],\n\t\t['Pauc', 'Pau_Cin_Hau'],\n\t\t['Perm', 'Old_Permic'],\n\t\t['Phag', 'Phags_Pa'],\n\t\t['Phli', 'Inscriptional_Pahlavi'],\n\t\t['Phlp', 'Psalter_Pahlavi'],\n\t\t['Phnx', 'Phoenician'],\n\t\t['Plrd', 'Miao'],\n\t\t['Prti', 'Inscriptional_Parthian'],\n\t\t['Rjng', 'Rejang'],\n\t\t['Rohg', 'Hanifi_Rohingya'],\n\t\t['Runr', 'Runic'],\n\t\t['Samr', 'Samaritan'],\n\t\t['Sarb', 'Old_South_Arabian'],\n\t\t['Saur', 'Saurashtra'],\n\t\t['Sgnw', 'SignWriting'],\n\t\t['Shaw', 'Shavian'],\n\t\t['Shrd', 'Sharada'],\n\t\t['Sidd', 'Siddham'],\n\t\t['Sind', 'Khudawadi'],\n\t\t['Sinh', 'Sinhala'],\n\t\t['Sogd', 'Sogdian'],\n\t\t['Sogo', 'Old_Sogdian'],\n\t\t['Sora', 'Sora_Sompeng'],\n\t\t['Soyo', 'Soyombo'],\n\t\t['Sund', 'Sundanese'],\n\t\t['Sylo', 'Syloti_Nagri'],\n\t\t['Syrc', 'Syriac'],\n\t\t['Tagb', 'Tagbanwa'],\n\t\t['Takr', 'Takri'],\n\t\t['Tale', 'Tai_Le'],\n\t\t['Talu', 'New_Tai_Lue'],\n\t\t['Taml', 'Tamil'],\n\t\t['Tang', 'Tangut'],\n\t\t['Tavt', 'Tai_Viet'],\n\t\t['Telu', 'Telugu'],\n\t\t['Tfng', 'Tifinagh'],\n\t\t['Tglg', 'Tagalog'],\n\t\t['Thaa', 'Thaana'],\n\t\t['Thai', 'Thai'],\n\t\t['Tibt', 'Tibetan'],\n\t\t['Tirh', 'Tirhuta'],\n\t\t['Tnsa', 'Tangsa'],\n\t\t['Toto', 'Toto'],\n\t\t['Ugar', 'Ugaritic'],\n\t\t['Vaii', 'Vai'],\n\t\t['Vith', 'Vithkuqi'],\n\t\t['Wara', 'Warang_Citi'],\n\t\t['Wcho', 'Wancho'],\n\t\t['Xpeo', 'Old_Persian'],\n\t\t['Xsux', 'Cuneiform'],\n\t\t['Yezi', 'Yezidi'],\n\t\t['Yiii', 'Yi'],\n\t\t['Zanb', 'Zanabazar_Square'],\n\t\t['Zinh', 'Inherited'],\n\t\t['Qaai', 'Inherited'],\n\t\t['Zyyy', 'Common'],\n\t\t['Zzzz', 'Unknown'],\n\t\t['Adlam', 'Adlam'],\n\t\t['Caucasian_Albanian', 'Caucasian_Albanian'],\n\t\t['Arabic', 'Arabic'],\n\t\t['Imperial_Aramaic', 'Imperial_Aramaic'],\n\t\t['Armenian', 'Armenian'],\n\t\t['Avestan', 'Avestan'],\n\t\t['Balinese', 'Balinese'],\n\t\t['Bamum', 'Bamum'],\n\t\t['Bassa_Vah', 'Bassa_Vah'],\n\t\t['Batak', 'Batak'],\n\t\t['Bengali', 'Bengali'],\n\t\t['Bhaiksuki', 'Bhaiksuki'],\n\t\t['Bopomofo', 'Bopomofo'],\n\t\t['Brahmi', 'Brahmi'],\n\t\t['Braille', 'Braille'],\n\t\t['Buginese', 'Buginese'],\n\t\t['Buhid', 'Buhid'],\n\t\t['Chakma', 'Chakma'],\n\t\t['Canadian_Aboriginal', 'Canadian_Aboriginal'],\n\t\t['Carian', 'Carian'],\n\t\t['Cherokee', 'Cherokee'],\n\t\t['Chorasmian', 'Chorasmian'],\n\t\t['Coptic', 'Coptic'],\n\t\t['Cypro_Minoan', 'Cypro_Minoan'],\n\t\t['Cypriot', 'Cypriot'],\n\t\t['Cyrillic', 'Cyrillic'],\n\t\t['Devanagari', 'Devanagari'],\n\t\t['Dives_Akuru', 'Dives_Akuru'],\n\t\t['Dogra', 'Dogra'],\n\t\t['Deseret', 'Deseret'],\n\t\t['Duployan', 'Duployan'],\n\t\t['Egyptian_Hieroglyphs', 'Egyptian_Hieroglyphs'],\n\t\t['Elbasan', 'Elbasan'],\n\t\t['Elymaic', 'Elymaic'],\n\t\t['Ethiopic', 'Ethiopic'],\n\t\t['Georgian', 'Georgian'],\n\t\t['Glagolitic', 'Glagolitic'],\n\t\t['Gunjala_Gondi', 'Gunjala_Gondi'],\n\t\t['Masaram_Gondi', 'Masaram_Gondi'],\n\t\t['Gothic', 'Gothic'],\n\t\t['Grantha', 'Grantha'],\n\t\t['Greek', 'Greek'],\n\t\t['Gujarati', 'Gujarati'],\n\t\t['Gurmukhi', 'Gurmukhi'],\n\t\t['Hangul', 'Hangul'],\n\t\t['Han', 'Han'],\n\t\t['Hanunoo', 'Hanunoo'],\n\t\t['Hatran', 'Hatran'],\n\t\t['Hebrew', 'Hebrew'],\n\t\t['Hiragana', 'Hiragana'],\n\t\t['Anatolian_Hieroglyphs', 'Anatolian_Hieroglyphs'],\n\t\t['Pahawh_Hmong', 'Pahawh_Hmong'],\n\t\t['Nyiakeng_Puachue_Hmong', 'Nyiakeng_Puachue_Hmong'],\n\t\t['Katakana_Or_Hiragana', 'Katakana_Or_Hiragana'],\n\t\t['Old_Hungarian', 'Old_Hungarian'],\n\t\t['Old_Italic', 'Old_Italic'],\n\t\t['Javanese', 'Javanese'],\n\t\t['Kayah_Li', 'Kayah_Li'],\n\t\t['Katakana', 'Katakana'],\n\t\t['Kharoshthi', 'Kharoshthi'],\n\t\t['Khmer', 'Khmer'],\n\t\t['Khojki', 'Khojki'],\n\t\t['Khitan_Small_Script', 'Khitan_Small_Script'],\n\t\t['Kannada', 'Kannada'],\n\t\t['Kaithi', 'Kaithi'],\n\t\t['Tai_Tham', 'Tai_Tham'],\n\t\t['Lao', 'Lao'],\n\t\t['Latin', 'Latin'],\n\t\t['Lepcha', 'Lepcha'],\n\t\t['Limbu', 'Limbu'],\n\t\t['Linear_A', 'Linear_A'],\n\t\t['Linear_B', 'Linear_B'],\n\t\t['Lycian', 'Lycian'],\n\t\t['Lydian', 'Lydian'],\n\t\t['Mahajani', 'Mahajani'],\n\t\t['Makasar', 'Makasar'],\n\t\t['Mandaic', 'Mandaic'],\n\t\t['Manichaean', 'Manichaean'],\n\t\t['Marchen', 'Marchen'],\n\t\t['Medefaidrin', 'Medefaidrin'],\n\t\t['Mende_Kikakui', 'Mende_Kikakui'],\n\t\t['Meroitic_Cursive', 'Meroitic_Cursive'],\n\t\t['Meroitic_Hieroglyphs', 'Meroitic_Hieroglyphs'],\n\t\t['Malayalam', 'Malayalam'],\n\t\t['Mongolian', 'Mongolian'],\n\t\t['Mro', 'Mro'],\n\t\t['Meetei_Mayek', 'Meetei_Mayek'],\n\t\t['Multani', 'Multani'],\n\t\t['Myanmar', 'Myanmar'],\n\t\t['Nag_Mundari', 'Nag_Mundari'],\n\t\t['Nandinagari', 'Nandinagari'],\n\t\t['Old_North_Arabian', 'Old_North_Arabian'],\n\t\t['Nabataean', 'Nabataean'],\n\t\t['Nko', 'Nko'],\n\t\t['Nushu', 'Nushu'],\n\t\t['Ogham', 'Ogham'],\n\t\t['Ol_Chiki', 'Ol_Chiki'],\n\t\t['Old_Turkic', 'Old_Turkic'],\n\t\t['Oriya', 'Oriya'],\n\t\t['Osage', 'Osage'],\n\t\t['Osmanya', 'Osmanya'],\n\t\t['Old_Uyghur', 'Old_Uyghur'],\n\t\t['Palmyrene', 'Palmyrene'],\n\t\t['Pau_Cin_Hau', 'Pau_Cin_Hau'],\n\t\t['Old_Permic', 'Old_Permic'],\n\t\t['Phags_Pa', 'Phags_Pa'],\n\t\t['Inscriptional_Pahlavi', 'Inscriptional_Pahlavi'],\n\t\t['Psalter_Pahlavi', 'Psalter_Pahlavi'],\n\t\t['Phoenician', 'Phoenician'],\n\t\t['Miao', 'Miao'],\n\t\t['Inscriptional_Parthian', 'Inscriptional_Parthian'],\n\t\t['Rejang', 'Rejang'],\n\t\t['Hanifi_Rohingya', 'Hanifi_Rohingya'],\n\t\t['Runic', 'Runic'],\n\t\t['Samaritan', 'Samaritan'],\n\t\t['Old_South_Arabian', 'Old_South_Arabian'],\n\t\t['Saurashtra', 'Saurashtra'],\n\t\t['SignWriting', 'SignWriting'],\n\t\t['Shavian', 'Shavian'],\n\t\t['Sharada', 'Sharada'],\n\t\t['Siddham', 'Siddham'],\n\t\t['Khudawadi', 'Khudawadi'],\n\t\t['Sinhala', 'Sinhala'],\n\t\t['Sogdian', 'Sogdian'],\n\t\t['Old_Sogdian', 'Old_Sogdian'],\n\t\t['Sora_Sompeng', 'Sora_Sompeng'],\n\t\t['Soyombo', 'Soyombo'],\n\t\t['Sundanese', 'Sundanese'],\n\t\t['Syloti_Nagri', 'Syloti_Nagri'],\n\t\t['Syriac', 'Syriac'],\n\t\t['Tagbanwa', 'Tagbanwa'],\n\t\t['Takri', 'Takri'],\n\t\t['Tai_Le', 'Tai_Le'],\n\t\t['New_Tai_Lue', 'New_Tai_Lue'],\n\t\t['Tamil', 'Tamil'],\n\t\t['Tangut', 'Tangut'],\n\t\t['Tai_Viet', 'Tai_Viet'],\n\t\t['Telugu', 'Telugu'],\n\t\t['Tifinagh', 'Tifinagh'],\n\t\t['Tagalog', 'Tagalog'],\n\t\t['Thaana', 'Thaana'],\n\t\t['Tibetan', 'Tibetan'],\n\t\t['Tirhuta', 'Tirhuta'],\n\t\t['Tangsa', 'Tangsa'],\n\t\t['Ugaritic', 'Ugaritic'],\n\t\t['Vai', 'Vai'],\n\t\t['Vithkuqi', 'Vithkuqi'],\n\t\t['Warang_Citi', 'Warang_Citi'],\n\t\t['Wancho', 'Wancho'],\n\t\t['Old_Persian', 'Old_Persian'],\n\t\t['Cuneiform', 'Cuneiform'],\n\t\t['Yezidi', 'Yezidi'],\n\t\t['Yi', 'Yi'],\n\t\t['Zanabazar_Square', 'Zanabazar_Square'],\n\t\t['Inherited', 'Inherited'],\n\t\t['Common', 'Common'],\n\t\t['Unknown', 'Unknown']\n\t])]\n]);\n","module.exports = new Map([\n\t[0x4B, 0x212A],\n\t[0x53, 0x17F],\n\t[0x6B, 0x212A],\n\t[0x73, 0x17F],\n\t[0xB5, 0x39C],\n\t[0xC5, 0x212B],\n\t[0xDF, 0x1E9E],\n\t[0xE5, 0x212B],\n\t[0x17F, 0x53],\n\t[0x1C4, 0x1C5],\n\t[0x1C5, 0x1C4],\n\t[0x1C7, 0x1C8],\n\t[0x1C8, 0x1C7],\n\t[0x1CA, 0x1CB],\n\t[0x1CB, 0x1CA],\n\t[0x1F1, 0x1F2],\n\t[0x1F2, 0x1F1],\n\t[0x345, 0x1FBE],\n\t[0x392, 0x3D0],\n\t[0x395, 0x3F5],\n\t[0x398, 0x3F4],\n\t[0x399, 0x1FBE],\n\t[0x39A, 0x3F0],\n\t[0x39C, 0xB5],\n\t[0x3A0, 0x3D6],\n\t[0x3A1, 0x3F1],\n\t[0x3A3, 0x3C2],\n\t[0x3A6, 0x3D5],\n\t[0x3A9, 0x2126],\n\t[0x3B8, 0x3F4],\n\t[0x3C2, 0x3A3],\n\t[0x3C9, 0x2126],\n\t[0x3D0, 0x392],\n\t[0x3D1, 0x3F4],\n\t[0x3D5, 0x3A6],\n\t[0x3D6, 0x3A0],\n\t[0x3F0, 0x39A],\n\t[0x3F1, 0x3A1],\n\t[0x3F4, [\n\t\t0x398,\n\t\t0x3D1,\n\t\t0x3B8\n\t]],\n\t[0x3F5, 0x395],\n\t[0x412, 0x1C80],\n\t[0x414, 0x1C81],\n\t[0x41E, 0x1C82],\n\t[0x421, 0x1C83],\n\t[0x422, 0x1C85],\n\t[0x42A, 0x1C86],\n\t[0x462, 0x1C87],\n\t[0x1C80, 0x412],\n\t[0x1C81, 0x414],\n\t[0x1C82, 0x41E],\n\t[0x1C83, 0x421],\n\t[0x1C84, 0x1C85],\n\t[0x1C85, [\n\t\t0x422,\n\t\t0x1C84\n\t]],\n\t[0x1C86, 0x42A],\n\t[0x1C87, 0x462],\n\t[0x1C88, 0xA64A],\n\t[0x1E60, 0x1E9B],\n\t[0x1E9B, 0x1E60],\n\t[0x1E9E, 0xDF],\n\t[0x1F80, 0x1F88],\n\t[0x1F81, 0x1F89],\n\t[0x1F82, 0x1F8A],\n\t[0x1F83, 0x1F8B],\n\t[0x1F84, 0x1F8C],\n\t[0x1F85, 0x1F8D],\n\t[0x1F86, 0x1F8E],\n\t[0x1F87, 0x1F8F],\n\t[0x1F88, 0x1F80],\n\t[0x1F89, 0x1F81],\n\t[0x1F8A, 0x1F82],\n\t[0x1F8B, 0x1F83],\n\t[0x1F8C, 0x1F84],\n\t[0x1F8D, 0x1F85],\n\t[0x1F8E, 0x1F86],\n\t[0x1F8F, 0x1F87],\n\t[0x1F90, 0x1F98],\n\t[0x1F91, 0x1F99],\n\t[0x1F92, 0x1F9A],\n\t[0x1F93, 0x1F9B],\n\t[0x1F94, 0x1F9C],\n\t[0x1F95, 0x1F9D],\n\t[0x1F96, 0x1F9E],\n\t[0x1F97, 0x1F9F],\n\t[0x1F98, 0x1F90],\n\t[0x1F99, 0x1F91],\n\t[0x1F9A, 0x1F92],\n\t[0x1F9B, 0x1F93],\n\t[0x1F9C, 0x1F94],\n\t[0x1F9D, 0x1F95],\n\t[0x1F9E, 0x1F96],\n\t[0x1F9F, 0x1F97],\n\t[0x1FA0, 0x1FA8],\n\t[0x1FA1, 0x1FA9],\n\t[0x1FA2, 0x1FAA],\n\t[0x1FA3, 0x1FAB],\n\t[0x1FA4, 0x1FAC],\n\t[0x1FA5, 0x1FAD],\n\t[0x1FA6, 0x1FAE],\n\t[0x1FA7, 0x1FAF],\n\t[0x1FA8, 0x1FA0],\n\t[0x1FA9, 0x1FA1],\n\t[0x1FAA, 0x1FA2],\n\t[0x1FAB, 0x1FA3],\n\t[0x1FAC, 0x1FA4],\n\t[0x1FAD, 0x1FA5],\n\t[0x1FAE, 0x1FA6],\n\t[0x1FAF, 0x1FA7],\n\t[0x1FB3, 0x1FBC],\n\t[0x1FBC, 0x1FB3],\n\t[0x1FBE, [\n\t\t0x345,\n\t\t0x399\n\t]],\n\t[0x1FC3, 0x1FCC],\n\t[0x1FCC, 0x1FC3],\n\t[0x1FF3, 0x1FFC],\n\t[0x1FFC, 0x1FF3],\n\t[0x2126, [\n\t\t0x3A9,\n\t\t0x3C9\n\t]],\n\t[0x212A, 0x4B],\n\t[0x212B, [\n\t\t0xC5,\n\t\t0xE5\n\t]],\n\t[0xA64A, 0x1C88],\n\t[0x10400, 0x10428],\n\t[0x10401, 0x10429],\n\t[0x10402, 0x1042A],\n\t[0x10403, 0x1042B],\n\t[0x10404, 0x1042C],\n\t[0x10405, 0x1042D],\n\t[0x10406, 0x1042E],\n\t[0x10407, 0x1042F],\n\t[0x10408, 0x10430],\n\t[0x10409, 0x10431],\n\t[0x1040A, 0x10432],\n\t[0x1040B, 0x10433],\n\t[0x1040C, 0x10434],\n\t[0x1040D, 0x10435],\n\t[0x1040E, 0x10436],\n\t[0x1040F, 0x10437],\n\t[0x10410, 0x10438],\n\t[0x10411, 0x10439],\n\t[0x10412, 0x1043A],\n\t[0x10413, 0x1043B],\n\t[0x10414, 0x1043C],\n\t[0x10415, 0x1043D],\n\t[0x10416, 0x1043E],\n\t[0x10417, 0x1043F],\n\t[0x10418, 0x10440],\n\t[0x10419, 0x10441],\n\t[0x1041A, 0x10442],\n\t[0x1041B, 0x10443],\n\t[0x1041C, 0x10444],\n\t[0x1041D, 0x10445],\n\t[0x1041E, 0x10446],\n\t[0x1041F, 0x10447],\n\t[0x10420, 0x10448],\n\t[0x10421, 0x10449],\n\t[0x10422, 0x1044A],\n\t[0x10423, 0x1044B],\n\t[0x10424, 0x1044C],\n\t[0x10425, 0x1044D],\n\t[0x10426, 0x1044E],\n\t[0x10427, 0x1044F],\n\t[0x10428, 0x10400],\n\t[0x10429, 0x10401],\n\t[0x1042A, 0x10402],\n\t[0x1042B, 0x10403],\n\t[0x1042C, 0x10404],\n\t[0x1042D, 0x10405],\n\t[0x1042E, 0x10406],\n\t[0x1042F, 0x10407],\n\t[0x10430, 0x10408],\n\t[0x10431, 0x10409],\n\t[0x10432, 0x1040A],\n\t[0x10433, 0x1040B],\n\t[0x10434, 0x1040C],\n\t[0x10435, 0x1040D],\n\t[0x10436, 0x1040E],\n\t[0x10437, 0x1040F],\n\t[0x10438, 0x10410],\n\t[0x10439, 0x10411],\n\t[0x1043A, 0x10412],\n\t[0x1043B, 0x10413],\n\t[0x1043C, 0x10414],\n\t[0x1043D, 0x10415],\n\t[0x1043E, 0x10416],\n\t[0x1043F, 0x10417],\n\t[0x10440, 0x10418],\n\t[0x10441, 0x10419],\n\t[0x10442, 0x1041A],\n\t[0x10443, 0x1041B],\n\t[0x10444, 0x1041C],\n\t[0x10445, 0x1041D],\n\t[0x10446, 0x1041E],\n\t[0x10447, 0x1041F],\n\t[0x10448, 0x10420],\n\t[0x10449, 0x10421],\n\t[0x1044A, 0x10422],\n\t[0x1044B, 0x10423],\n\t[0x1044C, 0x10424],\n\t[0x1044D, 0x10425],\n\t[0x1044E, 0x10426],\n\t[0x1044F, 0x10427],\n\t[0x104B0, 0x104D8],\n\t[0x104B1, 0x104D9],\n\t[0x104B2, 0x104DA],\n\t[0x104B3, 0x104DB],\n\t[0x104B4, 0x104DC],\n\t[0x104B5, 0x104DD],\n\t[0x104B6, 0x104DE],\n\t[0x104B7, 0x104DF],\n\t[0x104B8, 0x104E0],\n\t[0x104B9, 0x104E1],\n\t[0x104BA, 0x104E2],\n\t[0x104BB, 0x104E3],\n\t[0x104BC, 0x104E4],\n\t[0x104BD, 0x104E5],\n\t[0x104BE, 0x104E6],\n\t[0x104BF, 0x104E7],\n\t[0x104C0, 0x104E8],\n\t[0x104C1, 0x104E9],\n\t[0x104C2, 0x104EA],\n\t[0x104C3, 0x104EB],\n\t[0x104C4, 0x104EC],\n\t[0x104C5, 0x104ED],\n\t[0x104C6, 0x104EE],\n\t[0x104C7, 0x104EF],\n\t[0x104C8, 0x104F0],\n\t[0x104C9, 0x104F1],\n\t[0x104CA, 0x104F2],\n\t[0x104CB, 0x104F3],\n\t[0x104CC, 0x104F4],\n\t[0x104CD, 0x104F5],\n\t[0x104CE, 0x104F6],\n\t[0x104CF, 0x104F7],\n\t[0x104D0, 0x104F8],\n\t[0x104D1, 0x104F9],\n\t[0x104D2, 0x104FA],\n\t[0x104D3, 0x104FB],\n\t[0x104D8, 0x104B0],\n\t[0x104D9, 0x104B1],\n\t[0x104DA, 0x104B2],\n\t[0x104DB, 0x104B3],\n\t[0x104DC, 0x104B4],\n\t[0x104DD, 0x104B5],\n\t[0x104DE, 0x104B6],\n\t[0x104DF, 0x104B7],\n\t[0x104E0, 0x104B8],\n\t[0x104E1, 0x104B9],\n\t[0x104E2, 0x104BA],\n\t[0x104E3, 0x104BB],\n\t[0x104E4, 0x104BC],\n\t[0x104E5, 0x104BD],\n\t[0x104E6, 0x104BE],\n\t[0x104E7, 0x104BF],\n\t[0x104E8, 0x104C0],\n\t[0x104E9, 0x104C1],\n\t[0x104EA, 0x104C2],\n\t[0x104EB, 0x104C3],\n\t[0x104EC, 0x104C4],\n\t[0x104ED, 0x104C5],\n\t[0x104EE, 0x104C6],\n\t[0x104EF, 0x104C7],\n\t[0x104F0, 0x104C8],\n\t[0x104F1, 0x104C9],\n\t[0x104F2, 0x104CA],\n\t[0x104F3, 0x104CB],\n\t[0x104F4, 0x104CC],\n\t[0x104F5, 0x104CD],\n\t[0x104F6, 0x104CE],\n\t[0x104F7, 0x104CF],\n\t[0x104F8, 0x104D0],\n\t[0x104F9, 0x104D1],\n\t[0x104FA, 0x104D2],\n\t[0x104FB, 0x104D3],\n\t[0x10570, 0x10597],\n\t[0x10571, 0x10598],\n\t[0x10572, 0x10599],\n\t[0x10573, 0x1059A],\n\t[0x10574, 0x1059B],\n\t[0x10575, 0x1059C],\n\t[0x10576, 0x1059D],\n\t[0x10577, 0x1059E],\n\t[0x10578, 0x1059F],\n\t[0x10579, 0x105A0],\n\t[0x1057A, 0x105A1],\n\t[0x1057C, 0x105A3],\n\t[0x1057D, 0x105A4],\n\t[0x1057E, 0x105A5],\n\t[0x1057F, 0x105A6],\n\t[0x10580, 0x105A7],\n\t[0x10581, 0x105A8],\n\t[0x10582, 0x105A9],\n\t[0x10583, 0x105AA],\n\t[0x10584, 0x105AB],\n\t[0x10585, 0x105AC],\n\t[0x10586, 0x105AD],\n\t[0x10587, 0x105AE],\n\t[0x10588, 0x105AF],\n\t[0x10589, 0x105B0],\n\t[0x1058A, 0x105B1],\n\t[0x1058C, 0x105B3],\n\t[0x1058D, 0x105B4],\n\t[0x1058E, 0x105B5],\n\t[0x1058F, 0x105B6],\n\t[0x10590, 0x105B7],\n\t[0x10591, 0x105B8],\n\t[0x10592, 0x105B9],\n\t[0x10594, 0x105BB],\n\t[0x10595, 0x105BC],\n\t[0x10597, 0x10570],\n\t[0x10598, 0x10571],\n\t[0x10599, 0x10572],\n\t[0x1059A, 0x10573],\n\t[0x1059B, 0x10574],\n\t[0x1059C, 0x10575],\n\t[0x1059D, 0x10576],\n\t[0x1059E, 0x10577],\n\t[0x1059F, 0x10578],\n\t[0x105A0, 0x10579],\n\t[0x105A1, 0x1057A],\n\t[0x105A3, 0x1057C],\n\t[0x105A4, 0x1057D],\n\t[0x105A5, 0x1057E],\n\t[0x105A6, 0x1057F],\n\t[0x105A7, 0x10580],\n\t[0x105A8, 0x10581],\n\t[0x105A9, 0x10582],\n\t[0x105AA, 0x10583],\n\t[0x105AB, 0x10584],\n\t[0x105AC, 0x10585],\n\t[0x105AD, 0x10586],\n\t[0x105AE, 0x10587],\n\t[0x105AF, 0x10588],\n\t[0x105B0, 0x10589],\n\t[0x105B1, 0x1058A],\n\t[0x105B3, 0x1058C],\n\t[0x105B4, 0x1058D],\n\t[0x105B5, 0x1058E],\n\t[0x105B6, 0x1058F],\n\t[0x105B7, 0x10590],\n\t[0x105B8, 0x10591],\n\t[0x105B9, 0x10592],\n\t[0x105BB, 0x10594],\n\t[0x105BC, 0x10595],\n\t[0x10C80, 0x10CC0],\n\t[0x10C81, 0x10CC1],\n\t[0x10C82, 0x10CC2],\n\t[0x10C83, 0x10CC3],\n\t[0x10C84, 0x10CC4],\n\t[0x10C85, 0x10CC5],\n\t[0x10C86, 0x10CC6],\n\t[0x10C87, 0x10CC7],\n\t[0x10C88, 0x10CC8],\n\t[0x10C89, 0x10CC9],\n\t[0x10C8A, 0x10CCA],\n\t[0x10C8B, 0x10CCB],\n\t[0x10C8C, 0x10CCC],\n\t[0x10C8D, 0x10CCD],\n\t[0x10C8E, 0x10CCE],\n\t[0x10C8F, 0x10CCF],\n\t[0x10C90, 0x10CD0],\n\t[0x10C91, 0x10CD1],\n\t[0x10C92, 0x10CD2],\n\t[0x10C93, 0x10CD3],\n\t[0x10C94, 0x10CD4],\n\t[0x10C95, 0x10CD5],\n\t[0x10C96, 0x10CD6],\n\t[0x10C97, 0x10CD7],\n\t[0x10C98, 0x10CD8],\n\t[0x10C99, 0x10CD9],\n\t[0x10C9A, 0x10CDA],\n\t[0x10C9B, 0x10CDB],\n\t[0x10C9C, 0x10CDC],\n\t[0x10C9D, 0x10CDD],\n\t[0x10C9E, 0x10CDE],\n\t[0x10C9F, 0x10CDF],\n\t[0x10CA0, 0x10CE0],\n\t[0x10CA1, 0x10CE1],\n\t[0x10CA2, 0x10CE2],\n\t[0x10CA3, 0x10CE3],\n\t[0x10CA4, 0x10CE4],\n\t[0x10CA5, 0x10CE5],\n\t[0x10CA6, 0x10CE6],\n\t[0x10CA7, 0x10CE7],\n\t[0x10CA8, 0x10CE8],\n\t[0x10CA9, 0x10CE9],\n\t[0x10CAA, 0x10CEA],\n\t[0x10CAB, 0x10CEB],\n\t[0x10CAC, 0x10CEC],\n\t[0x10CAD, 0x10CED],\n\t[0x10CAE, 0x10CEE],\n\t[0x10CAF, 0x10CEF],\n\t[0x10CB0, 0x10CF0],\n\t[0x10CB1, 0x10CF1],\n\t[0x10CB2, 0x10CF2],\n\t[0x10CC0, 0x10C80],\n\t[0x10CC1, 0x10C81],\n\t[0x10CC2, 0x10C82],\n\t[0x10CC3, 0x10C83],\n\t[0x10CC4, 0x10C84],\n\t[0x10CC5, 0x10C85],\n\t[0x10CC6, 0x10C86],\n\t[0x10CC7, 0x10C87],\n\t[0x10CC8, 0x10C88],\n\t[0x10CC9, 0x10C89],\n\t[0x10CCA, 0x10C8A],\n\t[0x10CCB, 0x10C8B],\n\t[0x10CCC, 0x10C8C],\n\t[0x10CCD, 0x10C8D],\n\t[0x10CCE, 0x10C8E],\n\t[0x10CCF, 0x10C8F],\n\t[0x10CD0, 0x10C90],\n\t[0x10CD1, 0x10C91],\n\t[0x10CD2, 0x10C92],\n\t[0x10CD3, 0x10C93],\n\t[0x10CD4, 0x10C94],\n\t[0x10CD5, 0x10C95],\n\t[0x10CD6, 0x10C96],\n\t[0x10CD7, 0x10C97],\n\t[0x10CD8, 0x10C98],\n\t[0x10CD9, 0x10C99],\n\t[0x10CDA, 0x10C9A],\n\t[0x10CDB, 0x10C9B],\n\t[0x10CDC, 0x10C9C],\n\t[0x10CDD, 0x10C9D],\n\t[0x10CDE, 0x10C9E],\n\t[0x10CDF, 0x10C9F],\n\t[0x10CE0, 0x10CA0],\n\t[0x10CE1, 0x10CA1],\n\t[0x10CE2, 0x10CA2],\n\t[0x10CE3, 0x10CA3],\n\t[0x10CE4, 0x10CA4],\n\t[0x10CE5, 0x10CA5],\n\t[0x10CE6, 0x10CA6],\n\t[0x10CE7, 0x10CA7],\n\t[0x10CE8, 0x10CA8],\n\t[0x10CE9, 0x10CA9],\n\t[0x10CEA, 0x10CAA],\n\t[0x10CEB, 0x10CAB],\n\t[0x10CEC, 0x10CAC],\n\t[0x10CED, 0x10CAD],\n\t[0x10CEE, 0x10CAE],\n\t[0x10CEF, 0x10CAF],\n\t[0x10CF0, 0x10CB0],\n\t[0x10CF1, 0x10CB1],\n\t[0x10CF2, 0x10CB2],\n\t[0x118A0, 0x118C0],\n\t[0x118A1, 0x118C1],\n\t[0x118A2, 0x118C2],\n\t[0x118A3, 0x118C3],\n\t[0x118A4, 0x118C4],\n\t[0x118A5, 0x118C5],\n\t[0x118A6, 0x118C6],\n\t[0x118A7, 0x118C7],\n\t[0x118A8, 0x118C8],\n\t[0x118A9, 0x118C9],\n\t[0x118AA, 0x118CA],\n\t[0x118AB, 0x118CB],\n\t[0x118AC, 0x118CC],\n\t[0x118AD, 0x118CD],\n\t[0x118AE, 0x118CE],\n\t[0x118AF, 0x118CF],\n\t[0x118B0, 0x118D0],\n\t[0x118B1, 0x118D1],\n\t[0x118B2, 0x118D2],\n\t[0x118B3, 0x118D3],\n\t[0x118B4, 0x118D4],\n\t[0x118B5, 0x118D5],\n\t[0x118B6, 0x118D6],\n\t[0x118B7, 0x118D7],\n\t[0x118B8, 0x118D8],\n\t[0x118B9, 0x118D9],\n\t[0x118BA, 0x118DA],\n\t[0x118BB, 0x118DB],\n\t[0x118BC, 0x118DC],\n\t[0x118BD, 0x118DD],\n\t[0x118BE, 0x118DE],\n\t[0x118BF, 0x118DF],\n\t[0x118C0, 0x118A0],\n\t[0x118C1, 0x118A1],\n\t[0x118C2, 0x118A2],\n\t[0x118C3, 0x118A3],\n\t[0x118C4, 0x118A4],\n\t[0x118C5, 0x118A5],\n\t[0x118C6, 0x118A6],\n\t[0x118C7, 0x118A7],\n\t[0x118C8, 0x118A8],\n\t[0x118C9, 0x118A9],\n\t[0x118CA, 0x118AA],\n\t[0x118CB, 0x118AB],\n\t[0x118CC, 0x118AC],\n\t[0x118CD, 0x118AD],\n\t[0x118CE, 0x118AE],\n\t[0x118CF, 0x118AF],\n\t[0x118D0, 0x118B0],\n\t[0x118D1, 0x118B1],\n\t[0x118D2, 0x118B2],\n\t[0x118D3, 0x118B3],\n\t[0x118D4, 0x118B4],\n\t[0x118D5, 0x118B5],\n\t[0x118D6, 0x118B6],\n\t[0x118D7, 0x118B7],\n\t[0x118D8, 0x118B8],\n\t[0x118D9, 0x118B9],\n\t[0x118DA, 0x118BA],\n\t[0x118DB, 0x118BB],\n\t[0x118DC, 0x118BC],\n\t[0x118DD, 0x118BD],\n\t[0x118DE, 0x118BE],\n\t[0x118DF, 0x118BF],\n\t[0x16E40, 0x16E60],\n\t[0x16E41, 0x16E61],\n\t[0x16E42, 0x16E62],\n\t[0x16E43, 0x16E63],\n\t[0x16E44, 0x16E64],\n\t[0x16E45, 0x16E65],\n\t[0x16E46, 0x16E66],\n\t[0x16E47, 0x16E67],\n\t[0x16E48, 0x16E68],\n\t[0x16E49, 0x16E69],\n\t[0x16E4A, 0x16E6A],\n\t[0x16E4B, 0x16E6B],\n\t[0x16E4C, 0x16E6C],\n\t[0x16E4D, 0x16E6D],\n\t[0x16E4E, 0x16E6E],\n\t[0x16E4F, 0x16E6F],\n\t[0x16E50, 0x16E70],\n\t[0x16E51, 0x16E71],\n\t[0x16E52, 0x16E72],\n\t[0x16E53, 0x16E73],\n\t[0x16E54, 0x16E74],\n\t[0x16E55, 0x16E75],\n\t[0x16E56, 0x16E76],\n\t[0x16E57, 0x16E77],\n\t[0x16E58, 0x16E78],\n\t[0x16E59, 0x16E79],\n\t[0x16E5A, 0x16E7A],\n\t[0x16E5B, 0x16E7B],\n\t[0x16E5C, 0x16E7C],\n\t[0x16E5D, 0x16E7D],\n\t[0x16E5E, 0x16E7E],\n\t[0x16E5F, 0x16E7F],\n\t[0x16E60, 0x16E40],\n\t[0x16E61, 0x16E41],\n\t[0x16E62, 0x16E42],\n\t[0x16E63, 0x16E43],\n\t[0x16E64, 0x16E44],\n\t[0x16E65, 0x16E45],\n\t[0x16E66, 0x16E46],\n\t[0x16E67, 0x16E47],\n\t[0x16E68, 0x16E48],\n\t[0x16E69, 0x16E49],\n\t[0x16E6A, 0x16E4A],\n\t[0x16E6B, 0x16E4B],\n\t[0x16E6C, 0x16E4C],\n\t[0x16E6D, 0x16E4D],\n\t[0x16E6E, 0x16E4E],\n\t[0x16E6F, 0x16E4F],\n\t[0x16E70, 0x16E50],\n\t[0x16E71, 0x16E51],\n\t[0x16E72, 0x16E52],\n\t[0x16E73, 0x16E53],\n\t[0x16E74, 0x16E54],\n\t[0x16E75, 0x16E55],\n\t[0x16E76, 0x16E56],\n\t[0x16E77, 0x16E57],\n\t[0x16E78, 0x16E58],\n\t[0x16E79, 0x16E59],\n\t[0x16E7A, 0x16E5A],\n\t[0x16E7B, 0x16E5B],\n\t[0x16E7C, 0x16E5C],\n\t[0x16E7D, 0x16E5D],\n\t[0x16E7E, 0x16E5E],\n\t[0x16E7F, 0x16E5F],\n\t[0x1E900, 0x1E922],\n\t[0x1E901, 0x1E923],\n\t[0x1E902, 0x1E924],\n\t[0x1E903, 0x1E925],\n\t[0x1E904, 0x1E926],\n\t[0x1E905, 0x1E927],\n\t[0x1E906, 0x1E928],\n\t[0x1E907, 0x1E929],\n\t[0x1E908, 0x1E92A],\n\t[0x1E909, 0x1E92B],\n\t[0x1E90A, 0x1E92C],\n\t[0x1E90B, 0x1E92D],\n\t[0x1E90C, 0x1E92E],\n\t[0x1E90D, 0x1E92F],\n\t[0x1E90E, 0x1E930],\n\t[0x1E90F, 0x1E931],\n\t[0x1E910, 0x1E932],\n\t[0x1E911, 0x1E933],\n\t[0x1E912, 0x1E934],\n\t[0x1E913, 0x1E935],\n\t[0x1E914, 0x1E936],\n\t[0x1E915, 0x1E937],\n\t[0x1E916, 0x1E938],\n\t[0x1E917, 0x1E939],\n\t[0x1E918, 0x1E93A],\n\t[0x1E919, 0x1E93B],\n\t[0x1E91A, 0x1E93C],\n\t[0x1E91B, 0x1E93D],\n\t[0x1E91C, 0x1E93E],\n\t[0x1E91D, 0x1E93F],\n\t[0x1E91E, 0x1E940],\n\t[0x1E91F, 0x1E941],\n\t[0x1E920, 0x1E942],\n\t[0x1E921, 0x1E943],\n\t[0x1E922, 0x1E900],\n\t[0x1E923, 0x1E901],\n\t[0x1E924, 0x1E902],\n\t[0x1E925, 0x1E903],\n\t[0x1E926, 0x1E904],\n\t[0x1E927, 0x1E905],\n\t[0x1E928, 0x1E906],\n\t[0x1E929, 0x1E907],\n\t[0x1E92A, 0x1E908],\n\t[0x1E92B, 0x1E909],\n\t[0x1E92C, 0x1E90A],\n\t[0x1E92D, 0x1E90B],\n\t[0x1E92E, 0x1E90C],\n\t[0x1E92F, 0x1E90D],\n\t[0x1E930, 0x1E90E],\n\t[0x1E931, 0x1E90F],\n\t[0x1E932, 0x1E910],\n\t[0x1E933, 0x1E911],\n\t[0x1E934, 0x1E912],\n\t[0x1E935, 0x1E913],\n\t[0x1E936, 0x1E914],\n\t[0x1E937, 0x1E915],\n\t[0x1E938, 0x1E916],\n\t[0x1E939, 0x1E917],\n\t[0x1E93A, 0x1E918],\n\t[0x1E93B, 0x1E919],\n\t[0x1E93C, 0x1E91A],\n\t[0x1E93D, 0x1E91B],\n\t[0x1E93E, 0x1E91C],\n\t[0x1E93F, 0x1E91D],\n\t[0x1E940, 0x1E91E],\n\t[0x1E941, 0x1E91F],\n\t[0x1E942, 0x1E920],\n\t[0x1E943, 0x1E921]\n]);\n","// Generated using `npm run build`. Do not edit.\n'use strict';\n\nconst regenerate = require('regenerate');\n\nexports.REGULAR = new Map([\n\t['d', regenerate()\n\t\t.addRange(0x30, 0x39)],\n\t['D', regenerate()\n\t\t.addRange(0x0, 0x2F)\n\t\t.addRange(0x3A, 0xFFFF)],\n\t['s', regenerate(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000, 0xFEFF)\n\t\t.addRange(0x9, 0xD)\n\t\t.addRange(0x2000, 0x200A)\n\t\t.addRange(0x2028, 0x2029)],\n\t['S', regenerate()\n\t\t.addRange(0x0, 0x8)\n\t\t.addRange(0xE, 0x1F)\n\t\t.addRange(0x21, 0x9F)\n\t\t.addRange(0xA1, 0x167F)\n\t\t.addRange(0x1681, 0x1FFF)\n\t\t.addRange(0x200B, 0x2027)\n\t\t.addRange(0x202A, 0x202E)\n\t\t.addRange(0x2030, 0x205E)\n\t\t.addRange(0x2060, 0x2FFF)\n\t\t.addRange(0x3001, 0xFEFE)\n\t\t.addRange(0xFF00, 0xFFFF)],\n\t['w', regenerate(0x5F)\n\t\t.addRange(0x30, 0x39)\n\t\t.addRange(0x41, 0x5A)\n\t\t.addRange(0x61, 0x7A)],\n\t['W', regenerate(0x60)\n\t\t.addRange(0x0, 0x2F)\n\t\t.addRange(0x3A, 0x40)\n\t\t.addRange(0x5B, 0x5E)\n\t\t.addRange(0x7B, 0xFFFF)]\n]);\n\nexports.UNICODE = new Map([\n\t['d', regenerate()\n\t\t.addRange(0x30, 0x39)],\n\t['D', regenerate()\n\t\t.addRange(0x0, 0x2F)\n\t\t.addRange(0x3A, 0x10FFFF)],\n\t['s', regenerate(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000, 0xFEFF)\n\t\t.addRange(0x9, 0xD)\n\t\t.addRange(0x2000, 0x200A)\n\t\t.addRange(0x2028, 0x2029)],\n\t['S', regenerate()\n\t\t.addRange(0x0, 0x8)\n\t\t.addRange(0xE, 0x1F)\n\t\t.addRange(0x21, 0x9F)\n\t\t.addRange(0xA1, 0x167F)\n\t\t.addRange(0x1681, 0x1FFF)\n\t\t.addRange(0x200B, 0x2027)\n\t\t.addRange(0x202A, 0x202E)\n\t\t.addRange(0x2030, 0x205E)\n\t\t.addRange(0x2060, 0x2FFF)\n\t\t.addRange(0x3001, 0xFEFE)\n\t\t.addRange(0xFF00, 0x10FFFF)],\n\t['w', regenerate(0x5F)\n\t\t.addRange(0x30, 0x39)\n\t\t.addRange(0x41, 0x5A)\n\t\t.addRange(0x61, 0x7A)],\n\t['W', regenerate(0x60)\n\t\t.addRange(0x0, 0x2F)\n\t\t.addRange(0x3A, 0x40)\n\t\t.addRange(0x5B, 0x5E)\n\t\t.addRange(0x7B, 0x10FFFF)]\n]);\n\nexports.UNICODE_IGNORE_CASE = new Map([\n\t['d', regenerate()\n\t\t.addRange(0x30, 0x39)],\n\t['D', regenerate()\n\t\t.addRange(0x0, 0x2F)\n\t\t.addRange(0x3A, 0x10FFFF)],\n\t['s', regenerate(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000, 0xFEFF)\n\t\t.addRange(0x9, 0xD)\n\t\t.addRange(0x2000, 0x200A)\n\t\t.addRange(0x2028, 0x2029)],\n\t['S', regenerate()\n\t\t.addRange(0x0, 0x8)\n\t\t.addRange(0xE, 0x1F)\n\t\t.addRange(0x21, 0x9F)\n\t\t.addRange(0xA1, 0x167F)\n\t\t.addRange(0x1681, 0x1FFF)\n\t\t.addRange(0x200B, 0x2027)\n\t\t.addRange(0x202A, 0x202E)\n\t\t.addRange(0x2030, 0x205E)\n\t\t.addRange(0x2060, 0x2FFF)\n\t\t.addRange(0x3001, 0xFEFE)\n\t\t.addRange(0xFF00, 0x10FFFF)],\n\t['w', regenerate(0x5F, 0x17F, 0x212A)\n\t\t.addRange(0x30, 0x39)\n\t\t.addRange(0x41, 0x5A)\n\t\t.addRange(0x61, 0x7A)],\n\t['W', regenerate(0x60)\n\t\t.addRange(0x0, 0x2F)\n\t\t.addRange(0x3A, 0x40)\n\t\t.addRange(0x5B, 0x5E)\n\t\t.addRange(0x7B, 0x17E)\n\t\t.addRange(0x180, 0x2129)\n\t\t.addRange(0x212B, 0x10FFFF)]\n]);\n","'use strict';\n\nconst generate = require('@babel/regjsgen').generate;\nconst parse = require('regjsparser').parse;\nconst regenerate = require('regenerate');\nconst unicodeMatchProperty = require('unicode-match-property-ecmascript');\nconst unicodeMatchPropertyValue = require('unicode-match-property-value-ecmascript');\nconst iuMappings = require('./data/iu-mappings.js');\nconst ESCAPE_SETS = require('./data/character-class-escape-sets.js');\n\nfunction flatMap(array, callback) {\n\tconst result = [];\n\tarray.forEach(item => {\n\t\tconst res = callback(item);\n\t\tif (Array.isArray(res)) {\n\t\t\tresult.push.apply(result, res);\n\t\t} else {\n\t\t\tresult.push(res);\n\t\t}\n\t});\n\treturn result;\n}\n\nconst SPECIAL_CHARS = /([\\\\^$.*+?()[\\]{}|])/g;\n\n// Prepare a Regenerate set containing all code points, used for negative\n// character classes (if any).\nconst UNICODE_SET = regenerate().addRange(0x0, 0x10FFFF);\n\nconst ASTRAL_SET = regenerate().addRange(0x10000, 0x10FFFF);\n\nconst NEWLINE_SET = regenerate().add(\n\t// `LineTerminator`s (https://mths.be/es6#sec-line-terminators):\n\t0x000A, // Line Feed \n\t0x000D, // Carriage Return \n\t0x2028, // Line Separator \n\t0x2029 // Paragraph Separator \n);\n\n// Prepare a Regenerate set containing all code points that are supposed to be\n// matched by `/./u`. https://mths.be/es6#sec-atom\nconst DOT_SET_UNICODE = UNICODE_SET.clone() // all Unicode code points\n\t.remove(NEWLINE_SET);\n\nconst getCharacterClassEscapeSet = (character, unicode, ignoreCase) => {\n\tif (unicode) {\n\t\tif (ignoreCase) {\n\t\t\treturn ESCAPE_SETS.UNICODE_IGNORE_CASE.get(character);\n\t\t}\n\t\treturn ESCAPE_SETS.UNICODE.get(character);\n\t}\n\treturn ESCAPE_SETS.REGULAR.get(character);\n};\n\nconst getUnicodeDotSet = (dotAll) => {\n\treturn dotAll ? UNICODE_SET : DOT_SET_UNICODE;\n};\n\nconst getUnicodePropertyValueSet = (property, value) => {\n\tconst path = value ?\n\t\t`${ property }/${ value }` :\n\t\t`Binary_Property/${ property }`;\n\ttry {\n\t\treturn require(`regenerate-unicode-properties/${ path }.js`);\n\t} catch (exception) {\n\t\tthrow new Error(\n\t\t\t`Failed to recognize value \\`${ value }\\` for property ` +\n\t\t\t`\\`${ property }\\`.`\n\t\t);\n\t}\n};\n\nconst handleLoneUnicodePropertyNameOrValue = (value) => {\n\t// It could be a `General_Category` value or a binary property.\n\t// Note: `unicodeMatchPropertyValue` throws on invalid values.\n\ttry {\n\t\tconst property = 'General_Category';\n\t\tconst category = unicodeMatchPropertyValue(property, value);\n\t\treturn getUnicodePropertyValueSet(property, category);\n\t} catch (exception) {}\n\t// It’s not a `General_Category` value, so check if it’s a property\n\t// of strings.\n\ttry {\n\t\treturn getUnicodePropertyValueSet('Property_of_Strings', value);\n\t} catch (exception) {}\n\t// Lastly, check if it’s a binary property of single code points.\n\t// Note: `unicodeMatchProperty` throws on invalid properties.\n\tconst property = unicodeMatchProperty(value);\n\treturn getUnicodePropertyValueSet(property);\n};\n\nconst getUnicodePropertyEscapeSet = (value, isNegative) => {\n\tconst parts = value.split('=');\n\tconst firstPart = parts[0];\n\tlet set;\n\tif (parts.length == 1) {\n\t\tset = handleLoneUnicodePropertyNameOrValue(firstPart);\n\t} else {\n\t\t// The pattern consists of two parts, i.e. `Property=Value`.\n\t\tconst property = unicodeMatchProperty(firstPart);\n\t\tconst value = unicodeMatchPropertyValue(property, parts[1]);\n\t\tset = getUnicodePropertyValueSet(property, value);\n\t}\n\tif (isNegative) {\n\t\tif (set.strings) {\n\t\t\tthrow new Error('Cannot negate Unicode property of strings');\n\t\t}\n\t\treturn {\n\t\t\tcharacters: UNICODE_SET.clone().remove(set.characters),\n\t\t\tstrings: new Set()\n\t\t};\n\t}\n\treturn {\n\t\tcharacters: set.characters.clone(),\n\t\tstrings: set.strings\n\t\t\t// We need to escape strings like *️⃣ to make sure that they can be safely used in unions.\n\t\t\t? new Set(set.strings.map(str => str.replace(SPECIAL_CHARS, '\\\\$1')))\n\t\t\t: new Set()\n\t};\n};\n\nconst getUnicodePropertyEscapeCharacterClassData = (property, isNegative) => {\n\tconst set = getUnicodePropertyEscapeSet(property, isNegative);\n\tconst data = getCharacterClassEmptyData();\n\tdata.singleChars = set.characters;\n\tif (set.strings.size > 0) {\n\t\tdata.longStrings = set.strings;\n\t\tdata.maybeIncludesStrings = true;\n\t}\n\treturn data;\n};\n\nfunction configNeedCaseFoldAscii() {\n\treturn !!config.modifiersData.i;\n}\n\nfunction configNeedCaseFoldUnicode() {\n\t// config.modifiersData.i : undefined | false\n\tif (config.modifiersData.i === false) return false;\n\tif (!config.transform.unicodeFlag) return false;\n\treturn Boolean(config.modifiersData.i || config.flags.ignoreCase);\n}\n\n// Given a range of code points, add any case-folded code points in that range\n// to a set.\nregenerate.prototype.iuAddRange = function(min, max) {\n\tconst $this = this;\n\tdo {\n\t\tconst folded = caseFold(min, configNeedCaseFoldAscii(), configNeedCaseFoldUnicode());\n\t\tif (folded) {\n\t\t\t$this.add(folded);\n\t\t}\n\t} while (++min <= max);\n\treturn $this;\n};\nregenerate.prototype.iuRemoveRange = function(min, max) {\n\tconst $this = this;\n\tdo {\n\t\tconst folded = caseFold(min, configNeedCaseFoldAscii(), configNeedCaseFoldUnicode());\n\t\tif (folded) {\n\t\t\t$this.remove(folded);\n\t\t}\n\t} while (++min <= max);\n\treturn $this;\n};\n\nconst update = (item, pattern) => {\n\tlet tree = parse(pattern, config.useUnicodeFlag ? 'u' : '', {\n\t\tlookbehind: true,\n\t\tnamedGroups: true,\n\t\tunicodePropertyEscape: true,\n\t\tunicodeSet: true,\n\t\tmodifiers: true,\n\t});\n\tswitch (tree.type) {\n\t\tcase 'characterClass':\n\t\tcase 'group':\n\t\tcase 'value':\n\t\t\t// No wrapping needed.\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t// Wrap the pattern in a non-capturing group.\n\t\t\ttree = wrap(tree, pattern);\n\t}\n\tObject.assign(item, tree);\n};\n\nconst wrap = (tree, pattern) => {\n\t// Wrap the pattern in a non-capturing group.\n\treturn {\n\t\t'type': 'group',\n\t\t'behavior': 'ignore',\n\t\t'body': [tree],\n\t\t'raw': `(?:${ pattern })`\n\t};\n};\n\nconst caseFold = (codePoint, includeAscii, includeUnicode) => {\n\tlet folded = (includeUnicode ? iuMappings.get(codePoint) : undefined) || [];\n\tif (typeof folded === 'number') folded = [folded];\n\tif (includeAscii) {\n\t\tif (codePoint >= 0x41 && codePoint <= 0x5A) {\n\t\t\tfolded.push(codePoint + 0x20);\n\t\t} else if (codePoint >= 0x61 && codePoint <= 0x7A) {\n\t\t\tfolded.push(codePoint - 0x20);\n\t\t}\n\t}\n\treturn folded.length == 0 ? false : folded;\n};\n\nconst buildHandler = (action) => {\n\tswitch (action) {\n\t\tcase 'union':\n\t\t\treturn {\n\t\t\t\tsingle: (data, cp) => {\n\t\t\t\t\tdata.singleChars.add(cp);\n\t\t\t\t},\n\t\t\t\tregSet: (data, set2) => {\n\t\t\t\t\tdata.singleChars.add(set2);\n\t\t\t\t},\n\t\t\t\trange: (data, start, end) => {\n\t\t\t\t\tdata.singleChars.addRange(start, end);\n\t\t\t\t},\n\t\t\t\tiuRange: (data, start, end) => {\n\t\t\t\t\tdata.singleChars.iuAddRange(start, end);\n\t\t\t\t},\n\t\t\t\tnested: (data, nestedData) => {\n\t\t\t\t\tdata.singleChars.add(nestedData.singleChars);\n\t\t\t\t\tfor (const str of nestedData.longStrings) data.longStrings.add(str);\n\t\t\t\t\tif (nestedData.maybeIncludesStrings) data.maybeIncludesStrings = true;\n\t\t\t\t}\n\t\t\t};\n\t\tcase 'union-negative': {\n\t\t\tconst regSet = (data, set2) => {\n\t\t\t\tdata.singleChars = UNICODE_SET.clone().remove(set2).add(data.singleChars);\n\t\t\t};\n\t\t\treturn {\n\t\t\t\tsingle: (data, cp) => {\n\t\t\t\t\tconst unicode = UNICODE_SET.clone();\n\t\t\t\t\tdata.singleChars = data.singleChars.contains(cp) ? unicode : unicode.remove(cp);\n\t\t\t\t},\n\t\t\t\tregSet: regSet,\n\t\t\t\trange: (data, start, end) => {\n\t\t\t\t\tdata.singleChars = UNICODE_SET.clone().removeRange(start, end).add(data.singleChars);\n\t\t\t\t},\n\t\t\t\tiuRange: (data, start, end) => {\n\t\t\t\t\tdata.singleChars = UNICODE_SET.clone().iuRemoveRange(start, end).add(data.singleChars);\n\t\t\t\t},\n\t\t\t\tnested: (data, nestedData) => {\n\t\t\t\t\tregSet(data, nestedData.singleChars);\n\t\t\t\t\tif (nestedData.maybeIncludesStrings) throw new Error('ASSERTION ERROR');\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\tcase 'intersection': {\n\t\t\tconst regSet = (data, set2) => {\n\t\t\t\tif (data.first) data.singleChars = set2;\n\t\t\t\telse data.singleChars.intersection(set2);\n\t\t\t};\n\t\t\treturn {\n\t\t\t\tsingle: (data, cp) => {\n\t\t\t\t\tdata.singleChars = data.first || data.singleChars.contains(cp) ? regenerate(cp) : regenerate();\n\t\t\t\t\tdata.longStrings.clear();\n\t\t\t\t\tdata.maybeIncludesStrings = false;\n\t\t\t\t},\n\t\t\t\tregSet: (data, set) => {\n\t\t\t\t\tregSet(data, set);\n\t\t\t\t\tdata.longStrings.clear();\n\t\t\t\t\tdata.maybeIncludesStrings = false;\n\t\t\t\t},\n\t\t\t\trange: (data, start, end) => {\n\t\t\t\t\tif (data.first) data.singleChars.addRange(start, end);\n\t\t\t\t\telse data.singleChars.intersection(regenerate().addRange(start, end));\n\t\t\t\t\tdata.longStrings.clear();\n\t\t\t\t\tdata.maybeIncludesStrings = false;\n\t\t\t\t},\n\t\t\t\tiuRange: (data, start, end) => {\n\t\t\t\t\tif (data.first) data.singleChars.iuAddRange(start, end);\n\t\t\t\t\telse data.singleChars.intersection(regenerate().iuAddRange(start, end));\n\t\t\t\t\tdata.longStrings.clear();\n\t\t\t\t\tdata.maybeIncludesStrings = false;\n\t\t\t\t},\n\t\t\t\tnested: (data, nestedData) => {\n\t\t\t\t\tregSet(data, nestedData.singleChars);\n\n\t\t\t\t\tif (data.first) {\n\t\t\t\t\t\tdata.longStrings = nestedData.longStrings;\n\t\t\t\t\t\tdata.maybeIncludesStrings = nestedData.maybeIncludesStrings;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfor (const str of data.longStrings) {\n\t\t\t\t\t\t\tif (!nestedData.longStrings.has(str)) data.longStrings.delete(str);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!nestedData.maybeIncludesStrings) data.maybeIncludesStrings = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\tcase 'subtraction': {\n\t\t\tconst regSet = (data, set2) => {\n\t\t\t\tif (data.first) data.singleChars.add(set2);\n\t\t\t\telse data.singleChars.remove(set2);\n\t\t\t};\n\t\t\treturn {\n\t\t\t\tsingle: (data, cp) => {\n\t\t\t\t\tif (data.first) data.singleChars.add(cp);\n\t\t\t\t\telse data.singleChars.remove(cp);\n\t\t\t\t},\n\t\t\t\tregSet: regSet,\n\t\t\t\trange: (data, start, end) => {\n\t\t\t\t\tif (data.first) data.singleChars.addRange(start, end);\n\t\t\t\t\telse data.singleChars.removeRange(start, end);\n\t\t\t\t},\n\t\t\t\tiuRange: (data, start, end) => {\n\t\t\t\t\tif (data.first) data.singleChars.iuAddRange(start, end);\n\t\t\t\t\telse data.singleChars.iuRemoveRange(start, end);\n\t\t\t\t},\n\t\t\t\tnested: (data, nestedData) => {\n\t\t\t\t\tregSet(data, nestedData.singleChars);\n\n\t\t\t\t\tif (data.first) {\n\t\t\t\t\t\tdata.longStrings = nestedData.longStrings;\n\t\t\t\t\t\tdata.maybeIncludesStrings = nestedData.maybeIncludesStrings;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfor (const str of data.longStrings) {\n\t\t\t\t\t\t\tif (nestedData.longStrings.has(str)) data.longStrings.delete(str);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\t// The `default` clause is only here as a safeguard; it should never be\n\t\t// reached. Code coverage tools should ignore it.\n\t\t/* istanbul ignore next */\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown set action: ${ characterClassItem.kind }`);\n\t}\n};\n\nconst getCharacterClassEmptyData = () => ({\n\ttransformed: config.transform.unicodeFlag,\n\tsingleChars: regenerate(),\n\tlongStrings: new Set(),\n\thasEmptyString: false,\n\tfirst: true,\n\tmaybeIncludesStrings: false\n});\n\nconst maybeFold = (codePoint) => {\n\tconst caseFoldAscii = configNeedCaseFoldAscii();\n\tconst caseFoldUnicode = configNeedCaseFoldUnicode();\n\n\tif (caseFoldAscii || caseFoldUnicode) {\n\t\tconst folded = caseFold(codePoint, caseFoldAscii, caseFoldUnicode);\n\t\tif (folded) {\n\t\t\treturn [codePoint, folded];\n\t\t}\n\t}\n\treturn [codePoint];\n};\n\nconst computeClassStrings = (classStrings, regenerateOptions) => {\n\tlet data = getCharacterClassEmptyData();\n\n\tconst caseFoldAscii = configNeedCaseFoldAscii();\n\tconst caseFoldUnicode = configNeedCaseFoldUnicode();\n\n\tfor (const string of classStrings.strings) {\n\t\tif (string.characters.length === 1) {\n\t\t\tmaybeFold(string.characters[0].codePoint).forEach((cp) => {\n\t\t\t\tdata.singleChars.add(cp);\n\t\t\t});\n\t\t} else {\n\t\t\tlet stringifiedString;\n\t\t\tif (caseFoldUnicode || caseFoldAscii) {\n\t\t\t\tstringifiedString = '';\n\t\t\t\tfor (const ch of string.characters) {\n\t\t\t\t\tlet set = regenerate(ch.codePoint);\n\t\t\t\t\tconst folded = maybeFold(ch.codePoint);\n\t\t\t\t\tif (folded) set.add(folded);\n\t\t\t\t\tstringifiedString += set.toString(regenerateOptions);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tstringifiedString = string.characters.map(ch => generate(ch)).join('')\n\t\t\t}\n\n\t\t\tdata.longStrings.add(stringifiedString);\n\t\t\tdata.maybeIncludesStrings = true;\n\t\t}\n\t}\n\n\treturn data;\n}\n\nconst computeCharacterClass = (characterClassItem, regenerateOptions) => {\n\tlet data = getCharacterClassEmptyData();\n\n\tlet handlePositive;\n\tlet handleNegative;\n\n\tswitch (characterClassItem.kind) {\n\t\tcase 'union':\n\t\t\thandlePositive = buildHandler('union');\n\t\t\thandleNegative = buildHandler('union-negative');\n\t\t\tbreak;\n\t\tcase 'intersection':\n\t\t\thandlePositive = buildHandler('intersection');\n\t\t\thandleNegative = buildHandler('subtraction');\n\t\t\tbreak;\n\t\tcase 'subtraction':\n\t\t\thandlePositive = buildHandler('subtraction');\n\t\t\thandleNegative = buildHandler('intersection');\n\t\t\tbreak;\n\t\t// The `default` clause is only here as a safeguard; it should never be\n\t\t// reached. Code coverage tools should ignore it.\n\t\t/* istanbul ignore next */\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown character class kind: ${ characterClassItem.kind }`);\n\t}\n\n\tconst caseFoldAscii = configNeedCaseFoldAscii();\n\tconst caseFoldUnicode = configNeedCaseFoldUnicode();\n\n\tfor (const item of characterClassItem.body) {\n\t\tswitch (item.type) {\n\t\t\tcase 'value':\n\t\t\t\tmaybeFold(item.codePoint).forEach((cp) => {\n\t\t\t\t\thandlePositive.single(data, cp);\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 'characterClassRange':\n\t\t\t\tconst min = item.min.codePoint;\n\t\t\t\tconst max = item.max.codePoint;\n\t\t\t\thandlePositive.range(data, min, max);\n\t\t\t\tif (caseFoldAscii || caseFoldUnicode) {\n\t\t\t\t\thandlePositive.iuRange(data, min, max);\n\t\t\t\t\tdata.transformed = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'characterClassEscape':\n\t\t\t\thandlePositive.regSet(data, getCharacterClassEscapeSet(\n\t\t\t\t\titem.value,\n\t\t\t\t\tconfig.flags.unicode,\n\t\t\t\t\tconfig.flags.ignoreCase\n\t\t\t\t));\n\t\t\t\tbreak;\n\t\t\tcase 'unicodePropertyEscape':\n\t\t\t\tconst nestedData = getUnicodePropertyEscapeCharacterClassData(item.value, item.negative);\n\t\t\t\thandlePositive.nested(data, nestedData);\n\t\t\t\tdata.transformed =\n\t\t\t\t\tdata.transformed ||\n\t\t\t\t\tconfig.transform.unicodePropertyEscapes ||\n\t\t\t\t\t(config.transform.unicodeSetsFlag && nestedData.maybeIncludesStrings);\n\t\t\t\tbreak;\n\t\t\tcase 'characterClass':\n\t\t\t\tconst handler = item.negative ? handleNegative : handlePositive;\n\t\t\t\tconst res = computeCharacterClass(item, regenerateOptions);\n\t\t\t\thandler.nested(data, res);\n\t\t\t\tdata.transformed = true;\n\t\t\t\tbreak;\n\t\t\tcase 'classStrings':\n\t\t\t\thandlePositive.nested(data, computeClassStrings(item, regenerateOptions));\n\t\t\t\tdata.transformed = true;\n\t\t\t\tbreak;\n\t\t\t// The `default` clause is only here as a safeguard; it should never be\n\t\t\t// reached. Code coverage tools should ignore it.\n\t\t\t/* istanbul ignore next */\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unknown term type: ${ item.type }`);\n\t\t}\n\n\t\tdata.first = false;\n\t}\n\n\tif (characterClassItem.negative && data.maybeIncludesStrings) {\n\t\tthrow new SyntaxError('Cannot negate set containing strings');\n\t}\n\n\treturn data;\n}\n\nconst processCharacterClass = (\n\tcharacterClassItem,\n\tregenerateOptions,\n\tcomputed = computeCharacterClass(characterClassItem, regenerateOptions)\n) => {\n\tconst negative = characterClassItem.negative;\n\tconst { singleChars, transformed, longStrings } = computed;\n\tif (transformed) {\n\t\tconst setStr = singleChars.toString(regenerateOptions);\n\n\t\tif (negative) {\n\t\t\tif (config.useUnicodeFlag) {\n\t\t\t\tupdate(characterClassItem, `[^${setStr[0] === '[' ? setStr.slice(1, -1) : setStr}]`)\n\t\t\t} else {\n\t\t\t\tif (config.flags.unicode) {\n\t\t\t\t\tif (config.flags.ignoreCase) {\n\t\t\t\t\t\tconst astralCharsSet = singleChars.clone().intersection(ASTRAL_SET);\n\t\t\t\t\t\t// Assumption: singleChars do not contain lone surrogates.\n\t\t\t\t\t\t// Regex like /[^\\ud800]/u is not supported\n\t\t\t\t\t\tconst surrogateOrBMPSetStr = singleChars\n\t\t\t\t\t\t\t.clone()\n\t\t\t\t\t\t\t.remove(astralCharsSet)\n\t\t\t\t\t\t\t.addRange(0xd800, 0xdfff)\n\t\t\t\t\t\t\t.toString({ bmpOnly: true });\n\t\t\t\t\t\t// Don't generate negative lookahead for astral characters\n\t\t\t\t\t\t// because the case folding is not working anyway as we break\n\t\t\t\t\t\t// code points into surrogate pairs.\n\t\t\t\t\t\tconst astralNegativeSetStr = ASTRAL_SET\n\t\t\t\t\t\t\t.clone()\n\t\t\t\t\t\t\t.remove(astralCharsSet)\n\t\t\t\t\t\t\t.toString(regenerateOptions);\n\t\t\t\t\t\t// The transform here does not support lone surrogates.\n\t\t\t\t\t\tupdate(\n\t\t\t\t\t\t\tcharacterClassItem,\n\t\t\t\t\t\t\t`(?!${surrogateOrBMPSetStr})[\\\\s\\\\S]|${astralNegativeSetStr}`\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Generate negative set directly when case folding is not involved.\n\t\t\t\t\t\tupdate(\n\t\t\t\t\t\t\tcharacterClassItem,\n\t\t\t\t\t\t\tUNICODE_SET.clone().remove(singleChars).toString(regenerateOptions)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tupdate(characterClassItem, `(?!${setStr})[\\\\s\\\\S]`);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst hasEmptyString = longStrings.has('');\n\t\t\tconst pieces = Array.from(longStrings).sort((a, b) => b.length - a.length);\n\n\t\t\tif (setStr !== '[]' || longStrings.size === 0) {\n\t\t\t\tpieces.splice(pieces.length - (hasEmptyString ? 1 : 0), 0, setStr);\n\t\t\t}\n\n\t\t\tupdate(characterClassItem, pieces.join('|'));\n\t\t}\n\t}\n\treturn characterClassItem;\n};\n\nconst assertNoUnmatchedReferences = (groups) => {\n\tconst unmatchedReferencesNames = Object.keys(groups.unmatchedReferences);\n\tif (unmatchedReferencesNames.length > 0) {\n\t\tthrow new Error(`Unknown group names: ${unmatchedReferencesNames}`);\n\t}\n};\n\nconst processModifiers = (item, regenerateOptions, groups) => {\n\tconst enabling = item.modifierFlags.enabling;\n\tconst disabling = item.modifierFlags.disabling;\n\n\tdelete item.modifierFlags;\n\titem.behavior = 'ignore';\n\n\tconst oldData = Object.assign({}, config.modifiersData);\n\n\tenabling.split('').forEach(flag => {\n\t\tconfig.modifiersData[flag] = true;\n\t});\n\tdisabling.split('').forEach(flag => {\n\t\tconfig.modifiersData[flag] = false;\n\t});\n\n\titem.body = item.body.map(term => {\n\t\treturn processTerm(term, regenerateOptions, groups);\n\t});\n\n\tconfig.modifiersData = oldData;\n\n\treturn item;\n}\n\nconst processTerm = (item, regenerateOptions, groups) => {\n\tswitch (item.type) {\n\t\tcase 'dot':\n\t\t\tif (config.transform.unicodeFlag) {\n\t\t\t\tupdate(\n\t\t\t\t\titem,\n\t\t\t\t\tgetUnicodeDotSet(config.flags.dotAll || config.modifiersData.s).toString(regenerateOptions)\n\t\t\t\t);\n\t\t\t} else if (config.transform.dotAllFlag || config.modifiersData.s) {\n\t\t\t\t// TODO: consider changing this at the regenerate level.\n\t\t\t\tupdate(item, '[\\\\s\\\\S]');\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'characterClass':\n\t\t\titem = processCharacterClass(item, regenerateOptions);\n\t\t\tbreak;\n\t\tcase 'unicodePropertyEscape':\n\t\t\tconst data = getUnicodePropertyEscapeCharacterClassData(item.value, item.negative);\n\t\t\tif (data.maybeIncludesStrings) {\n\t\t\t\tif (!config.flags.unicodeSets) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t'Properties of strings are only supported when using the unicodeSets (v) flag.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (config.transform.unicodeSetsFlag) {\n\t\t\t\t\tdata.transformed = true;\n\t\t\t\t\titem = processCharacterClass(item, regenerateOptions, data);\n\t\t\t\t}\n\t\t\t} else if (config.transform.unicodePropertyEscapes) {\n\t\t\t\tupdate(\n\t\t\t\t\titem,\n\t\t\t\t\tdata.singleChars.toString(regenerateOptions)\n\t\t\t\t);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'characterClassEscape':\n\t\t\tif (config.transform.unicodeFlag) {\n\t\t\t\tupdate(\n\t\t\t\t\titem,\n\t\t\t\t\tgetCharacterClassEscapeSet(\n\t\t\t\t\t\titem.value,\n\t\t\t\t\t\t/* config.transform.unicodeFlag implies config.flags.unicode */ true,\n\t\t\t\t\t\tconfig.flags.ignoreCase\n\t\t\t\t\t).toString(regenerateOptions)\n\t\t\t\t);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'group':\n\t\t\tif (item.behavior == 'normal') {\n\t\t\t\tgroups.lastIndex++;\n\t\t\t}\n\t\t\tif (item.name) {\n\t\t\t\tconst name = item.name.value;\n\n\t\t\t\tif (groups.namesConflicts[name]) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Group '${ name }' has already been defined in this context.`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tgroups.namesConflicts[name] = true;\n\n\t\t\t\tif (config.transform.namedGroups) {\n\t\t\t\t\tdelete item.name;\n\t\t\t\t}\n\n\t\t\t\tconst index = groups.lastIndex;\n\t\t\t\tif (!groups.names[name]) {\n\t\t\t\t\tgroups.names[name] = [];\n\t\t\t\t}\n\t\t\t\tgroups.names[name].push(index);\n\n\t\t\t\tif (groups.onNamedGroup) {\n\t\t\t\t\tgroups.onNamedGroup.call(null, name, index);\n\t\t\t\t}\n\n\t\t\t\tif (groups.unmatchedReferences[name]) {\n\t\t\t\t\tdelete groups.unmatchedReferences[name];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (item.modifierFlags && config.transform.modifiers) {\n\t\t\t\treturn processModifiers(item, regenerateOptions, groups);\n\t\t\t}\n\t\t\t/* falls through */\n\t\tcase 'quantifier':\n\t\t\titem.body = item.body.map(term => {\n\t\t\t\treturn processTerm(term, regenerateOptions, groups);\n\t\t\t});\n\t\t\tbreak;\n\t\tcase 'disjunction':\n\t\t\tconst outerNamesConflicts = groups.namesConflicts;\n\t\t\titem.body = item.body.map(term => {\n\t\t\t\tgroups.namesConflicts = Object.create(outerNamesConflicts);\n\t\t\t\treturn processTerm(term, regenerateOptions, groups);\n\t\t\t});\n\t\t\tbreak;\n\t\tcase 'alternative':\n\t\t\titem.body = flatMap(item.body, term => {\n\t\t\t\tconst res = processTerm(term, regenerateOptions, groups);\n\t\t\t\t// Alternatives cannot contain alternatives; flatten them.\n\t\t\t\treturn res.type === 'alternative' ? res.body : res;\n\t\t\t});\n\t\t\tbreak;\n\t\tcase 'value':\n\t\t\tconst codePoint = item.codePoint;\n\t\t\tconst set = regenerate(codePoint);\n\t\t\tconst folded = maybeFold(codePoint);\n\t\t\tset.add(folded);\n\t\t\tupdate(item, set.toString(regenerateOptions));\n\t\t\tbreak;\n\t\tcase 'reference':\n\t\t\tif (item.name) {\n\t\t\t\tconst name = item.name.value;\n\t\t\t\tconst indexes = groups.names[name];\n\t\t\t\tif (!indexes) {\n\t\t\t\t\tgroups.unmatchedReferences[name] = true;\n\t\t\t\t}\n\n\t\t\t\tif (config.transform.namedGroups) {\n\t\t\t\t\tif (indexes) {\n\t\t\t\t\t\tconst body = indexes.map(index => ({\n\t\t\t\t\t\t\t'type': 'reference',\n\t\t\t\t\t\t\t'matchIndex': index,\n\t\t\t\t\t\t\t'raw': '\\\\' + index,\n\t\t\t\t\t\t}));\n\t\t\t\t\t\tif (body.length === 1) {\n\t\t\t\t\t\t\treturn body[0];\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t'type': 'alternative',\n\t\t\t\t\t\t\t'body': body,\n\t\t\t\t\t\t\t'raw': body.map(term => term.raw).join(''),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\t// This named reference comes before the group where it’s defined,\n\t\t\t\t\t// so it’s always an empty match.\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'type': 'group',\n\t\t\t\t\t\t'behavior': 'ignore',\n\t\t\t\t\t\t'body': [],\n\t\t\t\t\t\t'raw': '(?:)',\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'anchor':\n\t\t\tif (config.modifiersData.m) {\n\t\t\t\tif (item.kind == 'start') {\n\t\t\t\t\tupdate(item, `(?:^|(?<=${NEWLINE_SET.toString()}))`);\n\t\t\t\t} else if (item.kind == 'end') {\n\t\t\t\t\tupdate(item, `(?:$|(?=${NEWLINE_SET.toString()}))`);\n\t\t\t\t}\n\t\t\t}\n\t\tcase 'empty':\n\t\t\t// Nothing to do here.\n\t\t\tbreak;\n\t\t// The `default` clause is only here as a safeguard; it should never be\n\t\t// reached. Code coverage tools should ignore it.\n\t\t/* istanbul ignore next */\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown term type: ${ item.type }`);\n\t}\n\treturn item;\n};\n\nconst config = {\n\t'flags': {\n\t\t'ignoreCase': false,\n\t\t'unicode': false,\n\t\t'unicodeSets': false,\n\t\t'dotAll': false,\n\t\t'multiline': false,\n\t},\n\t'transform': {\n\t\t'dotAllFlag': false,\n\t\t'unicodeFlag': false,\n\t\t'unicodeSetsFlag': false,\n\t\t'unicodePropertyEscapes': false,\n\t\t'namedGroups': false,\n\t\t'modifiers': false,\n\t},\n\t'modifiersData': {\n\t\t'i': undefined,\n\t\t's': undefined,\n\t\t'm': undefined,\n\t},\n\tget useUnicodeFlag() {\n\t\treturn (this.flags.unicode || this.flags.unicodeSets) && !this.transform.unicodeFlag;\n\t}\n};\n\nconst validateOptions = (options) => {\n\tif (!options) return;\n\n\tfor (const key of Object.keys(options)) {\n\t\tconst value = options[key];\n\t\tswitch (key) {\n\t\t\tcase 'dotAllFlag':\n\t\t\tcase 'unicodeFlag':\n\t\t\tcase 'unicodePropertyEscapes':\n\t\t\tcase 'namedGroups':\n\t\t\t\tif (value != null && value !== false && value !== 'transform') {\n\t\t\t\t\tthrow new Error(`.${key} must be false (default) or 'transform'.`);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'modifiers':\n\t\t\tcase 'unicodeSetsFlag':\n\t\t\t\tif (value != null && value !== false && value !== 'parse' && value !== 'transform') {\n\t\t\t\t\tthrow new Error(`.${key} must be false (default), 'parse' or 'transform'.`);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'onNamedGroup':\n\t\t\tcase 'onNewFlags':\n\t\t\t\tif (value != null && typeof value !== 'function') {\n\t\t\t\t\tthrow new Error(`.${key} must be a function.`);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`.${key} is not a valid regexpu-core option.`);\n\t\t}\n\t}\n};\n\nconst hasFlag = (flags, flag) => flags ? flags.includes(flag) : false;\nconst transform = (options, name) => options ? options[name] === 'transform' : false;\n\nconst rewritePattern = (pattern, flags, options) => {\n\tvalidateOptions(options);\n\n\tconfig.flags.unicode = hasFlag(flags, 'u');\n\tconfig.flags.unicodeSets = hasFlag(flags, 'v');\n\tconfig.flags.ignoreCase = hasFlag(flags, 'i');\n\tconfig.flags.dotAll = hasFlag(flags, 's');\n\tconfig.flags.multiline = hasFlag(flags, 'm');\n\n\tconfig.transform.dotAllFlag = config.flags.dotAll && transform(options, 'dotAllFlag');\n\tconfig.transform.unicodeFlag = (config.flags.unicode || config.flags.unicodeSets) && transform(options, 'unicodeFlag');\n\tconfig.transform.unicodeSetsFlag = config.flags.unicodeSets && transform(options, 'unicodeSetsFlag');\n\n\t// unicodeFlag: 'transform' implies unicodePropertyEscapes: 'transform'\n\tconfig.transform.unicodePropertyEscapes = config.flags.unicode && (\n\t\ttransform(options, 'unicodeFlag') || transform(options, 'unicodePropertyEscapes')\n\t);\n\tconfig.transform.namedGroups = transform(options, 'namedGroups');\n\tconfig.transform.modifiers = transform(options, 'modifiers');\n\n\tconfig.modifiersData.i = undefined;\n\tconfig.modifiersData.s = undefined;\n\tconfig.modifiersData.m = undefined;\n\n\tconst regjsparserFeatures = {\n\t\t'unicodeSet': Boolean(options && options.unicodeSetsFlag),\n\t\t'modifiers': Boolean(options && options.modifiers),\n\n\t\t// Enable every stable RegExp feature by default\n\t\t'unicodePropertyEscape': true,\n\t\t'namedGroups': true,\n\t\t'lookbehind': true,\n\t};\n\n\tconst regenerateOptions = {\n\t\t'hasUnicodeFlag': config.useUnicodeFlag,\n\t\t'bmpOnly': !config.flags.unicode\n\t};\n\n\tconst groups = {\n\t\t'onNamedGroup': options && options.onNamedGroup,\n\t\t'lastIndex': 0,\n\t\t'names': Object.create(null), // { [name]: Array }\n\t\t'namesConflicts': Object.create(null), // { [name]: true }\n\t\t'unmatchedReferences': Object.create(null) // { [name]: true }\n\t};\n\n\tconst tree = parse(pattern, flags, regjsparserFeatures);\n\n\tif (config.transform.modifiers) {\n\t\tif (/\\(\\?[a-z]*-[a-z]+:/.test(pattern)) {\n\t\t\t// the pattern _likely_ contain inline disabled modifiers\n\t\t\t// we need to traverse to make sure that they are actually modifiers and to collect them\n\t\t\tconst allDisabledModifiers = Object.create(null)\n\t\t\tconst itemStack = [tree];\n\t\t\tlet node;\n\t\t\twhile (node = itemStack.pop(), node != undefined) {\n\t\t\t\tif (Array.isArray(node)) {\n\t\t\t\t\tArray.prototype.push.apply(itemStack, node);\n\t\t\t\t} else if (typeof node == 'object' && node != null) {\n\t\t\t\t\tfor (const key of Object.keys(node)) {\n\t\t\t\t\t\tconst value = node[key];\n\t\t\t\t\t\tif (key == 'modifierFlags') {\n\t\t\t\t\t\t\tif (value.disabling.length > 0){\n\t\t\t\t\t\t\t\tvalue.disabling.split('').forEach((flag)=>{\n\t\t\t\t\t\t\t\t\tallDisabledModifiers[flag] = true\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (typeof value == 'object' && value != null) {\n\t\t\t\t\t\t\titemStack.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (const flag of Object.keys(allDisabledModifiers)) {\n\t\t\t\tconfig.modifiersData[flag] = true;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Note: `processTerm` mutates `tree` and `groups`.\n\tprocessTerm(tree, regenerateOptions, groups);\n\tassertNoUnmatchedReferences(groups);\n\n\tconst onNewFlags = options && options.onNewFlags;\n\tif (onNewFlags) {\n\t\tlet newFlags = flags.split('').filter((flag) => !config.modifiersData[flag]).join('');\n\t\tif (config.transform.unicodeSetsFlag) {\n\t\t\tnewFlags = newFlags.replace('v', 'u');\n\t\t}\n\t\tif (config.transform.unicodeFlag) {\n\t\t\tnewFlags = newFlags.replace('u', '');\n\t\t}\n\t\tif (config.transform.dotAllFlag === 'transform') {\n\t\t\tnewFlags = newFlags.replace('s', '');\n\t\t}\n\t\tonNewFlags(newFlags);\n\t}\n\n\treturn generate(tree);\n};\n\nmodule.exports = rewritePattern;\n","// env vars from the cli are always strings, so !!ENV_VAR returns true for \"false\"\nfunction bool(value) {\n if (value == null) return false;\n return value && value !== \"false\" && value !== \"0\";\n}\n\nmodule.exports = bool(process.env[\"BABEL_8_BREAKING\"])\n ? require(\"semver-BABEL_8_BREAKING-true\")\n : require(\"semver-BABEL_8_BREAKING-false\");\n","export const FEATURES = Object.freeze({\n unicodeFlag: 1 << 0,\n dotAllFlag: 1 << 1,\n unicodePropertyEscape: 1 << 2,\n namedCaptureGroups: 1 << 3,\n // Not used, for backward compatibility with syntax-unicode-sets-regex\n unicodeSetsFlag_syntax: 1 << 4,\n unicodeSetsFlag: 1 << 5,\n duplicateNamedCaptureGroups: 1 << 6,\n modifiers: 1 << 7,\n});\n\n// We can't use a symbol because this needs to always be the same, even if\n// this package isn't deduped by npm. e.g.\n// - node_modules/\n// - @babel/plugin-regexp-features\n// - @babel/plugin-transform-unicode-property-regex\n// - node_modules\n// - @babel-plugin-regexp-features\nexport const featuresKey = \"@babel/plugin-regexp-features/featuresKey\";\nexport const runtimeKey = \"@babel/plugin-regexp-features/runtimeKey\";\n\ntype FeatureType = (typeof FEATURES)[keyof typeof FEATURES];\n\nexport function enableFeature(features: number, feature: FeatureType): number {\n return features | feature;\n}\n\nexport function hasFeature(features: number, feature: FeatureType) {\n return !!(features & feature);\n}\n","import type { types as t } from \"@babel/core\";\nimport { FEATURES, hasFeature } from \"./features.ts\";\n\nimport type { RegexpuOptions } from \"regexpu-core\";\n\nexport function generateRegexpuOptions(\n pattern: string,\n toTransform: number,\n): RegexpuOptions {\n type Experimental = 1;\n\n const feat = (\n name: keyof typeof FEATURES,\n ok: \"transform\" | (Stability extends 0 ? never : \"parse\") = \"transform\",\n ) => {\n return hasFeature(toTransform, FEATURES[name]) ? ok : false;\n };\n\n const featDuplicateNamedGroups = (): \"transform\" | false => {\n if (!feat(\"duplicateNamedCaptureGroups\")) return false;\n\n // This can return false positive, for example for /\\(?\\)/.\n // However, it's such a rare occurrence that it's ok to compile\n // the regexp even if we only need to compile regexps with\n // duplicate named capturing groups.\n const regex = /\\(\\?<([^>]+)>/g;\n const seen = new Set();\n for (let match; (match = regex.exec(pattern)); seen.add(match[1])) {\n if (seen.has(match[1])) return \"transform\";\n }\n return false;\n };\n\n return {\n unicodeFlag: feat(\"unicodeFlag\"),\n unicodeSetsFlag: feat(\"unicodeSetsFlag\") || \"parse\",\n dotAllFlag: feat(\"dotAllFlag\"),\n unicodePropertyEscapes: feat(\"unicodePropertyEscape\"),\n namedGroups: feat(\"namedCaptureGroups\") || featDuplicateNamedGroups(),\n onNamedGroup: () => {},\n modifiers: feat(\"modifiers\"),\n };\n}\n\nexport function canSkipRegexpu(\n node: t.RegExpLiteral,\n options: RegexpuOptions,\n): boolean {\n const { flags, pattern } = node;\n\n if (flags.includes(\"v\")) {\n if (options.unicodeSetsFlag === \"transform\") return false;\n }\n\n if (flags.includes(\"u\")) {\n if (options.unicodeFlag === \"transform\") return false;\n if (\n options.unicodePropertyEscapes === \"transform\" &&\n /\\\\[pP]{/.test(pattern)\n ) {\n return false;\n }\n }\n\n if (flags.includes(\"s\")) {\n if (options.dotAllFlag === \"transform\") return false;\n }\n\n if (options.namedGroups === \"transform\" && /\\(\\?<(?![=!])/.test(pattern)) {\n return false;\n }\n\n if (options.modifiers === \"transform\" && /\\(\\?[\\w-]+:/.test(pattern)) {\n return false;\n }\n\n return true;\n}\n\nexport function transformFlags(regexpuOptions: RegexpuOptions, flags: string) {\n if (regexpuOptions.unicodeSetsFlag === \"transform\") {\n flags = flags.replace(\"v\", \"u\");\n }\n if (regexpuOptions.unicodeFlag === \"transform\") {\n flags = flags.replace(\"u\", \"\");\n }\n if (regexpuOptions.dotAllFlag === \"transform\") {\n flags = flags.replace(\"s\", \"\");\n }\n return flags;\n}\n","import rewritePattern from \"regexpu-core\";\nimport type { NodePath } from \"@babel/traverse\";\nimport { types as t, type PluginObject } from \"@babel/core\";\nimport annotateAsPure from \"@babel/helper-annotate-as-pure\";\n\nimport semver from \"semver\";\n\nimport {\n featuresKey,\n FEATURES,\n enableFeature,\n runtimeKey,\n hasFeature,\n} from \"./features.ts\";\nimport {\n generateRegexpuOptions,\n canSkipRegexpu,\n transformFlags,\n} from \"./util.ts\";\n\nconst versionKey = \"@babel/plugin-regexp-features/version\";\n\nexport interface Options {\n name: string;\n feature: keyof typeof FEATURES;\n options?: {\n useUnicodeFlag?: boolean;\n runtime?: boolean;\n };\n manipulateOptions?: PluginObject[\"manipulateOptions\"];\n}\n\nexport function createRegExpFeaturePlugin({\n name,\n feature,\n options = {},\n manipulateOptions = () => {},\n}: Options): PluginObject {\n return {\n name,\n\n manipulateOptions,\n\n pre() {\n const { file } = this;\n const features = file.get(featuresKey) ?? 0;\n let newFeatures = enableFeature(features, FEATURES[feature]);\n\n const { useUnicodeFlag, runtime } = options;\n if (useUnicodeFlag === false) {\n newFeatures = enableFeature(newFeatures, FEATURES.unicodeFlag);\n }\n if (newFeatures !== features) {\n file.set(featuresKey, newFeatures);\n }\n\n if (runtime !== undefined) {\n if (\n file.has(runtimeKey) &&\n file.get(runtimeKey) !== runtime &&\n (process.env.BABEL_8_BREAKING ||\n // This check. Is necessary because in Babel 7 we allow multiple\n // copies of transform-named-capturing-groups-regex with\n // conflicting 'runtime' options.\n hasFeature(newFeatures, FEATURES.duplicateNamedCaptureGroups))\n ) {\n throw new Error(\n `The 'runtime' option must be the same for ` +\n `'@babel/plugin-transform-named-capturing-groups-regex' and ` +\n `'@babel/plugin-proposal-duplicate-named-capturing-groups-regex'.`,\n );\n }\n\n if (process.env.BABEL_8_BREAKING) {\n file.set(runtimeKey, runtime);\n } else if (\n // This check. Is necessary because in Babel 7 we allow multiple\n // copies of transform-named-capturing-groups-regex with\n // conflicting 'runtime' options.\n feature === \"namedCaptureGroups\"\n ) {\n if (!runtime || !file.has(runtimeKey)) file.set(runtimeKey, runtime);\n } else {\n file.set(runtimeKey, runtime);\n }\n }\n\n if (!process.env.BABEL_8_BREAKING) {\n // Until 7.21.4, we used to encode the version as a number.\n // If file.get(versionKey) is a number, it has thus been\n // set by an older version of this plugin.\n if (typeof file.get(versionKey) === \"number\") {\n file.set(versionKey, PACKAGE_JSON.version);\n return;\n }\n }\n if (\n !file.get(versionKey) ||\n semver.lt(file.get(versionKey), PACKAGE_JSON.version)\n ) {\n file.set(versionKey, PACKAGE_JSON.version);\n }\n },\n\n visitor: {\n RegExpLiteral(path) {\n const { node } = path;\n const { file } = this;\n const features = file.get(featuresKey);\n const runtime = file.get(runtimeKey) ?? true;\n\n const regexpuOptions = generateRegexpuOptions(node.pattern, features);\n if (canSkipRegexpu(node, regexpuOptions)) {\n return;\n }\n\n const namedCaptureGroups: Record = {\n __proto__: null,\n };\n if (regexpuOptions.namedGroups === \"transform\") {\n regexpuOptions.onNamedGroup = (name, index) => {\n const prev = namedCaptureGroups[name];\n if (typeof prev === \"number\") {\n namedCaptureGroups[name] = [prev, index];\n } else if (Array.isArray(prev)) {\n prev.push(index);\n } else {\n namedCaptureGroups[name] = index;\n }\n };\n }\n\n let newFlags;\n if (regexpuOptions.modifiers === \"transform\") {\n regexpuOptions.onNewFlags = flags => {\n newFlags = flags;\n };\n }\n\n node.pattern = rewritePattern(node.pattern, node.flags, regexpuOptions);\n\n if (\n regexpuOptions.namedGroups === \"transform\" &&\n Object.keys(namedCaptureGroups).length > 0 &&\n runtime &&\n !isRegExpTest(path)\n ) {\n const call = t.callExpression(this.addHelper(\"wrapRegExp\"), [\n node,\n t.valueToNode(namedCaptureGroups),\n ]);\n annotateAsPure(call);\n\n path.replaceWith(call);\n }\n\n node.flags = transformFlags(regexpuOptions, newFlags ?? node.flags);\n },\n },\n };\n}\n\nfunction isRegExpTest(path: NodePath) {\n return (\n path.parentPath.isMemberExpression({\n object: path.node,\n computed: false,\n }) && path.parentPath.get(\"property\").isIdentifier({ name: \"test\" })\n );\n}\n","/* eslint-disable @babel/development/plugin-name */\nimport { createRegExpFeaturePlugin } from \"@babel/helper-create-regexp-features-plugin\";\nimport { declare } from \"@babel/helper-plugin-utils\";\n\nexport interface Options {\n runtime?: boolean;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(\"^7.19.0\");\n\n const { runtime } = options;\n if (runtime !== undefined && typeof runtime !== \"boolean\") {\n throw new Error(\"The 'runtime' option must be boolean\");\n }\n\n return createRegExpFeaturePlugin({\n name: \"proposal-duplicate-named-capturing-groups-regex\",\n feature: \"duplicateNamedCaptureGroups\",\n options: { runtime },\n });\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nconst SUPPORTED_MODULES = [\"commonjs\", \"amd\", \"systemjs\"];\n\nconst MODULES_NOT_FOUND = `\\\n@babel/plugin-transform-dynamic-import depends on a modules\ntransform plugin. Supported plugins are:\n - @babel/plugin-transform-modules-commonjs ^7.4.0\n - @babel/plugin-transform-modules-amd ^7.4.0\n - @babel/plugin-transform-modules-systemjs ^7.4.0\n\nIf you are using Webpack or Rollup and thus don't want\nBabel to transpile your imports and exports, you can use\nthe @babel/plugin-syntax-dynamic-import plugin and let your\nbundler handle dynamic imports.\n`;\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-dynamic-import\",\n inherits: USE_ESM\n ? undefined\n : IS_STANDALONE\n ? undefined\n : // eslint-disable-next-line no-restricted-globals\n require(\"@babel/plugin-syntax-dynamic-import\").default,\n\n pre() {\n // We keep using the old name, for compatibility with older\n // version of the CommonJS transform.\n this.file.set(\n \"@babel/plugin-proposal-dynamic-import\",\n PACKAGE_JSON.version,\n );\n },\n\n visitor: {\n Program() {\n const modules = this.file.get(\"@babel/plugin-transform-modules-*\");\n\n if (!SUPPORTED_MODULES.includes(modules)) {\n throw new Error(MODULES_NOT_FOUND);\n }\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport syntaxExportDefaultFrom from \"@babel/plugin-syntax-export-default-from\";\nimport { types as t } from \"@babel/core\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"proposal-export-default-from\",\n inherits: syntaxExportDefaultFrom,\n\n visitor: {\n ExportNamedDeclaration(path) {\n const { node } = path;\n const { specifiers, source } = node;\n if (!t.isExportDefaultSpecifier(specifiers[0])) return;\n\n const { exported } = specifiers.shift();\n\n if (specifiers.every(s => t.isExportSpecifier(s))) {\n specifiers.unshift(\n t.exportSpecifier(t.identifier(\"default\"), exported),\n );\n return;\n }\n\n path.insertBefore(\n t.exportNamedDeclaration(\n null,\n [t.exportSpecifier(t.identifier(\"default\"), exported)],\n t.cloneNode(source),\n ),\n );\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-export-namespace-from\",\n inherits: USE_ESM\n ? undefined\n : IS_STANDALONE\n ? undefined\n : // eslint-disable-next-line no-restricted-globals\n require(\"@babel/plugin-syntax-export-namespace-from\").default,\n\n visitor: {\n ExportNamedDeclaration(path) {\n const { node, scope } = path;\n const { specifiers } = node;\n\n const index = t.isExportDefaultSpecifier(specifiers[0]) ? 1 : 0;\n if (!t.isExportNamespaceSpecifier(specifiers[index])) return;\n\n const nodes = [];\n\n if (index === 1) {\n nodes.push(\n t.exportNamedDeclaration(null, [specifiers.shift()], node.source),\n );\n }\n\n const specifier = specifiers.shift();\n const { exported } = specifier;\n const uid = scope.generateUidIdentifier(\n // @ts-expect-error Identifier ?? StringLiteral\n exported.name ?? exported.value,\n );\n\n nodes.push(\n t.importDeclaration(\n [t.importNamespaceSpecifier(uid)],\n t.cloneNode(node.source),\n ),\n t.exportNamedDeclaration(null, [\n t.exportSpecifier(t.cloneNode(uid), exported),\n ]),\n );\n\n if (node.specifiers.length >= 1) {\n nodes.push(node);\n }\n\n const [importDeclaration] = path.replaceWithMultiple(nodes);\n path.scope.registerDeclaration(importDeclaration);\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport syntaxFunctionBind from \"@babel/plugin-syntax-function-bind\";\nimport { types as t } from \"@babel/core\";\nimport type { Scope } from \"@babel/traverse\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n function getTempId(scope: Scope) {\n let id = scope.path.getData(\"functionBind\");\n if (id) return t.cloneNode(id);\n\n id = scope.generateDeclaredUidIdentifier(\"context\");\n return scope.path.setData(\"functionBind\", id);\n }\n\n function getObject(bind: t.BindExpression) {\n if (t.isExpression(bind.object)) {\n return bind.object;\n }\n\n return (bind.callee as t.MemberExpression).object;\n }\n\n function getStaticContext(bind: t.BindExpression, scope: Scope) {\n const object = getObject(bind);\n return (\n scope.isStatic(object) &&\n (t.isSuper(object) ? t.thisExpression() : object)\n );\n }\n\n function inferBindContext(bind: t.BindExpression, scope: Scope) {\n const staticContext = getStaticContext(bind, scope);\n if (staticContext) return t.cloneNode(staticContext);\n\n const tempId = getTempId(scope);\n if (bind.object) {\n bind.callee = t.sequenceExpression([\n t.assignmentExpression(\"=\", tempId, bind.object),\n bind.callee,\n ]);\n } else if (t.isMemberExpression(bind.callee)) {\n bind.callee.object = t.assignmentExpression(\n \"=\",\n tempId,\n // @ts-ignore(Babel 7 vs Babel 8) Fixme: support `super.foo(?)`\n bind.callee.object,\n );\n }\n return t.cloneNode(tempId);\n }\n\n return {\n name: \"proposal-function-bind\",\n inherits: syntaxFunctionBind,\n\n visitor: {\n CallExpression({ node, scope }) {\n const bind = node.callee;\n if (!t.isBindExpression(bind)) return;\n\n const context = inferBindContext(bind, scope);\n node.callee = t.memberExpression(bind.callee, t.identifier(\"call\"));\n node.arguments.unshift(context);\n },\n\n BindExpression(path) {\n const { node, scope } = path;\n const context = inferBindContext(node, scope);\n path.replaceWith(\n t.callExpression(\n t.memberExpression(node.callee, t.identifier(\"bind\")),\n [context],\n ),\n );\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport syntaxFunctionSent from \"@babel/plugin-syntax-function-sent\";\nimport wrapFunction from \"@babel/helper-wrap-function\";\nimport { types as t } from \"@babel/core\";\nimport type { Visitor } from \"@babel/traverse\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n const isFunctionSent = (node: t.MetaProperty) =>\n t.isIdentifier(node.meta, { name: \"function\" }) &&\n t.isIdentifier(node.property, { name: \"sent\" });\n\n const hasBeenReplaced = (\n node: t.Node,\n sentId: string,\n ): node is t.AssignmentExpression =>\n t.isAssignmentExpression(node) &&\n t.isIdentifier(node.left, { name: sentId });\n\n const yieldVisitor: Visitor<{ sentId: string }> = {\n Function(path) {\n path.skip();\n },\n\n YieldExpression(path) {\n if (!hasBeenReplaced(path.parent, this.sentId)) {\n path.replaceWith(\n t.assignmentExpression(\"=\", t.identifier(this.sentId), path.node),\n );\n }\n },\n\n MetaProperty(path) {\n if (isFunctionSent(path.node)) {\n path.replaceWith(t.identifier(this.sentId));\n }\n },\n };\n\n return {\n name: \"proposal-function-sent\",\n inherits: syntaxFunctionSent,\n\n visitor: {\n MetaProperty(path, state) {\n if (!isFunctionSent(path.node)) return;\n\n const fnPath = path.getFunctionParent();\n\n if (!fnPath.node.generator) {\n throw new Error(\"Parent generator function not found\");\n }\n\n const sentId = path.scope.generateUid(\"function.sent\");\n\n fnPath.traverse(yieldVisitor, { sentId });\n // @ts-expect-error A generator must not be an arrow function\n fnPath.node.body.body.unshift(\n t.variableDeclaration(\"let\", [\n t.variableDeclarator(t.identifier(sentId), t.yieldExpression()),\n ]),\n );\n\n wrapFunction(fnPath, state.addHelper(\"skipFirstGeneratorNext\"));\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport type * as t from \"@babel/types\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport default declare(api => {\n api.assertVersion(7);\n const regex = /(\\\\*)([\\u2028\\u2029])/g;\n function replace(match: string, escapes: string, separator: string) {\n // If there's an odd number, that means the separator itself was escaped.\n // \"\\X\" escapes X.\n // \"\\\\X\" escapes the backslash, so X is unescaped.\n const isEscaped = escapes.length % 2 === 1;\n if (isEscaped) return match;\n\n return `${escapes}\\\\u${separator.charCodeAt(0).toString(16)}`;\n }\n\n return {\n name: \"transform-json-strings\",\n inherits: USE_ESM\n ? undefined\n : IS_STANDALONE\n ? undefined\n : // eslint-disable-next-line no-restricted-globals\n require(\"@babel/plugin-syntax-json-strings\").default,\n\n visitor: {\n \"DirectiveLiteral|StringLiteral\"({\n node,\n }: NodePath) {\n const { extra } = node;\n if (!extra?.raw) return;\n\n extra.raw = (extra.raw as string).replace(regex, replace);\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-logical-assignment-operators\",\n inherits: USE_ESM\n ? undefined\n : IS_STANDALONE\n ? undefined\n : // eslint-disable-next-line no-restricted-globals\n require(\"@babel/plugin-syntax-logical-assignment-operators\").default,\n\n visitor: {\n AssignmentExpression(path) {\n const { node, scope } = path;\n const { operator, left, right } = node;\n const operatorTrunc = operator.slice(0, -1);\n if (!t.LOGICAL_OPERATORS.includes(operatorTrunc)) {\n return;\n }\n\n const lhs = t.cloneNode(left) as t.Identifier | t.MemberExpression;\n if (t.isMemberExpression(left)) {\n const { object, property, computed } = left;\n const memo = scope.maybeGenerateMemoised(object);\n if (memo) {\n left.object = memo;\n (lhs as t.MemberExpression).object = t.assignmentExpression(\n \"=\",\n t.cloneNode(memo),\n // object must not be Super when `memo` is an identifier\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n object as t.Expression,\n );\n }\n\n if (computed) {\n const memo = scope.maybeGenerateMemoised(property);\n if (memo) {\n left.property = memo;\n (lhs as t.MemberExpression).property = t.assignmentExpression(\n \"=\",\n t.cloneNode(memo),\n // @ts-expect-error todo(flow->ts): property can be t.PrivateName\n property,\n );\n }\n }\n }\n\n path.replaceWith(\n t.logicalExpression(\n // @ts-expect-error operatorTrunc has been tested by t.LOGICAL_OPERATORS\n operatorTrunc,\n lhs,\n t.assignmentExpression(\"=\", left, right),\n ),\n );\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t, template } from \"@babel/core\";\n\nexport interface Options {\n loose?: boolean;\n}\n\nexport default declare((api, { loose = false }: Options) => {\n api.assertVersion(7);\n const noDocumentAll = api.assumption(\"noDocumentAll\") ?? loose;\n\n return {\n name: \"transform-nullish-coalescing-operator\",\n inherits: USE_ESM\n ? undefined\n : IS_STANDALONE\n ? undefined\n : // eslint-disable-next-line no-restricted-globals\n require(\"@babel/plugin-syntax-nullish-coalescing-operator\").default,\n\n visitor: {\n LogicalExpression(path) {\n const { node, scope } = path;\n if (node.operator !== \"??\") {\n return;\n }\n\n let ref;\n let assignment;\n // skip creating extra reference when `left` is static\n if (scope.isStatic(node.left)) {\n ref = node.left;\n assignment = t.cloneNode(node.left);\n } else if (scope.path.isPattern()) {\n // Replace `function (a, x = a.b ?? c) {}` to `function (a, x = (() => a.b ?? c)() ){}`\n // so the temporary variable can be injected in correct scope\n path.replaceWith(template.statement.ast`(() => ${path.node})()`);\n // The injected nullish expression will be queued and eventually transformed when visited\n return;\n } else {\n ref = scope.generateUidIdentifierBasedOnNode(node.left);\n scope.push({ id: t.cloneNode(ref) });\n assignment = t.assignmentExpression(\"=\", ref, node.left);\n }\n\n path.replaceWith(\n t.conditionalExpression(\n // We cannot use `!= null` in spec mode because\n // `document.all == null` and `document.all` is not \"nullish\".\n noDocumentAll\n ? t.binaryExpression(\"!=\", assignment, t.nullLiteral())\n : t.logicalExpression(\n \"&&\",\n t.binaryExpression(\"!==\", assignment, t.nullLiteral()),\n t.binaryExpression(\n \"!==\",\n t.cloneNode(ref),\n scope.buildUndefinedNode(),\n ),\n ),\n t.cloneNode(ref),\n node.right,\n ),\n );\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\n\n/**\n * Given a bigIntLiteral or NumericLiteral, remove numeric\n * separator `_` from its raw representation\n *\n * @param {NodePath} { node }: A Babel AST node path\n */\nfunction remover({ node }: NodePath) {\n const { extra } = node;\n // @ts-expect-error todo(flow->ts)\n if (extra?.raw?.includes(\"_\")) {\n // @ts-expect-error todo(flow->ts)\n extra.raw = extra.raw.replace(/_/g, \"\");\n }\n}\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-numeric-separator\",\n inherits: USE_ESM\n ? undefined\n : IS_STANDALONE\n ? undefined\n : // eslint-disable-next-line no-restricted-globals\n require(\"@babel/plugin-syntax-numeric-separator\").default,\n\n visitor: {\n NumericLiteral: remover,\n BigIntLiteral: remover,\n },\n };\n});\n","// Todo (Babel 8): remove this file as Babel 8 drop support of core-js 2\nmodule.exports = require(\"./data/corejs2-built-ins.json\");\n","import { types as t } from \"@babel/core\";\n\nconst {\n isObjectProperty,\n isArrayPattern,\n isObjectPattern,\n isAssignmentPattern,\n isRestElement,\n isIdentifier,\n} = t;\n/**\n * This is a helper function to determine if we should create an intermediate variable\n * such that the RHS of an assignment is not duplicated.\n *\n * See https://github.com/babel/babel/pull/13711#issuecomment-914388382 for discussion\n * on further optimizations.\n */\nexport default function shouldStoreRHSInTemporaryVariable(\n node: t.LVal,\n): boolean {\n if (isArrayPattern(node)) {\n const nonNullElements = node.elements.filter(element => element !== null);\n if (nonNullElements.length > 1) return true;\n else return shouldStoreRHSInTemporaryVariable(nonNullElements[0]);\n } else if (isObjectPattern(node)) {\n const { properties } = node;\n if (properties.length > 1) return true;\n else if (properties.length === 0) return false;\n else {\n const firstProperty = properties[0];\n if (isObjectProperty(firstProperty)) {\n // the value of the property must be an LVal\n return shouldStoreRHSInTemporaryVariable(firstProperty.value as t.LVal);\n } else {\n return shouldStoreRHSInTemporaryVariable(firstProperty);\n }\n }\n } else if (isAssignmentPattern(node)) {\n return shouldStoreRHSInTemporaryVariable(node.left);\n } else if (isRestElement(node)) {\n if (isIdentifier(node.argument)) return true;\n return shouldStoreRHSInTemporaryVariable(node.argument);\n } else {\n // node is Identifier or MemberExpression\n return false;\n }\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\nimport type { PluginPass } from \"@babel/core\";\nimport type { NodePath, Scope } from \"@babel/traverse\";\nimport { convertFunctionParams } from \"@babel/plugin-transform-parameters\";\nimport { isRequired } from \"@babel/helper-compilation-targets\";\nimport compatData from \"@babel/compat-data/corejs2-built-ins\";\nimport shouldStoreRHSInTemporaryVariable from \"./shouldStoreRHSInTemporaryVariable.ts\";\n\nconst { isAssignmentPattern, isObjectProperty } = t;\n// @babel/types <=7.3.3 counts FOO as referenced in var { x: FOO }.\n// We need to detect this bug to know if \"unused\" means 0 or 1 references.\nif (!process.env.BABEL_8_BREAKING) {\n const node = t.identifier(\"a\");\n const property = t.objectProperty(t.identifier(\"key\"), node);\n const pattern = t.objectPattern([property]);\n\n // eslint-disable-next-line no-var\n var ZERO_REFS = t.isReferenced(node, property, pattern) ? 1 : 0;\n}\n\ntype Param = NodePath;\nexport interface Options {\n useBuiltIns?: boolean;\n loose?: boolean;\n}\n\nexport default declare((api, opts: Options) => {\n api.assertVersion(7);\n\n const targets = api.targets();\n const supportsObjectAssign = !isRequired(\"es6.object.assign\", targets, {\n compatData,\n });\n\n const { useBuiltIns = supportsObjectAssign, loose = false } = opts;\n\n if (typeof loose !== \"boolean\") {\n throw new Error(\".loose must be a boolean, or undefined\");\n }\n\n const ignoreFunctionLength = api.assumption(\"ignoreFunctionLength\") ?? loose;\n const objectRestNoSymbols = api.assumption(\"objectRestNoSymbols\") ?? loose;\n const pureGetters = api.assumption(\"pureGetters\") ?? loose;\n const setSpreadProperties = api.assumption(\"setSpreadProperties\") ?? loose;\n\n function getExtendsHelper(\n file: PluginPass,\n ): t.MemberExpression | t.Identifier {\n return useBuiltIns\n ? t.memberExpression(t.identifier(\"Object\"), t.identifier(\"assign\"))\n : file.addHelper(\"extends\");\n }\n\n function hasRestElement(path: Param) {\n let foundRestElement = false;\n visitRestElements(path, restElement => {\n foundRestElement = true;\n restElement.stop();\n });\n return foundRestElement;\n }\n\n function hasObjectPatternRestElement(path: NodePath): boolean {\n let foundRestElement = false;\n visitRestElements(path, restElement => {\n if (restElement.parentPath.isObjectPattern()) {\n foundRestElement = true;\n restElement.stop();\n }\n });\n return foundRestElement;\n }\n\n function visitRestElements(\n path: NodePath,\n visitor: (path: NodePath) => any,\n ) {\n path.traverse({\n Expression(path) {\n const { parent, key } = path;\n if (\n (isAssignmentPattern(parent) && key === \"right\") ||\n (isObjectProperty(parent) && parent.computed && key === \"key\")\n ) {\n path.skip();\n }\n },\n RestElement: visitor,\n });\n }\n\n function hasSpread(node: t.ObjectExpression): boolean {\n for (const prop of node.properties) {\n if (t.isSpreadElement(prop)) {\n return true;\n }\n }\n return false;\n }\n\n // returns an array of all keys of an object, and a status flag indicating if all extracted keys\n // were converted to stringLiterals or not\n // e.g. extracts {keys: [\"a\", \"b\", \"3\", ++x], allLiteral: false }\n // from ast of {a: \"foo\", b, 3: \"bar\", [++x]: \"baz\"}\n function extractNormalizedKeys(node: t.ObjectPattern) {\n // RestElement has been removed in createObjectRest\n const props = node.properties as t.ObjectProperty[];\n const keys: t.Expression[] = [];\n let allLiteral = true;\n let hasTemplateLiteral = false;\n\n for (const prop of props) {\n if (t.isIdentifier(prop.key) && !prop.computed) {\n // since a key {a: 3} is equivalent to {\"a\": 3}, use the latter\n keys.push(t.stringLiteral(prop.key.name));\n } else if (t.isTemplateLiteral(prop.key)) {\n keys.push(t.cloneNode(prop.key));\n hasTemplateLiteral = true;\n } else if (t.isLiteral(prop.key)) {\n keys.push(\n t.stringLiteral(\n String(\n // @ts-expect-error prop.key can not be a NullLiteral\n prop.key.value,\n ),\n ),\n );\n } else {\n // @ts-expect-error private name has been handled by destructuring-private\n keys.push(t.cloneNode(prop.key));\n allLiteral = false;\n }\n }\n\n return { keys, allLiteral, hasTemplateLiteral };\n }\n\n // replaces impure computed keys with new identifiers\n // and returns variable declarators of these new identifiers\n function replaceImpureComputedKeys(\n properties: NodePath[],\n scope: Scope,\n ) {\n const impureComputedPropertyDeclarators: t.VariableDeclarator[] = [];\n for (const propPath of properties) {\n // PrivateName is handled in destructuring-private plugin\n const key = propPath.get(\"key\") as NodePath;\n if (propPath.node.computed && !key.isPure()) {\n const name = scope.generateUidBasedOnNode(key.node);\n const declarator = t.variableDeclarator(t.identifier(name), key.node);\n impureComputedPropertyDeclarators.push(declarator);\n key.replaceWith(t.identifier(name));\n }\n }\n return impureComputedPropertyDeclarators;\n }\n\n function removeUnusedExcludedKeys(path: NodePath): void {\n const bindings = path.getOuterBindingIdentifierPaths();\n\n Object.keys(bindings).forEach(bindingName => {\n const bindingParentPath = bindings[bindingName].parentPath;\n if (\n path.scope.getBinding(bindingName).references >\n (process.env.BABEL_8_BREAKING ? 0 : ZERO_REFS) ||\n !bindingParentPath.isObjectProperty()\n ) {\n return;\n }\n bindingParentPath.remove();\n });\n }\n\n //expects path to an object pattern\n function createObjectRest(\n path: NodePath,\n file: PluginPass,\n objRef: t.Identifier | t.MemberExpression,\n ): [t.VariableDeclarator[], t.LVal, t.CallExpression] {\n const props = path.get(\"properties\");\n const last = props[props.length - 1];\n t.assertRestElement(last.node);\n const restElement = t.cloneNode(last.node);\n last.remove();\n\n const impureComputedPropertyDeclarators = replaceImpureComputedKeys(\n path.get(\"properties\") as NodePath[],\n path.scope,\n );\n const { keys, allLiteral, hasTemplateLiteral } = extractNormalizedKeys(\n path.node,\n );\n\n if (keys.length === 0) {\n return [\n impureComputedPropertyDeclarators,\n restElement.argument,\n t.callExpression(getExtendsHelper(file), [\n t.objectExpression([]),\n t.sequenceExpression([\n t.callExpression(file.addHelper(\"objectDestructuringEmpty\"), [\n t.cloneNode(objRef),\n ]),\n t.cloneNode(objRef),\n ]),\n ]),\n ];\n }\n\n let keyExpression;\n if (!allLiteral) {\n // map to toPropertyKey to handle the possible non-string values\n keyExpression = t.callExpression(\n t.memberExpression(t.arrayExpression(keys), t.identifier(\"map\")),\n [file.addHelper(\"toPropertyKey\")],\n );\n } else {\n keyExpression = t.arrayExpression(keys);\n\n if (!hasTemplateLiteral && !t.isProgram(path.scope.block)) {\n // Hoist definition of excluded keys, so that it's not created each time.\n const program = path.findParent(path => path.isProgram());\n const id = path.scope.generateUidIdentifier(\"excluded\");\n\n program.scope.push({\n id,\n init: keyExpression,\n kind: \"const\",\n });\n\n keyExpression = t.cloneNode(id);\n }\n }\n\n return [\n impureComputedPropertyDeclarators,\n restElement.argument,\n t.callExpression(\n file.addHelper(\n `objectWithoutProperties${objectRestNoSymbols ? \"Loose\" : \"\"}`,\n ),\n [t.cloneNode(objRef), keyExpression],\n ),\n ];\n }\n\n function replaceRestElement(\n parentPath: NodePath,\n paramPath: NodePath<\n t.Function[\"params\"][number] | t.AssignmentPattern[\"left\"]\n >,\n container?: t.VariableDeclaration[],\n ): void {\n if (paramPath.isAssignmentPattern()) {\n replaceRestElement(parentPath, paramPath.get(\"left\"), container);\n return;\n }\n\n if (paramPath.isArrayPattern() && hasRestElement(paramPath)) {\n const elements = paramPath.get(\"elements\");\n\n for (let i = 0; i < elements.length; i++) {\n replaceRestElement(parentPath, elements[i], container);\n }\n }\n\n if (paramPath.isObjectPattern() && hasRestElement(paramPath)) {\n const uid = parentPath.scope.generateUidIdentifier(\"ref\");\n\n const declar = t.variableDeclaration(\"let\", [\n t.variableDeclarator(paramPath.node, uid),\n ]);\n\n if (container) {\n container.push(declar);\n } else {\n parentPath.ensureBlock();\n parentPath.get(\"body\").unshiftContainer(\"body\", declar);\n }\n paramPath.replaceWith(t.cloneNode(uid));\n }\n }\n\n return {\n name: \"transform-object-rest-spread\",\n inherits: USE_ESM\n ? undefined\n : IS_STANDALONE\n ? undefined\n : // eslint-disable-next-line no-restricted-globals\n require(\"@babel/plugin-syntax-object-rest-spread\").default,\n\n visitor: {\n // function a({ b, ...c }) {}\n Function(path) {\n const params = path.get(\"params\");\n const paramsWithRestElement = new Set();\n const idsInRestParams = new Set();\n for (let i = 0; i < params.length; ++i) {\n const param = params[i];\n if (hasRestElement(param)) {\n paramsWithRestElement.add(i);\n for (const name of Object.keys(param.getBindingIdentifiers())) {\n idsInRestParams.add(name);\n }\n }\n }\n\n // if true, a parameter exists that has an id in its initializer\n // that is also an id bound in a rest parameter\n // example: f({...R}, a = R)\n let idInRest = false;\n\n const IdentifierHandler = function (\n path: NodePath,\n functionScope: Scope,\n ) {\n const name = path.node.name;\n if (\n path.scope.getBinding(name) === functionScope.getBinding(name) &&\n idsInRestParams.has(name)\n ) {\n idInRest = true;\n path.stop();\n }\n };\n\n let i: number;\n for (i = 0; i < params.length && !idInRest; ++i) {\n const param = params[i];\n if (!paramsWithRestElement.has(i)) {\n if (param.isReferencedIdentifier() || param.isBindingIdentifier()) {\n IdentifierHandler(param, path.scope);\n } else {\n param.traverse(\n {\n \"Scope|TypeAnnotation|TSTypeAnnotation\": path => path.skip(),\n \"ReferencedIdentifier|BindingIdentifier\": IdentifierHandler,\n },\n path.scope,\n );\n }\n }\n }\n\n if (!idInRest) {\n for (let i = 0; i < params.length; ++i) {\n const param = params[i];\n if (paramsWithRestElement.has(i)) {\n replaceRestElement(path, param);\n }\n }\n } else {\n const shouldTransformParam = (idx: number) =>\n idx >= i - 1 || paramsWithRestElement.has(idx);\n convertFunctionParams(\n path,\n ignoreFunctionLength,\n shouldTransformParam,\n replaceRestElement,\n );\n }\n },\n\n // adapted from transform-destructuring/src/index.js#pushObjectRest\n // const { a, ...b } = c;\n VariableDeclarator(path, file) {\n if (!path.get(\"id\").isObjectPattern()) {\n return;\n }\n\n let insertionPath = path;\n const originalPath = path;\n\n visitRestElements(path.get(\"id\"), path => {\n if (!path.parentPath.isObjectPattern()) {\n // Return early if the parent is not an ObjectPattern, but\n // (for example) an ArrayPattern or Function, because that\n // means this RestElement is an not an object property.\n return;\n }\n\n if (\n // skip single-property case, e.g.\n // const { ...x } = foo();\n // since the RHS will not be duplicated\n shouldStoreRHSInTemporaryVariable(originalPath.node.id) &&\n !t.isIdentifier(originalPath.node.init)\n ) {\n // const { a, ...b } = foo();\n // to avoid calling foo() twice, as a first step convert it to:\n // const _foo = foo(),\n // { a, ...b } = _foo;\n const initRef = path.scope.generateUidIdentifierBasedOnNode(\n originalPath.node.init,\n \"ref\",\n );\n // insert _foo = foo()\n originalPath.insertBefore(\n t.variableDeclarator(initRef, originalPath.node.init),\n );\n // replace foo() with _foo\n originalPath.replaceWith(\n t.variableDeclarator(originalPath.node.id, t.cloneNode(initRef)),\n );\n\n return;\n }\n\n let ref = originalPath.node.init;\n const refPropertyPath: NodePath[] = [];\n let kind;\n\n path.findParent((path: NodePath): boolean => {\n if (path.isObjectProperty()) {\n refPropertyPath.unshift(path);\n } else if (path.isVariableDeclarator()) {\n kind = path.parentPath.node.kind;\n return true;\n }\n });\n\n const impureObjRefComputedDeclarators = replaceImpureComputedKeys(\n refPropertyPath,\n path.scope,\n );\n refPropertyPath.forEach(prop => {\n const { node } = prop;\n ref = t.memberExpression(\n ref,\n t.cloneNode(node.key),\n node.computed || t.isLiteral(node.key),\n );\n });\n\n //@ts-expect-error: findParent can not apply assertions on result shape\n const objectPatternPath: NodePath = path.findParent(\n path => path.isObjectPattern(),\n );\n\n const [impureComputedPropertyDeclarators, argument, callExpression] =\n createObjectRest(\n objectPatternPath,\n file,\n ref as t.MemberExpression,\n );\n\n if (pureGetters) {\n removeUnusedExcludedKeys(objectPatternPath);\n }\n\n t.assertIdentifier(argument);\n\n insertionPath.insertBefore(impureComputedPropertyDeclarators);\n\n insertionPath.insertBefore(impureObjRefComputedDeclarators);\n\n insertionPath = insertionPath.insertAfter(\n t.variableDeclarator(argument, callExpression),\n )[0] as NodePath;\n\n path.scope.registerBinding(kind, insertionPath);\n\n if (objectPatternPath.node.properties.length === 0) {\n objectPatternPath\n .findParent(\n path => path.isObjectProperty() || path.isVariableDeclarator(),\n )\n .remove();\n }\n });\n },\n\n // taken from transform-destructuring/src/index.js#visitor\n // export var { a, ...b } = c;\n ExportNamedDeclaration(path) {\n const declaration = path.get(\"declaration\");\n if (!declaration.isVariableDeclaration()) return;\n\n const hasRest = declaration\n .get(\"declarations\")\n .some(path => hasObjectPatternRestElement(path.get(\"id\")));\n if (!hasRest) return;\n\n const specifiers = [];\n\n for (const name of Object.keys(path.getOuterBindingIdentifiers(true))) {\n specifiers.push(\n t.exportSpecifier(t.identifier(name), t.identifier(name)),\n );\n }\n\n // Split the declaration and export list into two declarations so that the variable\n // declaration can be split up later without needing to worry about not being a\n // top-level statement.\n path.replaceWith(declaration.node);\n path.insertAfter(t.exportNamedDeclaration(null, specifiers));\n },\n\n // try {} catch ({a, ...b}) {}\n CatchClause(path) {\n const paramPath = path.get(\"param\");\n replaceRestElement(path, paramPath);\n },\n\n // ({a, ...b} = c);\n AssignmentExpression(path, file) {\n const leftPath = path.get(\"left\");\n if (leftPath.isObjectPattern() && hasRestElement(leftPath)) {\n const nodes = [];\n\n const refName = path.scope.generateUidBasedOnNode(\n path.node.right,\n \"ref\",\n );\n\n nodes.push(\n t.variableDeclaration(\"var\", [\n t.variableDeclarator(t.identifier(refName), path.node.right),\n ]),\n );\n\n const [impureComputedPropertyDeclarators, argument, callExpression] =\n createObjectRest(leftPath, file, t.identifier(refName));\n\n if (impureComputedPropertyDeclarators.length > 0) {\n nodes.push(\n t.variableDeclaration(\"var\", impureComputedPropertyDeclarators),\n );\n }\n\n const nodeWithoutSpread = t.cloneNode(path.node);\n nodeWithoutSpread.right = t.identifier(refName);\n nodes.push(t.expressionStatement(nodeWithoutSpread));\n nodes.push(\n t.expressionStatement(\n t.assignmentExpression(\"=\", argument, callExpression),\n ),\n );\n nodes.push(t.expressionStatement(t.identifier(refName)));\n\n path.replaceWithMultiple(nodes);\n }\n },\n\n // taken from transform-destructuring/src/index.js#visitor\n ForXStatement(path: NodePath) {\n const { node, scope } = path;\n const leftPath = path.get(\"left\");\n const left = node.left;\n\n if (!hasObjectPatternRestElement(leftPath)) {\n return;\n }\n\n if (!t.isVariableDeclaration(left)) {\n // for ({a, ...b} of []) {}\n const temp = scope.generateUidIdentifier(\"ref\");\n\n node.left = t.variableDeclaration(\"var\", [\n t.variableDeclarator(temp),\n ]);\n\n path.ensureBlock();\n const body = path.node.body;\n\n if (body.body.length === 0 && path.isCompletionRecord()) {\n body.body.unshift(\n t.expressionStatement(scope.buildUndefinedNode()),\n );\n }\n\n body.body.unshift(\n t.expressionStatement(\n t.assignmentExpression(\"=\", left, t.cloneNode(temp)),\n ),\n );\n } else {\n // for (var {a, ...b} of []) {}\n const pattern = left.declarations[0].id;\n\n const key = scope.generateUidIdentifier(\"ref\");\n node.left = t.variableDeclaration(left.kind, [\n t.variableDeclarator(key, null),\n ]);\n\n path.ensureBlock();\n const body = node.body as t.BlockStatement;\n\n body.body.unshift(\n t.variableDeclaration(node.left.kind, [\n t.variableDeclarator(pattern, t.cloneNode(key)),\n ]),\n );\n }\n },\n\n // [{a, ...b}] = c;\n ArrayPattern(path) {\n const objectPatterns: t.VariableDeclarator[] = [];\n\n visitRestElements(path, path => {\n if (!path.parentPath.isObjectPattern()) {\n // Return early if the parent is not an ObjectPattern, but\n // (for example) an ArrayPattern or Function, because that\n // means this RestElement is an not an object property.\n return;\n }\n\n const objectPattern = path.parentPath;\n\n const uid = path.scope.generateUidIdentifier(\"ref\");\n objectPatterns.push(t.variableDeclarator(objectPattern.node, uid));\n\n objectPattern.replaceWith(t.cloneNode(uid));\n path.skip();\n });\n\n if (objectPatterns.length > 0) {\n const statementPath = path.getStatementParent();\n const statementNode = statementPath.node;\n const kind =\n statementNode.type === \"VariableDeclaration\"\n ? statementNode.kind\n : \"var\";\n statementPath.insertAfter(\n t.variableDeclaration(kind, objectPatterns),\n );\n }\n },\n\n // var a = { ...b, ...c }\n ObjectExpression(path, file) {\n if (!hasSpread(path.node)) return;\n\n let helper: t.Identifier | t.MemberExpression;\n if (setSpreadProperties) {\n helper = getExtendsHelper(file);\n } else {\n try {\n helper = file.addHelper(\"objectSpread2\");\n } catch {\n // TODO: This is needed to workaround https://github.com/babel/babel/issues/10187\n // and https://github.com/babel/babel/issues/10179 for older @babel/core versions\n // where #10187 isn't fixed.\n this.file.declarations[\"objectSpread2\"] = null;\n\n // objectSpread2 has been introduced in v7.5.0\n // We have to maintain backward compatibility.\n helper = file.addHelper(\"objectSpread\");\n }\n }\n\n let exp: t.CallExpression = null;\n let props: t.ObjectMember[] = [];\n\n function make() {\n const hadProps = props.length > 0;\n const obj = t.objectExpression(props);\n props = [];\n\n if (!exp) {\n exp = t.callExpression(helper, [obj]);\n return;\n }\n\n // When we can assume that getters are pure and don't depend on\n // the order of evaluation, we can avoid making multiple calls.\n if (pureGetters) {\n if (hadProps) {\n exp.arguments.push(obj);\n }\n return;\n }\n\n exp = t.callExpression(t.cloneNode(helper), [\n exp,\n // If we have static props, we need to insert an empty object\n // because the odd arguments are copied with [[Get]], not\n // [[GetOwnProperty]]\n ...(hadProps ? [t.objectExpression([]), obj] : []),\n ]);\n }\n\n for (const prop of path.node.properties) {\n if (t.isSpreadElement(prop)) {\n make();\n exp.arguments.push(prop.argument);\n } else {\n props.push(prop);\n }\n }\n\n if (props.length) make();\n\n path.replaceWith(exp);\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-optional-catch-binding\",\n inherits: USE_ESM\n ? undefined\n : IS_STANDALONE\n ? undefined\n : // eslint-disable-next-line no-restricted-globals\n require(\"@babel/plugin-syntax-optional-catch-binding\").default,\n\n visitor: {\n CatchClause(path) {\n if (!path.node.param) {\n const uid = path.scope.generateUidIdentifier(\"unused\");\n const paramPath = path.get(\"param\");\n paramPath.replaceWith(uid);\n }\n },\n },\n };\n});\n","import type { NodePath } from \"@babel/traverse\";\nimport { isTransparentExprWrapper } from \"@babel/helper-skip-transparent-expression-wrappers\";\n/**\n * Test if a NodePath will be cast to boolean when evaluated.\n * It respects transparent expression wrappers defined in\n * \"@babel/helper-skip-transparent-expression-wrappers\"\n *\n * @example\n * // returns true\n * const nodePathADotB = NodePath(\"if (a.b) {}\").get(\"test\"); // a.b\n * willPathCastToBoolean(nodePathADotB)\n * @example\n * // returns false\n * willPathCastToBoolean(NodePath(\"a.b\"))\n * @param {NodePath} path\n * @returns {boolean}\n */\nexport function willPathCastToBoolean(path: NodePath): boolean {\n const maybeWrapped = findOutermostTransparentParent(path);\n const { node, parentPath } = maybeWrapped;\n if (parentPath.isLogicalExpression()) {\n const { operator, right } = parentPath.node;\n if (\n operator === \"&&\" ||\n operator === \"||\" ||\n (operator === \"??\" && node === right)\n ) {\n return willPathCastToBoolean(parentPath);\n }\n }\n if (parentPath.isSequenceExpression()) {\n const { expressions } = parentPath.node;\n if (expressions[expressions.length - 1] === node) {\n return willPathCastToBoolean(parentPath);\n } else {\n // if it is in the middle of a sequence expression, we don't\n // care the return value so just cast to boolean for smaller\n // output\n return true;\n }\n }\n return (\n parentPath.isConditional({ test: node }) ||\n parentPath.isUnaryExpression({ operator: \"!\" }) ||\n parentPath.isLoop({ test: node })\n );\n}\n\n/**\n * Return the outermost transparent expression wrapper of a given path,\n * otherwise returns path itself.\n * @example\n * const nodePathADotB = NodePath(\"(a.b as any)\").get(\"expression\"); // a.b\n * // returns NodePath(\"(a.b as any)\")\n * findOutermostTransparentParent(nodePathADotB);\n * @param {NodePath} path\n * @returns {NodePath}\n */\nexport function findOutermostTransparentParent(path: NodePath): NodePath {\n let maybeWrapped = path;\n path.findParent(p => {\n if (!isTransparentExprWrapper(p.node)) return true;\n maybeWrapped = p;\n });\n return maybeWrapped;\n}\n","import { types as t, template } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\nimport {\n skipTransparentExprWrapperNodes,\n skipTransparentExprWrappers,\n} from \"@babel/helper-skip-transparent-expression-wrappers\";\nimport {\n willPathCastToBoolean,\n findOutermostTransparentParent,\n} from \"./util.ts\";\n\n// TODO(Babel 9): Use .at(-1)\nconst last = (arr: T[]) => arr[arr.length - 1];\n\nfunction isSimpleMemberExpression(\n expression: t.Expression | t.Super,\n): expression is t.Identifier | t.Super | t.MemberExpression {\n expression = skipTransparentExprWrapperNodes(expression);\n return (\n t.isIdentifier(expression) ||\n t.isSuper(expression) ||\n (t.isMemberExpression(expression) &&\n !expression.computed &&\n isSimpleMemberExpression(expression.object))\n );\n}\n\n/**\n * Test if a given optional chain `path` needs to be memoized\n * @param {NodePath} path\n * @returns {boolean}\n */\nfunction needsMemoize(\n path: NodePath,\n) {\n let optionalPath: NodePath = path;\n const { scope } = path;\n while (\n optionalPath.isOptionalMemberExpression() ||\n optionalPath.isOptionalCallExpression()\n ) {\n const { node } = optionalPath;\n const childPath = skipTransparentExprWrappers(\n // @ts-expect-error isOptionalMemberExpression does not work with NodePath union\n optionalPath.isOptionalMemberExpression()\n ? optionalPath.get(\"object\")\n : optionalPath.get(\"callee\"),\n );\n if (node.optional) {\n return !scope.isStatic(childPath.node);\n }\n\n optionalPath = childPath;\n }\n}\n\nconst NULLISH_CHECK = template.expression(\n `%%check%% === null || %%ref%% === void 0`,\n);\nconst NULLISH_CHECK_NO_DDA = template.expression(`%%check%% == null`);\nconst NULLISH_CHECK_NEG = template.expression(\n `%%check%% !== null && %%ref%% !== void 0`,\n);\nconst NULLISH_CHECK_NO_DDA_NEG = template.expression(`%%check%% != null`);\n\ninterface OptionalChainAssumptions {\n pureGetters: boolean;\n noDocumentAll: boolean;\n}\n\nexport function transformOptionalChain(\n path: NodePath,\n { pureGetters, noDocumentAll }: OptionalChainAssumptions,\n replacementPath: NodePath,\n ifNullish: t.Expression,\n wrapLast?: (value: t.Expression) => t.Expression,\n) {\n const { scope } = path;\n\n // Replace `function (a, x = a.b?.c) {}` to `function (a, x = (() => a.b?.c)() ){}`\n // so the temporary variable can be injected in correct scope\n if (scope.path.isPattern() && needsMemoize(path)) {\n replacementPath.replaceWith(\n template.expression.ast`(() => ${replacementPath.node})()`,\n );\n // The injected optional chain will be queued and eventually transformed when visited\n return;\n }\n\n const optionals = [];\n\n let optionalPath = path;\n while (\n optionalPath.isOptionalMemberExpression() ||\n optionalPath.isOptionalCallExpression()\n ) {\n const { node } = optionalPath;\n if (node.optional) {\n optionals.push(node);\n }\n // @ts-expect-error isOptionalMemberExpression does not work with NodePath union\n if (optionalPath.isOptionalMemberExpression()) {\n // @ts-expect-error todo(flow->ts) avoid changing more type\n optionalPath.node.type = \"MemberExpression\";\n // @ts-expect-error todo(flow->ts)\n optionalPath = skipTransparentExprWrappers(optionalPath.get(\"object\"));\n } else if (optionalPath.isOptionalCallExpression()) {\n // @ts-expect-error todo(flow->ts) avoid changing more type\n optionalPath.node.type = \"CallExpression\";\n // @ts-expect-error todo(flow->ts)\n optionalPath = skipTransparentExprWrappers(optionalPath.get(\"callee\"));\n }\n }\n\n if (optionals.length === 0) {\n // Malformed AST: there was an OptionalMemberExpression node\n // with no actual optional elements.\n return;\n }\n\n const checks = [];\n\n let tmpVar;\n\n for (let i = optionals.length - 1; i >= 0; i--) {\n const node = optionals[i] as unknown as\n | t.MemberExpression\n | t.CallExpression;\n\n const isCall = t.isCallExpression(node);\n\n const chainWithTypes = isCall\n ? // V8 intrinsics must not be an optional call\n (node.callee as t.Expression)\n : node.object;\n const chain = skipTransparentExprWrapperNodes(chainWithTypes);\n\n let ref;\n let check;\n if (isCall && t.isIdentifier(chain, { name: \"eval\" })) {\n check = ref = chain;\n // `eval?.()` is an indirect eval call transformed to `(0,eval)()`\n node.callee = t.sequenceExpression([t.numericLiteral(0), ref]);\n } else if (pureGetters && isCall && isSimpleMemberExpression(chain)) {\n // If we assume getters are pure (avoiding a Function#call) and we are at the call,\n // we can avoid a needless memoize. We only do this if the callee is a simple member\n // expression, to avoid multiple calls to nested call expressions.\n check = ref = node.callee;\n } else if (scope.isStatic(chain)) {\n check = ref = chainWithTypes;\n } else {\n // We cannot reuse the tmpVar for calls, because we need to\n // store both the method and the receiver.\n if (!tmpVar || isCall) {\n tmpVar = scope.generateUidIdentifierBasedOnNode(chain);\n scope.push({ id: t.cloneNode(tmpVar) });\n }\n ref = tmpVar;\n check = t.assignmentExpression(\n \"=\",\n t.cloneNode(tmpVar),\n // Here `chainWithTypes` MUST NOT be cloned because it could be\n // updated when generating the memoised context of a call\n // expression. It must be an Expression when `ref` is an identifier\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n chainWithTypes as t.Expression,\n );\n\n isCall ? (node.callee = ref) : (node.object = ref);\n }\n\n // Ensure call expressions have the proper `this`\n // `foo.bar()` has context `foo`.\n if (isCall && t.isMemberExpression(chain)) {\n if (pureGetters && isSimpleMemberExpression(chain)) {\n // To avoid a Function#call, we can instead re-grab the property from the context object.\n // `a.?b.?()` translates roughly to `_a.b != null && _a.b()`\n node.callee = chainWithTypes;\n } else {\n // Otherwise, we need to memoize the context object, and change the call into a Function#call.\n // `a.?b.?()` translates roughly to `(_b = _a.b) != null && _b.call(_a)`\n const { object } = chain;\n let context: t.Expression;\n if (t.isSuper(object)) {\n context = t.thisExpression();\n } else {\n const memoized = scope.maybeGenerateMemoised(object);\n if (memoized) {\n context = memoized;\n chain.object = t.assignmentExpression(\"=\", memoized, object);\n } else {\n context = object;\n }\n }\n\n node.arguments.unshift(t.cloneNode(context));\n // @ts-expect-error node.callee can not be an V8IntrinsicIdentifier: V8 intrinsic is disallowed in optional chain\n node.callee = t.memberExpression(node.callee, t.identifier(\"call\"));\n }\n }\n\n const data = { check: t.cloneNode(check), ref: t.cloneNode(ref) };\n // We make `ref` non-enumerable, so that @babel/template doesn't throw\n // in the noDocumentAll template if it's not used.\n Object.defineProperty(data, \"ref\", { enumerable: false });\n checks.push(data);\n }\n\n let result = replacementPath.node;\n if (wrapLast) result = wrapLast(result);\n\n const ifNullishBoolean = t.isBooleanLiteral(ifNullish);\n const ifNullishFalse = ifNullishBoolean && ifNullish.value === false;\n const ifNullishVoid =\n !ifNullishBoolean && t.isUnaryExpression(ifNullish, { operator: \"void\" });\n\n const isEvaluationValueIgnored =\n (t.isExpressionStatement(replacementPath.parent) &&\n !replacementPath.isCompletionRecord()) ||\n (t.isSequenceExpression(replacementPath.parent) &&\n last(replacementPath.parent.expressions) !== replacementPath.node);\n\n // prettier-ignore\n const tpl = ifNullishFalse\n ? (noDocumentAll ? NULLISH_CHECK_NO_DDA_NEG : NULLISH_CHECK_NEG)\n : (noDocumentAll ? NULLISH_CHECK_NO_DDA : NULLISH_CHECK);\n const logicalOp = ifNullishFalse ? \"&&\" : \"||\";\n\n const check = checks\n .map(tpl)\n .reduce((expr, check) => t.logicalExpression(logicalOp, expr, check));\n\n replacementPath.replaceWith(\n ifNullishBoolean || (ifNullishVoid && isEvaluationValueIgnored)\n ? t.logicalExpression(logicalOp, check, result)\n : t.conditionalExpression(check, ifNullish, result),\n );\n}\n\nexport function transform(\n path: NodePath,\n assumptions: OptionalChainAssumptions,\n) {\n const { scope } = path;\n\n // maybeWrapped points to the outermost transparent expression wrapper\n // or the path itself\n const maybeWrapped = findOutermostTransparentParent(path);\n const { parentPath } = maybeWrapped;\n\n if (parentPath.isUnaryExpression({ operator: \"delete\" })) {\n transformOptionalChain(\n path,\n assumptions,\n parentPath,\n t.booleanLiteral(true),\n );\n } else {\n let wrapLast;\n if (\n parentPath.isCallExpression({ callee: maybeWrapped.node }) &&\n // note that the first condition must implies that `path.optional` is `true`,\n // otherwise the parentPath should be an OptionalCallExpression\n path.isOptionalMemberExpression()\n ) {\n // Ensure (a?.b)() has proper `this`\n wrapLast = (replacement: t.MemberExpression) => {\n // `(a?.b)()` to `(a == null ? undefined : a.b.bind(a))()`\n // object must not be Super as super?.foo is invalid\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const object = skipTransparentExprWrapperNodes(\n replacement.object,\n ) as t.Expression;\n let baseRef: t.Expression;\n if (!assumptions.pureGetters || !isSimpleMemberExpression(object)) {\n // memoize the context object when getters are not always pure\n // or the object is not a simple member expression\n // `(a?.b.c)()` to `(a == null ? undefined : (_a$b = a.b).c.bind(_a$b))()`\n baseRef = scope.maybeGenerateMemoised(object);\n if (baseRef) {\n replacement.object = t.assignmentExpression(\"=\", baseRef, object);\n }\n }\n return t.callExpression(\n t.memberExpression(replacement, t.identifier(\"bind\")),\n [t.cloneNode(baseRef ?? object)],\n );\n };\n }\n\n transformOptionalChain(\n path,\n assumptions,\n path,\n willPathCastToBoolean(maybeWrapped)\n ? t.booleanLiteral(false)\n : scope.buildUndefinedNode(),\n wrapLast,\n );\n }\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { transform, transformOptionalChain } from \"./transform.ts\";\nimport type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\n\nexport interface Options {\n loose?: boolean;\n}\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const { loose = false } = options;\n const noDocumentAll = api.assumption(\"noDocumentAll\") ?? loose;\n const pureGetters = api.assumption(\"pureGetters\") ?? loose;\n\n return {\n name: \"transform-optional-chaining\",\n inherits: USE_ESM\n ? undefined\n : IS_STANDALONE\n ? undefined\n : // eslint-disable-next-line no-restricted-globals\n require(\"@babel/plugin-syntax-optional-chaining\").default,\n\n visitor: {\n \"OptionalCallExpression|OptionalMemberExpression\"(\n path: NodePath,\n ) {\n transform(path, { noDocumentAll, pureGetters });\n },\n },\n };\n});\n\nexport { transform, transformOptionalChain };\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport syntaxOptionalChainingAssign from \"@babel/plugin-syntax-optional-chaining-assign\";\nimport type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\nimport { skipTransparentExprWrappers } from \"@babel/helper-skip-transparent-expression-wrappers\";\nimport { transformOptionalChain } from \"@babel/plugin-transform-optional-chaining\";\n\nexport default declare(api => {\n api.assertVersion(\"^7.22.5\");\n\n const assumptions = {\n noDocumentAll: api.assumption(\"noDocumentAll\") ?? false,\n pureGetters: api.assumption(\"pureGetters\") ?? false,\n };\n\n const { types: t } = api;\n\n return {\n name: \"transform-optional-chaining-assign\",\n inherits: syntaxOptionalChainingAssign,\n\n visitor: {\n AssignmentExpression(path, state) {\n let lhs = path.get(\"left\");\n if (!lhs.isExpression()) return;\n const isParenthesized =\n lhs.node.extra?.parenthesized ||\n t.isParenthesizedExpression(lhs.node);\n\n lhs = skipTransparentExprWrappers(lhs) as NodePath<\n t.LVal & t.Expression\n >;\n if (!lhs.isOptionalMemberExpression()) return;\n\n let ifNullish: t.Expression = path.scope.buildUndefinedNode();\n if (isParenthesized) {\n ifNullish = t.callExpression(\n state.addHelper(\"nullishReceiverError\"),\n [],\n );\n if (path.node.operator === \"=\") {\n ifNullish = t.sequenceExpression([\n t.cloneNode(path.node.right),\n ifNullish,\n ]);\n }\n }\n\n transformOptionalChain(lhs, assumptions, path, ifNullish);\n },\n },\n };\n});\n","import { types as t } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\n\n// tries to optimize sequence expressions in the format\n// (a = b, (c => c + e)(a))\n// to\n// (a = b, a + e)\n\ntype Options = {\n call: t.CallExpression | t.AwaitExpression;\n path: NodePath\" }>;\n placeholder: t.Identifier;\n};\n\nfunction isConciseArrowExpression(\n node: t.Node,\n): node is t.ArrowFunctionExpression & { body: t.Expression } {\n return (\n t.isArrowFunctionExpression(node) &&\n t.isExpression(node.body) &&\n !node.async\n );\n}\n\nconst buildOptimizedSequenceExpression = ({\n call,\n path,\n placeholder,\n}: Options) => {\n // @ts-expect-error AwaitExpression does not have callee property\n const { callee: calledExpression } = call;\n // pipelineLeft must not be a PrivateName\n const pipelineLeft = path.node.left as t.Expression;\n const assign = t.assignmentExpression(\n \"=\",\n t.cloneNode(placeholder),\n pipelineLeft,\n );\n\n const expressionIsArrow = isConciseArrowExpression(calledExpression);\n\n if (expressionIsArrow) {\n let param;\n let optimizeArrow = true;\n const { params } = calledExpression;\n if (params.length === 1 && t.isIdentifier(params[0])) {\n param = params[0];\n } else if (params.length > 0) {\n optimizeArrow = false;\n }\n if (optimizeArrow && !param) {\n // fixme: arrow function with 1 pattern argument will also go into this branch\n // Arrow function with 0 arguments\n return t.sequenceExpression([pipelineLeft, calledExpression.body]);\n } else if (param) {\n path.scope.push({ id: t.cloneNode(placeholder) });\n path.get(\"right\").scope.rename(param.name, placeholder.name);\n\n return t.sequenceExpression([assign, calledExpression.body]);\n }\n } else if (t.isIdentifier(calledExpression, { name: \"eval\" })) {\n const evalSequence = t.sequenceExpression([\n t.numericLiteral(0),\n calledExpression,\n ]);\n\n (call as t.CallExpression).callee = evalSequence;\n }\n path.scope.push({ id: t.cloneNode(placeholder) });\n\n return t.sequenceExpression([assign, call]);\n};\n\nexport default buildOptimizedSequenceExpression;\n","import { types as t, type PluginPass } from \"@babel/core\";\nimport type { NodePath, Visitor } from \"@babel/traverse\";\nimport buildOptimizedSequenceExpression from \"./buildOptimizedSequenceExpression.ts\";\n\nconst minimalVisitor: Visitor = {\n BinaryExpression(path) {\n const { scope, node } = path;\n const { operator, left, right } = node;\n if (operator !== \"|>\") return;\n\n const placeholder = scope.generateUidIdentifierBasedOnNode(left);\n\n const call = t.callExpression(right, [t.cloneNode(placeholder)]);\n path.replaceWith(\n buildOptimizedSequenceExpression({\n placeholder,\n call,\n path: path as NodePath\" }>,\n }),\n );\n },\n};\n\nexport default minimalVisitor;\n","import { types as t } from \"@babel/core\";\nimport type { NodePath, Visitor } from \"@babel/traverse\";\nimport type { PluginPass } from \"@babel/core\";\n\ntype State = {\n topicReferences: NodePath[];\n sideEffectsBeforeFirstTopicReference: boolean;\n};\n\nconst topicReferenceVisitor: Visitor = {\n exit(path, state) {\n if (path.isTopicReference()) {\n state.topicReferences.push(path);\n } else {\n if (\n state.topicReferences.length === 0 &&\n !state.sideEffectsBeforeFirstTopicReference &&\n !path.isPure()\n ) {\n state.sideEffectsBeforeFirstTopicReference = true;\n }\n }\n },\n \"ClassBody|Function\"(_, state) {\n if (state.topicReferences.length === 0) {\n state.sideEffectsBeforeFirstTopicReference = true;\n }\n },\n};\n\n// This visitor traverses `BinaryExpression`\n// and replaces any that use `|>`\n// with sequence expressions containing assignment expressions\n// with automatically generated variables,\n// from inside to outside, from left to right.\nconst visitor: Visitor = {\n BinaryExpression: {\n exit(path) {\n const { scope, node } = path;\n\n if (node.operator !== \"|>\") {\n // The path node is a binary expression,\n // but it is not a pipe expression.\n return;\n }\n\n const pipeBodyPath = path.get(\"right\");\n if (pipeBodyPath.node.type === \"TopicReference\") {\n // If the pipe body is itself a lone topic reference,\n // then replace the whole expression with its left operand.\n path.replaceWith(node.left);\n return;\n }\n\n const visitorState: State = {\n topicReferences: [],\n // pipeBodyPath might be a function, and it won't be visited by\n // topicReferenceVisitor because traverse() skips the top-level\n // node. We must handle that case here manually.\n sideEffectsBeforeFirstTopicReference: pipeBodyPath.isFunction(),\n };\n pipeBodyPath.traverse(topicReferenceVisitor, visitorState);\n\n if (\n visitorState.topicReferences.length === 1 &&\n (!visitorState.sideEffectsBeforeFirstTopicReference ||\n path.scope.isPure(node.left, true))\n ) {\n visitorState.topicReferences[0].replaceWith(node.left);\n path.replaceWith(node.right);\n return;\n }\n\n const topicVariable = scope.generateUidIdentifierBasedOnNode(node);\n scope.push({ id: topicVariable });\n\n // Replace topic references with the topic variable.\n visitorState.topicReferences.forEach(path =>\n path.replaceWith(t.cloneNode(topicVariable)),\n );\n\n // Replace the pipe expression itself with an assignment expression.\n path.replaceWith(\n t.sequenceExpression([\n t.assignmentExpression(\n \"=\",\n t.cloneNode(topicVariable),\n // @ts-expect-error node.left must not be a PrivateName when operator is |>\n node.left,\n ),\n node.right,\n ]),\n );\n },\n },\n};\n\nexport default visitor;\n","import { types as t, type PluginObject } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\nimport buildOptimizedSequenceExpression from \"./buildOptimizedSequenceExpression.ts\";\n\nconst fsharpVisitor: PluginObject[\"visitor\"] = {\n BinaryExpression(path) {\n const { scope, node } = path;\n const { operator, left, right } = node;\n if (operator !== \"|>\") return;\n\n const placeholder = scope.generateUidIdentifierBasedOnNode(left);\n\n const call =\n right.type === \"AwaitExpression\"\n ? t.awaitExpression(t.cloneNode(placeholder))\n : t.callExpression(right, [t.cloneNode(placeholder)]);\n const sequence = buildOptimizedSequenceExpression({\n placeholder,\n call,\n path: path as NodePath\" }>,\n });\n path.replaceWith(sequence);\n },\n};\n\nexport default fsharpVisitor;\n","import { types as t } from \"@babel/core\";\nimport type { PluginPass } from \"@babel/core\";\nimport type { Visitor } from \"@babel/traverse\";\n\nconst updateTopicReferenceVisitor: Visitor<{ topicId: t.Identifier }> = {\n PipelinePrimaryTopicReference(path) {\n path.replaceWith(t.cloneNode(this.topicId));\n },\n PipelineTopicExpression(path) {\n path.skip();\n },\n};\n\nconst smartVisitor: Visitor = {\n BinaryExpression(path) {\n const { scope } = path;\n const { node } = path;\n const { operator, left, right } = node;\n if (operator !== \"|>\") return;\n\n const placeholder = scope.generateUidIdentifierBasedOnNode(left);\n scope.push({ id: placeholder });\n\n let call;\n if (t.isPipelineTopicExpression(right)) {\n path\n .get(\"right\")\n .traverse(updateTopicReferenceVisitor, { topicId: placeholder });\n\n call = right.expression;\n } else {\n // PipelineBareFunction\n let callee = (right as t.CallExpression).callee;\n if (t.isIdentifier(callee, { name: \"eval\" })) {\n callee = t.sequenceExpression([t.numericLiteral(0), callee]);\n }\n\n call = t.callExpression(callee, [t.cloneNode(placeholder)]);\n }\n\n path.replaceWith(\n t.sequenceExpression([\n t.assignmentExpression(\n \"=\",\n t.cloneNode(placeholder),\n // left must not be a PrivateName because operator is not \"in\"\n left as t.Expression,\n ),\n call,\n ]),\n );\n },\n};\n\nexport default smartVisitor;\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport syntaxPipelineOperator from \"@babel/plugin-syntax-pipeline-operator\";\nimport minimalVisitor from \"./minimalVisitor.ts\";\nimport hackVisitor from \"./hackVisitor.ts\";\nimport fsharpVisitor from \"./fsharpVisitor.ts\";\nimport smartVisitor from \"./smartVisitor.ts\";\nimport type { Options } from \"@babel/plugin-syntax-pipeline-operator\";\n\nconst visitorsPerProposal = {\n minimal: minimalVisitor,\n hack: hackVisitor,\n fsharp: fsharpVisitor,\n smart: smartVisitor,\n};\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const { proposal } = options;\n\n if (proposal === \"smart\") {\n console.warn(\n `The smart-mix pipe operator is deprecated. Use \"proposal\": \"hack\" instead.`,\n );\n }\n\n return {\n name: \"proposal-pipeline-operator\",\n inherits: syntaxPipelineOperator,\n visitor: visitorsPerProposal[options.proposal],\n };\n});\n","/* eslint-disable @babel/development/plugin-name */\n\nimport { declare } from \"@babel/helper-plugin-utils\";\nimport {\n createClassFeaturePlugin,\n FEATURES,\n} from \"@babel/helper-create-class-features-plugin\";\n\nexport interface Options {\n loose?: boolean;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n return createClassFeaturePlugin({\n name: \"transform-private-methods\",\n\n api,\n feature: FEATURES.privateMethods,\n loose: options.loose,\n\n manipulateOptions(opts, parserOpts) {\n parserOpts.plugins.push(\"classPrivateMethods\");\n },\n });\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport {\n enableFeature,\n FEATURES,\n injectInitialization as injectConstructorInit,\n buildCheckInRHS,\n} from \"@babel/helper-create-class-features-plugin\";\nimport annotateAsPure from \"@babel/helper-annotate-as-pure\";\nimport type * as t from \"@babel/types\";\nimport type { NodePath, Scope } from \"@babel/traverse\";\n\nexport interface Options {\n loose?: boolean;\n}\nexport default declare((api, opt: Options) => {\n api.assertVersion(7);\n const { types: t, template } = api;\n const { loose } = opt;\n\n // NOTE: When using the class fields or private methods plugins,\n // they will also take care of '#priv in obj' checks when visiting\n // the ClassExpression or ClassDeclaration nodes.\n // The visitor of this plugin is only effective when not compiling\n // private fields and methods.\n\n const classWeakSets: WeakMap = new WeakMap();\n const fieldsWeakSets: WeakMap<\n t.ClassPrivateProperty | t.ClassPrivateMethod,\n t.Identifier\n > = new WeakMap();\n\n function unshadow(name: string, targetScope: Scope, scope: Scope) {\n while (scope !== targetScope) {\n if (scope.hasOwnBinding(name)) scope.rename(name);\n scope = scope.parent;\n }\n }\n\n function injectToFieldInit(\n fieldPath: NodePath,\n expr: t.Expression,\n before = false,\n ) {\n if (fieldPath.node.value) {\n const value = fieldPath.get(\"value\");\n if (before) {\n value.insertBefore(expr);\n } else {\n value.insertAfter(expr);\n }\n } else {\n fieldPath.set(\"value\", t.unaryExpression(\"void\", expr));\n }\n }\n\n function injectInitialization(\n classPath: NodePath,\n init: t.Expression,\n ) {\n let firstFieldPath;\n let constructorPath;\n\n for (const el of classPath.get(\"body.body\")) {\n if (\n (el.isClassProperty() || el.isClassPrivateProperty()) &&\n !el.node.static\n ) {\n firstFieldPath = el;\n break;\n }\n if (!constructorPath && el.isClassMethod({ kind: \"constructor\" })) {\n constructorPath = el;\n }\n }\n\n if (firstFieldPath) {\n injectToFieldInit(firstFieldPath, init, true);\n } else {\n injectConstructorInit(classPath, constructorPath, [\n t.expressionStatement(init),\n ]);\n }\n }\n\n function getWeakSetId(\n weakSets: WeakMap,\n outerClass: NodePath,\n reference: NodePath,\n name = \"\",\n inject: (\n reference: NodePath,\n expression: t.Expression,\n before?: boolean,\n ) => void,\n ) {\n let id = weakSets.get(reference.node);\n\n if (!id) {\n id = outerClass.scope.generateUidIdentifier(`${name || \"\"} brandCheck`);\n weakSets.set(reference.node, id);\n\n inject(reference, template.expression.ast`${t.cloneNode(id)}.add(this)`);\n\n const newExpr = t.newExpression(t.identifier(\"WeakSet\"), []);\n annotateAsPure(newExpr);\n\n outerClass.insertBefore(template.ast`var ${id} = ${newExpr}`);\n }\n\n return t.cloneNode(id);\n }\n\n return {\n name: \"transform-private-property-in-object\",\n inherits: USE_ESM\n ? undefined\n : IS_STANDALONE\n ? undefined\n : // eslint-disable-next-line no-restricted-globals\n require(\"@babel/plugin-syntax-private-property-in-object\").default,\n pre() {\n // Enable this in @babel/helper-create-class-features-plugin, so that it\n // can be handled by the private fields and methods transform.\n enableFeature(this.file, FEATURES.privateIn, loose);\n },\n visitor: {\n BinaryExpression(path, state) {\n const { node } = path;\n const { file } = state;\n if (node.operator !== \"in\") return;\n if (!t.isPrivateName(node.left)) return;\n\n const { name } = node.left.id;\n\n let privateElement: NodePath<\n t.ClassPrivateMethod | t.ClassPrivateProperty\n >;\n const outerClass = path.findParent(path => {\n if (!path.isClass()) return false;\n\n privateElement = path.get(\"body.body\").find(\n ({ node }) =>\n // fixme: Support class accessor property\n t.isPrivate(node) && node.key.id.name === name,\n ) as NodePath;\n\n return !!privateElement;\n }) as NodePath;\n\n if (outerClass.parentPath.scope.path.isPattern()) {\n outerClass.replaceWith(\n template.ast`(() => ${outerClass.node})()` as t.Statement,\n );\n // The injected class will be queued and eventually transformed when visited\n return;\n }\n\n if (privateElement.node.type === \"ClassPrivateMethod\") {\n if (privateElement.node.static) {\n if (outerClass.node.id) {\n unshadow(outerClass.node.id.name, outerClass.scope, path.scope);\n } else {\n outerClass.set(\"id\", path.scope.generateUidIdentifier(\"class\"));\n }\n path.replaceWith(\n template.expression.ast`\n ${t.cloneNode(outerClass.node.id)} === ${buildCheckInRHS(\n node.right,\n file,\n )}\n `,\n );\n } else {\n const id = getWeakSetId(\n classWeakSets,\n outerClass,\n outerClass,\n outerClass.node.id?.name,\n injectInitialization,\n );\n\n path.replaceWith(\n template.expression.ast`${id}.has(${buildCheckInRHS(\n node.right,\n file,\n )})`,\n );\n }\n } else {\n // Private fields might not all be initialized: see the 'halfConstructed'\n // example at https://v8.dev/features/private-brand-checks.\n\n const id = getWeakSetId(\n fieldsWeakSets,\n outerClass,\n privateElement as NodePath,\n privateElement.node.key.id.name,\n injectToFieldInit,\n );\n\n path.replaceWith(\n template.expression.ast`${id}.has(${buildCheckInRHS(\n node.right,\n file,\n )})`,\n );\n }\n },\n },\n };\n});\n","/*\n ** Copyright 2020 Bloomberg Finance L.P.\n **\n ** Licensed under the MIT License (the \"License\");\n ** you may not use this file except in compliance with the License.\n ** You may obtain a copy of the License at\n **\n ** https://opensource.org/licenses/MIT\n **\n ** Unless required by applicable law or agreed to in writing, software\n ** distributed under the License is distributed on an \"AS IS\" BASIS,\n ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ** See the License for the specific language governing permissions and\n ** limitations under the License.\n */\n\nimport { declare } from \"@babel/helper-plugin-utils\";\nimport syntaxRecordAndTuple from \"@babel/plugin-syntax-record-and-tuple\";\nimport type { Options as SyntaxOptions } from \"@babel/plugin-syntax-record-and-tuple\";\nimport { types as t } from \"@babel/core\";\nimport { addNamed, isModule } from \"@babel/helper-module-imports\";\nimport { OptionValidator } from \"@babel/helper-validator-option\";\nimport type { NodePath } from \"@babel/traverse\";\n\nconst v = new OptionValidator(PACKAGE_JSON.name);\n\nexport interface Options extends SyntaxOptions {\n polyfillModuleName?: string;\n importPolyfill?: boolean;\n}\n\ntype State = {\n programPath: NodePath;\n};\n\n// program -> cacheKey -> localBindingName\ntype Cache = Map;\ntype ImportCache = WeakMap;\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const polyfillModuleName = v.validateStringOption(\n \"polyfillModuleName\",\n options.polyfillModuleName,\n \"@bloomberg/record-tuple-polyfill\",\n );\n const shouldImportPolyfill = v.validateBooleanOption(\n \"importPolyfill\",\n options.importPolyfill,\n !!options.polyfillModuleName,\n );\n\n const importCaches: ImportCache = new WeakMap();\n\n function getOr(map: Map, key: K, getDefault: () => V): V;\n function getOr(\n map: WeakMap,\n key: K,\n getDefault: () => V,\n ): V;\n function getOr(\n map: WeakMap,\n key: K,\n getDefault: () => V,\n ) {\n let value = map.get(key);\n if (!value) map.set(key, (value = getDefault()));\n return value;\n }\n\n function getBuiltIn(\n name: \"Record\" | \"Tuple\",\n programPath: NodePath,\n ) {\n if (!shouldImportPolyfill) return t.identifier(name);\n if (!programPath) {\n throw new Error(\"Internal error: unable to find the Program node.\");\n }\n\n const cacheKey = `${name}:${isModule(programPath)}`;\n\n const cache = getOr(\n importCaches,\n programPath.node,\n () => new Map(),\n );\n const localBindingName = getOr(cache, cacheKey, () => {\n return addNamed(programPath, name, polyfillModuleName, {\n importedInterop: \"uncompiled\",\n }).name;\n });\n\n return t.identifier(localBindingName);\n }\n\n return {\n name: \"proposal-record-and-tuple\",\n inherits: syntaxRecordAndTuple,\n visitor: {\n Program(path, state) {\n state.programPath = path;\n },\n RecordExpression(path, state) {\n const record = getBuiltIn(\"Record\", state.programPath);\n\n const object = t.objectExpression(path.node.properties);\n const wrapped = t.callExpression(record, [object]);\n path.replaceWith(wrapped);\n },\n TupleExpression(path, state) {\n const tuple = getBuiltIn(\"Tuple\", state.programPath);\n\n const wrapped = t.callExpression(tuple, path.node.elements);\n path.replaceWith(wrapped);\n },\n },\n };\n});\n","/* eslint-disable @babel/development/plugin-name */\nimport { createRegExpFeaturePlugin } from \"@babel/helper-create-regexp-features-plugin\";\nimport { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(\"^7.19.0\");\n\n return createRegExpFeaturePlugin({\n name: \"proposal-regexp-modifiers\",\n feature: \"modifiers\",\n });\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"syntax-throw-expressions\",\n\n manipulateOptions(opts, parserOpts) {\n parserOpts.plugins.push(\"throwExpressions\");\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport syntaxThrowExpressions from \"@babel/plugin-syntax-throw-expressions\";\nimport { types as t } from \"@babel/core\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"proposal-throw-expressions\",\n inherits: syntaxThrowExpressions,\n\n visitor: {\n UnaryExpression(path) {\n const { operator, argument } = path.node;\n if (operator !== \"throw\") return;\n\n const arrow = t.functionExpression(\n null,\n [t.identifier(\"e\")],\n t.blockStatement([t.throwStatement(t.identifier(\"e\"))]),\n );\n\n path.replaceWith(t.callExpression(arrow, [argument]));\n },\n },\n };\n});\n","/* eslint-disable @babel/development/plugin-name */\nimport { createRegExpFeaturePlugin } from \"@babel/helper-create-regexp-features-plugin\";\nimport { declare } from \"@babel/helper-plugin-utils\";\n\nexport interface Options {\n useUnicodeFlag?: boolean;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const { useUnicodeFlag = true } = options;\n if (typeof useUnicodeFlag !== \"boolean\") {\n throw new Error(\".useUnicodeFlag must be a boolean, or undefined\");\n }\n\n return createRegExpFeaturePlugin({\n name: \"transform-unicode-property-regex\",\n feature: \"unicodePropertyEscape\",\n options: { useUnicodeFlag },\n });\n});\n","/* eslint-disable @babel/development/plugin-name */\nimport { createRegExpFeaturePlugin } from \"@babel/helper-create-regexp-features-plugin\";\nimport { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return createRegExpFeaturePlugin({\n name: \"transform-unicode-sets-regex\",\n feature: \"unicodeSetsFlag\",\n manipulateOptions(opts, parserOpts) {\n parserOpts.plugins.push(\"regexpUnicodeSets\");\n },\n });\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport remapAsyncToGenerator from \"@babel/helper-remap-async-to-generator\";\nimport { addNamed } from \"@babel/helper-module-imports\";\nimport { types as t } from \"@babel/core\";\n\nexport interface Options {\n method?: string;\n module?: string;\n}\n\ntype State = {\n methodWrapper?: t.Identifier | t.SequenceExpression;\n};\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const { method, module } = options;\n // Todo(BABEL 8): Consider default it to false\n const noNewArrows = api.assumption(\"noNewArrows\") ?? true;\n const ignoreFunctionLength = api.assumption(\"ignoreFunctionLength\") ?? false;\n\n if (method && module) {\n return {\n name: \"transform-async-to-generator\",\n\n visitor: {\n Function(path, state) {\n if (!path.node.async || path.node.generator) return;\n\n let wrapAsync = state.methodWrapper;\n if (wrapAsync) {\n wrapAsync = t.cloneNode(wrapAsync);\n } else {\n wrapAsync = state.methodWrapper = addNamed(path, method, module);\n }\n\n remapAsyncToGenerator(\n path,\n { wrapAsync },\n noNewArrows,\n ignoreFunctionLength,\n );\n },\n },\n };\n }\n\n return {\n name: \"transform-async-to-generator\",\n\n visitor: {\n Function(path, state) {\n if (!path.node.async || path.node.generator) return;\n\n remapAsyncToGenerator(\n path,\n { wrapAsync: state.addHelper(\"asyncToGenerator\") },\n noNewArrows,\n ignoreFunctionLength,\n );\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport interface Options {\n spec?: boolean;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const noNewArrows = api.assumption(\"noNewArrows\") ?? !options.spec;\n\n return {\n name: \"transform-arrow-functions\",\n\n visitor: {\n ArrowFunctionExpression(path) {\n // In some conversion cases, it may have already been converted to a function while this callback\n // was queued up.\n if (!path.isArrowFunctionExpression()) return;\n\n if (process.env.BABEL_8_BREAKING) {\n path.arrowFunctionToExpression({\n // While other utils may be fine inserting other arrows to make more transforms possible,\n // the arrow transform itself absolutely cannot insert new arrow functions.\n allowInsertArrow: false,\n noNewArrows,\n });\n } else {\n path.arrowFunctionToExpression({\n allowInsertArrow: false,\n noNewArrows,\n\n // This is only needed for backward compat with @babel/traverse <7.13.0\n // @ts-ignore(Babel 7 vs Babel 8) Removed in Babel 8\n specCompliant: !noNewArrows,\n });\n }\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n function transformStatementList(paths: NodePath[]) {\n for (const path of paths) {\n if (!path.isFunctionDeclaration()) continue;\n const func = path.node;\n const declar = t.variableDeclaration(\"let\", [\n t.variableDeclarator(func.id, t.toExpression(func)),\n ]);\n\n // hoist it up above everything else\n // @ts-expect-error todo(flow->ts): avoid mutations\n declar._blockHoist = 2;\n\n // todo: name this\n func.id = null;\n\n path.replaceWith(declar);\n }\n }\n\n return {\n name: \"transform-block-scoped-functions\",\n\n visitor: {\n BlockStatement(path) {\n const { node, parent } = path;\n if (\n t.isFunction(parent, { body: node }) ||\n t.isExportDeclaration(parent)\n ) {\n return;\n }\n\n transformStatementList(path.get(\"body\"));\n },\n\n SwitchCase(path) {\n transformStatementList(path.get(\"consequent\"));\n },\n },\n };\n});\n","import { template, types as t } from \"@babel/core\";\nimport type { NodePath, Visitor, Binding } from \"@babel/traverse\";\n\ninterface LoopBodyBindingsState {\n blockScoped: Binding[];\n}\n\nconst collectLoopBodyBindingsVisitor: Visitor = {\n \"Expression|Declaration|Loop\"(path) {\n path.skip();\n },\n Scope(path, state) {\n if (path.isFunctionParent()) path.skip();\n\n const { bindings } = path.scope;\n for (const name of Object.keys(bindings)) {\n const binding = bindings[name];\n if (\n binding.kind === \"let\" ||\n binding.kind === \"const\" ||\n binding.kind === \"hoisted\"\n ) {\n state.blockScoped.push(binding);\n }\n }\n },\n};\n\nexport function getLoopBodyBindings(loopPath: NodePath) {\n const state: LoopBodyBindingsState = { blockScoped: [] };\n loopPath.traverse(collectLoopBodyBindingsVisitor, state);\n return state.blockScoped;\n}\n\nexport function getUsageInBody(binding: Binding, loopPath: NodePath) {\n // UpdateExpressions are counted both as a reference and a mutation,\n // so we need to de-duplicate them.\n const seen = new WeakSet();\n\n let capturedInClosure = false;\n\n const constantViolations = filterMap(binding.constantViolations, path => {\n const { inBody, inClosure } = relativeLoopLocation(path, loopPath);\n if (!inBody) return null;\n capturedInClosure ||= inClosure;\n\n const id = path.isUpdateExpression()\n ? path.get(\"argument\")\n : path.isAssignmentExpression()\n ? path.get(\"left\")\n : null;\n if (id) seen.add(id.node);\n return id as NodePath | null;\n });\n\n const references = filterMap(binding.referencePaths, path => {\n if (seen.has(path.node)) return null;\n\n const { inBody, inClosure } = relativeLoopLocation(path, loopPath);\n if (!inBody) return null;\n capturedInClosure ||= inClosure;\n\n return path as NodePath;\n });\n\n return {\n capturedInClosure,\n hasConstantViolations: constantViolations.length > 0,\n usages: references.concat(constantViolations),\n };\n}\n\nfunction relativeLoopLocation(path: NodePath, loopPath: NodePath) {\n const bodyPath = loopPath.get(\"body\");\n let inClosure = false;\n\n for (let currPath = path; currPath; currPath = currPath.parentPath) {\n if (currPath.isFunction() || currPath.isClass() || currPath.isMethod()) {\n inClosure = true;\n }\n if (currPath === bodyPath) {\n return { inBody: true, inClosure };\n } else if (currPath === loopPath) {\n return { inBody: false, inClosure };\n }\n }\n\n throw new Error(\n \"Internal Babel error: path is not in loop. Please report this as a bug.\",\n );\n}\n\ninterface CompletionsAndVarsState {\n breaksContinues: NodePath[];\n returns: NodePath[];\n labelsStack: string[];\n labellessContinueTargets: number;\n labellessBreakTargets: number;\n\n vars: NodePath[];\n loopNode: t.Loop;\n}\n\nconst collectCompletionsAndVarsVisitor: Visitor = {\n Function(path) {\n path.skip();\n },\n LabeledStatement: {\n enter({ node }, state) {\n state.labelsStack.push(node.label.name);\n },\n exit({ node }, state) {\n const popped = state.labelsStack.pop();\n if (popped !== node.label.name) {\n throw new Error(\"Assertion failure. Please report this bug to Babel.\");\n }\n },\n },\n Loop: {\n enter(_, state) {\n state.labellessContinueTargets++;\n state.labellessBreakTargets++;\n },\n exit(_, state) {\n state.labellessContinueTargets--;\n state.labellessBreakTargets--;\n },\n },\n SwitchStatement: {\n enter(_, state) {\n state.labellessBreakTargets++;\n },\n exit(_, state) {\n state.labellessBreakTargets--;\n },\n },\n \"BreakStatement|ContinueStatement\"(\n path: NodePath,\n state,\n ) {\n const { label } = path.node;\n if (label) {\n if (state.labelsStack.includes(label.name)) return;\n } else if (\n path.isBreakStatement()\n ? state.labellessBreakTargets > 0\n : state.labellessContinueTargets > 0\n ) {\n return;\n }\n state.breaksContinues.push(path);\n },\n ReturnStatement(path, state) {\n state.returns.push(path);\n },\n VariableDeclaration(path, state) {\n if (path.parent === state.loopNode && isVarInLoopHead(path)) return;\n if (path.node.kind === \"var\") state.vars.push(path);\n },\n};\n\nexport function wrapLoopBody(\n loopPath: NodePath,\n captured: string[],\n updatedBindingsUsages: Map[]>,\n) {\n const loopNode = loopPath.node;\n const state: CompletionsAndVarsState = {\n breaksContinues: [],\n returns: [],\n labelsStack: [],\n labellessBreakTargets: 0,\n labellessContinueTargets: 0,\n vars: [],\n loopNode,\n };\n loopPath.traverse(collectCompletionsAndVarsVisitor, state);\n\n const callArgs = [];\n const closureParams = [];\n const updater = [];\n for (const [name, updatedUsage] of updatedBindingsUsages) {\n callArgs.push(t.identifier(name));\n\n const innerName = loopPath.scope.generateUid(name);\n closureParams.push(t.identifier(innerName));\n updater.push(\n t.assignmentExpression(\"=\", t.identifier(name), t.identifier(innerName)),\n );\n for (const path of updatedUsage) path.replaceWith(t.identifier(innerName));\n }\n for (const name of captured) {\n if (updatedBindingsUsages.has(name)) continue; // already injected\n callArgs.push(t.identifier(name));\n closureParams.push(t.identifier(name));\n }\n\n const id = loopPath.scope.generateUid(\"loop\");\n const fn = t.functionExpression(\n null,\n closureParams,\n t.toBlock(loopNode.body),\n );\n let call: t.Expression = t.callExpression(t.identifier(id), callArgs);\n\n const fnParent = loopPath.findParent(p => p.isFunction());\n if (fnParent) {\n const { async, generator } = fnParent.node as t.Function;\n fn.async = async;\n fn.generator = generator;\n if (generator) call = t.yieldExpression(call, true);\n else if (async) call = t.awaitExpression(call);\n }\n\n const updaterNode =\n updater.length > 0\n ? t.expressionStatement(t.sequenceExpression(updater))\n : null;\n if (updaterNode) fn.body.body.push(updaterNode);\n\n // NOTE: Calling .insertBefore on the loop path might cause the\n // loop to be moved in the AST. For example, in\n // if (true) for (let x of y) ...\n // .insertBefore will replace the loop with a block:\n // if (true) { var _loop = ...; for (let x of y) ... }\n // All subsequent operations in this function on the loop node\n // must not assume that loopPath still represents the loop.\n // TODO: Consider using a function declaration\n const [varPath] = loopPath.insertBefore(\n t.variableDeclaration(\"var\", [t.variableDeclarator(t.identifier(id), fn)]),\n ) as [NodePath];\n\n const bodyStmts: t.Statement[] = [];\n\n const varNames: string[] = [];\n for (const varPath of state.vars) {\n const assign = [];\n for (const decl of varPath.node.declarations) {\n varNames.push(...Object.keys(t.getBindingIdentifiers(decl.id)));\n if (decl.init) {\n assign.push(t.assignmentExpression(\"=\", decl.id, decl.init));\n }\n }\n if (assign.length > 0) {\n let replacement: t.Node =\n assign.length === 1 ? assign[0] : t.sequenceExpression(assign);\n if (\n !t.isForStatement(varPath.parent, { init: varPath.node }) &&\n !t.isForXStatement(varPath.parent, { left: varPath.node })\n ) {\n replacement = t.expressionStatement(replacement);\n }\n varPath.replaceWith(replacement);\n } else {\n varPath.remove();\n }\n }\n if (varNames.length) {\n varPath.pushContainer(\n \"declarations\",\n varNames.map(name => t.variableDeclarator(t.identifier(name))),\n );\n }\n\n const labelNum = state.breaksContinues.length;\n const returnNum = state.returns.length;\n if (labelNum + returnNum === 0) {\n bodyStmts.push(t.expressionStatement(call));\n } else if (labelNum === 1 && returnNum === 0) {\n for (const path of state.breaksContinues) {\n const { node } = path;\n const { type, label } = node;\n let name = type === \"BreakStatement\" ? \"break\" : \"continue\";\n if (label) name += \" \" + label.name;\n path.replaceWith(\n t.addComment(\n t.returnStatement(t.numericLiteral(1)),\n \"trailing\",\n \" \" + name,\n true,\n ),\n );\n if (updaterNode) path.insertBefore(t.cloneNode(updaterNode));\n\n bodyStmts.push(\n template.statement.ast`\n if (${call}) ${node}\n `,\n );\n }\n } else {\n const completionId = loopPath.scope.generateUid(\"ret\");\n\n if (varPath.isVariableDeclaration()) {\n varPath.pushContainer(\"declarations\", [\n t.variableDeclarator(t.identifier(completionId)),\n ]);\n bodyStmts.push(\n t.expressionStatement(\n t.assignmentExpression(\"=\", t.identifier(completionId), call),\n ),\n );\n } else {\n bodyStmts.push(\n t.variableDeclaration(\"var\", [\n t.variableDeclarator(t.identifier(completionId), call),\n ]),\n );\n }\n\n const injected: string[] = [];\n for (const path of state.breaksContinues) {\n const { node } = path;\n const { type, label } = node;\n let name = type === \"BreakStatement\" ? \"break\" : \"continue\";\n if (label) name += \" \" + label.name;\n\n let i = injected.indexOf(name);\n const hasInjected = i !== -1;\n if (!hasInjected) {\n injected.push(name);\n i = injected.length - 1;\n }\n\n path.replaceWith(\n t.addComment(\n t.returnStatement(t.numericLiteral(i)),\n \"trailing\",\n \" \" + name,\n true,\n ),\n );\n if (updaterNode) path.insertBefore(t.cloneNode(updaterNode));\n\n if (hasInjected) continue;\n\n bodyStmts.push(\n template.statement.ast`\n if (${t.identifier(completionId)} === ${t.numericLiteral(i)}) ${node}\n `,\n );\n }\n\n if (returnNum) {\n for (const path of state.returns) {\n const arg = path.node.argument || path.scope.buildUndefinedNode();\n path.replaceWith(\n template.statement.ast`\n return { v: ${arg} };\n `,\n );\n }\n\n bodyStmts.push(\n template.statement.ast`\n if (${t.identifier(completionId)}) return ${t.identifier(\n completionId,\n )}.v;\n `,\n );\n }\n }\n\n loopNode.body = t.blockStatement(bodyStmts);\n\n return varPath;\n}\n\nexport function isVarInLoopHead(path: NodePath) {\n if (t.isForStatement(path.parent)) return path.key === \"init\";\n if (t.isForXStatement(path.parent)) return path.key === \"left\";\n return false;\n}\n\nfunction filterMap(list: T[], fn: (item: T) => U | null) {\n const result: U[] = [];\n for (const item of list) {\n const mapped = fn(item);\n if (mapped) result.push(mapped);\n }\n return result;\n}\n","import { types as t, type PluginPass } from \"@babel/core\";\nimport type { Binding, NodePath } from \"@babel/traverse\";\n\nexport function validateUsage(\n path: NodePath,\n state: PluginPass,\n tdzEnabled: boolean,\n) {\n const dynamicTDZNames = [];\n\n for (const name of Object.keys(path.getBindingIdentifiers())) {\n const binding = path.scope.getBinding(name);\n // binding may be null. ref: https://github.com/babel/babel/issues/15300\n if (!binding) continue;\n if (tdzEnabled) {\n if (injectTDZChecks(binding, state)) dynamicTDZNames.push(name);\n }\n if (path.node.kind === \"const\") {\n disallowConstantViolations(name, binding, state);\n }\n }\n\n return dynamicTDZNames;\n}\n\nfunction disallowConstantViolations(\n name: string,\n binding: Binding,\n state: PluginPass,\n) {\n for (const violation of binding.constantViolations) {\n const readOnlyError = state.addHelper(\"readOnlyError\");\n const throwNode = t.callExpression(readOnlyError, [t.stringLiteral(name)]);\n\n if (violation.isAssignmentExpression()) {\n const { operator, left, right } = violation.node;\n if (operator === \"=\") {\n const exprs = [right];\n exprs.push(throwNode);\n violation.replaceWith(t.sequenceExpression(exprs));\n } else if ([\"&&=\", \"||=\", \"??=\"].includes(operator)) {\n violation.replaceWith(\n t.logicalExpression(\n // @ts-expect-error todo: give a better type to operator\n operator.slice(0, -1),\n left,\n t.sequenceExpression([right, throwNode]),\n ),\n );\n } else {\n violation.replaceWith(\n t.sequenceExpression([\n t.binaryExpression(\n // @ts-expect-error todo: give a better type to operator\n operator.slice(0, -1),\n left,\n right,\n ),\n throwNode,\n ]),\n );\n }\n } else if (violation.isUpdateExpression()) {\n violation.replaceWith(\n t.sequenceExpression([\n t.unaryExpression(\"+\", violation.get(\"argument\").node),\n throwNode,\n ]),\n );\n } else if (violation.isForXStatement()) {\n violation.ensureBlock();\n violation\n .get(\"left\")\n .replaceWith(\n t.variableDeclaration(\"var\", [\n t.variableDeclarator(violation.scope.generateUidIdentifier(name)),\n ]),\n );\n violation.node.body.body.unshift(t.expressionStatement(throwNode));\n }\n }\n}\n\nfunction getTDZStatus(refPath: NodePath, bindingPath: NodePath) {\n const executionStatus = bindingPath._guessExecutionStatusRelativeTo(refPath);\n\n if (executionStatus === \"before\") {\n return \"outside\";\n } else if (executionStatus === \"after\") {\n return \"inside\";\n } else {\n return \"maybe\";\n }\n}\n\nconst skipTDZChecks = new WeakSet();\n\nfunction buildTDZAssert(\n status: \"maybe\" | \"inside\",\n node: t.Identifier | t.JSXIdentifier,\n state: PluginPass,\n) {\n if (status === \"maybe\") {\n const clone = t.cloneNode(node);\n skipTDZChecks.add(clone);\n return t.callExpression(state.addHelper(\"temporalRef\"), [\n // @ts-expect-error Fixme: we may need to handle JSXIdentifier\n clone,\n t.stringLiteral(node.name),\n ]);\n } else {\n return t.callExpression(state.addHelper(\"tdz\"), [\n t.stringLiteral(node.name),\n ]);\n }\n}\n\ntype TDZReplacement = { status: \"maybe\" | \"inside\"; node: t.Expression };\nfunction getTDZReplacement(\n path: NodePath,\n state: PluginPass,\n): TDZReplacement | undefined;\nfunction getTDZReplacement(\n path: NodePath,\n state: PluginPass,\n id: t.Identifier | t.JSXIdentifier,\n): TDZReplacement | undefined;\nfunction getTDZReplacement(\n path: NodePath,\n state: PluginPass,\n id: t.Identifier | t.JSXIdentifier = path.node as any,\n): TDZReplacement | undefined {\n if (skipTDZChecks.has(id)) return;\n skipTDZChecks.add(id);\n\n const bindingPath = path.scope.getBinding(id.name)?.path;\n\n if (!bindingPath || bindingPath.isFunctionDeclaration()) return;\n\n const status = getTDZStatus(path, bindingPath);\n if (status === \"outside\") return;\n\n if (status === \"maybe\") {\n // add tdzThis to parent variable declarator so it's exploded\n // @ts-expect-error todo(flow->ts): avoid mutations\n bindingPath.parent._tdzThis = true;\n }\n\n return { status, node: buildTDZAssert(status, id, state) };\n}\n\nfunction injectTDZChecks(binding: Binding, state: PluginPass) {\n const allUsages = new Set(binding.referencePaths);\n binding.constantViolations.forEach(allUsages.add, allUsages);\n\n let dynamicTdz = false;\n\n for (const path of binding.constantViolations) {\n const { node } = path;\n if (skipTDZChecks.has(node)) continue;\n skipTDZChecks.add(node);\n\n if (path.isUpdateExpression()) {\n // arg is an identifier referencing the current binding\n const arg = path.get(\"argument\") as NodePath;\n\n const replacement = getTDZReplacement(path, state, arg.node);\n if (!replacement) continue;\n\n if (replacement.status === \"maybe\") {\n dynamicTdz = true;\n path.insertBefore(replacement.node);\n } else {\n path.replaceWith(replacement.node);\n }\n } else if (path.isAssignmentExpression()) {\n const nodes = [];\n const ids = path.getBindingIdentifiers();\n\n for (const name of Object.keys(ids)) {\n const replacement = getTDZReplacement(path, state, ids[name]);\n if (replacement) {\n nodes.push(t.expressionStatement(replacement.node));\n if (replacement.status === \"inside\") break;\n if (replacement.status === \"maybe\") dynamicTdz = true;\n }\n }\n\n if (nodes.length > 0) path.insertBefore(nodes);\n }\n }\n\n for (const path of binding.referencePaths as NodePath[]) {\n if (path.parentPath.isUpdateExpression()) continue;\n // It will be handled after transforming the loop\n if (path.parentPath.isFor({ left: path.node })) continue;\n\n const replacement = getTDZReplacement(path, state);\n if (!replacement) continue;\n if (replacement.status === \"maybe\") dynamicTdz = true;\n\n path.replaceWith(replacement.node);\n }\n\n return dynamicTdz;\n}\n","import { types as t } from \"@babel/core\";\nimport type { NodePath, Visitor, Scope } from \"@babel/traverse\";\n\n// Whenever a function declaration in a nested block scope\n// doesn't conflict with a block-scoped binding from an outer\n// scope, we transform it to a variable declaration.\n//\n// This implements the Annex B.3.3 behavior.\n//\n// TODO(Babel 8): Figure out how this should interact with\n// the transform-block-scoped functions plugin (it feels\n// wrong to handle this transform here), and what we want\n// to do with Annex B behavior in general.\n\n// To avoid confusing block-scoped variables transformed to\n// var with original vars, this transformation happens in two\n// different places:\n// 1. For functions that \"conflict\" with var-variables, in\n// the VariableDeclaration visitor.\n// 2. For functions that don't conflict with any variable,\n// in the FunctionDeclaration visitor.\n\nexport const annexB33FunctionsVisitor: Visitor = {\n VariableDeclaration(path) {\n if (isStrict(path)) return;\n if (path.node.kind !== \"var\") return;\n\n const varScope =\n path.scope.getFunctionParent() || path.scope.getProgramParent();\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n varScope.path.traverse(functionsToVarVisitor, {\n names: Object.keys(path.getBindingIdentifiers()),\n });\n },\n\n // NOTE: These two visitors target the same nodes as the\n // block-scoped-functions plugin\n\n BlockStatement(path) {\n if (isStrict(path)) return;\n if (t.isFunction(path.parent, { body: path.node })) return;\n transformStatementList(path.get(\"body\"));\n },\n\n SwitchCase(path) {\n if (isStrict(path)) return;\n transformStatementList(path.get(\"consequent\"));\n },\n};\n\nfunction transformStatementList(paths: NodePath[]) {\n outer: for (const path of paths) {\n if (!path.isFunctionDeclaration()) continue;\n // Annex B.3.3 only applies to plain functions.\n if (path.node.async || path.node.generator) return;\n\n const { scope } = path.parentPath;\n if (isVarScope(scope)) return;\n\n const { name } = path.node.id;\n let currScope = scope;\n do {\n if (currScope.parent.hasOwnBinding(name)) continue outer;\n currScope = currScope.parent;\n } while (!isVarScope(currScope));\n\n maybeTransformBlockScopedFunction(path);\n }\n}\n\nfunction maybeTransformBlockScopedFunction(\n path: NodePath,\n) {\n const {\n node,\n parentPath: { scope },\n } = path;\n\n const { id } = node;\n scope.removeOwnBinding(id.name);\n node.id = null;\n\n const varNode = t.variableDeclaration(\"var\", [\n t.variableDeclarator(id, t.toExpression(node)),\n ]);\n // @ts-expect-error undocumented property\n varNode._blockHoist = 2;\n\n const [varPath] = path.replaceWith(varNode);\n scope.registerDeclaration(varPath);\n}\n\nconst functionsToVarVisitor: Visitor<{ names: string[] }> = {\n Scope(path, { names }) {\n for (const name of names) {\n const binding = path.scope.getOwnBinding(name);\n if (binding && binding.kind === \"hoisted\") {\n maybeTransformBlockScopedFunction(\n binding.path as NodePath,\n );\n }\n }\n },\n \"Expression|Declaration\"(path) {\n path.skip();\n },\n};\n\nexport function isVarScope(scope: Scope) {\n return scope.path.isFunctionParent() || scope.path.isProgram();\n}\n\nfunction isStrict(path: NodePath) {\n return !!path.find(({ node }) => {\n if (t.isProgram(node)) {\n if (node.sourceType === \"module\") return true;\n } else if (t.isClass(node)) {\n return true;\n } else if (!t.isBlockStatement(node)) {\n return false;\n }\n\n return node.directives?.some(\n directive => directive.value.value === \"use strict\",\n );\n });\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport type { NodePath, Scope, Visitor } from \"@babel/traverse\";\nimport { type PluginPass, types as t, traverse } from \"@babel/core\";\n\nimport {\n getLoopBodyBindings,\n getUsageInBody,\n isVarInLoopHead,\n wrapLoopBody,\n} from \"./loop.ts\";\nimport { validateUsage } from \"./validation.ts\";\nimport { annexB33FunctionsVisitor, isVarScope } from \"./annex-B_3_3.ts\";\n\nexport interface Options {\n tdz?: boolean;\n throwIfClosureRequired?: boolean;\n}\n\nexport default declare((api, opts: Options) => {\n api.assertVersion(7);\n\n const { throwIfClosureRequired = false, tdz: tdzEnabled = false } = opts;\n if (typeof throwIfClosureRequired !== \"boolean\") {\n throw new Error(`.throwIfClosureRequired must be a boolean, or undefined`);\n }\n if (typeof tdzEnabled !== \"boolean\") {\n throw new Error(`.tdz must be a boolean, or undefined`);\n }\n\n return {\n name: \"transform-block-scoping\",\n\n visitor: traverse.visitors.merge([\n // TODO: Consider adding an option to control Annex B behavior.\n annexB33FunctionsVisitor,\n {\n Loop(path: NodePath, state) {\n const isForStatement = path.isForStatement();\n const headPath = isForStatement\n ? path.get(\"init\")\n : path.isForXStatement()\n ? path.get(\"left\")\n : null;\n\n let needsBodyWrap = false;\n const markNeedsBodyWrap = () => {\n if (throwIfClosureRequired) {\n throw path.buildCodeFrameError(\n \"Compiling let/const in this block would add a closure \" +\n \"(throwIfClosureRequired).\",\n );\n }\n needsBodyWrap = true;\n };\n\n const body = path.get(\"body\");\n let bodyScope: Scope | null;\n if (body.isBlockStatement()) {\n bodyScope = body.scope;\n\n const bindings = getLoopBodyBindings(path);\n for (const binding of bindings) {\n const { capturedInClosure } = getUsageInBody(binding, path);\n if (capturedInClosure) markNeedsBodyWrap();\n }\n }\n\n const captured: string[] = [];\n const updatedBindingsUsages: Map[]> =\n new Map();\n\n if (headPath && isBlockScoped(headPath.node)) {\n const names = Object.keys(headPath.getBindingIdentifiers());\n const headScope = headPath.scope;\n\n for (let name of names) {\n if (bodyScope?.hasOwnBinding(name)) continue; // shadowed\n\n let binding = headScope.getOwnBinding(name);\n if (!binding) {\n headScope.crawl();\n binding = headScope.getOwnBinding(name);\n }\n const { usages, capturedInClosure, hasConstantViolations } =\n getUsageInBody(binding, path);\n\n if (\n headScope.parent.hasBinding(name) ||\n headScope.parent.hasGlobal(name)\n ) {\n // If the binding is not captured, there is no need\n // of adding it to the closure param. However, rename\n // it if it shadows an outer binding, because the\n // closure will be moved to an outer level.\n const newName = headScope.generateUid(name);\n headScope.rename(name, newName);\n name = newName;\n }\n\n if (capturedInClosure) {\n markNeedsBodyWrap();\n captured.push(name);\n }\n\n if (isForStatement && hasConstantViolations) {\n updatedBindingsUsages.set(name, usages);\n }\n }\n }\n\n if (needsBodyWrap) {\n const varPath = wrapLoopBody(path, captured, updatedBindingsUsages);\n\n if (headPath?.isVariableDeclaration()) {\n // If we wrap the loop body, we transform the var\n // declaration in the loop head now, to avoid\n // invalid references that break other plugins:\n //\n // for (let head of x) {\n // let i = head;\n // setTimeout(() => i);\n // }\n //\n // would become\n //\n // function _loop() {\n // let i = head;\n // setTimeout(() => i);\n // }\n // for (let head of x) _loop();\n //\n // which references `head` in a scope where it's not visible.\n transformBlockScopedVariable(headPath, state, tdzEnabled);\n }\n\n varPath.get(\"declarations.0.init\").unwrapFunctionEnvironment();\n }\n },\n\n VariableDeclaration(path, state) {\n transformBlockScopedVariable(path, state, tdzEnabled);\n },\n\n // Class declarations are block-scoped: if there is\n // a class declaration in a nested block that conflicts\n // with an outer block-scoped binding, rename it.\n // TODO: Should this be moved to the classes plugin?\n ClassDeclaration(path) {\n const { id } = path.node;\n if (!id) return;\n\n const { scope } = path.parentPath;\n if (\n !isVarScope(scope) &&\n scope.parent.hasBinding(id.name, { noUids: true })\n ) {\n path.scope.rename(id.name);\n }\n },\n },\n ]),\n };\n});\n\nconst conflictingFunctionsVisitor: Visitor<{ names: string[] }> = {\n Scope(path, { names }) {\n for (const name of names) {\n const binding = path.scope.getOwnBinding(name);\n if (binding && binding.kind === \"hoisted\") {\n path.scope.rename(name);\n }\n }\n },\n \"Expression|Declaration\"(path) {\n path.skip();\n },\n};\n\nfunction transformBlockScopedVariable(\n path: NodePath,\n state: PluginPass,\n tdzEnabled: boolean,\n) {\n if (!isBlockScoped(path.node)) return;\n\n const dynamicTDZNames = validateUsage(path, state, tdzEnabled);\n\n path.node.kind = \"var\";\n\n const bindingNames = Object.keys(path.getBindingIdentifiers());\n for (const name of bindingNames) {\n const binding = path.scope.getOwnBinding(name);\n if (!binding) continue;\n binding.kind = \"var\";\n }\n\n if (\n (isInLoop(path) && !isVarInLoopHead(path)) ||\n dynamicTDZNames.length > 0\n ) {\n for (const decl of path.node.declarations) {\n // We explicitly add `void 0` to cases like\n // for (;;) { let a; }\n // to make sure that `a` doesn't keep the value from\n // the previous iteration.\n decl.init ??= path.scope.buildUndefinedNode();\n }\n }\n\n const blockScope = path.scope;\n const varScope =\n blockScope.getFunctionParent() || blockScope.getProgramParent();\n\n if (varScope !== blockScope) {\n for (const name of bindingNames) {\n let newName = name;\n if (\n // We pass `noUids` true because, if `name` was a generated\n // UID, it has been used to declare the current variable in\n // a nested scope and thus we don't need to assume that it\n // may be declared (but not registered yet) in an upper one.\n blockScope.parent.hasBinding(name, { noUids: true }) ||\n blockScope.parent.hasGlobal(name)\n ) {\n newName = blockScope.generateUid(name);\n blockScope.rename(name, newName);\n }\n\n blockScope.moveBindingTo(newName, varScope);\n }\n }\n\n blockScope.path.traverse(conflictingFunctionsVisitor, {\n names: bindingNames,\n });\n\n for (const name of dynamicTDZNames) {\n path.scope.push({\n id: t.identifier(name),\n init: state.addHelper(\"temporalUndefined\"),\n });\n }\n}\n\nfunction isLetOrConst(kind: string): kind is \"let\" | \"const\" {\n return kind === \"let\" || kind === \"const\";\n}\n\nfunction isInLoop(path: NodePath): boolean {\n if (!path.parentPath) return false;\n if (path.parentPath.isLoop()) return true;\n if (path.parentPath.isFunctionParent()) return false;\n return isInLoop(path.parentPath);\n}\n\nfunction isBlockScoped(node: t.Node): node is t.VariableDeclaration {\n if (!t.isVariableDeclaration(node)) return false;\n if (\n // @ts-expect-error Fixme: document symbol properties\n node[t.BLOCK_SCOPED_SYMBOL]\n ) {\n return true;\n }\n\n if (!isLetOrConst(node.kind) && node.kind !== \"using\") {\n return false;\n }\n\n return true;\n}\n","// env vars from the cli are always strings, so !!ENV_VAR returns true for \"false\"\nfunction bool(value) {\n if (value == null) return false;\n return value && value !== \"false\" && value !== \"0\";\n}\n\nmodule.exports = bool(process.env[\"BABEL_8_BREAKING\"])\n ? require(\"globals-BABEL_8_BREAKING-true\")\n : require(\"globals-BABEL_8_BREAKING-false\");\n","import { template, types as t, type File } from \"@babel/core\";\n\nconst helper = template.statement`\n function CREATE_SUPER(Derived) {\n function isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n\n // core-js@3\n if (Reflect.construct.sham) return false;\n\n // Proxy can't be polyfilled. Every browser implemented\n // proxies before or at the same time as Reflect.construct,\n // so if they support Proxy they also support Reflect.construct.\n if (typeof Proxy === \"function\") return true;\n\n // Since Reflect.construct can't be properly polyfilled, some\n // implementations (e.g. core-js@2) don't set the correct internal slots.\n // Those polyfills don't allow us to subclass built-ins, so we need to\n // use our fallback implementation.\n try {\n // If the internal slots aren't set, this throws an error similar to\n // TypeError: this is not a Date object.\n Date.prototype.toString.call(Reflect.construct(Date, [], function() {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n return function () {\n var Super = GET_PROTOTYPE_OF(Derived), result;\n if (isNativeReflectConstruct()) {\n // NOTE: This doesn't work if this.__proto__.constructor has been modified.\n var NewTarget = GET_PROTOTYPE_OF(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return POSSIBLE_CONSTRUCTOR_RETURN(this, result);\n }\n }\n`;\n\nconst helperIDs = new WeakMap();\n\nexport default function addCreateSuperHelper(file: File) {\n if (helperIDs.has(file)) {\n // TODO: Only use t.cloneNode in Babel 8\n // t.cloneNode isn't supported in every version\n return (t.cloneNode || t.clone)(helperIDs.get(file));\n }\n\n try {\n return file.addHelper(\"createSuper\");\n } catch {\n // Babel <7.9.0 doesn't support the helper.\n }\n\n const id = file.scope.generateUidIdentifier(\"createSuper\");\n helperIDs.set(file, id);\n\n const fn = helper({\n CREATE_SUPER: id,\n GET_PROTOTYPE_OF: file.addHelper(\"getPrototypeOf\"),\n POSSIBLE_CONSTRUCTOR_RETURN: file.addHelper(\"possibleConstructorReturn\"),\n });\n\n file.path.unshiftContainer(\"body\", [fn]);\n file.scope.registerDeclaration(file.path.get(\"body.0\"));\n\n return t.cloneNode(id);\n}\n","import type { NodePath, Scope, Visitor } from \"@babel/traverse\";\nimport nameFunction from \"@babel/helper-function-name\";\nimport ReplaceSupers from \"@babel/helper-replace-supers\";\nimport environmentVisitor from \"@babel/helper-environment-visitor\";\nimport optimiseCall from \"@babel/helper-optimise-call-expression\";\nimport { traverse, template, types as t, type File } from \"@babel/core\";\nimport annotateAsPure from \"@babel/helper-annotate-as-pure\";\n\nimport addCreateSuperHelper from \"./inline-createSuper-helpers.ts\";\n\ntype ClassAssumptions = {\n setClassMethods: boolean;\n constantSuper: boolean;\n superIsCallableConstructor: boolean;\n noClassCalls: boolean;\n};\n\ntype ClassConstructor = t.ClassMethod & { kind: \"constructor\" };\n\nfunction buildConstructor(\n classRef: t.Identifier,\n constructorBody: t.BlockStatement,\n node: t.Class,\n) {\n const func = t.functionDeclaration(\n t.cloneNode(classRef),\n [],\n constructorBody,\n );\n t.inherits(func, node);\n return func;\n}\n\ntype Descriptor = {\n key: t.Expression;\n get?: t.Expression | null;\n set?: t.Expression | null;\n value?: t.Expression | null;\n constructor?: t.Expression | null;\n};\n\ntype State = {\n parent: t.Node;\n scope: Scope;\n node: t.Class;\n path: NodePath;\n file: File;\n\n classId: t.Identifier | void;\n classRef: t.Identifier;\n superFnId: t.Identifier;\n superName: t.Expression | null;\n superReturns: NodePath[];\n isDerived: boolean;\n extendsNative: boolean;\n\n construct: t.FunctionDeclaration;\n constructorBody: t.BlockStatement;\n userConstructor: ClassConstructor;\n userConstructorPath: NodePath;\n hasConstructor: boolean;\n\n body: t.Statement[];\n superThises: NodePath[];\n pushedConstructor: boolean;\n pushedInherits: boolean;\n pushedCreateClass: boolean;\n protoAlias: t.Identifier | null;\n isLoose: boolean;\n\n dynamicKeys: Map;\n\n methods: {\n // 'list' is in the same order as the elements appear in the class body.\n // if there aren't computed keys, we can safely reorder class elements\n // and use 'map' to merge duplicates.\n instance: {\n hasComputed: boolean;\n list: Descriptor[];\n map: Map;\n };\n static: {\n hasComputed: boolean;\n list: Descriptor[];\n map: Map;\n };\n };\n};\n\ntype PropertyInfo = {\n instance: t.ObjectExpression[] | null;\n static: t.ObjectExpression[] | null;\n};\n\nexport default function transformClass(\n path: NodePath,\n file: File,\n builtinClasses: ReadonlySet,\n isLoose: boolean,\n assumptions: ClassAssumptions,\n supportUnicodeId: boolean,\n) {\n const classState: State = {\n parent: undefined,\n scope: undefined,\n node: undefined,\n path: undefined,\n file: undefined,\n\n classId: undefined,\n classRef: undefined,\n superFnId: undefined,\n superName: null,\n superReturns: [],\n isDerived: false,\n extendsNative: false,\n\n construct: undefined,\n constructorBody: undefined,\n userConstructor: undefined,\n userConstructorPath: undefined,\n hasConstructor: false,\n\n body: [],\n superThises: [],\n pushedConstructor: false,\n pushedInherits: false,\n pushedCreateClass: false,\n protoAlias: null,\n isLoose: false,\n\n dynamicKeys: new Map(),\n\n methods: {\n instance: {\n hasComputed: false,\n list: [],\n map: new Map(),\n },\n static: {\n hasComputed: false,\n list: [],\n map: new Map(),\n },\n },\n };\n\n const setState = (newState: Partial) => {\n Object.assign(classState, newState);\n };\n\n const findThisesVisitor = traverse.visitors.merge([\n environmentVisitor,\n {\n ThisExpression(path) {\n classState.superThises.push(path);\n },\n },\n ]);\n\n function createClassHelper(args: t.Expression[]) {\n return t.callExpression(classState.file.addHelper(\"createClass\"), args);\n }\n\n /**\n * Creates a class constructor or bail out if there is one\n */\n function maybeCreateConstructor() {\n const classBodyPath = classState.path.get(\"body\");\n for (const path of classBodyPath.get(\"body\")) {\n if (path.isClassMethod({ kind: \"constructor\" })) return;\n }\n\n let params: t.FunctionExpression[\"params\"], body;\n\n if (classState.isDerived) {\n const constructor = template.expression.ast`\n (function () {\n super(...arguments);\n })\n ` as t.FunctionExpression;\n params = constructor.params;\n body = constructor.body;\n } else {\n params = [];\n body = t.blockStatement([]);\n }\n\n classBodyPath.unshiftContainer(\n \"body\",\n t.classMethod(\"constructor\", t.identifier(\"constructor\"), params, body),\n );\n }\n\n function buildBody() {\n maybeCreateConstructor();\n pushBody();\n verifyConstructor();\n\n if (classState.userConstructor) {\n const { constructorBody, userConstructor, construct } = classState;\n\n constructorBody.body.push(...userConstructor.body.body);\n t.inherits(construct, userConstructor);\n t.inherits(constructorBody, userConstructor.body);\n }\n\n pushDescriptors();\n }\n\n function pushBody() {\n const classBodyPaths: Array = classState.path.get(\"body.body\");\n\n for (const path of classBodyPaths) {\n const node = path.node;\n\n if (path.isClassProperty()) {\n throw path.buildCodeFrameError(\"Missing class properties transform.\");\n }\n\n if (node.decorators) {\n throw path.buildCodeFrameError(\n \"Method has decorators, put the decorator plugin before the classes one.\",\n );\n }\n\n if (t.isClassMethod(node)) {\n const isConstructor = node.kind === \"constructor\";\n\n const replaceSupers = new ReplaceSupers({\n methodPath: path,\n objectRef: classState.classRef,\n superRef: classState.superName,\n constantSuper: assumptions.constantSuper,\n file: classState.file,\n refToPreserve: classState.classRef,\n });\n\n replaceSupers.replace();\n\n const superReturns: NodePath[] = [];\n path.traverse(\n traverse.visitors.merge([\n environmentVisitor,\n {\n ReturnStatement(path) {\n if (!path.getFunctionParent().isArrowFunctionExpression()) {\n superReturns.push(path);\n }\n },\n },\n ]),\n );\n\n if (isConstructor) {\n pushConstructor(superReturns, node as ClassConstructor, path);\n } else {\n pushMethod(node, path);\n }\n }\n }\n }\n\n function pushDescriptors() {\n pushInheritsToBody();\n\n const { body } = classState;\n\n const props: PropertyInfo = {\n instance: null,\n static: null,\n };\n\n for (const placement of [\"static\", \"instance\"] as const) {\n if (classState.methods[placement].list.length) {\n props[placement] = classState.methods[placement].list.map(desc => {\n const obj = t.objectExpression([\n t.objectProperty(t.identifier(\"key\"), desc.key),\n ]);\n\n for (const kind of [\"get\", \"set\", \"value\"] as const) {\n if (desc[kind] != null) {\n obj.properties.push(\n t.objectProperty(t.identifier(kind), desc[kind]),\n );\n }\n }\n\n return obj;\n });\n }\n }\n\n if (props.instance || props.static) {\n let args = [\n t.cloneNode(classState.classRef), // Constructor\n props.instance ? t.arrayExpression(props.instance) : t.nullLiteral(), // instanceDescriptors\n props.static ? t.arrayExpression(props.static) : t.nullLiteral(), // staticDescriptors\n ];\n\n let lastNonNullIndex = 0;\n for (let i = 0; i < args.length; i++) {\n if (!t.isNullLiteral(args[i])) lastNonNullIndex = i;\n }\n args = args.slice(0, lastNonNullIndex + 1);\n\n body.push(t.expressionStatement(createClassHelper(args)));\n classState.pushedCreateClass = true;\n }\n }\n\n function wrapSuperCall(\n bareSuper: NodePath,\n superRef: t.Expression,\n thisRef: () => t.Identifier,\n body: NodePath,\n ) {\n const bareSuperNode = bareSuper.node;\n let call;\n\n if (assumptions.superIsCallableConstructor) {\n bareSuperNode.arguments.unshift(t.thisExpression());\n if (\n bareSuperNode.arguments.length === 2 &&\n t.isSpreadElement(bareSuperNode.arguments[1]) &&\n t.isIdentifier(bareSuperNode.arguments[1].argument, {\n name: \"arguments\",\n })\n ) {\n // special case single arguments spread\n bareSuperNode.arguments[1] = bareSuperNode.arguments[1].argument;\n bareSuperNode.callee = t.memberExpression(\n t.cloneNode(superRef),\n t.identifier(\"apply\"),\n );\n } else {\n bareSuperNode.callee = t.memberExpression(\n t.cloneNode(superRef),\n t.identifier(\"call\"),\n );\n }\n\n call = t.logicalExpression(\"||\", bareSuperNode, t.thisExpression());\n } else {\n call = optimiseCall(\n t.cloneNode(classState.superFnId),\n t.thisExpression(),\n bareSuperNode.arguments,\n false,\n );\n }\n\n if (\n bareSuper.parentPath.isExpressionStatement() &&\n bareSuper.parentPath.container === body.node.body &&\n body.node.body.length - 1 === bareSuper.parentPath.key\n ) {\n // this super call is the last statement in the body so we can just straight up\n // turn it into a return\n\n if (classState.superThises.length) {\n call = t.assignmentExpression(\"=\", thisRef(), call);\n }\n\n bareSuper.parentPath.replaceWith(t.returnStatement(call));\n } else {\n bareSuper.replaceWith(t.assignmentExpression(\"=\", thisRef(), call));\n }\n }\n\n function verifyConstructor() {\n if (!classState.isDerived) return;\n\n const path = classState.userConstructorPath;\n const body = path.get(\"body\");\n\n path.traverse(findThisesVisitor);\n\n let thisRef = function () {\n const ref = path.scope.generateDeclaredUidIdentifier(\"this\");\n thisRef = () => t.cloneNode(ref);\n return ref;\n };\n\n for (const thisPath of classState.superThises) {\n const { node, parentPath } = thisPath;\n if (parentPath.isMemberExpression({ object: node })) {\n thisPath.replaceWith(thisRef());\n continue;\n }\n thisPath.replaceWith(\n t.callExpression(classState.file.addHelper(\"assertThisInitialized\"), [\n thisRef(),\n ]),\n );\n }\n\n const bareSupers: NodePath[] = [];\n path.traverse(\n traverse.visitors.merge([\n environmentVisitor,\n {\n Super(path) {\n const { node, parentPath } = path;\n if (parentPath.isCallExpression({ callee: node })) {\n bareSupers.unshift(parentPath);\n }\n },\n } as Visitor,\n ]),\n );\n\n let guaranteedSuperBeforeFinish = !!bareSupers.length;\n\n for (const bareSuper of bareSupers) {\n wrapSuperCall(bareSuper, classState.superName, thisRef, body);\n\n if (guaranteedSuperBeforeFinish) {\n bareSuper.find(function (parentPath) {\n // hit top so short circuit\n if (parentPath === path) {\n return true;\n }\n\n if (\n parentPath.isLoop() ||\n parentPath.isConditional() ||\n parentPath.isArrowFunctionExpression()\n ) {\n guaranteedSuperBeforeFinish = false;\n return true;\n }\n });\n }\n }\n\n let wrapReturn;\n\n if (classState.isLoose) {\n wrapReturn = (returnArg: t.Expression | void) => {\n const thisExpr = t.callExpression(\n classState.file.addHelper(\"assertThisInitialized\"),\n [thisRef()],\n );\n return returnArg\n ? t.logicalExpression(\"||\", returnArg, thisExpr)\n : thisExpr;\n };\n } else {\n wrapReturn = (returnArg: t.Expression | undefined) => {\n const returnParams: t.Expression[] = [thisRef()];\n if (returnArg != null) {\n returnParams.push(returnArg);\n }\n return t.callExpression(\n classState.file.addHelper(\"possibleConstructorReturn\"),\n returnParams,\n );\n };\n }\n\n // if we have a return as the last node in the body then we've already caught that\n // return\n const bodyPaths = body.get(\"body\");\n if (!bodyPaths.length || !bodyPaths.pop().isReturnStatement()) {\n body.pushContainer(\n \"body\",\n t.returnStatement(\n guaranteedSuperBeforeFinish ? thisRef() : wrapReturn(),\n ),\n );\n }\n\n for (const returnPath of classState.superReturns) {\n returnPath\n .get(\"argument\")\n .replaceWith(wrapReturn(returnPath.node.argument));\n }\n }\n\n /**\n * Push a method to its respective mutatorMap.\n */\n function pushMethod(node: t.ClassMethod, path?: NodePath) {\n const scope = path ? path.scope : classState.scope;\n\n if (node.kind === \"method\") {\n if (processMethod(node, scope)) return;\n }\n\n const placement = node.static ? \"static\" : \"instance\";\n const methods = classState.methods[placement];\n\n const descKey = node.kind === \"method\" ? \"value\" : node.kind;\n const key =\n t.isNumericLiteral(node.key) || t.isBigIntLiteral(node.key)\n ? t.stringLiteral(String(node.key.value))\n : t.toComputedKey(node);\n\n let fn: t.Expression = t.toExpression(node);\n\n if (t.isStringLiteral(key)) {\n // infer function name\n if (node.kind === \"method\") {\n // @ts-expect-error Fixme: we are passing a ClassMethod to nameFunction, but nameFunction\n // does not seem to support it\n fn =\n nameFunction(\n // @ts-expect-error Fixme: we are passing a ClassMethod to nameFunction, but nameFunction\n // does not seem to support it\n { id: key, node: node, scope },\n undefined,\n supportUnicodeId,\n ) ?? fn;\n }\n } else {\n // todo(flow->ts) find a way to avoid \"key as t.StringLiteral\" below which relies on this assignment\n methods.hasComputed = true;\n }\n\n let descriptor: Descriptor;\n if (\n !methods.hasComputed &&\n methods.map.has((key as t.StringLiteral).value)\n ) {\n descriptor = methods.map.get((key as t.StringLiteral).value);\n descriptor[descKey] = fn;\n\n if (descKey === \"value\") {\n descriptor.get = null;\n descriptor.set = null;\n } else {\n descriptor.value = null;\n }\n } else {\n descriptor = {\n key:\n // private name has been handled in class-properties transform\n key as t.Expression,\n [descKey]: fn,\n } as Descriptor;\n methods.list.push(descriptor);\n\n if (!methods.hasComputed) {\n methods.map.set((key as t.StringLiteral).value, descriptor);\n }\n }\n }\n\n function processMethod(node: t.ClassMethod, scope: Scope) {\n if (assumptions.setClassMethods && !node.decorators) {\n // use assignments instead of define properties for loose classes\n let { classRef } = classState;\n if (!node.static) {\n insertProtoAliasOnce();\n classRef = classState.protoAlias;\n }\n const methodName = t.memberExpression(\n t.cloneNode(classRef),\n node.key,\n node.computed || t.isLiteral(node.key),\n );\n\n let func: t.Expression = t.functionExpression(\n null,\n // @ts-expect-error Fixme: should throw when we see TSParameterProperty\n node.params,\n node.body,\n node.generator,\n node.async,\n );\n t.inherits(func, node);\n\n const key = t.toComputedKey(node, node.key);\n if (t.isStringLiteral(key)) {\n // @ts-expect-error: requires strictNullCheck\n func =\n nameFunction(\n {\n node: func,\n id: key,\n scope,\n },\n undefined,\n supportUnicodeId,\n ) ?? func;\n }\n\n const expr = t.expressionStatement(\n t.assignmentExpression(\"=\", methodName, func),\n );\n t.inheritsComments(expr, node);\n classState.body.push(expr);\n return true;\n }\n\n return false;\n }\n\n function insertProtoAliasOnce() {\n if (classState.protoAlias === null) {\n setState({ protoAlias: classState.scope.generateUidIdentifier(\"proto\") });\n const classProto = t.memberExpression(\n classState.classRef,\n t.identifier(\"prototype\"),\n );\n const protoDeclaration = t.variableDeclaration(\"var\", [\n t.variableDeclarator(classState.protoAlias, classProto),\n ]);\n\n classState.body.push(protoDeclaration);\n }\n }\n\n /**\n * Replace the constructor body of our class.\n */\n function pushConstructor(\n superReturns: NodePath[],\n method: ClassConstructor,\n path: NodePath,\n ) {\n setState({\n userConstructorPath: path,\n userConstructor: method,\n hasConstructor: true,\n superReturns,\n });\n\n const { construct } = classState;\n\n t.inheritsComments(construct, method);\n\n // @ts-expect-error Fixme: should throw when we see TSParameterProperty\n construct.params = method.params;\n\n t.inherits(construct.body, method.body);\n construct.body.directives = method.body.directives;\n\n pushConstructorToBody();\n }\n\n function pushConstructorToBody() {\n if (classState.pushedConstructor) return;\n classState.pushedConstructor = true;\n\n // we haven't pushed any descriptors yet\n // @ts-expect-error todo(flow->ts) maybe remove this block - properties from condition are not used anywhere else\n if (classState.hasInstanceDescriptors || classState.hasStaticDescriptors) {\n pushDescriptors();\n }\n\n classState.body.push(classState.construct);\n\n pushInheritsToBody();\n }\n\n /**\n * Push inherits helper to body.\n */\n function pushInheritsToBody() {\n if (!classState.isDerived || classState.pushedInherits) return;\n\n const superFnId = path.scope.generateUidIdentifier(\"super\");\n\n setState({ pushedInherits: true, superFnId });\n\n // Unshift to ensure that the constructor inheritance is set up before\n // any properties can be assigned to the prototype.\n\n if (!assumptions.superIsCallableConstructor) {\n classState.body.unshift(\n t.variableDeclaration(\"var\", [\n t.variableDeclarator(\n superFnId,\n t.callExpression(addCreateSuperHelper(classState.file), [\n t.cloneNode(classState.classRef),\n ]),\n ),\n ]),\n );\n }\n\n classState.body.unshift(\n t.expressionStatement(\n t.callExpression(\n classState.file.addHelper(\n classState.isLoose ? \"inheritsLoose\" : \"inherits\",\n ),\n [t.cloneNode(classState.classRef), t.cloneNode(classState.superName)],\n ),\n ),\n );\n }\n\n function extractDynamicKeys() {\n const { dynamicKeys, node, scope } = classState;\n\n for (const elem of node.body.body) {\n if (!t.isClassMethod(elem) || !elem.computed) continue;\n if (scope.isPure(elem.key, /* constants only*/ true)) continue;\n\n const id = scope.generateUidIdentifierBasedOnNode(elem.key);\n dynamicKeys.set(id.name, elem.key);\n\n elem.key = id;\n }\n }\n\n function setupClosureParamsArgs() {\n const { superName, dynamicKeys } = classState;\n const closureParams = [];\n const closureArgs = [];\n\n if (classState.isDerived) {\n let arg = t.cloneNode(superName);\n if (classState.extendsNative) {\n arg = t.callExpression(classState.file.addHelper(\"wrapNativeSuper\"), [\n arg,\n ]);\n annotateAsPure(arg);\n }\n\n const param =\n classState.scope.generateUidIdentifierBasedOnNode(superName);\n\n closureParams.push(param);\n closureArgs.push(arg);\n\n setState({ superName: t.cloneNode(param) });\n }\n\n for (const [name, value] of dynamicKeys) {\n closureParams.push(t.identifier(name));\n closureArgs.push(value);\n }\n\n return { closureParams, closureArgs };\n }\n\n function classTransformer(\n path: NodePath,\n file: File,\n builtinClasses: ReadonlySet,\n isLoose: boolean,\n ) {\n setState({\n parent: path.parent,\n scope: path.scope,\n node: path.node,\n path,\n file,\n isLoose,\n });\n\n setState({\n classId: classState.node.id,\n // this is the name of the binding that will **always** reference the class we've constructed\n classRef: classState.node.id\n ? t.identifier(classState.node.id.name)\n : classState.scope.generateUidIdentifier(\"class\"),\n superName: classState.node.superClass,\n isDerived: !!classState.node.superClass,\n constructorBody: t.blockStatement([]),\n });\n\n setState({\n extendsNative:\n t.isIdentifier(classState.superName) &&\n builtinClasses.has(classState.superName.name) &&\n !classState.scope.hasBinding(\n classState.superName.name,\n /* noGlobals */ true,\n ),\n });\n\n const { classRef, node, constructorBody } = classState;\n\n setState({\n construct: buildConstructor(classRef, constructorBody, node),\n });\n\n extractDynamicKeys();\n\n const { body } = classState;\n const { closureParams, closureArgs } = setupClosureParamsArgs();\n\n buildBody();\n\n // make sure this class isn't directly called (with A() instead new A())\n if (!assumptions.noClassCalls) {\n constructorBody.body.unshift(\n t.expressionStatement(\n t.callExpression(classState.file.addHelper(\"classCallCheck\"), [\n t.thisExpression(),\n t.cloneNode(classState.classRef),\n ]),\n ),\n );\n }\n\n const isStrict = path.isInStrictMode();\n let constructorOnly = classState.classId && body.length === 1;\n if (constructorOnly && !isStrict) {\n for (const param of classState.construct.params) {\n // It's illegal to put a use strict directive into the body of a function\n // with non-simple parameters for some reason. So, we have to use a strict\n // wrapper function.\n if (!t.isIdentifier(param)) {\n constructorOnly = false;\n break;\n }\n }\n }\n\n const directives = constructorOnly\n ? (body[0] as t.FunctionExpression | t.FunctionDeclaration).body\n .directives\n : [];\n if (!isStrict) {\n directives.push(t.directive(t.directiveLiteral(\"use strict\")));\n }\n\n if (constructorOnly) {\n // named class with only a constructor\n const expr = t.toExpression(\n body[0] as t.FunctionExpression | t.FunctionDeclaration,\n );\n return classState.isLoose ? expr : createClassHelper([expr]);\n }\n\n let returnArg: t.Expression = t.cloneNode(classState.classRef);\n if (!classState.pushedCreateClass && !classState.isLoose) {\n returnArg = createClassHelper([returnArg]);\n }\n\n body.push(t.returnStatement(returnArg));\n const container = t.arrowFunctionExpression(\n closureParams,\n t.blockStatement(body, directives),\n );\n return t.callExpression(container, closureArgs);\n }\n\n return classTransformer(path, file, builtinClasses, isLoose);\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { isRequired } from \"@babel/helper-compilation-targets\";\nimport annotateAsPure from \"@babel/helper-annotate-as-pure\";\nimport nameFunction from \"@babel/helper-function-name\";\nimport splitExportDeclaration from \"@babel/helper-split-export-declaration\";\nimport { types as t } from \"@babel/core\";\nimport globals from \"globals\";\nimport transformClass from \"./transformClass.ts\";\n\nconst getBuiltinClasses = (category: keyof typeof globals) =>\n Object.keys(globals[category]).filter(name => /^[A-Z]/.test(name));\n\nconst builtinClasses = new Set([\n ...getBuiltinClasses(\"builtin\"),\n ...getBuiltinClasses(\"browser\"),\n]);\n\nexport interface Options {\n loose?: boolean;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const { loose = false } = options;\n\n const setClassMethods = api.assumption(\"setClassMethods\") ?? loose;\n const constantSuper = api.assumption(\"constantSuper\") ?? loose;\n const superIsCallableConstructor =\n api.assumption(\"superIsCallableConstructor\") ?? loose;\n const noClassCalls = api.assumption(\"noClassCalls\") ?? loose;\n const supportUnicodeId = !isRequired(\n \"transform-unicode-escapes\",\n api.targets(),\n );\n\n // todo: investigate traversal requeueing\n const VISITED = new WeakSet();\n\n return {\n name: \"transform-classes\",\n\n visitor: {\n ExportDefaultDeclaration(path) {\n if (!path.get(\"declaration\").isClassDeclaration()) return;\n splitExportDeclaration(path);\n },\n\n ClassDeclaration(path) {\n const { node } = path;\n\n const ref = node.id || path.scope.generateUidIdentifier(\"class\");\n\n path.replaceWith(\n t.variableDeclaration(\"let\", [\n t.variableDeclarator(ref, t.toExpression(node)),\n ]),\n );\n },\n\n ClassExpression(path, state) {\n const { node } = path;\n if (VISITED.has(node)) return;\n\n const inferred = nameFunction(path, undefined, supportUnicodeId);\n if (inferred && inferred !== node) {\n path.replaceWith(inferred);\n return;\n }\n\n VISITED.add(node);\n\n const [replacedPath] = path.replaceWith(\n transformClass(\n path,\n state.file,\n builtinClasses,\n loose,\n {\n setClassMethods,\n constantSuper,\n superIsCallableConstructor,\n noClassCalls,\n },\n supportUnicodeId,\n ),\n );\n\n if (replacedPath.isCallExpression()) {\n annotateAsPure(replacedPath);\n const callee = replacedPath.get(\"callee\");\n if (callee.isArrowFunctionExpression()) {\n // This is an IIFE, so we don't need to worry about the noNewArrows assumption\n callee.arrowFunctionToExpression();\n }\n }\n },\n },\n };\n});\n","import { types as t } from \"@babel/core\";\nimport type { PluginPass } from \"@babel/core\";\nimport { declare } from \"@babel/helper-plugin-utils\";\nimport template from \"@babel/template\";\nimport type { Scope } from \"@babel/traverse\";\n\nexport interface Options {\n loose?: boolean;\n}\n\ntype PropertyInfo = {\n scope: Scope;\n objId: t.Identifier;\n body: t.Statement[];\n computedProps: t.ObjectMember[];\n initPropExpression: t.ObjectExpression;\n state: PluginPass;\n};\n\nif (!process.env.BABEL_8_BREAKING) {\n // eslint-disable-next-line no-var\n var DefineAccessorHelper = template.expression.ast`\n function (type, obj, key, fn) {\n var desc = { configurable: true, enumerable: true };\n desc[type] = fn;\n return Object.defineProperty(obj, key, desc);\n }\n `;\n // @ts-expect-error undocumented _compact node property\n DefineAccessorHelper._compact = true;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const setComputedProperties =\n api.assumption(\"setComputedProperties\") ?? options.loose;\n\n const pushComputedProps = setComputedProperties\n ? pushComputedPropsLoose\n : pushComputedPropsSpec;\n\n function buildDefineAccessor(\n state: PluginPass,\n type: \"get\" | \"set\",\n obj: t.Expression,\n key: t.Expression,\n fn: t.Expression,\n ) {\n if (process.env.BABEL_8_BREAKING) {\n return t.callExpression(state.addHelper(\"defineAccessor\"), [\n t.stringLiteral(type),\n obj,\n key,\n fn,\n ]);\n } else {\n let helper: t.Identifier;\n if (state.availableHelper(\"defineAccessor\")) {\n helper = state.addHelper(\"defineAccessor\");\n } else {\n // Fallback for @babel/helpers <= 7.20.6, manually add helper function\n const file = state.file;\n helper = file.get(\"fallbackDefineAccessorHelper\");\n if (!helper) {\n const id = file.scope.generateUidIdentifier(\"defineAccessor\");\n file.scope.push({\n id,\n init: DefineAccessorHelper,\n });\n file.set(\"fallbackDefineAccessorHelper\", (helper = id));\n }\n helper = t.cloneNode(helper);\n }\n\n return t.callExpression(helper, [t.stringLiteral(type), obj, key, fn]);\n }\n }\n\n /**\n * Get value of an object member under object expression.\n * Returns a function expression if prop is a ObjectMethod.\n *\n * @param {t.ObjectMember} prop\n * @returns t.Expression\n */\n function getValue(prop: t.ObjectMember) {\n if (t.isObjectProperty(prop)) {\n return prop.value as t.Expression;\n } else if (t.isObjectMethod(prop)) {\n return t.functionExpression(\n null,\n prop.params,\n prop.body,\n prop.generator,\n prop.async,\n );\n }\n }\n\n function pushAssign(\n objId: t.Identifier,\n prop: t.ObjectMember,\n body: t.Statement[],\n ) {\n body.push(\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.memberExpression(\n t.cloneNode(objId),\n prop.key,\n prop.computed || t.isLiteral(prop.key),\n ),\n getValue(prop),\n ),\n ),\n );\n }\n\n function pushAccessorDefine(\n { body, computedProps, initPropExpression, objId, state }: PropertyInfo,\n prop: t.ObjectMethod,\n ) {\n const kind = prop.kind as \"get\" | \"set\";\n const key =\n !prop.computed && t.isIdentifier(prop.key)\n ? t.stringLiteral(prop.key.name)\n : prop.key;\n const value = getValue(prop);\n\n if (computedProps.length === 1) {\n return buildDefineAccessor(state, kind, initPropExpression, key, value);\n } else {\n body.push(\n t.expressionStatement(\n buildDefineAccessor(state, kind, t.cloneNode(objId), key, value),\n ),\n );\n }\n }\n\n function pushComputedPropsLoose(info: PropertyInfo) {\n for (const prop of info.computedProps) {\n if (\n t.isObjectMethod(prop) &&\n (prop.kind === \"get\" || prop.kind === \"set\")\n ) {\n const single = pushAccessorDefine(info, prop);\n if (single) return single;\n } else {\n pushAssign(t.cloneNode(info.objId), prop, info.body);\n }\n }\n }\n\n function pushComputedPropsSpec(info: PropertyInfo) {\n const { objId, body, computedProps, state } = info;\n\n for (const prop of computedProps) {\n // PrivateName must not be in ObjectExpression\n const key = t.toComputedKey(prop) as t.Expression;\n\n if (\n t.isObjectMethod(prop) &&\n (prop.kind === \"get\" || prop.kind === \"set\")\n ) {\n const single = pushAccessorDefine(info, prop);\n if (single) return single;\n } else {\n // the value of ObjectProperty in ObjectExpression must be an expression\n const value = getValue(prop);\n if (computedProps.length === 1) {\n return t.callExpression(state.addHelper(\"defineProperty\"), [\n info.initPropExpression,\n key,\n value,\n ]);\n } else {\n body.push(\n t.expressionStatement(\n t.callExpression(state.addHelper(\"defineProperty\"), [\n t.cloneNode(objId),\n key,\n value,\n ]),\n ),\n );\n }\n }\n }\n }\n\n return {\n name: \"transform-computed-properties\",\n\n visitor: {\n ObjectExpression: {\n exit(path, state) {\n const { node, parent, scope } = path;\n let hasComputed = false;\n for (const prop of node.properties) {\n // @ts-expect-error SpreadElement must not have computed property\n hasComputed = prop.computed === true;\n if (hasComputed) break;\n }\n if (!hasComputed) return;\n\n // put all getters/setters into the first object expression as well as all initialisers up\n // to the first computed property\n\n const initProps: t.ObjectMember[] = [];\n const computedProps: t.ObjectMember[] = [];\n let foundComputed = false;\n\n for (const prop of node.properties) {\n if (t.isSpreadElement(prop)) {\n continue;\n }\n if (prop.computed) {\n foundComputed = true;\n }\n\n if (foundComputed) {\n computedProps.push(prop);\n } else {\n initProps.push(prop);\n }\n }\n\n const objId = scope.generateUidIdentifierBasedOnNode(parent);\n const initPropExpression = t.objectExpression(initProps);\n const body = [];\n\n body.push(\n t.variableDeclaration(\"var\", [\n t.variableDeclarator(objId, initPropExpression),\n ]),\n );\n\n const single = pushComputedProps({\n scope,\n objId,\n body,\n computedProps,\n initPropExpression,\n state,\n });\n\n if (single) {\n path.replaceWith(single);\n } else {\n body.push(t.expressionStatement(t.cloneNode(objId)));\n path.replaceWithMultiple(body);\n }\n },\n },\n },\n };\n});\n","/* eslint-disable @babel/development/plugin-name */\nimport { createRegExpFeaturePlugin } from \"@babel/helper-create-regexp-features-plugin\";\nimport { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return createRegExpFeaturePlugin({\n name: \"transform-dotall-regex\",\n feature: \"dotAllFlag\",\n });\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\n\nfunction getName(\n key: t.Identifier | t.StringLiteral | t.NumericLiteral | t.BigIntLiteral,\n) {\n if (t.isIdentifier(key)) {\n return key.name;\n }\n return key.value.toString();\n}\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-duplicate-keys\",\n\n visitor: {\n ObjectExpression(path) {\n const { node } = path;\n const plainProps = node.properties.filter(\n prop => !t.isSpreadElement(prop) && !prop.computed,\n ) as (t.ObjectMethod | t.ObjectProperty)[];\n\n // A property is a duplicate key if:\n // * the property is a data property, and is preceded by a data,\n // getter, or setter property of the same name.\n // * the property is a getter property, and is preceded by a data or\n // getter property of the same name.\n // * the property is a setter property, and is preceded by a data or\n // setter property of the same name.\n\n const alreadySeenData = Object.create(null);\n const alreadySeenGetters = Object.create(null);\n const alreadySeenSetters = Object.create(null);\n\n for (const prop of plainProps) {\n const name = getName(\n // prop must be non-computed\n prop.key as\n | t.Identifier\n | t.StringLiteral\n | t.NumericLiteral\n | t.BigIntLiteral,\n );\n let isDuplicate = false;\n // @ts-expect-error prop.kind is not defined in ObjectProperty\n switch (prop.kind) {\n case \"get\":\n if (alreadySeenData[name] || alreadySeenGetters[name]) {\n isDuplicate = true;\n }\n alreadySeenGetters[name] = true;\n break;\n case \"set\":\n if (alreadySeenData[name] || alreadySeenSetters[name]) {\n isDuplicate = true;\n }\n alreadySeenSetters[name] = true;\n break;\n default:\n if (\n alreadySeenData[name] ||\n alreadySeenGetters[name] ||\n alreadySeenSetters[name]\n ) {\n isDuplicate = true;\n }\n alreadySeenData[name] = true;\n }\n\n if (isDuplicate) {\n // Rely on the computed properties transform to split the property\n // assignment out of the object literal.\n prop.computed = true;\n prop.key = t.stringLiteral(name);\n }\n }\n },\n },\n };\n});\n","import type { Scope } from \"@babel/traverse\";\nimport {\n assignmentExpression,\n cloneNode,\n isIdentifier,\n isLiteral,\n isMemberExpression,\n isPrivateName,\n isPureish,\n isSuper,\n memberExpression,\n toComputedKey,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\n\nfunction getObjRef(\n node: t.Identifier | t.MemberExpression,\n nodes: Array,\n scope: Scope,\n): t.Identifier | t.Super {\n let ref;\n if (isIdentifier(node)) {\n if (scope.hasBinding(node.name)) {\n // this variable is declared in scope so we can be 100% sure\n // that evaluating it multiple times won't trigger a getter\n // or something else\n return node;\n } else {\n // could possibly trigger a getter so we need to only evaluate\n // it once\n ref = node;\n }\n } else if (isMemberExpression(node)) {\n ref = node.object;\n\n if (isSuper(ref) || (isIdentifier(ref) && scope.hasBinding(ref.name))) {\n // the object reference that we need to save is locally declared\n // so as per the previous comment we can be 100% sure evaluating\n // it multiple times will be safe\n // Super cannot be directly assigned so lets return it also\n return ref;\n }\n } else {\n throw new Error(`We can't explode this node type ${node[\"type\"]}`);\n }\n\n const temp = scope.generateUidIdentifierBasedOnNode(ref);\n scope.push({ id: temp });\n nodes.push(assignmentExpression(\"=\", cloneNode(temp), cloneNode(ref)));\n return temp;\n}\n\nfunction getPropRef(\n node: t.MemberExpression,\n nodes: Array,\n scope: Scope,\n): t.Identifier | t.Literal {\n const prop = node.property;\n if (isPrivateName(prop)) {\n throw new Error(\n \"We can't generate property ref for private name, please install `@babel/plugin-transform-class-properties`\",\n );\n }\n const key = toComputedKey(node, prop);\n if (isLiteral(key) && isPureish(key)) return key;\n\n const temp = scope.generateUidIdentifierBasedOnNode(prop);\n scope.push({ id: temp });\n nodes.push(assignmentExpression(\"=\", cloneNode(temp), cloneNode(prop)));\n return temp;\n}\n\nexport default function explode(\n node: t.Identifier | t.MemberExpression,\n nodes: Array,\n scope: Scope,\n): {\n uid: t.Identifier | t.MemberExpression | t.Super;\n ref: t.Identifier | t.MemberExpression;\n} {\n const obj = getObjRef(node, nodes, scope);\n\n let ref, uid;\n\n if (isIdentifier(node)) {\n ref = cloneNode(node);\n uid = obj;\n } else {\n const prop = getPropRef(node, nodes, scope);\n const computed = node.computed || isLiteral(prop);\n uid = memberExpression(cloneNode(obj), cloneNode(prop), computed);\n ref = memberExpression(cloneNode(obj), cloneNode(prop), computed);\n }\n\n return {\n uid: uid,\n ref: ref,\n };\n}\n","import { assignmentExpression, sequenceExpression } from \"@babel/types\";\nimport type { Visitor } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\n\nimport explode from \"./explode-assignable-expression.ts\";\n\nexport default function (opts: {\n build: (\n left: t.Expression | t.PrivateName | t.Super,\n right: t.Expression,\n ) => t.Expression;\n operator: t.BinaryExpression[\"operator\"];\n}) {\n const { build, operator } = opts;\n\n const visitor: Visitor = {\n AssignmentExpression(path) {\n const { node, scope } = path;\n if (node.operator !== operator + \"=\") return;\n\n const nodes: t.AssignmentExpression[] = [];\n // @ts-expect-error Fixme: node.left can be a TSAsExpression\n const exploded = explode(node.left, nodes, scope);\n nodes.push(\n assignmentExpression(\n \"=\",\n exploded.ref,\n build(exploded.uid, node.right),\n ),\n );\n path.replaceWith(sequenceExpression(nodes));\n },\n\n BinaryExpression(path) {\n const { node } = path;\n if (node.operator === operator) {\n path.replaceWith(build(node.left, node.right));\n }\n },\n };\n return visitor;\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport build from \"@babel/helper-builder-binary-assignment-operator-visitor\";\nimport { types as t } from \"@babel/core\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-exponentiation-operator\",\n\n visitor: build({\n operator: \"**\",\n\n build(left, right) {\n return t.callExpression(\n t.memberExpression(t.identifier(\"Math\"), t.identifier(\"pow\")),\n [\n // left can be PrivateName only if operator is `\"in\"`\n left as t.Expression,\n right,\n ],\n );\n },\n }),\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport syntaxFlow from \"@babel/plugin-syntax-flow\";\nimport { types as t } from \"@babel/core\";\nimport generateCode from \"@babel/generator\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n function commentFromString(comment: string | t.Comment): t.Comment {\n return typeof comment === \"string\"\n ? { type: \"CommentBlock\", value: comment }\n : comment;\n }\n\n function attachComment({\n ofPath,\n toPath,\n where = \"trailing\",\n optional = false,\n comments = generateComment(ofPath, optional),\n keepType = false,\n }: {\n ofPath?: NodePath;\n toPath?: NodePath;\n where?: t.CommentTypeShorthand;\n optional?: boolean;\n comments?: string | t.Comment | (string | t.Comment)[];\n keepType?: boolean;\n }) {\n if (!toPath?.node) {\n toPath = ofPath.getPrevSibling();\n where = \"trailing\";\n }\n if (!toPath.node) {\n toPath = ofPath.getNextSibling();\n where = \"leading\";\n }\n if (!toPath.node) {\n toPath = ofPath.parentPath;\n where = \"inner\";\n }\n if (!Array.isArray(comments)) {\n comments = [comments];\n }\n const newComments = comments.map(commentFromString);\n if (!keepType && ofPath?.node) {\n // Removes the node at `ofPath` while conserving the comments attached\n // to it.\n const node = ofPath.node;\n const parent = ofPath.parentPath;\n const prev = ofPath.getPrevSibling();\n const next = ofPath.getNextSibling();\n const isSingleChild = !(prev.node || next.node);\n const leading = node.leadingComments;\n const trailing = node.trailingComments;\n\n if (isSingleChild && leading) {\n parent.addComments(\"inner\", leading);\n }\n toPath.addComments(where, newComments);\n ofPath.remove();\n if (isSingleChild && trailing) {\n parent.addComments(\"inner\", trailing);\n }\n } else {\n toPath.addComments(where, newComments);\n }\n }\n\n function wrapInFlowComment<\n N extends\n | t.ClassProperty\n | t.ExportNamedDeclaration\n | t.Flow\n | t.ImportDeclaration\n | t.ExportDeclaration\n | t.ImportSpecifier\n | t.ImportDeclaration,\n >(path: NodePath) {\n attachComment({\n ofPath: path,\n // @ts-expect-error optional may not exist in path.parent\n comments: generateComment(path, path.parent.optional),\n });\n }\n\n function generateComment(path: NodePath, optional?: boolean | void) {\n let comment = path\n .getSource()\n .replace(/\\*-\\//g, \"*-ESCAPED/\")\n .replace(/\\*\\//g, \"*-/\");\n if (optional) comment = \"?\" + comment;\n if (comment[0] !== \":\") comment = \":: \" + comment;\n return comment;\n }\n\n function isTypeImport(importKind: \"type\" | \"typeof\" | \"value\") {\n return importKind === \"type\" || importKind === \"typeof\";\n }\n\n return {\n name: \"transform-flow-comments\",\n inherits: syntaxFlow,\n\n visitor: {\n TypeCastExpression(path) {\n const { node } = path;\n attachComment({\n ofPath: path.get(\"typeAnnotation\"),\n toPath: path.get(\"expression\"),\n keepType: true,\n });\n path.replaceWith(t.parenthesizedExpression(node.expression));\n },\n\n // support function a(b?) {}\n Identifier(path) {\n if (path.parentPath.isFlow()) return;\n const { node } = path;\n if (node.typeAnnotation) {\n attachComment({\n ofPath: path.get(\"typeAnnotation\"),\n toPath: path,\n optional:\n node.optional ||\n // @ts-expect-error Fixme: optional is not in t.TypeAnnotation,\n // maybe we can remove it\n node.typeAnnotation.optional,\n });\n if (node.optional) {\n node.optional = false;\n }\n } else if (node.optional) {\n attachComment({\n toPath: path,\n comments: \":: ?\",\n });\n node.optional = false;\n }\n },\n\n AssignmentPattern: {\n exit({ node }) {\n const { left } = node;\n // @ts-expect-error optional is not in TSAsExpression\n if (left.optional) {\n // @ts-expect-error optional is not in TSAsExpression\n left.optional = false;\n }\n },\n },\n\n // strip optional property from function params - facebook/fbjs#17\n Function(path) {\n if (path.isDeclareFunction()) return;\n const { node } = path;\n if (node.typeParameters) {\n attachComment({\n ofPath: path.get(\"typeParameters\"),\n toPath: path.get(\"id\"),\n // @ts-expect-error Fixme: optional is not in t.TypeParameterDeclaration\n optional: node.typeParameters.optional,\n });\n }\n if (node.returnType) {\n attachComment({\n ofPath: path.get(\"returnType\"),\n toPath: path.get(\"body\"),\n where: \"leading\",\n // @ts-expect-error Fixme: optional is not in t.TypeAnnotation\n optional: node.returnType.typeAnnotation.optional,\n });\n }\n },\n\n // support for `class X { foo: string }` - #4622\n ClassProperty(path) {\n const { node } = path;\n if (!node.value) {\n wrapInFlowComment(path);\n } else if (node.typeAnnotation) {\n attachComment({\n ofPath: path.get(\"typeAnnotation\"),\n toPath: path.get(\"key\"),\n // @ts-expect-error Fixme: optional is not in t.TypeAnnotation\n optional: node.typeAnnotation.optional,\n });\n }\n },\n\n // support `export type a = {}` - #8 Error: You passed path.replaceWith() a falsy node\n ExportNamedDeclaration(path) {\n const { node } = path;\n if (node.exportKind !== \"type\" && !t.isFlow(node.declaration)) {\n return;\n }\n wrapInFlowComment(path);\n },\n\n // support `import type A` and `import typeof A` #10\n ImportDeclaration(path) {\n const { node } = path;\n if (isTypeImport(node.importKind)) {\n wrapInFlowComment(path);\n return;\n }\n\n const typeSpecifiers = node.specifiers.filter(\n specifier =>\n specifier.type === \"ImportSpecifier\" &&\n isTypeImport(specifier.importKind),\n );\n\n const nonTypeSpecifiers = node.specifiers.filter(\n specifier =>\n specifier.type !== \"ImportSpecifier\" ||\n !isTypeImport(specifier.importKind),\n );\n node.specifiers = nonTypeSpecifiers;\n\n if (typeSpecifiers.length > 0) {\n const typeImportNode = t.cloneNode(node);\n typeImportNode.specifiers = typeSpecifiers;\n const comment = `:: ${generateCode(typeImportNode).code}`;\n\n if (nonTypeSpecifiers.length > 0) {\n attachComment({ toPath: path, comments: comment });\n } else {\n attachComment({ ofPath: path, comments: comment });\n }\n }\n },\n ObjectPattern(path) {\n const { node } = path;\n if (node.typeAnnotation) {\n attachComment({\n ofPath: path.get(\"typeAnnotation\"),\n toPath: path,\n optional:\n node.optional ||\n // @ts-expect-error Fixme: optional is not in t.TypeAnnotation\n node.typeAnnotation.optional,\n });\n }\n },\n\n Flow(\n path: NodePath<\n t.Flow | t.ImportDeclaration | t.ExportDeclaration | t.ImportSpecifier\n >,\n ) {\n wrapInFlowComment(path);\n },\n\n Class(path) {\n const { node } = path;\n let comments: [string?, ...(string | t.Comment)[]] = [];\n if (node.typeParameters) {\n const typeParameters = path.get(\"typeParameters\");\n comments.push(\n // @ts-expect-error optional is not in TypeParameterDeclaration\n generateComment(typeParameters, node.typeParameters.optional),\n );\n const trailingComments = node.typeParameters.trailingComments;\n if (trailingComments) {\n comments.push(...trailingComments);\n }\n typeParameters.remove();\n }\n\n if (node.superClass) {\n if (comments.length > 0) {\n attachComment({\n toPath: path.get(\"id\"),\n comments: comments,\n });\n comments = [];\n }\n\n if (node.superTypeParameters) {\n const superTypeParameters = path.get(\n \"superTypeParameters\",\n ) as NodePath;\n comments.push(\n generateComment(\n superTypeParameters,\n // @ts-expect-error optional is not in TypeParameterInstantiation\n superTypeParameters.node.optional,\n ),\n );\n superTypeParameters.remove();\n }\n }\n\n if (node.implements) {\n const impls = path.get(\"implements\");\n const comment =\n \"implements \" +\n impls\n .map(impl => generateComment(impl).replace(/^:: /, \"\"))\n .join(\", \");\n delete node[\"implements\"];\n\n if (comments.length === 1) {\n comments[0] += ` ${comment}`;\n } else {\n comments.push(`:: ${comment}`);\n }\n }\n\n if (comments.length > 0) {\n attachComment({\n toPath: path.get(\"body\"),\n where: \"leading\",\n comments: comments,\n });\n }\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport syntaxFlow from \"@babel/plugin-syntax-flow\";\nimport { types as t } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport interface Options {\n requireDirective?: boolean;\n allowDeclareFields?: boolean;\n}\n\nexport default declare((api, opts: Options) => {\n api.assertVersion(7);\n\n const FLOW_DIRECTIVE = /(@flow(\\s+(strict(-local)?|weak))?|@noflow)/;\n\n let skipStrip = false;\n\n const { requireDirective = false } = opts;\n\n if (!process.env.BABEL_8_BREAKING) {\n // eslint-disable-next-line no-var\n var { allowDeclareFields = false } = opts;\n }\n\n return {\n name: \"transform-flow-strip-types\",\n inherits: syntaxFlow,\n\n visitor: {\n Program(\n path,\n {\n file: {\n ast: { comments },\n },\n },\n ) {\n skipStrip = false;\n let directiveFound = false;\n\n if (comments) {\n for (const comment of comments) {\n if (FLOW_DIRECTIVE.test(comment.value)) {\n directiveFound = true;\n\n // remove flow directive\n comment.value = comment.value.replace(FLOW_DIRECTIVE, \"\");\n\n // remove the comment completely if it only consists of whitespace and/or stars\n if (!comment.value.replace(/\\*/g, \"\").trim()) {\n comment.ignore = true;\n }\n }\n }\n }\n\n if (!directiveFound && requireDirective) {\n skipStrip = true;\n }\n },\n ImportDeclaration(path) {\n if (skipStrip) return;\n if (!path.node.specifiers.length) return;\n\n let typeCount = 0;\n\n // @ts-expect-error importKind is only in importSpecifier\n path.node.specifiers.forEach(({ importKind }) => {\n if (importKind === \"type\" || importKind === \"typeof\") {\n typeCount++;\n }\n });\n\n if (typeCount === path.node.specifiers.length) {\n path.remove();\n }\n },\n\n Flow(\n path: NodePath<\n t.Flow | t.ImportDeclaration | t.ExportDeclaration | t.ImportSpecifier\n >,\n ) {\n if (skipStrip) {\n throw path.buildCodeFrameError(\n \"A @flow directive is required when using Flow annotations with \" +\n \"the `requireDirective` option.\",\n );\n }\n\n path.remove();\n },\n\n ClassPrivateProperty(path) {\n if (skipStrip) return;\n path.node.typeAnnotation = null;\n },\n\n Class(path) {\n if (skipStrip) return;\n path.node.implements = null;\n\n // We do this here instead of in a `ClassProperty` visitor because the class transform\n // would transform the class before we reached the class property.\n path.get(\"body.body\").forEach(child => {\n if (child.isClassProperty()) {\n const { node } = child;\n\n if (!process.env.BABEL_8_BREAKING) {\n if (!allowDeclareFields && node.declare) {\n throw child.buildCodeFrameError(\n `The 'declare' modifier is only allowed when the ` +\n `'allowDeclareFields' option of ` +\n `@babel/plugin-transform-flow-strip-types or ` +\n `@babel/preset-flow is enabled.`,\n );\n }\n }\n\n if (node.declare) {\n child.remove();\n } else {\n if (!process.env.BABEL_8_BREAKING) {\n if (!allowDeclareFields && !node.value && !node.decorators) {\n child.remove();\n return;\n }\n }\n\n node.variance = null;\n node.typeAnnotation = null;\n }\n }\n });\n },\n\n AssignmentPattern({ node }) {\n if (skipStrip) return;\n // @ts-expect-error optional is not in TSAsExpression\n if (node.left.optional) {\n // @ts-expect-error optional is not in TSAsExpression\n node.left.optional = false;\n }\n },\n\n Function({ node }) {\n if (skipStrip) return;\n if (\n node.params.length > 0 &&\n node.params[0].type === \"Identifier\" &&\n node.params[0].name === \"this\"\n ) {\n node.params.shift();\n }\n for (let i = 0; i < node.params.length; i++) {\n let param = node.params[i];\n if (param.type === \"AssignmentPattern\") {\n // @ts-expect-error: refine AST types, the left of an assignment pattern as a binding\n // must not be a MemberExpression\n param = param.left;\n }\n // @ts-expect-error optional is not in TSAsExpression\n if (param.optional) {\n // @ts-expect-error optional is not in TSAsExpression\n param.optional = false;\n }\n }\n\n if (!t.isMethod(node)) {\n node.predicate = null;\n }\n },\n\n TypeCastExpression(path) {\n if (skipStrip) return;\n let { node } = path;\n do {\n // @ts-expect-error node is a search pointer\n node = node.expression;\n } while (t.isTypeCastExpression(node));\n path.replaceWith(node);\n },\n\n CallExpression({ node }) {\n if (skipStrip) return;\n node.typeArguments = null;\n },\n\n OptionalCallExpression({ node }) {\n if (skipStrip) return;\n node.typeArguments = null;\n },\n\n NewExpression({ node }) {\n if (skipStrip) return;\n node.typeArguments = null;\n },\n },\n };\n});\n","import { type PluginPass, template, types as t } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\n\n// This is the legacy implementation, which inlines all the code.\n// It must be kept for compatibility reasons.\n// TODO(Babel 8): Remove this file.\n\nexport default function transformWithoutHelper(\n loose: boolean | void,\n path: NodePath,\n state: PluginPass,\n) {\n const pushComputedProps = loose\n ? pushComputedPropsLoose\n : pushComputedPropsSpec;\n\n const { node } = path;\n const build = pushComputedProps(path, state);\n const declar = build.declar;\n const loop = build.loop;\n const block = loop.body as t.BlockStatement;\n\n // ensure that it's a block so we can take all its statements\n path.ensureBlock();\n\n // add the value declaration to the new loop body\n if (declar) {\n block.body.push(declar);\n }\n\n // push the rest of the original loop body onto our new body\n block.body.push(...(node.body as t.BlockStatement).body);\n\n t.inherits(loop, node);\n t.inherits(loop.body, node.body);\n\n if (build.replaceParent) {\n path.parentPath.replaceWithMultiple(build.node);\n path.remove();\n } else {\n path.replaceWithMultiple(build.node);\n }\n}\n\nconst buildForOfLoose = template.statement(`\n for (var LOOP_OBJECT = OBJECT,\n IS_ARRAY = Array.isArray(LOOP_OBJECT),\n INDEX = 0,\n LOOP_OBJECT = IS_ARRAY ? LOOP_OBJECT : LOOP_OBJECT[Symbol.iterator]();;) {\n INTERMEDIATE;\n if (IS_ARRAY) {\n if (INDEX >= LOOP_OBJECT.length) break;\n ID = LOOP_OBJECT[INDEX++];\n } else {\n INDEX = LOOP_OBJECT.next();\n if (INDEX.done) break;\n ID = INDEX.value;\n }\n }\n`);\n\nconst buildForOf = template.statements(`\n var ITERATOR_COMPLETION = true;\n var ITERATOR_HAD_ERROR_KEY = false;\n var ITERATOR_ERROR_KEY = undefined;\n try {\n for (\n var ITERATOR_KEY = OBJECT[Symbol.iterator](), STEP_KEY;\n !(ITERATOR_COMPLETION = (STEP_KEY = ITERATOR_KEY.next()).done);\n ITERATOR_COMPLETION = true\n ) {}\n } catch (err) {\n ITERATOR_HAD_ERROR_KEY = true;\n ITERATOR_ERROR_KEY = err;\n } finally {\n try {\n if (!ITERATOR_COMPLETION && ITERATOR_KEY.return != null) {\n ITERATOR_KEY.return();\n }\n } finally {\n if (ITERATOR_HAD_ERROR_KEY) {\n throw ITERATOR_ERROR_KEY;\n }\n }\n }\n`);\n\nfunction pushComputedPropsLoose(\n path: NodePath,\n state: PluginPass,\n) {\n const { node, scope, parent } = path;\n const { left } = node;\n let declar, id, intermediate;\n\n if (t.isIdentifier(left) || t.isPattern(left) || t.isMemberExpression(left)) {\n // for (i of test), for ({ i } of test)\n id = left;\n intermediate = null;\n } else if (t.isVariableDeclaration(left)) {\n // for (let i of test)\n id = scope.generateUidIdentifier(\"ref\");\n declar = t.variableDeclaration(left.kind, [\n t.variableDeclarator(left.declarations[0].id, t.identifier(id.name)),\n ]);\n intermediate = t.variableDeclaration(\"var\", [\n t.variableDeclarator(t.identifier(id.name)),\n ]);\n } else {\n throw state.buildCodeFrameError(\n left,\n `Unknown node type ${left.type} in ForStatement`,\n );\n }\n\n const iteratorKey = scope.generateUidIdentifier(\"iterator\");\n const isArrayKey = scope.generateUidIdentifier(\"isArray\");\n\n const loop = buildForOfLoose({\n LOOP_OBJECT: iteratorKey,\n IS_ARRAY: isArrayKey,\n OBJECT: node.right,\n INDEX: scope.generateUidIdentifier(\"i\"),\n ID: id,\n INTERMEDIATE: intermediate,\n }) as t.ForStatement;\n\n //\n const isLabeledParent = t.isLabeledStatement(parent);\n let labeled;\n\n if (isLabeledParent) {\n labeled = t.labeledStatement(parent.label, loop);\n }\n\n return {\n replaceParent: isLabeledParent,\n declar: declar,\n node: labeled || loop,\n loop: loop,\n };\n}\n\nfunction pushComputedPropsSpec(\n path: NodePath,\n state: PluginPass,\n) {\n const { node, scope, parent } = path;\n const left = node.left;\n let declar;\n\n const stepKey = scope.generateUid(\"step\");\n const stepValue = t.memberExpression(\n t.identifier(stepKey),\n t.identifier(\"value\"),\n );\n\n if (t.isIdentifier(left) || t.isPattern(left) || t.isMemberExpression(left)) {\n // for (i of test), for ({ i } of test)\n declar = t.expressionStatement(\n t.assignmentExpression(\"=\", left, stepValue),\n );\n } else if (t.isVariableDeclaration(left)) {\n // for (let i of test)\n declar = t.variableDeclaration(left.kind, [\n t.variableDeclarator(left.declarations[0].id, stepValue),\n ]);\n } else {\n throw state.buildCodeFrameError(\n left,\n `Unknown node type ${left.type} in ForStatement`,\n );\n }\n\n const template = buildForOf({\n ITERATOR_HAD_ERROR_KEY: scope.generateUidIdentifier(\"didIteratorError\"),\n ITERATOR_COMPLETION: scope.generateUidIdentifier(\n \"iteratorNormalCompletion\",\n ),\n ITERATOR_ERROR_KEY: scope.generateUidIdentifier(\"iteratorError\"),\n ITERATOR_KEY: scope.generateUidIdentifier(\"iterator\"),\n STEP_KEY: t.identifier(stepKey),\n OBJECT: node.right,\n });\n\n const isLabeledParent = t.isLabeledStatement(parent);\n\n const tryBody = (template[3] as t.TryStatement).block.body;\n const loop = tryBody[0] as t.ForStatement;\n\n if (isLabeledParent) {\n tryBody[0] = t.labeledStatement(parent.label, loop);\n }\n\n //\n\n return {\n replaceParent: isLabeledParent,\n declar: declar,\n loop: loop,\n node: template,\n };\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { template, types as t } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\n\nimport transformWithoutHelper from \"./no-helper-implementation.ts\";\n\nexport interface Options {\n allowArrayLike?: boolean;\n assumeArray?: boolean;\n loose?: boolean;\n}\n\nfunction buildLoopBody(\n path: NodePath,\n declar: t.Statement,\n newBody?: t.Statement | t.Expression,\n) {\n let block;\n const bodyPath = path.get(\"body\");\n const body = newBody ?? bodyPath.node;\n if (\n t.isBlockStatement(body) &&\n Object.keys(path.getBindingIdentifiers()).some(id =>\n bodyPath.scope.hasOwnBinding(id),\n )\n ) {\n block = t.blockStatement([declar, body]);\n } else {\n block = t.toBlock(body);\n block.body.unshift(declar);\n }\n return block;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n {\n const { assumeArray, allowArrayLike, loose } = options;\n\n if (loose === true && assumeArray === true) {\n throw new Error(\n `The loose and assumeArray options cannot be used together in @babel/plugin-transform-for-of`,\n );\n }\n\n if (assumeArray === true && allowArrayLike === true) {\n throw new Error(\n `The assumeArray and allowArrayLike options cannot be used together in @babel/plugin-transform-for-of`,\n );\n }\n\n if (!process.env.BABEL_8_BREAKING) {\n // TODO: Remove in Babel 8\n if (allowArrayLike && /^7\\.\\d\\./.test(api.version)) {\n throw new Error(\n `The allowArrayLike is only supported when using @babel/core@^7.10.0`,\n );\n }\n }\n }\n\n const iterableIsArray =\n options.assumeArray ??\n // Loose mode is not compatible with 'assumeArray', so we shouldn't read\n // 'iterableIsArray' if 'loose' is true.\n (!options.loose && api.assumption(\"iterableIsArray\"));\n\n const arrayLikeIsIterable =\n options.allowArrayLike ?? api.assumption(\"arrayLikeIsIterable\");\n\n const skipIteratorClosing =\n api.assumption(\"skipForOfIteratorClosing\") ?? options.loose;\n\n if (iterableIsArray && arrayLikeIsIterable) {\n throw new Error(\n `The \"iterableIsArray\" and \"arrayLikeIsIterable\" assumptions are not compatible.`,\n );\n }\n\n if (iterableIsArray) {\n return {\n name: \"transform-for-of\",\n\n visitor: {\n ForOfStatement(path) {\n const { scope } = path;\n const { left, right, await: isAwait } = path.node;\n if (isAwait) {\n return;\n }\n const i = scope.generateUidIdentifier(\"i\");\n let array: t.Identifier | t.ThisExpression =\n scope.maybeGenerateMemoised(right, true);\n\n const inits = [t.variableDeclarator(i, t.numericLiteral(0))];\n if (array) {\n inits.push(t.variableDeclarator(array, right));\n } else {\n array = right as t.Identifier | t.ThisExpression;\n }\n\n const item = t.memberExpression(\n t.cloneNode(array),\n t.cloneNode(i),\n true,\n );\n let assignment;\n if (t.isVariableDeclaration(left)) {\n assignment = left;\n assignment.declarations[0].init = item;\n } else {\n assignment = t.expressionStatement(\n t.assignmentExpression(\"=\", left, item),\n );\n }\n\n path.replaceWith(\n t.forStatement(\n t.variableDeclaration(\"let\", inits),\n t.binaryExpression(\n \"<\",\n t.cloneNode(i),\n t.memberExpression(t.cloneNode(array), t.identifier(\"length\")),\n ),\n t.updateExpression(\"++\", t.cloneNode(i)),\n buildLoopBody(path, assignment),\n ),\n );\n },\n },\n };\n }\n\n const buildForOfArray = template`\n for (var KEY = 0, NAME = ARR; KEY < NAME.length; KEY++) BODY;\n `;\n\n const buildForOfNoIteratorClosing = template.statements`\n for (var ITERATOR_HELPER = CREATE_ITERATOR_HELPER(OBJECT, ARRAY_LIKE_IS_ITERABLE), STEP_KEY;\n !(STEP_KEY = ITERATOR_HELPER()).done;) BODY;\n `;\n\n const buildForOf = template.statements`\n var ITERATOR_HELPER = CREATE_ITERATOR_HELPER(OBJECT, ARRAY_LIKE_IS_ITERABLE), STEP_KEY;\n try {\n for (ITERATOR_HELPER.s(); !(STEP_KEY = ITERATOR_HELPER.n()).done;) BODY;\n } catch (err) {\n ITERATOR_HELPER.e(err);\n } finally {\n ITERATOR_HELPER.f();\n }\n `;\n\n const builder = skipIteratorClosing\n ? {\n build: buildForOfNoIteratorClosing,\n helper: \"createForOfIteratorHelperLoose\",\n getContainer: (nodes: t.Statement[]): [t.ForStatement] =>\n nodes as [t.ForStatement],\n }\n : {\n build: buildForOf,\n helper: \"createForOfIteratorHelper\",\n getContainer: (nodes: t.Statement[]): [t.ForStatement] =>\n (nodes[1] as t.TryStatement).block.body as [t.ForStatement],\n };\n\n function _ForOfStatementArray(path: NodePath) {\n const { node, scope } = path;\n\n const right = scope.generateUidIdentifierBasedOnNode(node.right, \"arr\");\n const iterationKey = scope.generateUidIdentifier(\"i\");\n\n const loop = buildForOfArray({\n BODY: node.body,\n KEY: iterationKey,\n NAME: right,\n ARR: node.right,\n }) as t.For;\n\n t.inherits(loop, node);\n\n const iterationValue = t.memberExpression(\n t.cloneNode(right),\n t.cloneNode(iterationKey),\n true,\n );\n\n let declar;\n const left = node.left;\n if (t.isVariableDeclaration(left)) {\n left.declarations[0].init = iterationValue;\n declar = left;\n } else {\n declar = t.expressionStatement(\n t.assignmentExpression(\"=\", left, iterationValue),\n );\n }\n\n loop.body = buildLoopBody(path, declar, loop.body);\n\n return loop;\n }\n\n return {\n name: \"transform-for-of\",\n visitor: {\n ForOfStatement(path, state) {\n const right = path.get(\"right\");\n if (\n right.isArrayExpression() ||\n (process.env.BABEL_8_BREAKING\n ? right.isGenericType(\"Array\")\n : right.isGenericType(\"Array\") ||\n t.isArrayTypeAnnotation(right.getTypeAnnotation()))\n ) {\n path.replaceWith(_ForOfStatementArray(path));\n return;\n }\n\n if (!process.env.BABEL_8_BREAKING) {\n if (!state.availableHelper(builder.helper)) {\n // Babel <7.9.0 doesn't support this helper\n transformWithoutHelper(skipIteratorClosing, path, state);\n return;\n }\n }\n\n const { node, parent, scope } = path;\n const left = node.left;\n let declar;\n\n const stepKey = scope.generateUid(\"step\");\n const stepValue = t.memberExpression(\n t.identifier(stepKey),\n t.identifier(\"value\"),\n );\n\n if (t.isVariableDeclaration(left)) {\n // for (let i of test)\n declar = t.variableDeclaration(left.kind, [\n t.variableDeclarator(left.declarations[0].id, stepValue),\n ]);\n } else {\n // for (i of test), for ({ i } of test)\n declar = t.expressionStatement(\n t.assignmentExpression(\"=\", left, stepValue),\n );\n }\n\n const nodes = builder.build({\n CREATE_ITERATOR_HELPER: state.addHelper(builder.helper),\n ITERATOR_HELPER: scope.generateUidIdentifier(\"iterator\"),\n ARRAY_LIKE_IS_ITERABLE: arrayLikeIsIterable\n ? t.booleanLiteral(true)\n : null,\n STEP_KEY: t.identifier(stepKey),\n OBJECT: node.right,\n BODY: buildLoopBody(path, declar),\n });\n const container = builder.getContainer(nodes);\n\n t.inherits(container[0], node);\n t.inherits(container[0].body, node.body);\n\n if (t.isLabeledStatement(parent)) {\n // @ts-expect-error replacing node types\n container[0] = t.labeledStatement(parent.label, container[0]);\n\n path.parentPath.replaceWithMultiple(nodes);\n\n // The parent has been replaced, prevent Babel from traversing a detached path\n path.skip();\n } else {\n path.replaceWithMultiple(nodes);\n }\n },\n },\n };\n});\n","import { isRequired } from \"@babel/helper-compilation-targets\";\nimport { declare } from \"@babel/helper-plugin-utils\";\nimport nameFunction from \"@babel/helper-function-name\";\n\nexport default declare(api => {\n api.assertVersion(7);\n const supportUnicodeId = !isRequired(\n \"transform-unicode-escapes\",\n api.targets(),\n );\n\n return {\n name: \"transform-function-name\",\n\n visitor: {\n FunctionExpression: {\n exit(path) {\n if (path.key !== \"value\" && !path.parentPath.isObjectProperty()) {\n const replacement = nameFunction(path);\n if (replacement) path.replaceWith(replacement);\n }\n },\n },\n\n ObjectProperty(path) {\n const value = path.get(\"value\");\n if (value.isFunction()) {\n const newNode = nameFunction(\n // @ts-expect-error Fixme: should check ArrowFunctionExpression\n value,\n false,\n supportUnicodeId,\n );\n if (newNode) value.replaceWith(newNode);\n }\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-instanceof\",\n\n visitor: {\n BinaryExpression(path) {\n const { node } = path;\n if (node.operator === \"instanceof\") {\n const helper = this.addHelper(\"instanceof\");\n const isUnderHelper = path.findParent(path => {\n return (\n (path.isVariableDeclarator() && path.node.id === helper) ||\n (path.isFunctionDeclaration() &&\n path.node.id &&\n path.node.id.name === helper.name)\n );\n });\n\n if (isUnderHelper) {\n return;\n } else {\n path.replaceWith(\n t.callExpression(helper, [\n // @ts-expect-error node.left can be PrivateName only when node.operator is \"in\"\n node.left,\n node.right,\n ]),\n );\n }\n }\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-jscript\",\n\n visitor: {\n FunctionExpression: {\n exit(path) {\n const { node } = path;\n if (!node.id) return;\n\n path.replaceWith(\n t.callExpression(\n t.functionExpression(\n null,\n [],\n t.blockStatement([\n // @ts-expect-error t.toStatement must return a FunctionDeclaration if node.id is defined\n t.toStatement(node),\n t.returnStatement(t.cloneNode(node.id)),\n ]),\n ),\n [],\n ),\n );\n },\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-literals\",\n\n visitor: {\n NumericLiteral({ node }) {\n // number octal like 0b10 or 0o70\n // @ts-expect-error Add node.extra typings\n if (node.extra && /^0[ob]/i.test(node.extra.raw)) {\n node.extra = undefined;\n }\n },\n\n StringLiteral({ node }) {\n // unicode escape\n // @ts-expect-error Add node.extra typings\n if (node.extra && /\\\\[u]/gi.test(node.extra.raw)) {\n node.extra = undefined;\n }\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-member-expression-literals\",\n\n visitor: {\n MemberExpression: {\n exit({ node }) {\n const prop = node.property;\n if (\n !node.computed &&\n t.isIdentifier(prop) &&\n !t.isValidES3Identifier(prop.name)\n ) {\n // foo.default -> foo[\"default\"]\n node.property = t.stringLiteral(prop.name);\n node.computed = true;\n }\n },\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport {\n buildDynamicImport,\n isModule,\n rewriteModuleStatementsAndPrepareHeader,\n type RewriteModuleStatementsAndPrepareHeaderOptions,\n hasExports,\n isSideEffectImport,\n buildNamespaceInitStatements,\n ensureStatementsHoisted,\n wrapInterop,\n getModuleName,\n} from \"@babel/helper-module-transforms\";\nimport { template, types as t, type PluginPass } from \"@babel/core\";\nimport type { PluginOptions } from \"@babel/helper-module-transforms\";\nimport type { NodePath } from \"@babel/traverse\";\n\nconst buildWrapper = template.statement(`\n define(MODULE_NAME, AMD_ARGUMENTS, function(IMPORT_NAMES) {\n })\n`);\n\nconst buildAnonymousWrapper = template.statement(`\n define([\"require\"], function(REQUIRE) {\n })\n`);\n\nfunction injectWrapper(\n path: NodePath,\n wrapper: t.ExpressionStatement,\n) {\n const { body, directives } = path.node;\n path.node.directives = [];\n path.node.body = [];\n const amdFactoryCall = path\n .pushContainer(\"body\", wrapper)[0]\n .get(\"expression\") as NodePath;\n const amdFactoryCallArgs = amdFactoryCall.get(\"arguments\");\n const amdFactory = (\n amdFactoryCallArgs[\n amdFactoryCallArgs.length - 1\n ] as NodePath\n ).get(\"body\");\n amdFactory.pushContainer(\"directives\", directives);\n amdFactory.pushContainer(\"body\", body);\n}\n\nexport interface Options extends PluginOptions {\n allowTopLevelThis?: boolean;\n importInterop?: RewriteModuleStatementsAndPrepareHeaderOptions[\"importInterop\"];\n loose?: boolean;\n noInterop?: boolean;\n strict?: boolean;\n strictMode?: boolean;\n}\n\ntype State = {\n requireId?: t.Identifier;\n resolveId?: t.Identifier;\n rejectId?: t.Identifier;\n};\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const { allowTopLevelThis, strict, strictMode, importInterop, noInterop } =\n options;\n\n const constantReexports =\n api.assumption(\"constantReexports\") ?? options.loose;\n const enumerableModuleMeta =\n api.assumption(\"enumerableModuleMeta\") ?? options.loose;\n\n return {\n name: \"transform-modules-amd\",\n\n pre() {\n this.file.set(\"@babel/plugin-transform-modules-*\", \"amd\");\n },\n\n visitor: {\n [\"CallExpression\" +\n (api.types.importExpression ? \"|ImportExpression\" : \"\")](\n this: State & PluginPass,\n path: NodePath,\n state: State,\n ) {\n if (!this.file.has(\"@babel/plugin-proposal-dynamic-import\")) return;\n if (path.isCallExpression() && !path.get(\"callee\").isImport()) return;\n\n let { requireId, resolveId, rejectId } = state;\n if (!requireId) {\n requireId = path.scope.generateUidIdentifier(\"require\");\n state.requireId = requireId;\n }\n if (!resolveId || !rejectId) {\n resolveId = path.scope.generateUidIdentifier(\"resolve\");\n rejectId = path.scope.generateUidIdentifier(\"reject\");\n state.resolveId = resolveId;\n state.rejectId = rejectId;\n }\n\n let result: t.Node = t.identifier(\"imported\");\n if (!noInterop) {\n result = wrapInterop(this.file.path, result, \"namespace\");\n }\n\n path.replaceWith(\n buildDynamicImport(\n path.node,\n false,\n false,\n specifier => template.expression.ast`\n new Promise((${resolveId}, ${rejectId}) =>\n ${requireId}(\n [${specifier}],\n imported => ${t.cloneNode(resolveId)}(${result}),\n ${t.cloneNode(rejectId)}\n )\n )\n `,\n ),\n );\n },\n Program: {\n exit(path, { requireId }) {\n if (!isModule(path)) {\n if (requireId) {\n injectWrapper(\n path,\n buildAnonymousWrapper({\n REQUIRE: t.cloneNode(requireId),\n }) as t.ExpressionStatement,\n );\n }\n return;\n }\n\n const amdArgs = [];\n const importNames = [];\n if (requireId) {\n amdArgs.push(t.stringLiteral(\"require\"));\n importNames.push(t.cloneNode(requireId));\n }\n\n let moduleName = getModuleName(this.file.opts, options);\n // @ts-expect-error todo(flow->ts): do not reuse variables\n if (moduleName) moduleName = t.stringLiteral(moduleName);\n\n const { meta, headers } = rewriteModuleStatementsAndPrepareHeader(\n path,\n {\n enumerableModuleMeta,\n constantReexports,\n strict,\n strictMode,\n allowTopLevelThis,\n importInterop,\n noInterop,\n filename: this.file.opts.filename,\n },\n );\n\n if (hasExports(meta)) {\n amdArgs.push(t.stringLiteral(\"exports\"));\n\n importNames.push(t.identifier(meta.exportName));\n }\n\n for (const [source, metadata] of meta.source) {\n amdArgs.push(t.stringLiteral(source));\n importNames.push(t.identifier(metadata.name));\n\n if (!isSideEffectImport(metadata)) {\n const interop = wrapInterop(\n path,\n t.identifier(metadata.name),\n metadata.interop,\n );\n if (interop) {\n const header = t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.identifier(metadata.name),\n interop,\n ),\n );\n header.loc = metadata.loc;\n headers.push(header);\n }\n }\n\n headers.push(\n ...buildNamespaceInitStatements(\n meta,\n metadata,\n constantReexports,\n ),\n );\n }\n\n ensureStatementsHoisted(headers);\n path.unshiftContainer(\"body\", headers);\n\n injectWrapper(\n path,\n buildWrapper({\n MODULE_NAME: moduleName,\n\n AMD_ARGUMENTS: t.arrayExpression(amdArgs),\n IMPORT_NAMES: importNames,\n }) as t.ExpressionStatement,\n );\n },\n },\n },\n };\n});\n","// Heavily inspired by\n// https://github.com/airbnb/babel-plugin-dynamic-import-node/blob/master/src/utils.js\n\nimport type { NodePath } from \"@babel/traverse\";\nimport { types as t, template, type File } from \"@babel/core\";\nimport { buildDynamicImport } from \"@babel/helper-module-transforms\";\n\nconst requireNoInterop = (source: t.Expression) =>\n template.expression.ast`require(${source})`;\n\nconst requireInterop = (source: t.Expression, file: File) =>\n t.callExpression(file.addHelper(\"interopRequireWildcard\"), [\n requireNoInterop(source),\n ]);\n\nexport function transformDynamicImport(\n path: NodePath,\n noInterop: boolean,\n file: File,\n) {\n const buildRequire = noInterop ? requireNoInterop : requireInterop;\n\n path.replaceWith(\n buildDynamicImport(path.node, true, false, specifier =>\n buildRequire(specifier, file),\n ),\n );\n}\n","import { template, types as t } from \"@babel/core\";\nimport { isSideEffectImport } from \"@babel/helper-module-transforms\";\nimport type { CommonJSHook } from \"./hooks.ts\";\n\ntype Lazy = boolean | string[] | ((source: string) => boolean);\n\nexport const lazyImportsHook = (lazy: Lazy): CommonJSHook => ({\n name: `${PACKAGE_JSON.name}/lazy`,\n version: PACKAGE_JSON.version,\n getWrapperPayload(source, metadata) {\n if (isSideEffectImport(metadata) || metadata.reexportAll) {\n return null;\n }\n if (lazy === true) {\n // 'true' means that local relative files are eagerly loaded and\n // dependency modules are loaded lazily.\n return /\\./.test(source) ? null : \"lazy/function\";\n }\n if (Array.isArray(lazy)) {\n return lazy.indexOf(source) === -1 ? null : \"lazy/function\";\n }\n if (typeof lazy === \"function\") {\n return lazy(source) ? \"lazy/function\" : null;\n }\n },\n buildRequireWrapper(name, init, payload, referenced) {\n if (payload === \"lazy/function\") {\n if (!referenced) return false;\n return template.statement.ast`\n function ${name}() {\n const data = ${init};\n ${name} = function(){ return data; };\n return data;\n }\n `;\n }\n },\n wrapReference(ref, payload) {\n if (payload === \"lazy/function\") return t.callExpression(ref, []);\n },\n});\n","import type { types as t, File } from \"@babel/core\";\nimport type { isSideEffectImport } from \"@babel/helper-module-transforms\";\n\nconst commonJSHooksKey =\n \"@babel/plugin-transform-modules-commonjs/customWrapperPlugin\";\n\ntype SourceMetadata = Parameters[0];\n\n// A hook exposes a set of function that can customize how `require()` calls and\n// references to the imported bindings are handled. These functions can either\n// return a result, or return `null` to delegate to the next hook.\nexport interface CommonJSHook {\n name: string;\n version: string;\n wrapReference?(ref: t.Expression, payload: unknown): t.CallExpression | null;\n // Optionally wrap a `require` call. If this function returns `false`, the\n // `require` call is removed from the generated code.\n buildRequireWrapper?(\n name: string,\n init: t.Expression,\n payload: unknown,\n referenced: boolean,\n ): t.Statement | false | null;\n getWrapperPayload?(\n source: string,\n metadata: SourceMetadata,\n importNodes: t.Node[],\n ): string | null;\n}\n\nexport function defineCommonJSHook(file: File, hook: CommonJSHook) {\n let hooks = file.get(commonJSHooksKey);\n if (!hooks) file.set(commonJSHooksKey, (hooks = []));\n hooks.push(hook);\n}\n\nfunction findMap(arr: T[] | null, cb: (el: T) => U): U | null {\n if (arr) {\n for (const el of arr) {\n const res = cb(el);\n if (res != null) return res;\n }\n }\n}\n\nexport function makeInvokers(\n file: File,\n): Pick<\n CommonJSHook,\n \"wrapReference\" | \"getWrapperPayload\" | \"buildRequireWrapper\"\n> {\n const hooks: CommonJSHook[] | null = file.get(commonJSHooksKey);\n\n return {\n getWrapperPayload(...args) {\n return findMap(hooks, hook => hook.getWrapperPayload?.(...args));\n },\n wrapReference(...args) {\n return findMap(hooks, hook => hook.wrapReference?.(...args));\n },\n buildRequireWrapper(...args) {\n return findMap(hooks, hook => hook.buildRequireWrapper?.(...args));\n },\n };\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport {\n isModule,\n rewriteModuleStatementsAndPrepareHeader,\n type RewriteModuleStatementsAndPrepareHeaderOptions,\n isSideEffectImport,\n buildNamespaceInitStatements,\n ensureStatementsHoisted,\n wrapInterop,\n getModuleName,\n} from \"@babel/helper-module-transforms\";\nimport simplifyAccess from \"@babel/helper-simple-access\";\nimport { template, types as t, type PluginPass } from \"@babel/core\";\nimport type { PluginOptions } from \"@babel/helper-module-transforms\";\nimport type { Visitor, Scope, NodePath } from \"@babel/traverse\";\n\nimport { transformDynamicImport } from \"./dynamic-import.ts\";\nimport { lazyImportsHook } from \"./lazy.ts\";\n\nimport { defineCommonJSHook, makeInvokers } from \"./hooks.ts\";\nexport { defineCommonJSHook };\n\nexport interface Options extends PluginOptions {\n allowCommonJSExports?: boolean;\n allowTopLevelThis?: boolean;\n importInterop?: RewriteModuleStatementsAndPrepareHeaderOptions[\"importInterop\"];\n lazy?: RewriteModuleStatementsAndPrepareHeaderOptions[\"lazy\"];\n loose?: boolean;\n mjsStrictNamespace?: boolean;\n noInterop?: boolean;\n strict?: boolean;\n strictMode?: boolean;\n strictNamespace?: boolean;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const {\n // 'true' for imports to strictly have .default, instead of having\n // destructuring-like behavior for their properties. This matches the behavior\n // of the initial Node.js (v12) behavior when importing a CommonJS without\n // the __esMoule property.\n // .strictNamespace is for non-mjs files, mjsStrictNamespace if for mjs files.\n strictNamespace = false,\n mjsStrictNamespace = strictNamespace,\n\n allowTopLevelThis,\n strict,\n strictMode,\n noInterop,\n importInterop,\n lazy = false,\n // Defaulting to 'true' for now. May change before 7.x major.\n allowCommonJSExports = true,\n loose = false,\n } = options;\n\n const constantReexports = api.assumption(\"constantReexports\") ?? loose;\n const enumerableModuleMeta = api.assumption(\"enumerableModuleMeta\") ?? loose;\n const noIncompleteNsImportDetection =\n api.assumption(\"noIncompleteNsImportDetection\") ?? false;\n\n if (\n typeof lazy !== \"boolean\" &&\n typeof lazy !== \"function\" &&\n (!Array.isArray(lazy) || !lazy.every(item => typeof item === \"string\"))\n ) {\n throw new Error(`.lazy must be a boolean, array of strings, or a function`);\n }\n\n if (typeof strictNamespace !== \"boolean\") {\n throw new Error(`.strictNamespace must be a boolean, or undefined`);\n }\n if (typeof mjsStrictNamespace !== \"boolean\") {\n throw new Error(`.mjsStrictNamespace must be a boolean, or undefined`);\n }\n\n const getAssertion = (localName: string) => template.expression.ast`\n (function(){\n throw new Error(\n \"The CommonJS '\" + \"${localName}\" + \"' variable is not available in ES6 modules.\" +\n \"Consider setting setting sourceType:script or sourceType:unambiguous in your \" +\n \"Babel config for this file.\");\n })()\n `;\n\n const moduleExportsVisitor: Visitor<{ scope: Scope }> = {\n ReferencedIdentifier(path) {\n const localName = path.node.name;\n if (localName !== \"module\" && localName !== \"exports\") return;\n\n const localBinding = path.scope.getBinding(localName);\n const rootBinding = this.scope.getBinding(localName);\n\n if (\n // redeclared in this scope\n rootBinding !== localBinding ||\n (path.parentPath.isObjectProperty({ value: path.node }) &&\n path.parentPath.parentPath.isObjectPattern()) ||\n path.parentPath.isAssignmentExpression({ left: path.node }) ||\n path.isAssignmentExpression({ left: path.node })\n ) {\n return;\n }\n\n path.replaceWith(getAssertion(localName));\n },\n\n UpdateExpression(path) {\n const arg = path.get(\"argument\");\n if (!arg.isIdentifier()) return;\n const localName = arg.node.name;\n if (localName !== \"module\" && localName !== \"exports\") return;\n\n const localBinding = path.scope.getBinding(localName);\n const rootBinding = this.scope.getBinding(localName);\n\n // redeclared in this scope\n if (rootBinding !== localBinding) return;\n\n path.replaceWith(\n t.assignmentExpression(\n path.node.operator[0] + \"=\",\n arg.node,\n getAssertion(localName),\n ),\n );\n },\n\n AssignmentExpression(path) {\n const left = path.get(\"left\");\n if (left.isIdentifier()) {\n const localName = left.node.name;\n if (localName !== \"module\" && localName !== \"exports\") return;\n\n const localBinding = path.scope.getBinding(localName);\n const rootBinding = this.scope.getBinding(localName);\n\n // redeclared in this scope\n if (rootBinding !== localBinding) return;\n\n const right = path.get(\"right\");\n right.replaceWith(\n t.sequenceExpression([right.node, getAssertion(localName)]),\n );\n } else if (left.isPattern()) {\n const ids = left.getOuterBindingIdentifiers();\n const localName = Object.keys(ids).filter(localName => {\n if (localName !== \"module\" && localName !== \"exports\") return false;\n\n return (\n this.scope.getBinding(localName) ===\n path.scope.getBinding(localName)\n );\n })[0];\n\n if (localName) {\n const right = path.get(\"right\");\n right.replaceWith(\n t.sequenceExpression([right.node, getAssertion(localName)]),\n );\n }\n }\n },\n };\n\n return {\n name: \"transform-modules-commonjs\",\n\n pre() {\n this.file.set(\"@babel/plugin-transform-modules-*\", \"commonjs\");\n\n if (lazy) defineCommonJSHook(this.file, lazyImportsHook(lazy));\n },\n\n visitor: {\n [\"CallExpression\" +\n (api.types.importExpression ? \"|ImportExpression\" : \"\")](\n this: PluginPass,\n path: NodePath,\n ) {\n if (!this.file.has(\"@babel/plugin-proposal-dynamic-import\")) return;\n if (path.isCallExpression() && !t.isImport(path.node.callee)) return;\n\n let { scope } = path;\n do {\n scope.rename(\"require\");\n } while ((scope = scope.parent));\n\n transformDynamicImport(path, noInterop, this.file);\n },\n\n Program: {\n exit(path, state) {\n if (!isModule(path)) return;\n\n // Rename the bindings auto-injected into the scope so there is no\n // risk of conflict between the bindings.\n path.scope.rename(\"exports\");\n path.scope.rename(\"module\");\n path.scope.rename(\"require\");\n path.scope.rename(\"__filename\");\n path.scope.rename(\"__dirname\");\n\n // Rewrite references to 'module' and 'exports' to throw exceptions.\n // These objects are specific to CommonJS and are not available in\n // real ES6 implementations.\n if (!allowCommonJSExports) {\n if (process.env.BABEL_8_BREAKING) {\n simplifyAccess(path, new Set([\"module\", \"exports\"]));\n } else {\n // @ts-ignore(Babel 7 vs Babel 8) The third param has been removed in Babel 8.\n simplifyAccess(path, new Set([\"module\", \"exports\"]), false);\n }\n path.traverse(moduleExportsVisitor, {\n scope: path.scope,\n });\n }\n\n let moduleName = getModuleName(this.file.opts, options);\n // @ts-expect-error todo(flow->ts): do not reuse variables\n if (moduleName) moduleName = t.stringLiteral(moduleName);\n\n const hooks = makeInvokers(this.file);\n\n const { meta, headers } = rewriteModuleStatementsAndPrepareHeader(\n path,\n {\n exportName: \"exports\",\n constantReexports,\n enumerableModuleMeta,\n strict,\n strictMode,\n allowTopLevelThis,\n noInterop,\n importInterop,\n wrapReference: hooks.wrapReference,\n getWrapperPayload: hooks.getWrapperPayload,\n esNamespaceOnly:\n typeof state.filename === \"string\" &&\n /\\.mjs$/.test(state.filename)\n ? mjsStrictNamespace\n : strictNamespace,\n noIncompleteNsImportDetection,\n filename: this.file.opts.filename,\n },\n );\n\n for (const [source, metadata] of meta.source) {\n const loadExpr = t.callExpression(t.identifier(\"require\"), [\n t.stringLiteral(source),\n ]);\n\n let header: t.Statement;\n if (isSideEffectImport(metadata)) {\n if (lazy && metadata.wrap === \"function\") {\n throw new Error(\"Assertion failure\");\n }\n\n header = t.expressionStatement(loadExpr);\n } else {\n const init =\n wrapInterop(path, loadExpr, metadata.interop) || loadExpr;\n\n if (metadata.wrap) {\n const res = hooks.buildRequireWrapper(\n metadata.name,\n init,\n metadata.wrap,\n metadata.referenced,\n );\n if (res === false) continue;\n else header = res;\n }\n header ??= template.statement.ast`\n var ${metadata.name} = ${init};\n `;\n }\n header.loc = metadata.loc;\n\n headers.push(header);\n headers.push(\n ...buildNamespaceInitStatements(\n meta,\n metadata,\n constantReexports,\n hooks.wrapReference,\n ),\n );\n }\n\n ensureStatementsHoisted(headers);\n path.unshiftContainer(\"body\", headers);\n path.get(\"body\").forEach(path => {\n if (headers.indexOf(path.node) === -1) return;\n if (path.isVariableDeclaration()) {\n path.scope.registerDeclaration(path);\n }\n });\n },\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport hoistVariables from \"@babel/helper-hoist-variables\";\nimport { template, types as t, type PluginPass } from \"@babel/core\";\nimport {\n buildDynamicImport,\n getModuleName,\n rewriteThis,\n} from \"@babel/helper-module-transforms\";\nimport type { PluginOptions } from \"@babel/helper-module-transforms\";\nimport { isIdentifierName } from \"@babel/helper-validator-identifier\";\nimport type { NodePath, Scope, Visitor } from \"@babel/traverse\";\n\nconst buildTemplate = template.statement(`\n SYSTEM_REGISTER(MODULE_NAME, SOURCES, function (EXPORT_IDENTIFIER, CONTEXT_IDENTIFIER) {\n \"use strict\";\n BEFORE_BODY;\n return {\n setters: SETTERS,\n execute: EXECUTE,\n };\n });\n`);\n\nconst buildExportAll = template.statement(`\n for (var KEY in TARGET) {\n if (KEY !== \"default\" && KEY !== \"__esModule\") EXPORT_OBJ[KEY] = TARGET[KEY];\n }\n`);\n\nconst MISSING_PLUGIN_WARNING = `\\\nWARNING: Dynamic import() transformation must be enabled using the\n @babel/plugin-transform-dynamic-import plugin. Babel 8 will\n no longer transform import() without using that plugin.\n`;\n\nconst MISSING_PLUGIN_ERROR = `\\\nERROR: Dynamic import() transformation must be enabled using the\n @babel/plugin-transform-dynamic-import plugin. Babel 8\n no longer transforms import() without using that plugin.\n`;\n\n//todo: use getExportSpecifierName in `helper-module-transforms` when this library is refactored to NodePath usage.\n\nexport function getExportSpecifierName(\n node: t.Node,\n stringSpecifiers: Set,\n): string {\n if (node.type === \"Identifier\") {\n return node.name;\n } else if (node.type === \"StringLiteral\") {\n const stringValue = node.value;\n // add specifier value to `stringSpecifiers` only when it can not be converted to an identifier name\n // i.e In `import { \"foo\" as bar }`\n // we do not consider `\"foo\"` to be a `stringSpecifier` because we can treat it as\n // `import { foo as bar }`\n // This helps minimize the size of `stringSpecifiers` and reduce overhead of checking valid identifier names\n // when building transpiled code from metadata\n if (!isIdentifierName(stringValue)) {\n stringSpecifiers.add(stringValue);\n }\n return stringValue;\n } else {\n throw new Error(\n `Expected export specifier to be either Identifier or StringLiteral, got ${node.type}`,\n );\n }\n}\n\ntype PluginState = {\n contextIdent: string;\n // List of names that should only be printed as string literals.\n // i.e. `import { \"any unicode\" as foo } from \"some-module\"`\n // `stringSpecifiers` is Set(1) [\"any unicode\"]\n // In most cases `stringSpecifiers` is an empty Set\n stringSpecifiers: Set;\n};\n\ntype ModuleMetadata = {\n key: string;\n imports: any[];\n exports: any[];\n};\n\nfunction constructExportCall(\n path: NodePath,\n exportIdent: t.Identifier,\n exportNames: string[],\n exportValues: t.Expression[],\n exportStarTarget: t.Identifier | null,\n stringSpecifiers: Set,\n) {\n const statements = [];\n if (!exportStarTarget) {\n if (exportNames.length === 1) {\n statements.push(\n t.expressionStatement(\n t.callExpression(exportIdent, [\n t.stringLiteral(exportNames[0]),\n exportValues[0],\n ]),\n ),\n );\n } else {\n const objectProperties = [];\n for (let i = 0; i < exportNames.length; i++) {\n const exportName = exportNames[i];\n const exportValue = exportValues[i];\n objectProperties.push(\n t.objectProperty(\n stringSpecifiers.has(exportName)\n ? t.stringLiteral(exportName)\n : t.identifier(exportName),\n exportValue,\n ),\n );\n }\n statements.push(\n t.expressionStatement(\n t.callExpression(exportIdent, [t.objectExpression(objectProperties)]),\n ),\n );\n }\n } else {\n const exportObj = path.scope.generateUid(\"exportObj\");\n\n statements.push(\n t.variableDeclaration(\"var\", [\n t.variableDeclarator(t.identifier(exportObj), t.objectExpression([])),\n ]),\n );\n\n statements.push(\n buildExportAll({\n KEY: path.scope.generateUidIdentifier(\"key\"),\n EXPORT_OBJ: t.identifier(exportObj),\n TARGET: exportStarTarget,\n }),\n );\n\n for (let i = 0; i < exportNames.length; i++) {\n const exportName = exportNames[i];\n const exportValue = exportValues[i];\n\n statements.push(\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.memberExpression(\n t.identifier(exportObj),\n t.identifier(exportName),\n ),\n exportValue,\n ),\n ),\n );\n }\n\n statements.push(\n t.expressionStatement(\n t.callExpression(exportIdent, [t.identifier(exportObj)]),\n ),\n );\n }\n return statements;\n}\n\nexport interface Options extends PluginOptions {\n allowTopLevelThis?: boolean;\n systemGlobal?: string;\n}\n\ntype ReassignmentVisitorState = {\n scope: Scope;\n exports: any;\n buildCall: (name: string, value: t.Expression) => t.ExpressionStatement;\n};\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const { systemGlobal = \"System\", allowTopLevelThis = false } = options;\n const reassignmentVisited = new WeakSet();\n\n const reassignmentVisitor: Visitor = {\n \"AssignmentExpression|UpdateExpression\"(\n path: NodePath,\n ) {\n if (reassignmentVisited.has(path.node)) return;\n reassignmentVisited.add(path.node);\n\n const arg = path.isAssignmentExpression()\n ? path.get(\"left\")\n : path.get(\"argument\");\n\n if (arg.isObjectPattern() || arg.isArrayPattern()) {\n const exprs: t.SequenceExpression[\"expressions\"] = [path.node];\n for (const name of Object.keys(arg.getBindingIdentifiers())) {\n if (this.scope.getBinding(name) !== path.scope.getBinding(name)) {\n return;\n }\n const exportedNames = this.exports[name];\n if (!exportedNames) continue;\n for (const exportedName of exportedNames) {\n exprs.push(\n this.buildCall(exportedName, t.identifier(name)).expression,\n );\n }\n }\n path.replaceWith(t.sequenceExpression(exprs));\n return;\n }\n\n if (!arg.isIdentifier()) return;\n\n const name = arg.node.name;\n\n // redeclared in this scope\n if (this.scope.getBinding(name) !== path.scope.getBinding(name)) return;\n\n const exportedNames = this.exports[name];\n if (!exportedNames) return;\n\n let node: t.Expression = path.node;\n\n // if it is a non-prefix update expression (x++ etc)\n // then we must replace with the expression (_export('x', x + 1), x++)\n // in order to ensure the same update expression value\n const isPostUpdateExpression = t.isUpdateExpression(node, {\n prefix: false,\n });\n if (isPostUpdateExpression) {\n node = t.binaryExpression(\n // @ts-expect-error The operator of a post-update expression must be \"++\" | \"--\"\n node.operator[0],\n t.unaryExpression(\n \"+\",\n t.cloneNode(\n // @ts-expect-error node is UpdateExpression\n node.argument,\n ),\n ),\n t.numericLiteral(1),\n );\n }\n\n for (const exportedName of exportedNames) {\n node = this.buildCall(exportedName, node).expression;\n }\n\n if (isPostUpdateExpression) {\n node = t.sequenceExpression([node, path.node]);\n }\n\n path.replaceWith(node);\n },\n };\n\n return {\n name: \"transform-modules-systemjs\",\n\n pre() {\n this.file.set(\"@babel/plugin-transform-modules-*\", \"systemjs\");\n },\n\n visitor: {\n [\"CallExpression\" +\n (api.types.importExpression ? \"|ImportExpression\" : \"\")](\n this: PluginPass & PluginState,\n path: NodePath,\n state: PluginState,\n ) {\n if (path.isCallExpression() && !t.isImport(path.node.callee)) return;\n if (path.isCallExpression()) {\n if (!this.file.has(\"@babel/plugin-proposal-dynamic-import\")) {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(MISSING_PLUGIN_ERROR);\n } else {\n console.warn(MISSING_PLUGIN_WARNING);\n }\n }\n } else {\n // when createImportExpressions is true, we require the dynamic import transform\n if (!this.file.has(\"@babel/plugin-proposal-dynamic-import\")) {\n throw new Error(MISSING_PLUGIN_ERROR);\n }\n }\n path.replaceWith(\n buildDynamicImport(path.node, false, true, specifier =>\n t.callExpression(\n t.memberExpression(\n t.identifier(state.contextIdent),\n t.identifier(\"import\"),\n ),\n [specifier],\n ),\n ),\n );\n },\n\n MetaProperty(path, state: PluginState) {\n if (\n path.node.meta.name === \"import\" &&\n path.node.property.name === \"meta\"\n ) {\n path.replaceWith(\n t.memberExpression(\n t.identifier(state.contextIdent),\n t.identifier(\"meta\"),\n ),\n );\n }\n },\n\n ReferencedIdentifier(path, state) {\n if (\n path.node.name === \"__moduleName\" &&\n !path.scope.hasBinding(\"__moduleName\")\n ) {\n path.replaceWith(\n t.memberExpression(\n t.identifier(state.contextIdent),\n t.identifier(\"id\"),\n ),\n );\n }\n },\n\n Program: {\n enter(path, state) {\n state.contextIdent = path.scope.generateUid(\"context\");\n state.stringSpecifiers = new Set();\n if (!allowTopLevelThis) {\n rewriteThis(path);\n }\n },\n exit(path, state) {\n const scope = path.scope;\n const exportIdent = scope.generateUid(\"export\");\n const { contextIdent, stringSpecifiers } = state;\n\n const exportMap: Record = Object.create(null);\n const modules: ModuleMetadata[] = [];\n\n const beforeBody = [];\n const setters: t.Expression[] = [];\n const sources: t.StringLiteral[] = [];\n const variableIds = [];\n const removedPaths = [];\n\n function addExportName(key: string, val: string) {\n exportMap[key] = exportMap[key] || [];\n exportMap[key].push(val);\n }\n\n function pushModule(\n source: string,\n key: \"imports\" | \"exports\",\n specifiers: t.ModuleSpecifier[] | t.ExportAllDeclaration,\n ) {\n let module: ModuleMetadata;\n modules.forEach(function (m) {\n if (m.key === source) {\n module = m;\n }\n });\n if (!module) {\n modules.push(\n (module = { key: source, imports: [], exports: [] }),\n );\n }\n module[key] = module[key].concat(specifiers);\n }\n\n function buildExportCall(name: string, val: t.Expression) {\n return t.expressionStatement(\n t.callExpression(t.identifier(exportIdent), [\n t.stringLiteral(name),\n val,\n ]),\n );\n }\n\n const exportNames = [];\n const exportValues: t.Expression[] = [];\n\n const body = path.get(\"body\");\n\n for (const path of body) {\n if (path.isFunctionDeclaration()) {\n beforeBody.push(path.node);\n removedPaths.push(path);\n } else if (path.isClassDeclaration()) {\n variableIds.push(t.cloneNode(path.node.id));\n path.replaceWith(\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.cloneNode(path.node.id),\n t.toExpression(path.node),\n ),\n ),\n );\n } else if (path.isVariableDeclaration()) {\n // Convert top-level variable declarations to \"var\",\n // because they must be hoisted\n path.node.kind = \"var\";\n } else if (path.isImportDeclaration()) {\n const source = path.node.source.value;\n pushModule(source, \"imports\", path.node.specifiers);\n for (const name of Object.keys(path.getBindingIdentifiers())) {\n scope.removeBinding(name);\n variableIds.push(t.identifier(name));\n }\n path.remove();\n } else if (path.isExportAllDeclaration()) {\n pushModule(path.node.source.value, \"exports\", path.node);\n path.remove();\n } else if (path.isExportDefaultDeclaration()) {\n const declar = path.node.declaration;\n if (t.isClassDeclaration(declar)) {\n const id = declar.id;\n if (id) {\n exportNames.push(\"default\");\n exportValues.push(scope.buildUndefinedNode());\n variableIds.push(t.cloneNode(id));\n addExportName(id.name, \"default\");\n path.replaceWith(\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.cloneNode(id),\n t.toExpression(declar),\n ),\n ),\n );\n } else {\n exportNames.push(\"default\");\n exportValues.push(t.toExpression(declar));\n removedPaths.push(path);\n }\n } else if (t.isFunctionDeclaration(declar)) {\n const id = declar.id;\n if (id) {\n beforeBody.push(declar);\n exportNames.push(\"default\");\n exportValues.push(t.cloneNode(id));\n addExportName(id.name, \"default\");\n } else {\n exportNames.push(\"default\");\n exportValues.push(t.toExpression(declar));\n }\n removedPaths.push(path);\n } else {\n // @ts-expect-error TSDeclareFunction is not expected here\n path.replaceWith(buildExportCall(\"default\", declar));\n }\n } else if (path.isExportNamedDeclaration()) {\n const declar = path.node.declaration;\n\n if (declar) {\n path.replaceWith(declar);\n\n if (t.isFunction(declar)) {\n const name = declar.id.name;\n addExportName(name, name);\n beforeBody.push(declar);\n exportNames.push(name);\n exportValues.push(t.cloneNode(declar.id));\n removedPaths.push(path);\n } else if (t.isClass(declar)) {\n const name = declar.id.name;\n exportNames.push(name);\n exportValues.push(scope.buildUndefinedNode());\n variableIds.push(t.cloneNode(declar.id));\n path.replaceWith(\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.cloneNode(declar.id),\n t.toExpression(declar),\n ),\n ),\n );\n addExportName(name, name);\n } else {\n if (t.isVariableDeclaration(declar)) {\n // Convert top-level variable declarations to \"var\",\n // because they must be hoisted\n declar.kind = \"var\";\n }\n for (const name of Object.keys(\n t.getBindingIdentifiers(declar),\n )) {\n addExportName(name, name);\n }\n }\n } else {\n const specifiers = path.node.specifiers;\n if (specifiers?.length) {\n if (path.node.source) {\n pushModule(path.node.source.value, \"exports\", specifiers);\n path.remove();\n } else {\n const nodes = [];\n\n for (const specifier of specifiers) {\n // @ts-expect-error This isn't an \"export ... from\" declaration\n // because path.node.source is falsy, so the local specifier exists.\n const { local, exported } = specifier;\n\n const binding = scope.getBinding(local.name);\n const exportedName = getExportSpecifierName(\n exported,\n stringSpecifiers,\n );\n // hoisted function export\n if (\n binding &&\n t.isFunctionDeclaration(binding.path.node)\n ) {\n exportNames.push(exportedName);\n exportValues.push(t.cloneNode(local));\n }\n // only globals also exported this way\n else if (!binding) {\n nodes.push(buildExportCall(exportedName, local));\n }\n addExportName(local.name, exportedName);\n }\n\n path.replaceWithMultiple(nodes);\n }\n } else {\n path.remove();\n }\n }\n }\n }\n\n modules.forEach(function (specifiers) {\n const setterBody = [];\n const target = scope.generateUid(specifiers.key);\n\n for (let specifier of specifiers.imports) {\n if (t.isImportNamespaceSpecifier(specifier)) {\n setterBody.push(\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n specifier.local,\n t.identifier(target),\n ),\n ),\n );\n } else if (t.isImportDefaultSpecifier(specifier)) {\n specifier = t.importSpecifier(\n specifier.local,\n t.identifier(\"default\"),\n );\n }\n\n if (t.isImportSpecifier(specifier)) {\n const { imported } = specifier;\n setterBody.push(\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n specifier.local,\n t.memberExpression(\n t.identifier(target),\n specifier.imported,\n /* computed */ imported.type === \"StringLiteral\",\n ),\n ),\n ),\n );\n }\n }\n\n if (specifiers.exports.length) {\n const exportNames = [];\n const exportValues = [];\n let hasExportStar = false;\n\n for (const node of specifiers.exports) {\n if (t.isExportAllDeclaration(node)) {\n hasExportStar = true;\n } else if (t.isExportSpecifier(node)) {\n const exportedName = getExportSpecifierName(\n node.exported,\n stringSpecifiers,\n );\n exportNames.push(exportedName);\n exportValues.push(\n t.memberExpression(\n t.identifier(target),\n node.local,\n t.isStringLiteral(node.local),\n ),\n );\n } else {\n // todo\n }\n }\n\n setterBody.push(\n ...constructExportCall(\n path,\n t.identifier(exportIdent),\n exportNames,\n exportValues,\n hasExportStar ? t.identifier(target) : null,\n stringSpecifiers,\n ),\n );\n }\n\n sources.push(t.stringLiteral(specifiers.key));\n setters.push(\n t.functionExpression(\n null,\n [t.identifier(target)],\n t.blockStatement(setterBody),\n ),\n );\n });\n\n let moduleName = getModuleName(this.file.opts, options);\n // @ts-expect-error todo(flow->ts): do not reuse variables\n if (moduleName) moduleName = t.stringLiteral(moduleName);\n\n hoistVariables(path, (id, name, hasInit) => {\n variableIds.push(id);\n if (!hasInit && name in exportMap) {\n for (const exported of exportMap[name]) {\n exportNames.push(exported);\n exportValues.push(scope.buildUndefinedNode());\n }\n }\n });\n\n if (variableIds.length) {\n beforeBody.unshift(\n t.variableDeclaration(\n \"var\",\n variableIds.map(id => t.variableDeclarator(id)),\n ),\n );\n }\n\n if (exportNames.length) {\n beforeBody.push(\n ...constructExportCall(\n path,\n t.identifier(exportIdent),\n exportNames,\n exportValues,\n null,\n stringSpecifiers,\n ),\n );\n }\n\n path.traverse(reassignmentVisitor, {\n exports: exportMap,\n buildCall: buildExportCall,\n scope,\n });\n\n for (const path of removedPaths) {\n path.remove();\n }\n\n let hasTLA = false;\n path.traverse({\n AwaitExpression(path) {\n hasTLA = true;\n path.stop();\n },\n Function(path) {\n path.skip();\n },\n // @ts-expect-error - todo: add noScope to type definitions\n noScope: true,\n });\n\n path.node.body = [\n buildTemplate({\n SYSTEM_REGISTER: t.memberExpression(\n t.identifier(systemGlobal),\n t.identifier(\"register\"),\n ),\n BEFORE_BODY: beforeBody,\n MODULE_NAME: moduleName,\n SETTERS: t.arrayExpression(setters),\n EXECUTE: t.functionExpression(\n null,\n [],\n t.blockStatement(path.node.body),\n false,\n hasTLA,\n ),\n SOURCES: t.arrayExpression(sources),\n EXPORT_IDENTIFIER: t.identifier(exportIdent),\n CONTEXT_IDENTIFIER: t.identifier(contextIdent),\n }),\n ];\n },\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { basename, extname } from \"path\";\nimport {\n isModule,\n rewriteModuleStatementsAndPrepareHeader,\n type RewriteModuleStatementsAndPrepareHeaderOptions,\n hasExports,\n isSideEffectImport,\n buildNamespaceInitStatements,\n ensureStatementsHoisted,\n wrapInterop,\n getModuleName,\n} from \"@babel/helper-module-transforms\";\nimport type { PluginOptions } from \"@babel/helper-module-transforms\";\nimport { types as t, template } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\n\nconst buildPrerequisiteAssignment = template(`\n GLOBAL_REFERENCE = GLOBAL_REFERENCE || {}\n`);\n// Note: we avoid comparing typeof results with \"object\" or \"symbol\" otherwise\n// they will be processed by `transform-typeof-symbol`, which in return could\n// cause typeof helper used before declaration\nconst buildWrapper = template(`\n (function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(MODULE_NAME, AMD_ARGUMENTS, factory);\n } else if (typeof exports !== \"undefined\") {\n factory(COMMONJS_ARGUMENTS);\n } else {\n var mod = { exports: {} };\n factory(BROWSER_ARGUMENTS);\n\n GLOBAL_TO_ASSIGN;\n }\n })(\n typeof globalThis !== \"undefined\" ? globalThis\n : typeof self !== \"undefined\" ? self\n : this,\n function(IMPORT_NAMES) {\n })\n`);\n\nexport interface Options extends PluginOptions {\n allowTopLevelThis?: boolean;\n exactGlobals?: boolean;\n globals?: Record;\n importInterop?: RewriteModuleStatementsAndPrepareHeaderOptions[\"importInterop\"];\n loose?: boolean;\n noInterop?: boolean;\n strict?: boolean;\n strictMode?: boolean;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const {\n globals,\n exactGlobals,\n allowTopLevelThis,\n strict,\n strictMode,\n noInterop,\n importInterop,\n } = options;\n\n const constantReexports =\n api.assumption(\"constantReexports\") ?? options.loose;\n const enumerableModuleMeta =\n api.assumption(\"enumerableModuleMeta\") ?? options.loose;\n\n /**\n * Build the assignment statements that initialize the UMD global.\n */\n function buildBrowserInit(\n browserGlobals: Record,\n exactGlobals: boolean,\n filename: string,\n moduleName: t.StringLiteral | void,\n ) {\n const moduleNameOrBasename = moduleName\n ? moduleName.value\n : basename(filename, extname(filename));\n let globalToAssign = t.memberExpression(\n t.identifier(\"global\"),\n t.identifier(t.toIdentifier(moduleNameOrBasename)),\n );\n let initAssignments = [];\n\n if (exactGlobals) {\n const globalName = browserGlobals[moduleNameOrBasename];\n\n if (globalName) {\n initAssignments = [];\n\n const members = globalName.split(\".\");\n globalToAssign = members.slice(1).reduce(\n (accum, curr) => {\n initAssignments.push(\n buildPrerequisiteAssignment({\n GLOBAL_REFERENCE: t.cloneNode(accum),\n }),\n );\n return t.memberExpression(accum, t.identifier(curr));\n },\n t.memberExpression(t.identifier(\"global\"), t.identifier(members[0])),\n );\n }\n }\n\n initAssignments.push(\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n globalToAssign,\n t.memberExpression(t.identifier(\"mod\"), t.identifier(\"exports\")),\n ),\n ),\n );\n\n return initAssignments;\n }\n\n /**\n * Build the member expression that reads from a global for a given source.\n */\n function buildBrowserArg(\n browserGlobals: Record,\n exactGlobals: boolean,\n source: string,\n ) {\n let memberExpression: t.MemberExpression;\n if (exactGlobals) {\n const globalRef = browserGlobals[source];\n if (globalRef) {\n memberExpression = globalRef\n .split(\".\")\n .reduce(\n (accum: t.Identifier | t.MemberExpression, curr) =>\n t.memberExpression(accum, t.identifier(curr)),\n t.identifier(\"global\"),\n ) as t.MemberExpression;\n } else {\n memberExpression = t.memberExpression(\n t.identifier(\"global\"),\n t.identifier(t.toIdentifier(source)),\n );\n }\n } else {\n const requireName = basename(source, extname(source));\n const globalName = browserGlobals[requireName] || requireName;\n memberExpression = t.memberExpression(\n t.identifier(\"global\"),\n t.identifier(t.toIdentifier(globalName)),\n );\n }\n return memberExpression;\n }\n\n return {\n name: \"transform-modules-umd\",\n\n visitor: {\n Program: {\n exit(path) {\n if (!isModule(path)) return;\n\n const browserGlobals = globals || {};\n\n const moduleName = getModuleName(this.file.opts, options);\n let moduleNameLiteral: void | t.StringLiteral;\n if (moduleName) moduleNameLiteral = t.stringLiteral(moduleName);\n\n const { meta, headers } = rewriteModuleStatementsAndPrepareHeader(\n path,\n {\n constantReexports,\n enumerableModuleMeta,\n strict,\n strictMode,\n allowTopLevelThis,\n noInterop,\n importInterop,\n filename: this.file.opts.filename,\n },\n );\n\n const amdArgs = [];\n const commonjsArgs = [];\n const browserArgs = [];\n const importNames = [];\n\n if (hasExports(meta)) {\n amdArgs.push(t.stringLiteral(\"exports\"));\n commonjsArgs.push(t.identifier(\"exports\"));\n browserArgs.push(\n t.memberExpression(t.identifier(\"mod\"), t.identifier(\"exports\")),\n );\n importNames.push(t.identifier(meta.exportName));\n }\n\n for (const [source, metadata] of meta.source) {\n amdArgs.push(t.stringLiteral(source));\n commonjsArgs.push(\n t.callExpression(t.identifier(\"require\"), [\n t.stringLiteral(source),\n ]),\n );\n browserArgs.push(\n buildBrowserArg(browserGlobals, exactGlobals, source),\n );\n importNames.push(t.identifier(metadata.name));\n\n if (!isSideEffectImport(metadata)) {\n const interop = wrapInterop(\n path,\n t.identifier(metadata.name),\n metadata.interop,\n );\n if (interop) {\n const header = t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.identifier(metadata.name),\n interop,\n ),\n );\n // @ts-expect-error todo(flow->ts)\n header.loc = meta.loc;\n headers.push(header);\n }\n }\n\n headers.push(\n ...buildNamespaceInitStatements(\n meta,\n metadata,\n constantReexports,\n ),\n );\n }\n\n ensureStatementsHoisted(headers);\n path.unshiftContainer(\"body\", headers);\n\n const { body, directives } = path.node;\n path.node.directives = [];\n path.node.body = [];\n const umdWrapper = path.pushContainer(\"body\", [\n buildWrapper({\n //todo: buildWrapper does not handle void moduleNameLiteral\n MODULE_NAME: moduleNameLiteral,\n\n AMD_ARGUMENTS: t.arrayExpression(amdArgs),\n COMMONJS_ARGUMENTS: commonjsArgs,\n BROWSER_ARGUMENTS: browserArgs,\n IMPORT_NAMES: importNames,\n\n GLOBAL_TO_ASSIGN: buildBrowserInit(\n browserGlobals,\n exactGlobals,\n this.filename || \"unknown\",\n moduleNameLiteral,\n ),\n }) as t.Statement,\n ])[0] as NodePath;\n const umdFactory = (\n umdWrapper.get(\"expression.arguments\")[1] as NodePath\n ).get(\"body\") as NodePath;\n umdFactory.pushContainer(\"directives\", directives);\n umdFactory.pushContainer(\"body\", body);\n },\n },\n },\n };\n});\n","/* eslint-disable @babel/development/plugin-name */\nimport { createRegExpFeaturePlugin } from \"@babel/helper-create-regexp-features-plugin\";\nimport { declare } from \"@babel/helper-plugin-utils\";\n\nexport interface Options {\n runtime?: boolean;\n}\n\nexport default declare((api, options: Options) => {\n const { runtime } = options;\n if (runtime !== undefined && typeof runtime !== \"boolean\") {\n throw new Error(\"The 'runtime' option must be boolean\");\n }\n\n return createRegExpFeaturePlugin({\n name: \"transform-named-capturing-groups-regex\",\n feature: \"namedCaptureGroups\",\n options: { runtime },\n });\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-new-target\",\n\n visitor: {\n MetaProperty(path) {\n const meta = path.get(\"meta\");\n const property = path.get(\"property\");\n const { scope } = path;\n\n if (\n meta.isIdentifier({ name: \"new\" }) &&\n property.isIdentifier({ name: \"target\" })\n ) {\n const func = path.findParent(path => {\n if (path.isClass()) return true;\n if (path.isFunction() && !path.isArrowFunctionExpression()) {\n if (path.isClassMethod({ kind: \"constructor\" })) {\n return false;\n }\n\n return true;\n }\n return false;\n }) as NodePath<\n | t.FunctionDeclaration\n | t.FunctionExpression\n | t.Class\n | t.ClassMethod\n | t.ClassPrivateMethod\n >;\n\n if (!func) {\n throw path.buildCodeFrameError(\n \"new.target must be under a (non-arrow) function or a class.\",\n );\n }\n\n const { node } = func;\n if (t.isMethod(node)) {\n path.replaceWith(scope.buildUndefinedNode());\n return;\n }\n\n const constructor = t.memberExpression(\n t.thisExpression(),\n t.identifier(\"constructor\"),\n );\n\n if (func.isClass()) {\n path.replaceWith(constructor);\n return;\n }\n\n if (!node.id) {\n node.id = scope.generateUidIdentifier(\"target\");\n } else {\n // packages/babel-helper-create-class-features-plugin/src/fields.ts#L192 unshadow\n let scope = path.scope;\n const name = node.id.name;\n while (scope !== func.parentPath.scope) {\n if (\n scope.hasOwnBinding(name) &&\n !scope.bindingIdentifierEquals(name, node.id)\n ) {\n scope.rename(name);\n }\n scope = scope.parent;\n }\n }\n\n path.replaceWith(\n t.conditionalExpression(\n t.binaryExpression(\n \"instanceof\",\n t.thisExpression(),\n t.cloneNode(node.id),\n ),\n constructor,\n scope.buildUndefinedNode(),\n ),\n );\n }\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-object-assign\",\n\n visitor: {\n CallExpression: function (path, file) {\n if (path.get(\"callee\").matchesPattern(\"Object.assign\")) {\n path.node.callee = file.addHelper(\"extends\");\n }\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport ReplaceSupers from \"@babel/helper-replace-supers\";\nimport { types as t, type File } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\n\nfunction replacePropertySuper(\n path: NodePath,\n getObjectRef: () => t.Identifier,\n file: File,\n) {\n // @ts-expect-error todo(flow->ts):\n const replaceSupers = new ReplaceSupers({\n getObjectRef: getObjectRef,\n methodPath: path,\n file: file,\n });\n\n replaceSupers.replace();\n}\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-object-super\",\n\n visitor: {\n ObjectExpression(path, state) {\n let objectRef: t.Identifier;\n const getObjectRef = () =>\n (objectRef = objectRef || path.scope.generateUidIdentifier(\"obj\"));\n\n path.get(\"properties\").forEach(propPath => {\n if (!propPath.isMethod()) return;\n\n replacePropertySuper(propPath, getObjectRef, state.file);\n });\n\n if (objectRef) {\n path.scope.push({ id: t.cloneNode(objectRef) });\n path.replaceWith(\n t.assignmentExpression(\"=\", t.cloneNode(objectRef), path.node),\n );\n }\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-object-set-prototype-of-to-assign\",\n\n visitor: {\n CallExpression(path, file) {\n if (path.get(\"callee\").matchesPattern(\"Object.setPrototypeOf\")) {\n path.node.callee = file.addHelper(\"defaults\");\n }\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-property-literals\",\n\n visitor: {\n ObjectProperty: {\n exit({ node }) {\n const key = node.key;\n if (\n !node.computed &&\n t.isIdentifier(key) &&\n !t.isValidES3Identifier(key.name)\n ) {\n // default: \"bar\" -> \"default\": \"bar\"\n node.key = t.stringLiteral(key.name);\n }\n },\n },\n },\n };\n});\n","import { types as t } from \"@babel/core\";\n\ntype DefineMap = {\n _inherits: t.Node[];\n _key: t.Expression;\n get?: t.Expression;\n set?: t.Expression;\n kind: \"get\" | \"set\";\n};\n\nexport type MutatorMap = Record;\n\nexport function pushAccessor(\n mutatorMap: MutatorMap,\n node: t.ObjectMethod & { kind: \"get\" | \"set\"; computed: false },\n) {\n const alias = t.toKeyAlias(node);\n const map = (mutatorMap[alias] ??= {\n _inherits: [],\n _key: node.key,\n } as DefineMap);\n\n map._inherits.push(node);\n\n const value = t.functionExpression(\n null,\n node.params,\n node.body,\n node.generator,\n node.async,\n );\n value.returnType = node.returnType;\n t.inheritsComments(value, node);\n map[node.kind] = value;\n\n return map;\n}\n\nexport function toDefineObject(mutatorMap: any) {\n const objExpr = t.objectExpression([]);\n\n Object.keys(mutatorMap).forEach(function (mutatorMapKey) {\n const map = mutatorMap[mutatorMapKey];\n map.configurable = t.booleanLiteral(true);\n map.enumerable = t.booleanLiteral(true);\n\n const mapNode = t.objectExpression([]);\n\n const propNode = t.objectProperty(map._key, mapNode, map._computed);\n\n Object.keys(map).forEach(function (key) {\n const node = map[key];\n if (key[0] === \"_\") return;\n\n const prop = t.objectProperty(t.identifier(key), node);\n t.inheritsComments(prop, node);\n t.removeComments(node);\n\n mapNode.properties.push(prop);\n });\n\n objExpr.properties.push(propNode);\n });\n\n return objExpr;\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { type MutatorMap, pushAccessor, toDefineObject } from \"./define-map.ts\";\nimport { types as t } from \"@babel/core\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-property-mutators\",\n\n visitor: {\n ObjectExpression(path) {\n const { node } = path;\n let mutatorMap: MutatorMap | undefined;\n const newProperties = node.properties.filter(function (prop) {\n if (\n t.isObjectMethod(prop) &&\n !prop.computed &&\n (prop.kind === \"get\" || prop.kind === \"set\")\n ) {\n pushAccessor(\n (mutatorMap ??= {}),\n prop as t.ObjectMethod & { kind: \"get\" | \"set\"; computed: false },\n );\n return false;\n }\n return true;\n });\n\n if (mutatorMap === undefined) {\n return;\n }\n\n node.properties = newProperties;\n\n path.replaceWith(\n t.callExpression(\n t.memberExpression(\n t.identifier(\"Object\"),\n t.identifier(\"defineProperties\"),\n ),\n [node, toDefineObject(mutatorMap)],\n ),\n );\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t, type File } from \"@babel/core\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n function isProtoKey(node: t.ObjectExpression[\"properties\"][number]) {\n return (\n !t.isSpreadElement(node) &&\n t.isStringLiteral(t.toComputedKey(node, node.key), {\n value: \"__proto__\",\n })\n );\n }\n\n function isProtoAssignmentExpression(\n node: t.Node,\n ): node is t.MemberExpression {\n const left = node;\n return (\n t.isMemberExpression(left) &&\n t.isStringLiteral(t.toComputedKey(left, left.property), {\n value: \"__proto__\",\n })\n );\n }\n\n function buildDefaultsCallExpression(\n expr: t.AssignmentExpression,\n ref: t.MemberExpression[\"object\"],\n file: File,\n ) {\n return t.expressionStatement(\n t.callExpression(file.addHelper(\"defaults\"), [\n // @ts-ignore(Babel 7 vs Babel 8) Fixme: support `super.__proto__ = ...`\n ref,\n expr.right,\n ]),\n );\n }\n\n return {\n name: \"transform-proto-to-assign\",\n\n visitor: {\n AssignmentExpression(path, { file }) {\n if (!isProtoAssignmentExpression(path.node.left)) return;\n\n const nodes = [];\n const left = path.node.left.object;\n const temp = path.scope.maybeGenerateMemoised(left);\n\n if (temp) {\n nodes.push(\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n temp,\n // left must not be Super when `temp` is an identifier\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n left as t.Expression,\n ),\n ),\n );\n }\n nodes.push(\n buildDefaultsCallExpression(\n path.node,\n t.cloneNode(temp || left),\n file,\n ),\n );\n if (temp) nodes.push(t.cloneNode(temp));\n\n path.replaceWithMultiple(nodes);\n },\n\n ExpressionStatement(path, { file }) {\n const expr = path.node.expression;\n if (!t.isAssignmentExpression(expr, { operator: \"=\" })) return;\n\n if (isProtoAssignmentExpression(expr.left)) {\n path.replaceWith(\n buildDefaultsCallExpression(expr, expr.left.object, file),\n );\n }\n },\n\n ObjectExpression(path, { file }) {\n let proto;\n const { node } = path;\n const { properties } = node;\n\n for (let i = 0; i < properties.length; i++) {\n const prop = properties[i];\n if (isProtoKey(prop)) {\n // @ts-expect-error Fixme: we should also handle ObjectMethod with __proto__ key\n proto = prop.value;\n properties.splice(i, 1);\n break;\n }\n }\n\n if (proto) {\n const args = [t.objectExpression([]), proto];\n if (node.properties.length) args.push(node);\n path.replaceWith(t.callExpression(file.addHelper(\"extends\"), args));\n }\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t, template } from \"@babel/core\";\nimport type { Visitor, Scope, NodePath } from \"@babel/traverse\";\n\nexport interface Options {\n allowMutablePropsOnTags?: null | string[];\n}\n\ninterface VisitorState {\n isImmutable: boolean;\n mutablePropsAllowed: boolean;\n jsxScope: Scope;\n targetScope: Scope;\n}\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const { allowMutablePropsOnTags } = options;\n\n if (\n allowMutablePropsOnTags != null &&\n !Array.isArray(allowMutablePropsOnTags)\n ) {\n throw new Error(\n \".allowMutablePropsOnTags must be an array, null, or undefined.\",\n );\n }\n\n // Element -> Target scope\n const HOISTED = new WeakMap();\n\n function declares(node: t.Identifier | t.JSXIdentifier, scope: Scope) {\n if (\n t.isJSXIdentifier(node, { name: \"this\" }) ||\n t.isJSXIdentifier(node, { name: \"arguments\" }) ||\n t.isJSXIdentifier(node, { name: \"super\" }) ||\n t.isJSXIdentifier(node, { name: \"new\" })\n ) {\n const { path } = scope;\n return path.isFunctionParent() && !path.isArrowFunctionExpression();\n }\n\n return scope.hasOwnBinding(node.name);\n }\n\n function isHoistingScope({ path }: Scope) {\n return path.isFunctionParent() || path.isLoop() || path.isProgram();\n }\n\n function getHoistingScope(scope: Scope) {\n while (!isHoistingScope(scope)) scope = scope.parent;\n return scope;\n }\n\n const targetScopeVisitor: Visitor = {\n ReferencedIdentifier(path, state) {\n const { node } = path;\n let { scope } = path;\n\n while (scope !== state.jsxScope) {\n // If a binding is declared in an inner function, it doesn't affect hoisting.\n if (declares(node, scope)) return;\n\n scope = scope.parent;\n }\n\n while (scope) {\n // We cannot hoist outside of the previous hoisting target\n // scope, so we return early and we don't update it.\n if (scope === state.targetScope) return;\n\n // If the scope declares this identifier (or we're at the function\n // providing the lexical env binding), we can't hoist the var any\n // higher.\n if (declares(node, scope)) break;\n\n scope = scope.parent;\n }\n\n state.targetScope = getHoistingScope(scope);\n },\n };\n\n const immutabilityVisitor: Visitor = {\n enter(path, state) {\n const stop = () => {\n state.isImmutable = false;\n path.stop();\n };\n\n const skip = () => {\n path.skip();\n };\n\n if (path.isJSXClosingElement()) {\n skip();\n return;\n }\n\n // Elements with refs are not safe to hoist.\n if (\n path.isJSXIdentifier({ name: \"ref\" }) &&\n path.parentPath.isJSXAttribute({ name: path.node })\n ) {\n stop();\n return;\n }\n\n // Ignore JSX expressions and immutable values.\n if (\n path.isJSXIdentifier() ||\n path.isJSXMemberExpression() ||\n path.isJSXNamespacedName() ||\n path.isImmutable()\n ) {\n return;\n }\n\n // Ignore constant bindings.\n if (path.isIdentifier()) {\n const binding = path.scope.getBinding(path.node.name);\n if (binding && binding.constant) return;\n }\n\n // If we allow mutable props, tags with function expressions can be\n // safely hoisted.\n const { mutablePropsAllowed } = state;\n if (mutablePropsAllowed && path.isFunction()) {\n path.traverse(targetScopeVisitor, state);\n skip();\n return;\n }\n\n if (!path.isPure()) {\n stop();\n return;\n }\n\n // If it's not immutable, it may still be a pure expression, such as string concatenation.\n // It is still safe to hoist that, so long as its result is immutable.\n // If not, it is not safe to replace as mutable values (like objects) could be mutated after render.\n // https://github.com/facebook/react/issues/3226\n const expressionResult = path.evaluate();\n if (expressionResult.confident) {\n // We know the result; check its mutability.\n const { value } = expressionResult;\n if (\n mutablePropsAllowed ||\n value === null ||\n (typeof value !== \"object\" && typeof value !== \"function\")\n ) {\n // It evaluated to an immutable value, so we can hoist it.\n skip();\n return;\n }\n } else if (expressionResult.deopt?.isIdentifier()) {\n // It's safe to hoist here if the deopt reason is an identifier (e.g. func param).\n // The hoister will take care of how high up it can be hoisted.\n return;\n }\n\n stop();\n },\n };\n\n // We cannot use traverse.visitors.merge because it doesn't support\n // immutabilityVisitor's bare `enter` visitor.\n // It's safe to just use ... because the two visitors don't share any key.\n const hoistingVisitor = { ...immutabilityVisitor, ...targetScopeVisitor };\n\n return {\n name: \"transform-react-constant-elements\",\n\n visitor: {\n JSXElement(path) {\n if (HOISTED.has(path.node)) return;\n const name = path.node.openingElement.name;\n\n // This transform takes the option `allowMutablePropsOnTags`, which is an array\n // of JSX tags to allow mutable props (such as objects, functions) on. Use sparingly\n // and only on tags you know will never modify their own props.\n let mutablePropsAllowed = false;\n if (allowMutablePropsOnTags != null) {\n // Get the element's name. If it's a member expression, we use the last part of the path.\n // So the option [\"FormattedMessage\"] would match \"Intl.FormattedMessage\".\n let lastSegment = name;\n while (t.isJSXMemberExpression(lastSegment)) {\n lastSegment = lastSegment.property;\n }\n\n const elementName = lastSegment.name;\n // @ts-expect-error Fixme: allowMutablePropsOnTags should handle JSXNamespacedName\n mutablePropsAllowed = allowMutablePropsOnTags.includes(elementName);\n }\n\n // In order to avoid hoisting unnecessarily, we need to know which is\n // the scope containing the current JSX element. If a parent of the\n // current element has already been hoisted, we can consider its target\n // scope as the base scope for the current element.\n let jsxScope;\n let current: NodePath = path;\n while (!jsxScope && current.parentPath.isJSX()) {\n current = current.parentPath;\n jsxScope = HOISTED.get(current.node);\n }\n jsxScope ??= path.scope;\n // The initial HOISTED is set to jsxScope, s.t.\n // if the element's JSX ancestor has been hoisted, it will be skipped\n HOISTED.set(path.node, jsxScope);\n\n const visitorState: VisitorState = {\n isImmutable: true,\n mutablePropsAllowed,\n jsxScope,\n targetScope: path.scope.getProgramParent(),\n };\n path.traverse(hoistingVisitor, visitorState);\n if (!visitorState.isImmutable) return;\n\n const { targetScope } = visitorState;\n // Only hoist if it would give us an advantage.\n for (let currentScope = jsxScope; ; ) {\n if (targetScope === currentScope) return;\n if (isHoistingScope(currentScope)) break;\n\n currentScope = currentScope.parent;\n if (!currentScope) {\n throw new Error(\n \"Internal @babel/plugin-transform-react-constant-elements error: \" +\n \"targetScope must be an ancestor of jsxScope. \" +\n \"This is a Babel bug, please report it.\",\n );\n }\n }\n\n const id = path.scope.generateUidBasedOnNode(name);\n targetScope.push({ id: t.identifier(id) });\n // If the element is to be hoisted, update HOISTED to be the target scope\n HOISTED.set(path.node, targetScope);\n\n let replacement: t.Expression | t.JSXExpressionContainer = template\n .expression.ast`\n ${t.identifier(id)} || (${t.identifier(id)} = ${path.node})\n `;\n if (\n path.parentPath.isJSXElement() ||\n path.parentPath.isJSXAttribute()\n ) {\n replacement = t.jsxExpressionContainer(replacement);\n }\n\n path.replaceWith(replacement);\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport path from \"path\";\nimport { types as t } from \"@babel/core\";\n\ntype ReactCreateClassCall = t.CallExpression & {\n arguments: [t.ObjectExpression];\n};\n\nexport default declare(api => {\n api.assertVersion(7);\n\n function addDisplayName(id: string, call: ReactCreateClassCall) {\n const props = call.arguments[0].properties;\n let safe = true;\n\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (t.isSpreadElement(prop)) {\n continue;\n }\n const key = t.toComputedKey(prop);\n if (t.isStringLiteral(key, { value: \"displayName\" })) {\n safe = false;\n break;\n }\n }\n\n if (safe) {\n props.unshift(\n t.objectProperty(t.identifier(\"displayName\"), t.stringLiteral(id)),\n );\n }\n }\n\n const isCreateClassCallExpression =\n t.buildMatchMemberExpression(\"React.createClass\");\n const isCreateClassAddon = (callee: t.CallExpression[\"callee\"]) =>\n t.isIdentifier(callee, { name: \"createReactClass\" });\n\n function isCreateClass(node?: t.Node): node is ReactCreateClassCall {\n if (!node || !t.isCallExpression(node)) return false;\n\n // not createReactClass nor React.createClass call member object\n if (\n !isCreateClassCallExpression(node.callee) &&\n !isCreateClassAddon(node.callee)\n ) {\n return false;\n }\n\n // no call arguments\n const args = node.arguments;\n if (args.length !== 1) return false;\n\n // first node arg is not an object\n const first = args[0];\n if (!t.isObjectExpression(first)) return false;\n\n return true;\n }\n\n return {\n name: \"transform-react-display-name\",\n\n visitor: {\n ExportDefaultDeclaration({ node }, state) {\n if (isCreateClass(node.declaration)) {\n const filename = state.filename || \"unknown\";\n\n let displayName = path.basename(filename, path.extname(filename));\n\n // ./{module name}/index.js\n if (displayName === \"index\") {\n displayName = path.basename(path.dirname(filename));\n }\n\n addDisplayName(displayName, node.declaration);\n }\n },\n\n CallExpression(path) {\n const { node } = path;\n if (!isCreateClass(node)) return;\n\n let id: t.LVal | t.Expression | t.PrivateName | null;\n\n // crawl up the ancestry looking for possible candidates for displayName inference\n path.find(function (path) {\n if (path.isAssignmentExpression()) {\n id = path.node.left;\n } else if (path.isObjectProperty()) {\n id = path.node.key;\n } else if (path.isVariableDeclarator()) {\n id = path.node.id;\n } else if (path.isStatement()) {\n // we've hit a statement, we should stop crawling up\n return true;\n }\n\n // we've got an id! no need to continue\n if (id) return true;\n });\n\n // ensure that we have an identifier we can inherit from\n if (!id) return;\n\n // foo.bar -> bar\n if (t.isMemberExpression(id)) {\n id = id.property;\n }\n\n // identifiers are the only thing we can reliably get a name from\n if (t.isIdentifier(id)) {\n addDisplayName(id.name, node);\n }\n },\n },\n };\n});\n","import {\n booleanLiteral,\n callExpression,\n identifier,\n inherits,\n isIdentifier,\n isJSXExpressionContainer,\n isJSXIdentifier,\n isJSXMemberExpression,\n isJSXNamespacedName,\n isJSXSpreadAttribute,\n isObjectExpression,\n isReferenced,\n isStringLiteral,\n isValidIdentifier,\n memberExpression,\n nullLiteral,\n objectExpression,\n objectProperty,\n react,\n spreadElement,\n stringLiteral,\n thisExpression,\n} from \"@babel/types\";\nimport annotateAsPure from \"@babel/helper-annotate-as-pure\";\nimport type { NodePath, Visitor } from \"@babel/traverse\";\nimport type { PluginPass } from \"@babel/core\";\nimport type * as t from \"@babel/types\";\n\ntype ElementState = {\n tagExpr: t.Expression; // tag node,\n tagName: string | undefined | null; // raw string tag name,\n args: Array; // array of call arguments,\n call?: any; // optional call property that can be set to override the call expression returned,\n pure: boolean; // true if the element can be marked with a #__PURE__ annotation\n callee?: any;\n};\n\nexport interface Options {\n filter?: (node: t.Node, pass: PluginPass) => boolean;\n pre?: (state: ElementState, pass: PluginPass) => void;\n post?: (state: ElementState, pass: PluginPass) => void;\n compat?: boolean;\n pure?: string;\n throwIfNamespace?: boolean;\n useSpread?: boolean;\n useBuiltIns?: boolean;\n}\n\nexport default function (opts: Options) {\n const visitor: Visitor> = {};\n\n visitor.JSXNamespacedName = function (path) {\n if (opts.throwIfNamespace) {\n throw path.buildCodeFrameError(\n `Namespace tags are not supported by default. React's JSX doesn't support namespace tags. \\\nYou can set \\`throwIfNamespace: false\\` to bypass this warning.`,\n );\n }\n };\n\n visitor.JSXSpreadChild = function (path) {\n throw path.buildCodeFrameError(\n \"Spread children are not supported in React.\",\n );\n };\n\n visitor.JSXElement = {\n exit(path, state) {\n const callExpr = buildElementCall(path, state);\n if (callExpr) {\n path.replaceWith(inherits(callExpr, path.node));\n }\n },\n };\n\n visitor.JSXFragment = {\n exit(path, state) {\n if (opts.compat) {\n throw path.buildCodeFrameError(\n \"Fragment tags are only supported in React 16 and up.\",\n );\n }\n const callExpr = buildFragmentCall(path, state);\n if (callExpr) {\n path.replaceWith(inherits(callExpr, path.node));\n }\n },\n };\n\n return visitor;\n\n function convertJSXIdentifier(\n node: t.JSXIdentifier | t.JSXMemberExpression | t.JSXNamespacedName,\n parent: t.JSXOpeningElement | t.JSXMemberExpression,\n ): t.ThisExpression | t.StringLiteral | t.MemberExpression | t.Identifier {\n if (isJSXIdentifier(node)) {\n if (node.name === \"this\" && isReferenced(node, parent)) {\n return thisExpression();\n } else if (isValidIdentifier(node.name, false)) {\n // @ts-expect-error casting JSXIdentifier to Identifier\n node.type = \"Identifier\";\n return node as unknown as t.Identifier;\n } else {\n return stringLiteral(node.name);\n }\n } else if (isJSXMemberExpression(node)) {\n return memberExpression(\n convertJSXIdentifier(node.object, node),\n convertJSXIdentifier(node.property, node),\n );\n } else if (isJSXNamespacedName(node)) {\n /**\n * If there is flag \"throwIfNamespace\"\n * print XMLNamespace like string literal\n */\n return stringLiteral(`${node.namespace.name}:${node.name.name}`);\n }\n\n return node;\n }\n\n function convertAttributeValue(\n node: t.JSXAttribute[\"value\"] | t.BooleanLiteral,\n ) {\n if (isJSXExpressionContainer(node)) {\n return node.expression;\n } else {\n return node;\n }\n }\n\n function convertAttribute(node: t.JSXAttribute | t.JSXSpreadAttribute) {\n if (isJSXSpreadAttribute(node)) {\n return spreadElement(node.argument);\n }\n const value = convertAttributeValue(node.value || booleanLiteral(true));\n\n if (isStringLiteral(value) && !isJSXExpressionContainer(node.value)) {\n value.value = value.value.replace(/\\n\\s+/g, \" \");\n\n // \"raw\" JSXText should not be used from a StringLiteral because it needs to be escaped.\n delete value.extra?.raw;\n }\n\n if (isJSXNamespacedName(node.name)) {\n // @ts-expect-error Mutating AST nodes\n node.name = stringLiteral(\n node.name.namespace.name + \":\" + node.name.name.name,\n );\n } else if (isValidIdentifier(node.name.name, false)) {\n // @ts-expect-error Mutating AST nodes\n node.name.type = \"Identifier\";\n } else {\n // @ts-expect-error Mutating AST nodes\n node.name = stringLiteral(node.name.name);\n }\n\n return inherits(\n objectProperty(\n // @ts-expect-error Mutating AST nodes\n node.name,\n value,\n ),\n node,\n );\n }\n\n function buildElementCall(path: NodePath, pass: PluginPass) {\n if (opts.filter && !opts.filter(path.node, pass)) return;\n\n const openingPath = path.get(\"openingElement\");\n // @ts-expect-error mutating AST nodes\n path.node.children = react.buildChildren(path.node);\n\n const tagExpr = convertJSXIdentifier(\n openingPath.node.name,\n openingPath.node,\n );\n const args: (t.Expression | t.JSXElement | t.JSXFragment)[] = [];\n\n let tagName: string;\n if (isIdentifier(tagExpr)) {\n tagName = tagExpr.name;\n } else if (isStringLiteral(tagExpr)) {\n tagName = tagExpr.value;\n }\n\n const state: ElementState = {\n tagExpr: tagExpr,\n tagName: tagName,\n args: args,\n pure: false,\n };\n\n if (opts.pre) {\n opts.pre(state, pass);\n }\n\n const attribs = openingPath.node.attributes;\n let convertedAttributes: t.Expression;\n if (attribs.length) {\n if (process.env.BABEL_8_BREAKING) {\n convertedAttributes = objectExpression(attribs.map(convertAttribute));\n } else {\n convertedAttributes = buildOpeningElementAttributes(attribs, pass);\n }\n } else {\n convertedAttributes = nullLiteral();\n }\n\n args.push(\n convertedAttributes,\n // @ts-expect-error JSXExpressionContainer has been transformed by convertAttributeValue\n ...path.node.children,\n );\n\n if (opts.post) {\n opts.post(state, pass);\n }\n\n const call = state.call || callExpression(state.callee, args);\n if (state.pure) annotateAsPure(call);\n\n return call;\n }\n\n function pushProps(\n _props: (t.ObjectProperty | t.SpreadElement)[],\n objs: t.Expression[],\n ) {\n if (!_props.length) return _props;\n\n objs.push(objectExpression(_props));\n return [];\n }\n\n /**\n * The logic for this is quite terse. It's because we need to\n * support spread elements. We loop over all attributes,\n * breaking on spreads, we then push a new object containing\n * all prior attributes to an array for later processing.\n */\n\n function buildOpeningElementAttributes(\n attribs: (t.JSXAttribute | t.JSXSpreadAttribute)[],\n pass: PluginPass,\n ): t.Expression {\n let _props: (t.ObjectProperty | t.SpreadElement)[] = [];\n const objs: t.Expression[] = [];\n\n const { useSpread = false } = pass.opts;\n if (typeof useSpread !== \"boolean\") {\n throw new Error(\n \"transform-react-jsx currently only accepts a boolean option for \" +\n \"useSpread (defaults to false)\",\n );\n }\n\n const useBuiltIns = pass.opts.useBuiltIns || false;\n if (typeof useBuiltIns !== \"boolean\") {\n throw new Error(\n \"transform-react-jsx currently only accepts a boolean option for \" +\n \"useBuiltIns (defaults to false)\",\n );\n }\n\n if (useSpread && useBuiltIns) {\n throw new Error(\n \"transform-react-jsx currently only accepts useBuiltIns or useSpread \" +\n \"but not both\",\n );\n }\n\n if (useSpread) {\n const props = attribs.map(convertAttribute);\n return objectExpression(props);\n }\n\n while (attribs.length) {\n const prop = attribs.shift();\n if (isJSXSpreadAttribute(prop)) {\n _props = pushProps(_props, objs);\n objs.push(prop.argument);\n } else {\n _props.push(convertAttribute(prop));\n }\n }\n\n pushProps(_props, objs);\n let convertedAttribs: t.Expression;\n\n if (objs.length === 1) {\n // only one object\n convertedAttribs = objs[0];\n } else {\n // looks like we have multiple objects\n if (!isObjectExpression(objs[0])) {\n objs.unshift(objectExpression([]));\n }\n\n const helper = useBuiltIns\n ? memberExpression(identifier(\"Object\"), identifier(\"assign\"))\n : pass.addHelper(\"extends\");\n\n // spread it\n convertedAttribs = callExpression(helper, objs);\n }\n\n return convertedAttribs;\n }\n\n function buildFragmentCall(path: NodePath, pass: PluginPass) {\n if (opts.filter && !opts.filter(path.node, pass)) return;\n\n // @ts-expect-error mutating AST nodes\n path.node.children = react.buildChildren(path.node);\n\n const args: t.Expression[] = [];\n const tagName: null = null;\n const tagExpr = pass.get(\"jsxFragIdentifier\")();\n\n const state: ElementState = {\n tagExpr: tagExpr,\n tagName: tagName,\n args: args,\n pure: false,\n };\n\n if (opts.pre) {\n opts.pre(state, pass);\n }\n\n // no attributes are allowed with <> syntax\n args.push(\n nullLiteral(),\n // @ts-expect-error JSXExpressionContainer has been transformed by convertAttributeValue\n ...path.node.children,\n );\n\n if (opts.post) {\n opts.post(state, pass);\n }\n\n pass.set(\"usedFragment\", true);\n\n const call = state.call || callExpression(state.callee, args);\n if (state.pure) annotateAsPure(call);\n\n return call;\n }\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport helper from \"@babel/helper-builder-react-jsx\";\nimport { types as t } from \"@babel/core\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n function hasRefOrSpread(attrs: t.JSXOpeningElement[\"attributes\"]) {\n for (let i = 0; i < attrs.length; i++) {\n const attr = attrs[i];\n if (t.isJSXSpreadAttribute(attr)) return true;\n if (isJSXAttributeOfName(attr, \"ref\")) return true;\n }\n return false;\n }\n\n function isJSXAttributeOfName(attr: t.JSXAttribute, name: string) {\n return (\n t.isJSXAttribute(attr) && t.isJSXIdentifier(attr.name, { name: name })\n );\n }\n\n const visitor = helper({\n filter(node) {\n return (\n node.type === \"JSXElement\" &&\n !hasRefOrSpread(node.openingElement.attributes)\n );\n },\n pre(state) {\n const tagName = state.tagName;\n const args = state.args;\n if (t.react.isCompatTag(tagName)) {\n args.push(t.stringLiteral(tagName));\n } else {\n args.push(state.tagExpr);\n }\n },\n post(state, pass) {\n state.callee = pass.addHelper(\"jsx\");\n // NOTE: The arguments passed to the \"jsx\" helper are:\n // (element, props, key, ...children) or (element, props)\n // The argument generated by the helper are:\n // (element, { ...props, key }, ...children)\n\n const props = state.args[1];\n let hasKey = false;\n if (t.isObjectExpression(props)) {\n const keyIndex = props.properties.findIndex(prop =>\n // @ts-expect-error todo(flow->ts) key does not exist on SpreadElement\n t.isIdentifier(prop.key, { name: \"key\" }),\n );\n if (keyIndex > -1) {\n // @ts-expect-error todo(flow->ts) value does not exist on ObjectMethod\n state.args.splice(2, 0, props.properties[keyIndex].value);\n props.properties.splice(keyIndex, 1);\n hasKey = true;\n }\n } else if (t.isNullLiteral(props)) {\n state.args.splice(1, 1, t.objectExpression([]));\n }\n\n if (!hasKey && state.args.length > 2) {\n state.args.splice(2, 0, t.unaryExpression(\"void\", t.numericLiteral(0)));\n }\n\n state.pure = true;\n },\n });\n return {\n name: \"transform-react-inline-elements\",\n visitor,\n };\n});\n","import jsx from \"@babel/plugin-syntax-jsx\";\nimport { declare } from \"@babel/helper-plugin-utils\";\nimport { template, types as t } from \"@babel/core\";\nimport type { PluginPass } from \"@babel/core\";\nimport type { NodePath, Scope, Visitor } from \"@babel/traverse\";\nimport { addNamed, addNamespace, isModule } from \"@babel/helper-module-imports\";\nimport annotateAsPure from \"@babel/helper-annotate-as-pure\";\nimport type {\n CallExpression,\n Class,\n Expression,\n Identifier,\n JSXAttribute,\n JSXElement,\n JSXFragment,\n JSXOpeningElement,\n JSXSpreadAttribute,\n MemberExpression,\n ObjectExpression,\n Program,\n} from \"@babel/types\";\n\nconst DEFAULT = {\n importSource: \"react\",\n runtime: \"automatic\",\n pragma: \"React.createElement\",\n pragmaFrag: \"React.Fragment\",\n};\n\nconst JSX_SOURCE_ANNOTATION_REGEX =\n /^\\s*\\*?\\s*@jsxImportSource\\s+([^\\s]+)\\s*$/m;\nconst JSX_RUNTIME_ANNOTATION_REGEX = /^\\s*\\*?\\s*@jsxRuntime\\s+([^\\s]+)\\s*$/m;\n\nconst JSX_ANNOTATION_REGEX = /^\\s*\\*?\\s*@jsx\\s+([^\\s]+)\\s*$/m;\nconst JSX_FRAG_ANNOTATION_REGEX = /^\\s*\\*?\\s*@jsxFrag\\s+([^\\s]+)\\s*$/m;\n\nconst get = (pass: PluginPass, name: string) =>\n pass.get(`@babel/plugin-react-jsx/${name}`);\nconst set = (pass: PluginPass, name: string, v: any) =>\n pass.set(`@babel/plugin-react-jsx/${name}`, v);\n\nfunction hasProto(node: t.ObjectExpression) {\n return node.properties.some(\n value =>\n t.isObjectProperty(value, { computed: false, shorthand: false }) &&\n (t.isIdentifier(value.key, { name: \"__proto__\" }) ||\n t.isStringLiteral(value.key, { value: \"__proto__\" })),\n );\n}\n\nexport interface Options {\n filter?: (node: t.Node, pass: PluginPass) => boolean;\n importSource?: string;\n pragma?: string;\n pragmaFrag?: string;\n pure?: string;\n runtime?: \"automatic\" | \"classic\";\n throwIfNamespace?: boolean;\n useBuiltIns: boolean;\n useSpread?: boolean;\n}\nexport default function createPlugin({\n name,\n development,\n}: {\n name: string;\n development: boolean;\n}) {\n return declare((_, options: Options) => {\n const {\n pure: PURE_ANNOTATION,\n\n throwIfNamespace = true,\n\n filter,\n\n runtime: RUNTIME_DEFAULT = process.env.BABEL_8_BREAKING\n ? \"automatic\"\n : development\n ? \"automatic\"\n : \"classic\",\n\n importSource: IMPORT_SOURCE_DEFAULT = DEFAULT.importSource,\n pragma: PRAGMA_DEFAULT = DEFAULT.pragma,\n pragmaFrag: PRAGMA_FRAG_DEFAULT = DEFAULT.pragmaFrag,\n } = options;\n\n if (process.env.BABEL_8_BREAKING) {\n if (\"useSpread\" in options) {\n throw new Error(\n '@babel/plugin-transform-react-jsx: Since Babel 8, an inline object with spread elements is always used, and the \"useSpread\" option is no longer available. Please remove it from your config.',\n );\n }\n\n if (\"useBuiltIns\" in options) {\n const useBuiltInsFormatted = JSON.stringify(options.useBuiltIns);\n throw new Error(\n `@babel/plugin-transform-react-jsx: Since \"useBuiltIns\" is removed in Babel 8, you can remove it from the config.\n- Babel 8 now transforms JSX spread to object spread. If you need to transpile object spread with\n\\`useBuiltIns: ${useBuiltInsFormatted}\\`, you can use the following config\n{\n \"plugins\": [\n \"@babel/plugin-transform-react-jsx\"\n [\"@babel/plugin-transform-object-rest-spread\", { \"loose\": true, \"useBuiltIns\": ${useBuiltInsFormatted} }]\n ]\n}`,\n );\n }\n\n if (filter != null && RUNTIME_DEFAULT === \"automatic\") {\n throw new Error(\n '@babel/plugin-transform-react-jsx: \"filter\" option can not be used with automatic runtime. If you are upgrading from Babel 7, please specify `runtime: \"classic\"`.',\n );\n }\n } else {\n // eslint-disable-next-line no-var\n var { useSpread = false, useBuiltIns = false } = options;\n\n if (RUNTIME_DEFAULT === \"classic\") {\n if (typeof useSpread !== \"boolean\") {\n throw new Error(\n \"transform-react-jsx currently only accepts a boolean option for \" +\n \"useSpread (defaults to false)\",\n );\n }\n\n if (typeof useBuiltIns !== \"boolean\") {\n throw new Error(\n \"transform-react-jsx currently only accepts a boolean option for \" +\n \"useBuiltIns (defaults to false)\",\n );\n }\n\n if (useSpread && useBuiltIns) {\n throw new Error(\n \"transform-react-jsx currently only accepts useBuiltIns or useSpread \" +\n \"but not both\",\n );\n }\n }\n }\n\n const injectMetaPropertiesVisitor: Visitor = {\n JSXOpeningElement(path, state) {\n const attributes = [];\n if (isThisAllowed(path.scope)) {\n attributes.push(\n t.jsxAttribute(\n t.jsxIdentifier(\"__self\"),\n t.jsxExpressionContainer(t.thisExpression()),\n ),\n );\n }\n attributes.push(\n t.jsxAttribute(\n t.jsxIdentifier(\"__source\"),\n t.jsxExpressionContainer(makeSource(path, state)),\n ),\n );\n path.pushContainer(\"attributes\", attributes);\n },\n };\n\n return {\n name,\n inherits: jsx,\n visitor: {\n JSXNamespacedName(path) {\n if (throwIfNamespace) {\n throw path.buildCodeFrameError(\n `Namespace tags are not supported by default. React's JSX doesn't support namespace tags. \\\nYou can set \\`throwIfNamespace: false\\` to bypass this warning.`,\n );\n }\n },\n\n JSXSpreadChild(path) {\n throw path.buildCodeFrameError(\n \"Spread children are not supported in React.\",\n );\n },\n\n Program: {\n enter(path, state) {\n const { file } = state;\n let runtime: string = RUNTIME_DEFAULT;\n\n let source: string = IMPORT_SOURCE_DEFAULT;\n let pragma: string = PRAGMA_DEFAULT;\n let pragmaFrag: string = PRAGMA_FRAG_DEFAULT;\n\n let sourceSet = !!options.importSource;\n let pragmaSet = !!options.pragma;\n let pragmaFragSet = !!options.pragmaFrag;\n\n if (file.ast.comments) {\n for (const comment of file.ast.comments) {\n const sourceMatches = JSX_SOURCE_ANNOTATION_REGEX.exec(\n comment.value,\n );\n if (sourceMatches) {\n source = sourceMatches[1];\n sourceSet = true;\n }\n\n const runtimeMatches = JSX_RUNTIME_ANNOTATION_REGEX.exec(\n comment.value,\n );\n if (runtimeMatches) {\n runtime = runtimeMatches[1];\n }\n\n const jsxMatches = JSX_ANNOTATION_REGEX.exec(comment.value);\n if (jsxMatches) {\n pragma = jsxMatches[1];\n pragmaSet = true;\n }\n const jsxFragMatches = JSX_FRAG_ANNOTATION_REGEX.exec(\n comment.value,\n );\n if (jsxFragMatches) {\n pragmaFrag = jsxFragMatches[1];\n pragmaFragSet = true;\n }\n }\n }\n\n set(state, \"runtime\", runtime);\n if (runtime === \"classic\") {\n if (sourceSet) {\n throw path.buildCodeFrameError(\n `importSource cannot be set when runtime is classic.`,\n );\n }\n\n const createElement = toMemberExpression(pragma);\n const fragment = toMemberExpression(pragmaFrag);\n\n set(state, \"id/createElement\", () => t.cloneNode(createElement));\n set(state, \"id/fragment\", () => t.cloneNode(fragment));\n\n set(state, \"defaultPure\", pragma === DEFAULT.pragma);\n } else if (runtime === \"automatic\") {\n if (pragmaSet || pragmaFragSet) {\n throw path.buildCodeFrameError(\n `pragma and pragmaFrag cannot be set when runtime is automatic.`,\n );\n }\n\n const define = (name: string, id: string) =>\n set(state, name, createImportLazily(state, path, id, source));\n\n define(\"id/jsx\", development ? \"jsxDEV\" : \"jsx\");\n define(\"id/jsxs\", development ? \"jsxDEV\" : \"jsxs\");\n define(\"id/createElement\", \"createElement\");\n define(\"id/fragment\", \"Fragment\");\n\n set(state, \"defaultPure\", source === DEFAULT.importSource);\n } else {\n throw path.buildCodeFrameError(\n `Runtime must be either \"classic\" or \"automatic\".`,\n );\n }\n\n if (development) {\n path.traverse(injectMetaPropertiesVisitor, state);\n }\n },\n\n // TODO(Babel 8): Decide if this should be removed or brought back.\n // see: https://github.com/babel/babel/pull/12253#discussion_r513086528\n //\n // exit(path, state) {\n // if (\n // get(state, \"runtime\") === \"classic\" &&\n // get(state, \"pragmaSet\") &&\n // get(state, \"usedFragment\") &&\n // !get(state, \"pragmaFragSet\")\n // ) {\n // throw new Error(\n // \"transform-react-jsx: pragma has been set but \" +\n // \"pragmaFrag has not been set\",\n // );\n // }\n // },\n },\n\n JSXFragment: {\n exit(path, file) {\n let callExpr;\n if (get(file, \"runtime\") === \"classic\") {\n callExpr = buildCreateElementFragmentCall(path, file);\n } else {\n callExpr = buildJSXFragmentCall(path, file);\n }\n\n path.replaceWith(t.inherits(callExpr, path.node));\n },\n },\n\n JSXElement: {\n exit(path, file) {\n let callExpr;\n if (\n get(file, \"runtime\") === \"classic\" ||\n shouldUseCreateElement(path)\n ) {\n callExpr = buildCreateElementCall(path, file);\n } else {\n callExpr = buildJSXElementCall(path, file);\n }\n\n path.replaceWith(t.inherits(callExpr, path.node));\n },\n },\n\n JSXAttribute(path) {\n if (t.isJSXElement(path.node.value)) {\n path.node.value = t.jsxExpressionContainer(path.node.value);\n }\n },\n },\n };\n\n // Returns whether the class has specified a superclass.\n function isDerivedClass(classPath: NodePath) {\n return classPath.node.superClass !== null;\n }\n\n // Returns whether `this` is allowed at given scope.\n function isThisAllowed(scope: Scope) {\n // This specifically skips arrow functions as they do not rewrite `this`.\n do {\n const { path } = scope;\n if (path.isFunctionParent() && !path.isArrowFunctionExpression()) {\n if (!path.isMethod()) {\n // If the closest parent is a regular function, `this` will be rebound, therefore it is fine to use `this`.\n return true;\n }\n // Current node is within a method, so we need to check if the method is a constructor.\n if (path.node.kind !== \"constructor\") {\n // We are not in a constructor, therefore it is always fine to use `this`.\n return true;\n }\n // Now we are in a constructor. If it is a derived class, we do not reference `this`.\n return !isDerivedClass(path.parentPath.parentPath as NodePath);\n }\n if (path.isTSModuleBlock()) {\n // If the closest parent is a TS Module block, `this` will not be allowed.\n return false;\n }\n } while ((scope = scope.parent));\n // We are not in a method or function. It is fine to use `this`.\n return true;\n }\n\n function call(\n pass: PluginPass,\n name: string,\n args: CallExpression[\"arguments\"],\n ) {\n const node = t.callExpression(get(pass, `id/${name}`)(), args);\n if (PURE_ANNOTATION ?? get(pass, \"defaultPure\")) annotateAsPure(node);\n return node;\n }\n\n // We want to use React.createElement, even in the case of\n // jsx, for
to distinguish it\n // from
. This is an intermediary\n // step while we deprecate key spread from props. Afterwards,\n // we will stop using createElement in the transform.\n function shouldUseCreateElement(path: NodePath) {\n const openingPath = path.get(\"openingElement\");\n const attributes = openingPath.node.attributes;\n\n let seenPropsSpread = false;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes[i];\n if (\n seenPropsSpread &&\n t.isJSXAttribute(attr) &&\n attr.name.name === \"key\"\n ) {\n return true;\n } else if (t.isJSXSpreadAttribute(attr)) {\n seenPropsSpread = true;\n }\n }\n return false;\n }\n\n function convertJSXIdentifier(\n node: t.JSXIdentifier | t.JSXMemberExpression | t.JSXNamespacedName,\n parent: t.JSXOpeningElement | t.JSXMemberExpression,\n ): t.ThisExpression | t.StringLiteral | t.MemberExpression | t.Identifier {\n if (t.isJSXIdentifier(node)) {\n if (node.name === \"this\" && t.isReferenced(node, parent)) {\n return t.thisExpression();\n } else if (t.isValidIdentifier(node.name, false)) {\n // @ts-expect-error cast AST type to Identifier\n node.type = \"Identifier\";\n return node as unknown as t.Identifier;\n } else {\n return t.stringLiteral(node.name);\n }\n } else if (t.isJSXMemberExpression(node)) {\n return t.memberExpression(\n convertJSXIdentifier(node.object, node),\n convertJSXIdentifier(node.property, node),\n );\n } else if (t.isJSXNamespacedName(node)) {\n /**\n * If the flag \"throwIfNamespace\" is false\n * print XMLNamespace like string literal\n */\n return t.stringLiteral(`${node.namespace.name}:${node.name.name}`);\n }\n\n // todo: this branch should be unreachable\n return node;\n }\n\n function convertAttributeValue(\n node: t.JSXAttribute[\"value\"] | t.BooleanLiteral,\n ) {\n if (t.isJSXExpressionContainer(node)) {\n return node.expression;\n } else {\n return node;\n }\n }\n\n function accumulateAttribute(\n array: ObjectExpression[\"properties\"],\n attribute: NodePath,\n ) {\n if (t.isJSXSpreadAttribute(attribute.node)) {\n const arg = attribute.node.argument;\n // Collect properties into props array if spreading object expression\n if (t.isObjectExpression(arg) && !hasProto(arg)) {\n array.push(...arg.properties);\n } else {\n array.push(t.spreadElement(arg));\n }\n return array;\n }\n\n const value = convertAttributeValue(\n attribute.node.name.name !== \"key\"\n ? attribute.node.value || t.booleanLiteral(true)\n : attribute.node.value,\n );\n\n if (attribute.node.name.name === \"key\" && value === null) {\n throw attribute.buildCodeFrameError(\n 'Please provide an explicit key value. Using \"key\" as a shorthand for \"key={true}\" is not allowed.',\n );\n }\n\n if (\n t.isStringLiteral(value) &&\n !t.isJSXExpressionContainer(attribute.node.value)\n ) {\n value.value = value.value.replace(/\\n\\s+/g, \" \");\n\n // \"raw\" JSXText should not be used from a StringLiteral because it needs to be escaped.\n delete value.extra?.raw;\n }\n\n if (t.isJSXNamespacedName(attribute.node.name)) {\n // @ts-expect-error mutating AST\n attribute.node.name = t.stringLiteral(\n attribute.node.name.namespace.name +\n \":\" +\n attribute.node.name.name.name,\n );\n } else if (t.isValidIdentifier(attribute.node.name.name, false)) {\n // @ts-expect-error mutating AST\n attribute.node.name.type = \"Identifier\";\n } else {\n // @ts-expect-error mutating AST\n attribute.node.name = t.stringLiteral(attribute.node.name.name);\n }\n\n array.push(\n t.inherits(\n t.objectProperty(\n // @ts-expect-error The attribute.node.name is an Identifier now\n attribute.node.name,\n value,\n ),\n attribute.node,\n ),\n );\n return array;\n }\n\n function buildChildrenProperty(children: Expression[]) {\n let childrenNode;\n if (children.length === 1) {\n childrenNode = children[0];\n } else if (children.length > 1) {\n childrenNode = t.arrayExpression(children);\n } else {\n return undefined;\n }\n\n return t.objectProperty(t.identifier(\"children\"), childrenNode);\n }\n\n // Builds JSX into:\n // Production: React.jsx(type, arguments, key)\n // Development: React.jsxDEV(type, arguments, key, isStaticChildren, source, self)\n function buildJSXElementCall(path: NodePath, file: PluginPass) {\n const openingPath = path.get(\"openingElement\");\n const args: t.Expression[] = [getTag(openingPath)];\n\n const attribsArray = [];\n const extracted = Object.create(null);\n\n // for React.jsx, key, __source (dev), and __self (dev) is passed in as\n // a separate argument rather than in the args object. We go through the\n // props and filter out these three keywords so we can pass them in\n // as separate arguments later\n for (const attr of openingPath.get(\"attributes\")) {\n if (attr.isJSXAttribute() && t.isJSXIdentifier(attr.node.name)) {\n const { name } = attr.node.name;\n switch (name) {\n case \"__source\":\n case \"__self\":\n if (extracted[name]) throw sourceSelfError(path, name);\n /* falls through */\n case \"key\": {\n const keyValue = convertAttributeValue(attr.node.value);\n if (keyValue === null) {\n throw attr.buildCodeFrameError(\n 'Please provide an explicit key value. Using \"key\" as a shorthand for \"key={true}\" is not allowed.',\n );\n }\n\n extracted[name] = keyValue;\n break;\n }\n default:\n attribsArray.push(attr);\n }\n } else {\n attribsArray.push(attr);\n }\n }\n\n const children = t.react.buildChildren(path.node);\n\n let attribs: t.ObjectExpression;\n\n if (attribsArray.length || children.length) {\n attribs = buildJSXOpeningElementAttributes(\n attribsArray,\n //@ts-expect-error The children here contains JSXSpreadChild,\n // which will be thrown later\n children,\n );\n } else {\n // attributes should never be null\n attribs = t.objectExpression([]);\n }\n\n args.push(attribs);\n\n if (development) {\n // isStaticChildren, __source, and __self are only used in development\n // automatically include __source and __self in this plugin\n // so we can eliminate the need for separate Babel plugins in Babel 8\n args.push(\n extracted.key ?? path.scope.buildUndefinedNode(),\n t.booleanLiteral(children.length > 1),\n );\n if (extracted.__source) {\n args.push(extracted.__source);\n if (extracted.__self) args.push(extracted.__self);\n } else if (extracted.__self) {\n args.push(path.scope.buildUndefinedNode(), extracted.__self);\n }\n } else if (extracted.key !== undefined) {\n args.push(extracted.key);\n }\n\n return call(file, children.length > 1 ? \"jsxs\" : \"jsx\", args);\n }\n\n // Builds props for React.jsx. This function adds children into the props\n // and ensures that props is always an object\n function buildJSXOpeningElementAttributes(\n attribs: NodePath[],\n children: Expression[],\n ) {\n const props = attribs.reduce(accumulateAttribute, []);\n\n // In React.jsx, children is no longer a separate argument, but passed in\n // through the argument object\n if (children?.length > 0) {\n props.push(buildChildrenProperty(children));\n }\n\n return t.objectExpression(props);\n }\n\n // Builds JSX Fragment <> into\n // Production: React.jsx(type, arguments)\n // Development: React.jsxDEV(type, { children })\n function buildJSXFragmentCall(\n path: NodePath,\n file: PluginPass,\n ) {\n const args = [get(file, \"id/fragment\")()];\n\n const children = t.react.buildChildren(path.node);\n\n args.push(\n t.objectExpression(\n children.length > 0\n ? [\n buildChildrenProperty(\n //@ts-expect-error The children here contains JSXSpreadChild,\n // which will be thrown later\n children,\n ),\n ]\n : [],\n ),\n );\n\n if (development) {\n args.push(\n path.scope.buildUndefinedNode(),\n t.booleanLiteral(children.length > 1),\n );\n }\n\n return call(file, children.length > 1 ? \"jsxs\" : \"jsx\", args);\n }\n\n // Builds JSX Fragment <> into\n // React.createElement(React.Fragment, null, ...children)\n function buildCreateElementFragmentCall(\n path: NodePath,\n file: PluginPass,\n ) {\n if (filter && !filter(path.node, file)) return;\n\n return call(file, \"createElement\", [\n get(file, \"id/fragment\")(),\n t.nullLiteral(),\n ...t.react.buildChildren(path.node),\n ]);\n }\n\n // Builds JSX into:\n // Production: React.createElement(type, arguments, children)\n // Development: React.createElement(type, arguments, children, source, self)\n function buildCreateElementCall(\n path: NodePath,\n file: PluginPass,\n ) {\n const openingPath = path.get(\"openingElement\");\n\n return call(file, \"createElement\", [\n getTag(openingPath),\n buildCreateElementOpeningElementAttributes(\n file,\n path,\n openingPath.get(\"attributes\"),\n ),\n // @ts-expect-error JSXSpreadChild has been transformed in convertAttributeValue\n ...t.react.buildChildren(path.node),\n ]);\n }\n\n function getTag(openingPath: NodePath) {\n const tagExpr = convertJSXIdentifier(\n openingPath.node.name,\n openingPath.node,\n );\n\n let tagName: string;\n if (t.isIdentifier(tagExpr)) {\n tagName = tagExpr.name;\n } else if (t.isStringLiteral(tagExpr)) {\n tagName = tagExpr.value;\n }\n\n if (t.react.isCompatTag(tagName)) {\n return t.stringLiteral(tagName);\n } else {\n return tagExpr;\n }\n }\n\n /**\n * The logic for this is quite terse. It's because we need to\n * support spread elements. We loop over all attributes,\n * breaking on spreads, we then push a new object containing\n * all prior attributes to an array for later processing.\n */\n function buildCreateElementOpeningElementAttributes(\n file: PluginPass,\n path: NodePath,\n attribs: NodePath[],\n ) {\n const runtime = get(file, \"runtime\");\n if (!process.env.BABEL_8_BREAKING) {\n if (runtime !== \"automatic\") {\n const objs = [];\n const props = attribs.reduce(accumulateAttribute, []);\n\n if (!useSpread) {\n // Convert syntax to use multiple objects instead of spread\n let start = 0;\n props.forEach((prop, i) => {\n if (t.isSpreadElement(prop)) {\n if (i > start) {\n objs.push(t.objectExpression(props.slice(start, i)));\n }\n objs.push(prop.argument);\n start = i + 1;\n }\n });\n if (props.length > start) {\n objs.push(t.objectExpression(props.slice(start)));\n }\n } else if (props.length) {\n objs.push(t.objectExpression(props));\n }\n\n if (!objs.length) {\n return t.nullLiteral();\n }\n\n if (objs.length === 1) {\n if (\n !(\n t.isSpreadElement(props[0]) &&\n // If an object expression is spread element's argument\n // it is very likely to contain __proto__ and we should stop\n // optimizing spread element\n t.isObjectExpression(props[0].argument)\n )\n ) {\n return objs[0];\n }\n }\n\n // looks like we have multiple objects\n if (!t.isObjectExpression(objs[0])) {\n objs.unshift(t.objectExpression([]));\n }\n\n const helper = useBuiltIns\n ? t.memberExpression(t.identifier(\"Object\"), t.identifier(\"assign\"))\n : file.addHelper(\"extends\");\n\n // spread it\n return t.callExpression(helper, objs);\n }\n }\n\n const props: ObjectExpression[\"properties\"] = [];\n const found = Object.create(null);\n\n for (const attr of attribs) {\n const { node } = attr;\n const name =\n t.isJSXAttribute(node) &&\n t.isJSXIdentifier(node.name) &&\n node.name.name;\n\n if (\n runtime === \"automatic\" &&\n (name === \"__source\" || name === \"__self\")\n ) {\n if (found[name]) throw sourceSelfError(path, name);\n found[name] = true;\n }\n\n accumulateAttribute(props, attr);\n }\n\n return props.length === 1 &&\n t.isSpreadElement(props[0]) &&\n // If an object expression is spread element's argument\n // it is very likely to contain __proto__ and we should stop\n // optimizing spread element\n !t.isObjectExpression(props[0].argument)\n ? props[0].argument\n : props.length > 0\n ? t.objectExpression(props)\n : t.nullLiteral();\n }\n });\n\n function getSource(source: string, importName: string) {\n switch (importName) {\n case \"Fragment\":\n return `${source}/${development ? \"jsx-dev-runtime\" : \"jsx-runtime\"}`;\n case \"jsxDEV\":\n return `${source}/jsx-dev-runtime`;\n case \"jsx\":\n case \"jsxs\":\n return `${source}/jsx-runtime`;\n case \"createElement\":\n return source;\n }\n }\n\n function createImportLazily(\n pass: PluginPass,\n path: NodePath,\n importName: string,\n source: string,\n ): () => Identifier | MemberExpression {\n return () => {\n const actualSource = getSource(source, importName);\n if (isModule(path)) {\n let reference = get(pass, `imports/${importName}`);\n if (reference) return t.cloneNode(reference);\n\n reference = addNamed(path, importName, actualSource, {\n importedInterop: \"uncompiled\",\n importPosition: \"after\",\n });\n set(pass, `imports/${importName}`, reference);\n\n return reference;\n } else {\n let reference = get(pass, `requires/${actualSource}`);\n if (reference) {\n reference = t.cloneNode(reference);\n } else {\n reference = addNamespace(path, actualSource, {\n importedInterop: \"uncompiled\",\n });\n set(pass, `requires/${actualSource}`, reference);\n }\n\n return t.memberExpression(reference, t.identifier(importName));\n }\n };\n }\n}\n\nfunction toMemberExpression(id: string): Identifier | MemberExpression {\n return (\n id\n .split(\".\")\n .map(name => t.identifier(name))\n // @ts-expect-error - The Array#reduce does not have a signature\n // where the type of initial value differs from callback return type\n .reduce((object, property) => t.memberExpression(object, property))\n );\n}\n\nfunction makeSource(path: NodePath, state: PluginPass) {\n const location = path.node.loc;\n if (!location) {\n // the element was generated and doesn't have location information\n return path.scope.buildUndefinedNode();\n }\n\n // @ts-expect-error todo: avoid mutating PluginPass\n if (!state.fileNameIdentifier) {\n const { filename = \"\" } = state;\n\n const fileNameIdentifier = path.scope.generateUidIdentifier(\"_jsxFileName\");\n path.scope.getProgramParent().push({\n id: fileNameIdentifier,\n init: t.stringLiteral(filename),\n });\n // @ts-expect-error todo: avoid mutating PluginPass\n state.fileNameIdentifier = fileNameIdentifier;\n }\n\n return makeTrace(\n t.cloneNode(\n // @ts-expect-error todo: avoid mutating PluginPass\n state.fileNameIdentifier,\n ),\n location.start.line,\n location.start.column,\n );\n}\n\nfunction makeTrace(\n fileNameIdentifier: Identifier,\n lineNumber?: number,\n column0Based?: number,\n) {\n const fileLineLiteral =\n lineNumber != null ? t.numericLiteral(lineNumber) : t.nullLiteral();\n\n const fileColumnLiteral =\n column0Based != null ? t.numericLiteral(column0Based + 1) : t.nullLiteral();\n\n return template.expression.ast`{\n fileName: ${fileNameIdentifier},\n lineNumber: ${fileLineLiteral},\n columnNumber: ${fileColumnLiteral},\n }`;\n}\n\nfunction sourceSelfError(path: NodePath, name: string) {\n const pluginName = `transform-react-jsx-${name.slice(2)}`;\n\n return path.buildCodeFrameError(\n `Duplicate ${name} prop found. You are most likely using the deprecated ${pluginName} Babel plugin. Both __source and __self are automatically set when using the automatic runtime. Please remove transform-react-jsx-source and transform-react-jsx-self from your Babel config.`,\n );\n}\n","/* eslint-disable @babel/development/plugin-name */\n\nimport createPlugin from \"./create-plugin.ts\";\n\nexport default createPlugin({\n name: \"transform-react-jsx\",\n development: false,\n});\n\nexport type { Options } from \"./create-plugin.ts\";\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport helper from \"@babel/helper-builder-react-jsx\";\nimport { types as t } from \"@babel/core\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-react-jsx-compat\",\n\n manipulateOptions(_, parserOpts) {\n parserOpts.plugins.push(\"jsx\");\n },\n\n visitor: helper({\n pre(state) {\n state.callee = state.tagExpr;\n },\n\n post(state) {\n if (t.react.isCompatTag(state.tagName)) {\n state.call = t.callExpression(\n t.memberExpression(\n t.memberExpression(t.identifier(\"React\"), t.identifier(\"DOM\")),\n state.tagExpr,\n t.isLiteral(state.tagExpr),\n ),\n state.args,\n );\n }\n },\n compat: true,\n }),\n };\n});\n","import createPlugin from \"./create-plugin.ts\";\n\nexport default createPlugin({\n name: \"transform-react-jsx/development\",\n development: true,\n});\n","/**\n * This adds a __self={this} JSX attribute to all JSX elements, which React will use\n * to generate some runtime warnings. However, if the JSX element appears within a\n * constructor of a derived class, `__self={this}` will not be inserted in order to\n * prevent runtime errors.\n *\n * == JSX Literals ==\n *\n * \n *\n * becomes:\n *\n * \n */\nimport { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\nimport type { Visitor, NodePath } from \"@babel/traverse\";\n\nconst TRACE_ID = \"__self\";\n\n/**\n * Finds the closest parent function that provides `this`. Specifically, this looks for\n * the first parent function that isn't an arrow function.\n *\n * Derived from `Scope#getFunctionParent`\n */\nfunction getThisFunctionParent(\n path: NodePath,\n): NodePath> | null {\n let scope = path.scope;\n do {\n const { path } = scope;\n if (path.isFunctionParent() && !path.isArrowFunctionExpression()) {\n // @ts-expect-error TS does not exclude ArrowFunctionExpression from FunctionParent\n return path;\n }\n } while ((scope = scope.parent));\n return null;\n}\n\n/**\n * Returns whether the class has specified a superclass.\n */\nfunction isDerivedClass(classPath: NodePath) {\n return classPath.node.superClass !== null;\n}\n\n/**\n * Returns whether `this` is allowed at given path.\n */\nfunction isThisAllowed(path: NodePath) {\n // This specifically skips arrow functions as they do not rewrite `this`.\n const parentMethodOrFunction = getThisFunctionParent(path);\n if (parentMethodOrFunction === null) {\n // We are not in a method or function. It is fine to use `this`.\n return true;\n }\n if (!parentMethodOrFunction.isMethod()) {\n // If the closest parent is a regular function, `this` will be rebound, therefore it is fine to use `this`.\n return true;\n }\n // Current node is within a method, so we need to check if the method is a constructor.\n if (parentMethodOrFunction.node.kind !== \"constructor\") {\n // We are not in a constructor, therefore it is always fine to use `this`.\n return true;\n }\n // Now we are in a constructor. If it is a derived class, we do not reference `this`.\n return !isDerivedClass(\n parentMethodOrFunction.parentPath.parentPath as NodePath,\n );\n}\n\nexport default declare(api => {\n api.assertVersion(7);\n\n const visitor: Visitor = {\n JSXOpeningElement(path) {\n if (!isThisAllowed(path)) {\n return;\n }\n const node = path.node;\n const id = t.jsxIdentifier(TRACE_ID);\n const trace = t.thisExpression();\n\n node.attributes.push(t.jsxAttribute(id, t.jsxExpressionContainer(trace)));\n },\n };\n\n return {\n name: \"transform-react-jsx-self\",\n visitor: {\n Program(path) {\n path.traverse(visitor);\n },\n },\n };\n});\n","/**\n * This adds {fileName, lineNumber, columnNumber} annotations to JSX tags.\n *\n * NOTE: lineNumber and columnNumber are both 1-based.\n *\n * == JSX Literals ==\n *\n * \n *\n * becomes:\n *\n * var __jsxFileName = 'this/file.js';\n * \n */\nimport { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t, template } from \"@babel/core\";\n\nconst TRACE_ID = \"__source\";\nconst FILE_NAME_VAR = \"_jsxFileName\";\n\nconst createNodeFromNullish = (\n val: T | null,\n fn: (val: T) => N,\n): N | t.NullLiteral => (val == null ? t.nullLiteral() : fn(val));\n\ntype State = {\n fileNameIdentifier: t.Identifier;\n};\nexport default declare(api => {\n api.assertVersion(7);\n\n function makeTrace(\n fileNameIdentifier: t.Identifier,\n { line, column }: { line: number; column: number },\n ) {\n const fileLineLiteral = createNodeFromNullish(line, t.numericLiteral);\n const fileColumnLiteral = createNodeFromNullish(column, c =>\n // c + 1 to make it 1-based instead of 0-based.\n t.numericLiteral(c + 1),\n );\n\n return template.expression.ast`{\n fileName: ${fileNameIdentifier},\n lineNumber: ${fileLineLiteral},\n columnNumber: ${fileColumnLiteral},\n }`;\n }\n\n const isSourceAttr = (attr: t.Node) =>\n t.isJSXAttribute(attr) && attr.name.name === TRACE_ID;\n\n return {\n name: \"transform-react-jsx-source\",\n visitor: {\n JSXOpeningElement(path, state) {\n const { node } = path;\n if (\n // the element was generated and doesn't have location information\n !node.loc ||\n // Already has __source\n path.node.attributes.some(isSourceAttr)\n ) {\n return;\n }\n\n if (!state.fileNameIdentifier) {\n const fileNameId = path.scope.generateUidIdentifier(FILE_NAME_VAR);\n state.fileNameIdentifier = fileNameId;\n\n path.scope.getProgramParent().push({\n id: fileNameId,\n init: t.stringLiteral(state.filename || \"\"),\n });\n }\n\n node.attributes.push(\n t.jsxAttribute(\n t.jsxIdentifier(TRACE_ID),\n t.jsxExpressionContainer(\n makeTrace(t.cloneNode(state.fileNameIdentifier), node.loc.start),\n ),\n ),\n );\n },\n },\n };\n});\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nexports.__esModule = true;\nexports.getTypes = getTypes;\nexports.isReference = isReference;\nexports.replaceWithOrRemove = replaceWithOrRemove;\nexports.runtimeProperty = runtimeProperty;\nexports.wrapWithTypes = wrapWithTypes;\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar currentTypes = null;\nfunction wrapWithTypes(types, fn) {\n return function () {\n var oldTypes = currentTypes;\n currentTypes = types;\n try {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return fn.apply(this, args);\n } finally {\n currentTypes = oldTypes;\n }\n };\n}\nfunction getTypes() {\n return currentTypes;\n}\nfunction runtimeProperty(name) {\n var t = getTypes();\n return t.memberExpression(t.identifier(\"regeneratorRuntime\"), t.identifier(name), false);\n}\nfunction isReference(path) {\n return path.isReferenced() || path.parentPath.isAssignmentExpression({\n left: path.node\n });\n}\nfunction replaceWithOrRemove(path, replacement) {\n if (replacement) {\n path.replaceWith(replacement);\n } else {\n path.remove();\n }\n}","\"use strict\";\n\nvar util = _interopRequireWildcard(require(\"./util\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar hasOwn = Object.prototype.hasOwnProperty;\n\n// The hoist function takes a FunctionExpression or FunctionDeclaration\n// and replaces any Declaration nodes in its body with assignments, then\n// returns a VariableDeclaration containing just the names of the removed\n// declarations.\nexports.hoist = function (funPath) {\n var t = util.getTypes();\n t.assertFunction(funPath.node);\n var vars = {};\n function varDeclToExpr(_ref, includeIdentifiers) {\n var vdec = _ref.node,\n scope = _ref.scope;\n t.assertVariableDeclaration(vdec);\n // TODO assert.equal(vdec.kind, \"var\");\n var exprs = [];\n vdec.declarations.forEach(function (dec) {\n // Note: We duplicate 'dec.id' here to ensure that the variable declaration IDs don't\n // have the same 'loc' value, since that can make sourcemaps and retainLines behave poorly.\n vars[dec.id.name] = t.identifier(dec.id.name);\n\n // Remove the binding, to avoid \"duplicate declaration\" errors when it will\n // be injected again.\n scope.removeBinding(dec.id.name);\n if (dec.init) {\n exprs.push(t.assignmentExpression(\"=\", dec.id, dec.init));\n } else if (includeIdentifiers) {\n exprs.push(dec.id);\n }\n });\n if (exprs.length === 0) return null;\n if (exprs.length === 1) return exprs[0];\n return t.sequenceExpression(exprs);\n }\n funPath.get(\"body\").traverse({\n VariableDeclaration: {\n exit: function exit(path) {\n var expr = varDeclToExpr(path, false);\n if (expr === null) {\n path.remove();\n } else {\n // We don't need to traverse this expression any further because\n // there can't be any new declarations inside an expression.\n util.replaceWithOrRemove(path, t.expressionStatement(expr));\n }\n\n // Since the original node has been either removed or replaced,\n // avoid traversing it any further.\n path.skip();\n }\n },\n ForStatement: function ForStatement(path) {\n var init = path.get(\"init\");\n if (init.isVariableDeclaration()) {\n util.replaceWithOrRemove(init, varDeclToExpr(init, false));\n }\n },\n ForXStatement: function ForXStatement(path) {\n var left = path.get(\"left\");\n if (left.isVariableDeclaration()) {\n util.replaceWithOrRemove(left, varDeclToExpr(left, true));\n }\n },\n FunctionDeclaration: function FunctionDeclaration(path) {\n var node = path.node;\n vars[node.id.name] = node.id;\n var assignment = t.expressionStatement(t.assignmentExpression(\"=\", t.clone(node.id), t.functionExpression(path.scope.generateUidIdentifierBasedOnNode(node), node.params, node.body, node.generator, node.expression)));\n if (path.parentPath.isBlockStatement()) {\n // Insert the assignment form before the first statement in the\n // enclosing block.\n path.parentPath.unshiftContainer(\"body\", assignment);\n\n // Remove the function declaration now that we've inserted the\n // equivalent assignment form at the beginning of the block.\n path.remove();\n } else {\n // If the parent node is not a block statement, then we can just\n // replace the declaration with the equivalent assignment form\n // without worrying about hoisting it.\n util.replaceWithOrRemove(path, assignment);\n }\n\n // Remove the binding, to avoid \"duplicate declaration\" errors when it will\n // be injected again.\n path.scope.removeBinding(node.id.name);\n\n // Don't hoist variables out of inner functions.\n path.skip();\n },\n FunctionExpression: function FunctionExpression(path) {\n // Don't descend into nested function expressions.\n path.skip();\n },\n ArrowFunctionExpression: function ArrowFunctionExpression(path) {\n // Don't descend into nested function expressions.\n path.skip();\n }\n });\n var paramNames = {};\n funPath.get(\"params\").forEach(function (paramPath) {\n var param = paramPath.node;\n if (t.isIdentifier(param)) {\n paramNames[param.name] = param;\n } else {\n // Variables declared by destructuring parameter patterns will be\n // harmlessly re-declared.\n }\n });\n var declarations = [];\n Object.keys(vars).forEach(function (name) {\n if (!hasOwn.call(paramNames, name)) {\n declarations.push(t.variableDeclarator(vars[name], null));\n }\n });\n if (declarations.length === 0) {\n return null; // Be sure to handle this case!\n }\n\n return t.variableDeclaration(\"var\", declarations);\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _assert = _interopRequireDefault(require(\"assert\"));\nvar _emit = require(\"./emit\");\nvar _util = require(\"util\");\nvar _util2 = require(\"./util\");\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction Entry() {\n _assert[\"default\"].ok(this instanceof Entry);\n}\nfunction FunctionEntry(returnLoc) {\n Entry.call(this);\n (0, _util2.getTypes)().assertLiteral(returnLoc);\n this.returnLoc = returnLoc;\n}\n(0, _util.inherits)(FunctionEntry, Entry);\nexports.FunctionEntry = FunctionEntry;\nfunction LoopEntry(breakLoc, continueLoc, label) {\n Entry.call(this);\n var t = (0, _util2.getTypes)();\n t.assertLiteral(breakLoc);\n t.assertLiteral(continueLoc);\n if (label) {\n t.assertIdentifier(label);\n } else {\n label = null;\n }\n this.breakLoc = breakLoc;\n this.continueLoc = continueLoc;\n this.label = label;\n}\n(0, _util.inherits)(LoopEntry, Entry);\nexports.LoopEntry = LoopEntry;\nfunction SwitchEntry(breakLoc) {\n Entry.call(this);\n (0, _util2.getTypes)().assertLiteral(breakLoc);\n this.breakLoc = breakLoc;\n}\n(0, _util.inherits)(SwitchEntry, Entry);\nexports.SwitchEntry = SwitchEntry;\nfunction TryEntry(firstLoc, catchEntry, finallyEntry) {\n Entry.call(this);\n var t = (0, _util2.getTypes)();\n t.assertLiteral(firstLoc);\n if (catchEntry) {\n _assert[\"default\"].ok(catchEntry instanceof CatchEntry);\n } else {\n catchEntry = null;\n }\n if (finallyEntry) {\n _assert[\"default\"].ok(finallyEntry instanceof FinallyEntry);\n } else {\n finallyEntry = null;\n }\n\n // Have to have one or the other (or both).\n _assert[\"default\"].ok(catchEntry || finallyEntry);\n this.firstLoc = firstLoc;\n this.catchEntry = catchEntry;\n this.finallyEntry = finallyEntry;\n}\n(0, _util.inherits)(TryEntry, Entry);\nexports.TryEntry = TryEntry;\nfunction CatchEntry(firstLoc, paramId) {\n Entry.call(this);\n var t = (0, _util2.getTypes)();\n t.assertLiteral(firstLoc);\n t.assertIdentifier(paramId);\n this.firstLoc = firstLoc;\n this.paramId = paramId;\n}\n(0, _util.inherits)(CatchEntry, Entry);\nexports.CatchEntry = CatchEntry;\nfunction FinallyEntry(firstLoc, afterLoc) {\n Entry.call(this);\n var t = (0, _util2.getTypes)();\n t.assertLiteral(firstLoc);\n t.assertLiteral(afterLoc);\n this.firstLoc = firstLoc;\n this.afterLoc = afterLoc;\n}\n(0, _util.inherits)(FinallyEntry, Entry);\nexports.FinallyEntry = FinallyEntry;\nfunction LabeledEntry(breakLoc, label) {\n Entry.call(this);\n var t = (0, _util2.getTypes)();\n t.assertLiteral(breakLoc);\n t.assertIdentifier(label);\n this.breakLoc = breakLoc;\n this.label = label;\n}\n(0, _util.inherits)(LabeledEntry, Entry);\nexports.LabeledEntry = LabeledEntry;\nfunction LeapManager(emitter) {\n _assert[\"default\"].ok(this instanceof LeapManager);\n _assert[\"default\"].ok(emitter instanceof _emit.Emitter);\n this.emitter = emitter;\n this.entryStack = [new FunctionEntry(emitter.finalLoc)];\n}\nvar LMp = LeapManager.prototype;\nexports.LeapManager = LeapManager;\nLMp.withEntry = function (entry, callback) {\n _assert[\"default\"].ok(entry instanceof Entry);\n this.entryStack.push(entry);\n try {\n callback.call(this.emitter);\n } finally {\n var popped = this.entryStack.pop();\n _assert[\"default\"].strictEqual(popped, entry);\n }\n};\nLMp._findLeapLocation = function (property, label) {\n for (var i = this.entryStack.length - 1; i >= 0; --i) {\n var entry = this.entryStack[i];\n var loc = entry[property];\n if (loc) {\n if (label) {\n if (entry.label && entry.label.name === label.name) {\n return loc;\n }\n } else if (entry instanceof LabeledEntry) {\n // Ignore LabeledEntry entries unless we are actually breaking to\n // a label.\n } else {\n return loc;\n }\n }\n }\n return null;\n};\nLMp.getBreakLoc = function (label) {\n return this._findLeapLocation(\"breakLoc\", label);\n};\nLMp.getContinueLoc = function (label) {\n return this._findLeapLocation(\"continueLoc\", label);\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _assert = _interopRequireDefault(require(\"assert\"));\nvar _util = require(\"./util.js\");\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar mMap = new WeakMap();\nfunction m(node) {\n if (!mMap.has(node)) {\n mMap.set(node, {});\n }\n return mMap.get(node);\n}\nvar hasOwn = Object.prototype.hasOwnProperty;\nfunction makePredicate(propertyName, knownTypes) {\n function onlyChildren(node) {\n var t = (0, _util.getTypes)();\n t.assertNode(node);\n\n // Assume no side effects until we find out otherwise.\n var result = false;\n function check(child) {\n if (result) {\n // Do nothing.\n } else if (Array.isArray(child)) {\n child.some(check);\n } else if (t.isNode(child)) {\n _assert[\"default\"].strictEqual(result, false);\n result = predicate(child);\n }\n return result;\n }\n var keys = t.VISITOR_KEYS[node.type];\n if (keys) {\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var child = node[key];\n check(child);\n }\n }\n return result;\n }\n function predicate(node) {\n (0, _util.getTypes)().assertNode(node);\n var meta = m(node);\n if (hasOwn.call(meta, propertyName)) return meta[propertyName];\n\n // Certain types are \"opaque,\" which means they have no side\n // effects or leaps and we don't care about their subexpressions.\n if (hasOwn.call(opaqueTypes, node.type)) return meta[propertyName] = false;\n if (hasOwn.call(knownTypes, node.type)) return meta[propertyName] = true;\n return meta[propertyName] = onlyChildren(node);\n }\n predicate.onlyChildren = onlyChildren;\n return predicate;\n}\nvar opaqueTypes = {\n FunctionExpression: true,\n ArrowFunctionExpression: true\n};\n\n// These types potentially have side effects regardless of what side\n// effects their subexpressions have.\nvar sideEffectTypes = {\n CallExpression: true,\n // Anything could happen!\n ForInStatement: true,\n // Modifies the key variable.\n UnaryExpression: true,\n // Think delete.\n BinaryExpression: true,\n // Might invoke .toString() or .valueOf().\n AssignmentExpression: true,\n // Side-effecting by definition.\n UpdateExpression: true,\n // Updates are essentially assignments.\n NewExpression: true // Similar to CallExpression.\n};\n\n// These types are the direct cause of all leaps in control flow.\nvar leapTypes = {\n YieldExpression: true,\n BreakStatement: true,\n ContinueStatement: true,\n ReturnStatement: true,\n ThrowStatement: true\n};\n\n// All leap types are also side effect types.\nfor (var type in leapTypes) {\n if (hasOwn.call(leapTypes, type)) {\n sideEffectTypes[type] = leapTypes[type];\n }\n}\nexports.hasSideEffects = makePredicate(\"hasSideEffects\", sideEffectTypes);\nexports.containsLeap = makePredicate(\"containsLeap\", leapTypes);","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _assert = _interopRequireDefault(require(\"assert\"));\nvar leap = _interopRequireWildcard(require(\"./leap\"));\nvar meta = _interopRequireWildcard(require(\"./meta\"));\nvar util = _interopRequireWildcard(require(\"./util\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nfunction Emitter(contextId) {\n _assert[\"default\"].ok(this instanceof Emitter);\n util.getTypes().assertIdentifier(contextId);\n\n // Used to generate unique temporary names.\n this.nextTempId = 0;\n\n // In order to make sure the context object does not collide with\n // anything in the local scope, we might have to rename it, so we\n // refer to it symbolically instead of just assuming that it will be\n // called \"context\".\n this.contextId = contextId;\n\n // An append-only list of Statements that grows each time this.emit is\n // called.\n this.listing = [];\n\n // A sparse array whose keys correspond to locations in this.listing\n // that have been marked as branch/jump targets.\n this.marked = [true];\n this.insertedLocs = new Set();\n\n // The last location will be marked when this.getDispatchLoop is\n // called.\n this.finalLoc = this.loc();\n\n // A list of all leap.TryEntry statements emitted.\n this.tryEntries = [];\n\n // Each time we evaluate the body of a loop, we tell this.leapManager\n // to enter a nested loop context that determines the meaning of break\n // and continue statements therein.\n this.leapManager = new leap.LeapManager(this);\n}\nvar Ep = Emitter.prototype;\nexports.Emitter = Emitter;\n\n// Offsets into this.listing that could be used as targets for branches or\n// jumps are represented as numeric Literal nodes. This representation has\n// the amazingly convenient benefit of allowing the exact value of the\n// location to be determined at any time, even after generating code that\n// refers to the location.\n// We use 'Number.MAX_VALUE' to mark uninitialized location. We can safely do\n// so because no code can realistically have about 1.8e+308 locations before\n// hitting memory limit of the machine it's running on. For comparison, the\n// estimated number of atoms in the observable universe is around 1e+80.\nvar PENDING_LOCATION = Number.MAX_VALUE;\nEp.loc = function () {\n var l = util.getTypes().numericLiteral(PENDING_LOCATION);\n this.insertedLocs.add(l);\n return l;\n};\nEp.getInsertedLocs = function () {\n return this.insertedLocs;\n};\nEp.getContextId = function () {\n return util.getTypes().clone(this.contextId);\n};\n\n// Sets the exact value of the given location to the offset of the next\n// Statement emitted.\nEp.mark = function (loc) {\n util.getTypes().assertLiteral(loc);\n var index = this.listing.length;\n if (loc.value === PENDING_LOCATION) {\n loc.value = index;\n } else {\n // Locations can be marked redundantly, but their values cannot change\n // once set the first time.\n _assert[\"default\"].strictEqual(loc.value, index);\n }\n this.marked[index] = true;\n return loc;\n};\nEp.emit = function (node) {\n var t = util.getTypes();\n if (t.isExpression(node)) {\n node = t.expressionStatement(node);\n }\n t.assertStatement(node);\n this.listing.push(node);\n};\n\n// Shorthand for emitting assignment statements. This will come in handy\n// for assignments to temporary variables.\nEp.emitAssign = function (lhs, rhs) {\n this.emit(this.assign(lhs, rhs));\n return lhs;\n};\n\n// Shorthand for an assignment statement.\nEp.assign = function (lhs, rhs) {\n var t = util.getTypes();\n return t.expressionStatement(t.assignmentExpression(\"=\", t.cloneDeep(lhs), rhs));\n};\n\n// Convenience function for generating expressions like context.next,\n// context.sent, and context.rval.\nEp.contextProperty = function (name, computed) {\n var t = util.getTypes();\n return t.memberExpression(this.getContextId(), computed ? t.stringLiteral(name) : t.identifier(name), !!computed);\n};\n\n// Shorthand for setting context.rval and jumping to `context.stop()`.\nEp.stop = function (rval) {\n if (rval) {\n this.setReturnValue(rval);\n }\n this.jump(this.finalLoc);\n};\nEp.setReturnValue = function (valuePath) {\n util.getTypes().assertExpression(valuePath.value);\n this.emitAssign(this.contextProperty(\"rval\"), this.explodeExpression(valuePath));\n};\nEp.clearPendingException = function (tryLoc, assignee) {\n var t = util.getTypes();\n t.assertLiteral(tryLoc);\n var catchCall = t.callExpression(this.contextProperty(\"catch\", true), [t.clone(tryLoc)]);\n if (assignee) {\n this.emitAssign(assignee, catchCall);\n } else {\n this.emit(catchCall);\n }\n};\n\n// Emits code for an unconditional jump to the given location, even if the\n// exact value of the location is not yet known.\nEp.jump = function (toLoc) {\n this.emitAssign(this.contextProperty(\"next\"), toLoc);\n this.emit(util.getTypes().breakStatement());\n};\n\n// Conditional jump.\nEp.jumpIf = function (test, toLoc) {\n var t = util.getTypes();\n t.assertExpression(test);\n t.assertLiteral(toLoc);\n this.emit(t.ifStatement(test, t.blockStatement([this.assign(this.contextProperty(\"next\"), toLoc), t.breakStatement()])));\n};\n\n// Conditional jump, with the condition negated.\nEp.jumpIfNot = function (test, toLoc) {\n var t = util.getTypes();\n t.assertExpression(test);\n t.assertLiteral(toLoc);\n var negatedTest;\n if (t.isUnaryExpression(test) && test.operator === \"!\") {\n // Avoid double negation.\n negatedTest = test.argument;\n } else {\n negatedTest = t.unaryExpression(\"!\", test);\n }\n this.emit(t.ifStatement(negatedTest, t.blockStatement([this.assign(this.contextProperty(\"next\"), toLoc), t.breakStatement()])));\n};\n\n// Returns a unique MemberExpression that can be used to store and\n// retrieve temporary values. Since the object of the member expression is\n// the context object, which is presumed to coexist peacefully with all\n// other local variables, and since we just increment `nextTempId`\n// monotonically, uniqueness is assured.\nEp.makeTempVar = function () {\n return this.contextProperty(\"t\" + this.nextTempId++);\n};\nEp.getContextFunction = function (id) {\n var t = util.getTypes();\n return t.functionExpression(id || null /*Anonymous*/, [this.getContextId()], t.blockStatement([this.getDispatchLoop()]), false,\n // Not a generator anymore!\n false // Nor an expression.\n );\n};\n\n// Turns this.listing into a loop of the form\n//\n// while (1) switch (context.next) {\n// case 0:\n// ...\n// case n:\n// return context.stop();\n// }\n//\n// Each marked location in this.listing will correspond to one generated\n// case statement.\nEp.getDispatchLoop = function () {\n var self = this;\n var t = util.getTypes();\n var cases = [];\n var current;\n\n // If we encounter a break, continue, or return statement in a switch\n // case, we can skip the rest of the statements until the next case.\n var alreadyEnded = false;\n self.listing.forEach(function (stmt, i) {\n if (self.marked.hasOwnProperty(i)) {\n cases.push(t.switchCase(t.numericLiteral(i), current = []));\n alreadyEnded = false;\n }\n if (!alreadyEnded) {\n current.push(stmt);\n if (t.isCompletionStatement(stmt)) alreadyEnded = true;\n }\n });\n\n // Now that we know how many statements there will be in this.listing,\n // we can finally resolve this.finalLoc.value.\n this.finalLoc.value = this.listing.length;\n cases.push(t.switchCase(this.finalLoc, [\n // Intentionally fall through to the \"end\" case...\n ]),\n // So that the runtime can jump to the final location without having\n // to know its offset, we provide the \"end\" case as a synonym.\n t.switchCase(t.stringLiteral(\"end\"), [\n // This will check/clear both context.thrown and context.rval.\n t.returnStatement(t.callExpression(this.contextProperty(\"stop\"), []))]));\n return t.whileStatement(t.numericLiteral(1), t.switchStatement(t.assignmentExpression(\"=\", this.contextProperty(\"prev\"), this.contextProperty(\"next\")), cases));\n};\nEp.getTryLocsList = function () {\n if (this.tryEntries.length === 0) {\n // To avoid adding a needless [] to the majority of runtime.wrap\n // argument lists, force the caller to handle this case specially.\n return null;\n }\n var t = util.getTypes();\n var lastLocValue = 0;\n return t.arrayExpression(this.tryEntries.map(function (tryEntry) {\n var thisLocValue = tryEntry.firstLoc.value;\n _assert[\"default\"].ok(thisLocValue >= lastLocValue, \"try entries out of order\");\n lastLocValue = thisLocValue;\n var ce = tryEntry.catchEntry;\n var fe = tryEntry.finallyEntry;\n var locs = [tryEntry.firstLoc,\n // The null here makes a hole in the array.\n ce ? ce.firstLoc : null];\n if (fe) {\n locs[2] = fe.firstLoc;\n locs[3] = fe.afterLoc;\n }\n return t.arrayExpression(locs.map(function (loc) {\n return loc && t.clone(loc);\n }));\n }));\n};\n\n// All side effects must be realized in order.\n\n// If any subexpression harbors a leap, all subexpressions must be\n// neutered of side effects.\n\n// No destructive modification of AST nodes.\n\nEp.explode = function (path, ignoreResult) {\n var t = util.getTypes();\n var node = path.node;\n var self = this;\n t.assertNode(node);\n if (t.isDeclaration(node)) throw getDeclError(node);\n if (t.isStatement(node)) return self.explodeStatement(path);\n if (t.isExpression(node)) return self.explodeExpression(path, ignoreResult);\n switch (node.type) {\n case \"Program\":\n return path.get(\"body\").map(self.explodeStatement, self);\n case \"VariableDeclarator\":\n throw getDeclError(node);\n\n // These node types should be handled by their parent nodes\n // (ObjectExpression, SwitchStatement, and TryStatement, respectively).\n case \"Property\":\n case \"SwitchCase\":\n case \"CatchClause\":\n throw new Error(node.type + \" nodes should be handled by their parents\");\n default:\n throw new Error(\"unknown Node of type \" + JSON.stringify(node.type));\n }\n};\nfunction getDeclError(node) {\n return new Error(\"all declarations should have been transformed into \" + \"assignments before the Exploder began its work: \" + JSON.stringify(node));\n}\nEp.explodeStatement = function (path, labelId) {\n var t = util.getTypes();\n var stmt = path.node;\n var self = this;\n var before, after, head;\n t.assertStatement(stmt);\n if (labelId) {\n t.assertIdentifier(labelId);\n } else {\n labelId = null;\n }\n\n // Explode BlockStatement nodes even if they do not contain a yield,\n // because we don't want or need the curly braces.\n if (t.isBlockStatement(stmt)) {\n path.get(\"body\").forEach(function (path) {\n self.explodeStatement(path);\n });\n return;\n }\n if (!meta.containsLeap(stmt)) {\n // Technically we should be able to avoid emitting the statement\n // altogether if !meta.hasSideEffects(stmt), but that leads to\n // confusing generated code (for instance, `while (true) {}` just\n // disappears) and is probably a more appropriate job for a dedicated\n // dead code elimination pass.\n self.emit(stmt);\n return;\n }\n switch (stmt.type) {\n case \"ExpressionStatement\":\n self.explodeExpression(path.get(\"expression\"), true);\n break;\n case \"LabeledStatement\":\n after = this.loc();\n\n // Did you know you can break from any labeled block statement or\n // control structure? Well, you can! Note: when a labeled loop is\n // encountered, the leap.LabeledEntry created here will immediately\n // enclose a leap.LoopEntry on the leap manager's stack, and both\n // entries will have the same label. Though this works just fine, it\n // may seem a bit redundant. In theory, we could check here to\n // determine if stmt knows how to handle its own label; for example,\n // stmt happens to be a WhileStatement and so we know it's going to\n // establish its own LoopEntry when we explode it (below). Then this\n // LabeledEntry would be unnecessary. Alternatively, we might be\n // tempted not to pass stmt.label down into self.explodeStatement,\n // because we've handled the label here, but that's a mistake because\n // labeled loops may contain labeled continue statements, which is not\n // something we can handle in this generic case. All in all, I think a\n // little redundancy greatly simplifies the logic of this case, since\n // it's clear that we handle all possible LabeledStatements correctly\n // here, regardless of whether they interact with the leap manager\n // themselves. Also remember that labels and break/continue-to-label\n // statements are rare, and all of this logic happens at transform\n // time, so it has no additional runtime cost.\n self.leapManager.withEntry(new leap.LabeledEntry(after, stmt.label), function () {\n self.explodeStatement(path.get(\"body\"), stmt.label);\n });\n self.mark(after);\n break;\n case \"WhileStatement\":\n before = this.loc();\n after = this.loc();\n self.mark(before);\n self.jumpIfNot(self.explodeExpression(path.get(\"test\")), after);\n self.leapManager.withEntry(new leap.LoopEntry(after, before, labelId), function () {\n self.explodeStatement(path.get(\"body\"));\n });\n self.jump(before);\n self.mark(after);\n break;\n case \"DoWhileStatement\":\n var first = this.loc();\n var test = this.loc();\n after = this.loc();\n self.mark(first);\n self.leapManager.withEntry(new leap.LoopEntry(after, test, labelId), function () {\n self.explode(path.get(\"body\"));\n });\n self.mark(test);\n self.jumpIf(self.explodeExpression(path.get(\"test\")), first);\n self.mark(after);\n break;\n case \"ForStatement\":\n head = this.loc();\n var update = this.loc();\n after = this.loc();\n if (stmt.init) {\n // We pass true here to indicate that if stmt.init is an expression\n // then we do not care about its result.\n self.explode(path.get(\"init\"), true);\n }\n self.mark(head);\n if (stmt.test) {\n self.jumpIfNot(self.explodeExpression(path.get(\"test\")), after);\n } else {\n // No test means continue unconditionally.\n }\n self.leapManager.withEntry(new leap.LoopEntry(after, update, labelId), function () {\n self.explodeStatement(path.get(\"body\"));\n });\n self.mark(update);\n if (stmt.update) {\n // We pass true here to indicate that if stmt.update is an\n // expression then we do not care about its result.\n self.explode(path.get(\"update\"), true);\n }\n self.jump(head);\n self.mark(after);\n break;\n case \"TypeCastExpression\":\n return self.explodeExpression(path.get(\"expression\"));\n case \"ForInStatement\":\n head = this.loc();\n after = this.loc();\n var keyIterNextFn = self.makeTempVar();\n self.emitAssign(keyIterNextFn, t.callExpression(util.runtimeProperty(\"keys\"), [self.explodeExpression(path.get(\"right\"))]));\n self.mark(head);\n var keyInfoTmpVar = self.makeTempVar();\n self.jumpIf(t.memberExpression(t.assignmentExpression(\"=\", keyInfoTmpVar, t.callExpression(t.cloneDeep(keyIterNextFn), [])), t.identifier(\"done\"), false), after);\n self.emitAssign(stmt.left, t.memberExpression(t.cloneDeep(keyInfoTmpVar), t.identifier(\"value\"), false));\n self.leapManager.withEntry(new leap.LoopEntry(after, head, labelId), function () {\n self.explodeStatement(path.get(\"body\"));\n });\n self.jump(head);\n self.mark(after);\n break;\n case \"BreakStatement\":\n self.emitAbruptCompletion({\n type: \"break\",\n target: self.leapManager.getBreakLoc(stmt.label)\n });\n break;\n case \"ContinueStatement\":\n self.emitAbruptCompletion({\n type: \"continue\",\n target: self.leapManager.getContinueLoc(stmt.label)\n });\n break;\n case \"SwitchStatement\":\n // Always save the discriminant into a temporary variable in case the\n // test expressions overwrite values like context.sent.\n var disc = self.emitAssign(self.makeTempVar(), self.explodeExpression(path.get(\"discriminant\")));\n after = this.loc();\n var defaultLoc = this.loc();\n var condition = defaultLoc;\n var caseLocs = [];\n\n // If there are no cases, .cases might be undefined.\n var cases = stmt.cases || [];\n for (var i = cases.length - 1; i >= 0; --i) {\n var c = cases[i];\n t.assertSwitchCase(c);\n if (c.test) {\n condition = t.conditionalExpression(t.binaryExpression(\"===\", t.cloneDeep(disc), c.test), caseLocs[i] = this.loc(), condition);\n } else {\n caseLocs[i] = defaultLoc;\n }\n }\n var discriminant = path.get(\"discriminant\");\n util.replaceWithOrRemove(discriminant, condition);\n self.jump(self.explodeExpression(discriminant));\n self.leapManager.withEntry(new leap.SwitchEntry(after), function () {\n path.get(\"cases\").forEach(function (casePath) {\n var i = casePath.key;\n self.mark(caseLocs[i]);\n casePath.get(\"consequent\").forEach(function (path) {\n self.explodeStatement(path);\n });\n });\n });\n self.mark(after);\n if (defaultLoc.value === PENDING_LOCATION) {\n self.mark(defaultLoc);\n _assert[\"default\"].strictEqual(after.value, defaultLoc.value);\n }\n break;\n case \"IfStatement\":\n var elseLoc = stmt.alternate && this.loc();\n after = this.loc();\n self.jumpIfNot(self.explodeExpression(path.get(\"test\")), elseLoc || after);\n self.explodeStatement(path.get(\"consequent\"));\n if (elseLoc) {\n self.jump(after);\n self.mark(elseLoc);\n self.explodeStatement(path.get(\"alternate\"));\n }\n self.mark(after);\n break;\n case \"ReturnStatement\":\n self.emitAbruptCompletion({\n type: \"return\",\n value: self.explodeExpression(path.get(\"argument\"))\n });\n break;\n case \"WithStatement\":\n throw new Error(\"WithStatement not supported in generator functions.\");\n case \"TryStatement\":\n after = this.loc();\n var handler = stmt.handler;\n var catchLoc = handler && this.loc();\n var catchEntry = catchLoc && new leap.CatchEntry(catchLoc, handler.param);\n var finallyLoc = stmt.finalizer && this.loc();\n var finallyEntry = finallyLoc && new leap.FinallyEntry(finallyLoc, after);\n var tryEntry = new leap.TryEntry(self.getUnmarkedCurrentLoc(), catchEntry, finallyEntry);\n self.tryEntries.push(tryEntry);\n self.updateContextPrevLoc(tryEntry.firstLoc);\n self.leapManager.withEntry(tryEntry, function () {\n self.explodeStatement(path.get(\"block\"));\n if (catchLoc) {\n if (finallyLoc) {\n // If we have both a catch block and a finally block, then\n // because we emit the catch block first, we need to jump over\n // it to the finally block.\n self.jump(finallyLoc);\n } else {\n // If there is no finally block, then we need to jump over the\n // catch block to the fall-through location.\n self.jump(after);\n }\n self.updateContextPrevLoc(self.mark(catchLoc));\n var bodyPath = path.get(\"handler.body\");\n var safeParam = self.makeTempVar();\n self.clearPendingException(tryEntry.firstLoc, safeParam);\n bodyPath.traverse(catchParamVisitor, {\n getSafeParam: function getSafeParam() {\n return t.cloneDeep(safeParam);\n },\n catchParamName: handler.param.name\n });\n self.leapManager.withEntry(catchEntry, function () {\n self.explodeStatement(bodyPath);\n });\n }\n if (finallyLoc) {\n self.updateContextPrevLoc(self.mark(finallyLoc));\n self.leapManager.withEntry(finallyEntry, function () {\n self.explodeStatement(path.get(\"finalizer\"));\n });\n self.emit(t.returnStatement(t.callExpression(self.contextProperty(\"finish\"), [finallyEntry.firstLoc])));\n }\n });\n self.mark(after);\n break;\n case \"ThrowStatement\":\n self.emit(t.throwStatement(self.explodeExpression(path.get(\"argument\"))));\n break;\n case \"ClassDeclaration\":\n self.emit(self.explodeClass(path));\n break;\n default:\n throw new Error(\"unknown Statement of type \" + JSON.stringify(stmt.type));\n }\n};\nvar catchParamVisitor = {\n Identifier: function Identifier(path, state) {\n if (path.node.name === state.catchParamName && util.isReference(path)) {\n util.replaceWithOrRemove(path, state.getSafeParam());\n }\n },\n Scope: function Scope(path, state) {\n if (path.scope.hasOwnBinding(state.catchParamName)) {\n // Don't descend into nested scopes that shadow the catch\n // parameter with their own declarations.\n path.skip();\n }\n }\n};\nEp.emitAbruptCompletion = function (record) {\n if (!isValidCompletion(record)) {\n _assert[\"default\"].ok(false, \"invalid completion record: \" + JSON.stringify(record));\n }\n _assert[\"default\"].notStrictEqual(record.type, \"normal\", \"normal completions are not abrupt\");\n var t = util.getTypes();\n var abruptArgs = [t.stringLiteral(record.type)];\n if (record.type === \"break\" || record.type === \"continue\") {\n t.assertLiteral(record.target);\n abruptArgs[1] = this.insertedLocs.has(record.target) ? record.target : t.cloneDeep(record.target);\n } else if (record.type === \"return\" || record.type === \"throw\") {\n if (record.value) {\n t.assertExpression(record.value);\n abruptArgs[1] = this.insertedLocs.has(record.value) ? record.value : t.cloneDeep(record.value);\n }\n }\n this.emit(t.returnStatement(t.callExpression(this.contextProperty(\"abrupt\"), abruptArgs)));\n};\nfunction isValidCompletion(record) {\n var type = record.type;\n if (type === \"normal\") {\n return !hasOwn.call(record, \"target\");\n }\n if (type === \"break\" || type === \"continue\") {\n return !hasOwn.call(record, \"value\") && util.getTypes().isLiteral(record.target);\n }\n if (type === \"return\" || type === \"throw\") {\n return hasOwn.call(record, \"value\") && !hasOwn.call(record, \"target\");\n }\n return false;\n}\n\n// Not all offsets into emitter.listing are potential jump targets. For\n// example, execution typically falls into the beginning of a try block\n// without jumping directly there. This method returns the current offset\n// without marking it, so that a switch case will not necessarily be\n// generated for this offset (I say \"not necessarily\" because the same\n// location might end up being marked in the process of emitting other\n// statements). There's no logical harm in marking such locations as jump\n// targets, but minimizing the number of switch cases keeps the generated\n// code shorter.\nEp.getUnmarkedCurrentLoc = function () {\n return util.getTypes().numericLiteral(this.listing.length);\n};\n\n// The context.prev property takes the value of context.next whenever we\n// evaluate the switch statement discriminant, which is generally good\n// enough for tracking the last location we jumped to, but sometimes\n// context.prev needs to be more precise, such as when we fall\n// successfully out of a try block and into a finally block without\n// jumping. This method exists to update context.prev to the freshest\n// available location. If we were implementing a full interpreter, we\n// would know the location of the current instruction with complete\n// precision at all times, but we don't have that luxury here, as it would\n// be costly and verbose to set context.prev before every statement.\nEp.updateContextPrevLoc = function (loc) {\n var t = util.getTypes();\n if (loc) {\n t.assertLiteral(loc);\n if (loc.value === PENDING_LOCATION) {\n // If an uninitialized location literal was passed in, set its value\n // to the current this.listing.length.\n loc.value = this.listing.length;\n } else {\n // Otherwise assert that the location matches the current offset.\n _assert[\"default\"].strictEqual(loc.value, this.listing.length);\n }\n } else {\n loc = this.getUnmarkedCurrentLoc();\n }\n\n // Make sure context.prev is up to date in case we fell into this try\n // statement without jumping to it. TODO Consider avoiding this\n // assignment when we know control must have jumped here.\n this.emitAssign(this.contextProperty(\"prev\"), loc);\n};\n\n// In order to save the rest of explodeExpression from a combinatorial\n// trainwreck of special cases, explodeViaTempVar is responsible for\n// deciding when a subexpression needs to be \"exploded,\" which is my\n// very technical term for emitting the subexpression as an assignment\n// to a temporary variable and the substituting the temporary variable\n// for the original subexpression. Think of exploded view diagrams, not\n// Michael Bay movies. The point of exploding subexpressions is to\n// control the precise order in which the generated code realizes the\n// side effects of those subexpressions.\nEp.explodeViaTempVar = function (tempVar, childPath, hasLeapingChildren, ignoreChildResult) {\n _assert[\"default\"].ok(!ignoreChildResult || !tempVar, \"Ignoring the result of a child expression but forcing it to \" + \"be assigned to a temporary variable?\");\n var t = util.getTypes();\n var result = this.explodeExpression(childPath, ignoreChildResult);\n if (ignoreChildResult) {\n // Side effects already emitted above.\n } else if (tempVar || hasLeapingChildren && !t.isLiteral(result)) {\n // If tempVar was provided, then the result will always be assigned\n // to it, even if the result does not otherwise need to be assigned\n // to a temporary variable. When no tempVar is provided, we have\n // the flexibility to decide whether a temporary variable is really\n // necessary. Unfortunately, in general, a temporary variable is\n // required whenever any child contains a yield expression, since it\n // is difficult to prove (at all, let alone efficiently) whether\n // this result would evaluate to the same value before and after the\n // yield (see #206). One narrow case where we can prove it doesn't\n // matter (and thus we do not need a temporary variable) is when the\n // result in question is a Literal value.\n result = this.emitAssign(tempVar || this.makeTempVar(), result);\n }\n return result;\n};\nEp.explodeExpression = function (path, ignoreResult) {\n var t = util.getTypes();\n var expr = path.node;\n if (expr) {\n t.assertExpression(expr);\n } else {\n return expr;\n }\n var self = this;\n var result; // Used optionally by several cases below.\n var after;\n function finish(expr) {\n t.assertExpression(expr);\n if (ignoreResult) {\n self.emit(expr);\n }\n return expr;\n }\n\n // If the expression does not contain a leap, then we either emit the\n // expression as a standalone statement or return it whole.\n if (!meta.containsLeap(expr)) {\n return finish(expr);\n }\n\n // If any child contains a leap (such as a yield or labeled continue or\n // break statement), then any sibling subexpressions will almost\n // certainly have to be exploded in order to maintain the order of their\n // side effects relative to the leaping child(ren).\n var hasLeapingChildren = meta.containsLeap.onlyChildren(expr);\n\n // If ignoreResult is true, then we must take full responsibility for\n // emitting the expression with all its side effects, and we should not\n // return a result.\n\n switch (expr.type) {\n case \"MemberExpression\":\n return finish(t.memberExpression(self.explodeExpression(path.get(\"object\")), expr.computed ? self.explodeViaTempVar(null, path.get(\"property\"), hasLeapingChildren) : expr.property, expr.computed));\n case \"CallExpression\":\n var calleePath = path.get(\"callee\");\n var argsPath = path.get(\"arguments\");\n var newCallee;\n var newArgs;\n var hasLeapingArgs = argsPath.some(function (argPath) {\n return meta.containsLeap(argPath.node);\n });\n var injectFirstArg = null;\n if (t.isMemberExpression(calleePath.node)) {\n if (hasLeapingArgs) {\n // If the arguments of the CallExpression contained any yield\n // expressions, then we need to be sure to evaluate the callee\n // before evaluating the arguments, but if the callee was a member\n // expression, then we must be careful that the object of the\n // member expression still gets bound to `this` for the call.\n\n var newObject = self.explodeViaTempVar(\n // Assign the exploded callee.object expression to a temporary\n // variable so that we can use it twice without reevaluating it.\n self.makeTempVar(), calleePath.get(\"object\"), hasLeapingChildren);\n var newProperty = calleePath.node.computed ? self.explodeViaTempVar(null, calleePath.get(\"property\"), hasLeapingChildren) : calleePath.node.property;\n injectFirstArg = newObject;\n newCallee = t.memberExpression(t.memberExpression(t.cloneDeep(newObject), newProperty, calleePath.node.computed), t.identifier(\"call\"), false);\n } else {\n newCallee = self.explodeExpression(calleePath);\n }\n } else {\n newCallee = self.explodeViaTempVar(null, calleePath, hasLeapingChildren);\n if (t.isMemberExpression(newCallee)) {\n // If the callee was not previously a MemberExpression, then the\n // CallExpression was \"unqualified,\" meaning its `this` object\n // should be the global object. If the exploded expression has\n // become a MemberExpression (e.g. a context property, probably a\n // temporary variable), then we need to force it to be unqualified\n // by using the (0, object.property)(...) trick; otherwise, it\n // will receive the object of the MemberExpression as its `this`\n // object.\n newCallee = t.sequenceExpression([t.numericLiteral(0), t.cloneDeep(newCallee)]);\n }\n }\n if (hasLeapingArgs) {\n newArgs = argsPath.map(function (argPath) {\n return self.explodeViaTempVar(null, argPath, hasLeapingChildren);\n });\n if (injectFirstArg) newArgs.unshift(injectFirstArg);\n newArgs = newArgs.map(function (arg) {\n return t.cloneDeep(arg);\n });\n } else {\n newArgs = path.node.arguments;\n }\n return finish(t.callExpression(newCallee, newArgs));\n case \"NewExpression\":\n return finish(t.newExpression(self.explodeViaTempVar(null, path.get(\"callee\"), hasLeapingChildren), path.get(\"arguments\").map(function (argPath) {\n return self.explodeViaTempVar(null, argPath, hasLeapingChildren);\n })));\n case \"ObjectExpression\":\n return finish(t.objectExpression(path.get(\"properties\").map(function (propPath) {\n if (propPath.isObjectProperty()) {\n return t.objectProperty(propPath.node.key, self.explodeViaTempVar(null, propPath.get(\"value\"), hasLeapingChildren), propPath.node.computed);\n } else {\n return propPath.node;\n }\n })));\n case \"ArrayExpression\":\n return finish(t.arrayExpression(path.get(\"elements\").map(function (elemPath) {\n if (!elemPath.node) {\n return null;\n }\n if (elemPath.isSpreadElement()) {\n return t.spreadElement(self.explodeViaTempVar(null, elemPath.get(\"argument\"), hasLeapingChildren));\n } else {\n return self.explodeViaTempVar(null, elemPath, hasLeapingChildren);\n }\n })));\n case \"SequenceExpression\":\n var lastIndex = expr.expressions.length - 1;\n path.get(\"expressions\").forEach(function (exprPath) {\n if (exprPath.key === lastIndex) {\n result = self.explodeExpression(exprPath, ignoreResult);\n } else {\n self.explodeExpression(exprPath, true);\n }\n });\n return result;\n case \"LogicalExpression\":\n after = this.loc();\n if (!ignoreResult) {\n result = self.makeTempVar();\n }\n var left = self.explodeViaTempVar(result, path.get(\"left\"), hasLeapingChildren);\n if (expr.operator === \"&&\") {\n self.jumpIfNot(left, after);\n } else {\n _assert[\"default\"].strictEqual(expr.operator, \"||\");\n self.jumpIf(left, after);\n }\n self.explodeViaTempVar(result, path.get(\"right\"), hasLeapingChildren, ignoreResult);\n self.mark(after);\n return result;\n case \"ConditionalExpression\":\n var elseLoc = this.loc();\n after = this.loc();\n var test = self.explodeExpression(path.get(\"test\"));\n self.jumpIfNot(test, elseLoc);\n if (!ignoreResult) {\n result = self.makeTempVar();\n }\n self.explodeViaTempVar(result, path.get(\"consequent\"), hasLeapingChildren, ignoreResult);\n self.jump(after);\n self.mark(elseLoc);\n self.explodeViaTempVar(result, path.get(\"alternate\"), hasLeapingChildren, ignoreResult);\n self.mark(after);\n return result;\n case \"UnaryExpression\":\n return finish(t.unaryExpression(expr.operator,\n // Can't (and don't need to) break up the syntax of the argument.\n // Think about delete a[b].\n self.explodeExpression(path.get(\"argument\")), !!expr.prefix));\n case \"BinaryExpression\":\n return finish(t.binaryExpression(expr.operator, self.explodeViaTempVar(null, path.get(\"left\"), hasLeapingChildren), self.explodeViaTempVar(null, path.get(\"right\"), hasLeapingChildren)));\n case \"AssignmentExpression\":\n if (expr.operator === \"=\") {\n // If this is a simple assignment, the left hand side does not need\n // to be read before the right hand side is evaluated, so we can\n // avoid the more complicated logic below.\n return finish(t.assignmentExpression(expr.operator, self.explodeExpression(path.get(\"left\")), self.explodeExpression(path.get(\"right\"))));\n }\n var lhs = self.explodeExpression(path.get(\"left\"));\n var temp = self.emitAssign(self.makeTempVar(), lhs);\n\n // For example,\n //\n // x += yield y\n //\n // becomes\n //\n // context.t0 = x\n // x = context.t0 += yield y\n //\n // so that the left-hand side expression is read before the yield.\n // Fixes https://github.com/facebook/regenerator/issues/345.\n\n return finish(t.assignmentExpression(\"=\", t.cloneDeep(lhs), t.assignmentExpression(expr.operator, t.cloneDeep(temp), self.explodeExpression(path.get(\"right\")))));\n case \"UpdateExpression\":\n return finish(t.updateExpression(expr.operator, self.explodeExpression(path.get(\"argument\")), expr.prefix));\n case \"YieldExpression\":\n after = this.loc();\n var arg = expr.argument && self.explodeExpression(path.get(\"argument\"));\n if (arg && expr.delegate) {\n var _result = self.makeTempVar();\n var _ret = t.returnStatement(t.callExpression(self.contextProperty(\"delegateYield\"), [arg, t.stringLiteral(_result.property.name), after]));\n _ret.loc = expr.loc;\n self.emit(_ret);\n self.mark(after);\n return _result;\n }\n self.emitAssign(self.contextProperty(\"next\"), after);\n var ret = t.returnStatement(t.cloneDeep(arg) || null);\n // Preserve the `yield` location so that source mappings for the statements\n // link back to the yield properly.\n ret.loc = expr.loc;\n self.emit(ret);\n self.mark(after);\n return self.contextProperty(\"sent\");\n case \"ClassExpression\":\n return finish(self.explodeClass(path));\n default:\n throw new Error(\"unknown Expression of type \" + JSON.stringify(expr.type));\n }\n};\nEp.explodeClass = function (path) {\n var explodingChildren = [];\n if (path.node.superClass) {\n explodingChildren.push(path.get(\"superClass\"));\n }\n path.get(\"body.body\").forEach(function (member) {\n if (member.node.computed) {\n explodingChildren.push(member.get(\"key\"));\n }\n });\n var hasLeapingChildren = explodingChildren.some(function (child) {\n return meta.containsLeap(child);\n });\n for (var i = 0; i < explodingChildren.length; i++) {\n var child = explodingChildren[i];\n var isLast = i === explodingChildren.length - 1;\n if (isLast) {\n child.replaceWith(this.explodeExpression(child));\n } else {\n child.replaceWith(this.explodeViaTempVar(null, child, hasLeapingChildren));\n }\n }\n return path.node;\n};","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = replaceShorthandObjectMethod;\nvar util = _interopRequireWildcard(require(\"./util\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// this function converts a shorthand object generator method into a normal\n// (non-shorthand) object property which is a generator function expression. for\n// example, this:\n//\n// var foo = {\n// *bar(baz) { return 5; }\n// }\n//\n// should be replaced with:\n//\n// var foo = {\n// bar: function*(baz) { return 5; }\n// }\n//\n// to do this, it clones the parameter array and the body of the object generator\n// method into a new FunctionExpression.\n//\n// this method can be passed any Function AST node path, and it will return\n// either:\n// a) the path that was passed in (iff the path did not need to be replaced) or\n// b) the path of the new FunctionExpression that was created as a replacement\n// (iff the path did need to be replaced)\n//\n// In either case, though, the caller can count on the fact that the return value\n// is a Function AST node path.\n//\n// If this function is called with an AST node path that is not a Function (or with an\n// argument that isn't an AST node path), it will throw an error.\nfunction replaceShorthandObjectMethod(path) {\n var t = util.getTypes();\n if (!path.node || !t.isFunction(path.node)) {\n throw new Error(\"replaceShorthandObjectMethod can only be called on Function AST node paths.\");\n }\n\n // this function only replaces shorthand object methods (called ObjectMethod\n // in Babel-speak).\n if (!t.isObjectMethod(path.node)) {\n return path;\n }\n\n // this function only replaces generators.\n if (!path.node.generator) {\n return path;\n }\n var parameters = path.node.params.map(function (param) {\n return t.cloneDeep(param);\n });\n var functionExpression = t.functionExpression(null,\n // id\n parameters,\n // params\n t.cloneDeep(path.node.body),\n // body\n path.node.generator, path.node.async);\n util.replaceWithOrRemove(path, t.objectProperty(t.cloneDeep(path.node.key),\n // key\n functionExpression,\n //value\n path.node.computed,\n // computed\n false // shorthand\n ));\n\n // path now refers to the ObjectProperty AST node path, but we want to return a\n // Function AST node path for the function expression we created. we know that\n // the FunctionExpression we just created is the value of the ObjectProperty,\n // so return the \"value\" path off of this path.\n return path.get(\"value\");\n}","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _assert = _interopRequireDefault(require(\"assert\"));\nvar _hoist = require(\"./hoist\");\nvar _emit = require(\"./emit\");\nvar _replaceShorthandObjectMethod = _interopRequireDefault(require(\"./replaceShorthandObjectMethod\"));\nvar util = _interopRequireWildcard(require(\"./util\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nexports.getVisitor = function (_ref) {\n var t = _ref.types;\n return {\n Method: function Method(path, state) {\n var node = path.node;\n if (!shouldRegenerate(node, state)) return;\n var container = t.functionExpression(null, [], t.cloneNode(node.body, false), node.generator, node.async);\n path.get(\"body\").set(\"body\", [t.returnStatement(t.callExpression(container, []))]);\n\n // Regardless of whether or not the wrapped function is a an async method\n // or generator the outer function should not be\n node.async = false;\n node.generator = false;\n\n // Unwrap the wrapper IIFE's environment so super and this and such still work.\n path.get(\"body.body.0.argument.callee\").unwrapFunctionEnvironment();\n },\n Function: {\n exit: util.wrapWithTypes(t, function (path, state) {\n var node = path.node;\n if (!shouldRegenerate(node, state)) return;\n\n // if this is an ObjectMethod, we need to convert it to an ObjectProperty\n path = (0, _replaceShorthandObjectMethod[\"default\"])(path);\n node = path.node;\n var contextId = path.scope.generateUidIdentifier(\"context\");\n var argsId = path.scope.generateUidIdentifier(\"args\");\n path.ensureBlock();\n var bodyBlockPath = path.get(\"body\");\n if (node.async) {\n bodyBlockPath.traverse(awaitVisitor);\n }\n bodyBlockPath.traverse(functionSentVisitor, {\n context: contextId\n });\n var outerBody = [];\n var innerBody = [];\n bodyBlockPath.get(\"body\").forEach(function (childPath) {\n var node = childPath.node;\n if (t.isExpressionStatement(node) && t.isStringLiteral(node.expression)) {\n // Babylon represents directives like \"use strict\" as elements\n // of a bodyBlockPath.node.directives array, but they could just\n // as easily be represented (by other parsers) as traditional\n // string-literal-valued expression statements, so we need to\n // handle that here. (#248)\n outerBody.push(node);\n } else if (node && node._blockHoist != null) {\n outerBody.push(node);\n } else {\n innerBody.push(node);\n }\n });\n if (outerBody.length > 0) {\n // Only replace the inner body if we actually hoisted any statements\n // to the outer body.\n bodyBlockPath.node.body = innerBody;\n }\n var outerFnExpr = getOuterFnExpr(path);\n // Note that getOuterFnExpr has the side-effect of ensuring that the\n // function has a name (so node.id will always be an Identifier), even\n // if a temporary name has to be synthesized.\n t.assertIdentifier(node.id);\n var innerFnId = t.identifier(node.id.name + \"$\");\n\n // Turn all declarations into vars, and replace the original\n // declarations with equivalent assignment expressions.\n var vars = (0, _hoist.hoist)(path);\n var context = {\n usesThis: false,\n usesArguments: false,\n getArgsId: function getArgsId() {\n return t.clone(argsId);\n }\n };\n path.traverse(argumentsThisVisitor, context);\n if (context.usesArguments) {\n vars = vars || t.variableDeclaration(\"var\", []);\n vars.declarations.push(t.variableDeclarator(t.clone(argsId), t.identifier(\"arguments\")));\n }\n var emitter = new _emit.Emitter(contextId);\n emitter.explode(path.get(\"body\"));\n if (vars && vars.declarations.length > 0) {\n outerBody.push(vars);\n }\n var wrapArgs = [emitter.getContextFunction(innerFnId)];\n var tryLocsList = emitter.getTryLocsList();\n if (node.generator) {\n wrapArgs.push(outerFnExpr);\n } else if (context.usesThis || tryLocsList || node.async) {\n // Async functions that are not generators don't care about the\n // outer function because they don't need it to be marked and don't\n // inherit from its .prototype.\n wrapArgs.push(t.nullLiteral());\n }\n if (context.usesThis) {\n wrapArgs.push(t.thisExpression());\n } else if (tryLocsList || node.async) {\n wrapArgs.push(t.nullLiteral());\n }\n if (tryLocsList) {\n wrapArgs.push(tryLocsList);\n } else if (node.async) {\n wrapArgs.push(t.nullLiteral());\n }\n if (node.async) {\n // Rename any locally declared \"Promise\" variable,\n // to use the global one.\n var currentScope = path.scope;\n do {\n if (currentScope.hasOwnBinding(\"Promise\")) currentScope.rename(\"Promise\");\n } while (currentScope = currentScope.parent);\n wrapArgs.push(t.identifier(\"Promise\"));\n }\n var wrapCall = t.callExpression(util.runtimeProperty(node.async ? \"async\" : \"wrap\"), wrapArgs);\n outerBody.push(t.returnStatement(wrapCall));\n node.body = t.blockStatement(outerBody);\n // We injected a few new variable declarations (for every hoisted var),\n // so we need to add them to the scope.\n path.get(\"body.body\").forEach(function (p) {\n return p.scope.registerDeclaration(p);\n });\n var oldDirectives = bodyBlockPath.node.directives;\n if (oldDirectives) {\n // Babylon represents directives like \"use strict\" as elements of\n // a bodyBlockPath.node.directives array. (#248)\n node.body.directives = oldDirectives;\n }\n var wasGeneratorFunction = node.generator;\n if (wasGeneratorFunction) {\n node.generator = false;\n }\n if (node.async) {\n node.async = false;\n }\n if (wasGeneratorFunction && t.isExpression(node)) {\n util.replaceWithOrRemove(path, t.callExpression(util.runtimeProperty(\"mark\"), [node]));\n path.addComment(\"leading\", \"#__PURE__\");\n }\n var insertedLocs = emitter.getInsertedLocs();\n path.traverse({\n NumericLiteral: function NumericLiteral(path) {\n if (!insertedLocs.has(path.node)) {\n return;\n }\n path.replaceWith(t.numericLiteral(path.node.value));\n }\n });\n\n // Generators are processed in 'exit' handlers so that regenerator only has to run on\n // an ES5 AST, but that means traversal will not pick up newly inserted references\n // to things like 'regeneratorRuntime'. To avoid this, we explicitly requeue.\n path.requeue();\n })\n }\n };\n};\n\n// Check if a node should be transformed by regenerator\nfunction shouldRegenerate(node, state) {\n if (node.generator) {\n if (node.async) {\n // Async generator\n return state.opts.asyncGenerators !== false;\n } else {\n // Plain generator\n return state.opts.generators !== false;\n }\n } else if (node.async) {\n // Async function\n return state.opts.async !== false;\n } else {\n // Not a generator or async function.\n return false;\n }\n}\n\n// Given a NodePath for a Function, return an Expression node that can be\n// used to refer reliably to the function object from inside the function.\n// This expression is essentially a replacement for arguments.callee, with\n// the key advantage that it works in strict mode.\nfunction getOuterFnExpr(funPath) {\n var t = util.getTypes();\n var node = funPath.node;\n t.assertFunction(node);\n if (!node.id) {\n // Default-exported function declarations, and function expressions may not\n // have a name to reference, so we explicitly add one.\n node.id = funPath.scope.parent.generateUidIdentifier(\"callee\");\n }\n if (node.generator &&\n // Non-generator functions don't need to be marked.\n t.isFunctionDeclaration(node)) {\n // Return the identifier returned by runtime.mark().\n return getMarkedFunctionId(funPath);\n }\n return t.clone(node.id);\n}\nvar markInfo = new WeakMap();\nfunction getMarkInfo(node) {\n if (!markInfo.has(node)) {\n markInfo.set(node, {});\n }\n return markInfo.get(node);\n}\nfunction getMarkedFunctionId(funPath) {\n var t = util.getTypes();\n var node = funPath.node;\n t.assertIdentifier(node.id);\n var blockPath = funPath.findParent(function (path) {\n return path.isProgram() || path.isBlockStatement();\n });\n if (!blockPath) {\n return node.id;\n }\n var block = blockPath.node;\n _assert[\"default\"].ok(Array.isArray(block.body));\n var info = getMarkInfo(block);\n if (!info.decl) {\n info.decl = t.variableDeclaration(\"var\", []);\n blockPath.unshiftContainer(\"body\", info.decl);\n info.declPath = blockPath.get(\"body.0\");\n }\n _assert[\"default\"].strictEqual(info.declPath.node, info.decl);\n\n // Get a new unique identifier for our marked variable.\n var markedId = blockPath.scope.generateUidIdentifier(\"marked\");\n var markCallExp = t.callExpression(util.runtimeProperty(\"mark\"), [t.clone(node.id)]);\n var index = info.decl.declarations.push(t.variableDeclarator(markedId, markCallExp)) - 1;\n var markCallExpPath = info.declPath.get(\"declarations.\" + index + \".init\");\n _assert[\"default\"].strictEqual(markCallExpPath.node, markCallExp);\n markCallExpPath.addComment(\"leading\", \"#__PURE__\");\n return t.clone(markedId);\n}\nvar argumentsThisVisitor = {\n \"FunctionExpression|FunctionDeclaration|Method\": function FunctionExpressionFunctionDeclarationMethod(path) {\n path.skip();\n },\n Identifier: function Identifier(path, state) {\n if (path.node.name === \"arguments\" && util.isReference(path)) {\n util.replaceWithOrRemove(path, state.getArgsId());\n state.usesArguments = true;\n }\n },\n ThisExpression: function ThisExpression(path, state) {\n state.usesThis = true;\n }\n};\nvar functionSentVisitor = {\n MetaProperty: function MetaProperty(path) {\n var node = path.node;\n if (node.meta.name === \"function\" && node.property.name === \"sent\") {\n var t = util.getTypes();\n util.replaceWithOrRemove(path, t.memberExpression(t.clone(this.context), t.identifier(\"_sent\")));\n }\n }\n};\nvar awaitVisitor = {\n Function: function Function(path) {\n path.skip(); // Don't descend into nested function scopes.\n },\n\n AwaitExpression: function AwaitExpression(path) {\n var t = util.getTypes();\n\n // Convert await expressions to yield expressions.\n var argument = path.node.argument;\n\n // Transforming `await x` to `yield regeneratorRuntime.awrap(x)`\n // causes the argument to be wrapped in such a way that the runtime\n // can distinguish between awaited and merely yielded values.\n util.replaceWithOrRemove(path, t.yieldExpression(t.callExpression(util.runtimeProperty(\"awrap\"), [argument]), false));\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = _default;\nvar _visit = require(\"./visit\");\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction _default(context) {\n var plugin = {\n visitor: (0, _visit.getVisitor)(context)\n };\n\n // Some presets manually call child presets, but fail to pass along the\n // context object. Out of an abundance of caution, we verify that it\n // exists first to avoid causing unnecessary breaking changes.\n var version = context && context.version;\n\n // The \"name\" property is not allowed in older versions of Babel (6.x)\n // and will cause the plugin validator to throw an exception.\n if (version && parseInt(version, 10) >= 7) {\n plugin.name = \"regenerator-transform\";\n }\n return plugin;\n}","import { declare } from \"@babel/helper-plugin-utils\";\nimport type { types as t } from \"@babel/core\";\nimport regeneratorTransform from \"regenerator-transform\";\n\nexport default declare(({ types: t, assertVersion }) => {\n assertVersion(7);\n\n return {\n name: \"transform-regenerator\",\n\n inherits: regeneratorTransform.default,\n\n visitor: {\n // We visit MemberExpression so that we always transform\n // regeneratorRuntime before babel-plugin-polyfill-regenerator.\n MemberExpression(path) {\n if (!process.env.BABEL_8_BREAKING) {\n if (!this.availableHelper?.(\"regeneratorRuntime\")) {\n // When using an older @babel/helpers version, fallback\n // to the old behavior.\n // TODO: Remove this in Babel 8.\n return;\n }\n }\n\n const obj = path.get(\"object\");\n if (obj.isIdentifier({ name: \"regeneratorRuntime\" })) {\n const helper = this.addHelper(\"regeneratorRuntime\") as\n | t.Identifier\n | t.ArrowFunctionExpression;\n\n if (!process.env.BABEL_8_BREAKING) {\n if (\n // TODO: Remove this in Babel 8, it's necessary to\n // avoid the IIFE when using older Babel versions.\n t.isArrowFunctionExpression(helper)\n ) {\n obj.replaceWith(helper.body);\n return;\n }\n }\n\n obj.replaceWith(t.callExpression(helper, []));\n }\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-reserved-words\",\n\n visitor: {\n \"BindingIdentifier|ReferencedIdentifier\"(path: NodePath) {\n if (!t.isValidES3Identifier(path.node.name)) {\n path.scope.rename(path.node.name);\n }\n },\n },\n };\n});\n","// env vars from the cli are always strings, so !!ENV_VAR returns true for \"false\"\nfunction bool(value) {\n if (value == null) return false;\n return value && value !== \"false\" && value !== \"0\";\n}\n\nmodule.exports = bool(process.env[\"BABEL_8_BREAKING\"])\n ? require(\"semver-BABEL_8_BREAKING-true\")\n : require(\"semver-BABEL_8_BREAKING-false\");\n","import semver from \"semver\";\n\nexport function hasMinVersion(\n minVersion: string,\n runtimeVersion: string | void,\n) {\n // If the range is unavailable, we're running the script during Babel's\n // build process, and we want to assume that all versions are satisfied so\n // that the built output will include all definitions.\n if (!runtimeVersion) return true;\n\n // semver.intersects() has some surprising behavior with comparing ranges\n // with pre-release versions. We add '^' to ensure that we are always\n // comparing ranges with ranges, which sidesteps this logic.\n // For example:\n //\n // semver.intersects(`<7.0.1`, \"7.0.0-beta.0\") // false - surprising\n // semver.intersects(`<7.0.1`, \"^7.0.0-beta.0\") // true - expected\n //\n // This is because the first falls back to\n //\n // semver.satisfies(\"7.0.0-beta.0\", `<7.0.1`) // false - surprising\n //\n // and this fails because a prerelease version can only satisfy a range\n // if it is a prerelease within the same major/minor/patch range.\n //\n // Note: If this is found to have issues, please also revisit the logic in\n // babel-core's availableHelper() API.\n if (semver.valid(runtimeVersion)) runtimeVersion = `^${runtimeVersion}`;\n\n return (\n !semver.intersects(`<${minVersion}`, runtimeVersion) &&\n !semver.intersects(`>=8.0.0`, runtimeVersion)\n );\n}\n","export default function (\n moduleName: string,\n dirname: string,\n absoluteRuntime: string | boolean,\n) {\n if (absoluteRuntime === false) return moduleName;\n\n resolveFSPath();\n}\n\nexport function resolveFSPath() {\n throw new Error(\n \"The 'absoluteRuntime' option is not supported when using @babel/standalone.\",\n );\n}\n","exports = module.exports = SemVer\n\nvar debug\n/* istanbul ignore next */\nif (typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)) {\n debug = function () {\n var args = Array.prototype.slice.call(arguments, 0)\n args.unshift('SEMVER')\n console.log.apply(console, args)\n }\n} else {\n debug = function () {}\n}\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nexports.SEMVER_SPEC_VERSION = '2.0.0'\n\nvar MAX_LENGTH = 256\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nvar MAX_SAFE_COMPONENT_LENGTH = 16\n\nvar MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\n// The actual regexps go on exports.re\nvar re = exports.re = []\nvar safeRe = exports.safeRe = []\nvar src = exports.src = []\nvar t = exports.tokens = {}\nvar R = 0\n\nfunction tok (n) {\n t[n] = R++\n}\n\nvar LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nvar safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nfunction makeSafeRe (value) {\n for (var i = 0; i < safeRegexReplacements.length; i++) {\n var token = safeRegexReplacements[i][0]\n var max = safeRegexReplacements[i][1]\n value = value\n .split(token + '*').join(token + '{0,' + max + '}')\n .split(token + '+').join(token + '{1,' + max + '}')\n }\n return value\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ntok('NUMERICIDENTIFIER')\nsrc[t.NUMERICIDENTIFIER] = '0|[1-9]\\\\d*'\ntok('NUMERICIDENTIFIERLOOSE')\nsrc[t.NUMERICIDENTIFIERLOOSE] = '\\\\d+'\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ntok('NONNUMERICIDENTIFIER')\nsrc[t.NONNUMERICIDENTIFIER] = '\\\\d*[a-zA-Z-]' + LETTERDASHNUMBER + '*'\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ntok('MAINVERSION')\nsrc[t.MAINVERSION] = '(' + src[t.NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[t.NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[t.NUMERICIDENTIFIER] + ')'\n\ntok('MAINVERSIONLOOSE')\nsrc[t.MAINVERSIONLOOSE] = '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')'\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ntok('PRERELEASEIDENTIFIER')\nsrc[t.PRERELEASEIDENTIFIER] = '(?:' + src[t.NUMERICIDENTIFIER] +\n '|' + src[t.NONNUMERICIDENTIFIER] + ')'\n\ntok('PRERELEASEIDENTIFIERLOOSE')\nsrc[t.PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[t.NUMERICIDENTIFIERLOOSE] +\n '|' + src[t.NONNUMERICIDENTIFIER] + ')'\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ntok('PRERELEASE')\nsrc[t.PRERELEASE] = '(?:-(' + src[t.PRERELEASEIDENTIFIER] +\n '(?:\\\\.' + src[t.PRERELEASEIDENTIFIER] + ')*))'\n\ntok('PRERELEASELOOSE')\nsrc[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] +\n '(?:\\\\.' + src[t.PRERELEASEIDENTIFIERLOOSE] + ')*))'\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ntok('BUILDIDENTIFIER')\nsrc[t.BUILDIDENTIFIER] = LETTERDASHNUMBER + '+'\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ntok('BUILD')\nsrc[t.BUILD] = '(?:\\\\+(' + src[t.BUILDIDENTIFIER] +\n '(?:\\\\.' + src[t.BUILDIDENTIFIER] + ')*))'\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ntok('FULL')\ntok('FULLPLAIN')\nsrc[t.FULLPLAIN] = 'v?' + src[t.MAINVERSION] +\n src[t.PRERELEASE] + '?' +\n src[t.BUILD] + '?'\n\nsrc[t.FULL] = '^' + src[t.FULLPLAIN] + '$'\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ntok('LOOSEPLAIN')\nsrc[t.LOOSEPLAIN] = '[v=\\\\s]*' + src[t.MAINVERSIONLOOSE] +\n src[t.PRERELEASELOOSE] + '?' +\n src[t.BUILD] + '?'\n\ntok('LOOSE')\nsrc[t.LOOSE] = '^' + src[t.LOOSEPLAIN] + '$'\n\ntok('GTLT')\nsrc[t.GTLT] = '((?:<|>)?=?)'\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ntok('XRANGEIDENTIFIERLOOSE')\nsrc[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + '|x|X|\\\\*'\ntok('XRANGEIDENTIFIER')\nsrc[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + '|x|X|\\\\*'\n\ntok('XRANGEPLAIN')\nsrc[t.XRANGEPLAIN] = '[v=\\\\s]*(' + src[t.XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[t.XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[t.XRANGEIDENTIFIER] + ')' +\n '(?:' + src[t.PRERELEASE] + ')?' +\n src[t.BUILD] + '?' +\n ')?)?'\n\ntok('XRANGEPLAINLOOSE')\nsrc[t.XRANGEPLAINLOOSE] = '[v=\\\\s]*(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:' + src[t.PRERELEASELOOSE] + ')?' +\n src[t.BUILD] + '?' +\n ')?)?'\n\ntok('XRANGE')\nsrc[t.XRANGE] = '^' + src[t.GTLT] + '\\\\s*' + src[t.XRANGEPLAIN] + '$'\ntok('XRANGELOOSE')\nsrc[t.XRANGELOOSE] = '^' + src[t.GTLT] + '\\\\s*' + src[t.XRANGEPLAINLOOSE] + '$'\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ntok('COERCE')\nsrc[t.COERCE] = '(^|[^\\\\d])' +\n '(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:$|[^\\\\d])'\ntok('COERCERTL')\nre[t.COERCERTL] = new RegExp(src[t.COERCE], 'g')\nsafeRe[t.COERCERTL] = new RegExp(makeSafeRe(src[t.COERCE]), 'g')\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ntok('LONETILDE')\nsrc[t.LONETILDE] = '(?:~>?)'\n\ntok('TILDETRIM')\nsrc[t.TILDETRIM] = '(\\\\s*)' + src[t.LONETILDE] + '\\\\s+'\nre[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g')\nsafeRe[t.TILDETRIM] = new RegExp(makeSafeRe(src[t.TILDETRIM]), 'g')\nvar tildeTrimReplace = '$1~'\n\ntok('TILDE')\nsrc[t.TILDE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAIN] + '$'\ntok('TILDELOOSE')\nsrc[t.TILDELOOSE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + '$'\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ntok('LONECARET')\nsrc[t.LONECARET] = '(?:\\\\^)'\n\ntok('CARETTRIM')\nsrc[t.CARETTRIM] = '(\\\\s*)' + src[t.LONECARET] + '\\\\s+'\nre[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g')\nsafeRe[t.CARETTRIM] = new RegExp(makeSafeRe(src[t.CARETTRIM]), 'g')\nvar caretTrimReplace = '$1^'\n\ntok('CARET')\nsrc[t.CARET] = '^' + src[t.LONECARET] + src[t.XRANGEPLAIN] + '$'\ntok('CARETLOOSE')\nsrc[t.CARETLOOSE] = '^' + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + '$'\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ntok('COMPARATORLOOSE')\nsrc[t.COMPARATORLOOSE] = '^' + src[t.GTLT] + '\\\\s*(' + src[t.LOOSEPLAIN] + ')$|^$'\ntok('COMPARATOR')\nsrc[t.COMPARATOR] = '^' + src[t.GTLT] + '\\\\s*(' + src[t.FULLPLAIN] + ')$|^$'\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ntok('COMPARATORTRIM')\nsrc[t.COMPARATORTRIM] = '(\\\\s*)' + src[t.GTLT] +\n '\\\\s*(' + src[t.LOOSEPLAIN] + '|' + src[t.XRANGEPLAIN] + ')'\n\n// this one has to use the /g flag\nre[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g')\nsafeRe[t.COMPARATORTRIM] = new RegExp(makeSafeRe(src[t.COMPARATORTRIM]), 'g')\nvar comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ntok('HYPHENRANGE')\nsrc[t.HYPHENRANGE] = '^\\\\s*(' + src[t.XRANGEPLAIN] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[t.XRANGEPLAIN] + ')' +\n '\\\\s*$'\n\ntok('HYPHENRANGELOOSE')\nsrc[t.HYPHENRANGELOOSE] = '^\\\\s*(' + src[t.XRANGEPLAINLOOSE] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[t.XRANGEPLAINLOOSE] + ')' +\n '\\\\s*$'\n\n// Star ranges basically just allow anything at all.\ntok('STAR')\nsrc[t.STAR] = '(<|>)?=?\\\\s*\\\\*'\n\n// Compile to actual regexp objects.\n// All are flag-free, unless they were created above with a flag.\nfor (var i = 0; i < R; i++) {\n debug(i, src[i])\n if (!re[i]) {\n re[i] = new RegExp(src[i])\n\n // Replace all greedy whitespace to prevent regex dos issues. These regex are\n // used internally via the safeRe object since all inputs in this library get\n // normalized first to trim and collapse all extra whitespace. The original\n // regexes are exported for userland consumption and lower level usage. A\n // future breaking change could export the safer regex only with a note that\n // all input should have extra whitespace removed.\n safeRe[i] = new RegExp(makeSafeRe(src[i]))\n }\n}\n\nexports.parse = parse\nfunction parse (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n var r = options.loose ? safeRe[t.LOOSE] : safeRe[t.FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nexports.valid = valid\nfunction valid (version, options) {\n var v = parse(version, options)\n return v ? v.version : null\n}\n\nexports.clean = clean\nfunction clean (version, options) {\n var s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\n\nexports.SemVer = SemVer\n\nfunction SemVer (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n if (version instanceof SemVer) {\n if (version.loose === options.loose) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')\n }\n\n if (!(this instanceof SemVer)) {\n return new SemVer(version, options)\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n\n var m = version.trim().match(options.loose ? safeRe[t.LOOSE] : safeRe[t.FULL])\n\n if (!m) {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map(function (id) {\n if (/^[0-9]+$/.test(id)) {\n var num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n}\n\nSemVer.prototype.format = function () {\n this.version = this.major + '.' + this.minor + '.' + this.patch\n if (this.prerelease.length) {\n this.version += '-' + this.prerelease.join('.')\n }\n return this.version\n}\n\nSemVer.prototype.toString = function () {\n return this.version\n}\n\nSemVer.prototype.compare = function (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return this.compareMain(other) || this.comparePre(other)\n}\n\nSemVer.prototype.compareMain = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n}\n\nSemVer.prototype.comparePre = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n var i = 0\n do {\n var a = this.prerelease[i]\n var b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n}\n\nSemVer.prototype.compareBuild = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n var i = 0\n do {\n var a = this.build[i]\n var b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n}\n\n// preminor will bump the version up to the next minor release, and immediately\n// down to pre-release. premajor and prepatch work the same way.\nSemVer.prototype.inc = function (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 \"pre\" would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n var i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error('invalid increment argument: ' + release)\n }\n this.format()\n this.raw = this.version\n return this\n}\n\nexports.inc = inc\nfunction inc (version, release, loose, identifier) {\n if (typeof (loose) === 'string') {\n identifier = loose\n loose = undefined\n }\n\n try {\n return new SemVer(version, loose).inc(release, identifier).version\n } catch (er) {\n return null\n }\n}\n\nexports.diff = diff\nfunction diff (version1, version2) {\n if (eq(version1, version2)) {\n return null\n } else {\n var v1 = parse(version1)\n var v2 = parse(version2)\n var prefix = ''\n if (v1.prerelease.length || v2.prerelease.length) {\n prefix = 'pre'\n var defaultResult = 'prerelease'\n }\n for (var key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return prefix + key\n }\n }\n }\n return defaultResult // may be undefined\n }\n}\n\nexports.compareIdentifiers = compareIdentifiers\n\nvar numeric = /^[0-9]+$/\nfunction compareIdentifiers (a, b) {\n var anum = numeric.test(a)\n var bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nexports.rcompareIdentifiers = rcompareIdentifiers\nfunction rcompareIdentifiers (a, b) {\n return compareIdentifiers(b, a)\n}\n\nexports.major = major\nfunction major (a, loose) {\n return new SemVer(a, loose).major\n}\n\nexports.minor = minor\nfunction minor (a, loose) {\n return new SemVer(a, loose).minor\n}\n\nexports.patch = patch\nfunction patch (a, loose) {\n return new SemVer(a, loose).patch\n}\n\nexports.compare = compare\nfunction compare (a, b, loose) {\n return new SemVer(a, loose).compare(new SemVer(b, loose))\n}\n\nexports.compareLoose = compareLoose\nfunction compareLoose (a, b) {\n return compare(a, b, true)\n}\n\nexports.compareBuild = compareBuild\nfunction compareBuild (a, b, loose) {\n var versionA = new SemVer(a, loose)\n var versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\n\nexports.rcompare = rcompare\nfunction rcompare (a, b, loose) {\n return compare(b, a, loose)\n}\n\nexports.sort = sort\nfunction sort (list, loose) {\n return list.sort(function (a, b) {\n return exports.compareBuild(a, b, loose)\n })\n}\n\nexports.rsort = rsort\nfunction rsort (list, loose) {\n return list.sort(function (a, b) {\n return exports.compareBuild(b, a, loose)\n })\n}\n\nexports.gt = gt\nfunction gt (a, b, loose) {\n return compare(a, b, loose) > 0\n}\n\nexports.lt = lt\nfunction lt (a, b, loose) {\n return compare(a, b, loose) < 0\n}\n\nexports.eq = eq\nfunction eq (a, b, loose) {\n return compare(a, b, loose) === 0\n}\n\nexports.neq = neq\nfunction neq (a, b, loose) {\n return compare(a, b, loose) !== 0\n}\n\nexports.gte = gte\nfunction gte (a, b, loose) {\n return compare(a, b, loose) >= 0\n}\n\nexports.lte = lte\nfunction lte (a, b, loose) {\n return compare(a, b, loose) <= 0\n}\n\nexports.cmp = cmp\nfunction cmp (a, op, b, loose) {\n switch (op) {\n case '===':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a === b\n\n case '!==':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError('Invalid operator: ' + op)\n }\n}\n\nexports.Comparator = Comparator\nfunction Comparator (comp, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n if (!(this instanceof Comparator)) {\n return new Comparator(comp, options)\n }\n\n comp = comp.trim().split(/\\s+/).join(' ')\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n}\n\nvar ANY = {}\nComparator.prototype.parse = function (comp) {\n var r = this.options.loose ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR]\n var m = comp.match(r)\n\n if (!m) {\n throw new TypeError('Invalid comparator: ' + comp)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n}\n\nComparator.prototype.toString = function () {\n return this.value\n}\n\nComparator.prototype.test = function (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n}\n\nComparator.prototype.intersects = function (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n var rangeTmp\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n rangeTmp = new Range(comp.value, options)\n return satisfies(this.value, rangeTmp, options)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n rangeTmp = new Range(this.value, options)\n return satisfies(comp.semver, rangeTmp, options)\n }\n\n var sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '>=' || comp.operator === '>')\n var sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '<=' || comp.operator === '<')\n var sameSemVer = this.semver.version === comp.semver.version\n var differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') &&\n (comp.operator === '>=' || comp.operator === '<=')\n var oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver, options) &&\n ((this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<'))\n var oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver, options) &&\n ((this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>'))\n\n return sameDirectionIncreasing || sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan || oppositeDirectionsGreaterThan\n}\n\nexports.Range = Range\nfunction Range (range, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (range instanceof Range) {\n if (range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n return new Range(range.value, options)\n }\n\n if (!(this instanceof Range)) {\n return new Range(range, options)\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First reduce all whitespace as much as possible so we do not have to rely\n // on potentially slow regexes like \\s*. This is then stored and used for\n // future error messages as well.\n this.raw = range\n .trim()\n .split(/\\s+/)\n .join(' ')\n\n // First, split based on boolean or ||\n this.set = this.raw.split('||').map(function (range) {\n return this.parseRange(range.trim())\n }, this).filter(function (c) {\n // throw out any that are not relevant for whatever reason\n return c.length\n })\n\n if (!this.set.length) {\n throw new TypeError('Invalid SemVer Range: ' + this.raw)\n }\n\n this.format()\n}\n\nRange.prototype.format = function () {\n this.range = this.set.map(function (comps) {\n return comps.join(' ').trim()\n }).join('||').trim()\n return this.range\n}\n\nRange.prototype.toString = function () {\n return this.range\n}\n\nRange.prototype.parseRange = function (range) {\n var loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n var hr = loose ? safeRe[t.HYPHENRANGELOOSE] : safeRe[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace)\n debug('hyphen replace', range)\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(safeRe[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range, safeRe[t.COMPARATORTRIM])\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(safeRe[t.TILDETRIM], tildeTrimReplace)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(safeRe[t.CARETTRIM], caretTrimReplace)\n\n // normalize spaces\n range = range.split(/\\s+/).join(' ')\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n var compRe = loose ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR]\n var set = range.split(' ').map(function (comp) {\n return parseComparator(comp, this.options)\n }, this).join(' ').split(/\\s+/)\n if (this.options.loose) {\n // in loose mode, throw out any that are not valid comparators\n set = set.filter(function (comp) {\n return !!comp.match(compRe)\n })\n }\n set = set.map(function (comp) {\n return new Comparator(comp, this.options)\n }, this)\n\n return set\n}\n\nRange.prototype.intersects = function (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some(function (thisComparators) {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some(function (rangeComparators) {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every(function (thisComparator) {\n return rangeComparators.every(function (rangeComparator) {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n}\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nfunction isSatisfiable (comparators, options) {\n var result = true\n var remainingComparators = comparators.slice()\n var testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every(function (otherComparator) {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// Mostly just for testing and legacy API reasons\nexports.toComparators = toComparators\nfunction toComparators (range, options) {\n return new Range(range, options).set.map(function (comp) {\n return comp.map(function (c) {\n return c.value\n }).join(' ').trim().split(' ')\n })\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nfunction parseComparator (comp, options) {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nfunction isX (id) {\n return !id || id.toLowerCase() === 'x' || id === '*'\n}\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0\nfunction replaceTildes (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceTilde(comp, options)\n }).join(' ')\n}\n\nfunction replaceTilde (comp, options) {\n var r = options.loose ? safeRe[t.TILDELOOSE] : safeRe[t.TILDE]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('tilde', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0\n// ^1.2.3 --> >=1.2.3 <2.0.0\n// ^1.2.0 --> >=1.2.0 <2.0.0\nfunction replaceCarets (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceCaret(comp, options)\n }).join(' ')\n}\n\nfunction replaceCaret (comp, options) {\n debug('caret', comp, options)\n var r = options.loose ? safeRe[t.CARETLOOSE] : safeRe[t.CARET]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('caret', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n if (M === '0') {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else {\n ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + (+M + 1) + '.0.0'\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + (+M + 1) + '.0.0'\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nfunction replaceXRanges (comp, options) {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map(function (comp) {\n return replaceXRange(comp, options)\n }).join(' ')\n}\n\nfunction replaceXRange (comp, options) {\n comp = comp.trim()\n var r = options.loose ? safeRe[t.XRANGELOOSE] : safeRe[t.XRANGE]\n return comp.replace(r, function (ret, gtlt, M, m, p, pr) {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n var xM = isX(M)\n var xm = xM || isX(m)\n var xp = xm || isX(p)\n var anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n // >1.2.3 => >= 1.2.4\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n ret = gtlt + M + '.' + m + '.' + p + pr\n } else if (xm) {\n ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr\n } else if (xp) {\n ret = '>=' + M + '.' + m + '.0' + pr +\n ' <' + M + '.' + (+m + 1) + '.0' + pr\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nfunction replaceStars (comp, options) {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(safeRe[t.STAR], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0\nfunction hyphenReplace ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = '>=' + fM + '.0.0'\n } else if (isX(fp)) {\n from = '>=' + fM + '.' + fm + '.0'\n } else {\n from = '>=' + from\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = '<' + (+tM + 1) + '.0.0'\n } else if (isX(tp)) {\n to = '<' + tM + '.' + (+tm + 1) + '.0'\n } else if (tpr) {\n to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr\n } else {\n to = '<=' + to\n }\n\n return (from + ' ' + to).trim()\n}\n\n// if ANY of the sets match ALL of its comparators, then pass\nRange.prototype.test = function (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (var i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n}\n\nfunction testSet (set, version, options) {\n for (var i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n var allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n\nexports.satisfies = satisfies\nfunction satisfies (version, range, options) {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\n\nexports.maxSatisfying = maxSatisfying\nfunction maxSatisfying (versions, range, options) {\n var max = null\n var maxSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\n\nexports.minSatisfying = minSatisfying\nfunction minSatisfying (versions, range, options) {\n var min = null\n var minSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\n\nexports.minVersion = minVersion\nfunction minVersion (range, loose) {\n range = new Range(range, loose)\n\n var minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n comparators.forEach(function (comparator) {\n // Clone to avoid manipulating the comparator's semver object.\n var compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!minver || gt(minver, compver)) {\n minver = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error('Unexpected operation: ' + comparator.operator)\n }\n })\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\n\nexports.validRange = validRange\nfunction validRange (range, options) {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\n\n// Determine if version is less than all the versions possible in the range\nexports.ltr = ltr\nfunction ltr (version, range, options) {\n return outside(version, range, '<', options)\n}\n\n// Determine if version is greater than all the versions possible in the range.\nexports.gtr = gtr\nfunction gtr (version, range, options) {\n return outside(version, range, '>', options)\n}\n\nexports.outside = outside\nfunction outside (version, range, hilo, options) {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n var gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisifes the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n var high = null\n var low = null\n\n comparators.forEach(function (comparator) {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nexports.prerelease = prerelease\nfunction prerelease (version, options) {\n var parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\n\nexports.intersects = intersects\nfunction intersects (r1, r2, options) {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\n\nexports.coerce = coerce\nfunction coerce (version, options) {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n var match = null\n if (!options.rtl) {\n match = version.match(safeRe[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n var next\n while ((next = safeRe[t.COERCERTL].exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n safeRe[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n safeRe[t.COERCERTL].lastIndex = -1\n }\n\n if (match === null) {\n return null\n }\n\n return parse(match[2] +\n '.' + (match[3] || '0') +\n '.' + (match[4] || '0'), options)\n}\n","import { declare } from '@babel/helper-plugin-utils';\nimport _getTargets, { prettifyTargets, getInclusionReasons, isRequired } from '@babel/helper-compilation-targets';\nimport * as _babel from '@babel/core';\n\nconst {\n types: t$1,\n template: template\n} = _babel.default || _babel;\nfunction intersection(a, b) {\n const result = new Set();\n a.forEach(v => b.has(v) && result.add(v));\n return result;\n}\nfunction has$1(object, key) {\n return Object.prototype.hasOwnProperty.call(object, key);\n}\nfunction getType(target) {\n return Object.prototype.toString.call(target).slice(8, -1);\n}\nfunction resolveId(path) {\n if (path.isIdentifier() && !path.scope.hasBinding(path.node.name, /* noGlobals */true)) {\n return path.node.name;\n }\n const {\n deopt\n } = path.evaluate();\n if (deopt && deopt.isIdentifier()) {\n return deopt.node.name;\n }\n}\nfunction resolveKey(path, computed = false) {\n const {\n scope\n } = path;\n if (path.isStringLiteral()) return path.node.value;\n const isIdentifier = path.isIdentifier();\n if (isIdentifier && !(computed || path.parent.computed)) {\n return path.node.name;\n }\n if (computed && path.isMemberExpression() && path.get(\"object\").isIdentifier({\n name: \"Symbol\"\n }) && !scope.hasBinding(\"Symbol\", /* noGlobals */true)) {\n const sym = resolveKey(path.get(\"property\"), path.node.computed);\n if (sym) return \"Symbol.\" + sym;\n }\n if (!isIdentifier || scope.hasBinding(path.node.name, /* noGlobals */true)) {\n const {\n value\n } = path.evaluate();\n if (typeof value === \"string\") return value;\n }\n}\nfunction resolveSource(obj) {\n if (obj.isMemberExpression() && obj.get(\"property\").isIdentifier({\n name: \"prototype\"\n })) {\n const id = resolveId(obj.get(\"object\"));\n if (id) {\n return {\n id,\n placement: \"prototype\"\n };\n }\n return {\n id: null,\n placement: null\n };\n }\n const id = resolveId(obj);\n if (id) {\n return {\n id,\n placement: \"static\"\n };\n }\n const {\n value\n } = obj.evaluate();\n if (value !== undefined) {\n return {\n id: getType(value),\n placement: \"prototype\"\n };\n } else if (obj.isRegExpLiteral()) {\n return {\n id: \"RegExp\",\n placement: \"prototype\"\n };\n } else if (obj.isFunction()) {\n return {\n id: \"Function\",\n placement: \"prototype\"\n };\n }\n return {\n id: null,\n placement: null\n };\n}\nfunction getImportSource({\n node\n}) {\n if (node.specifiers.length === 0) return node.source.value;\n}\nfunction getRequireSource({\n node\n}) {\n if (!t$1.isExpressionStatement(node)) return;\n const {\n expression\n } = node;\n if (t$1.isCallExpression(expression) && t$1.isIdentifier(expression.callee) && expression.callee.name === \"require\" && expression.arguments.length === 1 && t$1.isStringLiteral(expression.arguments[0])) {\n return expression.arguments[0].value;\n }\n}\nfunction hoist(node) {\n // @ts-expect-error\n node._blockHoist = 3;\n return node;\n}\nfunction createUtilsGetter(cache) {\n return path => {\n const prog = path.findParent(p => p.isProgram());\n return {\n injectGlobalImport(url) {\n cache.storeAnonymous(prog, url, (isScript, source) => {\n return isScript ? template.statement.ast`require(${source})` : t$1.importDeclaration([], source);\n });\n },\n injectNamedImport(url, name, hint = name) {\n return cache.storeNamed(prog, url, name, (isScript, source, name) => {\n const id = prog.scope.generateUidIdentifier(hint);\n return {\n node: isScript ? hoist(template.statement.ast`\n var ${id} = require(${source}).${name}\n `) : t$1.importDeclaration([t$1.importSpecifier(id, name)], source),\n name: id.name\n };\n });\n },\n injectDefaultImport(url, hint = url) {\n return cache.storeNamed(prog, url, \"default\", (isScript, source) => {\n const id = prog.scope.generateUidIdentifier(hint);\n return {\n node: isScript ? hoist(template.statement.ast`var ${id} = require(${source})`) : t$1.importDeclaration([t$1.importDefaultSpecifier(id)], source),\n name: id.name\n };\n });\n }\n };\n };\n}\n\nconst {\n types: t\n} = _babel.default || _babel;\nclass ImportsCache {\n constructor(resolver) {\n this._imports = new WeakMap();\n this._anonymousImports = new WeakMap();\n this._lastImports = new WeakMap();\n this._resolver = resolver;\n }\n storeAnonymous(programPath, url,\n // eslint-disable-next-line no-undef\n getVal) {\n const key = this._normalizeKey(programPath, url);\n const imports = this._ensure(this._anonymousImports, programPath, Set);\n if (imports.has(key)) return;\n const node = getVal(programPath.node.sourceType === \"script\", t.stringLiteral(this._resolver(url)));\n imports.add(key);\n this._injectImport(programPath, node);\n }\n storeNamed(programPath, url, name, getVal) {\n const key = this._normalizeKey(programPath, url, name);\n const imports = this._ensure(this._imports, programPath, Map);\n if (!imports.has(key)) {\n const {\n node,\n name: id\n } = getVal(programPath.node.sourceType === \"script\", t.stringLiteral(this._resolver(url)), t.identifier(name));\n imports.set(key, id);\n this._injectImport(programPath, node);\n }\n return t.identifier(imports.get(key));\n }\n _injectImport(programPath, node) {\n const lastImport = this._lastImports.get(programPath);\n let newNodes;\n if (lastImport && lastImport.node &&\n // Sometimes the AST is modified and the \"last import\"\n // we have has been replaced\n lastImport.parent === programPath.node && lastImport.container === programPath.node.body) {\n newNodes = lastImport.insertAfter(node);\n } else {\n newNodes = programPath.unshiftContainer(\"body\", node);\n }\n const newNode = newNodes[newNodes.length - 1];\n this._lastImports.set(programPath, newNode);\n\n /*\n let lastImport;\n programPath.get(\"body\").forEach(path => {\n if (path.isImportDeclaration()) lastImport = path;\n if (\n path.isExpressionStatement() &&\n isRequireCall(path.get(\"expression\"))\n ) {\n lastImport = path;\n }\n if (\n path.isVariableDeclaration() &&\n path.get(\"declarations\").length === 1 &&\n (isRequireCall(path.get(\"declarations.0.init\")) ||\n (path.get(\"declarations.0.init\").isMemberExpression() &&\n isRequireCall(path.get(\"declarations.0.init.object\"))))\n ) {\n lastImport = path;\n }\n });*/\n }\n\n _ensure(map, programPath, Collection) {\n let collection = map.get(programPath);\n if (!collection) {\n collection = new Collection();\n map.set(programPath, collection);\n }\n return collection;\n }\n _normalizeKey(programPath, url, name = \"\") {\n const {\n sourceType\n } = programPath.node;\n\n // If we rely on the imported binding (the \"name\" parameter), we also need to cache\n // based on the sourceType. This is because the module transforms change the names\n // of the import variables.\n return `${name && sourceType}::${url}::${name}`;\n }\n}\n\nconst presetEnvSilentDebugHeader = \"#__secret_key__@babel/preset-env__don't_log_debug_header_and_resolved_targets\";\nfunction stringifyTargetsMultiline(targets) {\n return JSON.stringify(prettifyTargets(targets), null, 2);\n}\n\nfunction patternToRegExp(pattern) {\n if (pattern instanceof RegExp) return pattern;\n try {\n return new RegExp(`^${pattern}$`);\n } catch {\n return null;\n }\n}\nfunction buildUnusedError(label, unused) {\n if (!unused.length) return \"\";\n return ` - The following \"${label}\" patterns didn't match any polyfill:\\n` + unused.map(original => ` ${String(original)}\\n`).join(\"\");\n}\nfunction buldDuplicatesError(duplicates) {\n if (!duplicates.size) return \"\";\n return ` - The following polyfills were matched both by \"include\" and \"exclude\" patterns:\\n` + Array.from(duplicates, name => ` ${name}\\n`).join(\"\");\n}\nfunction validateIncludeExclude(provider, polyfills, includePatterns, excludePatterns) {\n let current;\n const filter = pattern => {\n const regexp = patternToRegExp(pattern);\n if (!regexp) return false;\n let matched = false;\n for (const polyfill of polyfills) {\n if (regexp.test(polyfill)) {\n matched = true;\n current.add(polyfill);\n }\n }\n return !matched;\n };\n\n // prettier-ignore\n const include = current = new Set();\n const unusedInclude = Array.from(includePatterns).filter(filter);\n\n // prettier-ignore\n const exclude = current = new Set();\n const unusedExclude = Array.from(excludePatterns).filter(filter);\n const duplicates = intersection(include, exclude);\n if (duplicates.size > 0 || unusedInclude.length > 0 || unusedExclude.length > 0) {\n throw new Error(`Error while validating the \"${provider}\" provider options:\\n` + buildUnusedError(\"include\", unusedInclude) + buildUnusedError(\"exclude\", unusedExclude) + buldDuplicatesError(duplicates));\n }\n return {\n include,\n exclude\n };\n}\nfunction applyMissingDependenciesDefaults(options, babelApi) {\n const {\n missingDependencies = {}\n } = options;\n if (missingDependencies === false) return false;\n const caller = babelApi.caller(caller => caller == null ? void 0 : caller.name);\n const {\n log = \"deferred\",\n inject = caller === \"rollup-plugin-babel\" ? \"throw\" : \"import\",\n all = false\n } = missingDependencies;\n return {\n log,\n inject,\n all\n };\n}\n\nvar usage = (callProvider => {\n function property(object, key, placement, path) {\n return callProvider({\n kind: \"property\",\n object,\n key,\n placement\n }, path);\n }\n return {\n // Symbol(), new Promise\n ReferencedIdentifier(path) {\n const {\n node: {\n name\n },\n scope\n } = path;\n if (scope.getBindingIdentifier(name)) return;\n callProvider({\n kind: \"global\",\n name\n }, path);\n },\n MemberExpression(path) {\n const key = resolveKey(path.get(\"property\"), path.node.computed);\n if (!key || key === \"prototype\") return;\n const object = path.get(\"object\");\n if (object.isIdentifier()) {\n const binding = object.scope.getBinding(object.node.name);\n if (binding && binding.path.isImportNamespaceSpecifier()) return;\n }\n const source = resolveSource(object);\n return property(source.id, key, source.placement, path);\n },\n ObjectPattern(path) {\n const {\n parentPath,\n parent\n } = path;\n let obj;\n\n // const { keys, values } = Object\n if (parentPath.isVariableDeclarator()) {\n obj = parentPath.get(\"init\");\n // ({ keys, values } = Object)\n } else if (parentPath.isAssignmentExpression()) {\n obj = parentPath.get(\"right\");\n // !function ({ keys, values }) {...} (Object)\n // resolution does not work after properties transform :-(\n } else if (parentPath.isFunction()) {\n const grand = parentPath.parentPath;\n if (grand.isCallExpression() || grand.isNewExpression()) {\n if (grand.node.callee === parent) {\n obj = grand.get(\"arguments\")[path.key];\n }\n }\n }\n let id = null;\n let placement = null;\n if (obj) ({\n id,\n placement\n } = resolveSource(obj));\n for (const prop of path.get(\"properties\")) {\n if (prop.isObjectProperty()) {\n const key = resolveKey(prop.get(\"key\"));\n if (key) property(id, key, placement, prop);\n }\n }\n },\n BinaryExpression(path) {\n if (path.node.operator !== \"in\") return;\n const source = resolveSource(path.get(\"right\"));\n const key = resolveKey(path.get(\"left\"), true);\n if (!key) return;\n callProvider({\n kind: \"in\",\n object: source.id,\n key,\n placement: source.placement\n }, path);\n }\n };\n});\n\nvar entry = (callProvider => ({\n ImportDeclaration(path) {\n const source = getImportSource(path);\n if (!source) return;\n callProvider({\n kind: \"import\",\n source\n }, path);\n },\n Program(path) {\n path.get(\"body\").forEach(bodyPath => {\n const source = getRequireSource(bodyPath);\n if (!source) return;\n callProvider({\n kind: \"import\",\n source\n }, bodyPath);\n });\n }\n}));\n\nfunction resolve(dirname, moduleName, absoluteImports) {\n if (absoluteImports === false) return moduleName;\n throw new Error(`\"absoluteImports\" is not supported in bundles prepared for the browser.`);\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction has(basedir, name) {\n return true;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction logMissing(missingDeps) {}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction laterLogMissing(missingDeps) {}\n\nconst PossibleGlobalObjects = new Set([\"global\", \"globalThis\", \"self\", \"window\"]);\nfunction createMetaResolver(polyfills) {\n const {\n static: staticP,\n instance: instanceP,\n global: globalP\n } = polyfills;\n return meta => {\n if (meta.kind === \"global\" && globalP && has$1(globalP, meta.name)) {\n return {\n kind: \"global\",\n desc: globalP[meta.name],\n name: meta.name\n };\n }\n if (meta.kind === \"property\" || meta.kind === \"in\") {\n const {\n placement,\n object,\n key\n } = meta;\n if (object && placement === \"static\") {\n if (globalP && PossibleGlobalObjects.has(object) && has$1(globalP, key)) {\n return {\n kind: \"global\",\n desc: globalP[key],\n name: key\n };\n }\n if (staticP && has$1(staticP, object) && has$1(staticP[object], key)) {\n return {\n kind: \"static\",\n desc: staticP[object][key],\n name: `${object}$${key}`\n };\n }\n }\n if (instanceP && has$1(instanceP, key)) {\n return {\n kind: \"instance\",\n desc: instanceP[key],\n name: `${key}`\n };\n }\n }\n };\n}\n\nconst getTargets = _getTargets.default || _getTargets;\nfunction resolveOptions(options, babelApi) {\n const {\n method,\n targets: targetsOption,\n ignoreBrowserslistConfig,\n configPath,\n debug,\n shouldInjectPolyfill,\n absoluteImports,\n ...providerOptions\n } = options;\n if (isEmpty(options)) {\n throw new Error(`\\\nThis plugin requires options, for example:\n {\n \"plugins\": [\n [\"\", { method: \"usage-pure\" }]\n ]\n }\n\nSee more options at https://github.com/babel/babel-polyfills/blob/main/docs/usage.md`);\n }\n let methodName;\n if (method === \"usage-global\") methodName = \"usageGlobal\";else if (method === \"entry-global\") methodName = \"entryGlobal\";else if (method === \"usage-pure\") methodName = \"usagePure\";else if (typeof method !== \"string\") {\n throw new Error(\".method must be a string\");\n } else {\n throw new Error(`.method must be one of \"entry-global\", \"usage-global\"` + ` or \"usage-pure\" (received ${JSON.stringify(method)})`);\n }\n if (typeof shouldInjectPolyfill === \"function\") {\n if (options.include || options.exclude) {\n throw new Error(`.include and .exclude are not supported when using the` + ` .shouldInjectPolyfill function.`);\n }\n } else if (shouldInjectPolyfill != null) {\n throw new Error(`.shouldInjectPolyfill must be a function, or undefined` + ` (received ${JSON.stringify(shouldInjectPolyfill)})`);\n }\n if (absoluteImports != null && typeof absoluteImports !== \"boolean\" && typeof absoluteImports !== \"string\") {\n throw new Error(`.absoluteImports must be a boolean, a string, or undefined` + ` (received ${JSON.stringify(absoluteImports)})`);\n }\n let targets;\n if (\n // If any browserslist-related option is specified, fallback to the old\n // behavior of not using the targets specified in the top-level options.\n targetsOption || configPath || ignoreBrowserslistConfig) {\n const targetsObj = typeof targetsOption === \"string\" || Array.isArray(targetsOption) ? {\n browsers: targetsOption\n } : targetsOption;\n targets = getTargets(targetsObj, {\n ignoreBrowserslistConfig,\n configPath\n });\n } else {\n targets = babelApi.targets();\n }\n return {\n method,\n methodName,\n targets,\n absoluteImports: absoluteImports != null ? absoluteImports : false,\n shouldInjectPolyfill,\n debug: !!debug,\n providerOptions: providerOptions\n };\n}\nfunction instantiateProvider(factory, options, missingDependencies, dirname, debugLog, babelApi) {\n const {\n method,\n methodName,\n targets,\n debug,\n shouldInjectPolyfill,\n providerOptions,\n absoluteImports\n } = resolveOptions(options, babelApi);\n const getUtils = createUtilsGetter(new ImportsCache(moduleName => resolve(dirname, moduleName, absoluteImports)));\n\n // eslint-disable-next-line prefer-const\n let include, exclude;\n let polyfillsSupport;\n let polyfillsNames;\n let filterPolyfills;\n const depsCache = new Map();\n const api = {\n babel: babelApi,\n getUtils,\n method: options.method,\n targets,\n createMetaResolver,\n shouldInjectPolyfill(name) {\n if (polyfillsNames === undefined) {\n throw new Error(`Internal error in the ${factory.name} provider: ` + `shouldInjectPolyfill() can't be called during initialization.`);\n }\n if (!polyfillsNames.has(name)) {\n console.warn(`Internal error in the ${providerName} provider: ` + `unknown polyfill \"${name}\".`);\n }\n if (filterPolyfills && !filterPolyfills(name)) return false;\n let shouldInject = isRequired(name, targets, {\n compatData: polyfillsSupport,\n includes: include,\n excludes: exclude\n });\n if (shouldInjectPolyfill) {\n shouldInject = shouldInjectPolyfill(name, shouldInject);\n if (typeof shouldInject !== \"boolean\") {\n throw new Error(`.shouldInjectPolyfill must return a boolean.`);\n }\n }\n return shouldInject;\n },\n debug(name) {\n var _debugLog, _debugLog$polyfillsSu;\n debugLog().found = true;\n if (!debug || !name) return;\n if (debugLog().polyfills.has(providerName)) return;\n debugLog().polyfills.add(name);\n (_debugLog$polyfillsSu = (_debugLog = debugLog()).polyfillsSupport) != null ? _debugLog$polyfillsSu : _debugLog.polyfillsSupport = polyfillsSupport;\n },\n assertDependency(name, version = \"*\") {\n if (missingDependencies === false) return;\n if (absoluteImports) {\n // If absoluteImports is not false, we will try resolving\n // the dependency and throw if it's not possible. We can\n // skip the check here.\n return;\n }\n const dep = version === \"*\" ? name : `${name}@^${version}`;\n const found = missingDependencies.all ? false : mapGetOr(depsCache, `${name} :: ${dirname}`, () => has());\n if (!found) {\n debugLog().missingDeps.add(dep);\n }\n }\n };\n const provider = factory(api, providerOptions, dirname);\n const providerName = provider.name || factory.name;\n if (typeof provider[methodName] !== \"function\") {\n throw new Error(`The \"${providerName}\" provider doesn't support the \"${method}\" polyfilling method.`);\n }\n if (Array.isArray(provider.polyfills)) {\n polyfillsNames = new Set(provider.polyfills);\n filterPolyfills = provider.filterPolyfills;\n } else if (provider.polyfills) {\n polyfillsNames = new Set(Object.keys(provider.polyfills));\n polyfillsSupport = provider.polyfills;\n filterPolyfills = provider.filterPolyfills;\n } else {\n polyfillsNames = new Set();\n }\n ({\n include,\n exclude\n } = validateIncludeExclude(providerName, polyfillsNames, providerOptions.include || [], providerOptions.exclude || []));\n return {\n debug,\n method,\n targets,\n provider,\n providerName,\n callProvider(payload, path) {\n const utils = getUtils(path);\n provider[methodName](payload, utils, path);\n }\n };\n}\nfunction definePolyfillProvider(factory) {\n return declare((babelApi, options, dirname) => {\n babelApi.assertVersion(7);\n const {\n traverse\n } = babelApi;\n let debugLog;\n const missingDependencies = applyMissingDependenciesDefaults(options, babelApi);\n const {\n debug,\n method,\n targets,\n provider,\n providerName,\n callProvider\n } = instantiateProvider(factory, options, missingDependencies, dirname, () => debugLog, babelApi);\n const createVisitor = method === \"entry-global\" ? entry : usage;\n const visitor = provider.visitor ? traverse.visitors.merge([createVisitor(callProvider), provider.visitor]) : createVisitor(callProvider);\n if (debug && debug !== presetEnvSilentDebugHeader) {\n console.log(`${providerName}: \\`DEBUG\\` option`);\n console.log(`\\nUsing targets: ${stringifyTargetsMultiline(targets)}`);\n console.log(`\\nUsing polyfills with \\`${method}\\` method:`);\n }\n const {\n runtimeName\n } = provider;\n return {\n name: \"inject-polyfills\",\n visitor,\n pre(file) {\n var _provider$pre;\n if (runtimeName) {\n if (file.get(\"runtimeHelpersModuleName\") && file.get(\"runtimeHelpersModuleName\") !== runtimeName) {\n console.warn(`Two different polyfill providers` + ` (${file.get(\"runtimeHelpersModuleProvider\")}` + ` and ${providerName}) are trying to define two` + ` conflicting @babel/runtime alternatives:` + ` ${file.get(\"runtimeHelpersModuleName\")} and ${runtimeName}.` + ` The second one will be ignored.`);\n } else {\n file.set(\"runtimeHelpersModuleName\", runtimeName);\n file.set(\"runtimeHelpersModuleProvider\", providerName);\n }\n }\n debugLog = {\n polyfills: new Set(),\n polyfillsSupport: undefined,\n found: false,\n providers: new Set(),\n missingDeps: new Set()\n };\n (_provider$pre = provider.pre) == null ? void 0 : _provider$pre.apply(this, arguments);\n },\n post() {\n var _provider$post;\n (_provider$post = provider.post) == null ? void 0 : _provider$post.apply(this, arguments);\n if (missingDependencies !== false) {\n if (missingDependencies.log === \"per-file\") {\n logMissing(debugLog.missingDeps);\n } else {\n laterLogMissing(debugLog.missingDeps);\n }\n }\n if (!debug) return;\n if (this.filename) console.log(`\\n[${this.filename}]`);\n if (debugLog.polyfills.size === 0) {\n console.log(method === \"entry-global\" ? debugLog.found ? `Based on your targets, the ${providerName} polyfill did not add any polyfill.` : `The entry point for the ${providerName} polyfill has not been found.` : `Based on your code and targets, the ${providerName} polyfill did not add any polyfill.`);\n return;\n }\n if (method === \"entry-global\") {\n console.log(`The ${providerName} polyfill entry has been replaced with ` + `the following polyfills:`);\n } else {\n console.log(`The ${providerName} polyfill added the following polyfills:`);\n }\n for (const name of debugLog.polyfills) {\n var _debugLog$polyfillsSu2;\n if ((_debugLog$polyfillsSu2 = debugLog.polyfillsSupport) != null && _debugLog$polyfillsSu2[name]) {\n const filteredTargets = getInclusionReasons(name, targets, debugLog.polyfillsSupport);\n const formattedTargets = JSON.stringify(filteredTargets).replace(/,/g, \", \").replace(/^\\{\"/, '{ \"').replace(/\"\\}$/, '\" }');\n console.log(` ${name} ${formattedTargets}`);\n } else {\n console.log(` ${name}`);\n }\n }\n }\n };\n });\n}\nfunction mapGetOr(map, key, getDefault) {\n let val = map.get(key);\n if (val === undefined) {\n val = getDefault();\n map.set(key, val);\n }\n return val;\n}\nfunction isEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\n\nexport default definePolyfillProvider;\n//# sourceMappingURL=index.browser.mjs.map\n","import corejs2Polyfills from '@babel/compat-data/corejs2-built-ins';\nimport semver from 'semver';\nimport defineProvider from '@babel/helper-define-polyfill-provider';\nimport * as _babel from '@babel/core';\n\nconst define = (name, pure, global = [], meta) => {\n return {\n name,\n pure,\n global,\n meta\n };\n};\nconst pureAndGlobal = (pure, global, minRuntimeVersion = null) => define(global[0], pure, global, {\n minRuntimeVersion\n});\nconst globalOnly = global => define(global[0], null, global);\nconst pureOnly = (pure, name) => define(name, pure, []);\nconst ArrayNatureIterators = [\"es6.object.to-string\", \"es6.array.iterator\", \"web.dom.iterable\"];\nconst CommonIterators = [\"es6.string.iterator\", ...ArrayNatureIterators];\nconst PromiseDependencies = [\"es6.object.to-string\", \"es6.promise\"];\nconst BuiltIns = {\n DataView: globalOnly([\"es6.typed.data-view\"]),\n Float32Array: globalOnly([\"es6.typed.float32-array\"]),\n Float64Array: globalOnly([\"es6.typed.float64-array\"]),\n Int8Array: globalOnly([\"es6.typed.int8-array\"]),\n Int16Array: globalOnly([\"es6.typed.int16-array\"]),\n Int32Array: globalOnly([\"es6.typed.int32-array\"]),\n Map: pureAndGlobal(\"map\", [\"es6.map\", ...CommonIterators]),\n Number: globalOnly([\"es6.number.constructor\"]),\n Promise: pureAndGlobal(\"promise\", PromiseDependencies),\n RegExp: globalOnly([\"es6.regexp.constructor\"]),\n Set: pureAndGlobal(\"set\", [\"es6.set\", ...CommonIterators]),\n Symbol: pureAndGlobal(\"symbol/index\", [\"es6.symbol\"]),\n Uint8Array: globalOnly([\"es6.typed.uint8-array\"]),\n Uint8ClampedArray: globalOnly([\"es6.typed.uint8-clamped-array\"]),\n Uint16Array: globalOnly([\"es6.typed.uint16-array\"]),\n Uint32Array: globalOnly([\"es6.typed.uint32-array\"]),\n WeakMap: pureAndGlobal(\"weak-map\", [\"es6.weak-map\", ...CommonIterators]),\n WeakSet: pureAndGlobal(\"weak-set\", [\"es6.weak-set\", ...CommonIterators]),\n setImmediate: pureOnly(\"set-immediate\", \"web.immediate\"),\n clearImmediate: pureOnly(\"clear-immediate\", \"web.immediate\"),\n parseFloat: pureOnly(\"parse-float\", \"es6.parse-float\"),\n parseInt: pureOnly(\"parse-int\", \"es6.parse-int\")\n};\nconst InstanceProperties = {\n __defineGetter__: globalOnly([\"es7.object.define-getter\"]),\n __defineSetter__: globalOnly([\"es7.object.define-setter\"]),\n __lookupGetter__: globalOnly([\"es7.object.lookup-getter\"]),\n __lookupSetter__: globalOnly([\"es7.object.lookup-setter\"]),\n anchor: globalOnly([\"es6.string.anchor\"]),\n big: globalOnly([\"es6.string.big\"]),\n bind: globalOnly([\"es6.function.bind\"]),\n blink: globalOnly([\"es6.string.blink\"]),\n bold: globalOnly([\"es6.string.bold\"]),\n codePointAt: globalOnly([\"es6.string.code-point-at\"]),\n copyWithin: globalOnly([\"es6.array.copy-within\"]),\n endsWith: globalOnly([\"es6.string.ends-with\"]),\n entries: globalOnly(ArrayNatureIterators),\n every: globalOnly([\"es6.array.every\"]),\n fill: globalOnly([\"es6.array.fill\"]),\n filter: globalOnly([\"es6.array.filter\"]),\n finally: globalOnly([\"es7.promise.finally\", ...PromiseDependencies]),\n find: globalOnly([\"es6.array.find\"]),\n findIndex: globalOnly([\"es6.array.find-index\"]),\n fixed: globalOnly([\"es6.string.fixed\"]),\n flags: globalOnly([\"es6.regexp.flags\"]),\n flatMap: globalOnly([\"es7.array.flat-map\"]),\n fontcolor: globalOnly([\"es6.string.fontcolor\"]),\n fontsize: globalOnly([\"es6.string.fontsize\"]),\n forEach: globalOnly([\"es6.array.for-each\"]),\n includes: globalOnly([\"es6.string.includes\", \"es7.array.includes\"]),\n indexOf: globalOnly([\"es6.array.index-of\"]),\n italics: globalOnly([\"es6.string.italics\"]),\n keys: globalOnly(ArrayNatureIterators),\n lastIndexOf: globalOnly([\"es6.array.last-index-of\"]),\n link: globalOnly([\"es6.string.link\"]),\n map: globalOnly([\"es6.array.map\"]),\n match: globalOnly([\"es6.regexp.match\"]),\n name: globalOnly([\"es6.function.name\"]),\n padStart: globalOnly([\"es7.string.pad-start\"]),\n padEnd: globalOnly([\"es7.string.pad-end\"]),\n reduce: globalOnly([\"es6.array.reduce\"]),\n reduceRight: globalOnly([\"es6.array.reduce-right\"]),\n repeat: globalOnly([\"es6.string.repeat\"]),\n replace: globalOnly([\"es6.regexp.replace\"]),\n search: globalOnly([\"es6.regexp.search\"]),\n small: globalOnly([\"es6.string.small\"]),\n some: globalOnly([\"es6.array.some\"]),\n sort: globalOnly([\"es6.array.sort\"]),\n split: globalOnly([\"es6.regexp.split\"]),\n startsWith: globalOnly([\"es6.string.starts-with\"]),\n strike: globalOnly([\"es6.string.strike\"]),\n sub: globalOnly([\"es6.string.sub\"]),\n sup: globalOnly([\"es6.string.sup\"]),\n toISOString: globalOnly([\"es6.date.to-iso-string\"]),\n toJSON: globalOnly([\"es6.date.to-json\"]),\n toString: globalOnly([\"es6.object.to-string\", \"es6.date.to-string\", \"es6.regexp.to-string\"]),\n trim: globalOnly([\"es6.string.trim\"]),\n trimEnd: globalOnly([\"es7.string.trim-right\"]),\n trimLeft: globalOnly([\"es7.string.trim-left\"]),\n trimRight: globalOnly([\"es7.string.trim-right\"]),\n trimStart: globalOnly([\"es7.string.trim-left\"]),\n values: globalOnly(ArrayNatureIterators)\n};\n\n// This isn't present in older @babel/compat-data versions\nif (\"es6.array.slice\" in corejs2Polyfills) {\n InstanceProperties.slice = globalOnly([\"es6.array.slice\"]);\n}\nconst StaticProperties = {\n Array: {\n from: pureAndGlobal(\"array/from\", [\"es6.symbol\", \"es6.array.from\", ...CommonIterators]),\n isArray: pureAndGlobal(\"array/is-array\", [\"es6.array.is-array\"]),\n of: pureAndGlobal(\"array/of\", [\"es6.array.of\"])\n },\n Date: {\n now: pureAndGlobal(\"date/now\", [\"es6.date.now\"])\n },\n JSON: {\n stringify: pureOnly(\"json/stringify\", \"es6.symbol\")\n },\n Math: {\n // 'Math' was not included in the 7.0.0\n // release of '@babel/runtime'. See issue https://github.com/babel/babel/pull/8616.\n acosh: pureAndGlobal(\"math/acosh\", [\"es6.math.acosh\"], \"7.0.1\"),\n asinh: pureAndGlobal(\"math/asinh\", [\"es6.math.asinh\"], \"7.0.1\"),\n atanh: pureAndGlobal(\"math/atanh\", [\"es6.math.atanh\"], \"7.0.1\"),\n cbrt: pureAndGlobal(\"math/cbrt\", [\"es6.math.cbrt\"], \"7.0.1\"),\n clz32: pureAndGlobal(\"math/clz32\", [\"es6.math.clz32\"], \"7.0.1\"),\n cosh: pureAndGlobal(\"math/cosh\", [\"es6.math.cosh\"], \"7.0.1\"),\n expm1: pureAndGlobal(\"math/expm1\", [\"es6.math.expm1\"], \"7.0.1\"),\n fround: pureAndGlobal(\"math/fround\", [\"es6.math.fround\"], \"7.0.1\"),\n hypot: pureAndGlobal(\"math/hypot\", [\"es6.math.hypot\"], \"7.0.1\"),\n imul: pureAndGlobal(\"math/imul\", [\"es6.math.imul\"], \"7.0.1\"),\n log1p: pureAndGlobal(\"math/log1p\", [\"es6.math.log1p\"], \"7.0.1\"),\n log10: pureAndGlobal(\"math/log10\", [\"es6.math.log10\"], \"7.0.1\"),\n log2: pureAndGlobal(\"math/log2\", [\"es6.math.log2\"], \"7.0.1\"),\n sign: pureAndGlobal(\"math/sign\", [\"es6.math.sign\"], \"7.0.1\"),\n sinh: pureAndGlobal(\"math/sinh\", [\"es6.math.sinh\"], \"7.0.1\"),\n tanh: pureAndGlobal(\"math/tanh\", [\"es6.math.tanh\"], \"7.0.1\"),\n trunc: pureAndGlobal(\"math/trunc\", [\"es6.math.trunc\"], \"7.0.1\")\n },\n Number: {\n EPSILON: pureAndGlobal(\"number/epsilon\", [\"es6.number.epsilon\"]),\n MIN_SAFE_INTEGER: pureAndGlobal(\"number/min-safe-integer\", [\"es6.number.min-safe-integer\"]),\n MAX_SAFE_INTEGER: pureAndGlobal(\"number/max-safe-integer\", [\"es6.number.max-safe-integer\"]),\n isFinite: pureAndGlobal(\"number/is-finite\", [\"es6.number.is-finite\"]),\n isInteger: pureAndGlobal(\"number/is-integer\", [\"es6.number.is-integer\"]),\n isSafeInteger: pureAndGlobal(\"number/is-safe-integer\", [\"es6.number.is-safe-integer\"]),\n isNaN: pureAndGlobal(\"number/is-nan\", [\"es6.number.is-nan\"]),\n parseFloat: pureAndGlobal(\"number/parse-float\", [\"es6.number.parse-float\"]),\n parseInt: pureAndGlobal(\"number/parse-int\", [\"es6.number.parse-int\"])\n },\n Object: {\n assign: pureAndGlobal(\"object/assign\", [\"es6.object.assign\"]),\n create: pureAndGlobal(\"object/create\", [\"es6.object.create\"]),\n defineProperties: pureAndGlobal(\"object/define-properties\", [\"es6.object.define-properties\"]),\n defineProperty: pureAndGlobal(\"object/define-property\", [\"es6.object.define-property\"]),\n entries: pureAndGlobal(\"object/entries\", [\"es7.object.entries\"]),\n freeze: pureAndGlobal(\"object/freeze\", [\"es6.object.freeze\"]),\n getOwnPropertyDescriptor: pureAndGlobal(\"object/get-own-property-descriptor\", [\"es6.object.get-own-property-descriptor\"]),\n getOwnPropertyDescriptors: pureAndGlobal(\"object/get-own-property-descriptors\", [\"es7.object.get-own-property-descriptors\"]),\n getOwnPropertyNames: pureAndGlobal(\"object/get-own-property-names\", [\"es6.object.get-own-property-names\"]),\n getOwnPropertySymbols: pureAndGlobal(\"object/get-own-property-symbols\", [\"es6.symbol\"]),\n getPrototypeOf: pureAndGlobal(\"object/get-prototype-of\", [\"es6.object.get-prototype-of\"]),\n is: pureAndGlobal(\"object/is\", [\"es6.object.is\"]),\n isExtensible: pureAndGlobal(\"object/is-extensible\", [\"es6.object.is-extensible\"]),\n isFrozen: pureAndGlobal(\"object/is-frozen\", [\"es6.object.is-frozen\"]),\n isSealed: pureAndGlobal(\"object/is-sealed\", [\"es6.object.is-sealed\"]),\n keys: pureAndGlobal(\"object/keys\", [\"es6.object.keys\"]),\n preventExtensions: pureAndGlobal(\"object/prevent-extensions\", [\"es6.object.prevent-extensions\"]),\n seal: pureAndGlobal(\"object/seal\", [\"es6.object.seal\"]),\n setPrototypeOf: pureAndGlobal(\"object/set-prototype-of\", [\"es6.object.set-prototype-of\"]),\n values: pureAndGlobal(\"object/values\", [\"es7.object.values\"])\n },\n Promise: {\n all: globalOnly(CommonIterators),\n race: globalOnly(CommonIterators)\n },\n Reflect: {\n apply: pureAndGlobal(\"reflect/apply\", [\"es6.reflect.apply\"]),\n construct: pureAndGlobal(\"reflect/construct\", [\"es6.reflect.construct\"]),\n defineProperty: pureAndGlobal(\"reflect/define-property\", [\"es6.reflect.define-property\"]),\n deleteProperty: pureAndGlobal(\"reflect/delete-property\", [\"es6.reflect.delete-property\"]),\n get: pureAndGlobal(\"reflect/get\", [\"es6.reflect.get\"]),\n getOwnPropertyDescriptor: pureAndGlobal(\"reflect/get-own-property-descriptor\", [\"es6.reflect.get-own-property-descriptor\"]),\n getPrototypeOf: pureAndGlobal(\"reflect/get-prototype-of\", [\"es6.reflect.get-prototype-of\"]),\n has: pureAndGlobal(\"reflect/has\", [\"es6.reflect.has\"]),\n isExtensible: pureAndGlobal(\"reflect/is-extensible\", [\"es6.reflect.is-extensible\"]),\n ownKeys: pureAndGlobal(\"reflect/own-keys\", [\"es6.reflect.own-keys\"]),\n preventExtensions: pureAndGlobal(\"reflect/prevent-extensions\", [\"es6.reflect.prevent-extensions\"]),\n set: pureAndGlobal(\"reflect/set\", [\"es6.reflect.set\"]),\n setPrototypeOf: pureAndGlobal(\"reflect/set-prototype-of\", [\"es6.reflect.set-prototype-of\"])\n },\n String: {\n at: pureOnly(\"string/at\", \"es7.string.at\"),\n fromCodePoint: pureAndGlobal(\"string/from-code-point\", [\"es6.string.from-code-point\"]),\n raw: pureAndGlobal(\"string/raw\", [\"es6.string.raw\"])\n },\n Symbol: {\n // FIXME: Pure disabled to work around zloirock/core-js#262.\n asyncIterator: globalOnly([\"es6.symbol\", \"es7.symbol.async-iterator\"]),\n for: pureOnly(\"symbol/for\", \"es6.symbol\"),\n hasInstance: pureOnly(\"symbol/has-instance\", \"es6.symbol\"),\n isConcatSpreadable: pureOnly(\"symbol/is-concat-spreadable\", \"es6.symbol\"),\n iterator: define(\"es6.symbol\", \"symbol/iterator\", CommonIterators),\n keyFor: pureOnly(\"symbol/key-for\", \"es6.symbol\"),\n match: pureAndGlobal(\"symbol/match\", [\"es6.regexp.match\"]),\n replace: pureOnly(\"symbol/replace\", \"es6.symbol\"),\n search: pureOnly(\"symbol/search\", \"es6.symbol\"),\n species: pureOnly(\"symbol/species\", \"es6.symbol\"),\n split: pureOnly(\"symbol/split\", \"es6.symbol\"),\n toPrimitive: pureOnly(\"symbol/to-primitive\", \"es6.symbol\"),\n toStringTag: pureOnly(\"symbol/to-string-tag\", \"es6.symbol\"),\n unscopables: pureOnly(\"symbol/unscopables\", \"es6.symbol\")\n }\n};\n\nconst webPolyfills = {\n \"web.timers\": {},\n \"web.immediate\": {},\n \"web.dom.iterable\": {}\n};\nconst purePolyfills = {\n \"es6.parse-float\": {},\n \"es6.parse-int\": {},\n \"es7.string.at\": {}\n};\nfunction addPlatformSpecificPolyfills (targets, method, polyfills) {\n const targetNames = Object.keys(targets);\n const isAnyTarget = !targetNames.length;\n const isWebTarget = targetNames.some(name => name !== \"node\");\n return {\n ...polyfills,\n ...(method === \"usage-pure\" ? purePolyfills : null),\n ...(isAnyTarget || isWebTarget ? webPolyfills : null)\n };\n}\n\nfunction hasMinVersion(minVersion, runtimeVersion) {\n // If the range is unavailable, we're running the script during Babel's\n // build process, and we want to assume that all versions are satisfied so\n // that the built output will include all definitions.\n if (!runtimeVersion || !minVersion) return true;\n\n // semver.intersects() has some surprising behavior with comparing ranges\n // with preprelease versions. We add '^' to ensure that we are always\n // comparing ranges with ranges, which sidesteps this logic.\n // For example:\n //\n // semver.intersects(`<7.0.1`, \"7.0.0-beta.0\") // false - surprising\n // semver.intersects(`<7.0.1`, \"^7.0.0-beta.0\") // true - expected\n //\n // This is because the first falls back to\n //\n // semver.satisfies(\"7.0.0-beta.0\", `<7.0.1`) // false - surprising\n //\n // and this fails because a prerelease version can only satisfy a range\n // if it is a prerelease within the same major/minor/patch range.\n //\n // Note: If this is found to have issues, please also revist the logic in\n // babel-core's availableHelper() API.\n if (semver.valid(runtimeVersion)) runtimeVersion = `^${runtimeVersion}`;\n return !semver.intersects(`<${minVersion}`, runtimeVersion) && !semver.intersects(`>=8.0.0`, runtimeVersion);\n}\n\nconst {\n types: t\n} = _babel.default || _babel;\nconst BABEL_RUNTIME = \"@babel/runtime-corejs2\";\nconst presetEnvCompat = \"#__secret_key__@babel/preset-env__compatibility\";\nconst runtimeCompat = \"#__secret_key__@babel/runtime__compatibility\";\nconst has = Function.call.bind(Object.hasOwnProperty);\nvar index = defineProvider(function (api, {\n [presetEnvCompat]: {\n entryInjectRegenerator = false,\n noRuntimeName = false\n } = {},\n [runtimeCompat]: {\n useBabelRuntime = false,\n runtimeVersion = \"\",\n ext = \".js\"\n } = {}\n}) {\n const resolve = api.createMetaResolver({\n global: BuiltIns,\n static: StaticProperties,\n instance: InstanceProperties\n });\n const {\n debug,\n shouldInjectPolyfill,\n method\n } = api;\n const polyfills = addPlatformSpecificPolyfills(api.targets, method, corejs2Polyfills);\n const coreJSBase = useBabelRuntime ? `${BABEL_RUNTIME}/core-js` : method === \"usage-pure\" ? \"core-js/library/fn\" : \"core-js/modules\";\n function inject(name, utils) {\n if (typeof name === \"string\") {\n // Some polyfills aren't always available, for example\n // web.dom.iterable when targeting node\n if (has(polyfills, name) && shouldInjectPolyfill(name)) {\n debug(name);\n utils.injectGlobalImport(`${coreJSBase}/${name}.js`);\n }\n return;\n }\n name.forEach(name => inject(name, utils));\n }\n function maybeInjectPure(desc, hint, utils) {\n let {\n pure,\n meta,\n name\n } = desc;\n if (!pure || !shouldInjectPolyfill(name)) return;\n if (runtimeVersion && meta && meta.minRuntimeVersion && !hasMinVersion(meta && meta.minRuntimeVersion, runtimeVersion)) {\n return;\n }\n\n // Unfortunately core-js and @babel/runtime-corejs2 don't have the same\n // directory structure, so we need to special case this.\n if (useBabelRuntime && pure === \"symbol/index\") pure = \"symbol\";\n return utils.injectDefaultImport(`${coreJSBase}/${pure}${ext}`, hint);\n }\n return {\n name: \"corejs2\",\n runtimeName: noRuntimeName ? null : BABEL_RUNTIME,\n polyfills,\n entryGlobal(meta, utils, path) {\n if (meta.kind === \"import\" && meta.source === \"core-js\") {\n debug(null);\n inject(Object.keys(polyfills), utils);\n if (entryInjectRegenerator) {\n utils.injectGlobalImport(\"regenerator-runtime/runtime.js\");\n }\n path.remove();\n }\n },\n usageGlobal(meta, utils) {\n const resolved = resolve(meta);\n if (!resolved) return;\n let deps = resolved.desc.global;\n if (resolved.kind !== \"global\" && \"object\" in meta && meta.object && meta.placement === \"prototype\") {\n const low = meta.object.toLowerCase();\n deps = deps.filter(m => m.includes(low));\n }\n inject(deps, utils);\n },\n usagePure(meta, utils, path) {\n if (meta.kind === \"in\") {\n if (meta.key === \"Symbol.iterator\") {\n path.replaceWith(t.callExpression(utils.injectDefaultImport(`${coreJSBase}/is-iterable${ext}`, \"isIterable\"), [path.node.right] // meta.kind === \"in\" narrows this\n ));\n }\n\n return;\n }\n if (path.parentPath.isUnaryExpression({\n operator: \"delete\"\n })) return;\n if (meta.kind === \"property\") {\n // We can't compile destructuring.\n if (!path.isMemberExpression()) return;\n if (!path.isReferenced()) return;\n if (meta.key === \"Symbol.iterator\" && shouldInjectPolyfill(\"es6.symbol\") && path.parentPath.isCallExpression({\n callee: path.node\n }) && path.parentPath.node.arguments.length === 0) {\n path.parentPath.replaceWith(t.callExpression(utils.injectDefaultImport(`${coreJSBase}/get-iterator${ext}`, \"getIterator\"), [path.node.object]));\n path.skip();\n return;\n }\n }\n const resolved = resolve(meta);\n if (!resolved) return;\n const id = maybeInjectPure(resolved.desc, resolved.name, utils);\n if (id) path.replaceWith(id);\n },\n visitor: method === \"usage-global\" && {\n // yield*\n YieldExpression(path) {\n if (path.node.delegate) {\n inject(\"web.dom.iterable\", api.getUtils(path));\n }\n },\n // for-of, [a, b] = c\n \"ForOfStatement|ArrayPattern\"(path) {\n CommonIterators.forEach(name => inject(name, api.getUtils(path)));\n }\n }\n };\n});\n\nexport default index;\n//# sourceMappingURL=index.mjs.map\n","module.exports = require(\"core-js-compat/data\");\n","'use strict';\n// eslint-disable-next-line es/no-object-hasown -- safe\nconst has = Object.hasOwn || Function.call.bind({}.hasOwnProperty);\n\nfunction semver(input) {\n if (input instanceof semver) return input;\n // eslint-disable-next-line new-cap -- ok\n if (!(this instanceof semver)) return new semver(input);\n const match = /(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?/.exec(input);\n if (!match) throw TypeError(`Invalid version: ${ input }`);\n const [, $major, $minor, $patch] = match;\n this.major = +$major;\n this.minor = $minor ? +$minor : 0;\n this.patch = $patch ? +$patch : 0;\n}\n\nsemver.prototype.toString = function () {\n return `${ this.major }.${ this.minor }.${ this.patch }`;\n};\n\nfunction compare($a, operator, $b) {\n const a = semver($a);\n const b = semver($b);\n for (const component of ['major', 'minor', 'patch']) {\n if (a[component] < b[component]) return operator === '<' || operator === '<=' || operator === '!=';\n if (a[component] > b[component]) return operator === '>' || operator === '>=' || operator === '!=';\n } return operator === '==' || operator === '<=' || operator === '>=';\n}\n\nfunction filterOutStabilizedProposals(modules) {\n const modulesSet = new Set(modules);\n\n for (const $module of modulesSet) {\n if ($module.startsWith('esnext.') && modulesSet.has($module.replace(/^esnext\\./, 'es.'))) {\n modulesSet.delete($module);\n }\n }\n\n return [...modulesSet];\n}\n\nfunction intersection(list, order) {\n const set = list instanceof Set ? list : new Set(list);\n return order.filter(name => set.has(name));\n}\n\nfunction sortObjectByKey(object, fn) {\n return Object.keys(object).sort(fn).reduce((memo, key) => {\n memo[key] = object[key];\n return memo;\n }, {});\n}\n\nmodule.exports = {\n compare,\n filterOutStabilizedProposals,\n has,\n intersection,\n semver,\n sortObjectByKey,\n};\n","'use strict';\nconst { compare, intersection, semver } = require('./helpers');\nconst modulesByVersions = require('./modules-by-versions');\nconst modules = require('./modules');\n\nmodule.exports = function (raw) {\n const corejs = semver(raw);\n if (corejs.major !== 3) {\n throw RangeError('This version of `core-js-compat` works only with `core-js@3`.');\n }\n const result = [];\n for (const version of Object.keys(modulesByVersions)) {\n if (compare(version, '<=', corejs)) {\n result.push(...modulesByVersions[version]);\n }\n }\n return intersection(result, modules);\n};\n","module.exports = require(\"core-js-compat/get-modules-list-for-target-version\");\n","module.exports = require(\"core-js-compat/entries\");\n","import corejs3Polyfills from '../core-js-compat/data.js';\nimport getModulesListForTargetVersion from '../core-js-compat/get-modules-list-for-target-version.js';\nimport * as _babel from '@babel/core';\nimport corejsEntries from '../core-js-compat/entries.js';\nimport defineProvider from '@babel/helper-define-polyfill-provider';\n\n// This file is automatically generated by scripts/build-corejs3-shipped-proposals.mjs\n\nvar corejs3ShippedProposalsList = new Set([\"esnext.array.from-async\", \"esnext.array.group\", \"esnext.array.group-to-map\", \"esnext.array-buffer.detached\", \"esnext.array-buffer.transfer\", \"esnext.array-buffer.transfer-to-fixed-length\", \"esnext.json.is-raw-json\", \"esnext.json.parse\", \"esnext.json.raw-json\", \"esnext.set.difference.v2\", \"esnext.set.intersection.v2\", \"esnext.set.is-disjoint-from.v2\", \"esnext.set.is-subset-of.v2\", \"esnext.set.is-superset-of.v2\", \"esnext.set.symmetric-difference.v2\", \"esnext.set.union.v2\"]);\n\nconst polyfillsOrder = {};\nObject.keys(corejs3Polyfills).forEach((name, index) => {\n polyfillsOrder[name] = index;\n});\nconst define = (pure, global, name = global[0], exclude) => {\n return {\n name,\n pure,\n global: global.sort((a, b) => polyfillsOrder[a] - polyfillsOrder[b]),\n exclude\n };\n};\nconst typed = name => define(null, [name, ...TypedArrayDependencies]);\nconst ArrayNatureIterators = [\"es.array.iterator\", \"web.dom-collections.iterator\"];\nconst CommonIterators = [\"es.string.iterator\", ...ArrayNatureIterators];\nconst ArrayNatureIteratorsWithTag = [\"es.object.to-string\", ...ArrayNatureIterators];\nconst CommonIteratorsWithTag = [\"es.object.to-string\", ...CommonIterators];\nconst ErrorDependencies = [\"es.error.cause\", \"es.error.to-string\"];\nconst SuppressedErrorDependencies = [\"esnext.suppressed-error.constructor\", ...ErrorDependencies];\nconst TypedArrayDependencies = [\"es.typed-array.at\", \"es.typed-array.copy-within\", \"es.typed-array.every\", \"es.typed-array.fill\", \"es.typed-array.filter\", \"es.typed-array.find\", \"es.typed-array.find-index\", \"es.typed-array.find-last\", \"es.typed-array.find-last-index\", \"es.typed-array.for-each\", \"es.typed-array.includes\", \"es.typed-array.index-of\", \"es.typed-array.iterator\", \"es.typed-array.join\", \"es.typed-array.last-index-of\", \"es.typed-array.map\", \"es.typed-array.reduce\", \"es.typed-array.reduce-right\", \"es.typed-array.reverse\", \"es.typed-array.set\", \"es.typed-array.slice\", \"es.typed-array.some\", \"es.typed-array.sort\", \"es.typed-array.subarray\", \"es.typed-array.to-locale-string\", \"es.typed-array.to-reversed\", \"es.typed-array.to-sorted\", \"es.typed-array.to-string\", \"es.typed-array.with\", \"es.object.to-string\", \"es.array.iterator\", \"es.array-buffer.slice\", \"esnext.array-buffer.detached\", \"esnext.array-buffer.transfer\", \"esnext.array-buffer.transfer-to-fixed-length\", \"esnext.typed-array.filter-reject\", \"esnext.typed-array.group-by\", \"esnext.typed-array.to-spliced\", \"esnext.typed-array.unique-by\"];\nconst PromiseDependencies = [\"es.promise\", \"es.object.to-string\"];\nconst PromiseDependenciesWithIterators = [...PromiseDependencies, ...CommonIterators];\nconst SymbolDependencies = [\"es.symbol\", \"es.symbol.description\", \"es.object.to-string\"];\nconst MapDependencies = [\"es.map\", \"esnext.map.delete-all\", \"esnext.map.emplace\", \"esnext.map.every\", \"esnext.map.filter\", \"esnext.map.find\", \"esnext.map.find-key\", \"esnext.map.includes\", \"esnext.map.key-of\", \"esnext.map.map-keys\", \"esnext.map.map-values\", \"esnext.map.merge\", \"esnext.map.reduce\", \"esnext.map.some\", \"esnext.map.update\", ...CommonIteratorsWithTag];\nconst SetDependencies = [\"es.set\", \"esnext.set.add-all\", \"esnext.set.delete-all\", \"esnext.set.difference\", \"esnext.set.difference.v2\", \"esnext.set.every\", \"esnext.set.filter\", \"esnext.set.find\", \"esnext.set.intersection\", \"esnext.set.intersection.v2\", \"esnext.set.is-disjoint-from\", \"esnext.set.is-disjoint-from.v2\", \"esnext.set.is-subset-of\", \"esnext.set.is-subset-of.v2\", \"esnext.set.is-superset-of\", \"esnext.set.is-superset-of.v2\", \"esnext.set.join\", \"esnext.set.map\", \"esnext.set.reduce\", \"esnext.set.some\", \"esnext.set.symmetric-difference\", \"esnext.set.symmetric-difference.v2\", \"esnext.set.union\", \"esnext.set.union.v2\", ...CommonIteratorsWithTag];\nconst WeakMapDependencies = [\"es.weak-map\", \"esnext.weak-map.delete-all\", \"esnext.weak-map.emplace\", ...CommonIteratorsWithTag];\nconst WeakSetDependencies = [\"es.weak-set\", \"esnext.weak-set.add-all\", \"esnext.weak-set.delete-all\", ...CommonIteratorsWithTag];\nconst DOMExceptionDependencies = [\"web.dom-exception.constructor\", \"web.dom-exception.stack\", \"web.dom-exception.to-string-tag\", \"es.error.to-string\"];\nconst URLSearchParamsDependencies = [\"web.url-search-params\", \"web.url-search-params.delete\", \"web.url-search-params.has\", \"web.url-search-params.size\", ...CommonIteratorsWithTag];\nconst AsyncIteratorDependencies = [\"esnext.async-iterator.constructor\", ...PromiseDependencies];\nconst AsyncIteratorProblemMethods = [\"esnext.async-iterator.every\", \"esnext.async-iterator.filter\", \"esnext.async-iterator.find\", \"esnext.async-iterator.flat-map\", \"esnext.async-iterator.for-each\", \"esnext.async-iterator.map\", \"esnext.async-iterator.reduce\", \"esnext.async-iterator.some\"];\nconst IteratorDependencies = [\"esnext.iterator.constructor\", \"es.object.to-string\"];\nconst TypedArrayStaticMethods = {\n from: define(null, [\"es.typed-array.from\"]),\n fromAsync: define(null, [\"esnext.typed-array.from-async\", ...PromiseDependenciesWithIterators]),\n of: define(null, [\"es.typed-array.of\"])\n};\nconst BuiltIns = {\n AsyncDisposableStack: define(\"async-disposable-stack\", [\"esnext.async-disposable-stack.constructor\", \"es.object.to-string\", \"esnext.async-iterator.async-dispose\", \"esnext.iterator.dispose\", ...PromiseDependencies, ...SuppressedErrorDependencies]),\n AsyncIterator: define(\"async-iterator/index\", AsyncIteratorDependencies),\n AggregateError: define(\"aggregate-error\", [\"es.aggregate-error\", ...ErrorDependencies, ...CommonIteratorsWithTag, \"es.aggregate-error.cause\"]),\n ArrayBuffer: define(null, [\"es.array-buffer.constructor\", \"es.array-buffer.slice\", \"es.object.to-string\"]),\n DataView: define(null, [\"es.data-view\", \"es.array-buffer.slice\", \"es.object.to-string\"]),\n Date: define(null, [\"es.date.to-string\"]),\n DOMException: define(\"dom-exception\", DOMExceptionDependencies),\n DisposableStack: define(\"disposable-stack\", [\"esnext.disposable-stack.constructor\", \"es.object.to-string\", \"esnext.iterator.dispose\", ...SuppressedErrorDependencies]),\n Error: define(null, ErrorDependencies),\n EvalError: define(null, ErrorDependencies),\n Float32Array: typed(\"es.typed-array.float32-array\"),\n Float64Array: typed(\"es.typed-array.float64-array\"),\n Int8Array: typed(\"es.typed-array.int8-array\"),\n Int16Array: typed(\"es.typed-array.int16-array\"),\n Int32Array: typed(\"es.typed-array.int32-array\"),\n Iterator: define(\"iterator/index\", IteratorDependencies),\n Uint8Array: typed(\"es.typed-array.uint8-array\"),\n Uint8ClampedArray: typed(\"es.typed-array.uint8-clamped-array\"),\n Uint16Array: typed(\"es.typed-array.uint16-array\"),\n Uint32Array: typed(\"es.typed-array.uint32-array\"),\n Map: define(\"map/index\", MapDependencies),\n Number: define(null, [\"es.number.constructor\"]),\n Observable: define(\"observable/index\", [\"esnext.observable\", \"esnext.symbol.observable\", \"es.object.to-string\", ...CommonIteratorsWithTag]),\n Promise: define(\"promise/index\", PromiseDependencies),\n RangeError: define(null, ErrorDependencies),\n ReferenceError: define(null, ErrorDependencies),\n Reflect: define(null, [\"es.reflect.to-string-tag\", \"es.object.to-string\"]),\n RegExp: define(null, [\"es.regexp.constructor\", \"es.regexp.dot-all\", \"es.regexp.exec\", \"es.regexp.sticky\", \"es.regexp.to-string\"]),\n Set: define(\"set/index\", SetDependencies),\n SuppressedError: define(\"suppressed-error\", SuppressedErrorDependencies),\n Symbol: define(\"symbol/index\", SymbolDependencies),\n SyntaxError: define(null, ErrorDependencies),\n TypeError: define(null, ErrorDependencies),\n URIError: define(null, ErrorDependencies),\n URL: define(\"url/index\", [\"web.url\", ...URLSearchParamsDependencies]),\n URLSearchParams: define(\"url-search-params/index\", URLSearchParamsDependencies),\n WeakMap: define(\"weak-map/index\", WeakMapDependencies),\n WeakSet: define(\"weak-set/index\", WeakSetDependencies),\n atob: define(\"atob\", [\"web.atob\", ...DOMExceptionDependencies]),\n btoa: define(\"btoa\", [\"web.btoa\", ...DOMExceptionDependencies]),\n clearImmediate: define(\"clear-immediate\", [\"web.immediate\"]),\n compositeKey: define(\"composite-key\", [\"esnext.composite-key\"]),\n compositeSymbol: define(\"composite-symbol\", [\"esnext.composite-symbol\"]),\n escape: define(\"escape\", [\"es.escape\"]),\n fetch: define(null, PromiseDependencies),\n globalThis: define(\"global-this\", [\"es.global-this\"]),\n parseFloat: define(\"parse-float\", [\"es.parse-float\"]),\n parseInt: define(\"parse-int\", [\"es.parse-int\"]),\n queueMicrotask: define(\"queue-microtask\", [\"web.queue-microtask\"]),\n self: define(\"self\", [\"web.self\"]),\n setImmediate: define(\"set-immediate\", [\"web.immediate\"]),\n setInterval: define(\"set-interval\", [\"web.timers\"]),\n setTimeout: define(\"set-timeout\", [\"web.timers\"]),\n structuredClone: define(\"structured-clone\", [\"web.structured-clone\", ...DOMExceptionDependencies, \"es.array.iterator\", \"es.object.keys\", \"es.object.to-string\", \"es.map\", \"es.set\"]),\n unescape: define(\"unescape\", [\"es.unescape\"])\n};\nconst StaticProperties = {\n AsyncIterator: {\n from: define(\"async-iterator/from\", [\"esnext.async-iterator.from\", ...AsyncIteratorDependencies, ...AsyncIteratorProblemMethods, ...CommonIterators])\n },\n Array: {\n from: define(\"array/from\", [\"es.array.from\", \"es.string.iterator\"]),\n fromAsync: define(\"array/from-async\", [\"esnext.array.from-async\", ...PromiseDependenciesWithIterators]),\n isArray: define(\"array/is-array\", [\"es.array.is-array\"]),\n isTemplateObject: define(\"array/is-template-object\", [\"esnext.array.is-template-object\"]),\n of: define(\"array/of\", [\"es.array.of\"])\n },\n ArrayBuffer: {\n isView: define(null, [\"es.array-buffer.is-view\"])\n },\n BigInt: {\n range: define(\"bigint/range\", [\"esnext.bigint.range\", \"es.object.to-string\"])\n },\n Date: {\n now: define(\"date/now\", [\"es.date.now\"])\n },\n Function: {\n isCallable: define(\"function/is-callable\", [\"esnext.function.is-callable\"]),\n isConstructor: define(\"function/is-constructor\", [\"esnext.function.is-constructor\"])\n },\n Iterator: {\n from: define(\"iterator/from\", [\"esnext.iterator.from\", ...IteratorDependencies, ...CommonIterators]),\n range: define(\"iterator/range\", [\"esnext.iterator.range\", \"es.object.to-string\"])\n },\n JSON: {\n isRawJSON: define(\"json/is-raw-json\", [\"esnext.json.is-raw-json\"]),\n parse: define(\"json/parse\", [\"esnext.json.parse\", \"es.object.keys\"]),\n rawJSON: define(\"json/raw-json\", [\"esnext.json.raw-json\", \"es.object.create\", \"es.object.freeze\"]),\n stringify: define(\"json/stringify\", [\"es.json.stringify\"], \"es.symbol\")\n },\n Math: {\n DEG_PER_RAD: define(\"math/deg-per-rad\", [\"esnext.math.deg-per-rad\"]),\n RAD_PER_DEG: define(\"math/rad-per-deg\", [\"esnext.math.rad-per-deg\"]),\n acosh: define(\"math/acosh\", [\"es.math.acosh\"]),\n asinh: define(\"math/asinh\", [\"es.math.asinh\"]),\n atanh: define(\"math/atanh\", [\"es.math.atanh\"]),\n cbrt: define(\"math/cbrt\", [\"es.math.cbrt\"]),\n clamp: define(\"math/clamp\", [\"esnext.math.clamp\"]),\n clz32: define(\"math/clz32\", [\"es.math.clz32\"]),\n cosh: define(\"math/cosh\", [\"es.math.cosh\"]),\n degrees: define(\"math/degrees\", [\"esnext.math.degrees\"]),\n expm1: define(\"math/expm1\", [\"es.math.expm1\"]),\n fround: define(\"math/fround\", [\"es.math.fround\"]),\n fscale: define(\"math/fscale\", [\"esnext.math.fscale\"]),\n hypot: define(\"math/hypot\", [\"es.math.hypot\"]),\n iaddh: define(\"math/iaddh\", [\"esnext.math.iaddh\"]),\n imul: define(\"math/imul\", [\"es.math.imul\"]),\n imulh: define(\"math/imulh\", [\"esnext.math.imulh\"]),\n isubh: define(\"math/isubh\", [\"esnext.math.isubh\"]),\n log10: define(\"math/log10\", [\"es.math.log10\"]),\n log1p: define(\"math/log1p\", [\"es.math.log1p\"]),\n log2: define(\"math/log2\", [\"es.math.log2\"]),\n radians: define(\"math/radians\", [\"esnext.math.radians\"]),\n scale: define(\"math/scale\", [\"esnext.math.scale\"]),\n seededPRNG: define(\"math/seeded-prng\", [\"esnext.math.seeded-prng\"]),\n sign: define(\"math/sign\", [\"es.math.sign\"]),\n signbit: define(\"math/signbit\", [\"esnext.math.signbit\"]),\n sinh: define(\"math/sinh\", [\"es.math.sinh\"]),\n tanh: define(\"math/tanh\", [\"es.math.tanh\"]),\n trunc: define(\"math/trunc\", [\"es.math.trunc\"]),\n umulh: define(\"math/umulh\", [\"esnext.math.umulh\"])\n },\n Map: {\n from: define(null, [\"esnext.map.from\", ...MapDependencies]),\n groupBy: define(null, [\"esnext.map.group-by\", ...MapDependencies]),\n keyBy: define(null, [\"esnext.map.key-by\", ...MapDependencies]),\n of: define(null, [\"esnext.map.of\", ...MapDependencies])\n },\n Number: {\n EPSILON: define(\"number/epsilon\", [\"es.number.epsilon\"]),\n MAX_SAFE_INTEGER: define(\"number/max-safe-integer\", [\"es.number.max-safe-integer\"]),\n MIN_SAFE_INTEGER: define(\"number/min-safe-integer\", [\"es.number.min-safe-integer\"]),\n fromString: define(\"number/from-string\", [\"esnext.number.from-string\"]),\n isFinite: define(\"number/is-finite\", [\"es.number.is-finite\"]),\n isInteger: define(\"number/is-integer\", [\"es.number.is-integer\"]),\n isNaN: define(\"number/is-nan\", [\"es.number.is-nan\"]),\n isSafeInteger: define(\"number/is-safe-integer\", [\"es.number.is-safe-integer\"]),\n parseFloat: define(\"number/parse-float\", [\"es.number.parse-float\"]),\n parseInt: define(\"number/parse-int\", [\"es.number.parse-int\"]),\n range: define(\"number/range\", [\"esnext.number.range\", \"es.object.to-string\"])\n },\n Object: {\n assign: define(\"object/assign\", [\"es.object.assign\"]),\n create: define(\"object/create\", [\"es.object.create\"]),\n defineProperties: define(\"object/define-properties\", [\"es.object.define-properties\"]),\n defineProperty: define(\"object/define-property\", [\"es.object.define-property\"]),\n entries: define(\"object/entries\", [\"es.object.entries\"]),\n freeze: define(\"object/freeze\", [\"es.object.freeze\"]),\n fromEntries: define(\"object/from-entries\", [\"es.object.from-entries\", \"es.array.iterator\"]),\n getOwnPropertyDescriptor: define(\"object/get-own-property-descriptor\", [\"es.object.get-own-property-descriptor\"]),\n getOwnPropertyDescriptors: define(\"object/get-own-property-descriptors\", [\"es.object.get-own-property-descriptors\"]),\n getOwnPropertyNames: define(\"object/get-own-property-names\", [\"es.object.get-own-property-names\"]),\n getOwnPropertySymbols: define(\"object/get-own-property-symbols\", [\"es.symbol\"]),\n getPrototypeOf: define(\"object/get-prototype-of\", [\"es.object.get-prototype-of\"]),\n groupBy: define(\"object/group-by\", [\"esnext.object.group-by\", \"es.object.create\"]),\n hasOwn: define(\"object/has-own\", [\"es.object.has-own\"]),\n is: define(\"object/is\", [\"es.object.is\"]),\n isExtensible: define(\"object/is-extensible\", [\"es.object.is-extensible\"]),\n isFrozen: define(\"object/is-frozen\", [\"es.object.is-frozen\"]),\n isSealed: define(\"object/is-sealed\", [\"es.object.is-sealed\"]),\n keys: define(\"object/keys\", [\"es.object.keys\"]),\n preventExtensions: define(\"object/prevent-extensions\", [\"es.object.prevent-extensions\"]),\n seal: define(\"object/seal\", [\"es.object.seal\"]),\n setPrototypeOf: define(\"object/set-prototype-of\", [\"es.object.set-prototype-of\"]),\n values: define(\"object/values\", [\"es.object.values\"])\n },\n Promise: {\n all: define(null, PromiseDependenciesWithIterators),\n allSettled: define(null, [\"es.promise.all-settled\", ...PromiseDependenciesWithIterators]),\n any: define(null, [\"es.promise.any\", \"es.aggregate-error\", ...PromiseDependenciesWithIterators]),\n race: define(null, PromiseDependenciesWithIterators),\n try: define(null, [\"esnext.promise.try\", ...PromiseDependencies]),\n withResolvers: define(null, [\"esnext.promise.with-resolvers\", ...PromiseDependencies])\n },\n Reflect: {\n apply: define(\"reflect/apply\", [\"es.reflect.apply\"]),\n construct: define(\"reflect/construct\", [\"es.reflect.construct\"]),\n defineMetadata: define(\"reflect/define-metadata\", [\"esnext.reflect.define-metadata\"]),\n defineProperty: define(\"reflect/define-property\", [\"es.reflect.define-property\"]),\n deleteMetadata: define(\"reflect/delete-metadata\", [\"esnext.reflect.delete-metadata\"]),\n deleteProperty: define(\"reflect/delete-property\", [\"es.reflect.delete-property\"]),\n get: define(\"reflect/get\", [\"es.reflect.get\"]),\n getMetadata: define(\"reflect/get-metadata\", [\"esnext.reflect.get-metadata\"]),\n getMetadataKeys: define(\"reflect/get-metadata-keys\", [\"esnext.reflect.get-metadata-keys\"]),\n getOwnMetadata: define(\"reflect/get-own-metadata\", [\"esnext.reflect.get-own-metadata\"]),\n getOwnMetadataKeys: define(\"reflect/get-own-metadata-keys\", [\"esnext.reflect.get-own-metadata-keys\"]),\n getOwnPropertyDescriptor: define(\"reflect/get-own-property-descriptor\", [\"es.reflect.get-own-property-descriptor\"]),\n getPrototypeOf: define(\"reflect/get-prototype-of\", [\"es.reflect.get-prototype-of\"]),\n has: define(\"reflect/has\", [\"es.reflect.has\"]),\n hasMetadata: define(\"reflect/has-metadata\", [\"esnext.reflect.has-metadata\"]),\n hasOwnMetadata: define(\"reflect/has-own-metadata\", [\"esnext.reflect.has-own-metadata\"]),\n isExtensible: define(\"reflect/is-extensible\", [\"es.reflect.is-extensible\"]),\n metadata: define(\"reflect/metadata\", [\"esnext.reflect.metadata\"]),\n ownKeys: define(\"reflect/own-keys\", [\"es.reflect.own-keys\"]),\n preventExtensions: define(\"reflect/prevent-extensions\", [\"es.reflect.prevent-extensions\"]),\n set: define(\"reflect/set\", [\"es.reflect.set\"]),\n setPrototypeOf: define(\"reflect/set-prototype-of\", [\"es.reflect.set-prototype-of\"])\n },\n Set: {\n from: define(null, [\"esnext.set.from\", ...SetDependencies]),\n of: define(null, [\"esnext.set.of\", ...SetDependencies])\n },\n String: {\n cooked: define(\"string/cooked\", [\"esnext.string.cooked\"]),\n dedent: define(\"string/dedent\", [\"esnext.string.dedent\", \"es.string.from-code-point\", \"es.weak-map\"]),\n fromCodePoint: define(\"string/from-code-point\", [\"es.string.from-code-point\"]),\n raw: define(\"string/raw\", [\"es.string.raw\"])\n },\n Symbol: {\n asyncDispose: define(\"symbol/async-dispose\", [\"esnext.symbol.async-dispose\", \"esnext.async-iterator.async-dispose\"]),\n asyncIterator: define(\"symbol/async-iterator\", [\"es.symbol.async-iterator\"]),\n dispose: define(\"symbol/dispose\", [\"esnext.symbol.dispose\", \"esnext.iterator.dispose\"]),\n for: define(\"symbol/for\", [], \"es.symbol\"),\n hasInstance: define(\"symbol/has-instance\", [\"es.symbol.has-instance\", \"es.function.has-instance\"]),\n isConcatSpreadable: define(\"symbol/is-concat-spreadable\", [\"es.symbol.is-concat-spreadable\", \"es.array.concat\"]),\n isRegistered: define(\"symbol/is-registered\", [\"esnext.symbol.is-registered\", \"es.symbol\"]),\n isRegisteredSymbol: define(\"symbol/is-registered-symbol\", [\"esnext.symbol.is-registered-symbol\", \"es.symbol\"]),\n isWellKnown: define(\"symbol/is-well-known\", [\"esnext.symbol.is-well-known\", \"es.symbol\"]),\n isWellKnownSymbol: define(\"symbol/is-well-known-symbol\", [\"esnext.symbol.is-well-known-symbol\", \"es.symbol\"]),\n iterator: define(\"symbol/iterator\", [\"es.symbol.iterator\", ...CommonIteratorsWithTag]),\n keyFor: define(\"symbol/key-for\", [], \"es.symbol\"),\n match: define(\"symbol/match\", [\"es.symbol.match\", \"es.string.match\"]),\n matcher: define(\"symbol/matcher\", [\"esnext.symbol.matcher\"]),\n matchAll: define(\"symbol/match-all\", [\"es.symbol.match-all\", \"es.string.match-all\"]),\n metadata: define(\"symbol/metadata\", [\"esnext.symbol.metadata\", \"esnext.function.metadata\"]),\n metadataKey: define(\"symbol/metadata-key\", [\"esnext.symbol.metadata-key\"]),\n observable: define(\"symbol/observable\", [\"esnext.symbol.observable\"]),\n patternMatch: define(\"symbol/pattern-match\", [\"esnext.symbol.pattern-match\"]),\n replace: define(\"symbol/replace\", [\"es.symbol.replace\", \"es.string.replace\"]),\n search: define(\"symbol/search\", [\"es.symbol.search\", \"es.string.search\"]),\n species: define(\"symbol/species\", [\"es.symbol.species\", \"es.array.species\"]),\n split: define(\"symbol/split\", [\"es.symbol.split\", \"es.string.split\"]),\n toPrimitive: define(\"symbol/to-primitive\", [\"es.symbol.to-primitive\", \"es.date.to-primitive\"]),\n toStringTag: define(\"symbol/to-string-tag\", [\"es.symbol.to-string-tag\", \"es.object.to-string\", \"es.math.to-string-tag\", \"es.json.to-string-tag\"]),\n unscopables: define(\"symbol/unscopables\", [\"es.symbol.unscopables\"])\n },\n URL: {\n canParse: define(\"url/can-parse\", [\"web.url.can-parse\", \"web.url\"])\n },\n WeakMap: {\n from: define(null, [\"esnext.weak-map.from\", ...WeakMapDependencies]),\n of: define(null, [\"esnext.weak-map.of\", ...WeakMapDependencies])\n },\n WeakSet: {\n from: define(null, [\"esnext.weak-set.from\", ...WeakSetDependencies]),\n of: define(null, [\"esnext.weak-set.of\", ...WeakSetDependencies])\n },\n Int8Array: TypedArrayStaticMethods,\n Uint8Array: TypedArrayStaticMethods,\n Uint8ClampedArray: TypedArrayStaticMethods,\n Int16Array: TypedArrayStaticMethods,\n Uint16Array: TypedArrayStaticMethods,\n Int32Array: TypedArrayStaticMethods,\n Uint32Array: TypedArrayStaticMethods,\n Float32Array: TypedArrayStaticMethods,\n Float64Array: TypedArrayStaticMethods,\n WebAssembly: {\n CompileError: define(null, ErrorDependencies),\n LinkError: define(null, ErrorDependencies),\n RuntimeError: define(null, ErrorDependencies)\n }\n};\nconst InstanceProperties = {\n asIndexedPairs: define(\"instance/asIndexedPairs\", [\"esnext.async-iterator.as-indexed-pairs\", ...AsyncIteratorDependencies, \"esnext.iterator.as-indexed-pairs\", ...IteratorDependencies]),\n at: define(\"instance/at\", [\n // TODO: We should introduce overloaded instance methods definition\n // Before that is implemented, the `esnext.string.at` must be the first\n // In pure mode, the provider resolves the descriptor as a \"pure\" `esnext.string.at`\n // and treats the compat-data of `esnext.string.at` as the compat-data of\n // pure import `instance/at`. The first polyfill here should have the lowest corejs\n // supported versions.\n \"esnext.string.at\", \"es.string.at-alternative\", \"es.array.at\"]),\n anchor: define(null, [\"es.string.anchor\"]),\n big: define(null, [\"es.string.big\"]),\n bind: define(\"instance/bind\", [\"es.function.bind\"]),\n blink: define(null, [\"es.string.blink\"]),\n bold: define(null, [\"es.string.bold\"]),\n codePointAt: define(\"instance/code-point-at\", [\"es.string.code-point-at\"]),\n codePoints: define(\"instance/code-points\", [\"esnext.string.code-points\"]),\n concat: define(\"instance/concat\", [\"es.array.concat\"], undefined, [\"String\"]),\n copyWithin: define(\"instance/copy-within\", [\"es.array.copy-within\"]),\n demethodize: define(\"instance/demethodize\", [\"esnext.function.demethodize\"]),\n description: define(null, [\"es.symbol\", \"es.symbol.description\"]),\n dotAll: define(null, [\"es.regexp.dot-all\"]),\n drop: define(\"instance/drop\", [\"esnext.async-iterator.drop\", ...AsyncIteratorDependencies, \"esnext.iterator.drop\", ...IteratorDependencies]),\n emplace: define(\"instance/emplace\", [\"esnext.map.emplace\", \"esnext.weak-map.emplace\"]),\n endsWith: define(\"instance/ends-with\", [\"es.string.ends-with\"]),\n entries: define(\"instance/entries\", ArrayNatureIteratorsWithTag),\n every: define(\"instance/every\", [\"es.array.every\", \"esnext.async-iterator.every\",\n // TODO: add async iterator dependencies when we support sub-dependencies\n // esnext.async-iterator.every depends on es.promise\n // but we don't want to pull es.promise when esnext.async-iterator is disabled\n //\n // ...AsyncIteratorDependencies\n \"esnext.iterator.every\", ...IteratorDependencies]),\n exec: define(null, [\"es.regexp.exec\"]),\n fill: define(\"instance/fill\", [\"es.array.fill\"]),\n filter: define(\"instance/filter\", [\"es.array.filter\", \"esnext.async-iterator.filter\", \"esnext.iterator.filter\", ...IteratorDependencies]),\n filterReject: define(\"instance/filterReject\", [\"esnext.array.filter-reject\"]),\n finally: define(null, [\"es.promise.finally\", ...PromiseDependencies]),\n find: define(\"instance/find\", [\"es.array.find\", \"esnext.async-iterator.find\", \"esnext.iterator.find\", ...IteratorDependencies]),\n findIndex: define(\"instance/find-index\", [\"es.array.find-index\"]),\n findLast: define(\"instance/find-last\", [\"es.array.find-last\"]),\n findLastIndex: define(\"instance/find-last-index\", [\"es.array.find-last-index\"]),\n fixed: define(null, [\"es.string.fixed\"]),\n flags: define(\"instance/flags\", [\"es.regexp.flags\"]),\n flatMap: define(\"instance/flat-map\", [\"es.array.flat-map\", \"es.array.unscopables.flat-map\", \"esnext.async-iterator.flat-map\", \"esnext.iterator.flat-map\", ...IteratorDependencies]),\n flat: define(\"instance/flat\", [\"es.array.flat\", \"es.array.unscopables.flat\"]),\n getYear: define(null, [\"es.date.get-year\"]),\n group: define(\"instance/group\", [\"esnext.array.group\"]),\n groupBy: define(\"instance/group-by\", [\"esnext.array.group-by\"]),\n groupByToMap: define(\"instance/group-by-to-map\", [\"esnext.array.group-by-to-map\", \"es.map\", \"es.object.to-string\"]),\n groupToMap: define(\"instance/group-to-map\", [\"esnext.array.group-to-map\", \"es.map\", \"es.object.to-string\"]),\n fontcolor: define(null, [\"es.string.fontcolor\"]),\n fontsize: define(null, [\"es.string.fontsize\"]),\n forEach: define(\"instance/for-each\", [\"es.array.for-each\", \"esnext.async-iterator.for-each\", \"esnext.iterator.for-each\", ...IteratorDependencies, \"web.dom-collections.for-each\"]),\n includes: define(\"instance/includes\", [\"es.array.includes\", \"es.string.includes\"]),\n indexed: define(\"instance/indexed\", [\"esnext.async-iterator.indexed\", ...AsyncIteratorDependencies, \"esnext.iterator.indexed\", ...IteratorDependencies]),\n indexOf: define(\"instance/index-of\", [\"es.array.index-of\"]),\n isWellFormed: define(\"instance/is-well-formed\", [\"es.string.is-well-formed\"]),\n italic: define(null, [\"es.string.italics\"]),\n join: define(null, [\"es.array.join\"]),\n keys: define(\"instance/keys\", ArrayNatureIteratorsWithTag),\n lastIndex: define(null, [\"esnext.array.last-index\"]),\n lastIndexOf: define(\"instance/last-index-of\", [\"es.array.last-index-of\"]),\n lastItem: define(null, [\"esnext.array.last-item\"]),\n link: define(null, [\"es.string.link\"]),\n map: define(\"instance/map\", [\"es.array.map\", \"esnext.async-iterator.map\", \"esnext.iterator.map\"]),\n match: define(null, [\"es.string.match\", \"es.regexp.exec\"]),\n matchAll: define(\"instance/match-all\", [\"es.string.match-all\", \"es.regexp.exec\"]),\n name: define(null, [\"es.function.name\"]),\n padEnd: define(\"instance/pad-end\", [\"es.string.pad-end\"]),\n padStart: define(\"instance/pad-start\", [\"es.string.pad-start\"]),\n push: define(\"instance/push\", [\"es.array.push\"]),\n reduce: define(\"instance/reduce\", [\"es.array.reduce\", \"esnext.async-iterator.reduce\", \"esnext.iterator.reduce\", ...IteratorDependencies]),\n reduceRight: define(\"instance/reduce-right\", [\"es.array.reduce-right\"]),\n repeat: define(\"instance/repeat\", [\"es.string.repeat\"]),\n replace: define(null, [\"es.string.replace\", \"es.regexp.exec\"]),\n replaceAll: define(\"instance/replace-all\", [\"es.string.replace-all\", \"es.string.replace\", \"es.regexp.exec\"]),\n reverse: define(\"instance/reverse\", [\"es.array.reverse\"]),\n search: define(null, [\"es.string.search\", \"es.regexp.exec\"]),\n setYear: define(null, [\"es.date.set-year\"]),\n slice: define(\"instance/slice\", [\"es.array.slice\"]),\n small: define(null, [\"es.string.small\"]),\n some: define(\"instance/some\", [\"es.array.some\", \"esnext.async-iterator.some\", \"esnext.iterator.some\", ...IteratorDependencies]),\n sort: define(\"instance/sort\", [\"es.array.sort\"]),\n splice: define(\"instance/splice\", [\"es.array.splice\"]),\n split: define(null, [\"es.string.split\", \"es.regexp.exec\"]),\n startsWith: define(\"instance/starts-with\", [\"es.string.starts-with\"]),\n sticky: define(null, [\"es.regexp.sticky\"]),\n strike: define(null, [\"es.string.strike\"]),\n sub: define(null, [\"es.string.sub\"]),\n substr: define(null, [\"es.string.substr\"]),\n sup: define(null, [\"es.string.sup\"]),\n take: define(\"instance/take\", [\"esnext.async-iterator.take\", ...AsyncIteratorDependencies, \"esnext.iterator.take\", ...IteratorDependencies]),\n test: define(null, [\"es.regexp.test\", \"es.regexp.exec\"]),\n toArray: define(\"instance/to-array\", [\"esnext.async-iterator.to-array\", ...AsyncIteratorDependencies, \"esnext.iterator.to-array\", ...IteratorDependencies]),\n toAsync: define(null, [\"esnext.iterator.to-async\", ...IteratorDependencies, ...AsyncIteratorDependencies, ...AsyncIteratorProblemMethods]),\n toExponential: define(null, [\"es.number.to-exponential\"]),\n toFixed: define(null, [\"es.number.to-fixed\"]),\n toGMTString: define(null, [\"es.date.to-gmt-string\"]),\n toISOString: define(null, [\"es.date.to-iso-string\"]),\n toJSON: define(null, [\"es.date.to-json\", \"web.url.to-json\"]),\n toPrecision: define(null, [\"es.number.to-precision\"]),\n toReversed: define(\"instance/to-reversed\", [\"es.array.to-reversed\"]),\n toSorted: define(\"instance/to-sorted\", [\"es.array.to-sorted\", \"es.array.sort\"]),\n toSpliced: define(\"instance/to-spliced\", [\"es.array.to-spliced\"]),\n toString: define(null, [\"es.object.to-string\", \"es.error.to-string\", \"es.date.to-string\", \"es.regexp.to-string\"]),\n toWellFormed: define(\"instance/to-well-formed\", [\"es.string.to-well-formed\"]),\n trim: define(\"instance/trim\", [\"es.string.trim\"]),\n trimEnd: define(\"instance/trim-end\", [\"es.string.trim-end\"]),\n trimLeft: define(\"instance/trim-left\", [\"es.string.trim-start\"]),\n trimRight: define(\"instance/trim-right\", [\"es.string.trim-end\"]),\n trimStart: define(\"instance/trim-start\", [\"es.string.trim-start\"]),\n uniqueBy: define(\"instance/unique-by\", [\"esnext.array.unique-by\", \"es.map\"]),\n unshift: define(\"instance/unshift\", [\"es.array.unshift\"]),\n unThis: define(\"instance/un-this\", [\"esnext.function.un-this\"]),\n values: define(\"instance/values\", ArrayNatureIteratorsWithTag),\n with: define(\"instance/with\", [\"es.array.with\"]),\n __defineGetter__: define(null, [\"es.object.define-getter\"]),\n __defineSetter__: define(null, [\"es.object.define-setter\"]),\n __lookupGetter__: define(null, [\"es.object.lookup-getter\"]),\n __lookupSetter__: define(null, [\"es.object.lookup-setter\"]),\n [\"__proto__\"]: define(null, [\"es.object.proto\"])\n};\n\nconst {\n types: t$2\n} = _babel.default || _babel;\nfunction canSkipPolyfill(desc, path) {\n const {\n node,\n parent\n } = path;\n switch (desc.name) {\n case \"es.string.split\":\n {\n if (!t$2.isCallExpression(parent, {\n callee: node\n })) return false;\n if (parent.arguments.length < 1) return true;\n const splitter = parent.arguments[0];\n return t$2.isStringLiteral(splitter) || t$2.isTemplateLiteral(splitter);\n }\n }\n}\n\nconst {\n types: t$1\n} = _babel.default || _babel;\nconst BABEL_RUNTIME = \"@babel/runtime-corejs3\";\nfunction callMethod(path, id) {\n const {\n object\n } = path.node;\n let context1, context2;\n if (t$1.isIdentifier(object)) {\n context1 = object;\n context2 = t$1.cloneNode(object);\n } else {\n context1 = path.scope.generateDeclaredUidIdentifier(\"context\");\n context2 = t$1.assignmentExpression(\"=\", t$1.cloneNode(context1), object);\n }\n path.replaceWith(t$1.memberExpression(t$1.callExpression(id, [context2]), t$1.identifier(\"call\")));\n path.parentPath.unshiftContainer(\"arguments\", context1);\n}\nfunction isCoreJSSource(source) {\n if (typeof source === \"string\") {\n source = source.replace(/\\\\/g, \"/\").replace(/(\\/(index)?)?(\\.js)?$/i, \"\").toLowerCase();\n }\n return Object.prototype.hasOwnProperty.call(corejsEntries, source) && corejsEntries[source];\n}\nfunction coreJSModule(name) {\n return `core-js/modules/${name}.js`;\n}\nfunction coreJSPureHelper(name, useBabelRuntime, ext) {\n return useBabelRuntime ? `${BABEL_RUNTIME}/core-js/${name}${ext}` : `core-js-pure/features/${name}.js`;\n}\n\nconst {\n types: t\n} = _babel.default || _babel;\nconst presetEnvCompat = \"#__secret_key__@babel/preset-env__compatibility\";\nconst runtimeCompat = \"#__secret_key__@babel/runtime__compatibility\";\nconst uniqueObjects = [\"array\", \"string\", \"iterator\", \"async-iterator\", \"dom-collections\"].map(v => new RegExp(`[a-z]*\\\\.${v}\\\\..*`));\nconst esnextFallback = (name, cb) => {\n if (cb(name)) return true;\n if (!name.startsWith(\"es.\")) return false;\n const fallback = `esnext.${name.slice(3)}`;\n if (!corejs3Polyfills[fallback]) return false;\n return cb(fallback);\n};\nvar index = defineProvider(function ({\n getUtils,\n method,\n shouldInjectPolyfill,\n createMetaResolver,\n debug,\n babel\n}, {\n version = 3,\n proposals,\n shippedProposals,\n [presetEnvCompat]: {\n noRuntimeName = false\n } = {},\n [runtimeCompat]: {\n useBabelRuntime = false,\n ext = \".js\"\n } = {}\n}) {\n const isWebpack = babel.caller(caller => (caller == null ? void 0 : caller.name) === \"babel-loader\");\n const resolve = createMetaResolver({\n global: BuiltIns,\n static: StaticProperties,\n instance: InstanceProperties\n });\n const available = new Set(getModulesListForTargetVersion(version));\n function getCoreJSPureBase(useProposalBase) {\n return useBabelRuntime ? useProposalBase ? `${BABEL_RUNTIME}/core-js` : `${BABEL_RUNTIME}/core-js-stable` : useProposalBase ? \"core-js-pure/features\" : \"core-js-pure/stable\";\n }\n function maybeInjectGlobalImpl(name, utils) {\n if (shouldInjectPolyfill(name)) {\n debug(name);\n utils.injectGlobalImport(coreJSModule(name));\n return true;\n }\n return false;\n }\n function maybeInjectGlobal(names, utils, fallback = true) {\n for (const name of names) {\n if (fallback) {\n esnextFallback(name, name => maybeInjectGlobalImpl(name, utils));\n } else {\n maybeInjectGlobalImpl(name, utils);\n }\n }\n }\n function maybeInjectPure(desc, hint, utils, object) {\n if (desc.pure && !(object && desc.exclude && desc.exclude.includes(object)) && esnextFallback(desc.name, shouldInjectPolyfill)) {\n const {\n name\n } = desc;\n let useProposalBase = false;\n if (proposals || shippedProposals && name.startsWith(\"esnext.\")) {\n useProposalBase = true;\n } else if (name.startsWith(\"es.\") && !available.has(name)) {\n useProposalBase = true;\n }\n const coreJSPureBase = getCoreJSPureBase(useProposalBase);\n return utils.injectDefaultImport(`${coreJSPureBase}/${desc.pure}${ext}`, hint);\n }\n }\n function isFeatureStable(name) {\n if (name.startsWith(\"esnext.\")) {\n const esName = `es.${name.slice(7)}`;\n // If its imaginative esName is not in latest compat data, it means\n // the proposal is not stage 4\n return esName in corejs3Polyfills;\n }\n return true;\n }\n return {\n name: \"corejs3\",\n runtimeName: noRuntimeName ? null : BABEL_RUNTIME,\n polyfills: corejs3Polyfills,\n filterPolyfills(name) {\n if (!available.has(name)) return false;\n if (proposals || method === \"entry-global\") return true;\n if (shippedProposals && corejs3ShippedProposalsList.has(name)) {\n return true;\n }\n return isFeatureStable(name);\n },\n entryGlobal(meta, utils, path) {\n if (meta.kind !== \"import\") return;\n const modules = isCoreJSSource(meta.source);\n if (!modules) return;\n if (modules.length === 1 && meta.source === coreJSModule(modules[0]) && shouldInjectPolyfill(modules[0])) {\n // Avoid infinite loop: do not replace imports with a new copy of\n // themselves.\n debug(null);\n return;\n }\n const modulesSet = new Set(modules);\n const filteredModules = modules.filter(module => {\n if (!module.startsWith(\"esnext.\")) return true;\n const stable = module.replace(\"esnext.\", \"es.\");\n if (modulesSet.has(stable) && shouldInjectPolyfill(stable)) {\n return false;\n }\n return true;\n });\n maybeInjectGlobal(filteredModules, utils, false);\n path.remove();\n },\n usageGlobal(meta, utils, path) {\n const resolved = resolve(meta);\n if (!resolved) return;\n if (canSkipPolyfill(resolved.desc, path)) return;\n let deps = resolved.desc.global;\n if (resolved.kind !== \"global\" && \"object\" in meta && meta.object && meta.placement === \"prototype\") {\n const low = meta.object.toLowerCase();\n deps = deps.filter(m => uniqueObjects.some(v => v.test(m)) ? m.includes(low) : true);\n }\n maybeInjectGlobal(deps, utils);\n },\n usagePure(meta, utils, path) {\n if (meta.kind === \"in\") {\n if (meta.key === \"Symbol.iterator\") {\n path.replaceWith(t.callExpression(utils.injectDefaultImport(coreJSPureHelper(\"is-iterable\", useBabelRuntime, ext), \"isIterable\"), [path.node.right] // meta.kind === \"in\" narrows this\n ));\n }\n\n return;\n }\n if (path.parentPath.isUnaryExpression({\n operator: \"delete\"\n })) return;\n if (meta.kind === \"property\") {\n // We can't compile destructuring and updateExpression.\n if (!path.isMemberExpression()) return;\n if (!path.isReferenced()) return;\n if (path.parentPath.isUpdateExpression()) return;\n if (t.isSuper(path.node.object)) {\n return;\n }\n if (meta.key === \"Symbol.iterator\") {\n if (!shouldInjectPolyfill(\"es.symbol.iterator\")) return;\n const {\n parent,\n node\n } = path;\n if (t.isCallExpression(parent, {\n callee: node\n })) {\n if (parent.arguments.length === 0) {\n path.parentPath.replaceWith(t.callExpression(utils.injectDefaultImport(coreJSPureHelper(\"get-iterator\", useBabelRuntime, ext), \"getIterator\"), [node.object]));\n path.skip();\n } else {\n callMethod(path, utils.injectDefaultImport(coreJSPureHelper(\"get-iterator-method\", useBabelRuntime, ext), \"getIteratorMethod\"));\n }\n } else {\n path.replaceWith(t.callExpression(utils.injectDefaultImport(coreJSPureHelper(\"get-iterator-method\", useBabelRuntime, ext), \"getIteratorMethod\"), [path.node.object]));\n }\n return;\n }\n }\n let resolved = resolve(meta);\n if (!resolved) return;\n if (canSkipPolyfill(resolved.desc, path)) return;\n if (useBabelRuntime && resolved.desc.pure && resolved.desc.pure.slice(-6) === \"/index\") {\n // Remove /index, since it doesn't exist in @babel/runtime-corejs3s\n resolved = {\n ...resolved,\n desc: {\n ...resolved.desc,\n pure: resolved.desc.pure.slice(0, -6)\n }\n };\n }\n if (resolved.kind === \"global\") {\n const id = maybeInjectPure(resolved.desc, resolved.name, utils);\n if (id) path.replaceWith(id);\n } else if (resolved.kind === \"static\") {\n const id = maybeInjectPure(resolved.desc, resolved.name, utils,\n // @ts-expect-error\n meta.object);\n if (id) path.replaceWith(id);\n } else if (resolved.kind === \"instance\") {\n const id = maybeInjectPure(resolved.desc, `${resolved.name}InstanceProperty`, utils,\n // @ts-expect-error\n meta.object);\n if (!id) return;\n const {\n node\n } = path;\n if (t.isCallExpression(path.parent, {\n callee: node\n })) {\n callMethod(path, id);\n } else {\n path.replaceWith(t.callExpression(id, [node.object]));\n }\n }\n },\n visitor: method === \"usage-global\" && {\n // import(\"foo\")\n CallExpression(path) {\n if (path.get(\"callee\").isImport()) {\n const utils = getUtils(path);\n if (isWebpack) {\n // Webpack uses Promise.all to handle dynamic import.\n maybeInjectGlobal(PromiseDependenciesWithIterators, utils);\n } else {\n maybeInjectGlobal(PromiseDependencies, utils);\n }\n }\n },\n // (async function () { }).finally(...)\n Function(path) {\n if (path.node.async) {\n maybeInjectGlobal(PromiseDependencies, getUtils(path));\n }\n },\n // for-of, [a, b] = c\n \"ForOfStatement|ArrayPattern\"(path) {\n maybeInjectGlobal(CommonIterators, getUtils(path));\n },\n // [...spread]\n SpreadElement(path) {\n if (!path.parentPath.isObjectExpression()) {\n maybeInjectGlobal(CommonIterators, getUtils(path));\n }\n },\n // yield*\n YieldExpression(path) {\n if (path.node.delegate) {\n maybeInjectGlobal(CommonIterators, getUtils(path));\n }\n }\n }\n };\n});\n\nexport default index;\n//# sourceMappingURL=index.mjs.map\n","import defineProvider from '@babel/helper-define-polyfill-provider';\n\nconst runtimeCompat = \"#__secret_key__@babel/runtime__compatibility\";\nvar index = defineProvider(({\n debug,\n targets,\n babel\n}, options) => {\n if (!shallowEqual(targets, babel.targets())) {\n throw new Error(\"This plugin does not use the targets option. Only preset-env's targets\" + \" or top-level targets need to be configured for this plugin to work.\" + \" See https://github.com/babel/babel-polyfills/issues/36 for more\" + \" details.\");\n }\n const {\n [runtimeCompat]: {\n useBabelRuntime = false\n } = {}\n } = options;\n return {\n name: \"regenerator\",\n polyfills: [\"regenerator-runtime\"],\n usageGlobal(meta, utils) {\n if (isRegenerator(meta)) {\n debug(\"regenerator-runtime\");\n utils.injectGlobalImport(\"regenerator-runtime/runtime.js\");\n }\n },\n usagePure(meta, utils, path) {\n if (isRegenerator(meta)) {\n let pureName = \"regenerator-runtime\";\n if (useBabelRuntime) {\n var _get;\n const runtimeName = (_get = path.hub.file.get(\"runtimeHelpersModuleName\")) != null ? _get : \"@babel/runtime\";\n pureName = `${runtimeName}/regenerator`;\n }\n path.replaceWith(utils.injectDefaultImport(pureName, \"regenerator-runtime\"));\n }\n }\n };\n});\nconst isRegenerator = meta => meta.kind === \"global\" && meta.name === \"regeneratorRuntime\";\nfunction shallowEqual(obj1, obj2) {\n return JSON.stringify(obj1) === JSON.stringify(obj2);\n}\n\nexport default index;\n//# sourceMappingURL=index.mjs.map\n","// TODO(Babel 8): Remove at least support for babel-plugin-polyfill-regenerator,\n// which isn't needed anymore, and babel-plugin-polyfill-corejs2, since core-js\n// 2 isn't maintained anymore.\n// Consider also removing babel-plugin-polyfill-corejs3 from here, and ask users\n// to explicitly enable it in their Babel configuration files.\n\nimport type { PluginAPI, PluginObject } from \"@babel/core\";\nimport _pluginCorejs2 from \"babel-plugin-polyfill-corejs2\";\nimport _pluginCorejs3 from \"babel-plugin-polyfill-corejs3\";\nimport _pluginRegenerator from \"babel-plugin-polyfill-regenerator\";\n// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\nconst pluginCorejs2 = (_pluginCorejs2.default ||\n _pluginCorejs2) as typeof _pluginCorejs2.default;\n// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\nconst pluginCorejs3 = (_pluginCorejs3.default ||\n _pluginCorejs3) as typeof _pluginCorejs3.default;\n// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\nconst pluginRegenerator = (_pluginRegenerator.default ||\n _pluginRegenerator) as typeof _pluginRegenerator.default;\n\nimport type { Options } from \"./index.ts\";\n\nconst pluginsCompat = \"#__secret_key__@babel/runtime__compatibility\";\n\ninterface CoreJS2PluginOptions {\n absoluteImports: boolean;\n method: \"usage-pure\";\n [pluginsCompat]: {\n runtimeVersion: string;\n useBabelRuntime: boolean;\n ext: string;\n };\n}\n\ninterface RegeneratorPluginOptions {\n absoluteImports: boolean;\n method: \"usage-pure\";\n [pluginsCompat]: {\n useBabelRuntime: boolean;\n };\n}\n\ninterface CoreJS3PluginOptions {\n absoluteImports: boolean;\n method: \"usage-pure\";\n proposals: boolean;\n version: number;\n [pluginsCompat]: {\n useBabelRuntime: boolean;\n ext: string;\n };\n}\n\nfunction createCorejsPlugin(\n plugin: (api: PluginAPI, options: Options, filename: string) => PluginObject,\n options: Options,\n regeneratorPlugin: (\n api: PluginAPI,\n options: RegeneratorPluginOptions,\n filename: string,\n ) => PluginObject,\n): (api: PluginAPI, options: {}, filename: string) => PluginObject {\n return (api: PluginAPI, _: {}, filename: string) => {\n return {\n ...plugin(api, options, filename),\n inherits: regeneratorPlugin,\n };\n };\n}\n\nfunction createRegeneratorPlugin(\n options: RegeneratorPluginOptions,\n useRuntimeRegenerator: boolean,\n): (\n api: PluginAPI,\n options: RegeneratorPluginOptions,\n filename: string,\n) => PluginObject {\n if (!useRuntimeRegenerator) return undefined;\n return (api, _, filename) => {\n return pluginRegenerator(api, options, filename);\n };\n}\n\nexport function createBasePolyfillsPlugin(\n { corejs, regenerator: useRuntimeRegenerator = true }: Options,\n runtimeVersion: string,\n absoluteImports: boolean,\n) {\n let proposals = false;\n let rawVersion;\n\n if (typeof corejs === \"object\" && corejs !== null) {\n rawVersion = corejs.version;\n proposals = Boolean(corejs.proposals);\n } else {\n rawVersion = corejs;\n }\n\n const corejsVersion = rawVersion ? Number(rawVersion) : false;\n\n if (![false, 2, 3].includes(corejsVersion)) {\n throw new Error(\n `The \\`core-js\\` version must be false, 2 or 3, but got ${JSON.stringify(\n rawVersion,\n )}.`,\n );\n }\n\n if (proposals && (!corejsVersion || corejsVersion < 3)) {\n throw new Error(\n \"The 'proposals' option is only supported when using 'corejs: 3'\",\n );\n }\n\n if (typeof useRuntimeRegenerator !== \"boolean\") {\n throw new Error(\n \"The 'regenerator' option must be undefined, or a boolean.\",\n );\n }\n\n const polyfillOpts = {\n method: \"usage-pure\",\n absoluteImports,\n [pluginsCompat]: { useBabelRuntime: true, runtimeVersion, ext: \"\" },\n } as const;\n\n return corejsVersion === 2\n ? createCorejsPlugin(\n pluginCorejs2,\n polyfillOpts,\n createRegeneratorPlugin(polyfillOpts, useRuntimeRegenerator),\n )\n : corejsVersion === 3\n ? createCorejsPlugin(\n pluginCorejs3,\n { version: 3, proposals, ...polyfillOpts },\n createRegeneratorPlugin(polyfillOpts, useRuntimeRegenerator),\n )\n : createRegeneratorPlugin(polyfillOpts, useRuntimeRegenerator);\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { addDefault, isModule } from \"@babel/helper-module-imports\";\nimport { types as t, type CallerMetadata } from \"@babel/core\";\n\nimport { hasMinVersion } from \"./helpers.ts\";\nimport getRuntimePath, { resolveFSPath } from \"./get-runtime-path/index.ts\";\nimport { createBasePolyfillsPlugin } from \"./polyfills.ts\";\n\nfunction supportsStaticESM(caller: CallerMetadata | undefined) {\n // @ts-expect-error TS does not narrow down optional chaining\n return !!caller?.supportsStaticESM;\n}\n\nexport interface Options {\n absoluteRuntime?: boolean;\n corejs?: string | number | { version: string | number; proposals?: boolean };\n helpers?: boolean;\n regenerator?: boolean;\n useESModules?: boolean | \"auto\";\n version?: string;\n}\n\nexport default declare((api, options: Options, dirname) => {\n api.assertVersion(7);\n\n const {\n helpers: useRuntimeHelpers = true,\n useESModules = false,\n version: runtimeVersion = \"7.0.0-beta.0\",\n absoluteRuntime = false,\n } = options;\n\n if (typeof useRuntimeHelpers !== \"boolean\") {\n throw new Error(\"The 'helpers' option must be undefined, or a boolean.\");\n }\n\n if (typeof useESModules !== \"boolean\" && useESModules !== \"auto\") {\n throw new Error(\n \"The 'useESModules' option must be undefined, or a boolean, or 'auto'.\",\n );\n }\n\n if (\n typeof absoluteRuntime !== \"boolean\" &&\n typeof absoluteRuntime !== \"string\"\n ) {\n throw new Error(\n \"The 'absoluteRuntime' option must be undefined, a boolean, or a string.\",\n );\n }\n\n if (typeof runtimeVersion !== \"string\") {\n throw new Error(`The 'version' option must be a version string.`);\n }\n\n if (!process.env.BABEL_8_BREAKING) {\n // In recent @babel/runtime versions, we can use require(\"helper\").default\n // instead of require(\"helper\") so that it has the same interface as the\n // ESM helper, and bundlers can better exchange one format for the other.\n const DUAL_MODE_RUNTIME = \"7.13.0\";\n // eslint-disable-next-line no-var\n var supportsCJSDefault = hasMinVersion(DUAL_MODE_RUNTIME, runtimeVersion);\n }\n\n function has(obj: {}, key: string) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n }\n\n if (has(options, \"useBuiltIns\")) {\n // @ts-expect-error deprecated options\n if (options[\"useBuiltIns\"]) {\n throw new Error(\n \"The 'useBuiltIns' option has been removed. The @babel/runtime \" +\n \"module now uses builtins by default.\",\n );\n } else {\n throw new Error(\n \"The 'useBuiltIns' option has been removed. Use the 'corejs'\" +\n \"option to polyfill with `core-js` via @babel/runtime.\",\n );\n }\n }\n\n if (has(options, \"polyfill\")) {\n // @ts-expect-error deprecated options\n if (options[\"polyfill\"] === false) {\n throw new Error(\n \"The 'polyfill' option has been removed. The @babel/runtime \" +\n \"module now skips polyfilling by default.\",\n );\n } else {\n throw new Error(\n \"The 'polyfill' option has been removed. Use the 'corejs'\" +\n \"option to polyfill with `core-js` via @babel/runtime.\",\n );\n }\n }\n\n if (has(options, \"moduleName\")) {\n throw new Error(\n \"The 'moduleName' option has been removed. @babel/transform-runtime \" +\n \"no longer supports arbitrary runtimes. If you were using this to \" +\n \"set an absolute path for Babel's standard runtimes, please use the \" +\n \"'absoluteRuntime' option.\",\n );\n }\n\n const esModules =\n useESModules === \"auto\" ? api.caller(supportsStaticESM) : useESModules;\n\n const HEADER_HELPERS = [\"interopRequireWildcard\", \"interopRequireDefault\"];\n\n return {\n name: \"transform-runtime\",\n\n inherits: createBasePolyfillsPlugin(\n options,\n runtimeVersion,\n absoluteRuntime,\n ),\n\n pre(file) {\n if (!useRuntimeHelpers) return;\n\n let modulePath: string;\n\n file.set(\"helperGenerator\", (name: string) => {\n modulePath ??= getRuntimePath(\n file.get(\"runtimeHelpersModuleName\") ?? \"@babel/runtime\",\n dirname,\n absoluteRuntime,\n );\n\n // If the helper didn't exist yet at the version given, we bail\n // out and let Babel either insert it directly, or throw an error\n // so that plugins can handle that case properly.\n if (!process.env.BABEL_8_BREAKING) {\n if (!file.availableHelper?.(name, runtimeVersion)) {\n if (name === \"regeneratorRuntime\") {\n // For regeneratorRuntime, we can fallback to the old behavior of\n // relying on the regeneratorRuntime global. If the 'regenerator'\n // option is not disabled, babel-plugin-polyfill-regenerator will\n // then replace it with a @babel/helpers/regenerator import.\n //\n // We must wrap it in a function, because built-in Babel helpers\n // are functions.\n return t.arrowFunctionExpression(\n [],\n t.identifier(\"regeneratorRuntime\"),\n );\n }\n return;\n }\n } else {\n if (!file.availableHelper(name, runtimeVersion)) return;\n }\n\n const isInteropHelper = HEADER_HELPERS.indexOf(name) !== -1;\n\n // Explicitly set the CommonJS interop helpers to their reserve\n // blockHoist of 4 so they are guaranteed to exist\n // when other things used them to import.\n const blockHoist =\n isInteropHelper && !isModule(file.path) ? 4 : undefined;\n\n const helpersDir =\n esModules && file.path.node.sourceType === \"module\"\n ? \"helpers/esm\"\n : \"helpers\";\n\n let helperPath = `${modulePath}/${helpersDir}/${name}`;\n if (absoluteRuntime) helperPath = resolveFSPath(helperPath);\n\n return addDefaultImport(helperPath, name, blockHoist, true);\n });\n\n const cache = new Map();\n\n function addDefaultImport(\n source: string,\n nameHint: string,\n blockHoist: number,\n isHelper = false,\n ) {\n // If something on the page adds a helper when the file is an ES6\n // file, we can't reused the cached helper name after things have been\n // transformed because it has almost certainly been renamed.\n const cacheKey = isModule(file.path);\n const key = `${source}:${nameHint}:${cacheKey || \"\"}`;\n\n let cached = cache.get(key);\n if (cached) {\n cached = t.cloneNode(cached);\n } else {\n cached = addDefault(file.path, source, {\n importedInterop: (\n process.env.BABEL_8_BREAKING\n ? isHelper\n : isHelper && supportsCJSDefault\n )\n ? \"compiled\"\n : \"uncompiled\",\n nameHint,\n blockHoist,\n });\n\n cache.set(key, cached);\n }\n return cached;\n }\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-shorthand-properties\",\n\n visitor: {\n ObjectMethod(path) {\n const { node } = path;\n if (node.kind === \"method\") {\n const func = t.functionExpression(\n null,\n node.params,\n node.body,\n node.generator,\n node.async,\n );\n func.returnType = node.returnType;\n\n const computedKey = t.toComputedKey(node);\n if (t.isStringLiteral(computedKey, { value: \"__proto__\" })) {\n path.replaceWith(t.objectProperty(computedKey, func, true));\n } else {\n path.replaceWith(t.objectProperty(node.key, func, node.computed));\n }\n }\n },\n\n ObjectProperty(path) {\n const { node } = path;\n if (node.shorthand) {\n const computedKey = t.toComputedKey(node);\n if (t.isStringLiteral(computedKey, { value: \"__proto__\" })) {\n path.replaceWith(t.objectProperty(computedKey, node.value, true));\n } else {\n node.shorthand = false;\n }\n }\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { skipTransparentExprWrappers } from \"@babel/helper-skip-transparent-expression-wrappers\";\nimport type { File } from \"@babel/core\";\nimport { types as t } from \"@babel/core\";\nimport type { NodePath, Scope } from \"@babel/traverse\";\n\ntype ListElement = t.SpreadElement | t.Expression;\n\nexport interface Options {\n allowArrayLike?: boolean;\n loose?: boolean;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const iterableIsArray = api.assumption(\"iterableIsArray\") ?? options.loose;\n const arrayLikeIsIterable =\n options.allowArrayLike ?? api.assumption(\"arrayLikeIsIterable\");\n\n function getSpreadLiteral(\n spread: t.SpreadElement,\n scope: Scope,\n ): t.Expression {\n if (\n iterableIsArray &&\n !t.isIdentifier(spread.argument, { name: \"arguments\" })\n ) {\n return spread.argument;\n } else {\n return scope.toArray(spread.argument, true, arrayLikeIsIterable);\n }\n }\n\n function hasHole(spread: t.ArrayExpression): boolean {\n return spread.elements.some(el => el === null);\n }\n\n function hasSpread(nodes: Array): boolean {\n for (let i = 0; i < nodes.length; i++) {\n if (t.isSpreadElement(nodes[i])) {\n return true;\n }\n }\n return false;\n }\n\n function push(_props: Array, nodes: Array) {\n if (!_props.length) return _props;\n nodes.push(t.arrayExpression(_props));\n return [];\n }\n\n function build(\n props: Array,\n scope: Scope,\n file: File,\n ): t.Expression[] {\n const nodes: Array = [];\n let _props: Array = [];\n\n for (const prop of props) {\n if (t.isSpreadElement(prop)) {\n _props = push(_props, nodes);\n let spreadLiteral = getSpreadLiteral(prop, scope);\n\n if (t.isArrayExpression(spreadLiteral) && hasHole(spreadLiteral)) {\n spreadLiteral = t.callExpression(\n file.addHelper(\n process.env.BABEL_8_BREAKING\n ? \"arrayLikeToArray\"\n : \"arrayWithoutHoles\",\n ),\n [spreadLiteral],\n );\n }\n\n nodes.push(spreadLiteral);\n } else {\n _props.push(prop);\n }\n }\n\n push(_props, nodes);\n\n return nodes;\n }\n\n return {\n name: \"transform-spread\",\n\n visitor: {\n ArrayExpression(path): void {\n const { node, scope } = path;\n const elements = node.elements;\n if (!hasSpread(elements)) return;\n\n const nodes = build(elements, scope, this.file);\n let first = nodes[0];\n\n // If there is only one element in the ArrayExpression and\n // the element was transformed (Array.prototype.slice.call or toConsumableArray)\n // we know that the transformed code already takes care of cloning the array.\n // So we can simply return that element.\n if (\n nodes.length === 1 &&\n first !== (elements[0] as t.SpreadElement).argument\n ) {\n path.replaceWith(first);\n return;\n }\n\n // If the first element is a ArrayExpression we can directly call\n // concat on it.\n // `[..].concat(..)`\n // If not then we have to use `[].concat(arr)` and not `arr.concat`\n // because `arr` could be extended/modified (e.g. Immutable) and we do not know exactly\n // what concat would produce.\n if (!t.isArrayExpression(first)) {\n first = t.arrayExpression([]);\n } else {\n nodes.shift();\n }\n\n path.replaceWith(\n t.callExpression(\n t.memberExpression(first, t.identifier(\"concat\")),\n nodes,\n ),\n );\n },\n CallExpression(path): void {\n const { node, scope } = path;\n\n const args = node.arguments as Array;\n if (!hasSpread(args)) return;\n const calleePath = skipTransparentExprWrappers(\n path.get(\"callee\") as NodePath,\n );\n if (calleePath.isSuper()) {\n // NOTE: spread and classes have almost the same compat data, so this is very unlikely to happen in practice.\n throw path.buildCodeFrameError(\n \"It's not possible to compile spread arguments in `super()` without compiling classes.\\n\" +\n \"Please add '@babel/plugin-transform-classes' to your Babel configuration.\",\n );\n }\n let contextLiteral: t.Expression | t.Super = scope.buildUndefinedNode();\n node.arguments = [];\n\n let nodes: t.Expression[];\n if (\n args.length === 1 &&\n t.isIdentifier((args[0] as t.SpreadElement).argument, {\n name: \"arguments\",\n })\n ) {\n nodes = [(args[0] as t.SpreadElement).argument];\n } else {\n nodes = build(args, scope, this.file);\n }\n\n const first = nodes.shift();\n if (nodes.length) {\n node.arguments.push(\n t.callExpression(\n t.memberExpression(first, t.identifier(\"concat\")),\n nodes,\n ),\n );\n } else {\n node.arguments.push(first);\n }\n\n const callee = calleePath.node as t.MemberExpression;\n\n if (t.isMemberExpression(callee)) {\n const temp = scope.maybeGenerateMemoised(callee.object);\n if (temp) {\n callee.object = t.assignmentExpression(\n \"=\",\n temp,\n // object must not be Super when `temp` is an identifier\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n callee.object as t.Expression,\n );\n contextLiteral = temp;\n } else {\n contextLiteral = t.cloneNode(callee.object);\n }\n }\n\n // We use the original callee here, to preserve any types/parentheses\n node.callee = t.memberExpression(\n node.callee as t.Expression,\n t.identifier(\"apply\"),\n );\n if (t.isSuper(contextLiteral)) {\n contextLiteral = t.thisExpression();\n }\n\n node.arguments.unshift(t.cloneNode(contextLiteral));\n },\n\n NewExpression(path): void {\n const { node, scope } = path;\n if (!hasSpread(node.arguments)) return;\n\n const nodes = build(\n node.arguments as Array,\n scope,\n this.file,\n );\n\n const first = nodes.shift();\n\n let args: t.Expression;\n if (nodes.length) {\n args = t.callExpression(\n t.memberExpression(first, t.identifier(\"concat\")),\n nodes,\n );\n } else {\n args = first;\n }\n\n path.replaceWith(\n t.callExpression(path.hub.addHelper(\"construct\"), [\n node.callee as t.Expression,\n args,\n ]),\n );\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-sticky-regex\",\n\n visitor: {\n RegExpLiteral(path) {\n const { node } = path;\n if (!node.flags.includes(\"y\")) return;\n\n path.replaceWith(\n t.newExpression(t.identifier(\"RegExp\"), [\n t.stringLiteral(node.pattern),\n t.stringLiteral(node.flags),\n ]),\n );\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-strict-mode\",\n\n visitor: {\n Program(path) {\n const { node } = path;\n\n for (const directive of node.directives) {\n if (directive.value.value === \"use strict\") return;\n }\n\n path.unshiftContainer(\n \"directives\",\n t.directive(t.directiveLiteral(\"use strict\")),\n );\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { template, types as t } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport interface Options {\n loose?: boolean;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const ignoreToPrimitiveHint =\n api.assumption(\"ignoreToPrimitiveHint\") ?? options.loose;\n const mutableTemplateObject =\n api.assumption(\"mutableTemplateObject\") ?? options.loose;\n\n let helperName = \"taggedTemplateLiteral\";\n if (mutableTemplateObject) helperName += \"Loose\";\n\n /**\n * This function groups the objects into multiple calls to `.concat()` in\n * order to preserve execution order of the primitive conversion, e.g.\n *\n * \"\".concat(obj.foo, \"foo\", obj2.foo, \"foo2\")\n *\n * would evaluate both member expressions _first_ then, `concat` will\n * convert each one to a primitive, whereas\n *\n * \"\".concat(obj.foo, \"foo\").concat(obj2.foo, \"foo2\")\n *\n * would evaluate the member, then convert it to a primitive, then evaluate\n * the second member and convert that one, which reflects the spec behavior\n * of template literals.\n */\n function buildConcatCallExpressions(items: t.Expression[]): t.CallExpression {\n let avail = true;\n // @ts-expect-error items must not be empty\n return items.reduce(function (left, right) {\n let canBeInserted = t.isLiteral(right);\n\n if (!canBeInserted && avail) {\n canBeInserted = true;\n avail = false;\n }\n if (canBeInserted && t.isCallExpression(left)) {\n left.arguments.push(right);\n return left;\n }\n return t.callExpression(\n t.memberExpression(left, t.identifier(\"concat\")),\n [right],\n );\n });\n }\n\n return {\n name: \"transform-template-literals\",\n\n visitor: {\n TaggedTemplateExpression(path) {\n const { node } = path;\n const { quasi } = node;\n\n const strings = [];\n const raws = [];\n\n // Flag variable to check if contents of strings and raw are equal\n let isStringsRawEqual = true;\n\n for (const elem of quasi.quasis) {\n const { raw, cooked } = elem.value;\n const value =\n cooked == null\n ? path.scope.buildUndefinedNode()\n : t.stringLiteral(cooked);\n\n strings.push(value);\n raws.push(t.stringLiteral(raw));\n\n if (raw !== cooked) {\n // false even if one of raw and cooked are not equal\n isStringsRawEqual = false;\n }\n }\n\n const helperArgs = [t.arrayExpression(strings)];\n // only add raw arrayExpression if there is any difference between raws and strings\n if (!isStringsRawEqual) {\n helperArgs.push(t.arrayExpression(raws));\n }\n\n const tmp = path.scope.generateUidIdentifier(\"templateObject\");\n path.scope.getProgramParent().push({ id: t.cloneNode(tmp) });\n\n path.replaceWith(\n t.callExpression(node.tag, [\n template.expression.ast`\n ${t.cloneNode(tmp)} || (\n ${tmp} = ${this.addHelper(helperName)}(${helperArgs})\n )\n `,\n // @ts-expect-error Fixme: quasi.expressions may contain TSAnyKeyword\n ...quasi.expressions,\n ]),\n );\n },\n\n TemplateLiteral(path) {\n // Skip TemplateLiteral in TSLiteralType\n if (path.parent.type === \"TSLiteralType\") {\n return;\n }\n const nodes: t.Expression[] = [];\n const expressions = path.get(\"expressions\") as NodePath[];\n\n let index = 0;\n for (const elem of path.node.quasis) {\n if (elem.value.cooked) {\n nodes.push(t.stringLiteral(elem.value.cooked));\n }\n\n if (index < expressions.length) {\n const expr = expressions[index++];\n const node = expr.node;\n if (!t.isStringLiteral(node, { value: \"\" })) {\n nodes.push(node);\n }\n }\n }\n\n // since `+` is left-to-right associative\n // ensure the first node is a string if first/second isn't\n if (\n !t.isStringLiteral(nodes[0]) &&\n !(ignoreToPrimitiveHint && t.isStringLiteral(nodes[1]))\n ) {\n nodes.unshift(t.stringLiteral(\"\"));\n }\n let root = nodes[0];\n\n if (ignoreToPrimitiveHint) {\n for (let i = 1; i < nodes.length; i++) {\n root = t.binaryExpression(\"+\", root, nodes[i]);\n }\n } else if (nodes.length > 1) {\n root = buildConcatCallExpressions(nodes);\n }\n\n path.replaceWith(root);\n },\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-typeof-symbol\",\n\n visitor: {\n Scope({ scope }) {\n if (!scope.getBinding(\"Symbol\")) {\n return;\n }\n\n scope.rename(\"Symbol\");\n },\n\n UnaryExpression(path) {\n const { node, parent } = path;\n if (node.operator !== \"typeof\") return;\n\n if (\n path.parentPath.isBinaryExpression() &&\n t.EQUALITY_BINARY_OPERATORS.indexOf(\n (parent as t.BinaryExpression).operator,\n ) >= 0\n ) {\n // optimise `typeof foo === \"string\"` since we can determine that they'll never\n // need to handle symbols\n const opposite = path.getOpposite();\n if (\n opposite.isStringLiteral() &&\n opposite.node.value !== \"symbol\" &&\n opposite.node.value !== \"object\"\n ) {\n return;\n }\n }\n\n let isUnderHelper = path.findParent(path => {\n if (path.isFunction()) {\n return (\n // @ts-expect-error the access is coupled with the shape of typeof helper\n path.get(\"body.directives.0\")?.node.value.value ===\n \"@babel/helpers - typeof\"\n );\n }\n });\n\n if (isUnderHelper) return;\n\n const helper = this.addHelper(\"typeof\");\n\n // TODO: This is needed for backward compatibility with\n // @babel/helpers <= 7.8.3.\n // Remove in Babel 8\n isUnderHelper = path.findParent(path => {\n return (\n (path.isVariableDeclarator() && path.node.id === helper) ||\n (path.isFunctionDeclaration() &&\n path.node.id &&\n path.node.id.name === helper.name)\n );\n });\n\n if (isUnderHelper) {\n return;\n }\n\n const call = t.callExpression(helper, [node.argument]);\n const arg = path.get(\"argument\");\n if (arg.isIdentifier() && !path.scope.hasBinding(arg.node.name, true)) {\n const unary = t.unaryExpression(\"typeof\", t.cloneNode(node.argument));\n path.replaceWith(\n t.conditionalExpression(\n t.binaryExpression(\"===\", unary, t.stringLiteral(\"undefined\")),\n t.stringLiteral(\"undefined\"),\n call,\n ),\n );\n } else {\n path.replaceWith(call);\n }\n },\n },\n };\n});\n","import { template, types as t } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\nimport assert from \"assert\";\nimport annotateAsPure from \"@babel/helper-annotate-as-pure\";\n\ntype t = typeof t;\n\nconst ENUMS = new WeakMap();\n\nconst buildEnumWrapper = template.expression(\n `\n (function (ID) {\n ASSIGNMENTS;\n return ID;\n })(INIT)\n `,\n);\n\nexport default function transpileEnum(\n path: NodePath,\n t: t,\n) {\n const { node, parentPath } = path;\n\n if (node.declare) {\n path.remove();\n return;\n }\n\n const name = node.id.name;\n const { fill, data, isPure } = enumFill(path, t, node.id);\n\n switch (parentPath.type) {\n case \"BlockStatement\":\n case \"ExportNamedDeclaration\":\n case \"Program\": {\n // todo: Consider exclude program with import/export\n // && !path.parent.body.some(n => t.isImportDeclaration(n) || t.isExportDeclaration(n));\n const isGlobal = t.isProgram(path.parent);\n const isSeen = seen(parentPath);\n\n let init: t.Expression = t.objectExpression([]);\n if (isSeen || isGlobal) {\n init = t.logicalExpression(\"||\", t.cloneNode(fill.ID), init);\n }\n const enumIIFE = buildEnumWrapper({ ...fill, INIT: init });\n if (isPure) annotateAsPure(enumIIFE);\n\n if (isSeen) {\n const toReplace = parentPath.isExportDeclaration() ? parentPath : path;\n toReplace.replaceWith(\n t.expressionStatement(\n t.assignmentExpression(\"=\", t.cloneNode(node.id), enumIIFE),\n ),\n );\n } else {\n path.scope.registerDeclaration(\n path.replaceWith(\n t.variableDeclaration(isGlobal ? \"var\" : \"let\", [\n t.variableDeclarator(node.id, enumIIFE),\n ]),\n )[0],\n );\n }\n ENUMS.set(path.scope.getBindingIdentifier(name), data);\n break;\n }\n\n default:\n throw new Error(`Unexpected enum parent '${path.parent.type}`);\n }\n\n function seen(parentPath: NodePath): boolean {\n if (parentPath.isExportDeclaration()) {\n return seen(parentPath.parentPath);\n }\n\n if (parentPath.getData(name)) {\n return true;\n } else {\n parentPath.setData(name, true);\n return false;\n }\n }\n}\n\nconst buildStringAssignment = template(`\n ENUM[\"NAME\"] = VALUE;\n`);\n\nconst buildNumericAssignment = template(`\n ENUM[ENUM[\"NAME\"] = VALUE] = \"NAME\";\n`);\n\nconst buildEnumMember = (isString: boolean, options: Record) =>\n (isString ? buildStringAssignment : buildNumericAssignment)(options);\n\n/**\n * Generates the statement that fills in the variable declared by the enum.\n * `(function (E) { ... assignments ... })(E || (E = {}));`\n */\nfunction enumFill(path: NodePath, t: t, id: t.Identifier) {\n const { enumValues: x, data, isPure } = translateEnumValues(path, t);\n const assignments = x.map(([memberName, memberValue]) =>\n buildEnumMember(t.isStringLiteral(memberValue), {\n ENUM: t.cloneNode(id),\n NAME: memberName,\n VALUE: memberValue,\n }),\n );\n\n return {\n fill: {\n ID: t.cloneNode(id),\n ASSIGNMENTS: assignments,\n },\n data,\n isPure,\n };\n}\n\n/**\n * Maps the name of an enum member to its value.\n * We keep track of the previous enum members so you can write code like:\n * enum E {\n * X = 1 << 0,\n * Y = 1 << 1,\n * Z = X | Y,\n * }\n */\ntype PreviousEnumMembers = Map;\n\ntype EnumSelfReferenceVisitorState = {\n seen: PreviousEnumMembers;\n path: NodePath;\n t: t;\n};\n\nfunction ReferencedIdentifier(\n expr: NodePath,\n state: EnumSelfReferenceVisitorState,\n) {\n const { seen, path, t } = state;\n const name = expr.node.name;\n if (seen.has(name) && !expr.scope.hasOwnBinding(name)) {\n expr.replaceWith(\n t.memberExpression(t.cloneNode(path.node.id), t.cloneNode(expr.node)),\n );\n expr.skip();\n }\n}\n\nconst enumSelfReferenceVisitor = {\n ReferencedIdentifier,\n};\n\nexport function translateEnumValues(path: NodePath, t: t) {\n const seen: PreviousEnumMembers = new Map();\n // Start at -1 so the first enum member is its increment, 0.\n let constValue: number | string | undefined = -1;\n let lastName: string;\n let isPure = true;\n\n const enumValues: Array<[name: string, value: t.Expression]> = path\n .get(\"members\")\n .map(memberPath => {\n const member = memberPath.node;\n const name = t.isIdentifier(member.id) ? member.id.name : member.id.value;\n const initializerPath = memberPath.get(\"initializer\");\n const initializer = member.initializer;\n let value: t.Expression;\n if (initializer) {\n constValue = computeConstantValue(initializerPath, seen);\n if (constValue !== undefined) {\n seen.set(name, constValue);\n assert(\n typeof constValue === \"number\" || typeof constValue === \"string\",\n );\n // We do not use `t.valueToNode` because `Infinity`/`NaN` might refer\n // to a local variable. Even 1/0\n // Revisit once https://github.com/microsoft/TypeScript/issues/55091\n // is fixed. Note: we will have to distinguish between actual\n // infinities and reference to non-infinite variables names Infinity.\n if (constValue === Infinity || Number.isNaN(constValue)) {\n value = t.identifier(String(constValue));\n } else if (constValue === -Infinity) {\n value = t.unaryExpression(\"-\", t.identifier(\"Infinity\"));\n } else {\n value = t.valueToNode(constValue);\n }\n } else {\n isPure &&= initializerPath.isPure();\n\n if (initializerPath.isReferencedIdentifier()) {\n ReferencedIdentifier(initializerPath, {\n t,\n seen,\n path,\n });\n } else {\n initializerPath.traverse(enumSelfReferenceVisitor, {\n t,\n seen,\n path,\n });\n }\n\n value = initializerPath.node;\n seen.set(name, undefined);\n }\n } else if (typeof constValue === \"number\") {\n constValue += 1;\n value = t.numericLiteral(constValue);\n seen.set(name, constValue);\n } else if (typeof constValue === \"string\") {\n throw path.buildCodeFrameError(\"Enum member must have initializer.\");\n } else {\n // create dynamic initializer: 1 + ENUM[\"PREVIOUS\"]\n const lastRef = t.memberExpression(\n t.cloneNode(path.node.id),\n t.stringLiteral(lastName),\n true,\n );\n value = t.binaryExpression(\"+\", t.numericLiteral(1), lastRef);\n seen.set(name, undefined);\n }\n\n lastName = name;\n return [name, value];\n });\n\n return {\n isPure,\n data: seen,\n enumValues,\n };\n}\n\n// Based on the TypeScript repository's `computeConstantValue` in `checker.ts`.\nfunction computeConstantValue(\n path: NodePath,\n prevMembers?: PreviousEnumMembers,\n seen: Set = new Set(),\n): number | string | undefined {\n return evaluate(path);\n\n function evaluate(path: NodePath): number | string | undefined {\n const expr = path.node;\n switch (expr.type) {\n case \"MemberExpression\":\n return evaluateRef(path, prevMembers, seen);\n case \"StringLiteral\":\n return expr.value;\n case \"UnaryExpression\":\n return evalUnaryExpression(path as NodePath);\n case \"BinaryExpression\":\n return evalBinaryExpression(path as NodePath);\n case \"NumericLiteral\":\n return expr.value;\n case \"ParenthesizedExpression\":\n return evaluate(path.get(\"expression\"));\n case \"Identifier\":\n return evaluateRef(path, prevMembers, seen);\n case \"TemplateLiteral\": {\n if (expr.quasis.length === 1) {\n return expr.quasis[0].value.cooked;\n }\n\n const paths = (path as NodePath).get(\"expressions\");\n const quasis = expr.quasis;\n let str = \"\";\n\n for (let i = 0; i < quasis.length; i++) {\n str += quasis[i].value.cooked;\n\n if (i + 1 < quasis.length) {\n const value = evaluateRef(paths[i], prevMembers, seen);\n if (value === undefined) return undefined;\n str += value;\n }\n }\n return str;\n }\n default:\n return undefined;\n }\n }\n\n function evaluateRef(\n path: NodePath,\n prevMembers: PreviousEnumMembers,\n seen: Set,\n ): number | string | undefined {\n if (path.isMemberExpression()) {\n const expr = path.node;\n\n const obj = expr.object;\n const prop = expr.property;\n if (\n !t.isIdentifier(obj) ||\n (expr.computed ? !t.isStringLiteral(prop) : !t.isIdentifier(prop))\n ) {\n return;\n }\n const bindingIdentifier = path.scope.getBindingIdentifier(obj.name);\n const data = ENUMS.get(bindingIdentifier);\n if (!data) return;\n // @ts-expect-error checked above\n return data.get(prop.computed ? prop.value : prop.name);\n } else if (path.isIdentifier()) {\n const name = path.node.name;\n\n if ([\"Infinity\", \"NaN\"].includes(name)) {\n return Number(name);\n }\n\n let value = prevMembers?.get(name);\n if (value !== undefined) {\n return value;\n }\n\n if (seen.has(path.node)) return;\n\n const bindingInitPath = path.resolve(); // It only resolves constant bindings\n if (bindingInitPath) {\n seen.add(path.node);\n\n value = computeConstantValue(bindingInitPath, undefined, seen);\n prevMembers?.set(name, value);\n return value;\n }\n }\n }\n\n function evalUnaryExpression(\n path: NodePath,\n ): number | string | undefined {\n const value = evaluate(path.get(\"argument\"));\n if (value === undefined) {\n return undefined;\n }\n\n switch (path.node.operator) {\n case \"+\":\n return value;\n case \"-\":\n return -value;\n case \"~\":\n return ~value;\n default:\n return undefined;\n }\n }\n\n function evalBinaryExpression(\n path: NodePath,\n ): number | string | undefined {\n const left = evaluate(path.get(\"left\")) as any;\n if (left === undefined) {\n return undefined;\n }\n const right = evaluate(path.get(\"right\")) as any;\n if (right === undefined) {\n return undefined;\n }\n\n switch (path.node.operator) {\n case \"|\":\n return left | right;\n case \"&\":\n return left & right;\n case \">>\":\n return left >> right;\n case \">>>\":\n return left >>> right;\n case \"<<\":\n return left << right;\n case \"^\":\n return left ^ right;\n case \"*\":\n return left * right;\n case \"/\":\n return left / right;\n case \"+\":\n return left + right;\n case \"-\":\n return left - right;\n case \"%\":\n return left % right;\n case \"**\":\n return left ** right;\n default:\n return undefined;\n }\n }\n}\n","import type * as t from \"@babel/types\";\nimport type { NodePath } from \"@babel/traverse\";\n\nimport { translateEnumValues } from \"./enum.ts\";\n\nexport type NodePathConstEnum = NodePath;\nexport default function transpileConstEnum(\n path: NodePathConstEnum,\n t: typeof import(\"@babel/types\"),\n) {\n const { name } = path.node.id;\n\n const parentIsExport = path.parentPath.isExportNamedDeclaration();\n let isExported = parentIsExport;\n if (!isExported && t.isProgram(path.parent)) {\n isExported = path.parent.body.some(\n stmt =>\n t.isExportNamedDeclaration(stmt) &&\n stmt.exportKind !== \"type\" &&\n !stmt.source &&\n stmt.specifiers.some(\n spec =>\n t.isExportSpecifier(spec) &&\n spec.exportKind !== \"type\" &&\n spec.local.name === name,\n ),\n );\n }\n\n const { enumValues: entries } = translateEnumValues(path, t);\n\n if (isExported) {\n const obj = t.objectExpression(\n entries.map(([name, value]) =>\n t.objectProperty(\n t.isValidIdentifier(name)\n ? t.identifier(name)\n : t.stringLiteral(name),\n value,\n ),\n ),\n );\n\n if (path.scope.hasOwnBinding(name)) {\n (parentIsExport ? path.parentPath : path).replaceWith(\n t.expressionStatement(\n t.callExpression(\n t.memberExpression(t.identifier(\"Object\"), t.identifier(\"assign\")),\n [path.node.id, obj],\n ),\n ),\n );\n } else {\n path.replaceWith(\n t.variableDeclaration(\"var\", [t.variableDeclarator(path.node.id, obj)]),\n );\n path.scope.registerDeclaration(path);\n }\n\n return;\n }\n\n const entriesMap = new Map(entries);\n\n // TODO: After fixing https://github.com/babel/babel/pull/11065, we can\n // use path.scope.getBinding(name).referencePaths rather than doing\n // a full traversal.\n path.scope.path.traverse({\n Scope(path) {\n if (path.scope.hasOwnBinding(name)) path.skip();\n },\n MemberExpression(path) {\n if (!t.isIdentifier(path.node.object, { name })) return;\n\n let key: string;\n if (path.node.computed) {\n if (t.isStringLiteral(path.node.property)) {\n key = path.node.property.value;\n } else {\n return;\n }\n } else if (t.isIdentifier(path.node.property)) {\n key = path.node.property.name;\n } else {\n return;\n }\n if (!entriesMap.has(key)) return;\n\n path.replaceWith(t.cloneNode(entriesMap.get(key)));\n },\n });\n\n path.remove();\n}\n","import { template, types as t } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport default function transpileNamespace(\n path: NodePath,\n allowNamespaces: boolean,\n) {\n if (path.node.declare || path.node.id.type === \"StringLiteral\") {\n path.remove();\n return;\n }\n\n if (!allowNamespaces) {\n throw path\n .get(\"id\")\n .buildCodeFrameError(\n \"Namespace not marked type-only declare.\" +\n \" Non-declarative namespaces are only supported experimentally in Babel.\" +\n \" To enable and review caveats see:\" +\n \" https://babeljs.io/docs/en/babel-plugin-transform-typescript\",\n );\n }\n\n const name = path.node.id.name;\n const value = handleNested(path, t.cloneNode(path.node, true));\n if (value === null) {\n path.remove();\n } else if (path.scope.hasOwnBinding(name)) {\n path.replaceWith(value);\n } else {\n path.scope.registerDeclaration(\n path.replaceWithMultiple([getDeclaration(name), value])[0],\n );\n }\n}\n\nfunction getDeclaration(name: string) {\n return t.variableDeclaration(\"let\", [\n t.variableDeclarator(t.identifier(name)),\n ]);\n}\n\nfunction getMemberExpression(name: string, itemName: string) {\n return t.memberExpression(t.identifier(name), t.identifier(itemName));\n}\n\n/**\n * Convert export const foo = 1 to Namespace.foo = 1;\n *\n * @param {t.VariableDeclaration} node given variable declaration, e.g. `const foo = 1`\n * @param {string} name the generated unique namespace member name\n * @param {*} hub An instance implements HubInterface defined in `@babel/traverse` that can throw a code frame error\n */\nfunction handleVariableDeclaration(\n node: t.VariableDeclaration,\n name: string,\n hub: any,\n): t.Statement[] {\n if (node.kind !== \"const\") {\n throw hub.file.buildCodeFrameError(\n node,\n \"Namespaces exporting non-const are not supported by Babel.\" +\n \" Change to const or see:\" +\n \" https://babeljs.io/docs/en/babel-plugin-transform-typescript\",\n );\n }\n const { declarations } = node;\n if (\n declarations.every(\n (declarator): declarator is t.VariableDeclarator & { id: t.Identifier } =>\n t.isIdentifier(declarator.id),\n )\n ) {\n // `export const a = 1` transforms to `const a = N.a = 1`, the output\n // is smaller than `const a = 1; N.a = a`;\n for (const declarator of declarations) {\n declarator.init = t.assignmentExpression(\n \"=\",\n getMemberExpression(name, declarator.id.name),\n declarator.init,\n );\n }\n return [node];\n }\n // Now we have pattern in declarators\n // `export const [a] = 1` transforms to `const [a] = 1; N.a = a`\n const bindingIdentifiers = t.getBindingIdentifiers(node);\n const assignments = [];\n // getBindingIdentifiers returns an object without prototype.\n // eslint-disable-next-line guard-for-in\n for (const idName in bindingIdentifiers) {\n assignments.push(\n t.assignmentExpression(\n \"=\",\n getMemberExpression(name, idName),\n t.cloneNode(bindingIdentifiers[idName]),\n ),\n );\n }\n return [node, t.expressionStatement(t.sequenceExpression(assignments))];\n}\n\nfunction buildNestedAmbientModuleError(path: NodePath, node: t.Node) {\n return path.hub.buildError(\n node,\n \"Ambient modules cannot be nested in other modules or namespaces.\",\n Error,\n );\n}\n\nfunction handleNested(\n path: NodePath,\n node: t.TSModuleDeclaration,\n parentExport?: t.Expression,\n): t.Statement | null {\n const names = new Set();\n const realName = node.id;\n t.assertIdentifier(realName);\n\n const name = path.scope.generateUid(realName.name);\n\n const namespaceTopLevel: t.Statement[] = t.isTSModuleBlock(node.body)\n ? node.body.body\n : // We handle `namespace X.Y {}` as if it was\n // namespace X {\n // export namespace Y {}\n // }\n [t.exportNamedDeclaration(node.body)];\n\n let isEmpty = true;\n\n for (let i = 0; i < namespaceTopLevel.length; i++) {\n const subNode = namespaceTopLevel[i];\n\n // The first switch is mainly to detect name usage. Only export\n // declarations require further transformation.\n switch (subNode.type) {\n case \"TSModuleDeclaration\": {\n if (!t.isIdentifier(subNode.id)) {\n throw buildNestedAmbientModuleError(path, subNode);\n }\n\n const transformed = handleNested(path, subNode);\n if (transformed !== null) {\n isEmpty = false;\n const moduleName = subNode.id.name;\n if (names.has(moduleName)) {\n namespaceTopLevel[i] = transformed;\n } else {\n names.add(moduleName);\n namespaceTopLevel.splice(\n i++,\n 1,\n getDeclaration(moduleName),\n transformed,\n );\n }\n }\n continue;\n }\n case \"TSEnumDeclaration\":\n case \"FunctionDeclaration\":\n case \"ClassDeclaration\":\n isEmpty = false;\n names.add(subNode.id.name);\n continue;\n case \"VariableDeclaration\": {\n isEmpty = false;\n // getBindingIdentifiers returns an object without prototype.\n // eslint-disable-next-line guard-for-in\n for (const name in t.getBindingIdentifiers(subNode)) {\n names.add(name);\n }\n continue;\n }\n default:\n isEmpty &&= t.isTypeScript(subNode);\n // Neither named declaration nor export, continue to next item.\n continue;\n case \"ExportNamedDeclaration\":\n // Export declarations get parsed using the next switch.\n }\n\n if (\"declare\" in subNode.declaration && subNode.declaration.declare) {\n continue;\n }\n\n // Transform the export declarations that occur inside of a namespace.\n switch (subNode.declaration.type) {\n case \"TSEnumDeclaration\":\n case \"FunctionDeclaration\":\n case \"ClassDeclaration\": {\n isEmpty = false;\n const itemName = subNode.declaration.id.name;\n names.add(itemName);\n namespaceTopLevel.splice(\n i++,\n 1,\n subNode.declaration,\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n getMemberExpression(name, itemName),\n t.identifier(itemName),\n ),\n ),\n );\n break;\n }\n case \"VariableDeclaration\": {\n isEmpty = false;\n const nodes = handleVariableDeclaration(\n subNode.declaration,\n name,\n path.hub,\n );\n namespaceTopLevel.splice(i, nodes.length, ...nodes);\n i += nodes.length - 1;\n break;\n }\n case \"TSModuleDeclaration\": {\n if (!t.isIdentifier(subNode.declaration.id)) {\n throw buildNestedAmbientModuleError(path, subNode.declaration);\n }\n\n const transformed = handleNested(\n path,\n subNode.declaration,\n t.identifier(name),\n );\n if (transformed !== null) {\n isEmpty = false;\n const moduleName = subNode.declaration.id.name;\n if (names.has(moduleName)) {\n namespaceTopLevel[i] = transformed;\n } else {\n names.add(moduleName);\n namespaceTopLevel.splice(\n i++,\n 1,\n getDeclaration(moduleName),\n transformed,\n );\n }\n } else {\n namespaceTopLevel.splice(i, 1);\n i--;\n }\n }\n }\n }\n\n if (isEmpty) return null;\n\n // {}\n let fallthroughValue: t.Expression = t.objectExpression([]);\n\n if (parentExport) {\n const memberExpr = t.memberExpression(parentExport, realName);\n fallthroughValue = template.expression.ast`\n ${t.cloneNode(memberExpr)} ||\n (${t.cloneNode(memberExpr)} = ${fallthroughValue})\n `;\n }\n\n return template.statement.ast`\n (function (${t.identifier(name)}) {\n ${namespaceTopLevel}\n })(${realName} || (${t.cloneNode(realName)} = ${fallthroughValue}));\n `;\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport syntaxTypeScript from \"@babel/plugin-syntax-typescript\";\nimport type { PluginPass, types as t } from \"@babel/core\";\nimport { injectInitialization } from \"@babel/helper-create-class-features-plugin\";\nimport type { Binding, NodePath, Scope } from \"@babel/traverse\";\nimport type { Options as SyntaxOptions } from \"@babel/plugin-syntax-typescript\";\n\nimport transpileConstEnum from \"./const-enum.ts\";\nimport type { NodePathConstEnum } from \"./const-enum.ts\";\nimport transpileEnum from \"./enum.ts\";\nimport transpileNamespace from \"./namespace.ts\";\n\nfunction isInType(path: NodePath) {\n switch (path.parent.type) {\n case \"TSTypeReference\":\n case \"TSExpressionWithTypeArguments\":\n case \"TSTypeQuery\":\n return true;\n case \"TSQualifiedName\":\n return (\n // `import foo = ns.bar` is transformed to `var foo = ns.bar` and should not be removed\n path.parentPath.findParent(path => path.type !== \"TSQualifiedName\")\n .type !== \"TSImportEqualsDeclaration\"\n );\n case \"ExportSpecifier\":\n return (\n // export { type foo };\n path.parent.exportKind === \"type\" ||\n // export type { foo };\n // @ts-expect-error: DeclareExportDeclaration does not have `exportKind`\n (path.parentPath as NodePath).parent.exportKind ===\n \"type\"\n );\n default:\n return false;\n }\n}\n\nconst GLOBAL_TYPES = new WeakMap>();\n// Track programs which contain imports/exports of values, so that we can include\n// empty exports for programs that do not, but were parsed as modules. This allows\n// tools to infer unambiguously that results are ESM.\nconst NEEDS_EXPLICIT_ESM = new WeakMap();\nconst PARSED_PARAMS = new WeakSet();\n\nfunction isGlobalType({ scope }: NodePath, name: string) {\n if (scope.hasBinding(name)) return false;\n if (GLOBAL_TYPES.get(scope).has(name)) return true;\n\n console.warn(\n `The exported identifier \"${name}\" is not declared in Babel's scope tracker\\n` +\n `as a JavaScript value binding, and \"@babel/plugin-transform-typescript\"\\n` +\n `never encountered it as a TypeScript type declaration.\\n` +\n `It will be treated as a JavaScript value.\\n\\n` +\n `This problem is likely caused by another plugin injecting\\n` +\n `\"${name}\" without registering it in the scope tracker. If you are the author\\n` +\n ` of that plugin, please use \"scope.registerDeclaration(declarationPath)\".`,\n );\n\n return false;\n}\n\nfunction registerGlobalType(programScope: Scope, name: string) {\n GLOBAL_TYPES.get(programScope).add(name);\n}\n\n// A hack to avoid removing the impl Binding when we remove the declare NodePath\nfunction safeRemove(path: NodePath) {\n const ids = path.getBindingIdentifiers();\n for (const name of Object.keys(ids)) {\n const binding = path.scope.getBinding(name);\n if (binding && binding.identifier === ids[name]) {\n binding.scope.removeBinding(name);\n }\n }\n path.opts.noScope = true;\n path.remove();\n path.opts.noScope = false;\n}\n\nfunction assertCjsTransformEnabled(\n path: NodePath,\n pass: PluginPass,\n wrong: string,\n suggestion: string,\n extra: string = \"\",\n): void {\n if (pass.file.get(\"@babel/plugin-transform-modules-*\") !== \"commonjs\") {\n throw path.buildCodeFrameError(\n `\\`${wrong}\\` is only supported when compiling modules to CommonJS.\\n` +\n `Please consider using \\`${suggestion}\\`${extra}, or add ` +\n `@babel/plugin-transform-modules-commonjs to your Babel config.`,\n );\n }\n}\n\nexport interface Options extends SyntaxOptions {\n /** @default true */\n allowNamespaces?: boolean;\n /** @default \"React.createElement\" */\n jsxPragma?: string;\n /** @default \"React.Fragment\" */\n jsxPragmaFrag?: string;\n onlyRemoveTypeImports?: boolean;\n optimizeConstEnums?: boolean;\n allowDeclareFields?: boolean;\n}\n\ntype ExtraNodeProps = {\n declare?: unknown;\n accessibility?: unknown;\n abstract?: unknown;\n optional?: unknown;\n override?: unknown;\n};\n\nexport default declare((api, opts: Options) => {\n // `@babel/core` and `@babel/types` are bundled in some downstream libraries.\n // Ref: https://github.com/babel/babel/issues/15089\n const { types: t, template } = api;\n\n api.assertVersion(7);\n\n const JSX_PRAGMA_REGEX = /\\*?\\s*@jsx((?:Frag)?)\\s+([^\\s]+)/;\n\n const {\n allowNamespaces = true,\n jsxPragma = \"React.createElement\",\n jsxPragmaFrag = \"React.Fragment\",\n onlyRemoveTypeImports = false,\n optimizeConstEnums = false,\n } = opts;\n\n if (!process.env.BABEL_8_BREAKING) {\n // eslint-disable-next-line no-var\n var { allowDeclareFields = false } = opts;\n }\n\n const classMemberVisitors = {\n field(\n path: NodePath<\n (t.ClassPrivateProperty | t.ClassProperty | t.ClassAccessorProperty) &\n ExtraNodeProps\n >,\n ) {\n const { node } = path;\n\n if (!process.env.BABEL_8_BREAKING) {\n if (!allowDeclareFields && node.declare) {\n throw path.buildCodeFrameError(\n `The 'declare' modifier is only allowed when the 'allowDeclareFields' option of ` +\n `@babel/plugin-transform-typescript or @babel/preset-typescript is enabled.`,\n );\n }\n }\n if (node.declare) {\n if (node.value) {\n throw path.buildCodeFrameError(\n `Fields with the 'declare' modifier cannot be initialized here, but only in the constructor`,\n );\n }\n if (!node.decorators) {\n path.remove();\n }\n } else if (node.definite) {\n if (node.value) {\n throw path.buildCodeFrameError(\n `Definitely assigned fields cannot be initialized here, but only in the constructor`,\n );\n }\n if (!process.env.BABEL_8_BREAKING) {\n // keep the definitely assigned fields only when `allowDeclareFields` (equivalent of\n // Typescript's `useDefineForClassFields`) is true\n if (\n !allowDeclareFields &&\n !node.decorators &&\n !t.isClassPrivateProperty(node)\n ) {\n path.remove();\n }\n }\n } else if (node.abstract) {\n path.remove();\n } else if (!process.env.BABEL_8_BREAKING) {\n if (\n !allowDeclareFields &&\n !node.value &&\n !node.decorators &&\n !t.isClassPrivateProperty(node)\n ) {\n path.remove();\n }\n }\n\n if (node.accessibility) node.accessibility = null;\n if (node.abstract) node.abstract = null;\n if (node.readonly) node.readonly = null;\n if (node.optional) node.optional = null;\n if (node.typeAnnotation) node.typeAnnotation = null;\n if (node.definite) node.definite = null;\n if (node.declare) node.declare = null;\n if (node.override) node.override = null;\n },\n method({ node }: NodePath) {\n if (node.accessibility) node.accessibility = null;\n if (node.abstract) node.abstract = null;\n if (node.optional) node.optional = null;\n if (node.override) node.override = null;\n\n // Rest handled by Function visitor\n },\n constructor(path: NodePath, classPath: NodePath) {\n if (path.node.accessibility) path.node.accessibility = null;\n // Collects parameter properties so that we can add an assignment\n // for each of them in the constructor body\n //\n // We use a WeakSet to ensure an assignment for a parameter\n // property is only added once. This is necessary for cases like\n // using `transform-classes`, which causes this visitor to run\n // twice.\n const assigns = [];\n const { scope } = path;\n for (const paramPath of path.get(\"params\")) {\n const param = paramPath.node;\n if (param.type === \"TSParameterProperty\") {\n const parameter = param.parameter;\n if (PARSED_PARAMS.has(parameter)) continue;\n PARSED_PARAMS.add(parameter);\n let id;\n if (t.isIdentifier(parameter)) {\n id = parameter;\n } else if (\n t.isAssignmentPattern(parameter) &&\n t.isIdentifier(parameter.left)\n ) {\n id = parameter.left;\n } else {\n throw paramPath.buildCodeFrameError(\n \"Parameter properties can not be destructuring patterns.\",\n );\n }\n assigns.push(template.statement.ast`\n this.${t.cloneNode(id)} = ${t.cloneNode(id)}`);\n\n paramPath.replaceWith(paramPath.get(\"parameter\"));\n scope.registerBinding(\"param\", paramPath);\n }\n }\n injectInitialization(classPath, path, assigns);\n },\n };\n\n return {\n name: \"transform-typescript\",\n inherits: syntaxTypeScript,\n\n visitor: {\n //\"Pattern\" alias doesn't include Identifier or RestElement.\n Pattern: visitPattern,\n Identifier: visitPattern,\n RestElement: visitPattern,\n\n Program: {\n enter(path, state) {\n const { file } = state;\n let fileJsxPragma = null;\n let fileJsxPragmaFrag = null;\n const programScope = path.scope;\n\n if (!GLOBAL_TYPES.has(programScope)) {\n GLOBAL_TYPES.set(programScope, new Set());\n }\n\n if (file.ast.comments) {\n for (const comment of file.ast.comments) {\n const jsxMatches = JSX_PRAGMA_REGEX.exec(comment.value);\n if (jsxMatches) {\n if (jsxMatches[1]) {\n // isFragment\n fileJsxPragmaFrag = jsxMatches[2];\n } else {\n fileJsxPragma = jsxMatches[2];\n }\n }\n }\n }\n\n let pragmaImportName = fileJsxPragma || jsxPragma;\n if (pragmaImportName) {\n [pragmaImportName] = pragmaImportName.split(\".\");\n }\n\n let pragmaFragImportName = fileJsxPragmaFrag || jsxPragmaFrag;\n if (pragmaFragImportName) {\n [pragmaFragImportName] = pragmaFragImportName.split(\".\");\n }\n\n // remove type imports\n for (let stmt of path.get(\"body\")) {\n if (stmt.isImportDeclaration()) {\n if (!NEEDS_EXPLICIT_ESM.has(state.file.ast.program)) {\n NEEDS_EXPLICIT_ESM.set(state.file.ast.program, true);\n }\n\n if (stmt.node.importKind === \"type\") {\n for (const specifier of stmt.node.specifiers) {\n registerGlobalType(programScope, specifier.local.name);\n }\n stmt.remove();\n continue;\n }\n\n const importsToRemove: Set> = new Set();\n const specifiersLength = stmt.node.specifiers.length;\n const isAllSpecifiersElided = () =>\n specifiersLength > 0 &&\n specifiersLength === importsToRemove.size;\n\n for (const specifier of stmt.node.specifiers) {\n if (\n specifier.type === \"ImportSpecifier\" &&\n specifier.importKind === \"type\"\n ) {\n registerGlobalType(programScope, specifier.local.name);\n const binding = stmt.scope.getBinding(specifier.local.name);\n if (binding) {\n importsToRemove.add(binding.path);\n }\n }\n }\n\n // If onlyRemoveTypeImports is `true`, only remove type-only imports\n // and exports introduced in TypeScript 3.8.\n if (onlyRemoveTypeImports) {\n NEEDS_EXPLICIT_ESM.set(path.node, false);\n } else {\n // Note: this will allow both `import { } from \"m\"` and `import \"m\";`.\n // In TypeScript, the former would be elided.\n if (stmt.node.specifiers.length === 0) {\n NEEDS_EXPLICIT_ESM.set(path.node, false);\n continue;\n }\n\n for (const specifier of stmt.node.specifiers) {\n const binding = stmt.scope.getBinding(specifier.local.name);\n\n // The binding may not exist if the import node was explicitly\n // injected by another plugin. Currently core does not do a good job\n // of keeping scope bindings synchronized with the AST. For now we\n // just bail if there is no binding, since chances are good that if\n // the import statement was injected then it wasn't a typescript type\n // import anyway.\n if (binding && !importsToRemove.has(binding.path)) {\n if (\n isImportTypeOnly({\n binding,\n programPath: path,\n pragmaImportName,\n pragmaFragImportName,\n })\n ) {\n importsToRemove.add(binding.path);\n } else {\n NEEDS_EXPLICIT_ESM.set(path.node, false);\n }\n }\n }\n }\n\n if (isAllSpecifiersElided() && !onlyRemoveTypeImports) {\n stmt.remove();\n } else {\n for (const importPath of importsToRemove) {\n importPath.remove();\n }\n }\n\n continue;\n }\n\n if (stmt.isExportDeclaration()) {\n stmt = stmt.get(\"declaration\");\n }\n\n if (stmt.isVariableDeclaration({ declare: true })) {\n for (const name of Object.keys(stmt.getBindingIdentifiers())) {\n registerGlobalType(programScope, name);\n }\n } else if (\n stmt.isTSTypeAliasDeclaration() ||\n (stmt.isTSDeclareFunction() && stmt.get(\"id\").isIdentifier()) ||\n stmt.isTSInterfaceDeclaration() ||\n stmt.isClassDeclaration({ declare: true }) ||\n stmt.isTSEnumDeclaration({ declare: true }) ||\n (stmt.isTSModuleDeclaration({ declare: true }) &&\n stmt.get(\"id\").isIdentifier())\n ) {\n registerGlobalType(\n programScope,\n (stmt.node.id as t.Identifier).name,\n );\n }\n }\n },\n exit(path) {\n if (\n path.node.sourceType === \"module\" &&\n NEEDS_EXPLICIT_ESM.get(path.node)\n ) {\n // If there are no remaining value exports, this file can no longer\n // be inferred to be ESM. Leave behind an empty export declaration\n // so it can be.\n path.pushContainer(\"body\", t.exportNamedDeclaration());\n }\n },\n },\n\n ExportNamedDeclaration(path, state) {\n if (!NEEDS_EXPLICIT_ESM.has(state.file.ast.program)) {\n NEEDS_EXPLICIT_ESM.set(state.file.ast.program, true);\n }\n\n if (path.node.exportKind === \"type\") {\n path.remove();\n return;\n }\n\n // remove export declaration that is filled with type-only specifiers\n // export { type A1, type A2 } from \"a\";\n if (\n path.node.source &&\n path.node.specifiers.length > 0 &&\n path.node.specifiers.every(\n specifier =>\n specifier.type === \"ExportSpecifier\" &&\n specifier.exportKind === \"type\",\n )\n ) {\n path.remove();\n return;\n }\n\n // remove export declaration if it's exporting only types\n // This logic is needed when exportKind is \"value\", because\n // currently the \"type\" keyword is optional.\n // TODO:\n // Also, currently @babel/parser sets exportKind to \"value\" for\n // export interface A {}\n // etc.\n if (\n !path.node.source &&\n path.node.specifiers.length > 0 &&\n path.node.specifiers.every(\n specifier =>\n t.isExportSpecifier(specifier) &&\n isGlobalType(path, specifier.local.name),\n )\n ) {\n path.remove();\n return;\n }\n\n // Convert `export namespace X {}` into `export let X; namespace X {}`,\n // so that when visiting TSModuleDeclaration we do not have to possibly\n // replace its parent path.\n if (t.isTSModuleDeclaration(path.node.declaration)) {\n const namespace = path.node.declaration;\n const { id } = namespace;\n if (t.isIdentifier(id)) {\n if (path.scope.hasOwnBinding(id.name)) {\n path.replaceWith(namespace);\n } else {\n const [newExport] = path.replaceWithMultiple([\n t.exportNamedDeclaration(\n t.variableDeclaration(\"let\", [\n t.variableDeclarator(t.cloneNode(id)),\n ]),\n ),\n namespace,\n ]);\n path.scope.registerDeclaration(newExport);\n }\n }\n }\n\n NEEDS_EXPLICIT_ESM.set(state.file.ast.program, false);\n },\n\n ExportAllDeclaration(path) {\n if (path.node.exportKind === \"type\") path.remove();\n },\n\n ExportSpecifier(path) {\n // remove type exports\n type Parent = t.ExportDeclaration & { source?: t.StringLiteral };\n const parent = path.parent as Parent;\n if (\n (!parent.source && isGlobalType(path, path.node.local.name)) ||\n path.node.exportKind === \"type\"\n ) {\n path.remove();\n }\n },\n\n ExportDefaultDeclaration(path, state) {\n if (!NEEDS_EXPLICIT_ESM.has(state.file.ast.program)) {\n NEEDS_EXPLICIT_ESM.set(state.file.ast.program, true);\n }\n\n // remove whole declaration if it's exporting a TS type\n if (\n t.isIdentifier(path.node.declaration) &&\n isGlobalType(path, path.node.declaration.name)\n ) {\n path.remove();\n\n return;\n }\n\n NEEDS_EXPLICIT_ESM.set(state.file.ast.program, false);\n },\n\n TSDeclareFunction(path) {\n safeRemove(path);\n },\n\n TSDeclareMethod(path) {\n safeRemove(path);\n },\n\n VariableDeclaration(path) {\n if (path.node.declare) {\n safeRemove(path);\n }\n },\n\n VariableDeclarator({ node }) {\n if (node.definite) node.definite = null;\n },\n\n TSIndexSignature(path) {\n path.remove();\n },\n\n ClassDeclaration(path) {\n const { node } = path;\n if (node.declare) {\n safeRemove(path);\n }\n },\n\n Class(path) {\n const { node }: { node: typeof path.node & ExtraNodeProps } = path;\n\n if (node.typeParameters) node.typeParameters = null;\n if (node.superTypeParameters) node.superTypeParameters = null;\n if (node.implements) node.implements = null;\n if (node.abstract) node.abstract = null;\n\n // Similar to the logic in `transform-flow-strip-types`, we need to\n // handle `TSParameterProperty` and `ClassProperty` here because the\n // class transform would transform the class, causing more specific\n // visitors to not run.\n path.get(\"body.body\").forEach(child => {\n if (child.isClassMethod() || child.isClassPrivateMethod()) {\n if (child.node.kind === \"constructor\") {\n classMemberVisitors.constructor(\n // @ts-expect-error A constructor must not be a private method\n child,\n path,\n );\n } else {\n classMemberVisitors.method(child);\n }\n } else if (\n child.isClassProperty() ||\n child.isClassPrivateProperty() ||\n child.isClassAccessorProperty()\n ) {\n classMemberVisitors.field(child);\n }\n });\n },\n\n Function(path) {\n const { node } = path;\n if (node.typeParameters) node.typeParameters = null;\n if (node.returnType) node.returnType = null;\n\n const params = node.params;\n if (params.length > 0 && t.isIdentifier(params[0], { name: \"this\" })) {\n params.shift();\n }\n },\n\n TSModuleDeclaration(path) {\n transpileNamespace(path, allowNamespaces);\n },\n\n TSInterfaceDeclaration(path) {\n path.remove();\n },\n\n TSTypeAliasDeclaration(path) {\n path.remove();\n },\n\n TSEnumDeclaration(path) {\n if (optimizeConstEnums && path.node.const) {\n transpileConstEnum(path as NodePathConstEnum, t);\n } else {\n transpileEnum(path, t);\n }\n },\n\n TSImportEqualsDeclaration(\n path: NodePath,\n pass,\n ) {\n const { id, moduleReference } = path.node;\n\n let init: t.Expression;\n let varKind: \"var\" | \"const\";\n if (t.isTSExternalModuleReference(moduleReference)) {\n // import alias = require('foo');\n assertCjsTransformEnabled(\n path,\n pass,\n `import ${id.name} = require(...);`,\n `import ${id.name} from '...';`,\n \" alongside Typescript's --allowSyntheticDefaultImports option\",\n );\n init = t.callExpression(t.identifier(\"require\"), [\n moduleReference.expression,\n ]);\n varKind = \"const\";\n } else {\n // import alias = Namespace;\n init = entityNameToExpr(moduleReference);\n varKind = \"var\";\n }\n\n path.replaceWith(\n t.variableDeclaration(varKind, [t.variableDeclarator(id, init)]),\n );\n path.scope.registerDeclaration(path);\n },\n\n TSExportAssignment(path, pass) {\n assertCjsTransformEnabled(\n path,\n pass,\n `export = ;`,\n `export default ;`,\n );\n path.replaceWith(\n template.statement.ast`module.exports = ${path.node.expression}`,\n );\n },\n\n TSTypeAssertion(path) {\n path.replaceWith(path.node.expression);\n },\n\n [`TSAsExpression${\n // Added in Babel 7.20.0\n t.tsSatisfiesExpression ? \"|TSSatisfiesExpression\" : \"\"\n }`](path: NodePath) {\n let { node }: { node: t.Expression } = path;\n do {\n node = node.expression;\n } while (t.isTSAsExpression(node) || t.isTSSatisfiesExpression?.(node));\n path.replaceWith(node);\n },\n\n [process.env.BABEL_8_BREAKING\n ? \"TSNonNullExpression|TSInstantiationExpression\"\n : /* This has been introduced in Babel 7.18.0\n We use api.types.* and not t.* for feature detection,\n because the Babel version that is running this plugin\n (where we check if the visitor is valid) might be different\n from the Babel version that we resolve with `import \"@babel/core\"`.\n This happens, for example, with Next.js that bundled `@babel/core`\n but allows loading unbundled plugin (which cannot obviously import\n the bundled `@babel/core` version).\n */\n api.types.tsInstantiationExpression\n ? \"TSNonNullExpression|TSInstantiationExpression\"\n : \"TSNonNullExpression\"](\n path: NodePath,\n ) {\n path.replaceWith(path.node.expression);\n },\n\n CallExpression(path) {\n path.node.typeParameters = null;\n },\n\n OptionalCallExpression(path) {\n path.node.typeParameters = null;\n },\n\n NewExpression(path) {\n path.node.typeParameters = null;\n },\n\n JSXOpeningElement(path) {\n path.node.typeParameters = null;\n },\n\n TaggedTemplateExpression(path) {\n path.node.typeParameters = null;\n },\n },\n };\n\n function entityNameToExpr(node: t.TSEntityName): t.Expression {\n if (t.isTSQualifiedName(node)) {\n return t.memberExpression(entityNameToExpr(node.left), node.right);\n }\n\n return node;\n }\n\n function visitPattern({\n node,\n }: NodePath) {\n if (node.typeAnnotation) node.typeAnnotation = null;\n if (t.isIdentifier(node) && node.optional) node.optional = null;\n // 'access' and 'readonly' are only for parameter properties, so constructor visitor will handle them.\n }\n\n function isImportTypeOnly({\n binding,\n programPath,\n pragmaImportName,\n pragmaFragImportName,\n }: {\n binding: Binding;\n programPath: NodePath;\n pragmaImportName: string;\n pragmaFragImportName: string;\n }) {\n for (const path of binding.referencePaths) {\n if (!isInType(path)) {\n return false;\n }\n }\n\n if (\n binding.identifier.name !== pragmaImportName &&\n binding.identifier.name !== pragmaFragImportName\n ) {\n return true;\n }\n\n // \"React\" or the JSX pragma is referenced as a value if there are any JSX elements/fragments in the code.\n let sourceFileHasJsx = false;\n programPath.traverse({\n \"JSXElement|JSXFragment\"(path) {\n sourceFileHasJsx = true;\n path.stop();\n },\n });\n return !sourceFileHasJsx;\n }\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n const surrogate = /[\\ud800-\\udfff]/g;\n const unicodeEscape = /(\\\\+)u\\{([0-9a-fA-F]+)\\}/g;\n\n function escape(code: number) {\n if (process.env.BABEL_8_BREAKING) {\n return \"\\\\u\" + code.toString(16).padStart(4, \"0\");\n } else {\n let str = code.toString(16);\n while (str.length < 4) str = \"0\" + str;\n return \"\\\\u\" + str;\n }\n }\n\n function replacer(match: string, backslashes: string, code: string) {\n if (backslashes.length % 2 === 0) {\n return match;\n }\n\n const char = String.fromCodePoint(parseInt(code, 16));\n const escaped = backslashes.slice(0, -1) + escape(char.charCodeAt(0));\n\n return char.length === 1 ? escaped : escaped + escape(char.charCodeAt(1));\n }\n\n function replaceUnicodeEscapes(str: string) {\n return str.replace(unicodeEscape, replacer);\n }\n\n function getUnicodeEscape(str: string) {\n let match;\n while ((match = unicodeEscape.exec(str))) {\n if (match[1].length % 2 === 0) continue;\n unicodeEscape.lastIndex = 0;\n return match[0];\n }\n return null;\n }\n\n return {\n name: \"transform-unicode-escapes\",\n manipulateOptions({ generatorOpts }) {\n // Babel 8 will enable jsesc minimal mode by default, which outputs\n // unescaped unicode string\n if (!generatorOpts.jsescOption) {\n generatorOpts.jsescOption = {};\n }\n generatorOpts.jsescOption.minimal ??= false;\n },\n visitor: {\n Identifier(path) {\n const { node, key } = path;\n const { name } = node;\n const replaced = name.replace(surrogate, c => {\n return `_u${c.charCodeAt(0).toString(16)}`;\n });\n if (name === replaced) return;\n\n const str = t.inherits(t.stringLiteral(name), node);\n\n if (key === \"key\") {\n path.replaceWith(str);\n return;\n }\n\n const { parentPath, scope } = path;\n if (\n parentPath.isMemberExpression({ property: node }) ||\n parentPath.isOptionalMemberExpression({ property: node })\n ) {\n parentPath.node.computed = true;\n path.replaceWith(str);\n return;\n }\n\n const binding = scope.getBinding(name);\n if (binding) {\n scope.rename(name, scope.generateUid(replaced));\n return;\n }\n\n throw path.buildCodeFrameError(\n `Can't reference '${name}' as a bare identifier`,\n );\n },\n\n \"StringLiteral|DirectiveLiteral\"(\n path: NodePath,\n ) {\n const { node } = path;\n const { extra } = node;\n\n if (extra?.raw) extra.raw = replaceUnicodeEscapes(extra.raw as string);\n },\n\n TemplateElement(path) {\n const { node, parentPath } = path;\n const { value } = node;\n\n const firstEscape = getUnicodeEscape(value.raw);\n if (!firstEscape) return;\n\n const grandParent = parentPath.parentPath;\n if (grandParent.isTaggedTemplateExpression()) {\n throw path.buildCodeFrameError(\n `Can't replace Unicode escape '${firstEscape}' inside tagged template literals. You can enable '@babel/plugin-transform-template-literals' to compile them to classic strings.`,\n );\n }\n\n value.raw = replaceUnicodeEscapes(value.raw);\n },\n },\n };\n});\n","/* eslint-disable @babel/development/plugin-name */\nimport { createRegExpFeaturePlugin } from \"@babel/helper-create-regexp-features-plugin\";\nimport { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return createRegExpFeaturePlugin({\n name: \"transform-unicode-regex\",\n feature: \"unicodeFlag\",\n });\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport syntaxExplicitResourceManagement from \"@babel/plugin-syntax-explicit-resource-management\";\nimport { types as t, template, traverse, type PluginPass } from \"@babel/core\";\nimport type { NodePath, Visitor } from \"@babel/traverse\";\n\nconst enum USING_KIND {\n NORMAL,\n AWAIT,\n}\n\nexport default declare(api => {\n api.assertVersion(\"^7.22.0\");\n\n const TOP_LEVEL_USING = new Map();\n\n function isUsingDeclaration(node: t.Node): node is t.VariableDeclaration {\n if (!t.isVariableDeclaration(node)) return false;\n return (\n node.kind === \"using\" ||\n node.kind === \"await using\" ||\n TOP_LEVEL_USING.has(node)\n );\n }\n\n const transformUsingDeclarationsVisitor: Visitor = {\n ForOfStatement(path: NodePath) {\n const { left } = path.node;\n if (!isUsingDeclaration(left)) return;\n\n const { id } = left.declarations[0];\n const tmpId = path.scope.generateUidIdentifierBasedOnNode(id);\n left.declarations[0].id = tmpId;\n left.kind = \"const\";\n\n path.ensureBlock();\n path.node.body.body.unshift(\n t.variableDeclaration(\"using\", [\n t.variableDeclarator(id, t.cloneNode(tmpId)),\n ]),\n );\n },\n \"BlockStatement|StaticBlock\"(\n path: NodePath,\n state,\n ) {\n let stackId: t.Identifier | null = null;\n let needsAwait = false;\n\n for (const node of path.node.body) {\n if (!isUsingDeclaration(node)) continue;\n stackId ??= path.scope.generateUidIdentifier(\"stack\");\n const isAwaitUsing =\n node.kind === \"await using\" ||\n TOP_LEVEL_USING.get(node) === USING_KIND.AWAIT;\n needsAwait ||= isAwaitUsing;\n\n if (!TOP_LEVEL_USING.delete(node)) {\n node.kind = \"const\";\n }\n node.declarations.forEach(decl => {\n const args = [t.cloneNode(stackId), decl.init];\n if (isAwaitUsing) args.push(t.booleanLiteral(true));\n decl.init = t.callExpression(state.addHelper(\"using\"), args);\n });\n }\n if (!stackId) return;\n\n const errorId = path.scope.generateUidIdentifier(\"error\");\n const hasErrorId = path.scope.generateUidIdentifier(\"hasError\");\n\n let disposeCall: t.Expression = t.callExpression(\n state.addHelper(\"dispose\"),\n [t.cloneNode(stackId), t.cloneNode(errorId), t.cloneNode(hasErrorId)],\n );\n if (needsAwait) disposeCall = t.awaitExpression(disposeCall);\n\n const replacement = template.statement.ast`\n try {\n var ${stackId} = [];\n ${path.node.body}\n } catch (_) {\n var ${errorId} = _;\n var ${hasErrorId} = true;\n } finally {\n ${disposeCall}\n }\n ` as t.TryStatement;\n\n t.inherits(replacement.block, path.node);\n\n const { parentPath } = path;\n if (\n parentPath.isFunction() ||\n parentPath.isTryStatement() ||\n parentPath.isCatchClause()\n ) {\n path.replaceWith(t.blockStatement([replacement]));\n } else if (path.isStaticBlock()) {\n path.node.body = [replacement];\n } else {\n path.replaceWith(replacement);\n }\n },\n };\n\n const transformUsingDeclarationsVisitorSkipFn: Visitor =\n traverse.visitors.merge([\n transformUsingDeclarationsVisitor,\n {\n Function(path) {\n path.skip();\n },\n },\n ]);\n\n return {\n name: \"proposal-explicit-resource-management\",\n inherits: syntaxExplicitResourceManagement,\n\n visitor: traverse.visitors.merge([\n transformUsingDeclarationsVisitor,\n {\n // To transform top-level using declarations, we must wrap the\n // module body in a block after hoisting all the exports and imports.\n // This might cause some variables to be `undefined` rather than TDZ.\n Program(path) {\n TOP_LEVEL_USING.clear();\n\n if (path.node.sourceType !== \"module\") return;\n if (!path.node.body.some(isUsingDeclaration)) return;\n\n const innerBlockBody = [];\n for (const stmt of path.get(\"body\")) {\n if (stmt.isFunctionDeclaration() || stmt.isImportDeclaration()) {\n continue;\n }\n\n let { node } = stmt;\n let shouldRemove = true;\n\n if (stmt.isExportDefaultDeclaration()) {\n let { declaration } = stmt.node;\n let varId;\n if (t.isClassDeclaration(declaration)) {\n varId = declaration.id;\n declaration.id = null;\n declaration = t.toExpression(declaration);\n } else if (!t.isExpression(declaration)) {\n continue;\n }\n\n varId ??= path.scope.generateUidIdentifier(\"_default\");\n innerBlockBody.push(\n t.variableDeclaration(\"var\", [\n t.variableDeclarator(varId, declaration),\n ]),\n );\n stmt.replaceWith(\n t.exportNamedDeclaration(null, [\n t.exportSpecifier(\n t.cloneNode(varId),\n t.identifier(\"default\"),\n ),\n ]),\n );\n continue;\n }\n\n if (stmt.isExportNamedDeclaration()) {\n node = stmt.node.declaration;\n if (!node || t.isFunction(node)) continue;\n\n stmt.replaceWith(\n t.exportNamedDeclaration(\n null,\n Object.keys(t.getOuterBindingIdentifiers(node, false)).map(\n id => t.exportSpecifier(t.identifier(id), t.identifier(id)),\n ),\n ),\n );\n shouldRemove = false;\n } else if (stmt.isExportDeclaration()) {\n continue;\n }\n\n if (t.isClassDeclaration(node)) {\n const { id } = node;\n node.id = null;\n innerBlockBody.push(\n t.variableDeclaration(\"var\", [\n t.variableDeclarator(id, t.toExpression(node)),\n ]),\n );\n } else if (t.isVariableDeclaration(node)) {\n if (node.kind === \"using\") {\n TOP_LEVEL_USING.set(stmt.node, USING_KIND.NORMAL);\n } else if (node.kind === \"await using\") {\n TOP_LEVEL_USING.set(stmt.node, USING_KIND.AWAIT);\n }\n node.kind = \"var\";\n innerBlockBody.push(node);\n } else {\n innerBlockBody.push(stmt.node);\n }\n\n if (shouldRemove) stmt.remove();\n }\n\n path.pushContainer(\"body\", t.blockStatement(innerBlockBody));\n },\n // We must transform `await using` in async functions before that\n // async-to-generator will transform `await` expressions into `yield`\n Function(path, state) {\n if (path.node.async) {\n path.traverse(transformUsingDeclarationsVisitorSkipFn, state);\n }\n },\n },\n ]),\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"syntax-import-defer\",\n\n manipulateOptions(_, parserOpts) {\n parserOpts.plugins.push(\"deferredImportEvaluation\");\n },\n };\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport type { types as t } from \"@babel/core\";\nimport type { Scope } from \"@babel/traverse\";\nimport { defineCommonJSHook } from \"@babel/plugin-transform-modules-commonjs\";\n\nimport syntaxImportDefer from \"@babel/plugin-syntax-import-defer\";\n\nexport default declare(api => {\n api.assertVersion(\"^7.23.0\");\n // We need the explicit type annotation otherwise when using t.assert* ts\n // reports that 'Assertions require every name in the call target to be\n // declared with an explicit type annotation'\n const t: typeof api.types = api.types;\n const { template } = api;\n\n function allReferencesAreProps(scope: Scope, node: t.ImportDeclaration) {\n const specifier = node.specifiers[0];\n t.assertImportNamespaceSpecifier(specifier);\n\n const binding = scope.getOwnBinding(specifier.local.name);\n return !!binding?.referencePaths.every(path =>\n path.parentPath.isMemberExpression({ object: path.node }),\n );\n }\n\n return {\n name: \"proposal-import-defer\",\n\n inherits: syntaxImportDefer,\n\n pre() {\n const { file } = this;\n\n defineCommonJSHook(file, {\n name: PACKAGE_JSON.name,\n version: PACKAGE_JSON.version,\n getWrapperPayload(source, metadata, importNodes) {\n let needsProxy = false;\n for (const node of importNodes) {\n if (!t.isImportDeclaration(node)) return null;\n if (node.phase !== \"defer\") return null;\n if (!allReferencesAreProps(file.scope, node)) needsProxy = true;\n }\n return needsProxy ? \"defer/proxy\" : \"defer/function\";\n },\n buildRequireWrapper(name, init, payload, referenced) {\n if (payload === \"defer/proxy\") {\n if (!referenced) return false;\n return template.statement.ast`\n var ${name} = ${file.addHelper(\"importDeferProxy\")}(\n () => ${init}\n )\n `;\n }\n if (payload === \"defer/function\") {\n if (!referenced) return false;\n return template.statement.ast`\n function ${name}(data) {\n ${name} = () => data;\n return data = ${init};\n }\n `;\n }\n },\n wrapReference(ref, payload) {\n if (payload === \"defer/function\") return t.callExpression(ref, []);\n },\n });\n },\n\n visitor: {\n Program(path) {\n if (this.file.get(\"@babel/plugin-transform-modules-*\") !== \"commonjs\") {\n throw new Error(\n `@babel/plugin-proposal-import-defer can only be used when` +\n ` transpiling modules to CommonJS.`,\n );\n }\n\n // Move all deferred imports to the end, so that in case of\n // import defer * as a from \"a\"\n // import \"b\"\n // import \"a\"\n // we have the correct evaluation order\n\n const eagerImports = new Set();\n\n for (const child of path.get(\"body\")) {\n if (\n (child.isImportDeclaration() && child.node.phase == null) ||\n (child.isExportNamedDeclaration() && child.node.source !== null) ||\n child.isExportAllDeclaration()\n ) {\n const specifier = child.node.source!.value;\n if (!eagerImports.has(specifier)) {\n eagerImports.add(specifier);\n }\n }\n }\n\n const importsToPush = [];\n for (const child of path.get(\"body\")) {\n if (child.isImportDeclaration({ phase: \"defer\" })) {\n const specifier = child.node.source.value;\n if (!eagerImports.has(specifier)) continue;\n\n child.node.phase = null;\n importsToPush.push(child.node);\n child.remove();\n }\n }\n if (importsToPush.length) {\n path.pushContainer(\"body\", importsToPush);\n // Re-collect references to moved imports\n path.scope.crawl();\n }\n },\n },\n };\n});\n","/*\n * This file is auto-generated! Do not modify it directly.\n * To re-generate run 'yarn gulp generate-standalone'\n */\nimport makeNoopPlugin from \"../make-noop-plugin.ts\";\nimport externalHelpers from \"@babel/plugin-external-helpers\";\nimport syntaxDecimal from \"@babel/plugin-syntax-decimal\";\nimport syntaxDecorators from \"@babel/plugin-syntax-decorators\";\nimport syntaxDestructuringPrivate from \"@babel/plugin-syntax-destructuring-private\";\nimport syntaxDoExpressions from \"@babel/plugin-syntax-do-expressions\";\nimport syntaxExplicitResourceManagement from \"@babel/plugin-syntax-explicit-resource-management\";\nimport syntaxExportDefaultFrom from \"@babel/plugin-syntax-export-default-from\";\nimport syntaxFlow from \"@babel/plugin-syntax-flow\";\nimport syntaxFunctionBind from \"@babel/plugin-syntax-function-bind\";\nimport syntaxFunctionSent from \"@babel/plugin-syntax-function-sent\";\nimport syntaxImportAssertions from \"@babel/plugin-syntax-import-assertions\";\nimport syntaxImportAttributes from \"@babel/plugin-syntax-import-attributes\";\nimport syntaxImportReflection from \"@babel/plugin-syntax-import-reflection\";\nimport syntaxJsx from \"@babel/plugin-syntax-jsx\";\nimport syntaxModuleBlocks from \"@babel/plugin-syntax-module-blocks\";\nimport syntaxOptionalChainingAssign from \"@babel/plugin-syntax-optional-chaining-assign\";\nimport syntaxPipelineOperator from \"@babel/plugin-syntax-pipeline-operator\";\nimport syntaxRecordAndTuple from \"@babel/plugin-syntax-record-and-tuple\";\nimport syntaxTypescript from \"@babel/plugin-syntax-typescript\";\nimport transformAsyncGeneratorFunctions from \"@babel/plugin-transform-async-generator-functions\";\nimport transformClassProperties from \"@babel/plugin-transform-class-properties\";\nimport transformClassStaticBlock from \"@babel/plugin-transform-class-static-block\";\nimport proposalDecorators from \"@babel/plugin-proposal-decorators\";\nimport proposalDestructuringPrivate from \"@babel/plugin-proposal-destructuring-private\";\nimport proposalDoExpressions from \"@babel/plugin-proposal-do-expressions\";\nimport proposalDuplicateNamedCapturingGroupsRegex from \"@babel/plugin-proposal-duplicate-named-capturing-groups-regex\";\nimport transformDynamicImport from \"@babel/plugin-transform-dynamic-import\";\nimport proposalExportDefaultFrom from \"@babel/plugin-proposal-export-default-from\";\nimport transformExportNamespaceFrom from \"@babel/plugin-transform-export-namespace-from\";\nimport proposalFunctionBind from \"@babel/plugin-proposal-function-bind\";\nimport proposalFunctionSent from \"@babel/plugin-proposal-function-sent\";\nimport transformJsonStrings from \"@babel/plugin-transform-json-strings\";\nimport transformLogicalAssignmentOperators from \"@babel/plugin-transform-logical-assignment-operators\";\nimport transformNullishCoalescingOperator from \"@babel/plugin-transform-nullish-coalescing-operator\";\nimport transformNumericSeparator from \"@babel/plugin-transform-numeric-separator\";\nimport transformObjectRestSpread from \"@babel/plugin-transform-object-rest-spread\";\nimport transformOptionalCatchBinding from \"@babel/plugin-transform-optional-catch-binding\";\nimport transformOptionalChaining from \"@babel/plugin-transform-optional-chaining\";\nimport proposalOptionalChainingAssign from \"@babel/plugin-proposal-optional-chaining-assign\";\nimport proposalPipelineOperator from \"@babel/plugin-proposal-pipeline-operator\";\nimport transformPrivateMethods from \"@babel/plugin-transform-private-methods\";\nimport transformPrivatePropertyInObject from \"@babel/plugin-transform-private-property-in-object\";\nimport proposalRecordAndTuple from \"@babel/plugin-proposal-record-and-tuple\";\nimport proposalRegexpModifiers from \"@babel/plugin-proposal-regexp-modifiers\";\nimport proposalThrowExpressions from \"@babel/plugin-proposal-throw-expressions\";\nimport transformUnicodePropertyRegex from \"@babel/plugin-transform-unicode-property-regex\";\nimport transformUnicodeSetsRegex from \"@babel/plugin-transform-unicode-sets-regex\";\nimport transformAsyncToGenerator from \"@babel/plugin-transform-async-to-generator\";\nimport transformArrowFunctions from \"@babel/plugin-transform-arrow-functions\";\nimport transformBlockScopedFunctions from \"@babel/plugin-transform-block-scoped-functions\";\nimport transformBlockScoping from \"@babel/plugin-transform-block-scoping\";\nimport transformClasses from \"@babel/plugin-transform-classes\";\nimport transformComputedProperties from \"@babel/plugin-transform-computed-properties\";\nimport transformDestructuring from \"@babel/plugin-transform-destructuring\";\nimport transformDotallRegex from \"@babel/plugin-transform-dotall-regex\";\nimport transformDuplicateKeys from \"@babel/plugin-transform-duplicate-keys\";\nimport transformExponentiationOperator from \"@babel/plugin-transform-exponentiation-operator\";\nimport transformFlowComments from \"@babel/plugin-transform-flow-comments\";\nimport transformFlowStripTypes from \"@babel/plugin-transform-flow-strip-types\";\nimport transformForOf from \"@babel/plugin-transform-for-of\";\nimport transformFunctionName from \"@babel/plugin-transform-function-name\";\nimport transformInstanceof from \"@babel/plugin-transform-instanceof\";\nimport transformJscript from \"@babel/plugin-transform-jscript\";\nimport transformLiterals from \"@babel/plugin-transform-literals\";\nimport transformMemberExpressionLiterals from \"@babel/plugin-transform-member-expression-literals\";\nimport transformModulesAmd from \"@babel/plugin-transform-modules-amd\";\nimport transformModulesCommonjs from \"@babel/plugin-transform-modules-commonjs\";\nimport transformModulesSystemjs from \"@babel/plugin-transform-modules-systemjs\";\nimport transformModulesUmd from \"@babel/plugin-transform-modules-umd\";\nimport transformNamedCapturingGroupsRegex from \"@babel/plugin-transform-named-capturing-groups-regex\";\nimport transformNewTarget from \"@babel/plugin-transform-new-target\";\nimport transformObjectAssign from \"@babel/plugin-transform-object-assign\";\nimport transformObjectSuper from \"@babel/plugin-transform-object-super\";\nimport transformObjectSetPrototypeOfToAssign from \"@babel/plugin-transform-object-set-prototype-of-to-assign\";\nimport transformParameters from \"@babel/plugin-transform-parameters\";\nimport transformPropertyLiterals from \"@babel/plugin-transform-property-literals\";\nimport transformPropertyMutators from \"@babel/plugin-transform-property-mutators\";\nimport transformProtoToAssign from \"@babel/plugin-transform-proto-to-assign\";\nimport transformReactConstantElements from \"@babel/plugin-transform-react-constant-elements\";\nimport transformReactDisplayName from \"@babel/plugin-transform-react-display-name\";\nimport transformReactInlineElements from \"@babel/plugin-transform-react-inline-elements\";\nimport transformReactJsx from \"@babel/plugin-transform-react-jsx\";\nimport transformReactJsxCompat from \"@babel/plugin-transform-react-jsx-compat\";\nimport transformReactJsxDevelopment from \"@babel/plugin-transform-react-jsx-development\";\nimport transformReactJsxSelf from \"@babel/plugin-transform-react-jsx-self\";\nimport transformReactJsxSource from \"@babel/plugin-transform-react-jsx-source\";\nimport transformRegenerator from \"@babel/plugin-transform-regenerator\";\nimport transformReservedWords from \"@babel/plugin-transform-reserved-words\";\nimport transformRuntime from \"@babel/plugin-transform-runtime\";\nimport transformShorthandProperties from \"@babel/plugin-transform-shorthand-properties\";\nimport transformSpread from \"@babel/plugin-transform-spread\";\nimport transformStickyRegex from \"@babel/plugin-transform-sticky-regex\";\nimport transformStrictMode from \"@babel/plugin-transform-strict-mode\";\nimport transformTemplateLiterals from \"@babel/plugin-transform-template-literals\";\nimport transformTypeofSymbol from \"@babel/plugin-transform-typeof-symbol\";\nimport transformTypescript from \"@babel/plugin-transform-typescript\";\nimport transformUnicodeEscapes from \"@babel/plugin-transform-unicode-escapes\";\nimport transformUnicodeRegex from \"@babel/plugin-transform-unicode-regex\";\nimport proposalExplicitResourceManagement from \"@babel/plugin-proposal-explicit-resource-management\";\nimport proposalImportDefer from \"@babel/plugin-proposal-import-defer\";\nexport const syntaxAsyncGenerators = makeNoopPlugin(),\n syntaxClassProperties = makeNoopPlugin(),\n syntaxClassStaticBlock = makeNoopPlugin(),\n syntaxImportMeta = makeNoopPlugin(),\n syntaxObjectRestSpread = makeNoopPlugin(),\n syntaxOptionalCatchBinding = makeNoopPlugin(),\n syntaxTopLevelAwait = makeNoopPlugin();\nexport {\n externalHelpers,\n syntaxDecimal,\n syntaxDecorators,\n syntaxDestructuringPrivate,\n syntaxDoExpressions,\n syntaxExplicitResourceManagement,\n syntaxExportDefaultFrom,\n syntaxFlow,\n syntaxFunctionBind,\n syntaxFunctionSent,\n syntaxImportAssertions,\n syntaxImportAttributes,\n syntaxImportReflection,\n syntaxJsx,\n syntaxModuleBlocks,\n syntaxOptionalChainingAssign,\n syntaxPipelineOperator,\n syntaxRecordAndTuple,\n syntaxTypescript,\n transformAsyncGeneratorFunctions,\n transformClassProperties,\n transformClassStaticBlock,\n proposalDecorators,\n proposalDestructuringPrivate,\n proposalDoExpressions,\n proposalDuplicateNamedCapturingGroupsRegex,\n transformDynamicImport,\n proposalExportDefaultFrom,\n transformExportNamespaceFrom,\n proposalFunctionBind,\n proposalFunctionSent,\n transformJsonStrings,\n transformLogicalAssignmentOperators,\n transformNullishCoalescingOperator,\n transformNumericSeparator,\n transformObjectRestSpread,\n transformOptionalCatchBinding,\n transformOptionalChaining,\n proposalOptionalChainingAssign,\n proposalPipelineOperator,\n transformPrivateMethods,\n transformPrivatePropertyInObject,\n proposalRecordAndTuple,\n proposalRegexpModifiers,\n proposalThrowExpressions,\n transformUnicodePropertyRegex,\n transformUnicodeSetsRegex,\n transformAsyncToGenerator,\n transformArrowFunctions,\n transformBlockScopedFunctions,\n transformBlockScoping,\n transformClasses,\n transformComputedProperties,\n transformDestructuring,\n transformDotallRegex,\n transformDuplicateKeys,\n transformExponentiationOperator,\n transformFlowComments,\n transformFlowStripTypes,\n transformForOf,\n transformFunctionName,\n transformInstanceof,\n transformJscript,\n transformLiterals,\n transformMemberExpressionLiterals,\n transformModulesAmd,\n transformModulesCommonjs,\n transformModulesSystemjs,\n transformModulesUmd,\n transformNamedCapturingGroupsRegex,\n transformNewTarget,\n transformObjectAssign,\n transformObjectSuper,\n transformObjectSetPrototypeOfToAssign,\n transformParameters,\n transformPropertyLiterals,\n transformPropertyMutators,\n transformProtoToAssign,\n transformReactConstantElements,\n transformReactDisplayName,\n transformReactInlineElements,\n transformReactJsx,\n transformReactJsxCompat,\n transformReactJsxDevelopment,\n transformReactJsxSelf,\n transformReactJsxSource,\n transformRegenerator,\n transformReservedWords,\n transformRuntime,\n transformShorthandProperties,\n transformSpread,\n transformStickyRegex,\n transformStrictMode,\n transformTemplateLiterals,\n transformTypeofSymbol,\n transformTypescript,\n transformUnicodeEscapes,\n transformUnicodeRegex,\n proposalExplicitResourceManagement,\n proposalImportDefer,\n};\nexport const all: { [k: string]: any } = {\n \"syntax-async-generators\": syntaxAsyncGenerators,\n \"syntax-class-properties\": syntaxClassProperties,\n \"syntax-class-static-block\": syntaxClassStaticBlock,\n \"syntax-import-meta\": syntaxImportMeta,\n \"syntax-object-rest-spread\": syntaxObjectRestSpread,\n \"syntax-optional-catch-binding\": syntaxOptionalCatchBinding,\n \"syntax-top-level-await\": syntaxTopLevelAwait,\n \"external-helpers\": externalHelpers,\n \"syntax-decimal\": syntaxDecimal,\n \"syntax-decorators\": syntaxDecorators,\n \"syntax-destructuring-private\": syntaxDestructuringPrivate,\n \"syntax-do-expressions\": syntaxDoExpressions,\n \"syntax-explicit-resource-management\": syntaxExplicitResourceManagement,\n \"syntax-export-default-from\": syntaxExportDefaultFrom,\n \"syntax-flow\": syntaxFlow,\n \"syntax-function-bind\": syntaxFunctionBind,\n \"syntax-function-sent\": syntaxFunctionSent,\n \"syntax-import-assertions\": syntaxImportAssertions,\n \"syntax-import-attributes\": syntaxImportAttributes,\n \"syntax-import-reflection\": syntaxImportReflection,\n \"syntax-jsx\": syntaxJsx,\n \"syntax-module-blocks\": syntaxModuleBlocks,\n \"syntax-optional-chaining-assign\": syntaxOptionalChainingAssign,\n \"syntax-pipeline-operator\": syntaxPipelineOperator,\n \"syntax-record-and-tuple\": syntaxRecordAndTuple,\n \"syntax-typescript\": syntaxTypescript,\n \"transform-async-generator-functions\": transformAsyncGeneratorFunctions,\n \"transform-class-properties\": transformClassProperties,\n \"transform-class-static-block\": transformClassStaticBlock,\n \"proposal-decorators\": proposalDecorators,\n \"proposal-destructuring-private\": proposalDestructuringPrivate,\n \"proposal-do-expressions\": proposalDoExpressions,\n \"proposal-duplicate-named-capturing-groups-regex\":\n proposalDuplicateNamedCapturingGroupsRegex,\n \"transform-dynamic-import\": transformDynamicImport,\n \"proposal-export-default-from\": proposalExportDefaultFrom,\n \"transform-export-namespace-from\": transformExportNamespaceFrom,\n \"proposal-function-bind\": proposalFunctionBind,\n \"proposal-function-sent\": proposalFunctionSent,\n \"transform-json-strings\": transformJsonStrings,\n \"transform-logical-assignment-operators\": transformLogicalAssignmentOperators,\n \"transform-nullish-coalescing-operator\": transformNullishCoalescingOperator,\n \"transform-numeric-separator\": transformNumericSeparator,\n \"transform-object-rest-spread\": transformObjectRestSpread,\n \"transform-optional-catch-binding\": transformOptionalCatchBinding,\n \"transform-optional-chaining\": transformOptionalChaining,\n \"proposal-optional-chaining-assign\": proposalOptionalChainingAssign,\n \"proposal-pipeline-operator\": proposalPipelineOperator,\n \"transform-private-methods\": transformPrivateMethods,\n \"transform-private-property-in-object\": transformPrivatePropertyInObject,\n \"proposal-record-and-tuple\": proposalRecordAndTuple,\n \"proposal-regexp-modifiers\": proposalRegexpModifiers,\n \"proposal-throw-expressions\": proposalThrowExpressions,\n \"transform-unicode-property-regex\": transformUnicodePropertyRegex,\n \"transform-unicode-sets-regex\": transformUnicodeSetsRegex,\n \"transform-async-to-generator\": transformAsyncToGenerator,\n \"transform-arrow-functions\": transformArrowFunctions,\n \"transform-block-scoped-functions\": transformBlockScopedFunctions,\n \"transform-block-scoping\": transformBlockScoping,\n \"transform-classes\": transformClasses,\n \"transform-computed-properties\": transformComputedProperties,\n \"transform-destructuring\": transformDestructuring,\n \"transform-dotall-regex\": transformDotallRegex,\n \"transform-duplicate-keys\": transformDuplicateKeys,\n \"transform-exponentiation-operator\": transformExponentiationOperator,\n \"transform-flow-comments\": transformFlowComments,\n \"transform-flow-strip-types\": transformFlowStripTypes,\n \"transform-for-of\": transformForOf,\n \"transform-function-name\": transformFunctionName,\n \"transform-instanceof\": transformInstanceof,\n \"transform-jscript\": transformJscript,\n \"transform-literals\": transformLiterals,\n \"transform-member-expression-literals\": transformMemberExpressionLiterals,\n \"transform-modules-amd\": transformModulesAmd,\n \"transform-modules-commonjs\": transformModulesCommonjs,\n \"transform-modules-systemjs\": transformModulesSystemjs,\n \"transform-modules-umd\": transformModulesUmd,\n \"transform-named-capturing-groups-regex\": transformNamedCapturingGroupsRegex,\n \"transform-new-target\": transformNewTarget,\n \"transform-object-assign\": transformObjectAssign,\n \"transform-object-super\": transformObjectSuper,\n \"transform-object-set-prototype-of-to-assign\":\n transformObjectSetPrototypeOfToAssign,\n \"transform-parameters\": transformParameters,\n \"transform-property-literals\": transformPropertyLiterals,\n \"transform-property-mutators\": transformPropertyMutators,\n \"transform-proto-to-assign\": transformProtoToAssign,\n \"transform-react-constant-elements\": transformReactConstantElements,\n \"transform-react-display-name\": transformReactDisplayName,\n \"transform-react-inline-elements\": transformReactInlineElements,\n \"transform-react-jsx\": transformReactJsx,\n \"transform-react-jsx-compat\": transformReactJsxCompat,\n \"transform-react-jsx-development\": transformReactJsxDevelopment,\n \"transform-react-jsx-self\": transformReactJsxSelf,\n \"transform-react-jsx-source\": transformReactJsxSource,\n \"transform-regenerator\": transformRegenerator,\n \"transform-reserved-words\": transformReservedWords,\n \"transform-runtime\": transformRuntime,\n \"transform-shorthand-properties\": transformShorthandProperties,\n \"transform-spread\": transformSpread,\n \"transform-sticky-regex\": transformStickyRegex,\n \"transform-strict-mode\": transformStrictMode,\n \"transform-template-literals\": transformTemplateLiterals,\n \"transform-typeof-symbol\": transformTypeofSymbol,\n \"transform-typescript\": transformTypescript,\n \"transform-unicode-escapes\": transformUnicodeEscapes,\n \"transform-unicode-regex\": transformUnicodeRegex,\n \"proposal-explicit-resource-management\": proposalExplicitResourceManagement,\n \"proposal-import-defer\": proposalImportDefer,\n};\n","import * as babelPlugins from \"./generated/plugins.ts\";\n\nexport default (_: any, opts: any): any => {\n let loose = false;\n let modules = \"commonjs\";\n let spec = false;\n\n if (opts !== undefined) {\n if (opts.loose !== undefined) loose = opts.loose;\n if (opts.modules !== undefined) modules = opts.modules;\n if (opts.spec !== undefined) spec = opts.spec;\n }\n\n // be DRY\n const optsLoose = { loose };\n\n return {\n plugins: [\n [babelPlugins.transformTemplateLiterals, { loose, spec }],\n babelPlugins.transformLiterals,\n babelPlugins.transformFunctionName,\n [babelPlugins.transformArrowFunctions, { spec }],\n babelPlugins.transformBlockScopedFunctions,\n [babelPlugins.transformClasses, optsLoose],\n babelPlugins.transformObjectSuper,\n babelPlugins.transformShorthandProperties,\n babelPlugins.transformDuplicateKeys,\n [babelPlugins.transformComputedProperties, optsLoose],\n [babelPlugins.transformForOf, optsLoose],\n babelPlugins.transformStickyRegex,\n babelPlugins.transformUnicodeEscapes,\n babelPlugins.transformUnicodeRegex,\n [babelPlugins.transformSpread, optsLoose],\n [babelPlugins.transformParameters, optsLoose],\n [babelPlugins.transformDestructuring, optsLoose],\n babelPlugins.transformBlockScoping,\n babelPlugins.transformTypeofSymbol,\n babelPlugins.transformInstanceof,\n (modules === \"commonjs\" || modules === \"cjs\") && [\n babelPlugins.transformModulesCommonjs,\n optsLoose,\n ],\n modules === \"systemjs\" && [\n babelPlugins.transformModulesSystemjs,\n optsLoose,\n ],\n modules === \"amd\" && [babelPlugins.transformModulesAmd, optsLoose],\n modules === \"umd\" && [babelPlugins.transformModulesUmd, optsLoose],\n [\n babelPlugins.transformRegenerator,\n { async: false, asyncGenerators: false },\n ],\n ].filter(Boolean), // filter out falsy values\n };\n};\n","import * as babelPlugins from \"./generated/plugins.ts\";\n\nexport default (_: any, opts: any = {}) => {\n const {\n loose = false,\n decoratorsLegacy = false,\n decoratorsVersion = \"2018-09\",\n decoratorsBeforeExport,\n } = opts;\n\n const plugins = [\n babelPlugins.syntaxImportAssertions,\n babelPlugins.transformUnicodeSetsRegex,\n babelPlugins.proposalDuplicateNamedCapturingGroupsRegex,\n [\n babelPlugins.proposalDecorators,\n {\n version: decoratorsLegacy ? \"legacy\" : decoratorsVersion,\n decoratorsBeforeExport,\n },\n ],\n babelPlugins.proposalRegexpModifiers,\n babelPlugins.proposalExplicitResourceManagement,\n // These are Stage 4\n ...(process.env.BABEL_8_BREAKING\n ? []\n : [\n babelPlugins.transformExportNamespaceFrom,\n babelPlugins.transformLogicalAssignmentOperators,\n [babelPlugins.transformOptionalChaining, { loose }],\n [babelPlugins.transformNullishCoalescingOperator, { loose }],\n [babelPlugins.transformClassProperties, { loose }],\n babelPlugins.transformJsonStrings,\n babelPlugins.transformNumericSeparator,\n [babelPlugins.transformPrivateMethods, { loose }],\n babelPlugins.transformPrivatePropertyInObject,\n babelPlugins.transformClassStaticBlock,\n ]),\n ];\n\n return { plugins };\n};\n","import presetStage3 from \"./preset-stage-3.ts\";\nimport * as babelPlugins from \"./generated/plugins.ts\";\n\nexport default (_: any, opts: any = {}) => {\n const {\n pipelineProposal = \"minimal\",\n pipelineTopicToken = \"%\",\n recordAndTupleSyntax = \"hash\",\n } = opts;\n\n return {\n presets: [[presetStage3, opts]],\n plugins: [\n babelPlugins.proposalDestructuringPrivate,\n [\n babelPlugins.proposalPipelineOperator,\n { proposal: pipelineProposal, topicToken: pipelineTopicToken },\n ],\n babelPlugins.proposalFunctionSent,\n babelPlugins.proposalThrowExpressions,\n [\n babelPlugins.proposalRecordAndTuple,\n { syntaxType: recordAndTupleSyntax },\n ],\n babelPlugins.syntaxModuleBlocks,\n babelPlugins.syntaxImportReflection,\n ],\n };\n};\n","import presetStage2 from \"./preset-stage-2.ts\";\nimport * as babelPlugins from \"./generated/plugins.ts\";\n\nexport default (_: any, opts: any = {}) => {\n const {\n loose = false,\n useBuiltIns = false,\n decoratorsLegacy,\n decoratorsVersion,\n decoratorsBeforeExport,\n pipelineProposal,\n pipelineTopicToken,\n recordAndTupleSyntax,\n optionalChainingAssignVersion = \"2023-07\",\n } = opts;\n\n return {\n presets: [\n [\n presetStage2,\n {\n loose,\n useBuiltIns,\n decoratorsLegacy,\n decoratorsVersion,\n decoratorsBeforeExport,\n pipelineProposal,\n pipelineTopicToken,\n recordAndTupleSyntax,\n },\n ],\n ],\n plugins: [\n babelPlugins.syntaxDecimal,\n babelPlugins.proposalExportDefaultFrom,\n babelPlugins.proposalDoExpressions,\n [\n babelPlugins.proposalOptionalChainingAssign,\n { version: optionalChainingAssignVersion },\n ],\n ],\n };\n};\n","import presetStage1 from \"./preset-stage-1.ts\";\nimport { proposalFunctionBind } from \"./generated/plugins.ts\";\n\nexport default (_: any, opts: any = {}) => {\n const {\n loose = false,\n useBuiltIns = false,\n decoratorsLegacy,\n decoratorsVersion,\n decoratorsBeforeExport,\n pipelineProposal,\n pipelineTopicToken,\n importAssertionsVersion = \"september-2020\",\n } = opts;\n\n return {\n presets: [\n [\n presetStage1,\n {\n loose,\n useBuiltIns,\n decoratorsLegacy,\n decoratorsVersion,\n decoratorsBeforeExport,\n pipelineProposal,\n pipelineTopicToken,\n importAssertionsVersion,\n },\n ],\n ],\n plugins: [proposalFunctionBind],\n };\n};\n","// env vars from the cli are always strings, so !!ENV_VAR returns true for \"false\"\nfunction bool(value) {\n if (value == null) return false;\n return value && value !== \"false\" && value !== \"0\";\n}\n\nmodule.exports = bool(process.env[\"BABEL_8_BREAKING\"])\n ? require(\"semver-BABEL_8_BREAKING-true\")\n : require(\"semver-BABEL_8_BREAKING-false\");\n","import {\n getInclusionReasons,\n type Targets,\n type Target,\n} from \"@babel/helper-compilation-targets\";\nimport compatData from \"@babel/compat-data/plugins\";\n\n// Outputs a message that shows which target(s) caused an item to be included:\n// transform-foo { \"edge\":\"13\", \"firefox\":\"49\", \"ie\":\"10\" }\nexport const logPlugin = (\n item: string,\n targetVersions: Targets,\n list: { [key: string]: Targets },\n) => {\n const filteredList = getInclusionReasons(item, targetVersions, list);\n\n const support = list[item];\n\n if (!process.env.BABEL_8_BREAKING) {\n // It's needed to keep outputting proposal- in the debug log.\n if (item.startsWith(\"transform-\")) {\n const proposalName = `proposal-${item.slice(10)}`;\n if (\n proposalName === \"proposal-dynamic-import\" ||\n Object.prototype.hasOwnProperty.call(compatData, proposalName)\n ) {\n item = proposalName;\n }\n }\n }\n\n if (!support) {\n console.log(` ${item}`);\n return;\n }\n\n let formattedTargets = `{`;\n let first = true;\n for (const target of Object.keys(filteredList) as Target[]) {\n if (!first) formattedTargets += `,`;\n first = false;\n formattedTargets += ` ${target}`;\n if (support[target]) formattedTargets += ` < ${support[target]}`;\n }\n formattedTargets += ` }`;\n\n console.log(` ${item} ${formattedTargets}`);\n};\n","const defaultExcludesForLooseMode = [\"transform-typeof-symbol\"];\n\nexport default function ({ loose }: { loose: boolean }): null | string[] {\n return loose ? defaultExcludesForLooseMode : null;\n}\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\n/**\n * Safari 10.3 had an issue where async arrow function expressions within any class method would throw.\n * After an initial fix, any references to the instance via `this` within those methods would also throw.\n * This is fixed by converting arrow functions in class methods into equivalent function expressions.\n * @see https://bugs.webkit.org/show_bug.cgi?id=166879\n *\n * @example\n * class X{ a(){ async () => {}; } } // throws\n * class X{ a(){ async function() {}; } } // works\n *\n * @example\n * class X{ a(){\n * async () => this.a; // throws\n * } }\n * class X{ a(){\n * var _this=this;\n * async function() { return _this.a }; // works\n * } }\n */\nconst OPTS = {\n allowInsertArrow: false,\n specCompliant: false\n};\n\nvar _default = ({\n types: t\n}) => ({\n name: \"transform-async-arrows-in-class\",\n visitor: {\n ArrowFunctionExpression(path) {\n if (path.node.async && path.findParent(t.isClassMethod)) {\n path.arrowFunctionToExpression(OPTS);\n }\n }\n\n }\n});\n\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\n/**\n * Converts destructured parameters with default values to non-shorthand syntax.\n * This fixes the only arguments-related bug in ES Modules-supporting browsers (Edge 16 & 17).\n * Use this plugin instead of @babel/plugin-transform-parameters when targeting ES Modules.\n */\nvar _default = ({\n types: t\n}) => {\n const isArrowParent = p => p.parentKey === \"params\" && p.parentPath && t.isArrowFunctionExpression(p.parentPath);\n\n return {\n name: \"transform-edge-default-parameters\",\n visitor: {\n AssignmentPattern(path) {\n const arrowArgParent = path.find(isArrowParent);\n\n if (arrowArgParent && path.parent.shorthand) {\n // In Babel 7+, there is no way to force non-shorthand properties.\n path.parent.shorthand = false;\n (path.parent.extra || {}).shorthand = false; // So, to ensure non-shorthand, rename the local identifier so it no longer matches:\n\n path.scope.rename(path.parent.key.name);\n }\n }\n\n }\n };\n};\n\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\n/**\n * Edge 16 & 17 do not infer function.name from variable assignment.\n * All other `function.name` behavior works fine, so we can skip most of @babel/transform-function-name.\n * @see https://kangax.github.io/compat-table/es6/#test-function_name_property_variables_(function)\n *\n * Note: contrary to various Github issues, Edge 16+ *does* correctly infer the name of Arrow Functions.\n * The variable declarator name inference issue only affects function expressions, so that's all we fix here.\n *\n * A Note on Minification: Terser undoes this transform *by default* unless `keep_fnames` is set to true.\n * There is by design - if Function.name is critical to your application, you must configure\n * your minifier to preserve function names.\n */\nvar _default = ({\n types: t\n}) => ({\n name: \"transform-edge-function-name\",\n visitor: {\n FunctionExpression: {\n exit(path) {\n if (!path.node.id && t.isIdentifier(path.parent.id)) {\n const id = t.cloneNode(path.parent.id);\n const binding = path.scope.getBinding(id.name); // if the binding gets reassigned anywhere, rename it\n\n if (binding == null ? void 0 : binding.constantViolations.length) {\n path.scope.rename(id.name);\n }\n\n path.node.id = id;\n }\n }\n\n }\n }\n});\n\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\n/**\n * Converts destructured parameters with default values to non-shorthand syntax.\n * This fixes the only Tagged Templates-related bug in ES Modules-supporting browsers (Safari 10 & 11).\n * Use this plugin instead of `@babel/plugin-transform-template-literals` when targeting ES Modules.\n *\n * @example\n * // Bug 1: Safari 10/11 doesn't reliably return the same Strings value.\n * // The value changes depending on invocation and function optimization state.\n * function f() { return Object`` }\n * f() === new f() // false, should be true.\n *\n * @example\n * // Bug 2: Safari 10/11 use the same cached strings value when the string parts are the same.\n * // This behavior comes from an earlier version of the spec, and can cause tricky bugs.\n * Object``===Object`` // true, should be false.\n *\n * Benchmarks: https://jsperf.com/compiled-tagged-template-performance\n */\nvar _default = ({\n types: t\n}) => ({\n name: \"transform-tagged-template-caching\",\n visitor: {\n TaggedTemplateExpression(path, state) {\n // tagged templates we've already dealt with\n let processed = state.get(\"processed\");\n\n if (!processed) {\n processed = new WeakSet();\n state.set(\"processed\", processed);\n }\n\n if (processed.has(path.node)) return path.skip(); // Grab the expressions from the original tag.\n // tag`a${'hello'}` // ['hello']\n\n const expressions = path.node.quasi.expressions; // Create an identity function helper:\n // identity = t => t\n\n let identity = state.get(\"identity\");\n\n if (!identity) {\n identity = path.scope.getProgramParent().generateDeclaredUidIdentifier(\"_\");\n state.set(\"identity\", identity);\n const binding = path.scope.getBinding(identity.name);\n binding.path.get(\"init\").replaceWith(t.arrowFunctionExpression( // re-use the helper identifier for compressability\n [t.identifier(\"t\")], t.identifier(\"t\")));\n } // Use the identity function helper to get a reference to the template's Strings.\n // We replace all expressions with `0` ensure Strings has the same shape.\n // identity`a${0}`\n\n\n const template = t.taggedTemplateExpression(t.cloneNode(identity), t.templateLiteral(path.node.quasi.quasis, expressions.map(() => t.numericLiteral(0))));\n processed.add(template); // Install an inline cache at the callsite using the global variable:\n // _t || (_t = identity`a${0}`)\n\n const ident = path.scope.getProgramParent().generateDeclaredUidIdentifier(\"t\");\n path.scope.getBinding(ident.name).path.parent.kind = \"let\";\n const inlineCache = t.logicalExpression(\"||\", ident, t.assignmentExpression(\"=\", t.cloneNode(ident), template)); // The original tag function becomes a plain function call.\n // The expressions omitted from the cached Strings tag are directly applied as arguments.\n // tag(_t || (_t = Object`a${0}`), 'hello')\n\n const node = t.callExpression(path.node.tag, [inlineCache, ...expressions]);\n path.replaceWith(node);\n }\n\n }\n});\n\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = _default;\n\n/**\n * Fixes block-shadowed let/const bindings in Safari 10/11.\n * https://kangax.github.io/compat-table/es6/#test-let_scope_shadow_resolution\n */\nfunction _default({\n types: t\n}) {\n return {\n name: \"transform-safari-block-shadowing\",\n visitor: {\n VariableDeclarator(path) {\n // the issue only affects let and const bindings:\n const kind = path.parent.kind;\n if (kind !== \"let\" && kind !== \"const\") return; // ignore non-block-scoped bindings:\n\n const block = path.scope.block;\n if (t.isFunction(block) || t.isProgram(block)) return;\n const bindings = t.getOuterBindingIdentifiers(path.node.id);\n\n for (const name of Object.keys(bindings)) {\n let scope = path.scope; // ignore parent bindings (note: impossible due to let/const?)\n\n if (!scope.hasOwnBinding(name)) continue; // check if shadowed within the nearest function/program boundary\n\n while (scope = scope.parent) {\n if (scope.hasOwnBinding(name)) {\n path.scope.rename(name);\n break;\n }\n\n if (t.isFunction(scope.block) || t.isProgram(scope.block)) {\n break;\n }\n }\n }\n }\n\n }\n };\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\n/**\n * Safari ~11 has an issue where variable declarations in a For statement throw if they shadow parameters.\n * This is fixed by renaming any declarations in the left/init part of a For* statement so they don't shadow.\n * @see https://bugs.webkit.org/show_bug.cgi?id=171041\n *\n * @example\n * e => { for (let e of []) e } // throws\n * e => { for (let _e of []) _e } // works\n */\nfunction handle(declaration) {\n if (!declaration.isVariableDeclaration()) return;\n const fn = declaration.getFunctionParent();\n const {\n name\n } = declaration.node.declarations[0].id; // check if there is a shadowed binding coming from a parameter\n\n if (fn && fn.scope.hasOwnBinding(name) && fn.scope.getOwnBinding(name).kind === \"param\") {\n declaration.scope.rename(name);\n }\n}\n\nvar _default = () => ({\n name: \"transform-safari-for-shadowing\",\n visitor: {\n ForXStatement(path) {\n handle(path.get(\"left\"));\n },\n\n ForStatement(path) {\n handle(path.get(\"init\"));\n }\n\n }\n});\n\nexports.default = _default;\nmodule.exports = exports.default;","import type { FunctionExpression } from \"@babel/types\";\nimport type { NodePath } from \"@babel/traverse\";\n\n/**\n * Check whether a function expression can be affected by\n * https://bugs.webkit.org/show_bug.cgi?id=220517\n * @param path The function expression NodePath\n * @returns the name of function id if it should be transformed, otherwise returns false\n */\nexport function shouldTransform(\n path: NodePath,\n): string | false {\n const { node } = path;\n const functionId = node.id;\n if (!functionId) return false;\n\n const name = functionId.name;\n // On collision, `getOwnBinding` returns the param binding\n // with the id binding be registered as constant violation\n const paramNameBinding = path.scope.getOwnBinding(name);\n if (paramNameBinding === undefined) {\n // Case 1: the function id is injected by babel-helper-name-function, which\n // assigns `NOT_LOCAL_BINDING` to the `functionId` and thus not registering id\n // in scope tracking\n // Case 2: the function id is injected by a third party plugin which does not update the\n // scope info\n return false;\n }\n if (paramNameBinding.kind !== \"param\") {\n // the function id does not reproduce in params\n return false;\n }\n\n if (paramNameBinding.identifier === paramNameBinding.path.node) {\n // the param binding is a simple parameter\n // e.g. (function a(a) {})\n return false;\n }\n\n return name;\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { shouldTransform } from \"./util.ts\";\n\nexport default declare(api => {\n api.assertVersion(\"^7.16.0\");\n\n return {\n name: \"plugin-bugfix-safari-id-destructuring-collision-in-function-expression\",\n\n visitor: {\n FunctionExpression(path) {\n const name = shouldTransform(path);\n if (name) {\n // Now we have (function a([a]) {})\n const { scope } = path;\n // invariant: path.node.id is always an Identifier here\n const newParamName = scope.generateUid(name);\n scope.rename(name, newParamName);\n }\n },\n },\n };\n});\n","import { skipTransparentExprWrappers } from \"@babel/helper-skip-transparent-expression-wrappers\";\nimport type { NodePath } from \"@babel/traverse\";\nimport { types as t } from \"@babel/core\";\n// https://crbug.com/v8/11558\n\n// check if there is a spread element followed by another argument.\n// (...[], 0) or (...[], ...[])\n\nfunction matchAffectedArguments(argumentNodes: t.CallExpression[\"arguments\"]) {\n const spreadIndex = argumentNodes.findIndex(node => t.isSpreadElement(node));\n return spreadIndex >= 0 && spreadIndex !== argumentNodes.length - 1;\n}\n\n/**\n * Check whether the optional chain is affected by https://crbug.com/v8/11558.\n * This routine MUST not manipulate NodePath\n *\n * @export\n * @param {(NodePath)} path\n * @returns {boolean}\n */\nexport function shouldTransform(\n path: NodePath,\n): boolean {\n let optionalPath: NodePath = path;\n const chains: (t.OptionalCallExpression | t.OptionalMemberExpression)[] = [];\n for (;;) {\n if (optionalPath.isOptionalMemberExpression()) {\n chains.push(optionalPath.node);\n optionalPath = skipTransparentExprWrappers(optionalPath.get(\"object\"));\n } else if (optionalPath.isOptionalCallExpression()) {\n chains.push(optionalPath.node);\n optionalPath = skipTransparentExprWrappers(optionalPath.get(\"callee\"));\n } else {\n break;\n }\n }\n for (let i = 0; i < chains.length; i++) {\n const node = chains[i];\n if (\n t.isOptionalCallExpression(node) &&\n matchAffectedArguments(node.arguments)\n ) {\n // f?.(...[], 0)\n if (node.optional) {\n return true;\n }\n // o?.m(...[], 0)\n // when node.optional is false, chains[i + 1] is always well defined\n const callee = chains[i + 1];\n if (t.isOptionalMemberExpression(callee, { optional: true })) {\n return true;\n }\n }\n }\n return false;\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport { transform } from \"@babel/plugin-transform-optional-chaining\";\nimport { shouldTransform } from \"./util.ts\";\nimport type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\n\nexport default declare(api => {\n api.assertVersion(7);\n\n const noDocumentAll = api.assumption(\"noDocumentAll\") ?? false;\n const pureGetters = api.assumption(\"pureGetters\") ?? false;\n\n return {\n name: \"bugfix-v8-spread-parameters-in-optional-chaining\",\n\n visitor: {\n \"OptionalCallExpression|OptionalMemberExpression\"(\n path: NodePath,\n ) {\n if (shouldTransform(path)) {\n transform(path, { noDocumentAll, pureGetters });\n }\n },\n },\n };\n});\n","/* eslint sort-keys: \"error\" */\n\nimport syntaxImportAssertions from \"@babel/plugin-syntax-import-assertions\";\nimport syntaxImportAttributes from \"@babel/plugin-syntax-import-attributes\";\n\nimport proposalAsyncGeneratorFunctions from \"@babel/plugin-transform-async-generator-functions\";\nimport proposalClassProperties from \"@babel/plugin-transform-class-properties\";\nimport proposalClassStaticBlock from \"@babel/plugin-transform-class-static-block\";\nimport proposalDynamicImport from \"@babel/plugin-transform-dynamic-import\";\nimport proposalExportNamespaceFrom from \"@babel/plugin-transform-export-namespace-from\";\nimport proposalJsonStrings from \"@babel/plugin-transform-json-strings\";\nimport proposalLogicalAssignmentOperators from \"@babel/plugin-transform-logical-assignment-operators\";\nimport proposalNullishCoalescingOperator from \"@babel/plugin-transform-nullish-coalescing-operator\";\nimport proposalNumericSeparator from \"@babel/plugin-transform-numeric-separator\";\nimport proposalObjectRestSpread from \"@babel/plugin-transform-object-rest-spread\";\nimport proposalOptionalCatchBinding from \"@babel/plugin-transform-optional-catch-binding\";\nimport proposalOptionalChaining from \"@babel/plugin-transform-optional-chaining\";\nimport proposalPrivateMethods from \"@babel/plugin-transform-private-methods\";\nimport proposalPrivatePropertyInObject from \"@babel/plugin-transform-private-property-in-object\";\nimport proposalUnicodePropertyRegex from \"@babel/plugin-transform-unicode-property-regex\";\nimport transformAsyncToGenerator from \"@babel/plugin-transform-async-to-generator\";\nimport transformArrowFunctions from \"@babel/plugin-transform-arrow-functions\";\nimport transformBlockScopedFunctions from \"@babel/plugin-transform-block-scoped-functions\";\nimport transformBlockScoping from \"@babel/plugin-transform-block-scoping\";\nimport transformClasses from \"@babel/plugin-transform-classes\";\nimport transformComputedProperties from \"@babel/plugin-transform-computed-properties\";\nimport transformDestructuring from \"@babel/plugin-transform-destructuring\";\nimport transformDotallRegex from \"@babel/plugin-transform-dotall-regex\";\nimport transformDuplicateKeys from \"@babel/plugin-transform-duplicate-keys\";\nimport transformExponentialOperator from \"@babel/plugin-transform-exponentiation-operator\";\nimport transformForOf from \"@babel/plugin-transform-for-of\";\nimport transformFunctionName from \"@babel/plugin-transform-function-name\";\nimport transformLiterals from \"@babel/plugin-transform-literals\";\nimport transformMemberExpressionLiterals from \"@babel/plugin-transform-member-expression-literals\";\nimport transformModulesAmd from \"@babel/plugin-transform-modules-amd\";\nimport transformModulesCommonjs from \"@babel/plugin-transform-modules-commonjs\";\nimport transformModulesSystemjs from \"@babel/plugin-transform-modules-systemjs\";\nimport transformModulesUmd from \"@babel/plugin-transform-modules-umd\";\nimport transformNamedCapturingGroupsRegex from \"@babel/plugin-transform-named-capturing-groups-regex\";\nimport transformNewTarget from \"@babel/plugin-transform-new-target\";\nimport transformObjectSuper from \"@babel/plugin-transform-object-super\";\nimport transformParameters from \"@babel/plugin-transform-parameters\";\nimport transformPropertyLiterals from \"@babel/plugin-transform-property-literals\";\nimport transformRegenerator from \"@babel/plugin-transform-regenerator\";\nimport transformReservedWords from \"@babel/plugin-transform-reserved-words\";\nimport transformShorthandProperties from \"@babel/plugin-transform-shorthand-properties\";\nimport transformSpread from \"@babel/plugin-transform-spread\";\nimport transformStickyRegex from \"@babel/plugin-transform-sticky-regex\";\nimport transformTemplateLiterals from \"@babel/plugin-transform-template-literals\";\nimport transformTypeofSymbol from \"@babel/plugin-transform-typeof-symbol\";\nimport transformUnicodeEscapes from \"@babel/plugin-transform-unicode-escapes\";\nimport transformUnicodeRegex from \"@babel/plugin-transform-unicode-regex\";\nimport transformUnicodeSetsRegex from \"@babel/plugin-transform-unicode-sets-regex\";\n\nimport bugfixAsyncArrowsInClass from \"@babel/preset-modules/lib/plugins/transform-async-arrows-in-class/index.js\";\nimport bugfixEdgeDefaultParameters from \"@babel/preset-modules/lib/plugins/transform-edge-default-parameters/index.js\";\nimport bugfixEdgeFunctionName from \"@babel/preset-modules/lib/plugins/transform-edge-function-name/index.js\";\nimport bugfixTaggedTemplateCaching from \"@babel/preset-modules/lib/plugins/transform-tagged-template-caching/index.js\";\nimport bugfixSafariBlockShadowing from \"@babel/preset-modules/lib/plugins/transform-safari-block-shadowing/index.js\";\nimport bugfixSafariForShadowing from \"@babel/preset-modules/lib/plugins/transform-safari-for-shadowing/index.js\";\nimport bugfixSafariIdDestructuringCollisionInFunctionExpression from \"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression\";\nimport bugfixV8SpreadParametersInOptionalChaining from \"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining\";\n\nexport { availablePlugins as default };\nconst availablePlugins = {\n \"bugfix/transform-async-arrows-in-class\": () => bugfixAsyncArrowsInClass,\n \"bugfix/transform-edge-default-parameters\": () => bugfixEdgeDefaultParameters,\n \"bugfix/transform-edge-function-name\": () => bugfixEdgeFunctionName,\n \"bugfix/transform-safari-block-shadowing\": () => bugfixSafariBlockShadowing,\n \"bugfix/transform-safari-for-shadowing\": () => bugfixSafariForShadowing,\n \"bugfix/transform-safari-id-destructuring-collision-in-function-expression\":\n () => bugfixSafariIdDestructuringCollisionInFunctionExpression,\n \"bugfix/transform-tagged-template-caching\": () => bugfixTaggedTemplateCaching,\n \"bugfix/transform-v8-spread-parameters-in-optional-chaining\": () =>\n bugfixV8SpreadParametersInOptionalChaining,\n \"syntax-import-assertions\": () => syntaxImportAssertions,\n \"syntax-import-attributes\": () => syntaxImportAttributes,\n \"transform-arrow-functions\": () => transformArrowFunctions,\n \"transform-async-generator-functions\": () => proposalAsyncGeneratorFunctions,\n \"transform-async-to-generator\": () => transformAsyncToGenerator,\n \"transform-block-scoped-functions\": () => transformBlockScopedFunctions,\n \"transform-block-scoping\": () => transformBlockScoping,\n \"transform-class-properties\": () => proposalClassProperties,\n \"transform-class-static-block\": () => proposalClassStaticBlock,\n \"transform-classes\": () => transformClasses,\n \"transform-computed-properties\": () => transformComputedProperties,\n \"transform-destructuring\": () => transformDestructuring,\n \"transform-dotall-regex\": () => transformDotallRegex,\n \"transform-duplicate-keys\": () => transformDuplicateKeys,\n \"transform-dynamic-import\": () => proposalDynamicImport,\n \"transform-exponentiation-operator\": () => transformExponentialOperator,\n \"transform-export-namespace-from\": () => proposalExportNamespaceFrom,\n \"transform-for-of\": () => transformForOf,\n \"transform-function-name\": () => transformFunctionName,\n \"transform-json-strings\": () => proposalJsonStrings,\n \"transform-literals\": () => transformLiterals,\n \"transform-logical-assignment-operators\": () =>\n proposalLogicalAssignmentOperators,\n \"transform-member-expression-literals\": () =>\n transformMemberExpressionLiterals,\n \"transform-modules-amd\": () => transformModulesAmd,\n \"transform-modules-commonjs\": () => transformModulesCommonjs,\n \"transform-modules-systemjs\": () => transformModulesSystemjs,\n \"transform-modules-umd\": () => transformModulesUmd,\n \"transform-named-capturing-groups-regex\": () =>\n transformNamedCapturingGroupsRegex,\n \"transform-new-target\": () => transformNewTarget,\n \"transform-nullish-coalescing-operator\": () =>\n proposalNullishCoalescingOperator,\n \"transform-numeric-separator\": () => proposalNumericSeparator,\n \"transform-object-rest-spread\": () => proposalObjectRestSpread,\n \"transform-object-super\": () => transformObjectSuper,\n \"transform-optional-catch-binding\": () => proposalOptionalCatchBinding,\n \"transform-optional-chaining\": () => proposalOptionalChaining,\n \"transform-parameters\": () => transformParameters,\n \"transform-private-methods\": () => proposalPrivateMethods,\n \"transform-private-property-in-object\": () => proposalPrivatePropertyInObject,\n \"transform-property-literals\": () => transformPropertyLiterals,\n \"transform-regenerator\": () => transformRegenerator,\n \"transform-reserved-words\": () => transformReservedWords,\n \"transform-shorthand-properties\": () => transformShorthandProperties,\n \"transform-spread\": () => transformSpread,\n \"transform-sticky-regex\": () => transformStickyRegex,\n \"transform-template-literals\": () => transformTemplateLiterals,\n \"transform-typeof-symbol\": () => transformTypeofSymbol,\n \"transform-unicode-escapes\": () => transformUnicodeEscapes,\n \"transform-unicode-property-regex\": () => proposalUnicodePropertyRegex,\n \"transform-unicode-regex\": () => transformUnicodeRegex,\n \"transform-unicode-sets-regex\": () => transformUnicodeSetsRegex,\n};\n\nexport const minVersions = {};\n\nif (!process.env.BABEL_8_BREAKING) {\n /* eslint-disable no-restricted-globals */\n\n Object.assign(minVersions, {\n \"bugfix/transform-safari-id-destructuring-collision-in-function-expression\":\n \"7.16.0\",\n \"syntax-import-attributes\": \"7.22.0\",\n \"transform-class-static-block\": \"7.12.0\",\n \"transform-private-property-in-object\": \"7.10.0\",\n });\n\n // We cannot use the require call in ESM and when bundling.\n // Babel standalone uses a modern parser, so just include a noop plugin.\n // Use `bind` so that it's not detected as a duplicate plugin when using it.\n\n // This is a factory to create a function that returns a no-op plugn\n const e = () => () => () => ({});\n\n Object.assign(availablePlugins, {\n \"syntax-async-generators\":\n USE_ESM || IS_STANDALONE\n ? e()\n : () => require(\"@babel/plugin-syntax-async-generators\"),\n \"syntax-class-properties\":\n USE_ESM || IS_STANDALONE\n ? e()\n : () => require(\"@babel/plugin-syntax-class-properties\"),\n \"syntax-class-static-block\":\n USE_ESM || IS_STANDALONE\n ? e()\n : () => require(\"@babel/plugin-syntax-class-static-block\"),\n \"syntax-dynamic-import\":\n USE_ESM || IS_STANDALONE\n ? e()\n : () => require(\"@babel/plugin-syntax-dynamic-import\"),\n \"syntax-export-namespace-from\":\n USE_ESM || IS_STANDALONE\n ? e()\n : () => require(\"@babel/plugin-syntax-export-namespace-from\"),\n \"syntax-import-meta\":\n USE_ESM || IS_STANDALONE\n ? e()\n : () => require(\"@babel/plugin-syntax-import-meta\"),\n \"syntax-json-strings\":\n USE_ESM || IS_STANDALONE\n ? e()\n : () => require(\"@babel/plugin-syntax-json-strings\"),\n \"syntax-logical-assignment-operators\":\n USE_ESM || IS_STANDALONE\n ? e()\n : () => require(\"@babel/plugin-syntax-logical-assignment-operators\"),\n \"syntax-nullish-coalescing-operator\":\n USE_ESM || IS_STANDALONE\n ? e()\n : () => require(\"@babel/plugin-syntax-nullish-coalescing-operator\"),\n \"syntax-numeric-separator\":\n USE_ESM || IS_STANDALONE\n ? e()\n : () => require(\"@babel/plugin-syntax-numeric-separator\"),\n \"syntax-object-rest-spread\":\n USE_ESM || IS_STANDALONE\n ? e()\n : () => require(\"@babel/plugin-syntax-object-rest-spread\"),\n \"syntax-optional-catch-binding\":\n USE_ESM || IS_STANDALONE\n ? e()\n : () => require(\"@babel/plugin-syntax-optional-catch-binding\"),\n \"syntax-optional-chaining\":\n USE_ESM || IS_STANDALONE\n ? e()\n : () => require(\"@babel/plugin-syntax-optional-chaining\"),\n \"syntax-private-property-in-object\":\n USE_ESM || IS_STANDALONE\n ? e()\n : () => require(\"@babel/plugin-syntax-private-property-in-object\"),\n \"syntax-top-level-await\":\n USE_ESM || IS_STANDALONE\n ? e()\n : () => require(\"@babel/plugin-syntax-top-level-await\"),\n });\n\n // This is a CJS plugin that depends on a package from the monorepo, so it\n // breaks using ESM. Given that ESM builds are new enough to have this\n // syntax enabled by default, we can safely skip enabling it.\n if (!USE_ESM) {\n // @ts-expect-error unknown key\n availablePlugins[\"unicode-sets-regex\"] = IS_STANDALONE\n ? e()\n : () => require(\"@babel/plugin-syntax-unicode-sets-regex\");\n }\n}\n","import semver from \"semver\";\nimport { minVersions } from \"./available-plugins.ts\";\n\nconst has = Function.call.bind(Object.hasOwnProperty);\n\nexport function addProposalSyntaxPlugins(\n items: Set,\n proposalSyntaxPlugins: readonly string[],\n) {\n proposalSyntaxPlugins.forEach(plugin => {\n items.add(plugin);\n });\n}\nexport function removeUnnecessaryItems(\n items: Set,\n overlapping: { [name: string]: string[] },\n) {\n items.forEach(item => {\n overlapping[item]?.forEach(name => items.delete(name));\n });\n}\nexport function removeUnsupportedItems(\n items: Set,\n babelVersion: string,\n) {\n items.forEach(item => {\n if (\n has(minVersions, item) &&\n semver.lt(\n babelVersion,\n // @ts-expect-error we have checked minVersions[item] in has call\n minVersions[item],\n )\n ) {\n items.delete(item);\n }\n });\n}\n","type AvailablePlugins = typeof import(\"./available-plugins\").default;\n\nexport default {\n auto: \"transform-modules-commonjs\",\n amd: \"transform-modules-amd\",\n commonjs: \"transform-modules-commonjs\",\n cjs: \"transform-modules-commonjs\",\n systemjs: \"transform-modules-systemjs\",\n umd: \"transform-modules-umd\",\n} as { [transform: string]: keyof AvailablePlugins };\n","module.exports = require(\"core-js-compat/data.json\");\n","module.exports = require(\"./data/plugin-bugfixes.json\");\n","module.exports = require(\"./data/overlapping-plugins.json\");\n","import originalPlugins from \"@babel/compat-data/plugins\";\nimport originalPluginsBugfixes from \"@babel/compat-data/plugin-bugfixes\";\nimport originalOverlappingPlugins from \"@babel/compat-data/overlapping-plugins\";\nimport availablePlugins from \"./available-plugins.ts\";\n\nconst keys: (o: O) => (keyof O)[] = Object.keys;\n\nexport const plugins = filterAvailable(originalPlugins);\nexport const pluginsBugfixes = filterAvailable(originalPluginsBugfixes);\nexport const overlappingPlugins = filterAvailable(originalOverlappingPlugins);\n\n// @ts-expect-error: we extend this here, since it's a syntax plugin and thus\n// doesn't make sense to store it in a compat-data package.\noverlappingPlugins[\"syntax-import-attributes\"] = [\"syntax-import-assertions\"];\n\nfunction filterAvailable(\n data: Data,\n): { [Name in keyof Data & keyof typeof availablePlugins]: Data[Name] } {\n const result = {} as any;\n for (const plugin of keys(data)) {\n if (Object.hasOwnProperty.call(availablePlugins, plugin)) {\n result[plugin] = data[plugin];\n }\n }\n return result;\n}\n","export const TopLevelOptions = {\n bugfixes: \"bugfixes\",\n configPath: \"configPath\",\n corejs: \"corejs\",\n debug: \"debug\",\n exclude: \"exclude\",\n forceAllTransforms: \"forceAllTransforms\",\n ignoreBrowserslistConfig: \"ignoreBrowserslistConfig\",\n include: \"include\",\n loose: \"loose\",\n modules: \"modules\",\n shippedProposals: \"shippedProposals\",\n spec: \"spec\",\n targets: \"targets\",\n useBuiltIns: \"useBuiltIns\",\n browserslistEnv: \"browserslistEnv\",\n} as const;\n\nexport const ModulesOption = {\n false: false,\n auto: \"auto\",\n amd: \"amd\",\n commonjs: \"commonjs\",\n cjs: \"cjs\",\n systemjs: \"systemjs\",\n umd: \"umd\",\n} as const;\n\nexport const UseBuiltInsOption = {\n false: false,\n entry: \"entry\",\n usage: \"usage\",\n} as const;\n","import semver, { type SemVer } from \"semver\";\nimport corejs2Polyfills from \"@babel/compat-data/corejs2-built-ins\";\n// @ts-expect-error Fixme: TS can not infer types from ../data/core-js-compat.js\n// but we can't import core-js-compat/data.json because JSON imports do\n// not work on Node 14\nimport corejs3Polyfills from \"../data/core-js-compat.js\";\nimport { plugins as pluginsList } from \"./plugins-compat-data.ts\";\nimport moduleTransformations from \"./module-transformations.ts\";\nimport {\n TopLevelOptions,\n ModulesOption,\n UseBuiltInsOption,\n} from \"./options.ts\";\nimport { OptionValidator } from \"@babel/helper-validator-option\";\n\nconst corejs2DefaultWebIncludes = [\n \"web.timers\",\n \"web.immediate\",\n \"web.dom.iterable\",\n];\n\nimport type {\n BuiltInsOption,\n CorejsOption,\n ModuleOption,\n Options,\n PluginListOption,\n} from \"./types.ts\";\n\nconst v = new OptionValidator(PACKAGE_JSON.name);\n\nconst allPluginsList = Object.keys(pluginsList);\n\n// NOTE: Since module plugins are handled separately compared to other plugins (via the \"modules\" option) it\n// should only be possible to exclude and not include module plugins, otherwise it's possible that preset-env\n// will add a module plugin twice.\nconst modulePlugins = [\n \"transform-dynamic-import\",\n ...Object.keys(moduleTransformations).map(m => moduleTransformations[m]),\n];\n\nconst getValidIncludesAndExcludes = (\n type: \"include\" | \"exclude\",\n corejs: number | false,\n) =>\n Array.from(\n new Set([\n ...allPluginsList,\n ...(type === \"exclude\" ? modulePlugins : []),\n ...(corejs\n ? corejs == 2\n ? [...Object.keys(corejs2Polyfills), ...corejs2DefaultWebIncludes]\n : Object.keys(corejs3Polyfills)\n : []),\n ]),\n );\n\nfunction flatMap(array: Array, fn: (item: T) => Array): Array {\n return Array.prototype.concat.apply([], array.map(fn));\n}\n\nexport const normalizePluginName = (plugin: string) =>\n plugin.replace(/^(@babel\\/|babel-)(plugin-)?/, \"\");\n\nconst expandIncludesAndExcludes = (\n filterList: PluginListOption = [],\n type: \"include\" | \"exclude\",\n corejs: number | false,\n) => {\n if (filterList.length === 0) return [];\n\n const filterableItems = getValidIncludesAndExcludes(type, corejs);\n\n const invalidFilters: PluginListOption = [];\n const selectedPlugins = flatMap(filterList, filter => {\n let re: RegExp;\n if (typeof filter === \"string\") {\n try {\n re = new RegExp(`^${normalizePluginName(filter)}$`);\n } catch (e) {\n invalidFilters.push(filter);\n return [];\n }\n } else {\n re = filter;\n }\n const items = filterableItems.filter(item => {\n return process.env.BABEL_8_BREAKING\n ? re.test(item)\n : re.test(item) ||\n // For backwards compatibility, we also support matching against the\n // proposal- name.\n re.test(item.replace(/^transform-/, \"proposal-\"));\n });\n if (items.length === 0) invalidFilters.push(filter);\n return items;\n });\n\n v.invariant(\n invalidFilters.length === 0,\n `The plugins/built-ins '${invalidFilters.join(\n \", \",\n )}' passed to the '${type}' option are not\n valid. Please check data/[plugin-features|built-in-features].js in babel-preset-env`,\n );\n\n return selectedPlugins;\n};\n\nexport const checkDuplicateIncludeExcludes = (\n include: Array = [],\n exclude: Array = [],\n) => {\n const duplicates = include.filter(opt => exclude.indexOf(opt) >= 0);\n\n v.invariant(\n duplicates.length === 0,\n `The plugins/built-ins '${duplicates.join(\n \", \",\n )}' were found in both the \"include\" and\n \"exclude\" options.`,\n );\n};\n\nconst normalizeTargets = (\n targets: string | string[] | Options[\"targets\"],\n): Options[\"targets\"] => {\n // TODO: Allow to use only query or strings as a targets from next breaking change.\n if (typeof targets === \"string\" || Array.isArray(targets)) {\n return { browsers: targets };\n }\n return { ...targets };\n};\n\nexport const validateModulesOption = (\n modulesOpt: ModuleOption = ModulesOption.auto,\n) => {\n v.invariant(\n // @ts-expect-error we have provided fallback for undefined keys\n ModulesOption[modulesOpt.toString()] || modulesOpt === ModulesOption.false,\n `The 'modules' option must be one of \\n` +\n ` - 'false' to indicate no module processing\\n` +\n ` - a specific module type: 'commonjs', 'amd', 'umd', 'systemjs'` +\n ` - 'auto' (default) which will automatically select 'false' if the current\\n` +\n ` process is known to support ES module syntax, or \"commonjs\" otherwise\\n`,\n );\n\n return modulesOpt;\n};\n\nexport const validateUseBuiltInsOption = (\n builtInsOpt: BuiltInsOption = false,\n) => {\n v.invariant(\n // @ts-expect-error we have provided fallback for undefined keys\n UseBuiltInsOption[builtInsOpt.toString()] ||\n builtInsOpt === UseBuiltInsOption.false,\n `The 'useBuiltIns' option must be either\n 'false' (default) to indicate no polyfill,\n '\"entry\"' to indicate replacing the entry polyfill, or\n '\"usage\"' to import only used polyfills per file`,\n );\n\n return builtInsOpt;\n};\n\nexport type NormalizedCorejsOption = {\n proposals: boolean;\n version: SemVer | null | false;\n};\n\nexport function normalizeCoreJSOption(\n corejs: CorejsOption | undefined | null,\n useBuiltIns: BuiltInsOption,\n): NormalizedCorejsOption {\n let proposals = false;\n let rawVersion;\n\n if (useBuiltIns && corejs === undefined) {\n rawVersion = 2;\n console.warn(\n \"\\nWARNING (@babel/preset-env): We noticed you're using the `useBuiltIns` option without declaring a \" +\n \"core-js version. Currently, we assume version 2.x when no version \" +\n \"is passed. Since this default version will likely change in future \" +\n \"versions of Babel, we recommend explicitly setting the core-js version \" +\n \"you are using via the `corejs` option.\\n\" +\n \"\\nYou should also be sure that the version you pass to the `corejs` \" +\n \"option matches the version specified in your `package.json`'s \" +\n \"`dependencies` section. If it doesn't, you need to run one of the \" +\n \"following commands:\\n\\n\" +\n \" npm install --save core-js@2 npm install --save core-js@3\\n\" +\n \" yarn add core-js@2 yarn add core-js@3\\n\\n\" +\n \"More info about useBuiltIns: https://babeljs.io/docs/en/babel-preset-env#usebuiltins\\n\" +\n \"More info about core-js: https://babeljs.io/docs/en/babel-preset-env#corejs\",\n );\n } else if (typeof corejs === \"object\" && corejs !== null) {\n rawVersion = corejs.version;\n proposals = Boolean(corejs.proposals);\n } else {\n rawVersion = corejs;\n }\n\n const version = rawVersion ? semver.coerce(String(rawVersion)) : false;\n\n if (!useBuiltIns && version) {\n console.warn(\n \"\\nWARNING (@babel/preset-env): The `corejs` option only has an effect when the `useBuiltIns` option is not `false`\\n\",\n );\n }\n\n if (useBuiltIns && (!version || version.major < 2 || version.major > 3)) {\n throw new RangeError(\n \"Invalid Option: The version passed to `corejs` is invalid. Currently, \" +\n \"only core-js@2 and core-js@3 are supported.\",\n );\n }\n\n return { version, proposals };\n}\n\nexport default function normalizeOptions(opts: Options) {\n v.validateTopLevelOptions(opts, TopLevelOptions);\n\n const useBuiltIns = validateUseBuiltInsOption(opts.useBuiltIns);\n\n const corejs = normalizeCoreJSOption(opts.corejs, useBuiltIns);\n\n const include = expandIncludesAndExcludes(\n opts.include,\n TopLevelOptions.include,\n !!corejs.version && corejs.version.major,\n );\n\n const exclude = expandIncludesAndExcludes(\n opts.exclude,\n TopLevelOptions.exclude,\n !!corejs.version && corejs.version.major,\n );\n\n checkDuplicateIncludeExcludes(include, exclude);\n\n return {\n bugfixes: v.validateBooleanOption(\n TopLevelOptions.bugfixes,\n opts.bugfixes,\n process.env.BABEL_8_BREAKING ? true : false,\n ),\n configPath: v.validateStringOption(\n TopLevelOptions.configPath,\n opts.configPath,\n process.cwd(),\n ),\n corejs,\n debug: v.validateBooleanOption(TopLevelOptions.debug, opts.debug, false),\n include,\n exclude,\n forceAllTransforms: v.validateBooleanOption(\n TopLevelOptions.forceAllTransforms,\n opts.forceAllTransforms,\n false,\n ),\n ignoreBrowserslistConfig: v.validateBooleanOption(\n TopLevelOptions.ignoreBrowserslistConfig,\n opts.ignoreBrowserslistConfig,\n false,\n ),\n loose: v.validateBooleanOption(TopLevelOptions.loose, opts.loose),\n modules: validateModulesOption(opts.modules),\n shippedProposals: v.validateBooleanOption(\n TopLevelOptions.shippedProposals,\n opts.shippedProposals,\n false,\n ),\n spec: v.validateBooleanOption(TopLevelOptions.spec, opts.spec, false),\n targets: normalizeTargets(opts.targets),\n useBuiltIns: useBuiltIns,\n browserslistEnv: v.validateStringOption(\n TopLevelOptions.browserslistEnv,\n opts.browserslistEnv,\n ),\n };\n}\n","// TODO(Babel 8): Remove this file\n/* eslint sort-keys: \"error\" */\n// These mappings represent the transform plugins that have been\n// shipped by browsers, and are enabled by the `shippedProposals` option.\n\nconst proposalPlugins = new Set();\n\n// proposal syntax plugins enabled by the `shippedProposals` option.\n// Unlike proposalPlugins above, they are independent of compiler targets.\nconst proposalSyntaxPlugins = [\n \"syntax-import-assertions\",\n \"syntax-import-attributes\",\n] as const;\n\n// use intermediary object to enforce alphabetical key order\nconst pluginSyntaxObject = process.env.BABEL_8_BREAKING\n ? {}\n : ({\n \"transform-async-generator-functions\": \"syntax-async-generators\",\n \"transform-class-properties\": \"syntax-class-properties\",\n \"transform-class-static-block\": \"syntax-class-static-block\",\n \"transform-json-strings\": \"syntax-json-strings\",\n \"transform-nullish-coalescing-operator\":\n \"syntax-nullish-coalescing-operator\",\n \"transform-numeric-separator\": \"syntax-numeric-separator\",\n \"transform-object-rest-spread\": \"syntax-object-rest-spread\",\n \"transform-optional-catch-binding\": \"syntax-optional-catch-binding\",\n \"transform-optional-chaining\": \"syntax-optional-chaining\",\n // note: we don't have syntax-private-methods\n \"transform-private-methods\": \"syntax-class-properties\",\n \"transform-private-property-in-object\":\n \"syntax-private-property-in-object\",\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n \"transform-unicode-property-regex\": null as null,\n } as const);\n\ntype PluginSyntaxObjectKeys = keyof typeof pluginSyntaxObject;\n\nconst pluginSyntaxEntries = Object.keys(pluginSyntaxObject).map<\n [PluginSyntaxObjectKeys, string | null]\n>(function (key: PluginSyntaxObjectKeys) {\n return [key, pluginSyntaxObject[key]];\n});\n\nconst pluginSyntaxMap = new Map(pluginSyntaxEntries);\n\nexport { proposalPlugins, proposalSyntaxPlugins, pluginSyntaxMap };\n","import {\n isCallExpression,\n isExpressionStatement,\n isIdentifier,\n isStringLiteral,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport function getImportSource({ node }: NodePath) {\n if (node.specifiers.length === 0) return node.source.value;\n}\n\nexport function getRequireSource({ node }: NodePath) {\n if (!isExpressionStatement(node)) return;\n const { expression } = node;\n if (\n isCallExpression(expression) &&\n isIdentifier(expression.callee) &&\n expression.callee.name === \"require\" &&\n expression.arguments.length === 1 &&\n isStringLiteral(expression.arguments[0])\n ) {\n return expression.arguments[0].value;\n }\n}\n\nexport function isPolyfillSource(source?: string | null): boolean {\n return source === \"@babel/polyfill\" || source === \"core-js\";\n}\n","import { getImportSource, getRequireSource } from \"./utils.ts\";\nimport type { Visitor } from \"@babel/traverse\";\nimport type { PluginObject, PluginPass } from \"@babel/core\";\nimport type { Options } from \"../types.ts\";\n\nfunction isRegeneratorSource(source: string) {\n return (\n source === \"regenerator-runtime/runtime\" ||\n source === \"regenerator-runtime/runtime.js\"\n );\n}\n\ntype State = {\n regeneratorImportExcluded: boolean;\n};\n\nexport default function (): PluginObject> {\n const visitor: Visitor = {\n ImportDeclaration(path) {\n if (isRegeneratorSource(getImportSource(path))) {\n this.regeneratorImportExcluded = true;\n path.remove();\n }\n },\n Program(path) {\n path.get(\"body\").forEach(bodyPath => {\n if (isRegeneratorSource(getRequireSource(bodyPath))) {\n this.regeneratorImportExcluded = true;\n bodyPath.remove();\n }\n });\n },\n };\n\n return {\n name: \"preset-env/remove-regenerator\",\n visitor,\n pre() {\n this.regeneratorImportExcluded = false;\n },\n post() {\n if (this.opts.debug && this.regeneratorImportExcluded) {\n let filename = this.file.opts.filename;\n // normalize filename to generate consistent preset-env test fixtures\n if (process.env.BABEL_ENV === \"test\") {\n filename = filename.replace(/\\\\/g, \"/\");\n }\n console.log(\n `\\n[${filename}] Based on your targets, regenerator-runtime import excluded.`,\n );\n }\n },\n };\n}\n","import {\n getImportSource,\n getRequireSource,\n isPolyfillSource,\n} from \"./utils.ts\";\n\nimport type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\n\nconst BABEL_POLYFILL_DEPRECATION = `\n \\`@babel/polyfill\\` is deprecated. Please, use required parts of \\`core-js\\`\n and \\`regenerator-runtime/runtime\\` separately`;\n\nconst NO_DIRECT_POLYFILL_IMPORT = `\n When setting \\`useBuiltIns: 'usage'\\`, polyfills are automatically imported when needed.\n Please remove the direct import of \\`SPECIFIER\\` or use \\`useBuiltIns: 'entry'\\` instead.`;\n\nexport default function (\n { template }: any,\n { regenerator, deprecated, usage }: any,\n) {\n return {\n name: \"preset-env/replace-babel-polyfill\",\n visitor: {\n ImportDeclaration(path: NodePath) {\n const src = getImportSource(path);\n if (usage && isPolyfillSource(src)) {\n console.warn(NO_DIRECT_POLYFILL_IMPORT.replace(\"SPECIFIER\", src));\n if (!deprecated) path.remove();\n } else if (src === \"@babel/polyfill\") {\n if (deprecated) {\n console.warn(BABEL_POLYFILL_DEPRECATION);\n } else if (regenerator) {\n path.replaceWithMultiple(template.ast`\n import \"core-js\";\n import \"regenerator-runtime/runtime.js\";\n `);\n } else {\n path.replaceWith(template.ast`\n import \"core-js\";\n `);\n }\n }\n },\n Program(path: NodePath) {\n path.get(\"body\").forEach(bodyPath => {\n const src = getRequireSource(bodyPath);\n if (usage && isPolyfillSource(src)) {\n console.warn(NO_DIRECT_POLYFILL_IMPORT.replace(\"SPECIFIER\", src));\n if (!deprecated) bodyPath.remove();\n } else if (src === \"@babel/polyfill\") {\n if (deprecated) {\n console.warn(BABEL_POLYFILL_DEPRECATION);\n } else if (regenerator) {\n bodyPath.replaceWithMultiple(template.ast`\n require(\"core-js\");\n require(\"regenerator-runtime/runtime.js\");\n `);\n } else {\n bodyPath.replaceWith(template.ast`\n require(\"core-js\");\n `);\n }\n }\n });\n },\n },\n };\n}\n","exports = module.exports = SemVer\n\nvar debug\n/* istanbul ignore next */\nif (typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)) {\n debug = function () {\n var args = Array.prototype.slice.call(arguments, 0)\n args.unshift('SEMVER')\n console.log.apply(console, args)\n }\n} else {\n debug = function () {}\n}\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nexports.SEMVER_SPEC_VERSION = '2.0.0'\n\nvar MAX_LENGTH = 256\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nvar MAX_SAFE_COMPONENT_LENGTH = 16\n\nvar MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\n// The actual regexps go on exports.re\nvar re = exports.re = []\nvar safeRe = exports.safeRe = []\nvar src = exports.src = []\nvar t = exports.tokens = {}\nvar R = 0\n\nfunction tok (n) {\n t[n] = R++\n}\n\nvar LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nvar safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nfunction makeSafeRe (value) {\n for (var i = 0; i < safeRegexReplacements.length; i++) {\n var token = safeRegexReplacements[i][0]\n var max = safeRegexReplacements[i][1]\n value = value\n .split(token + '*').join(token + '{0,' + max + '}')\n .split(token + '+').join(token + '{1,' + max + '}')\n }\n return value\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ntok('NUMERICIDENTIFIER')\nsrc[t.NUMERICIDENTIFIER] = '0|[1-9]\\\\d*'\ntok('NUMERICIDENTIFIERLOOSE')\nsrc[t.NUMERICIDENTIFIERLOOSE] = '\\\\d+'\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ntok('NONNUMERICIDENTIFIER')\nsrc[t.NONNUMERICIDENTIFIER] = '\\\\d*[a-zA-Z-]' + LETTERDASHNUMBER + '*'\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ntok('MAINVERSION')\nsrc[t.MAINVERSION] = '(' + src[t.NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[t.NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[t.NUMERICIDENTIFIER] + ')'\n\ntok('MAINVERSIONLOOSE')\nsrc[t.MAINVERSIONLOOSE] = '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')'\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ntok('PRERELEASEIDENTIFIER')\nsrc[t.PRERELEASEIDENTIFIER] = '(?:' + src[t.NUMERICIDENTIFIER] +\n '|' + src[t.NONNUMERICIDENTIFIER] + ')'\n\ntok('PRERELEASEIDENTIFIERLOOSE')\nsrc[t.PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[t.NUMERICIDENTIFIERLOOSE] +\n '|' + src[t.NONNUMERICIDENTIFIER] + ')'\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ntok('PRERELEASE')\nsrc[t.PRERELEASE] = '(?:-(' + src[t.PRERELEASEIDENTIFIER] +\n '(?:\\\\.' + src[t.PRERELEASEIDENTIFIER] + ')*))'\n\ntok('PRERELEASELOOSE')\nsrc[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] +\n '(?:\\\\.' + src[t.PRERELEASEIDENTIFIERLOOSE] + ')*))'\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ntok('BUILDIDENTIFIER')\nsrc[t.BUILDIDENTIFIER] = LETTERDASHNUMBER + '+'\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ntok('BUILD')\nsrc[t.BUILD] = '(?:\\\\+(' + src[t.BUILDIDENTIFIER] +\n '(?:\\\\.' + src[t.BUILDIDENTIFIER] + ')*))'\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ntok('FULL')\ntok('FULLPLAIN')\nsrc[t.FULLPLAIN] = 'v?' + src[t.MAINVERSION] +\n src[t.PRERELEASE] + '?' +\n src[t.BUILD] + '?'\n\nsrc[t.FULL] = '^' + src[t.FULLPLAIN] + '$'\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ntok('LOOSEPLAIN')\nsrc[t.LOOSEPLAIN] = '[v=\\\\s]*' + src[t.MAINVERSIONLOOSE] +\n src[t.PRERELEASELOOSE] + '?' +\n src[t.BUILD] + '?'\n\ntok('LOOSE')\nsrc[t.LOOSE] = '^' + src[t.LOOSEPLAIN] + '$'\n\ntok('GTLT')\nsrc[t.GTLT] = '((?:<|>)?=?)'\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ntok('XRANGEIDENTIFIERLOOSE')\nsrc[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + '|x|X|\\\\*'\ntok('XRANGEIDENTIFIER')\nsrc[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + '|x|X|\\\\*'\n\ntok('XRANGEPLAIN')\nsrc[t.XRANGEPLAIN] = '[v=\\\\s]*(' + src[t.XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[t.XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[t.XRANGEIDENTIFIER] + ')' +\n '(?:' + src[t.PRERELEASE] + ')?' +\n src[t.BUILD] + '?' +\n ')?)?'\n\ntok('XRANGEPLAINLOOSE')\nsrc[t.XRANGEPLAINLOOSE] = '[v=\\\\s]*(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:' + src[t.PRERELEASELOOSE] + ')?' +\n src[t.BUILD] + '?' +\n ')?)?'\n\ntok('XRANGE')\nsrc[t.XRANGE] = '^' + src[t.GTLT] + '\\\\s*' + src[t.XRANGEPLAIN] + '$'\ntok('XRANGELOOSE')\nsrc[t.XRANGELOOSE] = '^' + src[t.GTLT] + '\\\\s*' + src[t.XRANGEPLAINLOOSE] + '$'\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ntok('COERCE')\nsrc[t.COERCE] = '(^|[^\\\\d])' +\n '(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:$|[^\\\\d])'\ntok('COERCERTL')\nre[t.COERCERTL] = new RegExp(src[t.COERCE], 'g')\nsafeRe[t.COERCERTL] = new RegExp(makeSafeRe(src[t.COERCE]), 'g')\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ntok('LONETILDE')\nsrc[t.LONETILDE] = '(?:~>?)'\n\ntok('TILDETRIM')\nsrc[t.TILDETRIM] = '(\\\\s*)' + src[t.LONETILDE] + '\\\\s+'\nre[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g')\nsafeRe[t.TILDETRIM] = new RegExp(makeSafeRe(src[t.TILDETRIM]), 'g')\nvar tildeTrimReplace = '$1~'\n\ntok('TILDE')\nsrc[t.TILDE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAIN] + '$'\ntok('TILDELOOSE')\nsrc[t.TILDELOOSE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + '$'\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ntok('LONECARET')\nsrc[t.LONECARET] = '(?:\\\\^)'\n\ntok('CARETTRIM')\nsrc[t.CARETTRIM] = '(\\\\s*)' + src[t.LONECARET] + '\\\\s+'\nre[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g')\nsafeRe[t.CARETTRIM] = new RegExp(makeSafeRe(src[t.CARETTRIM]), 'g')\nvar caretTrimReplace = '$1^'\n\ntok('CARET')\nsrc[t.CARET] = '^' + src[t.LONECARET] + src[t.XRANGEPLAIN] + '$'\ntok('CARETLOOSE')\nsrc[t.CARETLOOSE] = '^' + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + '$'\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ntok('COMPARATORLOOSE')\nsrc[t.COMPARATORLOOSE] = '^' + src[t.GTLT] + '\\\\s*(' + src[t.LOOSEPLAIN] + ')$|^$'\ntok('COMPARATOR')\nsrc[t.COMPARATOR] = '^' + src[t.GTLT] + '\\\\s*(' + src[t.FULLPLAIN] + ')$|^$'\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ntok('COMPARATORTRIM')\nsrc[t.COMPARATORTRIM] = '(\\\\s*)' + src[t.GTLT] +\n '\\\\s*(' + src[t.LOOSEPLAIN] + '|' + src[t.XRANGEPLAIN] + ')'\n\n// this one has to use the /g flag\nre[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g')\nsafeRe[t.COMPARATORTRIM] = new RegExp(makeSafeRe(src[t.COMPARATORTRIM]), 'g')\nvar comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ntok('HYPHENRANGE')\nsrc[t.HYPHENRANGE] = '^\\\\s*(' + src[t.XRANGEPLAIN] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[t.XRANGEPLAIN] + ')' +\n '\\\\s*$'\n\ntok('HYPHENRANGELOOSE')\nsrc[t.HYPHENRANGELOOSE] = '^\\\\s*(' + src[t.XRANGEPLAINLOOSE] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[t.XRANGEPLAINLOOSE] + ')' +\n '\\\\s*$'\n\n// Star ranges basically just allow anything at all.\ntok('STAR')\nsrc[t.STAR] = '(<|>)?=?\\\\s*\\\\*'\n\n// Compile to actual regexp objects.\n// All are flag-free, unless they were created above with a flag.\nfor (var i = 0; i < R; i++) {\n debug(i, src[i])\n if (!re[i]) {\n re[i] = new RegExp(src[i])\n\n // Replace all greedy whitespace to prevent regex dos issues. These regex are\n // used internally via the safeRe object since all inputs in this library get\n // normalized first to trim and collapse all extra whitespace. The original\n // regexes are exported for userland consumption and lower level usage. A\n // future breaking change could export the safer regex only with a note that\n // all input should have extra whitespace removed.\n safeRe[i] = new RegExp(makeSafeRe(src[i]))\n }\n}\n\nexports.parse = parse\nfunction parse (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n var r = options.loose ? safeRe[t.LOOSE] : safeRe[t.FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nexports.valid = valid\nfunction valid (version, options) {\n var v = parse(version, options)\n return v ? v.version : null\n}\n\nexports.clean = clean\nfunction clean (version, options) {\n var s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\n\nexports.SemVer = SemVer\n\nfunction SemVer (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n if (version instanceof SemVer) {\n if (version.loose === options.loose) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')\n }\n\n if (!(this instanceof SemVer)) {\n return new SemVer(version, options)\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n\n var m = version.trim().match(options.loose ? safeRe[t.LOOSE] : safeRe[t.FULL])\n\n if (!m) {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map(function (id) {\n if (/^[0-9]+$/.test(id)) {\n var num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n}\n\nSemVer.prototype.format = function () {\n this.version = this.major + '.' + this.minor + '.' + this.patch\n if (this.prerelease.length) {\n this.version += '-' + this.prerelease.join('.')\n }\n return this.version\n}\n\nSemVer.prototype.toString = function () {\n return this.version\n}\n\nSemVer.prototype.compare = function (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return this.compareMain(other) || this.comparePre(other)\n}\n\nSemVer.prototype.compareMain = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n}\n\nSemVer.prototype.comparePre = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n var i = 0\n do {\n var a = this.prerelease[i]\n var b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n}\n\nSemVer.prototype.compareBuild = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n var i = 0\n do {\n var a = this.build[i]\n var b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n}\n\n// preminor will bump the version up to the next minor release, and immediately\n// down to pre-release. premajor and prepatch work the same way.\nSemVer.prototype.inc = function (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 \"pre\" would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n var i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error('invalid increment argument: ' + release)\n }\n this.format()\n this.raw = this.version\n return this\n}\n\nexports.inc = inc\nfunction inc (version, release, loose, identifier) {\n if (typeof (loose) === 'string') {\n identifier = loose\n loose = undefined\n }\n\n try {\n return new SemVer(version, loose).inc(release, identifier).version\n } catch (er) {\n return null\n }\n}\n\nexports.diff = diff\nfunction diff (version1, version2) {\n if (eq(version1, version2)) {\n return null\n } else {\n var v1 = parse(version1)\n var v2 = parse(version2)\n var prefix = ''\n if (v1.prerelease.length || v2.prerelease.length) {\n prefix = 'pre'\n var defaultResult = 'prerelease'\n }\n for (var key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return prefix + key\n }\n }\n }\n return defaultResult // may be undefined\n }\n}\n\nexports.compareIdentifiers = compareIdentifiers\n\nvar numeric = /^[0-9]+$/\nfunction compareIdentifiers (a, b) {\n var anum = numeric.test(a)\n var bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nexports.rcompareIdentifiers = rcompareIdentifiers\nfunction rcompareIdentifiers (a, b) {\n return compareIdentifiers(b, a)\n}\n\nexports.major = major\nfunction major (a, loose) {\n return new SemVer(a, loose).major\n}\n\nexports.minor = minor\nfunction minor (a, loose) {\n return new SemVer(a, loose).minor\n}\n\nexports.patch = patch\nfunction patch (a, loose) {\n return new SemVer(a, loose).patch\n}\n\nexports.compare = compare\nfunction compare (a, b, loose) {\n return new SemVer(a, loose).compare(new SemVer(b, loose))\n}\n\nexports.compareLoose = compareLoose\nfunction compareLoose (a, b) {\n return compare(a, b, true)\n}\n\nexports.compareBuild = compareBuild\nfunction compareBuild (a, b, loose) {\n var versionA = new SemVer(a, loose)\n var versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\n\nexports.rcompare = rcompare\nfunction rcompare (a, b, loose) {\n return compare(b, a, loose)\n}\n\nexports.sort = sort\nfunction sort (list, loose) {\n return list.sort(function (a, b) {\n return exports.compareBuild(a, b, loose)\n })\n}\n\nexports.rsort = rsort\nfunction rsort (list, loose) {\n return list.sort(function (a, b) {\n return exports.compareBuild(b, a, loose)\n })\n}\n\nexports.gt = gt\nfunction gt (a, b, loose) {\n return compare(a, b, loose) > 0\n}\n\nexports.lt = lt\nfunction lt (a, b, loose) {\n return compare(a, b, loose) < 0\n}\n\nexports.eq = eq\nfunction eq (a, b, loose) {\n return compare(a, b, loose) === 0\n}\n\nexports.neq = neq\nfunction neq (a, b, loose) {\n return compare(a, b, loose) !== 0\n}\n\nexports.gte = gte\nfunction gte (a, b, loose) {\n return compare(a, b, loose) >= 0\n}\n\nexports.lte = lte\nfunction lte (a, b, loose) {\n return compare(a, b, loose) <= 0\n}\n\nexports.cmp = cmp\nfunction cmp (a, op, b, loose) {\n switch (op) {\n case '===':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a === b\n\n case '!==':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError('Invalid operator: ' + op)\n }\n}\n\nexports.Comparator = Comparator\nfunction Comparator (comp, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n if (!(this instanceof Comparator)) {\n return new Comparator(comp, options)\n }\n\n comp = comp.trim().split(/\\s+/).join(' ')\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n}\n\nvar ANY = {}\nComparator.prototype.parse = function (comp) {\n var r = this.options.loose ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR]\n var m = comp.match(r)\n\n if (!m) {\n throw new TypeError('Invalid comparator: ' + comp)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n}\n\nComparator.prototype.toString = function () {\n return this.value\n}\n\nComparator.prototype.test = function (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n}\n\nComparator.prototype.intersects = function (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n var rangeTmp\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n rangeTmp = new Range(comp.value, options)\n return satisfies(this.value, rangeTmp, options)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n rangeTmp = new Range(this.value, options)\n return satisfies(comp.semver, rangeTmp, options)\n }\n\n var sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '>=' || comp.operator === '>')\n var sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '<=' || comp.operator === '<')\n var sameSemVer = this.semver.version === comp.semver.version\n var differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') &&\n (comp.operator === '>=' || comp.operator === '<=')\n var oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver, options) &&\n ((this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<'))\n var oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver, options) &&\n ((this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>'))\n\n return sameDirectionIncreasing || sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan || oppositeDirectionsGreaterThan\n}\n\nexports.Range = Range\nfunction Range (range, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (range instanceof Range) {\n if (range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n return new Range(range.value, options)\n }\n\n if (!(this instanceof Range)) {\n return new Range(range, options)\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First reduce all whitespace as much as possible so we do not have to rely\n // on potentially slow regexes like \\s*. This is then stored and used for\n // future error messages as well.\n this.raw = range\n .trim()\n .split(/\\s+/)\n .join(' ')\n\n // First, split based on boolean or ||\n this.set = this.raw.split('||').map(function (range) {\n return this.parseRange(range.trim())\n }, this).filter(function (c) {\n // throw out any that are not relevant for whatever reason\n return c.length\n })\n\n if (!this.set.length) {\n throw new TypeError('Invalid SemVer Range: ' + this.raw)\n }\n\n this.format()\n}\n\nRange.prototype.format = function () {\n this.range = this.set.map(function (comps) {\n return comps.join(' ').trim()\n }).join('||').trim()\n return this.range\n}\n\nRange.prototype.toString = function () {\n return this.range\n}\n\nRange.prototype.parseRange = function (range) {\n var loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n var hr = loose ? safeRe[t.HYPHENRANGELOOSE] : safeRe[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace)\n debug('hyphen replace', range)\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(safeRe[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range, safeRe[t.COMPARATORTRIM])\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(safeRe[t.TILDETRIM], tildeTrimReplace)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(safeRe[t.CARETTRIM], caretTrimReplace)\n\n // normalize spaces\n range = range.split(/\\s+/).join(' ')\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n var compRe = loose ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR]\n var set = range.split(' ').map(function (comp) {\n return parseComparator(comp, this.options)\n }, this).join(' ').split(/\\s+/)\n if (this.options.loose) {\n // in loose mode, throw out any that are not valid comparators\n set = set.filter(function (comp) {\n return !!comp.match(compRe)\n })\n }\n set = set.map(function (comp) {\n return new Comparator(comp, this.options)\n }, this)\n\n return set\n}\n\nRange.prototype.intersects = function (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some(function (thisComparators) {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some(function (rangeComparators) {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every(function (thisComparator) {\n return rangeComparators.every(function (rangeComparator) {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n}\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nfunction isSatisfiable (comparators, options) {\n var result = true\n var remainingComparators = comparators.slice()\n var testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every(function (otherComparator) {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// Mostly just for testing and legacy API reasons\nexports.toComparators = toComparators\nfunction toComparators (range, options) {\n return new Range(range, options).set.map(function (comp) {\n return comp.map(function (c) {\n return c.value\n }).join(' ').trim().split(' ')\n })\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nfunction parseComparator (comp, options) {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nfunction isX (id) {\n return !id || id.toLowerCase() === 'x' || id === '*'\n}\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0\nfunction replaceTildes (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceTilde(comp, options)\n }).join(' ')\n}\n\nfunction replaceTilde (comp, options) {\n var r = options.loose ? safeRe[t.TILDELOOSE] : safeRe[t.TILDE]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('tilde', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0\n// ^1.2.3 --> >=1.2.3 <2.0.0\n// ^1.2.0 --> >=1.2.0 <2.0.0\nfunction replaceCarets (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceCaret(comp, options)\n }).join(' ')\n}\n\nfunction replaceCaret (comp, options) {\n debug('caret', comp, options)\n var r = options.loose ? safeRe[t.CARETLOOSE] : safeRe[t.CARET]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('caret', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n if (M === '0') {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else {\n ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + (+M + 1) + '.0.0'\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + (+M + 1) + '.0.0'\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nfunction replaceXRanges (comp, options) {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map(function (comp) {\n return replaceXRange(comp, options)\n }).join(' ')\n}\n\nfunction replaceXRange (comp, options) {\n comp = comp.trim()\n var r = options.loose ? safeRe[t.XRANGELOOSE] : safeRe[t.XRANGE]\n return comp.replace(r, function (ret, gtlt, M, m, p, pr) {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n var xM = isX(M)\n var xm = xM || isX(m)\n var xp = xm || isX(p)\n var anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n // >1.2.3 => >= 1.2.4\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n ret = gtlt + M + '.' + m + '.' + p + pr\n } else if (xm) {\n ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr\n } else if (xp) {\n ret = '>=' + M + '.' + m + '.0' + pr +\n ' <' + M + '.' + (+m + 1) + '.0' + pr\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nfunction replaceStars (comp, options) {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(safeRe[t.STAR], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0\nfunction hyphenReplace ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = '>=' + fM + '.0.0'\n } else if (isX(fp)) {\n from = '>=' + fM + '.' + fm + '.0'\n } else {\n from = '>=' + from\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = '<' + (+tM + 1) + '.0.0'\n } else if (isX(tp)) {\n to = '<' + tM + '.' + (+tm + 1) + '.0'\n } else if (tpr) {\n to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr\n } else {\n to = '<=' + to\n }\n\n return (from + ' ' + to).trim()\n}\n\n// if ANY of the sets match ALL of its comparators, then pass\nRange.prototype.test = function (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (var i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n}\n\nfunction testSet (set, version, options) {\n for (var i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n var allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n\nexports.satisfies = satisfies\nfunction satisfies (version, range, options) {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\n\nexports.maxSatisfying = maxSatisfying\nfunction maxSatisfying (versions, range, options) {\n var max = null\n var maxSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\n\nexports.minSatisfying = minSatisfying\nfunction minSatisfying (versions, range, options) {\n var min = null\n var minSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\n\nexports.minVersion = minVersion\nfunction minVersion (range, loose) {\n range = new Range(range, loose)\n\n var minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n comparators.forEach(function (comparator) {\n // Clone to avoid manipulating the comparator's semver object.\n var compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!minver || gt(minver, compver)) {\n minver = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error('Unexpected operation: ' + comparator.operator)\n }\n })\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\n\nexports.validRange = validRange\nfunction validRange (range, options) {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\n\n// Determine if version is less than all the versions possible in the range\nexports.ltr = ltr\nfunction ltr (version, range, options) {\n return outside(version, range, '<', options)\n}\n\n// Determine if version is greater than all the versions possible in the range.\nexports.gtr = gtr\nfunction gtr (version, range, options) {\n return outside(version, range, '>', options)\n}\n\nexports.outside = outside\nfunction outside (version, range, hilo, options) {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n var gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisifes the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n var high = null\n var low = null\n\n comparators.forEach(function (comparator) {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nexports.prerelease = prerelease\nfunction prerelease (version, options) {\n var parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\n\nexports.intersects = intersects\nfunction intersects (r1, r2, options) {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\n\nexports.coerce = coerce\nfunction coerce (version, options) {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n var match = null\n if (!options.rtl) {\n match = version.match(safeRe[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n var next\n while ((next = safeRe[t.COERCERTL].exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n safeRe[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n safeRe[t.COERCERTL].lastIndex = -1\n }\n\n if (match === null) {\n return null\n }\n\n return parse(match[2] +\n '.' + (match[3] || '0') +\n '.' + (match[4] || '0'), options)\n}\n","import { declare } from '@babel/helper-plugin-utils';\nimport _getTargets, { prettifyTargets, getInclusionReasons, isRequired } from '@babel/helper-compilation-targets';\nimport * as _babel from '@babel/core';\n\nconst {\n types: t$1,\n template: template\n} = _babel.default || _babel;\nfunction intersection(a, b) {\n const result = new Set();\n a.forEach(v => b.has(v) && result.add(v));\n return result;\n}\nfunction has$1(object, key) {\n return Object.prototype.hasOwnProperty.call(object, key);\n}\nfunction getType(target) {\n return Object.prototype.toString.call(target).slice(8, -1);\n}\nfunction resolveId(path) {\n if (path.isIdentifier() && !path.scope.hasBinding(path.node.name, /* noGlobals */true)) {\n return path.node.name;\n }\n const {\n deopt\n } = path.evaluate();\n if (deopt && deopt.isIdentifier()) {\n return deopt.node.name;\n }\n}\nfunction resolveKey(path, computed = false) {\n const {\n scope\n } = path;\n if (path.isStringLiteral()) return path.node.value;\n const isIdentifier = path.isIdentifier();\n if (isIdentifier && !(computed || path.parent.computed)) {\n return path.node.name;\n }\n if (computed && path.isMemberExpression() && path.get(\"object\").isIdentifier({\n name: \"Symbol\"\n }) && !scope.hasBinding(\"Symbol\", /* noGlobals */true)) {\n const sym = resolveKey(path.get(\"property\"), path.node.computed);\n if (sym) return \"Symbol.\" + sym;\n }\n if (!isIdentifier || scope.hasBinding(path.node.name, /* noGlobals */true)) {\n const {\n value\n } = path.evaluate();\n if (typeof value === \"string\") return value;\n }\n}\nfunction resolveSource(obj) {\n if (obj.isMemberExpression() && obj.get(\"property\").isIdentifier({\n name: \"prototype\"\n })) {\n const id = resolveId(obj.get(\"object\"));\n if (id) {\n return {\n id,\n placement: \"prototype\"\n };\n }\n return {\n id: null,\n placement: null\n };\n }\n const id = resolveId(obj);\n if (id) {\n return {\n id,\n placement: \"static\"\n };\n }\n const {\n value\n } = obj.evaluate();\n if (value !== undefined) {\n return {\n id: getType(value),\n placement: \"prototype\"\n };\n } else if (obj.isRegExpLiteral()) {\n return {\n id: \"RegExp\",\n placement: \"prototype\"\n };\n } else if (obj.isFunction()) {\n return {\n id: \"Function\",\n placement: \"prototype\"\n };\n }\n return {\n id: null,\n placement: null\n };\n}\nfunction getImportSource({\n node\n}) {\n if (node.specifiers.length === 0) return node.source.value;\n}\nfunction getRequireSource({\n node\n}) {\n if (!t$1.isExpressionStatement(node)) return;\n const {\n expression\n } = node;\n if (t$1.isCallExpression(expression) && t$1.isIdentifier(expression.callee) && expression.callee.name === \"require\" && expression.arguments.length === 1 && t$1.isStringLiteral(expression.arguments[0])) {\n return expression.arguments[0].value;\n }\n}\nfunction hoist(node) {\n // @ts-expect-error\n node._blockHoist = 3;\n return node;\n}\nfunction createUtilsGetter(cache) {\n return path => {\n const prog = path.findParent(p => p.isProgram());\n return {\n injectGlobalImport(url) {\n cache.storeAnonymous(prog, url, (isScript, source) => {\n return isScript ? template.statement.ast`require(${source})` : t$1.importDeclaration([], source);\n });\n },\n injectNamedImport(url, name, hint = name) {\n return cache.storeNamed(prog, url, name, (isScript, source, name) => {\n const id = prog.scope.generateUidIdentifier(hint);\n return {\n node: isScript ? hoist(template.statement.ast`\n var ${id} = require(${source}).${name}\n `) : t$1.importDeclaration([t$1.importSpecifier(id, name)], source),\n name: id.name\n };\n });\n },\n injectDefaultImport(url, hint = url) {\n return cache.storeNamed(prog, url, \"default\", (isScript, source) => {\n const id = prog.scope.generateUidIdentifier(hint);\n return {\n node: isScript ? hoist(template.statement.ast`var ${id} = require(${source})`) : t$1.importDeclaration([t$1.importDefaultSpecifier(id)], source),\n name: id.name\n };\n });\n }\n };\n };\n}\n\nconst {\n types: t\n} = _babel.default || _babel;\nclass ImportsCache {\n constructor(resolver) {\n this._imports = new WeakMap();\n this._anonymousImports = new WeakMap();\n this._lastImports = new WeakMap();\n this._resolver = resolver;\n }\n storeAnonymous(programPath, url,\n // eslint-disable-next-line no-undef\n getVal) {\n const key = this._normalizeKey(programPath, url);\n const imports = this._ensure(this._anonymousImports, programPath, Set);\n if (imports.has(key)) return;\n const node = getVal(programPath.node.sourceType === \"script\", t.stringLiteral(this._resolver(url)));\n imports.add(key);\n this._injectImport(programPath, node);\n }\n storeNamed(programPath, url, name, getVal) {\n const key = this._normalizeKey(programPath, url, name);\n const imports = this._ensure(this._imports, programPath, Map);\n if (!imports.has(key)) {\n const {\n node,\n name: id\n } = getVal(programPath.node.sourceType === \"script\", t.stringLiteral(this._resolver(url)), t.identifier(name));\n imports.set(key, id);\n this._injectImport(programPath, node);\n }\n return t.identifier(imports.get(key));\n }\n _injectImport(programPath, node) {\n const lastImport = this._lastImports.get(programPath);\n let newNodes;\n if (lastImport && lastImport.node &&\n // Sometimes the AST is modified and the \"last import\"\n // we have has been replaced\n lastImport.parent === programPath.node && lastImport.container === programPath.node.body) {\n newNodes = lastImport.insertAfter(node);\n } else {\n newNodes = programPath.unshiftContainer(\"body\", node);\n }\n const newNode = newNodes[newNodes.length - 1];\n this._lastImports.set(programPath, newNode);\n\n /*\n let lastImport;\n programPath.get(\"body\").forEach(path => {\n if (path.isImportDeclaration()) lastImport = path;\n if (\n path.isExpressionStatement() &&\n isRequireCall(path.get(\"expression\"))\n ) {\n lastImport = path;\n }\n if (\n path.isVariableDeclaration() &&\n path.get(\"declarations\").length === 1 &&\n (isRequireCall(path.get(\"declarations.0.init\")) ||\n (path.get(\"declarations.0.init\").isMemberExpression() &&\n isRequireCall(path.get(\"declarations.0.init.object\"))))\n ) {\n lastImport = path;\n }\n });*/\n }\n\n _ensure(map, programPath, Collection) {\n let collection = map.get(programPath);\n if (!collection) {\n collection = new Collection();\n map.set(programPath, collection);\n }\n return collection;\n }\n _normalizeKey(programPath, url, name = \"\") {\n const {\n sourceType\n } = programPath.node;\n\n // If we rely on the imported binding (the \"name\" parameter), we also need to cache\n // based on the sourceType. This is because the module transforms change the names\n // of the import variables.\n return `${name && sourceType}::${url}::${name}`;\n }\n}\n\nconst presetEnvSilentDebugHeader = \"#__secret_key__@babel/preset-env__don't_log_debug_header_and_resolved_targets\";\nfunction stringifyTargetsMultiline(targets) {\n return JSON.stringify(prettifyTargets(targets), null, 2);\n}\n\nfunction patternToRegExp(pattern) {\n if (pattern instanceof RegExp) return pattern;\n try {\n return new RegExp(`^${pattern}$`);\n } catch {\n return null;\n }\n}\nfunction buildUnusedError(label, unused) {\n if (!unused.length) return \"\";\n return ` - The following \"${label}\" patterns didn't match any polyfill:\\n` + unused.map(original => ` ${String(original)}\\n`).join(\"\");\n}\nfunction buldDuplicatesError(duplicates) {\n if (!duplicates.size) return \"\";\n return ` - The following polyfills were matched both by \"include\" and \"exclude\" patterns:\\n` + Array.from(duplicates, name => ` ${name}\\n`).join(\"\");\n}\nfunction validateIncludeExclude(provider, polyfills, includePatterns, excludePatterns) {\n let current;\n const filter = pattern => {\n const regexp = patternToRegExp(pattern);\n if (!regexp) return false;\n let matched = false;\n for (const polyfill of polyfills) {\n if (regexp.test(polyfill)) {\n matched = true;\n current.add(polyfill);\n }\n }\n return !matched;\n };\n\n // prettier-ignore\n const include = current = new Set();\n const unusedInclude = Array.from(includePatterns).filter(filter);\n\n // prettier-ignore\n const exclude = current = new Set();\n const unusedExclude = Array.from(excludePatterns).filter(filter);\n const duplicates = intersection(include, exclude);\n if (duplicates.size > 0 || unusedInclude.length > 0 || unusedExclude.length > 0) {\n throw new Error(`Error while validating the \"${provider}\" provider options:\\n` + buildUnusedError(\"include\", unusedInclude) + buildUnusedError(\"exclude\", unusedExclude) + buldDuplicatesError(duplicates));\n }\n return {\n include,\n exclude\n };\n}\nfunction applyMissingDependenciesDefaults(options, babelApi) {\n const {\n missingDependencies = {}\n } = options;\n if (missingDependencies === false) return false;\n const caller = babelApi.caller(caller => caller == null ? void 0 : caller.name);\n const {\n log = \"deferred\",\n inject = caller === \"rollup-plugin-babel\" ? \"throw\" : \"import\",\n all = false\n } = missingDependencies;\n return {\n log,\n inject,\n all\n };\n}\n\nvar usage = (callProvider => {\n function property(object, key, placement, path) {\n return callProvider({\n kind: \"property\",\n object,\n key,\n placement\n }, path);\n }\n return {\n // Symbol(), new Promise\n ReferencedIdentifier(path) {\n const {\n node: {\n name\n },\n scope\n } = path;\n if (scope.getBindingIdentifier(name)) return;\n callProvider({\n kind: \"global\",\n name\n }, path);\n },\n MemberExpression(path) {\n const key = resolveKey(path.get(\"property\"), path.node.computed);\n if (!key || key === \"prototype\") return;\n const object = path.get(\"object\");\n if (object.isIdentifier()) {\n const binding = object.scope.getBinding(object.node.name);\n if (binding && binding.path.isImportNamespaceSpecifier()) return;\n }\n const source = resolveSource(object);\n return property(source.id, key, source.placement, path);\n },\n ObjectPattern(path) {\n const {\n parentPath,\n parent\n } = path;\n let obj;\n\n // const { keys, values } = Object\n if (parentPath.isVariableDeclarator()) {\n obj = parentPath.get(\"init\");\n // ({ keys, values } = Object)\n } else if (parentPath.isAssignmentExpression()) {\n obj = parentPath.get(\"right\");\n // !function ({ keys, values }) {...} (Object)\n // resolution does not work after properties transform :-(\n } else if (parentPath.isFunction()) {\n const grand = parentPath.parentPath;\n if (grand.isCallExpression() || grand.isNewExpression()) {\n if (grand.node.callee === parent) {\n obj = grand.get(\"arguments\")[path.key];\n }\n }\n }\n let id = null;\n let placement = null;\n if (obj) ({\n id,\n placement\n } = resolveSource(obj));\n for (const prop of path.get(\"properties\")) {\n if (prop.isObjectProperty()) {\n const key = resolveKey(prop.get(\"key\"));\n if (key) property(id, key, placement, prop);\n }\n }\n },\n BinaryExpression(path) {\n if (path.node.operator !== \"in\") return;\n const source = resolveSource(path.get(\"right\"));\n const key = resolveKey(path.get(\"left\"), true);\n if (!key) return;\n callProvider({\n kind: \"in\",\n object: source.id,\n key,\n placement: source.placement\n }, path);\n }\n };\n});\n\nvar entry = (callProvider => ({\n ImportDeclaration(path) {\n const source = getImportSource(path);\n if (!source) return;\n callProvider({\n kind: \"import\",\n source\n }, path);\n },\n Program(path) {\n path.get(\"body\").forEach(bodyPath => {\n const source = getRequireSource(bodyPath);\n if (!source) return;\n callProvider({\n kind: \"import\",\n source\n }, bodyPath);\n });\n }\n}));\n\nfunction resolve(dirname, moduleName, absoluteImports) {\n if (absoluteImports === false) return moduleName;\n throw new Error(`\"absoluteImports\" is not supported in bundles prepared for the browser.`);\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction has(basedir, name) {\n return true;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction logMissing(missingDeps) {}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction laterLogMissing(missingDeps) {}\n\nconst PossibleGlobalObjects = new Set([\"global\", \"globalThis\", \"self\", \"window\"]);\nfunction createMetaResolver(polyfills) {\n const {\n static: staticP,\n instance: instanceP,\n global: globalP\n } = polyfills;\n return meta => {\n if (meta.kind === \"global\" && globalP && has$1(globalP, meta.name)) {\n return {\n kind: \"global\",\n desc: globalP[meta.name],\n name: meta.name\n };\n }\n if (meta.kind === \"property\" || meta.kind === \"in\") {\n const {\n placement,\n object,\n key\n } = meta;\n if (object && placement === \"static\") {\n if (globalP && PossibleGlobalObjects.has(object) && has$1(globalP, key)) {\n return {\n kind: \"global\",\n desc: globalP[key],\n name: key\n };\n }\n if (staticP && has$1(staticP, object) && has$1(staticP[object], key)) {\n return {\n kind: \"static\",\n desc: staticP[object][key],\n name: `${object}$${key}`\n };\n }\n }\n if (instanceP && has$1(instanceP, key)) {\n return {\n kind: \"instance\",\n desc: instanceP[key],\n name: `${key}`\n };\n }\n }\n };\n}\n\nconst getTargets = _getTargets.default || _getTargets;\nfunction resolveOptions(options, babelApi) {\n const {\n method,\n targets: targetsOption,\n ignoreBrowserslistConfig,\n configPath,\n debug,\n shouldInjectPolyfill,\n absoluteImports,\n ...providerOptions\n } = options;\n if (isEmpty(options)) {\n throw new Error(`\\\nThis plugin requires options, for example:\n {\n \"plugins\": [\n [\"\", { method: \"usage-pure\" }]\n ]\n }\n\nSee more options at https://github.com/babel/babel-polyfills/blob/main/docs/usage.md`);\n }\n let methodName;\n if (method === \"usage-global\") methodName = \"usageGlobal\";else if (method === \"entry-global\") methodName = \"entryGlobal\";else if (method === \"usage-pure\") methodName = \"usagePure\";else if (typeof method !== \"string\") {\n throw new Error(\".method must be a string\");\n } else {\n throw new Error(`.method must be one of \"entry-global\", \"usage-global\"` + ` or \"usage-pure\" (received ${JSON.stringify(method)})`);\n }\n if (typeof shouldInjectPolyfill === \"function\") {\n if (options.include || options.exclude) {\n throw new Error(`.include and .exclude are not supported when using the` + ` .shouldInjectPolyfill function.`);\n }\n } else if (shouldInjectPolyfill != null) {\n throw new Error(`.shouldInjectPolyfill must be a function, or undefined` + ` (received ${JSON.stringify(shouldInjectPolyfill)})`);\n }\n if (absoluteImports != null && typeof absoluteImports !== \"boolean\" && typeof absoluteImports !== \"string\") {\n throw new Error(`.absoluteImports must be a boolean, a string, or undefined` + ` (received ${JSON.stringify(absoluteImports)})`);\n }\n let targets;\n if (\n // If any browserslist-related option is specified, fallback to the old\n // behavior of not using the targets specified in the top-level options.\n targetsOption || configPath || ignoreBrowserslistConfig) {\n const targetsObj = typeof targetsOption === \"string\" || Array.isArray(targetsOption) ? {\n browsers: targetsOption\n } : targetsOption;\n targets = getTargets(targetsObj, {\n ignoreBrowserslistConfig,\n configPath\n });\n } else {\n targets = babelApi.targets();\n }\n return {\n method,\n methodName,\n targets,\n absoluteImports: absoluteImports != null ? absoluteImports : false,\n shouldInjectPolyfill,\n debug: !!debug,\n providerOptions: providerOptions\n };\n}\nfunction instantiateProvider(factory, options, missingDependencies, dirname, debugLog, babelApi) {\n const {\n method,\n methodName,\n targets,\n debug,\n shouldInjectPolyfill,\n providerOptions,\n absoluteImports\n } = resolveOptions(options, babelApi);\n const getUtils = createUtilsGetter(new ImportsCache(moduleName => resolve(dirname, moduleName, absoluteImports)));\n\n // eslint-disable-next-line prefer-const\n let include, exclude;\n let polyfillsSupport;\n let polyfillsNames;\n let filterPolyfills;\n const depsCache = new Map();\n const api = {\n babel: babelApi,\n getUtils,\n method: options.method,\n targets,\n createMetaResolver,\n shouldInjectPolyfill(name) {\n if (polyfillsNames === undefined) {\n throw new Error(`Internal error in the ${factory.name} provider: ` + `shouldInjectPolyfill() can't be called during initialization.`);\n }\n if (!polyfillsNames.has(name)) {\n console.warn(`Internal error in the ${providerName} provider: ` + `unknown polyfill \"${name}\".`);\n }\n if (filterPolyfills && !filterPolyfills(name)) return false;\n let shouldInject = isRequired(name, targets, {\n compatData: polyfillsSupport,\n includes: include,\n excludes: exclude\n });\n if (shouldInjectPolyfill) {\n shouldInject = shouldInjectPolyfill(name, shouldInject);\n if (typeof shouldInject !== \"boolean\") {\n throw new Error(`.shouldInjectPolyfill must return a boolean.`);\n }\n }\n return shouldInject;\n },\n debug(name) {\n var _debugLog, _debugLog$polyfillsSu;\n debugLog().found = true;\n if (!debug || !name) return;\n if (debugLog().polyfills.has(providerName)) return;\n debugLog().polyfills.add(name);\n (_debugLog$polyfillsSu = (_debugLog = debugLog()).polyfillsSupport) != null ? _debugLog$polyfillsSu : _debugLog.polyfillsSupport = polyfillsSupport;\n },\n assertDependency(name, version = \"*\") {\n if (missingDependencies === false) return;\n if (absoluteImports) {\n // If absoluteImports is not false, we will try resolving\n // the dependency and throw if it's not possible. We can\n // skip the check here.\n return;\n }\n const dep = version === \"*\" ? name : `${name}@^${version}`;\n const found = missingDependencies.all ? false : mapGetOr(depsCache, `${name} :: ${dirname}`, () => has());\n if (!found) {\n debugLog().missingDeps.add(dep);\n }\n }\n };\n const provider = factory(api, providerOptions, dirname);\n const providerName = provider.name || factory.name;\n if (typeof provider[methodName] !== \"function\") {\n throw new Error(`The \"${providerName}\" provider doesn't support the \"${method}\" polyfilling method.`);\n }\n if (Array.isArray(provider.polyfills)) {\n polyfillsNames = new Set(provider.polyfills);\n filterPolyfills = provider.filterPolyfills;\n } else if (provider.polyfills) {\n polyfillsNames = new Set(Object.keys(provider.polyfills));\n polyfillsSupport = provider.polyfills;\n filterPolyfills = provider.filterPolyfills;\n } else {\n polyfillsNames = new Set();\n }\n ({\n include,\n exclude\n } = validateIncludeExclude(providerName, polyfillsNames, providerOptions.include || [], providerOptions.exclude || []));\n return {\n debug,\n method,\n targets,\n provider,\n providerName,\n callProvider(payload, path) {\n const utils = getUtils(path);\n provider[methodName](payload, utils, path);\n }\n };\n}\nfunction definePolyfillProvider(factory) {\n return declare((babelApi, options, dirname) => {\n babelApi.assertVersion(7);\n const {\n traverse\n } = babelApi;\n let debugLog;\n const missingDependencies = applyMissingDependenciesDefaults(options, babelApi);\n const {\n debug,\n method,\n targets,\n provider,\n providerName,\n callProvider\n } = instantiateProvider(factory, options, missingDependencies, dirname, () => debugLog, babelApi);\n const createVisitor = method === \"entry-global\" ? entry : usage;\n const visitor = provider.visitor ? traverse.visitors.merge([createVisitor(callProvider), provider.visitor]) : createVisitor(callProvider);\n if (debug && debug !== presetEnvSilentDebugHeader) {\n console.log(`${providerName}: \\`DEBUG\\` option`);\n console.log(`\\nUsing targets: ${stringifyTargetsMultiline(targets)}`);\n console.log(`\\nUsing polyfills with \\`${method}\\` method:`);\n }\n const {\n runtimeName\n } = provider;\n return {\n name: \"inject-polyfills\",\n visitor,\n pre(file) {\n var _provider$pre;\n if (runtimeName) {\n if (file.get(\"runtimeHelpersModuleName\") && file.get(\"runtimeHelpersModuleName\") !== runtimeName) {\n console.warn(`Two different polyfill providers` + ` (${file.get(\"runtimeHelpersModuleProvider\")}` + ` and ${providerName}) are trying to define two` + ` conflicting @babel/runtime alternatives:` + ` ${file.get(\"runtimeHelpersModuleName\")} and ${runtimeName}.` + ` The second one will be ignored.`);\n } else {\n file.set(\"runtimeHelpersModuleName\", runtimeName);\n file.set(\"runtimeHelpersModuleProvider\", providerName);\n }\n }\n debugLog = {\n polyfills: new Set(),\n polyfillsSupport: undefined,\n found: false,\n providers: new Set(),\n missingDeps: new Set()\n };\n (_provider$pre = provider.pre) == null ? void 0 : _provider$pre.apply(this, arguments);\n },\n post() {\n var _provider$post;\n (_provider$post = provider.post) == null ? void 0 : _provider$post.apply(this, arguments);\n if (missingDependencies !== false) {\n if (missingDependencies.log === \"per-file\") {\n logMissing(debugLog.missingDeps);\n } else {\n laterLogMissing(debugLog.missingDeps);\n }\n }\n if (!debug) return;\n if (this.filename) console.log(`\\n[${this.filename}]`);\n if (debugLog.polyfills.size === 0) {\n console.log(method === \"entry-global\" ? debugLog.found ? `Based on your targets, the ${providerName} polyfill did not add any polyfill.` : `The entry point for the ${providerName} polyfill has not been found.` : `Based on your code and targets, the ${providerName} polyfill did not add any polyfill.`);\n return;\n }\n if (method === \"entry-global\") {\n console.log(`The ${providerName} polyfill entry has been replaced with ` + `the following polyfills:`);\n } else {\n console.log(`The ${providerName} polyfill added the following polyfills:`);\n }\n for (const name of debugLog.polyfills) {\n var _debugLog$polyfillsSu2;\n if ((_debugLog$polyfillsSu2 = debugLog.polyfillsSupport) != null && _debugLog$polyfillsSu2[name]) {\n const filteredTargets = getInclusionReasons(name, targets, debugLog.polyfillsSupport);\n const formattedTargets = JSON.stringify(filteredTargets).replace(/,/g, \", \").replace(/^\\{\"/, '{ \"').replace(/\"\\}$/, '\" }');\n console.log(` ${name} ${formattedTargets}`);\n } else {\n console.log(` ${name}`);\n }\n }\n }\n };\n });\n}\nfunction mapGetOr(map, key, getDefault) {\n let val = map.get(key);\n if (val === undefined) {\n val = getDefault();\n map.set(key, val);\n }\n return val;\n}\nfunction isEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\n\nexport default definePolyfillProvider;\n//# sourceMappingURL=index.browser.mjs.map\n","import corejs2Polyfills from '@babel/compat-data/corejs2-built-ins';\nimport semver from 'semver';\nimport defineProvider from '@babel/helper-define-polyfill-provider';\nimport * as _babel from '@babel/core';\n\nconst define = (name, pure, global = [], meta) => {\n return {\n name,\n pure,\n global,\n meta\n };\n};\nconst pureAndGlobal = (pure, global, minRuntimeVersion = null) => define(global[0], pure, global, {\n minRuntimeVersion\n});\nconst globalOnly = global => define(global[0], null, global);\nconst pureOnly = (pure, name) => define(name, pure, []);\nconst ArrayNatureIterators = [\"es6.object.to-string\", \"es6.array.iterator\", \"web.dom.iterable\"];\nconst CommonIterators = [\"es6.string.iterator\", ...ArrayNatureIterators];\nconst PromiseDependencies = [\"es6.object.to-string\", \"es6.promise\"];\nconst BuiltIns = {\n DataView: globalOnly([\"es6.typed.data-view\"]),\n Float32Array: globalOnly([\"es6.typed.float32-array\"]),\n Float64Array: globalOnly([\"es6.typed.float64-array\"]),\n Int8Array: globalOnly([\"es6.typed.int8-array\"]),\n Int16Array: globalOnly([\"es6.typed.int16-array\"]),\n Int32Array: globalOnly([\"es6.typed.int32-array\"]),\n Map: pureAndGlobal(\"map\", [\"es6.map\", ...CommonIterators]),\n Number: globalOnly([\"es6.number.constructor\"]),\n Promise: pureAndGlobal(\"promise\", PromiseDependencies),\n RegExp: globalOnly([\"es6.regexp.constructor\"]),\n Set: pureAndGlobal(\"set\", [\"es6.set\", ...CommonIterators]),\n Symbol: pureAndGlobal(\"symbol/index\", [\"es6.symbol\"]),\n Uint8Array: globalOnly([\"es6.typed.uint8-array\"]),\n Uint8ClampedArray: globalOnly([\"es6.typed.uint8-clamped-array\"]),\n Uint16Array: globalOnly([\"es6.typed.uint16-array\"]),\n Uint32Array: globalOnly([\"es6.typed.uint32-array\"]),\n WeakMap: pureAndGlobal(\"weak-map\", [\"es6.weak-map\", ...CommonIterators]),\n WeakSet: pureAndGlobal(\"weak-set\", [\"es6.weak-set\", ...CommonIterators]),\n setImmediate: pureOnly(\"set-immediate\", \"web.immediate\"),\n clearImmediate: pureOnly(\"clear-immediate\", \"web.immediate\"),\n parseFloat: pureOnly(\"parse-float\", \"es6.parse-float\"),\n parseInt: pureOnly(\"parse-int\", \"es6.parse-int\")\n};\nconst InstanceProperties = {\n __defineGetter__: globalOnly([\"es7.object.define-getter\"]),\n __defineSetter__: globalOnly([\"es7.object.define-setter\"]),\n __lookupGetter__: globalOnly([\"es7.object.lookup-getter\"]),\n __lookupSetter__: globalOnly([\"es7.object.lookup-setter\"]),\n anchor: globalOnly([\"es6.string.anchor\"]),\n big: globalOnly([\"es6.string.big\"]),\n bind: globalOnly([\"es6.function.bind\"]),\n blink: globalOnly([\"es6.string.blink\"]),\n bold: globalOnly([\"es6.string.bold\"]),\n codePointAt: globalOnly([\"es6.string.code-point-at\"]),\n copyWithin: globalOnly([\"es6.array.copy-within\"]),\n endsWith: globalOnly([\"es6.string.ends-with\"]),\n entries: globalOnly(ArrayNatureIterators),\n every: globalOnly([\"es6.array.every\"]),\n fill: globalOnly([\"es6.array.fill\"]),\n filter: globalOnly([\"es6.array.filter\"]),\n finally: globalOnly([\"es7.promise.finally\", ...PromiseDependencies]),\n find: globalOnly([\"es6.array.find\"]),\n findIndex: globalOnly([\"es6.array.find-index\"]),\n fixed: globalOnly([\"es6.string.fixed\"]),\n flags: globalOnly([\"es6.regexp.flags\"]),\n flatMap: globalOnly([\"es7.array.flat-map\"]),\n fontcolor: globalOnly([\"es6.string.fontcolor\"]),\n fontsize: globalOnly([\"es6.string.fontsize\"]),\n forEach: globalOnly([\"es6.array.for-each\"]),\n includes: globalOnly([\"es6.string.includes\", \"es7.array.includes\"]),\n indexOf: globalOnly([\"es6.array.index-of\"]),\n italics: globalOnly([\"es6.string.italics\"]),\n keys: globalOnly(ArrayNatureIterators),\n lastIndexOf: globalOnly([\"es6.array.last-index-of\"]),\n link: globalOnly([\"es6.string.link\"]),\n map: globalOnly([\"es6.array.map\"]),\n match: globalOnly([\"es6.regexp.match\"]),\n name: globalOnly([\"es6.function.name\"]),\n padStart: globalOnly([\"es7.string.pad-start\"]),\n padEnd: globalOnly([\"es7.string.pad-end\"]),\n reduce: globalOnly([\"es6.array.reduce\"]),\n reduceRight: globalOnly([\"es6.array.reduce-right\"]),\n repeat: globalOnly([\"es6.string.repeat\"]),\n replace: globalOnly([\"es6.regexp.replace\"]),\n search: globalOnly([\"es6.regexp.search\"]),\n small: globalOnly([\"es6.string.small\"]),\n some: globalOnly([\"es6.array.some\"]),\n sort: globalOnly([\"es6.array.sort\"]),\n split: globalOnly([\"es6.regexp.split\"]),\n startsWith: globalOnly([\"es6.string.starts-with\"]),\n strike: globalOnly([\"es6.string.strike\"]),\n sub: globalOnly([\"es6.string.sub\"]),\n sup: globalOnly([\"es6.string.sup\"]),\n toISOString: globalOnly([\"es6.date.to-iso-string\"]),\n toJSON: globalOnly([\"es6.date.to-json\"]),\n toString: globalOnly([\"es6.object.to-string\", \"es6.date.to-string\", \"es6.regexp.to-string\"]),\n trim: globalOnly([\"es6.string.trim\"]),\n trimEnd: globalOnly([\"es7.string.trim-right\"]),\n trimLeft: globalOnly([\"es7.string.trim-left\"]),\n trimRight: globalOnly([\"es7.string.trim-right\"]),\n trimStart: globalOnly([\"es7.string.trim-left\"]),\n values: globalOnly(ArrayNatureIterators)\n};\n\n// This isn't present in older @babel/compat-data versions\nif (\"es6.array.slice\" in corejs2Polyfills) {\n InstanceProperties.slice = globalOnly([\"es6.array.slice\"]);\n}\nconst StaticProperties = {\n Array: {\n from: pureAndGlobal(\"array/from\", [\"es6.symbol\", \"es6.array.from\", ...CommonIterators]),\n isArray: pureAndGlobal(\"array/is-array\", [\"es6.array.is-array\"]),\n of: pureAndGlobal(\"array/of\", [\"es6.array.of\"])\n },\n Date: {\n now: pureAndGlobal(\"date/now\", [\"es6.date.now\"])\n },\n JSON: {\n stringify: pureOnly(\"json/stringify\", \"es6.symbol\")\n },\n Math: {\n // 'Math' was not included in the 7.0.0\n // release of '@babel/runtime'. See issue https://github.com/babel/babel/pull/8616.\n acosh: pureAndGlobal(\"math/acosh\", [\"es6.math.acosh\"], \"7.0.1\"),\n asinh: pureAndGlobal(\"math/asinh\", [\"es6.math.asinh\"], \"7.0.1\"),\n atanh: pureAndGlobal(\"math/atanh\", [\"es6.math.atanh\"], \"7.0.1\"),\n cbrt: pureAndGlobal(\"math/cbrt\", [\"es6.math.cbrt\"], \"7.0.1\"),\n clz32: pureAndGlobal(\"math/clz32\", [\"es6.math.clz32\"], \"7.0.1\"),\n cosh: pureAndGlobal(\"math/cosh\", [\"es6.math.cosh\"], \"7.0.1\"),\n expm1: pureAndGlobal(\"math/expm1\", [\"es6.math.expm1\"], \"7.0.1\"),\n fround: pureAndGlobal(\"math/fround\", [\"es6.math.fround\"], \"7.0.1\"),\n hypot: pureAndGlobal(\"math/hypot\", [\"es6.math.hypot\"], \"7.0.1\"),\n imul: pureAndGlobal(\"math/imul\", [\"es6.math.imul\"], \"7.0.1\"),\n log1p: pureAndGlobal(\"math/log1p\", [\"es6.math.log1p\"], \"7.0.1\"),\n log10: pureAndGlobal(\"math/log10\", [\"es6.math.log10\"], \"7.0.1\"),\n log2: pureAndGlobal(\"math/log2\", [\"es6.math.log2\"], \"7.0.1\"),\n sign: pureAndGlobal(\"math/sign\", [\"es6.math.sign\"], \"7.0.1\"),\n sinh: pureAndGlobal(\"math/sinh\", [\"es6.math.sinh\"], \"7.0.1\"),\n tanh: pureAndGlobal(\"math/tanh\", [\"es6.math.tanh\"], \"7.0.1\"),\n trunc: pureAndGlobal(\"math/trunc\", [\"es6.math.trunc\"], \"7.0.1\")\n },\n Number: {\n EPSILON: pureAndGlobal(\"number/epsilon\", [\"es6.number.epsilon\"]),\n MIN_SAFE_INTEGER: pureAndGlobal(\"number/min-safe-integer\", [\"es6.number.min-safe-integer\"]),\n MAX_SAFE_INTEGER: pureAndGlobal(\"number/max-safe-integer\", [\"es6.number.max-safe-integer\"]),\n isFinite: pureAndGlobal(\"number/is-finite\", [\"es6.number.is-finite\"]),\n isInteger: pureAndGlobal(\"number/is-integer\", [\"es6.number.is-integer\"]),\n isSafeInteger: pureAndGlobal(\"number/is-safe-integer\", [\"es6.number.is-safe-integer\"]),\n isNaN: pureAndGlobal(\"number/is-nan\", [\"es6.number.is-nan\"]),\n parseFloat: pureAndGlobal(\"number/parse-float\", [\"es6.number.parse-float\"]),\n parseInt: pureAndGlobal(\"number/parse-int\", [\"es6.number.parse-int\"])\n },\n Object: {\n assign: pureAndGlobal(\"object/assign\", [\"es6.object.assign\"]),\n create: pureAndGlobal(\"object/create\", [\"es6.object.create\"]),\n defineProperties: pureAndGlobal(\"object/define-properties\", [\"es6.object.define-properties\"]),\n defineProperty: pureAndGlobal(\"object/define-property\", [\"es6.object.define-property\"]),\n entries: pureAndGlobal(\"object/entries\", [\"es7.object.entries\"]),\n freeze: pureAndGlobal(\"object/freeze\", [\"es6.object.freeze\"]),\n getOwnPropertyDescriptor: pureAndGlobal(\"object/get-own-property-descriptor\", [\"es6.object.get-own-property-descriptor\"]),\n getOwnPropertyDescriptors: pureAndGlobal(\"object/get-own-property-descriptors\", [\"es7.object.get-own-property-descriptors\"]),\n getOwnPropertyNames: pureAndGlobal(\"object/get-own-property-names\", [\"es6.object.get-own-property-names\"]),\n getOwnPropertySymbols: pureAndGlobal(\"object/get-own-property-symbols\", [\"es6.symbol\"]),\n getPrototypeOf: pureAndGlobal(\"object/get-prototype-of\", [\"es6.object.get-prototype-of\"]),\n is: pureAndGlobal(\"object/is\", [\"es6.object.is\"]),\n isExtensible: pureAndGlobal(\"object/is-extensible\", [\"es6.object.is-extensible\"]),\n isFrozen: pureAndGlobal(\"object/is-frozen\", [\"es6.object.is-frozen\"]),\n isSealed: pureAndGlobal(\"object/is-sealed\", [\"es6.object.is-sealed\"]),\n keys: pureAndGlobal(\"object/keys\", [\"es6.object.keys\"]),\n preventExtensions: pureAndGlobal(\"object/prevent-extensions\", [\"es6.object.prevent-extensions\"]),\n seal: pureAndGlobal(\"object/seal\", [\"es6.object.seal\"]),\n setPrototypeOf: pureAndGlobal(\"object/set-prototype-of\", [\"es6.object.set-prototype-of\"]),\n values: pureAndGlobal(\"object/values\", [\"es7.object.values\"])\n },\n Promise: {\n all: globalOnly(CommonIterators),\n race: globalOnly(CommonIterators)\n },\n Reflect: {\n apply: pureAndGlobal(\"reflect/apply\", [\"es6.reflect.apply\"]),\n construct: pureAndGlobal(\"reflect/construct\", [\"es6.reflect.construct\"]),\n defineProperty: pureAndGlobal(\"reflect/define-property\", [\"es6.reflect.define-property\"]),\n deleteProperty: pureAndGlobal(\"reflect/delete-property\", [\"es6.reflect.delete-property\"]),\n get: pureAndGlobal(\"reflect/get\", [\"es6.reflect.get\"]),\n getOwnPropertyDescriptor: pureAndGlobal(\"reflect/get-own-property-descriptor\", [\"es6.reflect.get-own-property-descriptor\"]),\n getPrototypeOf: pureAndGlobal(\"reflect/get-prototype-of\", [\"es6.reflect.get-prototype-of\"]),\n has: pureAndGlobal(\"reflect/has\", [\"es6.reflect.has\"]),\n isExtensible: pureAndGlobal(\"reflect/is-extensible\", [\"es6.reflect.is-extensible\"]),\n ownKeys: pureAndGlobal(\"reflect/own-keys\", [\"es6.reflect.own-keys\"]),\n preventExtensions: pureAndGlobal(\"reflect/prevent-extensions\", [\"es6.reflect.prevent-extensions\"]),\n set: pureAndGlobal(\"reflect/set\", [\"es6.reflect.set\"]),\n setPrototypeOf: pureAndGlobal(\"reflect/set-prototype-of\", [\"es6.reflect.set-prototype-of\"])\n },\n String: {\n at: pureOnly(\"string/at\", \"es7.string.at\"),\n fromCodePoint: pureAndGlobal(\"string/from-code-point\", [\"es6.string.from-code-point\"]),\n raw: pureAndGlobal(\"string/raw\", [\"es6.string.raw\"])\n },\n Symbol: {\n // FIXME: Pure disabled to work around zloirock/core-js#262.\n asyncIterator: globalOnly([\"es6.symbol\", \"es7.symbol.async-iterator\"]),\n for: pureOnly(\"symbol/for\", \"es6.symbol\"),\n hasInstance: pureOnly(\"symbol/has-instance\", \"es6.symbol\"),\n isConcatSpreadable: pureOnly(\"symbol/is-concat-spreadable\", \"es6.symbol\"),\n iterator: define(\"es6.symbol\", \"symbol/iterator\", CommonIterators),\n keyFor: pureOnly(\"symbol/key-for\", \"es6.symbol\"),\n match: pureAndGlobal(\"symbol/match\", [\"es6.regexp.match\"]),\n replace: pureOnly(\"symbol/replace\", \"es6.symbol\"),\n search: pureOnly(\"symbol/search\", \"es6.symbol\"),\n species: pureOnly(\"symbol/species\", \"es6.symbol\"),\n split: pureOnly(\"symbol/split\", \"es6.symbol\"),\n toPrimitive: pureOnly(\"symbol/to-primitive\", \"es6.symbol\"),\n toStringTag: pureOnly(\"symbol/to-string-tag\", \"es6.symbol\"),\n unscopables: pureOnly(\"symbol/unscopables\", \"es6.symbol\")\n }\n};\n\nconst webPolyfills = {\n \"web.timers\": {},\n \"web.immediate\": {},\n \"web.dom.iterable\": {}\n};\nconst purePolyfills = {\n \"es6.parse-float\": {},\n \"es6.parse-int\": {},\n \"es7.string.at\": {}\n};\nfunction addPlatformSpecificPolyfills (targets, method, polyfills) {\n const targetNames = Object.keys(targets);\n const isAnyTarget = !targetNames.length;\n const isWebTarget = targetNames.some(name => name !== \"node\");\n return {\n ...polyfills,\n ...(method === \"usage-pure\" ? purePolyfills : null),\n ...(isAnyTarget || isWebTarget ? webPolyfills : null)\n };\n}\n\nfunction hasMinVersion(minVersion, runtimeVersion) {\n // If the range is unavailable, we're running the script during Babel's\n // build process, and we want to assume that all versions are satisfied so\n // that the built output will include all definitions.\n if (!runtimeVersion || !minVersion) return true;\n\n // semver.intersects() has some surprising behavior with comparing ranges\n // with preprelease versions. We add '^' to ensure that we are always\n // comparing ranges with ranges, which sidesteps this logic.\n // For example:\n //\n // semver.intersects(`<7.0.1`, \"7.0.0-beta.0\") // false - surprising\n // semver.intersects(`<7.0.1`, \"^7.0.0-beta.0\") // true - expected\n //\n // This is because the first falls back to\n //\n // semver.satisfies(\"7.0.0-beta.0\", `<7.0.1`) // false - surprising\n //\n // and this fails because a prerelease version can only satisfy a range\n // if it is a prerelease within the same major/minor/patch range.\n //\n // Note: If this is found to have issues, please also revist the logic in\n // babel-core's availableHelper() API.\n if (semver.valid(runtimeVersion)) runtimeVersion = `^${runtimeVersion}`;\n return !semver.intersects(`<${minVersion}`, runtimeVersion) && !semver.intersects(`>=8.0.0`, runtimeVersion);\n}\n\nconst {\n types: t\n} = _babel.default || _babel;\nconst BABEL_RUNTIME = \"@babel/runtime-corejs2\";\nconst presetEnvCompat = \"#__secret_key__@babel/preset-env__compatibility\";\nconst runtimeCompat = \"#__secret_key__@babel/runtime__compatibility\";\nconst has = Function.call.bind(Object.hasOwnProperty);\nvar index = defineProvider(function (api, {\n [presetEnvCompat]: {\n entryInjectRegenerator = false,\n noRuntimeName = false\n } = {},\n [runtimeCompat]: {\n useBabelRuntime = false,\n runtimeVersion = \"\",\n ext = \".js\"\n } = {}\n}) {\n const resolve = api.createMetaResolver({\n global: BuiltIns,\n static: StaticProperties,\n instance: InstanceProperties\n });\n const {\n debug,\n shouldInjectPolyfill,\n method\n } = api;\n const polyfills = addPlatformSpecificPolyfills(api.targets, method, corejs2Polyfills);\n const coreJSBase = useBabelRuntime ? `${BABEL_RUNTIME}/core-js` : method === \"usage-pure\" ? \"core-js/library/fn\" : \"core-js/modules\";\n function inject(name, utils) {\n if (typeof name === \"string\") {\n // Some polyfills aren't always available, for example\n // web.dom.iterable when targeting node\n if (has(polyfills, name) && shouldInjectPolyfill(name)) {\n debug(name);\n utils.injectGlobalImport(`${coreJSBase}/${name}.js`);\n }\n return;\n }\n name.forEach(name => inject(name, utils));\n }\n function maybeInjectPure(desc, hint, utils) {\n let {\n pure,\n meta,\n name\n } = desc;\n if (!pure || !shouldInjectPolyfill(name)) return;\n if (runtimeVersion && meta && meta.minRuntimeVersion && !hasMinVersion(meta && meta.minRuntimeVersion, runtimeVersion)) {\n return;\n }\n\n // Unfortunately core-js and @babel/runtime-corejs2 don't have the same\n // directory structure, so we need to special case this.\n if (useBabelRuntime && pure === \"symbol/index\") pure = \"symbol\";\n return utils.injectDefaultImport(`${coreJSBase}/${pure}${ext}`, hint);\n }\n return {\n name: \"corejs2\",\n runtimeName: noRuntimeName ? null : BABEL_RUNTIME,\n polyfills,\n entryGlobal(meta, utils, path) {\n if (meta.kind === \"import\" && meta.source === \"core-js\") {\n debug(null);\n inject(Object.keys(polyfills), utils);\n if (entryInjectRegenerator) {\n utils.injectGlobalImport(\"regenerator-runtime/runtime.js\");\n }\n path.remove();\n }\n },\n usageGlobal(meta, utils) {\n const resolved = resolve(meta);\n if (!resolved) return;\n let deps = resolved.desc.global;\n if (resolved.kind !== \"global\" && \"object\" in meta && meta.object && meta.placement === \"prototype\") {\n const low = meta.object.toLowerCase();\n deps = deps.filter(m => m.includes(low));\n }\n inject(deps, utils);\n },\n usagePure(meta, utils, path) {\n if (meta.kind === \"in\") {\n if (meta.key === \"Symbol.iterator\") {\n path.replaceWith(t.callExpression(utils.injectDefaultImport(`${coreJSBase}/is-iterable${ext}`, \"isIterable\"), [path.node.right] // meta.kind === \"in\" narrows this\n ));\n }\n\n return;\n }\n if (path.parentPath.isUnaryExpression({\n operator: \"delete\"\n })) return;\n if (meta.kind === \"property\") {\n // We can't compile destructuring.\n if (!path.isMemberExpression()) return;\n if (!path.isReferenced()) return;\n if (meta.key === \"Symbol.iterator\" && shouldInjectPolyfill(\"es6.symbol\") && path.parentPath.isCallExpression({\n callee: path.node\n }) && path.parentPath.node.arguments.length === 0) {\n path.parentPath.replaceWith(t.callExpression(utils.injectDefaultImport(`${coreJSBase}/get-iterator${ext}`, \"getIterator\"), [path.node.object]));\n path.skip();\n return;\n }\n }\n const resolved = resolve(meta);\n if (!resolved) return;\n const id = maybeInjectPure(resolved.desc, resolved.name, utils);\n if (id) path.replaceWith(id);\n },\n visitor: method === \"usage-global\" && {\n // yield*\n YieldExpression(path) {\n if (path.node.delegate) {\n inject(\"web.dom.iterable\", api.getUtils(path));\n }\n },\n // for-of, [a, b] = c\n \"ForOfStatement|ArrayPattern\"(path) {\n CommonIterators.forEach(name => inject(name, api.getUtils(path)));\n }\n }\n };\n});\n\nexport default index;\n//# sourceMappingURL=index.mjs.map\n","module.exports = require(\"core-js-compat/data\");\n","module.exports = require(\"core-js-compat/get-modules-list-for-target-version\");\n","module.exports = require(\"core-js-compat/entries\");\n","import corejs3Polyfills from '../core-js-compat/data.js';\nimport getModulesListForTargetVersion from '../core-js-compat/get-modules-list-for-target-version.js';\nimport * as _babel from '@babel/core';\nimport corejsEntries from '../core-js-compat/entries.js';\nimport defineProvider from '@babel/helper-define-polyfill-provider';\n\n// This file is automatically generated by scripts/build-corejs3-shipped-proposals.mjs\n\nvar corejs3ShippedProposalsList = new Set([\"esnext.array.from-async\", \"esnext.array.group\", \"esnext.array.group-to-map\", \"esnext.array-buffer.detached\", \"esnext.array-buffer.transfer\", \"esnext.array-buffer.transfer-to-fixed-length\", \"esnext.json.is-raw-json\", \"esnext.json.parse\", \"esnext.json.raw-json\", \"esnext.set.difference.v2\", \"esnext.set.intersection.v2\", \"esnext.set.is-disjoint-from.v2\", \"esnext.set.is-subset-of.v2\", \"esnext.set.is-superset-of.v2\", \"esnext.set.symmetric-difference.v2\", \"esnext.set.union.v2\"]);\n\nconst polyfillsOrder = {};\nObject.keys(corejs3Polyfills).forEach((name, index) => {\n polyfillsOrder[name] = index;\n});\nconst define = (pure, global, name = global[0], exclude) => {\n return {\n name,\n pure,\n global: global.sort((a, b) => polyfillsOrder[a] - polyfillsOrder[b]),\n exclude\n };\n};\nconst typed = name => define(null, [name, ...TypedArrayDependencies]);\nconst ArrayNatureIterators = [\"es.array.iterator\", \"web.dom-collections.iterator\"];\nconst CommonIterators = [\"es.string.iterator\", ...ArrayNatureIterators];\nconst ArrayNatureIteratorsWithTag = [\"es.object.to-string\", ...ArrayNatureIterators];\nconst CommonIteratorsWithTag = [\"es.object.to-string\", ...CommonIterators];\nconst ErrorDependencies = [\"es.error.cause\", \"es.error.to-string\"];\nconst SuppressedErrorDependencies = [\"esnext.suppressed-error.constructor\", ...ErrorDependencies];\nconst TypedArrayDependencies = [\"es.typed-array.at\", \"es.typed-array.copy-within\", \"es.typed-array.every\", \"es.typed-array.fill\", \"es.typed-array.filter\", \"es.typed-array.find\", \"es.typed-array.find-index\", \"es.typed-array.find-last\", \"es.typed-array.find-last-index\", \"es.typed-array.for-each\", \"es.typed-array.includes\", \"es.typed-array.index-of\", \"es.typed-array.iterator\", \"es.typed-array.join\", \"es.typed-array.last-index-of\", \"es.typed-array.map\", \"es.typed-array.reduce\", \"es.typed-array.reduce-right\", \"es.typed-array.reverse\", \"es.typed-array.set\", \"es.typed-array.slice\", \"es.typed-array.some\", \"es.typed-array.sort\", \"es.typed-array.subarray\", \"es.typed-array.to-locale-string\", \"es.typed-array.to-reversed\", \"es.typed-array.to-sorted\", \"es.typed-array.to-string\", \"es.typed-array.with\", \"es.object.to-string\", \"es.array.iterator\", \"es.array-buffer.slice\", \"esnext.array-buffer.detached\", \"esnext.array-buffer.transfer\", \"esnext.array-buffer.transfer-to-fixed-length\", \"esnext.typed-array.filter-reject\", \"esnext.typed-array.group-by\", \"esnext.typed-array.to-spliced\", \"esnext.typed-array.unique-by\"];\nconst PromiseDependencies = [\"es.promise\", \"es.object.to-string\"];\nconst PromiseDependenciesWithIterators = [...PromiseDependencies, ...CommonIterators];\nconst SymbolDependencies = [\"es.symbol\", \"es.symbol.description\", \"es.object.to-string\"];\nconst MapDependencies = [\"es.map\", \"esnext.map.delete-all\", \"esnext.map.emplace\", \"esnext.map.every\", \"esnext.map.filter\", \"esnext.map.find\", \"esnext.map.find-key\", \"esnext.map.includes\", \"esnext.map.key-of\", \"esnext.map.map-keys\", \"esnext.map.map-values\", \"esnext.map.merge\", \"esnext.map.reduce\", \"esnext.map.some\", \"esnext.map.update\", ...CommonIteratorsWithTag];\nconst SetDependencies = [\"es.set\", \"esnext.set.add-all\", \"esnext.set.delete-all\", \"esnext.set.difference\", \"esnext.set.difference.v2\", \"esnext.set.every\", \"esnext.set.filter\", \"esnext.set.find\", \"esnext.set.intersection\", \"esnext.set.intersection.v2\", \"esnext.set.is-disjoint-from\", \"esnext.set.is-disjoint-from.v2\", \"esnext.set.is-subset-of\", \"esnext.set.is-subset-of.v2\", \"esnext.set.is-superset-of\", \"esnext.set.is-superset-of.v2\", \"esnext.set.join\", \"esnext.set.map\", \"esnext.set.reduce\", \"esnext.set.some\", \"esnext.set.symmetric-difference\", \"esnext.set.symmetric-difference.v2\", \"esnext.set.union\", \"esnext.set.union.v2\", ...CommonIteratorsWithTag];\nconst WeakMapDependencies = [\"es.weak-map\", \"esnext.weak-map.delete-all\", \"esnext.weak-map.emplace\", ...CommonIteratorsWithTag];\nconst WeakSetDependencies = [\"es.weak-set\", \"esnext.weak-set.add-all\", \"esnext.weak-set.delete-all\", ...CommonIteratorsWithTag];\nconst DOMExceptionDependencies = [\"web.dom-exception.constructor\", \"web.dom-exception.stack\", \"web.dom-exception.to-string-tag\", \"es.error.to-string\"];\nconst URLSearchParamsDependencies = [\"web.url-search-params\", \"web.url-search-params.delete\", \"web.url-search-params.has\", \"web.url-search-params.size\", ...CommonIteratorsWithTag];\nconst AsyncIteratorDependencies = [\"esnext.async-iterator.constructor\", ...PromiseDependencies];\nconst AsyncIteratorProblemMethods = [\"esnext.async-iterator.every\", \"esnext.async-iterator.filter\", \"esnext.async-iterator.find\", \"esnext.async-iterator.flat-map\", \"esnext.async-iterator.for-each\", \"esnext.async-iterator.map\", \"esnext.async-iterator.reduce\", \"esnext.async-iterator.some\"];\nconst IteratorDependencies = [\"esnext.iterator.constructor\", \"es.object.to-string\"];\nconst TypedArrayStaticMethods = {\n from: define(null, [\"es.typed-array.from\"]),\n fromAsync: define(null, [\"esnext.typed-array.from-async\", ...PromiseDependenciesWithIterators]),\n of: define(null, [\"es.typed-array.of\"])\n};\nconst BuiltIns = {\n AsyncDisposableStack: define(\"async-disposable-stack\", [\"esnext.async-disposable-stack.constructor\", \"es.object.to-string\", \"esnext.async-iterator.async-dispose\", \"esnext.iterator.dispose\", ...PromiseDependencies, ...SuppressedErrorDependencies]),\n AsyncIterator: define(\"async-iterator/index\", AsyncIteratorDependencies),\n AggregateError: define(\"aggregate-error\", [\"es.aggregate-error\", ...ErrorDependencies, ...CommonIteratorsWithTag, \"es.aggregate-error.cause\"]),\n ArrayBuffer: define(null, [\"es.array-buffer.constructor\", \"es.array-buffer.slice\", \"es.object.to-string\"]),\n DataView: define(null, [\"es.data-view\", \"es.array-buffer.slice\", \"es.object.to-string\"]),\n Date: define(null, [\"es.date.to-string\"]),\n DOMException: define(\"dom-exception\", DOMExceptionDependencies),\n DisposableStack: define(\"disposable-stack\", [\"esnext.disposable-stack.constructor\", \"es.object.to-string\", \"esnext.iterator.dispose\", ...SuppressedErrorDependencies]),\n Error: define(null, ErrorDependencies),\n EvalError: define(null, ErrorDependencies),\n Float32Array: typed(\"es.typed-array.float32-array\"),\n Float64Array: typed(\"es.typed-array.float64-array\"),\n Int8Array: typed(\"es.typed-array.int8-array\"),\n Int16Array: typed(\"es.typed-array.int16-array\"),\n Int32Array: typed(\"es.typed-array.int32-array\"),\n Iterator: define(\"iterator/index\", IteratorDependencies),\n Uint8Array: typed(\"es.typed-array.uint8-array\"),\n Uint8ClampedArray: typed(\"es.typed-array.uint8-clamped-array\"),\n Uint16Array: typed(\"es.typed-array.uint16-array\"),\n Uint32Array: typed(\"es.typed-array.uint32-array\"),\n Map: define(\"map/index\", MapDependencies),\n Number: define(null, [\"es.number.constructor\"]),\n Observable: define(\"observable/index\", [\"esnext.observable\", \"esnext.symbol.observable\", \"es.object.to-string\", ...CommonIteratorsWithTag]),\n Promise: define(\"promise/index\", PromiseDependencies),\n RangeError: define(null, ErrorDependencies),\n ReferenceError: define(null, ErrorDependencies),\n Reflect: define(null, [\"es.reflect.to-string-tag\", \"es.object.to-string\"]),\n RegExp: define(null, [\"es.regexp.constructor\", \"es.regexp.dot-all\", \"es.regexp.exec\", \"es.regexp.sticky\", \"es.regexp.to-string\"]),\n Set: define(\"set/index\", SetDependencies),\n SuppressedError: define(\"suppressed-error\", SuppressedErrorDependencies),\n Symbol: define(\"symbol/index\", SymbolDependencies),\n SyntaxError: define(null, ErrorDependencies),\n TypeError: define(null, ErrorDependencies),\n URIError: define(null, ErrorDependencies),\n URL: define(\"url/index\", [\"web.url\", ...URLSearchParamsDependencies]),\n URLSearchParams: define(\"url-search-params/index\", URLSearchParamsDependencies),\n WeakMap: define(\"weak-map/index\", WeakMapDependencies),\n WeakSet: define(\"weak-set/index\", WeakSetDependencies),\n atob: define(\"atob\", [\"web.atob\", ...DOMExceptionDependencies]),\n btoa: define(\"btoa\", [\"web.btoa\", ...DOMExceptionDependencies]),\n clearImmediate: define(\"clear-immediate\", [\"web.immediate\"]),\n compositeKey: define(\"composite-key\", [\"esnext.composite-key\"]),\n compositeSymbol: define(\"composite-symbol\", [\"esnext.composite-symbol\"]),\n escape: define(\"escape\", [\"es.escape\"]),\n fetch: define(null, PromiseDependencies),\n globalThis: define(\"global-this\", [\"es.global-this\"]),\n parseFloat: define(\"parse-float\", [\"es.parse-float\"]),\n parseInt: define(\"parse-int\", [\"es.parse-int\"]),\n queueMicrotask: define(\"queue-microtask\", [\"web.queue-microtask\"]),\n self: define(\"self\", [\"web.self\"]),\n setImmediate: define(\"set-immediate\", [\"web.immediate\"]),\n setInterval: define(\"set-interval\", [\"web.timers\"]),\n setTimeout: define(\"set-timeout\", [\"web.timers\"]),\n structuredClone: define(\"structured-clone\", [\"web.structured-clone\", ...DOMExceptionDependencies, \"es.array.iterator\", \"es.object.keys\", \"es.object.to-string\", \"es.map\", \"es.set\"]),\n unescape: define(\"unescape\", [\"es.unescape\"])\n};\nconst StaticProperties = {\n AsyncIterator: {\n from: define(\"async-iterator/from\", [\"esnext.async-iterator.from\", ...AsyncIteratorDependencies, ...AsyncIteratorProblemMethods, ...CommonIterators])\n },\n Array: {\n from: define(\"array/from\", [\"es.array.from\", \"es.string.iterator\"]),\n fromAsync: define(\"array/from-async\", [\"esnext.array.from-async\", ...PromiseDependenciesWithIterators]),\n isArray: define(\"array/is-array\", [\"es.array.is-array\"]),\n isTemplateObject: define(\"array/is-template-object\", [\"esnext.array.is-template-object\"]),\n of: define(\"array/of\", [\"es.array.of\"])\n },\n ArrayBuffer: {\n isView: define(null, [\"es.array-buffer.is-view\"])\n },\n BigInt: {\n range: define(\"bigint/range\", [\"esnext.bigint.range\", \"es.object.to-string\"])\n },\n Date: {\n now: define(\"date/now\", [\"es.date.now\"])\n },\n Function: {\n isCallable: define(\"function/is-callable\", [\"esnext.function.is-callable\"]),\n isConstructor: define(\"function/is-constructor\", [\"esnext.function.is-constructor\"])\n },\n Iterator: {\n from: define(\"iterator/from\", [\"esnext.iterator.from\", ...IteratorDependencies, ...CommonIterators]),\n range: define(\"iterator/range\", [\"esnext.iterator.range\", \"es.object.to-string\"])\n },\n JSON: {\n isRawJSON: define(\"json/is-raw-json\", [\"esnext.json.is-raw-json\"]),\n parse: define(\"json/parse\", [\"esnext.json.parse\", \"es.object.keys\"]),\n rawJSON: define(\"json/raw-json\", [\"esnext.json.raw-json\", \"es.object.create\", \"es.object.freeze\"]),\n stringify: define(\"json/stringify\", [\"es.json.stringify\"], \"es.symbol\")\n },\n Math: {\n DEG_PER_RAD: define(\"math/deg-per-rad\", [\"esnext.math.deg-per-rad\"]),\n RAD_PER_DEG: define(\"math/rad-per-deg\", [\"esnext.math.rad-per-deg\"]),\n acosh: define(\"math/acosh\", [\"es.math.acosh\"]),\n asinh: define(\"math/asinh\", [\"es.math.asinh\"]),\n atanh: define(\"math/atanh\", [\"es.math.atanh\"]),\n cbrt: define(\"math/cbrt\", [\"es.math.cbrt\"]),\n clamp: define(\"math/clamp\", [\"esnext.math.clamp\"]),\n clz32: define(\"math/clz32\", [\"es.math.clz32\"]),\n cosh: define(\"math/cosh\", [\"es.math.cosh\"]),\n degrees: define(\"math/degrees\", [\"esnext.math.degrees\"]),\n expm1: define(\"math/expm1\", [\"es.math.expm1\"]),\n fround: define(\"math/fround\", [\"es.math.fround\"]),\n fscale: define(\"math/fscale\", [\"esnext.math.fscale\"]),\n hypot: define(\"math/hypot\", [\"es.math.hypot\"]),\n iaddh: define(\"math/iaddh\", [\"esnext.math.iaddh\"]),\n imul: define(\"math/imul\", [\"es.math.imul\"]),\n imulh: define(\"math/imulh\", [\"esnext.math.imulh\"]),\n isubh: define(\"math/isubh\", [\"esnext.math.isubh\"]),\n log10: define(\"math/log10\", [\"es.math.log10\"]),\n log1p: define(\"math/log1p\", [\"es.math.log1p\"]),\n log2: define(\"math/log2\", [\"es.math.log2\"]),\n radians: define(\"math/radians\", [\"esnext.math.radians\"]),\n scale: define(\"math/scale\", [\"esnext.math.scale\"]),\n seededPRNG: define(\"math/seeded-prng\", [\"esnext.math.seeded-prng\"]),\n sign: define(\"math/sign\", [\"es.math.sign\"]),\n signbit: define(\"math/signbit\", [\"esnext.math.signbit\"]),\n sinh: define(\"math/sinh\", [\"es.math.sinh\"]),\n tanh: define(\"math/tanh\", [\"es.math.tanh\"]),\n trunc: define(\"math/trunc\", [\"es.math.trunc\"]),\n umulh: define(\"math/umulh\", [\"esnext.math.umulh\"])\n },\n Map: {\n from: define(null, [\"esnext.map.from\", ...MapDependencies]),\n groupBy: define(null, [\"esnext.map.group-by\", ...MapDependencies]),\n keyBy: define(null, [\"esnext.map.key-by\", ...MapDependencies]),\n of: define(null, [\"esnext.map.of\", ...MapDependencies])\n },\n Number: {\n EPSILON: define(\"number/epsilon\", [\"es.number.epsilon\"]),\n MAX_SAFE_INTEGER: define(\"number/max-safe-integer\", [\"es.number.max-safe-integer\"]),\n MIN_SAFE_INTEGER: define(\"number/min-safe-integer\", [\"es.number.min-safe-integer\"]),\n fromString: define(\"number/from-string\", [\"esnext.number.from-string\"]),\n isFinite: define(\"number/is-finite\", [\"es.number.is-finite\"]),\n isInteger: define(\"number/is-integer\", [\"es.number.is-integer\"]),\n isNaN: define(\"number/is-nan\", [\"es.number.is-nan\"]),\n isSafeInteger: define(\"number/is-safe-integer\", [\"es.number.is-safe-integer\"]),\n parseFloat: define(\"number/parse-float\", [\"es.number.parse-float\"]),\n parseInt: define(\"number/parse-int\", [\"es.number.parse-int\"]),\n range: define(\"number/range\", [\"esnext.number.range\", \"es.object.to-string\"])\n },\n Object: {\n assign: define(\"object/assign\", [\"es.object.assign\"]),\n create: define(\"object/create\", [\"es.object.create\"]),\n defineProperties: define(\"object/define-properties\", [\"es.object.define-properties\"]),\n defineProperty: define(\"object/define-property\", [\"es.object.define-property\"]),\n entries: define(\"object/entries\", [\"es.object.entries\"]),\n freeze: define(\"object/freeze\", [\"es.object.freeze\"]),\n fromEntries: define(\"object/from-entries\", [\"es.object.from-entries\", \"es.array.iterator\"]),\n getOwnPropertyDescriptor: define(\"object/get-own-property-descriptor\", [\"es.object.get-own-property-descriptor\"]),\n getOwnPropertyDescriptors: define(\"object/get-own-property-descriptors\", [\"es.object.get-own-property-descriptors\"]),\n getOwnPropertyNames: define(\"object/get-own-property-names\", [\"es.object.get-own-property-names\"]),\n getOwnPropertySymbols: define(\"object/get-own-property-symbols\", [\"es.symbol\"]),\n getPrototypeOf: define(\"object/get-prototype-of\", [\"es.object.get-prototype-of\"]),\n groupBy: define(\"object/group-by\", [\"esnext.object.group-by\", \"es.object.create\"]),\n hasOwn: define(\"object/has-own\", [\"es.object.has-own\"]),\n is: define(\"object/is\", [\"es.object.is\"]),\n isExtensible: define(\"object/is-extensible\", [\"es.object.is-extensible\"]),\n isFrozen: define(\"object/is-frozen\", [\"es.object.is-frozen\"]),\n isSealed: define(\"object/is-sealed\", [\"es.object.is-sealed\"]),\n keys: define(\"object/keys\", [\"es.object.keys\"]),\n preventExtensions: define(\"object/prevent-extensions\", [\"es.object.prevent-extensions\"]),\n seal: define(\"object/seal\", [\"es.object.seal\"]),\n setPrototypeOf: define(\"object/set-prototype-of\", [\"es.object.set-prototype-of\"]),\n values: define(\"object/values\", [\"es.object.values\"])\n },\n Promise: {\n all: define(null, PromiseDependenciesWithIterators),\n allSettled: define(null, [\"es.promise.all-settled\", ...PromiseDependenciesWithIterators]),\n any: define(null, [\"es.promise.any\", \"es.aggregate-error\", ...PromiseDependenciesWithIterators]),\n race: define(null, PromiseDependenciesWithIterators),\n try: define(null, [\"esnext.promise.try\", ...PromiseDependencies]),\n withResolvers: define(null, [\"esnext.promise.with-resolvers\", ...PromiseDependencies])\n },\n Reflect: {\n apply: define(\"reflect/apply\", [\"es.reflect.apply\"]),\n construct: define(\"reflect/construct\", [\"es.reflect.construct\"]),\n defineMetadata: define(\"reflect/define-metadata\", [\"esnext.reflect.define-metadata\"]),\n defineProperty: define(\"reflect/define-property\", [\"es.reflect.define-property\"]),\n deleteMetadata: define(\"reflect/delete-metadata\", [\"esnext.reflect.delete-metadata\"]),\n deleteProperty: define(\"reflect/delete-property\", [\"es.reflect.delete-property\"]),\n get: define(\"reflect/get\", [\"es.reflect.get\"]),\n getMetadata: define(\"reflect/get-metadata\", [\"esnext.reflect.get-metadata\"]),\n getMetadataKeys: define(\"reflect/get-metadata-keys\", [\"esnext.reflect.get-metadata-keys\"]),\n getOwnMetadata: define(\"reflect/get-own-metadata\", [\"esnext.reflect.get-own-metadata\"]),\n getOwnMetadataKeys: define(\"reflect/get-own-metadata-keys\", [\"esnext.reflect.get-own-metadata-keys\"]),\n getOwnPropertyDescriptor: define(\"reflect/get-own-property-descriptor\", [\"es.reflect.get-own-property-descriptor\"]),\n getPrototypeOf: define(\"reflect/get-prototype-of\", [\"es.reflect.get-prototype-of\"]),\n has: define(\"reflect/has\", [\"es.reflect.has\"]),\n hasMetadata: define(\"reflect/has-metadata\", [\"esnext.reflect.has-metadata\"]),\n hasOwnMetadata: define(\"reflect/has-own-metadata\", [\"esnext.reflect.has-own-metadata\"]),\n isExtensible: define(\"reflect/is-extensible\", [\"es.reflect.is-extensible\"]),\n metadata: define(\"reflect/metadata\", [\"esnext.reflect.metadata\"]),\n ownKeys: define(\"reflect/own-keys\", [\"es.reflect.own-keys\"]),\n preventExtensions: define(\"reflect/prevent-extensions\", [\"es.reflect.prevent-extensions\"]),\n set: define(\"reflect/set\", [\"es.reflect.set\"]),\n setPrototypeOf: define(\"reflect/set-prototype-of\", [\"es.reflect.set-prototype-of\"])\n },\n Set: {\n from: define(null, [\"esnext.set.from\", ...SetDependencies]),\n of: define(null, [\"esnext.set.of\", ...SetDependencies])\n },\n String: {\n cooked: define(\"string/cooked\", [\"esnext.string.cooked\"]),\n dedent: define(\"string/dedent\", [\"esnext.string.dedent\", \"es.string.from-code-point\", \"es.weak-map\"]),\n fromCodePoint: define(\"string/from-code-point\", [\"es.string.from-code-point\"]),\n raw: define(\"string/raw\", [\"es.string.raw\"])\n },\n Symbol: {\n asyncDispose: define(\"symbol/async-dispose\", [\"esnext.symbol.async-dispose\", \"esnext.async-iterator.async-dispose\"]),\n asyncIterator: define(\"symbol/async-iterator\", [\"es.symbol.async-iterator\"]),\n dispose: define(\"symbol/dispose\", [\"esnext.symbol.dispose\", \"esnext.iterator.dispose\"]),\n for: define(\"symbol/for\", [], \"es.symbol\"),\n hasInstance: define(\"symbol/has-instance\", [\"es.symbol.has-instance\", \"es.function.has-instance\"]),\n isConcatSpreadable: define(\"symbol/is-concat-spreadable\", [\"es.symbol.is-concat-spreadable\", \"es.array.concat\"]),\n isRegistered: define(\"symbol/is-registered\", [\"esnext.symbol.is-registered\", \"es.symbol\"]),\n isRegisteredSymbol: define(\"symbol/is-registered-symbol\", [\"esnext.symbol.is-registered-symbol\", \"es.symbol\"]),\n isWellKnown: define(\"symbol/is-well-known\", [\"esnext.symbol.is-well-known\", \"es.symbol\"]),\n isWellKnownSymbol: define(\"symbol/is-well-known-symbol\", [\"esnext.symbol.is-well-known-symbol\", \"es.symbol\"]),\n iterator: define(\"symbol/iterator\", [\"es.symbol.iterator\", ...CommonIteratorsWithTag]),\n keyFor: define(\"symbol/key-for\", [], \"es.symbol\"),\n match: define(\"symbol/match\", [\"es.symbol.match\", \"es.string.match\"]),\n matcher: define(\"symbol/matcher\", [\"esnext.symbol.matcher\"]),\n matchAll: define(\"symbol/match-all\", [\"es.symbol.match-all\", \"es.string.match-all\"]),\n metadata: define(\"symbol/metadata\", [\"esnext.symbol.metadata\", \"esnext.function.metadata\"]),\n metadataKey: define(\"symbol/metadata-key\", [\"esnext.symbol.metadata-key\"]),\n observable: define(\"symbol/observable\", [\"esnext.symbol.observable\"]),\n patternMatch: define(\"symbol/pattern-match\", [\"esnext.symbol.pattern-match\"]),\n replace: define(\"symbol/replace\", [\"es.symbol.replace\", \"es.string.replace\"]),\n search: define(\"symbol/search\", [\"es.symbol.search\", \"es.string.search\"]),\n species: define(\"symbol/species\", [\"es.symbol.species\", \"es.array.species\"]),\n split: define(\"symbol/split\", [\"es.symbol.split\", \"es.string.split\"]),\n toPrimitive: define(\"symbol/to-primitive\", [\"es.symbol.to-primitive\", \"es.date.to-primitive\"]),\n toStringTag: define(\"symbol/to-string-tag\", [\"es.symbol.to-string-tag\", \"es.object.to-string\", \"es.math.to-string-tag\", \"es.json.to-string-tag\"]),\n unscopables: define(\"symbol/unscopables\", [\"es.symbol.unscopables\"])\n },\n URL: {\n canParse: define(\"url/can-parse\", [\"web.url.can-parse\", \"web.url\"])\n },\n WeakMap: {\n from: define(null, [\"esnext.weak-map.from\", ...WeakMapDependencies]),\n of: define(null, [\"esnext.weak-map.of\", ...WeakMapDependencies])\n },\n WeakSet: {\n from: define(null, [\"esnext.weak-set.from\", ...WeakSetDependencies]),\n of: define(null, [\"esnext.weak-set.of\", ...WeakSetDependencies])\n },\n Int8Array: TypedArrayStaticMethods,\n Uint8Array: TypedArrayStaticMethods,\n Uint8ClampedArray: TypedArrayStaticMethods,\n Int16Array: TypedArrayStaticMethods,\n Uint16Array: TypedArrayStaticMethods,\n Int32Array: TypedArrayStaticMethods,\n Uint32Array: TypedArrayStaticMethods,\n Float32Array: TypedArrayStaticMethods,\n Float64Array: TypedArrayStaticMethods,\n WebAssembly: {\n CompileError: define(null, ErrorDependencies),\n LinkError: define(null, ErrorDependencies),\n RuntimeError: define(null, ErrorDependencies)\n }\n};\nconst InstanceProperties = {\n asIndexedPairs: define(\"instance/asIndexedPairs\", [\"esnext.async-iterator.as-indexed-pairs\", ...AsyncIteratorDependencies, \"esnext.iterator.as-indexed-pairs\", ...IteratorDependencies]),\n at: define(\"instance/at\", [\n // TODO: We should introduce overloaded instance methods definition\n // Before that is implemented, the `esnext.string.at` must be the first\n // In pure mode, the provider resolves the descriptor as a \"pure\" `esnext.string.at`\n // and treats the compat-data of `esnext.string.at` as the compat-data of\n // pure import `instance/at`. The first polyfill here should have the lowest corejs\n // supported versions.\n \"esnext.string.at\", \"es.string.at-alternative\", \"es.array.at\"]),\n anchor: define(null, [\"es.string.anchor\"]),\n big: define(null, [\"es.string.big\"]),\n bind: define(\"instance/bind\", [\"es.function.bind\"]),\n blink: define(null, [\"es.string.blink\"]),\n bold: define(null, [\"es.string.bold\"]),\n codePointAt: define(\"instance/code-point-at\", [\"es.string.code-point-at\"]),\n codePoints: define(\"instance/code-points\", [\"esnext.string.code-points\"]),\n concat: define(\"instance/concat\", [\"es.array.concat\"], undefined, [\"String\"]),\n copyWithin: define(\"instance/copy-within\", [\"es.array.copy-within\"]),\n demethodize: define(\"instance/demethodize\", [\"esnext.function.demethodize\"]),\n description: define(null, [\"es.symbol\", \"es.symbol.description\"]),\n dotAll: define(null, [\"es.regexp.dot-all\"]),\n drop: define(\"instance/drop\", [\"esnext.async-iterator.drop\", ...AsyncIteratorDependencies, \"esnext.iterator.drop\", ...IteratorDependencies]),\n emplace: define(\"instance/emplace\", [\"esnext.map.emplace\", \"esnext.weak-map.emplace\"]),\n endsWith: define(\"instance/ends-with\", [\"es.string.ends-with\"]),\n entries: define(\"instance/entries\", ArrayNatureIteratorsWithTag),\n every: define(\"instance/every\", [\"es.array.every\", \"esnext.async-iterator.every\",\n // TODO: add async iterator dependencies when we support sub-dependencies\n // esnext.async-iterator.every depends on es.promise\n // but we don't want to pull es.promise when esnext.async-iterator is disabled\n //\n // ...AsyncIteratorDependencies\n \"esnext.iterator.every\", ...IteratorDependencies]),\n exec: define(null, [\"es.regexp.exec\"]),\n fill: define(\"instance/fill\", [\"es.array.fill\"]),\n filter: define(\"instance/filter\", [\"es.array.filter\", \"esnext.async-iterator.filter\", \"esnext.iterator.filter\", ...IteratorDependencies]),\n filterReject: define(\"instance/filterReject\", [\"esnext.array.filter-reject\"]),\n finally: define(null, [\"es.promise.finally\", ...PromiseDependencies]),\n find: define(\"instance/find\", [\"es.array.find\", \"esnext.async-iterator.find\", \"esnext.iterator.find\", ...IteratorDependencies]),\n findIndex: define(\"instance/find-index\", [\"es.array.find-index\"]),\n findLast: define(\"instance/find-last\", [\"es.array.find-last\"]),\n findLastIndex: define(\"instance/find-last-index\", [\"es.array.find-last-index\"]),\n fixed: define(null, [\"es.string.fixed\"]),\n flags: define(\"instance/flags\", [\"es.regexp.flags\"]),\n flatMap: define(\"instance/flat-map\", [\"es.array.flat-map\", \"es.array.unscopables.flat-map\", \"esnext.async-iterator.flat-map\", \"esnext.iterator.flat-map\", ...IteratorDependencies]),\n flat: define(\"instance/flat\", [\"es.array.flat\", \"es.array.unscopables.flat\"]),\n getYear: define(null, [\"es.date.get-year\"]),\n group: define(\"instance/group\", [\"esnext.array.group\"]),\n groupBy: define(\"instance/group-by\", [\"esnext.array.group-by\"]),\n groupByToMap: define(\"instance/group-by-to-map\", [\"esnext.array.group-by-to-map\", \"es.map\", \"es.object.to-string\"]),\n groupToMap: define(\"instance/group-to-map\", [\"esnext.array.group-to-map\", \"es.map\", \"es.object.to-string\"]),\n fontcolor: define(null, [\"es.string.fontcolor\"]),\n fontsize: define(null, [\"es.string.fontsize\"]),\n forEach: define(\"instance/for-each\", [\"es.array.for-each\", \"esnext.async-iterator.for-each\", \"esnext.iterator.for-each\", ...IteratorDependencies, \"web.dom-collections.for-each\"]),\n includes: define(\"instance/includes\", [\"es.array.includes\", \"es.string.includes\"]),\n indexed: define(\"instance/indexed\", [\"esnext.async-iterator.indexed\", ...AsyncIteratorDependencies, \"esnext.iterator.indexed\", ...IteratorDependencies]),\n indexOf: define(\"instance/index-of\", [\"es.array.index-of\"]),\n isWellFormed: define(\"instance/is-well-formed\", [\"es.string.is-well-formed\"]),\n italic: define(null, [\"es.string.italics\"]),\n join: define(null, [\"es.array.join\"]),\n keys: define(\"instance/keys\", ArrayNatureIteratorsWithTag),\n lastIndex: define(null, [\"esnext.array.last-index\"]),\n lastIndexOf: define(\"instance/last-index-of\", [\"es.array.last-index-of\"]),\n lastItem: define(null, [\"esnext.array.last-item\"]),\n link: define(null, [\"es.string.link\"]),\n map: define(\"instance/map\", [\"es.array.map\", \"esnext.async-iterator.map\", \"esnext.iterator.map\"]),\n match: define(null, [\"es.string.match\", \"es.regexp.exec\"]),\n matchAll: define(\"instance/match-all\", [\"es.string.match-all\", \"es.regexp.exec\"]),\n name: define(null, [\"es.function.name\"]),\n padEnd: define(\"instance/pad-end\", [\"es.string.pad-end\"]),\n padStart: define(\"instance/pad-start\", [\"es.string.pad-start\"]),\n push: define(\"instance/push\", [\"es.array.push\"]),\n reduce: define(\"instance/reduce\", [\"es.array.reduce\", \"esnext.async-iterator.reduce\", \"esnext.iterator.reduce\", ...IteratorDependencies]),\n reduceRight: define(\"instance/reduce-right\", [\"es.array.reduce-right\"]),\n repeat: define(\"instance/repeat\", [\"es.string.repeat\"]),\n replace: define(null, [\"es.string.replace\", \"es.regexp.exec\"]),\n replaceAll: define(\"instance/replace-all\", [\"es.string.replace-all\", \"es.string.replace\", \"es.regexp.exec\"]),\n reverse: define(\"instance/reverse\", [\"es.array.reverse\"]),\n search: define(null, [\"es.string.search\", \"es.regexp.exec\"]),\n setYear: define(null, [\"es.date.set-year\"]),\n slice: define(\"instance/slice\", [\"es.array.slice\"]),\n small: define(null, [\"es.string.small\"]),\n some: define(\"instance/some\", [\"es.array.some\", \"esnext.async-iterator.some\", \"esnext.iterator.some\", ...IteratorDependencies]),\n sort: define(\"instance/sort\", [\"es.array.sort\"]),\n splice: define(\"instance/splice\", [\"es.array.splice\"]),\n split: define(null, [\"es.string.split\", \"es.regexp.exec\"]),\n startsWith: define(\"instance/starts-with\", [\"es.string.starts-with\"]),\n sticky: define(null, [\"es.regexp.sticky\"]),\n strike: define(null, [\"es.string.strike\"]),\n sub: define(null, [\"es.string.sub\"]),\n substr: define(null, [\"es.string.substr\"]),\n sup: define(null, [\"es.string.sup\"]),\n take: define(\"instance/take\", [\"esnext.async-iterator.take\", ...AsyncIteratorDependencies, \"esnext.iterator.take\", ...IteratorDependencies]),\n test: define(null, [\"es.regexp.test\", \"es.regexp.exec\"]),\n toArray: define(\"instance/to-array\", [\"esnext.async-iterator.to-array\", ...AsyncIteratorDependencies, \"esnext.iterator.to-array\", ...IteratorDependencies]),\n toAsync: define(null, [\"esnext.iterator.to-async\", ...IteratorDependencies, ...AsyncIteratorDependencies, ...AsyncIteratorProblemMethods]),\n toExponential: define(null, [\"es.number.to-exponential\"]),\n toFixed: define(null, [\"es.number.to-fixed\"]),\n toGMTString: define(null, [\"es.date.to-gmt-string\"]),\n toISOString: define(null, [\"es.date.to-iso-string\"]),\n toJSON: define(null, [\"es.date.to-json\", \"web.url.to-json\"]),\n toPrecision: define(null, [\"es.number.to-precision\"]),\n toReversed: define(\"instance/to-reversed\", [\"es.array.to-reversed\"]),\n toSorted: define(\"instance/to-sorted\", [\"es.array.to-sorted\", \"es.array.sort\"]),\n toSpliced: define(\"instance/to-spliced\", [\"es.array.to-spliced\"]),\n toString: define(null, [\"es.object.to-string\", \"es.error.to-string\", \"es.date.to-string\", \"es.regexp.to-string\"]),\n toWellFormed: define(\"instance/to-well-formed\", [\"es.string.to-well-formed\"]),\n trim: define(\"instance/trim\", [\"es.string.trim\"]),\n trimEnd: define(\"instance/trim-end\", [\"es.string.trim-end\"]),\n trimLeft: define(\"instance/trim-left\", [\"es.string.trim-start\"]),\n trimRight: define(\"instance/trim-right\", [\"es.string.trim-end\"]),\n trimStart: define(\"instance/trim-start\", [\"es.string.trim-start\"]),\n uniqueBy: define(\"instance/unique-by\", [\"esnext.array.unique-by\", \"es.map\"]),\n unshift: define(\"instance/unshift\", [\"es.array.unshift\"]),\n unThis: define(\"instance/un-this\", [\"esnext.function.un-this\"]),\n values: define(\"instance/values\", ArrayNatureIteratorsWithTag),\n with: define(\"instance/with\", [\"es.array.with\"]),\n __defineGetter__: define(null, [\"es.object.define-getter\"]),\n __defineSetter__: define(null, [\"es.object.define-setter\"]),\n __lookupGetter__: define(null, [\"es.object.lookup-getter\"]),\n __lookupSetter__: define(null, [\"es.object.lookup-setter\"]),\n [\"__proto__\"]: define(null, [\"es.object.proto\"])\n};\n\nconst {\n types: t$2\n} = _babel.default || _babel;\nfunction canSkipPolyfill(desc, path) {\n const {\n node,\n parent\n } = path;\n switch (desc.name) {\n case \"es.string.split\":\n {\n if (!t$2.isCallExpression(parent, {\n callee: node\n })) return false;\n if (parent.arguments.length < 1) return true;\n const splitter = parent.arguments[0];\n return t$2.isStringLiteral(splitter) || t$2.isTemplateLiteral(splitter);\n }\n }\n}\n\nconst {\n types: t$1\n} = _babel.default || _babel;\nconst BABEL_RUNTIME = \"@babel/runtime-corejs3\";\nfunction callMethod(path, id) {\n const {\n object\n } = path.node;\n let context1, context2;\n if (t$1.isIdentifier(object)) {\n context1 = object;\n context2 = t$1.cloneNode(object);\n } else {\n context1 = path.scope.generateDeclaredUidIdentifier(\"context\");\n context2 = t$1.assignmentExpression(\"=\", t$1.cloneNode(context1), object);\n }\n path.replaceWith(t$1.memberExpression(t$1.callExpression(id, [context2]), t$1.identifier(\"call\")));\n path.parentPath.unshiftContainer(\"arguments\", context1);\n}\nfunction isCoreJSSource(source) {\n if (typeof source === \"string\") {\n source = source.replace(/\\\\/g, \"/\").replace(/(\\/(index)?)?(\\.js)?$/i, \"\").toLowerCase();\n }\n return Object.prototype.hasOwnProperty.call(corejsEntries, source) && corejsEntries[source];\n}\nfunction coreJSModule(name) {\n return `core-js/modules/${name}.js`;\n}\nfunction coreJSPureHelper(name, useBabelRuntime, ext) {\n return useBabelRuntime ? `${BABEL_RUNTIME}/core-js/${name}${ext}` : `core-js-pure/features/${name}.js`;\n}\n\nconst {\n types: t\n} = _babel.default || _babel;\nconst presetEnvCompat = \"#__secret_key__@babel/preset-env__compatibility\";\nconst runtimeCompat = \"#__secret_key__@babel/runtime__compatibility\";\nconst uniqueObjects = [\"array\", \"string\", \"iterator\", \"async-iterator\", \"dom-collections\"].map(v => new RegExp(`[a-z]*\\\\.${v}\\\\..*`));\nconst esnextFallback = (name, cb) => {\n if (cb(name)) return true;\n if (!name.startsWith(\"es.\")) return false;\n const fallback = `esnext.${name.slice(3)}`;\n if (!corejs3Polyfills[fallback]) return false;\n return cb(fallback);\n};\nvar index = defineProvider(function ({\n getUtils,\n method,\n shouldInjectPolyfill,\n createMetaResolver,\n debug,\n babel\n}, {\n version = 3,\n proposals,\n shippedProposals,\n [presetEnvCompat]: {\n noRuntimeName = false\n } = {},\n [runtimeCompat]: {\n useBabelRuntime = false,\n ext = \".js\"\n } = {}\n}) {\n const isWebpack = babel.caller(caller => (caller == null ? void 0 : caller.name) === \"babel-loader\");\n const resolve = createMetaResolver({\n global: BuiltIns,\n static: StaticProperties,\n instance: InstanceProperties\n });\n const available = new Set(getModulesListForTargetVersion(version));\n function getCoreJSPureBase(useProposalBase) {\n return useBabelRuntime ? useProposalBase ? `${BABEL_RUNTIME}/core-js` : `${BABEL_RUNTIME}/core-js-stable` : useProposalBase ? \"core-js-pure/features\" : \"core-js-pure/stable\";\n }\n function maybeInjectGlobalImpl(name, utils) {\n if (shouldInjectPolyfill(name)) {\n debug(name);\n utils.injectGlobalImport(coreJSModule(name));\n return true;\n }\n return false;\n }\n function maybeInjectGlobal(names, utils, fallback = true) {\n for (const name of names) {\n if (fallback) {\n esnextFallback(name, name => maybeInjectGlobalImpl(name, utils));\n } else {\n maybeInjectGlobalImpl(name, utils);\n }\n }\n }\n function maybeInjectPure(desc, hint, utils, object) {\n if (desc.pure && !(object && desc.exclude && desc.exclude.includes(object)) && esnextFallback(desc.name, shouldInjectPolyfill)) {\n const {\n name\n } = desc;\n let useProposalBase = false;\n if (proposals || shippedProposals && name.startsWith(\"esnext.\")) {\n useProposalBase = true;\n } else if (name.startsWith(\"es.\") && !available.has(name)) {\n useProposalBase = true;\n }\n const coreJSPureBase = getCoreJSPureBase(useProposalBase);\n return utils.injectDefaultImport(`${coreJSPureBase}/${desc.pure}${ext}`, hint);\n }\n }\n function isFeatureStable(name) {\n if (name.startsWith(\"esnext.\")) {\n const esName = `es.${name.slice(7)}`;\n // If its imaginative esName is not in latest compat data, it means\n // the proposal is not stage 4\n return esName in corejs3Polyfills;\n }\n return true;\n }\n return {\n name: \"corejs3\",\n runtimeName: noRuntimeName ? null : BABEL_RUNTIME,\n polyfills: corejs3Polyfills,\n filterPolyfills(name) {\n if (!available.has(name)) return false;\n if (proposals || method === \"entry-global\") return true;\n if (shippedProposals && corejs3ShippedProposalsList.has(name)) {\n return true;\n }\n return isFeatureStable(name);\n },\n entryGlobal(meta, utils, path) {\n if (meta.kind !== \"import\") return;\n const modules = isCoreJSSource(meta.source);\n if (!modules) return;\n if (modules.length === 1 && meta.source === coreJSModule(modules[0]) && shouldInjectPolyfill(modules[0])) {\n // Avoid infinite loop: do not replace imports with a new copy of\n // themselves.\n debug(null);\n return;\n }\n const modulesSet = new Set(modules);\n const filteredModules = modules.filter(module => {\n if (!module.startsWith(\"esnext.\")) return true;\n const stable = module.replace(\"esnext.\", \"es.\");\n if (modulesSet.has(stable) && shouldInjectPolyfill(stable)) {\n return false;\n }\n return true;\n });\n maybeInjectGlobal(filteredModules, utils, false);\n path.remove();\n },\n usageGlobal(meta, utils, path) {\n const resolved = resolve(meta);\n if (!resolved) return;\n if (canSkipPolyfill(resolved.desc, path)) return;\n let deps = resolved.desc.global;\n if (resolved.kind !== \"global\" && \"object\" in meta && meta.object && meta.placement === \"prototype\") {\n const low = meta.object.toLowerCase();\n deps = deps.filter(m => uniqueObjects.some(v => v.test(m)) ? m.includes(low) : true);\n }\n maybeInjectGlobal(deps, utils);\n },\n usagePure(meta, utils, path) {\n if (meta.kind === \"in\") {\n if (meta.key === \"Symbol.iterator\") {\n path.replaceWith(t.callExpression(utils.injectDefaultImport(coreJSPureHelper(\"is-iterable\", useBabelRuntime, ext), \"isIterable\"), [path.node.right] // meta.kind === \"in\" narrows this\n ));\n }\n\n return;\n }\n if (path.parentPath.isUnaryExpression({\n operator: \"delete\"\n })) return;\n if (meta.kind === \"property\") {\n // We can't compile destructuring and updateExpression.\n if (!path.isMemberExpression()) return;\n if (!path.isReferenced()) return;\n if (path.parentPath.isUpdateExpression()) return;\n if (t.isSuper(path.node.object)) {\n return;\n }\n if (meta.key === \"Symbol.iterator\") {\n if (!shouldInjectPolyfill(\"es.symbol.iterator\")) return;\n const {\n parent,\n node\n } = path;\n if (t.isCallExpression(parent, {\n callee: node\n })) {\n if (parent.arguments.length === 0) {\n path.parentPath.replaceWith(t.callExpression(utils.injectDefaultImport(coreJSPureHelper(\"get-iterator\", useBabelRuntime, ext), \"getIterator\"), [node.object]));\n path.skip();\n } else {\n callMethod(path, utils.injectDefaultImport(coreJSPureHelper(\"get-iterator-method\", useBabelRuntime, ext), \"getIteratorMethod\"));\n }\n } else {\n path.replaceWith(t.callExpression(utils.injectDefaultImport(coreJSPureHelper(\"get-iterator-method\", useBabelRuntime, ext), \"getIteratorMethod\"), [path.node.object]));\n }\n return;\n }\n }\n let resolved = resolve(meta);\n if (!resolved) return;\n if (canSkipPolyfill(resolved.desc, path)) return;\n if (useBabelRuntime && resolved.desc.pure && resolved.desc.pure.slice(-6) === \"/index\") {\n // Remove /index, since it doesn't exist in @babel/runtime-corejs3s\n resolved = {\n ...resolved,\n desc: {\n ...resolved.desc,\n pure: resolved.desc.pure.slice(0, -6)\n }\n };\n }\n if (resolved.kind === \"global\") {\n const id = maybeInjectPure(resolved.desc, resolved.name, utils);\n if (id) path.replaceWith(id);\n } else if (resolved.kind === \"static\") {\n const id = maybeInjectPure(resolved.desc, resolved.name, utils,\n // @ts-expect-error\n meta.object);\n if (id) path.replaceWith(id);\n } else if (resolved.kind === \"instance\") {\n const id = maybeInjectPure(resolved.desc, `${resolved.name}InstanceProperty`, utils,\n // @ts-expect-error\n meta.object);\n if (!id) return;\n const {\n node\n } = path;\n if (t.isCallExpression(path.parent, {\n callee: node\n })) {\n callMethod(path, id);\n } else {\n path.replaceWith(t.callExpression(id, [node.object]));\n }\n }\n },\n visitor: method === \"usage-global\" && {\n // import(\"foo\")\n CallExpression(path) {\n if (path.get(\"callee\").isImport()) {\n const utils = getUtils(path);\n if (isWebpack) {\n // Webpack uses Promise.all to handle dynamic import.\n maybeInjectGlobal(PromiseDependenciesWithIterators, utils);\n } else {\n maybeInjectGlobal(PromiseDependencies, utils);\n }\n }\n },\n // (async function () { }).finally(...)\n Function(path) {\n if (path.node.async) {\n maybeInjectGlobal(PromiseDependencies, getUtils(path));\n }\n },\n // for-of, [a, b] = c\n \"ForOfStatement|ArrayPattern\"(path) {\n maybeInjectGlobal(CommonIterators, getUtils(path));\n },\n // [...spread]\n SpreadElement(path) {\n if (!path.parentPath.isObjectExpression()) {\n maybeInjectGlobal(CommonIterators, getUtils(path));\n }\n },\n // yield*\n YieldExpression(path) {\n if (path.node.delegate) {\n maybeInjectGlobal(CommonIterators, getUtils(path));\n }\n }\n }\n };\n});\n\nexport default index;\n//# sourceMappingURL=index.mjs.map\n","import defineProvider from '@babel/helper-define-polyfill-provider';\n\nconst runtimeCompat = \"#__secret_key__@babel/runtime__compatibility\";\nvar index = defineProvider(({\n debug,\n targets,\n babel\n}, options) => {\n if (!shallowEqual(targets, babel.targets())) {\n throw new Error(\"This plugin does not use the targets option. Only preset-env's targets\" + \" or top-level targets need to be configured for this plugin to work.\" + \" See https://github.com/babel/babel-polyfills/issues/36 for more\" + \" details.\");\n }\n const {\n [runtimeCompat]: {\n useBabelRuntime = false\n } = {}\n } = options;\n return {\n name: \"regenerator\",\n polyfills: [\"regenerator-runtime\"],\n usageGlobal(meta, utils) {\n if (isRegenerator(meta)) {\n debug(\"regenerator-runtime\");\n utils.injectGlobalImport(\"regenerator-runtime/runtime.js\");\n }\n },\n usagePure(meta, utils, path) {\n if (isRegenerator(meta)) {\n let pureName = \"regenerator-runtime\";\n if (useBabelRuntime) {\n var _get;\n const runtimeName = (_get = path.hub.file.get(\"runtimeHelpersModuleName\")) != null ? _get : \"@babel/runtime\";\n pureName = `${runtimeName}/regenerator`;\n }\n path.replaceWith(utils.injectDefaultImport(pureName, \"regenerator-runtime\"));\n }\n }\n };\n});\nconst isRegenerator = meta => meta.kind === \"global\" && meta.name === \"regeneratorRuntime\";\nfunction shallowEqual(obj1, obj2) {\n return JSON.stringify(obj1) === JSON.stringify(obj2);\n}\n\nexport default index;\n//# sourceMappingURL=index.mjs.map\n","import semver, { type SemVer } from \"semver\";\nimport { logPlugin } from \"./debug.ts\";\nimport getOptionSpecificExcludesFor from \"./get-option-specific-excludes.ts\";\nimport {\n addProposalSyntaxPlugins,\n removeUnnecessaryItems,\n removeUnsupportedItems,\n} from \"./filter-items.ts\";\nimport moduleTransformations from \"./module-transformations.ts\";\nimport normalizeOptions from \"./normalize-options.ts\";\nimport {\n pluginSyntaxMap,\n proposalPlugins,\n proposalSyntaxPlugins,\n} from \"./shipped-proposals.ts\";\nimport {\n plugins as pluginsList,\n pluginsBugfixes as pluginsBugfixesList,\n overlappingPlugins,\n} from \"./plugins-compat-data.ts\";\n\nimport removeRegeneratorEntryPlugin from \"./polyfills/regenerator.ts\";\nimport legacyBabelPolyfillPlugin from \"./polyfills/babel-polyfill.ts\";\n\nimport type { CallerMetadata } from \"@babel/core\";\n\nimport _pluginCoreJS2 from \"babel-plugin-polyfill-corejs2\";\nimport _pluginCoreJS3 from \"babel-plugin-polyfill-corejs3\";\nimport _pluginRegenerator from \"babel-plugin-polyfill-regenerator\";\nconst pluginCoreJS2 = _pluginCoreJS2.default || _pluginCoreJS2;\nconst pluginCoreJS3 = _pluginCoreJS3.default || _pluginCoreJS3;\nconst pluginRegenerator = _pluginRegenerator.default || _pluginRegenerator;\n\nimport getTargets, {\n prettifyTargets,\n filterItems,\n isRequired,\n} from \"@babel/helper-compilation-targets\";\nimport type { Targets, InputTargets } from \"@babel/helper-compilation-targets\";\nimport availablePlugins from \"./available-plugins.ts\";\nimport { declarePreset } from \"@babel/helper-plugin-utils\";\n\ntype ModuleTransformationsType =\n typeof import(\"./module-transformations\").default;\nimport type { BuiltInsOption, ModuleOption, Options } from \"./types.ts\";\n\n// TODO: Remove in Babel 8\nexport function isPluginRequired(targets: Targets, support: Targets) {\n return isRequired(\"fake-name\", targets, {\n compatData: { \"fake-name\": support },\n });\n}\n\nfunction filterStageFromList(\n list: { [feature: string]: Targets },\n stageList: Set,\n) {\n return Object.keys(list).reduce((result, item) => {\n if (!stageList.has(item)) {\n // @ts-expect-error todo: refine result types\n result[item] = list[item];\n }\n\n return result;\n }, {});\n}\n\nconst pluginLists = {\n withProposals: {\n withoutBugfixes: pluginsList,\n withBugfixes: Object.assign({}, pluginsList, pluginsBugfixesList),\n },\n withoutProposals: {\n withoutBugfixes: filterStageFromList(pluginsList, proposalPlugins),\n withBugfixes: filterStageFromList(\n Object.assign({}, pluginsList, pluginsBugfixesList),\n proposalPlugins,\n ),\n },\n};\n\nfunction getPluginList(proposals: boolean, bugfixes: boolean) {\n if (proposals) {\n if (bugfixes) return pluginLists.withProposals.withBugfixes;\n else return pluginLists.withProposals.withoutBugfixes;\n } else {\n if (bugfixes) return pluginLists.withoutProposals.withBugfixes;\n else return pluginLists.withoutProposals.withoutBugfixes;\n }\n}\n\nconst getPlugin = (pluginName: string) => {\n const plugin =\n // @ts-expect-error plugin name is constructed from available plugin list\n availablePlugins[pluginName]();\n\n if (!plugin) {\n throw new Error(\n `Could not find plugin \"${pluginName}\". Ensure there is an entry in ./available-plugins.js for it.`,\n );\n }\n\n return plugin;\n};\n\nexport const transformIncludesAndExcludes = (opts: Array): any => {\n return opts.reduce(\n (result, opt) => {\n const target = opt.match(/^(es|es6|es7|esnext|web)\\./)\n ? \"builtIns\"\n : \"plugins\";\n result[target].add(opt);\n return result;\n },\n {\n all: opts,\n plugins: new Set(),\n builtIns: new Set(),\n },\n );\n};\n\nexport const getModulesPluginNames = ({\n modules,\n transformations,\n shouldTransformESM,\n shouldTransformDynamicImport,\n shouldTransformExportNamespaceFrom,\n}: {\n modules: ModuleOption;\n transformations: ModuleTransformationsType;\n shouldTransformESM: boolean;\n shouldTransformDynamicImport: boolean;\n shouldTransformExportNamespaceFrom: boolean;\n}) => {\n const modulesPluginNames = [];\n if (modules !== false && transformations[modules]) {\n if (shouldTransformESM) {\n modulesPluginNames.push(transformations[modules]);\n }\n\n if (shouldTransformDynamicImport) {\n if (shouldTransformESM && modules !== \"umd\") {\n modulesPluginNames.push(\"transform-dynamic-import\");\n } else {\n console.warn(\n \"Dynamic import can only be transformed when transforming ES\" +\n \" modules to AMD, CommonJS or SystemJS.\",\n );\n }\n }\n }\n\n if (shouldTransformExportNamespaceFrom) {\n modulesPluginNames.push(\"transform-export-namespace-from\");\n }\n\n if (!process.env.BABEL_8_BREAKING) {\n // Enable module-related syntax plugins for older Babel versions\n if (!shouldTransformDynamicImport) {\n modulesPluginNames.push(\"syntax-dynamic-import\");\n }\n if (!shouldTransformExportNamespaceFrom) {\n modulesPluginNames.push(\"syntax-export-namespace-from\");\n }\n modulesPluginNames.push(\"syntax-top-level-await\");\n modulesPluginNames.push(\"syntax-import-meta\");\n }\n\n return modulesPluginNames;\n};\n\nexport const getPolyfillPlugins = ({\n useBuiltIns,\n corejs,\n polyfillTargets,\n include,\n exclude,\n proposals,\n shippedProposals,\n regenerator,\n debug,\n}: {\n useBuiltIns: BuiltInsOption;\n corejs: SemVer | null | false;\n polyfillTargets: Targets;\n include: Set;\n exclude: Set;\n proposals: boolean;\n shippedProposals: boolean;\n regenerator: boolean;\n debug: boolean;\n}) => {\n const polyfillPlugins = [];\n if (useBuiltIns === \"usage\" || useBuiltIns === \"entry\") {\n const pluginOptions = {\n method: `${useBuiltIns}-global`,\n version: corejs ? corejs.toString() : undefined,\n targets: polyfillTargets,\n include,\n exclude,\n proposals,\n shippedProposals,\n debug,\n \"#__secret_key__@babel/preset-env__compatibility\": {\n noRuntimeName: true,\n },\n };\n\n if (corejs) {\n if (useBuiltIns === \"usage\") {\n if (corejs.major === 2) {\n polyfillPlugins.push(\n [pluginCoreJS2, pluginOptions],\n [legacyBabelPolyfillPlugin, { usage: true }],\n );\n } else {\n polyfillPlugins.push(\n [pluginCoreJS3, pluginOptions],\n [legacyBabelPolyfillPlugin, { usage: true, deprecated: true }],\n );\n }\n if (regenerator) {\n polyfillPlugins.push([\n pluginRegenerator,\n { method: \"usage-global\", debug },\n ]);\n }\n } else {\n if (corejs.major === 2) {\n polyfillPlugins.push(\n [legacyBabelPolyfillPlugin, { regenerator }],\n [pluginCoreJS2, pluginOptions],\n );\n } else {\n polyfillPlugins.push(\n [pluginCoreJS3, pluginOptions],\n [legacyBabelPolyfillPlugin, { deprecated: true }],\n );\n if (!regenerator) {\n polyfillPlugins.push([removeRegeneratorEntryPlugin, pluginOptions]);\n }\n }\n }\n }\n }\n return polyfillPlugins;\n};\n\nfunction getLocalTargets(\n optionsTargets: Options[\"targets\"],\n ignoreBrowserslistConfig: boolean,\n configPath: string,\n browserslistEnv: string,\n) {\n if (optionsTargets?.esmodules && optionsTargets.browsers) {\n console.warn(`\n@babel/preset-env: esmodules and browsers targets have been specified together.\n\\`browsers\\` target, \\`${optionsTargets.browsers.toString()}\\` will be ignored.\n`);\n }\n\n return getTargets(optionsTargets as InputTargets, {\n ignoreBrowserslistConfig,\n configPath,\n browserslistEnv,\n });\n}\n\nfunction supportsStaticESM(caller: CallerMetadata | undefined) {\n // @ts-expect-error supportsStaticESM is not defined in CallerMetadata\n return !!caller?.supportsStaticESM;\n}\n\nfunction supportsDynamicImport(caller: CallerMetadata | undefined) {\n // @ts-expect-error supportsDynamicImport is not defined in CallerMetadata\n return !!caller?.supportsDynamicImport;\n}\n\nfunction supportsExportNamespaceFrom(caller: CallerMetadata | undefined) {\n // @ts-expect-error supportsExportNamespaceFrom is not defined in CallerMetadata\n return !!caller?.supportsExportNamespaceFrom;\n}\n\nexport default declarePreset((api, opts: Options) => {\n api.assertVersion(7);\n\n const babelTargets = api.targets();\n\n const {\n bugfixes,\n configPath,\n debug,\n exclude: optionsExclude,\n forceAllTransforms,\n ignoreBrowserslistConfig,\n include: optionsInclude,\n loose,\n modules,\n shippedProposals,\n spec,\n targets: optionsTargets,\n useBuiltIns,\n corejs: { version: corejs, proposals },\n browserslistEnv,\n } = normalizeOptions(opts);\n\n let targets = babelTargets;\n\n if (\n // @babel/core < 7.13.0 doesn't load targets (api.targets() always\n // returns {} thanks to @babel/helper-plugin-utils), so we always want\n // to fallback to the old targets behavior in this case.\n semver.lt(api.version, \"7.13.0\") ||\n // If any browserslist-related option is specified, fallback to the old\n // behavior of not using the targets specified in the top-level options.\n opts.targets ||\n opts.configPath ||\n opts.browserslistEnv ||\n opts.ignoreBrowserslistConfig\n ) {\n if (!process.env.BABEL_8_BREAKING) {\n // eslint-disable-next-line no-var\n var hasUglifyTarget = false;\n\n if (optionsTargets?.uglify) {\n hasUglifyTarget = true;\n delete optionsTargets.uglify;\n\n console.warn(`\nThe uglify target has been deprecated. Set the top level\noption \\`forceAllTransforms: true\\` instead.\n`);\n }\n }\n\n targets = getLocalTargets(\n optionsTargets,\n ignoreBrowserslistConfig,\n configPath,\n browserslistEnv,\n );\n }\n\n const transformTargets = (\n process.env.BABEL_8_BREAKING\n ? forceAllTransforms\n : forceAllTransforms || hasUglifyTarget\n )\n ? ({} as Targets)\n : targets;\n\n const include = transformIncludesAndExcludes(optionsInclude);\n const exclude = transformIncludesAndExcludes(optionsExclude);\n\n const compatData = getPluginList(shippedProposals, bugfixes);\n const shouldSkipExportNamespaceFrom =\n (modules === \"auto\" && api.caller?.(supportsExportNamespaceFrom)) ||\n (modules === false &&\n !isRequired(\"transform-export-namespace-from\", transformTargets, {\n compatData,\n includes: include.plugins,\n excludes: exclude.plugins,\n }));\n const modulesPluginNames = getModulesPluginNames({\n modules,\n transformations: moduleTransformations,\n // TODO: Remove the 'api.caller' check eventually. Just here to prevent\n // unnecessary breakage in the short term for users on older betas/RCs.\n shouldTransformESM: modules !== \"auto\" || !api.caller?.(supportsStaticESM),\n shouldTransformDynamicImport:\n modules !== \"auto\" || !api.caller?.(supportsDynamicImport),\n shouldTransformExportNamespaceFrom: !shouldSkipExportNamespaceFrom,\n });\n\n const pluginNames = filterItems(\n compatData,\n include.plugins,\n exclude.plugins,\n transformTargets,\n modulesPluginNames,\n getOptionSpecificExcludesFor({ loose }),\n pluginSyntaxMap,\n );\n if (shippedProposals) {\n addProposalSyntaxPlugins(pluginNames, proposalSyntaxPlugins);\n }\n removeUnsupportedItems(pluginNames, api.version);\n removeUnnecessaryItems(pluginNames, overlappingPlugins);\n\n const polyfillPlugins = getPolyfillPlugins({\n useBuiltIns,\n corejs,\n polyfillTargets: targets,\n include: include.builtIns,\n exclude: exclude.builtIns,\n proposals,\n shippedProposals,\n regenerator: pluginNames.has(\"transform-regenerator\"),\n debug,\n });\n\n const pluginUseBuiltIns = useBuiltIns !== false;\n const plugins = Array.from(pluginNames)\n .map(pluginName => {\n if (\n pluginName === \"transform-class-properties\" ||\n pluginName === \"transform-private-methods\" ||\n pluginName === \"transform-private-property-in-object\"\n ) {\n return [\n getPlugin(pluginName),\n {\n loose: loose\n ? \"#__internal__@babel/preset-env__prefer-true-but-false-is-ok-if-it-prevents-an-error\"\n : \"#__internal__@babel/preset-env__prefer-false-but-true-is-ok-if-it-prevents-an-error\",\n },\n ];\n }\n if (pluginName === \"syntax-import-attributes\") {\n // For backward compatibility with the import-assertions plugin, we\n // allow the deprecated `assert` keyword.\n // TODO(Babel 8): Revisit this.\n return [getPlugin(pluginName), { deprecatedAssertSyntax: true }];\n }\n return [\n getPlugin(pluginName),\n { spec, loose, useBuiltIns: pluginUseBuiltIns },\n ];\n })\n .concat(polyfillPlugins);\n\n if (debug) {\n console.log(\"@babel/preset-env: `DEBUG` option\");\n console.log(\"\\nUsing targets:\");\n console.log(JSON.stringify(prettifyTargets(targets), null, 2));\n console.log(`\\nUsing modules transform: ${modules.toString()}`);\n console.log(\"\\nUsing plugins:\");\n pluginNames.forEach(pluginName => {\n logPlugin(pluginName, targets, compatData);\n });\n\n if (!useBuiltIns) {\n console.log(\n \"\\nUsing polyfills: No polyfills were added, since the `useBuiltIns` option was not set.\",\n );\n }\n }\n\n return { plugins };\n});\n","import { OptionValidator } from \"@babel/helper-validator-option\";\nconst v = new OptionValidator(\"@babel/preset-flow\");\n\nexport default function normalizeOptions(options: any = {}) {\n let { all, ignoreExtensions } = options;\n const { allowDeclareFields } = options;\n\n if (process.env.BABEL_8_BREAKING) {\n v.invariant(\n !(\"allowDeclareFields\" in options),\n `Since Babel 8, \\`declare property: A\\` is always supported, and the \"allowDeclareFields\" option is no longer available. Please remove it from your config.`,\n );\n const TopLevelOptions = {\n all: \"all\",\n ignoreExtensions: \"ignoreExtensions\",\n };\n v.validateTopLevelOptions(options, TopLevelOptions);\n all = v.validateBooleanOption(TopLevelOptions.all, all);\n ignoreExtensions = v.validateBooleanOption(\n TopLevelOptions.ignoreExtensions,\n ignoreExtensions,\n );\n return { all, ignoreExtensions };\n } else {\n return {\n all,\n allowDeclareFields,\n ignoreExtensions,\n };\n }\n}\n","import { declarePreset } from \"@babel/helper-plugin-utils\";\nimport transformFlowStripTypes from \"@babel/plugin-transform-flow-strip-types\";\nimport normalizeOptions from \"./normalize-options.ts\";\n\nexport default declarePreset((api, opts) => {\n api.assertVersion(7);\n const {\n all,\n allowDeclareFields,\n ignoreExtensions = false,\n } = normalizeOptions(opts);\n\n const flowPlugin = [transformFlowStripTypes, { all, allowDeclareFields }];\n\n // TODO: In Babel 7, ignoreExtensions is always true.\n // Allow setting it to false in the next minor.\n if (process.env.BABEL_8_BREAKING ? ignoreExtensions : true) {\n return { plugins: [flowPlugin] };\n }\n\n if (process.env.BABEL_8_BREAKING) {\n return {\n overrides: [\n {\n test: filename => filename == null || !/\\.tsx?$/.test(filename),\n plugins: [flowPlugin],\n },\n ],\n };\n } else {\n // unreachable\n }\n});\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport annotateAsPure from \"@babel/helper-annotate-as-pure\";\nimport { types as t } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\n\n// Mapping of React top-level methods that are pure.\n// This plugin adds a /*#__PURE__#/ annotation to calls to these methods,\n// so that terser and other minifiers can safely remove them during dead\n// code elimination.\n// See https://reactjs.org/docs/react-api.html\nconst PURE_CALLS: [string, Set][] = [\n [\n \"react\",\n new Set([\n \"cloneElement\",\n \"createContext\",\n \"createElement\",\n \"createFactory\",\n \"createRef\",\n \"forwardRef\",\n \"isValidElement\",\n \"memo\",\n \"lazy\",\n ]),\n ],\n [\"react-dom\", new Set([\"createPortal\"])],\n];\n\nexport default declare(api => {\n api.assertVersion(7);\n\n return {\n name: \"transform-react-pure-annotations\",\n visitor: {\n CallExpression(path) {\n if (isReactCall(path)) {\n annotateAsPure(path);\n }\n },\n },\n };\n});\n\nfunction isReactCall(path: NodePath) {\n // If the callee is not a member expression, then check if it matches\n // a named import, e.g. `import {forwardRef} from 'react'`.\n const calleePath = path.get(\"callee\");\n if (!calleePath.isMemberExpression()) {\n for (const [module, methods] of PURE_CALLS) {\n for (const method of methods) {\n if (calleePath.referencesImport(module, method)) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n // Otherwise, check if the member expression's object matches\n // a default import (`import React from 'react'`) or namespace\n // import (`import * as React from 'react'), and check if the\n // property matches one of the pure methods.\n const object = calleePath.get(\"object\");\n const callee = calleePath.node;\n if (!callee.computed && t.isIdentifier(callee.property)) {\n const propertyName = callee.property.name;\n for (const [module, methods] of PURE_CALLS) {\n if (\n object.referencesImport(module, \"default\") ||\n object.referencesImport(module, \"*\")\n ) {\n return methods.has(propertyName);\n }\n }\n }\n\n return false;\n}\n","import {\n OptionValidator,\n findSuggestion,\n} from \"@babel/helper-validator-option\";\nconst v = new OptionValidator(\"@babel/preset-react\");\n\nexport default function normalizeOptions(options: any = {}) {\n if (process.env.BABEL_8_BREAKING) {\n if (\"useSpread\" in options) {\n throw new Error(\n '@babel/preset-react: Since Babel 8, an inline object with spread elements is always used, and the \"useSpread\" option is no longer available. Please remove it from your config.',\n );\n }\n\n if (\"useBuiltIns\" in options) {\n const useBuiltInsFormatted = JSON.stringify(options.useBuiltIns);\n throw new Error(\n `@babel/preset-react: Since \"useBuiltIns\" is removed in Babel 8, you can remove it from the config.\n- Babel 8 now transforms JSX spread to object spread. If you need to transpile object spread with\n\\`useBuiltIns: ${useBuiltInsFormatted}\\`, you can use the following config\n{\n \"plugins\": [\n [\"@babel/plugin-transform-object-rest-spread\", { \"loose\": true, \"useBuiltIns\": ${useBuiltInsFormatted} }]\n ],\n \"presets\": [\"@babel/preset-react\"]\n}`,\n );\n }\n\n const TopLevelOptions = {\n development: \"development\",\n importSource: \"importSource\",\n pragma: \"pragma\",\n pragmaFrag: \"pragmaFrag\",\n pure: \"pure\",\n runtime: \"runtime\",\n throwIfNamespace: \"throwIfNamespace\",\n };\n v.validateTopLevelOptions(options, TopLevelOptions);\n const development = v.validateBooleanOption(\n TopLevelOptions.development,\n options.development,\n false,\n );\n let importSource = v.validateStringOption(\n TopLevelOptions.importSource,\n options.importSource,\n );\n let pragma = v.validateStringOption(TopLevelOptions.pragma, options.pragma);\n let pragmaFrag = v.validateStringOption(\n TopLevelOptions.pragmaFrag,\n options.pragmaFrag,\n );\n const pure = v.validateBooleanOption(TopLevelOptions.pure, options.pure);\n const runtime = v.validateStringOption(\n TopLevelOptions.runtime,\n options.runtime,\n \"automatic\",\n );\n const throwIfNamespace = v.validateBooleanOption(\n TopLevelOptions.throwIfNamespace,\n options.throwIfNamespace,\n true,\n );\n\n const validRuntime = [\"classic\", \"automatic\"];\n\n if (runtime === \"classic\") {\n pragma = pragma || \"React.createElement\";\n pragmaFrag = pragmaFrag || \"React.Fragment\";\n } else if (runtime === \"automatic\") {\n importSource = importSource || \"react\";\n } else {\n throw new Error(\n `@babel/preset-react: 'runtime' must be one of ['automatic', 'classic'] but we have '${runtime}'\\n` +\n `- Did you mean '${findSuggestion(runtime, validRuntime)}'?`,\n );\n }\n\n return {\n development,\n importSource,\n pragma,\n pragmaFrag,\n pure,\n runtime,\n throwIfNamespace,\n };\n } else {\n let { pragma, pragmaFrag } = options;\n\n const {\n pure,\n throwIfNamespace = true,\n runtime = \"classic\",\n importSource,\n useBuiltIns,\n useSpread,\n } = options;\n\n if (runtime === \"classic\") {\n pragma = pragma || \"React.createElement\";\n pragmaFrag = pragmaFrag || \"React.Fragment\";\n }\n\n const development = !!options.development;\n\n return {\n development,\n importSource,\n pragma,\n pragmaFrag,\n pure,\n runtime,\n throwIfNamespace,\n useBuiltIns,\n useSpread,\n };\n }\n}\n","import { declarePreset } from \"@babel/helper-plugin-utils\";\nimport transformReactJSX from \"@babel/plugin-transform-react-jsx\";\nimport transformReactJSXDevelopment from \"@babel/plugin-transform-react-jsx-development\";\nimport transformReactDisplayName from \"@babel/plugin-transform-react-display-name\";\nimport transformReactPure from \"@babel/plugin-transform-react-pure-annotations\";\nimport normalizeOptions from \"./normalize-options.ts\";\n\nexport interface Options {\n development?: boolean;\n importSource?: string;\n pragma?: string;\n pragmaFrag?: string;\n pure?: string;\n runtime?: \"automatic\" | \"classic\";\n throwIfNamespace?: boolean;\n useBuiltIns?: boolean;\n useSpread?: boolean;\n}\n\nexport default declarePreset((api, opts: Options) => {\n api.assertVersion(7);\n\n const {\n development,\n importSource,\n pragma,\n pragmaFrag,\n pure,\n runtime,\n throwIfNamespace,\n } = normalizeOptions(opts);\n\n return {\n plugins: [\n [\n development ? transformReactJSXDevelopment : transformReactJSX,\n process.env.BABEL_8_BREAKING\n ? {\n importSource,\n pragma,\n pragmaFrag,\n runtime,\n throwIfNamespace,\n pure,\n }\n : {\n importSource,\n pragma,\n pragmaFrag,\n runtime,\n throwIfNamespace,\n pure,\n useBuiltIns: !!opts.useBuiltIns,\n useSpread: opts.useSpread,\n },\n ],\n transformReactDisplayName,\n pure !== false && transformReactPure,\n ].filter(Boolean),\n };\n});\n","import { OptionValidator } from \"@babel/helper-validator-option\";\nconst v = new OptionValidator(\"@babel/preset-typescript\");\n\nexport interface Options {\n ignoreExtensions?: boolean;\n allowDeclareFields?: boolean;\n allowNamespaces?: boolean;\n disallowAmbiguousJSXLike?: boolean;\n jsxPragma?: string;\n jsxPragmaFrag?: string;\n onlyRemoveTypeImports?: boolean;\n optimizeConstEnums?: boolean;\n rewriteImportExtensions?: boolean;\n\n // TODO: Remove in Babel 8\n allExtensions?: boolean;\n isTSX?: boolean;\n}\n\nexport default function normalizeOptions(options: Options = {}) {\n let { allowNamespaces = true, jsxPragma, onlyRemoveTypeImports } = options;\n\n const TopLevelOptions: {\n [Key in keyof Omit]-?: Key;\n } = {\n ignoreExtensions: \"ignoreExtensions\",\n allowNamespaces: \"allowNamespaces\",\n disallowAmbiguousJSXLike: \"disallowAmbiguousJSXLike\",\n jsxPragma: \"jsxPragma\",\n jsxPragmaFrag: \"jsxPragmaFrag\",\n onlyRemoveTypeImports: \"onlyRemoveTypeImports\",\n optimizeConstEnums: \"optimizeConstEnums\",\n rewriteImportExtensions: \"rewriteImportExtensions\",\n\n // TODO: Remove in Babel 8\n allExtensions: \"allExtensions\",\n isTSX: \"isTSX\",\n };\n\n if (process.env.BABEL_8_BREAKING) {\n v.invariant(\n !(\"allowDeclareFields\" in options),\n \"The .allowDeclareFields option has been removed and it's now always enabled. Please remove it from your config.\",\n );\n v.invariant(\n !(\"allExtensions\" in options) && !(\"isTSX\" in options),\n \"The .allExtensions and .isTSX options have been removed.\\n\" +\n \"If you want to disable JSX detection based on file extensions, \" +\n \"you can set the .ignoreExtensions option to true.\\n\" +\n \"If you want to force JSX parsing, you can enable the \" +\n \"@babel/plugin-syntax-jsx plugin.\",\n );\n\n v.validateTopLevelOptions(options, TopLevelOptions);\n allowNamespaces = v.validateBooleanOption(\n TopLevelOptions.allowNamespaces,\n options.allowNamespaces,\n true,\n );\n jsxPragma = v.validateStringOption(\n TopLevelOptions.jsxPragma,\n options.jsxPragma,\n \"React\",\n );\n onlyRemoveTypeImports = v.validateBooleanOption(\n TopLevelOptions.onlyRemoveTypeImports,\n options.onlyRemoveTypeImports,\n true,\n );\n }\n\n const jsxPragmaFrag = v.validateStringOption(\n TopLevelOptions.jsxPragmaFrag,\n options.jsxPragmaFrag,\n \"React.Fragment\",\n );\n\n if (!process.env.BABEL_8_BREAKING) {\n // eslint-disable-next-line no-var\n var allExtensions = v.validateBooleanOption(\n TopLevelOptions.allExtensions,\n options.allExtensions,\n false,\n );\n\n // eslint-disable-next-line no-var\n var isTSX = v.validateBooleanOption(\n TopLevelOptions.isTSX,\n options.isTSX,\n false,\n );\n if (isTSX) {\n v.invariant(allExtensions, \"isTSX:true requires allExtensions:true\");\n }\n }\n\n const ignoreExtensions = v.validateBooleanOption(\n TopLevelOptions.ignoreExtensions,\n options.ignoreExtensions,\n false,\n );\n\n const disallowAmbiguousJSXLike = v.validateBooleanOption(\n TopLevelOptions.disallowAmbiguousJSXLike,\n options.disallowAmbiguousJSXLike,\n false,\n );\n if (disallowAmbiguousJSXLike) {\n if (process.env.BABEL_8_BREAKING) {\n v.invariant(\n ignoreExtensions,\n \"disallowAmbiguousJSXLike:true requires ignoreExtensions:true\",\n );\n } else {\n v.invariant(\n allExtensions,\n \"disallowAmbiguousJSXLike:true requires allExtensions:true\",\n );\n }\n }\n\n const optimizeConstEnums = v.validateBooleanOption(\n TopLevelOptions.optimizeConstEnums,\n options.optimizeConstEnums,\n false,\n );\n\n const rewriteImportExtensions = v.validateBooleanOption(\n TopLevelOptions.rewriteImportExtensions,\n options.rewriteImportExtensions,\n false,\n );\n\n const normalized: Options = {\n ignoreExtensions,\n allowNamespaces,\n disallowAmbiguousJSXLike,\n jsxPragma,\n jsxPragmaFrag,\n onlyRemoveTypeImports,\n optimizeConstEnums,\n rewriteImportExtensions,\n };\n if (!process.env.BABEL_8_BREAKING) {\n normalized.allExtensions = allExtensions;\n normalized.isTSX = isTSX;\n }\n return normalized;\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport type { types as t } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\n\nexport default declare(function ({ types: t }) {\n return {\n name: \"preset-typescript/plugin-rewrite-ts-imports\",\n visitor: {\n \"ImportDeclaration|ExportAllDeclaration|ExportNamedDeclaration\"({\n node,\n }: NodePath<\n t.ImportDeclaration | t.ExportAllDeclaration | t.ExportNamedDeclaration\n >) {\n const { source } = node;\n const kind = t.isImportDeclaration(node)\n ? node.importKind\n : node.exportKind;\n if (kind === \"value\" && source && /[\\\\/]/.test(source.value)) {\n source.value = source.value.replace(/(\\.[mc]?)ts$/, \"$1js\");\n }\n },\n },\n };\n});\n","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of the React source tree.\n */\n\nconst scriptTypes = [\"text/jsx\", \"text/babel\"];\n\nimport type { transform } from \"./index.ts\";\nimport type { InputOptions } from \"@babel/core\";\n\nlet headEl: HTMLHeadElement;\nlet inlineScriptCount = 0;\n\ntype CompilationResult = {\n async: boolean;\n type: string;\n error: boolean;\n loaded: boolean;\n content: string | null;\n executed: boolean;\n // nonce is undefined in browsers that don't support the nonce global attribute\n nonce: string | undefined;\n // todo: refine plugins/presets\n plugins: InputOptions[\"plugins\"];\n presets: InputOptions[\"presets\"];\n url: string | null;\n};\n\n/**\n * Actually transform the code.\n */\nfunction transformCode(\n transformFn: typeof transform,\n script: CompilationResult,\n) {\n let source;\n if (script.url != null) {\n source = script.url;\n } else {\n source = \"Inline Babel script\";\n inlineScriptCount++;\n if (inlineScriptCount > 1) {\n source += \" (\" + inlineScriptCount + \")\";\n }\n }\n\n return transformFn(script.content, buildBabelOptions(script, source)).code;\n}\n\n/**\n * Builds the Babel options for transforming the specified script, using some\n * sensible default presets and plugins if none were explicitly provided.\n */\nfunction buildBabelOptions(script: CompilationResult, filename: string) {\n let presets = script.presets;\n if (!presets) {\n if (script.type === \"module\") {\n presets = [\n \"react\",\n [\n \"env\",\n {\n targets: {\n esmodules: true,\n },\n modules: false,\n },\n ],\n ];\n } else {\n presets = [\"react\", \"env\"];\n }\n }\n\n return {\n filename,\n presets,\n plugins: script.plugins || [\n \"transform-class-properties\",\n \"transform-object-rest-spread\",\n \"transform-flow-strip-types\",\n ],\n sourceMaps: \"inline\" as const,\n sourceFileName: filename,\n };\n}\n\n/**\n * Appends a script element at the end of the with the content of code,\n * after transforming it.\n */\nfunction run(transformFn: typeof transform, script: CompilationResult) {\n const scriptEl = document.createElement(\"script\");\n if (script.type) {\n scriptEl.setAttribute(\"type\", script.type);\n }\n if (script.nonce) {\n scriptEl.nonce = script.nonce;\n }\n scriptEl.text = transformCode(transformFn, script);\n headEl.appendChild(scriptEl);\n}\n\n/**\n * Load script from the provided url and pass the content to the callback.\n */\nfunction load(\n url: string,\n successCallback: (content: string) => void,\n errorCallback: () => void,\n) {\n const xhr = new XMLHttpRequest();\n\n // async, however scripts will be executed in the order they are in the\n // DOM to mirror normal script loading.\n xhr.open(\"GET\", url, true);\n if (\"overrideMimeType\" in xhr) {\n xhr.overrideMimeType(\"text/plain\");\n }\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status === 0 || xhr.status === 200) {\n successCallback(xhr.responseText);\n } else {\n errorCallback();\n throw new Error(\"Could not load \" + url);\n }\n }\n };\n xhr.send(null);\n}\n\n/**\n * Converts a comma-separated data attribute string into an array of values. If\n * the string is empty, returns an empty array. If the string is not defined,\n * returns null.\n */\nfunction getPluginsOrPresetsFromScript(\n script: HTMLScriptElement,\n attributeName: string,\n) {\n const rawValue = script.getAttribute(attributeName);\n if (rawValue === \"\") {\n // Empty string means to not load ANY presets or plugins\n return [];\n }\n if (!rawValue) {\n // Any other falsy value (null, undefined) means we're not overriding this\n // setting, and should use the default.\n return null;\n }\n return rawValue.split(\",\").map(item => item.trim());\n}\n\n/**\n * Loop over provided script tags and get the content, via innerHTML if an\n * inline script, or by using XHR. Transforms are applied if needed. The scripts\n * are executed in the order they are found on the page.\n */\nfunction loadScripts(\n transformFn: typeof transform,\n scripts: HTMLScriptElement[],\n) {\n const results: CompilationResult[] = [];\n const count = scripts.length;\n\n function check() {\n for (let i = 0; i < count; i++) {\n const result = results[i];\n\n if (result.loaded && !result.executed) {\n result.executed = true;\n run(transformFn, result);\n } else if (!result.loaded && !result.error && !result.async) {\n break;\n }\n }\n }\n\n for (let i = 0; i < count; i++) {\n const script = scripts[i];\n const result: CompilationResult = {\n // script.async is always true for non-JavaScript script tags\n async: script.hasAttribute(\"async\"),\n type: script.getAttribute(\"data-type\"),\n nonce: script.nonce,\n error: false,\n executed: false,\n plugins: getPluginsOrPresetsFromScript(script, \"data-plugins\"),\n presets: getPluginsOrPresetsFromScript(script, \"data-presets\"),\n loaded: false,\n url: null,\n content: null,\n };\n results.push(result);\n\n if (script.src) {\n result.url = script.src;\n\n load(\n script.src,\n content => {\n result.loaded = true;\n result.content = content;\n check();\n },\n () => {\n result.error = true;\n check();\n },\n );\n } else {\n result.url = script.getAttribute(\"data-module\") || null;\n result.loaded = true;\n result.content = script.innerHTML;\n }\n }\n\n check();\n}\n\n/**\n * Run script tags with type=\"text/jsx\".\n * @param {Array} scriptTags specify script tags to run, run all in the if not given\n */\nexport function runScripts(\n transformFn: typeof transform,\n scripts?: HTMLCollectionOf,\n) {\n headEl = document.getElementsByTagName(\"head\")[0];\n if (!scripts) {\n scripts = document.getElementsByTagName(\"script\");\n }\n\n // Array.prototype.slice cannot be used on NodeList on IE8\n const jsxScripts = [];\n for (let i = 0; i < scripts.length; i++) {\n const script = scripts.item(i);\n // Support the old type=\"text/jsx;harmony=true\"\n const type = script.type.split(\";\")[0];\n if (scriptTypes.indexOf(type) !== -1) {\n jsxScripts.push(script);\n }\n }\n\n if (jsxScripts.length === 0) {\n return;\n }\n\n console.warn(\n \"You are using the in-browser Babel transformer. Be sure to precompile \" +\n \"your scripts for production - https://babeljs.io/docs/setup/\",\n );\n\n loadScripts(transformFn, jsxScripts);\n}\n","import { declarePreset } from \"@babel/helper-plugin-utils\";\nimport transformTypeScript from \"@babel/plugin-transform-typescript\";\nimport syntaxJSX from \"@babel/plugin-syntax-jsx\";\nimport transformModulesCommonJS from \"@babel/plugin-transform-modules-commonjs\";\nimport normalizeOptions from \"./normalize-options.ts\";\nimport type { Options } from \"./normalize-options.ts\";\nimport pluginRewriteTSImports from \"./plugin-rewrite-ts-imports.ts\";\n\nexport default declarePreset((api, opts: Options) => {\n api.assertVersion(7);\n\n const {\n allExtensions,\n ignoreExtensions,\n allowNamespaces,\n disallowAmbiguousJSXLike,\n isTSX,\n jsxPragma,\n jsxPragmaFrag,\n onlyRemoveTypeImports,\n optimizeConstEnums,\n rewriteImportExtensions,\n } = normalizeOptions(opts);\n\n const pluginOptions = process.env.BABEL_8_BREAKING\n ? (disallowAmbiguousJSXLike: boolean) => ({\n allowNamespaces,\n disallowAmbiguousJSXLike,\n jsxPragma,\n jsxPragmaFrag,\n onlyRemoveTypeImports,\n optimizeConstEnums,\n })\n : (disallowAmbiguousJSXLike: boolean) => ({\n allowDeclareFields: opts.allowDeclareFields,\n allowNamespaces,\n disallowAmbiguousJSXLike,\n jsxPragma,\n jsxPragmaFrag,\n onlyRemoveTypeImports,\n optimizeConstEnums,\n });\n\n const getPlugins = (isTSX: boolean, disallowAmbiguousJSXLike: boolean) => {\n if (process.env.BABEL_8_BREAKING) {\n const tsPlugin = [\n transformTypeScript,\n pluginOptions(disallowAmbiguousJSXLike),\n ];\n return isTSX ? [tsPlugin, syntaxJSX] : [tsPlugin];\n } else {\n return [\n [\n transformTypeScript,\n { isTSX, ...pluginOptions(disallowAmbiguousJSXLike) },\n ],\n ];\n }\n };\n\n const disableExtensionDetect = allExtensions || ignoreExtensions;\n\n return {\n plugins: rewriteImportExtensions ? [pluginRewriteTSImports] : [],\n overrides: disableExtensionDetect\n ? [{ plugins: getPlugins(isTSX, disallowAmbiguousJSXLike) }]\n : // Only set 'test' if explicitly requested, since it requires that\n // Babel is being called with a filename.\n [\n {\n test: !process.env.BABEL_8_BREAKING\n ? /\\.ts$/\n : filename => filename == null || filename.endsWith(\".ts\"),\n plugins: getPlugins(false, false),\n },\n {\n test: !process.env.BABEL_8_BREAKING\n ? /\\.mts$/\n : filename => filename?.endsWith(\".mts\"),\n sourceType: \"module\",\n plugins: getPlugins(false, true),\n },\n {\n test: !process.env.BABEL_8_BREAKING\n ? /\\.cts$/\n : filename => filename?.endsWith(\".cts\"),\n sourceType: \"unambiguous\",\n plugins: [\n [transformModulesCommonJS, { allowTopLevelThis: true }],\n [transformTypeScript, pluginOptions(true)],\n ],\n },\n {\n test: !process.env.BABEL_8_BREAKING\n ? /\\.tsx$/\n : filename => filename?.endsWith(\".tsx\"),\n // disallowAmbiguousJSXLike is a no-op when parsing TSX, since it's\n // always disallowed.\n plugins: getPlugins(true, false),\n },\n ],\n };\n});\n","// TODO(Babel 8): This won't be needed anymore\n\n// prettier-ignore\nmodule.exports = {\n __proto__: null,\n \"transform-class-static-block\": \"proposal-class-static-block\",\n \"transform-private-property-in-object\": \"proposal-private-property-in-object\",\n \"transform-class-properties\": \"proposal-class-properties\",\n \"transform-private-methods\": \"proposal-private-methods\",\n \"transform-numeric-separator\": \"proposal-numeric-separator\",\n \"transform-logical-assignment-operators\": \"proposal-logical-assignment-operators\",\n \"transform-nullish-coalescing-operator\": \"proposal-nullish-coalescing-operator\",\n \"transform-optional-chaining\": \"proposal-optional-chaining\",\n \"transform-json-strings\": \"proposal-json-strings\",\n \"transform-optional-catch-binding\": \"proposal-optional-catch-binding\",\n \"transform-async-generator-functions\": \"proposal-async-generator-functions\",\n \"transform-object-rest-spread\": \"proposal-object-rest-spread\",\n \"transform-unicode-property-regex\": \"proposal-unicode-property-regex\",\n \"transform-export-namespace-from\": \"proposal-export-namespace-from\",\n};\n","/**\n * Entry point for @babel/standalone. This wraps Babel's API in a version that's\n * friendlier for use in web browsers. It removes the automagical detection of\n * plugins, instead explicitly registering all the available plugins and\n * presets, and requiring custom ones to be registered through `registerPlugin`\n * and `registerPreset` respectively.\n */\n\n/* global VERSION */\n/// \n\nimport {\n transformFromAstSync as babelTransformFromAstSync,\n transformSync as babelTransformSync,\n buildExternalHelpers as babelBuildExternalHelpers,\n type PluginObject,\n type PresetObject,\n} from \"@babel/core\";\nimport { all } from \"./generated/plugins.ts\";\nimport preset2015 from \"./preset-es2015.ts\";\nimport presetStage0 from \"./preset-stage-0.ts\";\nimport presetStage1 from \"./preset-stage-1.ts\";\nimport presetStage2 from \"./preset-stage-2.ts\";\nimport presetStage3 from \"./preset-stage-3.ts\";\nimport presetEnv from \"@babel/preset-env\";\nimport presetFlow from \"@babel/preset-flow\";\nimport presetReact from \"@babel/preset-react\";\nimport presetTypescript from \"@babel/preset-typescript\";\nimport type { InputOptions } from \"@babel/core\";\n\nimport { runScripts } from \"./transformScriptTags.ts\";\n\n// We import this file from another package using a relative path because it's\n// meant to just be build-time script; it's ok because @babel/standalone is\n// bundled anyway.\n// TODO: Remove this in Babel 8\n// @ts-expect-error TS complains about importing a JS file without type declarations\nimport legacyPluginAliases from \"../../babel-compat-data/scripts/data/legacy-plugin-aliases.js\";\n// eslint-disable-next-line guard-for-in\nfor (const name in legacyPluginAliases) {\n all[legacyPluginAliases[name]] = all[name];\n}\nall[\"proposal-unicode-sets-regex\"] = all[\"transform-unicode-sets-regex\"];\n\nexport const availablePlugins: typeof all = {};\n\n// All the plugins we should bundle\n// Want to get rid of this long list of allowed plugins?\n// Wait! Please read https://github.com/babel/babel/pull/6177 first.\nregisterPlugins(all);\n\n// All the presets we should bundle\n// Want to get rid of this list of allowed presets?\n// Wait! Please read https://github.com/babel/babel/pull/6177 first.\nexport const availablePresets = {\n env: presetEnv,\n es2015: preset2015,\n es2016: () => {\n return {\n plugins: [availablePlugins[\"transform-exponentiation-operator\"]],\n };\n },\n es2017: () => {\n return {\n plugins: [availablePlugins[\"transform-async-to-generator\"]],\n };\n },\n react: presetReact,\n \"stage-0\": presetStage0,\n \"stage-1\": presetStage1,\n \"stage-2\": presetStage2,\n \"stage-3\": presetStage3,\n \"es2015-loose\": {\n presets: [[preset2015, { loose: true }]],\n },\n // ES2015 preset with es2015-modules-commonjs removed\n \"es2015-no-commonjs\": {\n presets: [[preset2015, { modules: false }]],\n },\n typescript: presetTypescript,\n flow: presetFlow,\n};\n\nconst isArray =\n Array.isArray ||\n (arg => Object.prototype.toString.call(arg) === \"[object Array]\");\n\n/**\n * Loads the given name (or [name, options] pair) from the given table object\n * holding the available presets or plugins.\n *\n * Returns undefined if the preset or plugin is not available; passes through\n * name unmodified if it (or the first element of the pair) is not a string.\n */\nfunction loadBuiltin(builtinTable: Record, name: any) {\n if (isArray(name) && typeof name[0] === \"string\") {\n if (Object.prototype.hasOwnProperty.call(builtinTable, name[0])) {\n return [builtinTable[name[0]]].concat(name.slice(1));\n }\n return;\n } else if (typeof name === \"string\") {\n return builtinTable[name];\n }\n // Could be an actual preset/plugin module\n return name;\n}\n\n/**\n * Parses plugin names and presets from the specified options.\n */\nfunction processOptions(options: InputOptions) {\n // Parse preset names\n const presets = (options.presets || []).map(presetName => {\n const preset = loadBuiltin(availablePresets, presetName);\n\n if (preset) {\n // workaround for babel issue\n // at some point, babel copies the preset, losing the non-enumerable\n // buildPreset key; convert it into an enumerable key.\n if (\n isArray(preset) &&\n typeof preset[0] === \"object\" &&\n Object.prototype.hasOwnProperty.call(preset[0], \"buildPreset\")\n ) {\n preset[0] = { ...preset[0], buildPreset: preset[0].buildPreset };\n }\n } else {\n throw new Error(\n `Invalid preset specified in Babel options: \"${presetName}\"`,\n );\n }\n return preset;\n });\n\n // Parse plugin names\n const plugins = (options.plugins || []).map(pluginName => {\n const plugin = loadBuiltin(availablePlugins, pluginName);\n\n if (!plugin) {\n throw new Error(\n `Invalid plugin specified in Babel options: \"${pluginName}\"`,\n );\n }\n return plugin;\n });\n\n return {\n babelrc: false,\n ...options,\n presets,\n plugins,\n };\n}\n\nexport function transform(code: string, options: InputOptions) {\n return babelTransformSync(code, processOptions(options));\n}\n\nexport function transformFromAst(\n ast: Parameters[0],\n code: string,\n options: InputOptions,\n) {\n return babelTransformFromAstSync(ast, code, processOptions(options));\n}\n\nexport const buildExternalHelpers = babelBuildExternalHelpers;\n/**\n * Registers a named plugin for use with Babel.\n */\nexport function registerPlugin(name: string, plugin: () => PluginObject): void {\n if (Object.prototype.hasOwnProperty.call(availablePlugins, name)) {\n console.warn(\n `A plugin named \"${name}\" is already registered, it will be overridden`,\n );\n }\n availablePlugins[name] = plugin;\n}\n/**\n * Registers multiple plugins for use with Babel. `newPlugins` should be an object where the key\n * is the name of the plugin, and the value is the plugin itself.\n */\nexport function registerPlugins(newPlugins: {\n [x: string]: () => PluginObject;\n}): void {\n Object.keys(newPlugins).forEach(name =>\n registerPlugin(name, newPlugins[name]),\n );\n}\n\n/**\n * Registers a named preset for use with Babel.\n */\nexport function registerPreset(name: string, preset: () => PresetObject): void {\n if (Object.prototype.hasOwnProperty.call(availablePresets, name)) {\n if (name === \"env\") {\n console.warn(\n \"@babel/preset-env is now included in @babel/standalone, please remove @babel/preset-env-standalone\",\n );\n } else {\n console.warn(\n `A preset named \"${name}\" is already registered, it will be overridden`,\n );\n }\n }\n // @ts-expect-error mutating available presets\n availablePresets[name] = preset;\n}\n\n/**\n * Registers multiple presets for use with Babel. `newPresets` should be an object where the key\n * is the name of the preset, and the value is the preset itself.\n */\nexport function registerPresets(newPresets: {\n [x: string]: () => PresetObject;\n}): void {\n Object.keys(newPresets).forEach(name =>\n registerPreset(name, newPresets[name]),\n );\n}\n\n// @ts-expect-error VERSION is to be replaced by rollup\nexport const version: string = VERSION;\n\nfunction onDOMContentLoaded() {\n transformScriptTags();\n}\n\n// Listen for load event if we're in a browser and then kick off finding and\n// running of scripts with \"text/babel\" type.\nif (typeof window !== \"undefined\" && window?.addEventListener) {\n window.addEventListener(\"DOMContentLoaded\", onDOMContentLoaded, false);\n}\n\n/**\n * Transform \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code)\n buffer = ''\n return continuationRawEndTag\n }\n return continuation(code)\n }\n\n /**\n * In raw continuation, after ` | \n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function continuationRawEndTag(code) {\n if (code === 62) {\n const name = buffer.toLowerCase()\n if (htmlRawNames.includes(name)) {\n effects.consume(code)\n return continuationClose\n }\n return continuation(code)\n }\n if (asciiAlpha(code) && buffer.length < 8) {\n effects.consume(code)\n // @ts-expect-error: not null.\n buffer += String.fromCharCode(code)\n return continuationRawEndTag\n }\n return continuation(code)\n }\n\n /**\n * In cdata continuation, after `]`, expecting `]>`.\n *\n * ```markdown\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationCdataInside(code) {\n if (code === 93) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n return continuation(code)\n }\n\n /**\n * In declaration or instruction continuation, at `>`.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code)\n return continuationClose\n }\n\n // More dashes.\n if (code === 45 && marker === 2) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n return continuation(code)\n }\n\n /**\n * In closed continuation: everything we get until the eol/eof is part of it.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('htmlFlowData')\n return continuationAfter(code)\n }\n effects.consume(code)\n return continuationClose\n }\n\n /**\n * Done.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationAfter(code) {\n effects.exit('htmlFlow')\n // // Feel free to interrupt.\n // tokenizer.interrupt = false\n // // No longer concrete.\n // tokenizer.concrete = false\n return ok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuationStart(effects, ok, nok) {\n const self = this\n return start\n\n /**\n * At eol, before continuation.\n *\n * ```markdown\n * > | * ```js\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return after\n }\n return nok(code)\n }\n\n /**\n * A continuation.\n *\n * ```markdown\n * | * ```js\n * > | b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLineBefore(effects, ok, nok) {\n return start\n\n /**\n * Before eol, expecting blank line.\n *\n * ```markdown\n * > |
\n * ^\n * |\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return effects.attempt(blankLine, ok, nok)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n/** @type {Construct} */\nconst nonLazyContinuation = {\n tokenize: tokenizeNonLazyContinuation,\n partial: true\n}\n\n/** @type {Construct} */\nexport const codeFenced = {\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced,\n concrete: true\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeCodeFenced(effects, ok, nok) {\n const self = this\n /** @type {Construct} */\n const closeStart = {\n tokenize: tokenizeCloseStart,\n partial: true\n }\n let initialPrefix = 0\n let sizeOpen = 0\n /** @type {NonNullable} */\n let marker\n return start\n\n /**\n * Start of code.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: parse whitespace like `markdown-rs`.\n return beforeSequenceOpen(code)\n }\n\n /**\n * In opening fence, after prefix, at sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeSequenceOpen(code) {\n const tail = self.events[self.events.length - 1]\n initialPrefix =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n marker = code\n effects.enter('codeFenced')\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n return sequenceOpen(code)\n }\n\n /**\n * In opening fence sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === marker) {\n sizeOpen++\n effects.consume(code)\n return sequenceOpen\n }\n if (sizeOpen < 3) {\n return nok(code)\n }\n effects.exit('codeFencedFenceSequence')\n return markdownSpace(code)\n ? factorySpace(effects, infoBefore, 'whitespace')(code)\n : infoBefore(code)\n }\n\n /**\n * In opening fence, after the sequence (and optional whitespace), before info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function infoBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFencedFence')\n return self.interrupt\n ? ok(code)\n : effects.check(nonLazyContinuation, atNonLazyBreak, after)(code)\n }\n effects.enter('codeFencedFenceInfo')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return info(code)\n }\n\n /**\n * In info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function info(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceInfo')\n return infoBefore(code)\n }\n if (markdownSpace(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceInfo')\n return factorySpace(effects, metaBefore, 'whitespace')(code)\n }\n if (code === 96 && code === marker) {\n return nok(code)\n }\n effects.consume(code)\n return info\n }\n\n /**\n * In opening fence, after info and whitespace, before meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function metaBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n return infoBefore(code)\n }\n effects.enter('codeFencedFenceMeta')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return meta(code)\n }\n\n /**\n * In meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceMeta')\n return infoBefore(code)\n }\n if (code === 96 && code === marker) {\n return nok(code)\n }\n effects.consume(code)\n return meta\n }\n\n /**\n * At eol/eof in code, before a non-lazy closing fence or content.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function atNonLazyBreak(code) {\n return effects.attempt(closeStart, after, contentBefore)(code)\n }\n\n /**\n * Before code content, not a closing fence, at eol.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentBefore(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return contentStart\n }\n\n /**\n * Before code content, not a closing fence.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentStart(code) {\n return initialPrefix > 0 && markdownSpace(code)\n ? factorySpace(\n effects,\n beforeContentChunk,\n 'linePrefix',\n initialPrefix + 1\n )(code)\n : beforeContentChunk(code)\n }\n\n /**\n * Before code content, after optional prefix.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeContentChunk(code) {\n if (code === null || markdownLineEnding(code)) {\n return effects.check(nonLazyContinuation, atNonLazyBreak, after)(code)\n }\n effects.enter('codeFlowValue')\n return contentChunk(code)\n }\n\n /**\n * In code content.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^^^^^^^^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentChunk(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return beforeContentChunk(code)\n }\n effects.consume(code)\n return contentChunk\n }\n\n /**\n * After code.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n effects.exit('codeFenced')\n return ok(code)\n }\n\n /**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\n function tokenizeCloseStart(effects, ok, nok) {\n let size = 0\n return startBefore\n\n /**\n *\n *\n * @type {State}\n */\n function startBefore(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return start\n }\n\n /**\n * Before closing fence, at optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // Always populated by defaults.\n\n // To do: `enter` here or in next state?\n effects.enter('codeFencedFence')\n return markdownSpace(code)\n ? factorySpace(\n effects,\n beforeSequenceClose,\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n : beforeSequenceClose(code)\n }\n\n /**\n * In closing fence, after optional whitespace, at sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function beforeSequenceClose(code) {\n if (code === marker) {\n effects.enter('codeFencedFenceSequence')\n return sequenceClose(code)\n }\n return nok(code)\n }\n\n /**\n * In closing fence sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n if (code === marker) {\n size++\n effects.consume(code)\n return sequenceClose\n }\n if (size >= sizeOpen) {\n effects.exit('codeFencedFenceSequence')\n return markdownSpace(code)\n ? factorySpace(effects, sequenceCloseAfter, 'whitespace')(code)\n : sequenceCloseAfter(code)\n }\n return nok(code)\n }\n\n /**\n * After closing fence sequence, after optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceCloseAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFencedFence')\n return ok(code)\n }\n return nok(code)\n }\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuation(effects, ok, nok) {\n const self = this\n return start\n\n /**\n *\n *\n * @type {State}\n */\n function start(code) {\n if (code === null) {\n return nok(code)\n }\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineStart\n }\n\n /**\n *\n *\n * @type {State}\n */\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {\n asciiAlphanumeric,\n asciiDigit,\n asciiHexDigit\n} from 'micromark-util-character'\n/** @type {Construct} */\nexport const characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterReference(effects, ok, nok) {\n const self = this\n let size = 0\n /** @type {number} */\n let max\n /** @type {(code: Code) => boolean} */\n let test\n return start\n\n /**\n * Start of character reference.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('characterReference')\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n return open\n }\n\n /**\n * After `&`, at `#` for numeric references or alphanumeric for named\n * references.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 35) {\n effects.enter('characterReferenceMarkerNumeric')\n effects.consume(code)\n effects.exit('characterReferenceMarkerNumeric')\n return numeric\n }\n effects.enter('characterReferenceValue')\n max = 31\n test = asciiAlphanumeric\n return value(code)\n }\n\n /**\n * After `#`, at `x` for hexadecimals or digit for decimals.\n *\n * ```markdown\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter('characterReferenceMarkerHexadecimal')\n effects.consume(code)\n effects.exit('characterReferenceMarkerHexadecimal')\n effects.enter('characterReferenceValue')\n max = 6\n test = asciiHexDigit\n return value\n }\n effects.enter('characterReferenceValue')\n max = 7\n test = asciiDigit\n return value(code)\n }\n\n /**\n * After markers (`&#x`, `&#`, or `&`), in value, before `;`.\n *\n * The character reference kind defines what and how many characters are\n * allowed.\n *\n * ```markdown\n * > | a&b\n * ^^^\n * > | a{b\n * ^^^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function value(code) {\n if (code === 59 && size) {\n const token = effects.exit('characterReferenceValue')\n if (\n test === asciiAlphanumeric &&\n !decodeNamedCharacterReference(self.sliceSerialize(token))\n ) {\n return nok(code)\n }\n\n // To do: `markdown-rs` uses a different name:\n // `CharacterReferenceMarkerSemi`.\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n effects.exit('characterReference')\n return ok\n }\n if (test(code) && size++ < max) {\n effects.consume(code)\n return value\n }\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {asciiPunctuation} from 'micromark-util-character'\n/** @type {Construct} */\nexport const characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start\n\n /**\n * Start of character escape.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('characterEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n effects.exit('escapeMarker')\n return inside\n }\n\n /**\n * After `\\`, at punctuation.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n // ASCII punctuation.\n if (asciiPunctuation(code)) {\n effects.enter('characterEscapeValue')\n effects.consume(code)\n effects.exit('characterEscapeValue')\n effects.exit('characterEscape')\n return ok\n }\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n/** @type {Construct} */\nexport const lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLineEnding(effects, ok) {\n return start\n\n /** @type {State} */\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, ok, 'linePrefix')\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {factoryDestination} from 'micromark-factory-destination'\nimport {factoryLabel} from 'micromark-factory-label'\nimport {factoryTitle} from 'micromark-factory-title'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {markdownLineEndingOrSpace} from 'micromark-util-character'\nimport {push, splice} from 'micromark-util-chunked'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {resolveAll} from 'micromark-util-resolve-all'\n/** @type {Construct} */\nexport const labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n}\n\n/** @type {Construct} */\nconst resourceConstruct = {\n tokenize: tokenizeResource\n}\n/** @type {Construct} */\nconst referenceFullConstruct = {\n tokenize: tokenizeReferenceFull\n}\n/** @type {Construct} */\nconst referenceCollapsedConstruct = {\n tokenize: tokenizeReferenceCollapsed\n}\n\n/** @type {Resolver} */\nfunction resolveAllLabelEnd(events) {\n let index = -1\n while (++index < events.length) {\n const token = events[index][1]\n if (\n token.type === 'labelImage' ||\n token.type === 'labelLink' ||\n token.type === 'labelEnd'\n ) {\n // Remove the marker.\n events.splice(index + 1, token.type === 'labelImage' ? 4 : 2)\n token.type = 'data'\n index++\n }\n }\n return events\n}\n\n/** @type {Resolver} */\nfunction resolveToLabelEnd(events, context) {\n let index = events.length\n let offset = 0\n /** @type {Token} */\n let token\n /** @type {number | undefined} */\n let open\n /** @type {number | undefined} */\n let close\n /** @type {Array} */\n let media\n\n // Find an opening.\n while (index--) {\n token = events[index][1]\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (\n token.type === 'link' ||\n (token.type === 'labelLink' && token._inactive)\n ) {\n break\n }\n\n // Mark other link openings as inactive, as we can’t have links in\n // links.\n if (events[index][0] === 'enter' && token.type === 'labelLink') {\n token._inactive = true\n }\n } else if (close) {\n if (\n events[index][0] === 'enter' &&\n (token.type === 'labelImage' || token.type === 'labelLink') &&\n !token._balanced\n ) {\n open = index\n if (token.type !== 'labelLink') {\n offset = 2\n break\n }\n }\n } else if (token.type === 'labelEnd') {\n close = index\n }\n }\n const group = {\n type: events[open][1].type === 'labelLink' ? 'link' : 'image',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n }\n const label = {\n type: 'label',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[close][1].end)\n }\n const text = {\n type: 'labelText',\n start: Object.assign({}, events[open + offset + 2][1].end),\n end: Object.assign({}, events[close - 2][1].start)\n }\n media = [\n ['enter', group, context],\n ['enter', label, context]\n ]\n\n // Opening marker.\n media = push(media, events.slice(open + 1, open + offset + 3))\n\n // Text open.\n media = push(media, [['enter', text, context]])\n\n // Always populated by defaults.\n\n // Between.\n media = push(\n media,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + offset + 4, close - 3),\n context\n )\n )\n\n // Text close, marker close, label close.\n media = push(media, [\n ['exit', text, context],\n events[close - 2],\n events[close - 1],\n ['exit', label, context]\n ])\n\n // Reference, resource, or so.\n media = push(media, events.slice(close + 1))\n\n // Media close.\n media = push(media, [['exit', group, context]])\n splice(events, open, events.length, media)\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {Token} */\n let labelStart\n /** @type {boolean} */\n let defined\n\n // Find an opening.\n while (index--) {\n if (\n (self.events[index][1].type === 'labelImage' ||\n self.events[index][1].type === 'labelLink') &&\n !self.events[index][1]._balanced\n ) {\n labelStart = self.events[index][1]\n break\n }\n }\n return start\n\n /**\n * Start of label end.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // If there is not an okay opening.\n if (!labelStart) {\n return nok(code)\n }\n\n // If the corresponding label (link) start is marked as inactive,\n // it means we’d be wrapping a link, like this:\n //\n // ```markdown\n // > | a [b [c](d) e](f) g.\n // ^\n // ```\n //\n // We can’t have that, so it’s just balanced brackets.\n if (labelStart._inactive) {\n return labelEndNok(code)\n }\n defined = self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n )\n effects.enter('labelEnd')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelEnd')\n return after\n }\n\n /**\n * After `]`.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // Note: `markdown-rs` also parses GFM footnotes here, which for us is in\n // an extension.\n\n // Resource (`[asd](fgh)`)?\n if (code === 40) {\n return effects.attempt(\n resourceConstruct,\n labelEndOk,\n defined ? labelEndOk : labelEndNok\n )(code)\n }\n\n // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference?\n if (code === 91) {\n return effects.attempt(\n referenceFullConstruct,\n labelEndOk,\n defined ? referenceNotFull : labelEndNok\n )(code)\n }\n\n // Shortcut (`[asd]`) reference?\n return defined ? labelEndOk(code) : labelEndNok(code)\n }\n\n /**\n * After `]`, at `[`, but not at a full reference.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceNotFull(code) {\n return effects.attempt(\n referenceCollapsedConstruct,\n labelEndOk,\n labelEndNok\n )(code)\n }\n\n /**\n * Done, we found something.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndOk(code) {\n // Note: `markdown-rs` does a bunch of stuff here.\n return ok(code)\n }\n\n /**\n * Done, it’s nothing.\n *\n * There was an okay opening, but we didn’t match anything.\n *\n * ```markdown\n * > | [a](b c\n * ^\n * > | [a][b c\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndNok(code) {\n labelStart._balanced = true\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeResource(effects, ok, nok) {\n return resourceStart\n\n /**\n * At a resource.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceStart(code) {\n effects.enter('resource')\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n return resourceBefore\n }\n\n /**\n * In resource, after `(`, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBefore(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, resourceOpen)(code)\n : resourceOpen(code)\n }\n\n /**\n * In resource, after optional whitespace, at `)` or a destination.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceOpen(code) {\n if (code === 41) {\n return resourceEnd(code)\n }\n return factoryDestination(\n effects,\n resourceDestinationAfter,\n resourceDestinationMissing,\n 'resourceDestination',\n 'resourceDestinationLiteral',\n 'resourceDestinationLiteralMarker',\n 'resourceDestinationRaw',\n 'resourceDestinationString',\n 32\n )(code)\n }\n\n /**\n * In resource, after destination, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationAfter(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, resourceBetween)(code)\n : resourceEnd(code)\n }\n\n /**\n * At invalid destination.\n *\n * ```markdown\n * > | [a](<<) b\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationMissing(code) {\n return nok(code)\n }\n\n /**\n * In resource, after destination and whitespace, at `(` or title.\n *\n * ```markdown\n * > | [a](b ) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBetween(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n resourceTitleAfter,\n nok,\n 'resourceTitle',\n 'resourceTitleMarker',\n 'resourceTitleString'\n )(code)\n }\n return resourceEnd(code)\n }\n\n /**\n * In resource, after title, at optional whitespace.\n *\n * ```markdown\n * > | [a](b \"c\") d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceTitleAfter(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, resourceEnd)(code)\n : resourceEnd(code)\n }\n\n /**\n * In resource, at `)`.\n *\n * ```markdown\n * > | [a](b) d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceEnd(code) {\n if (code === 41) {\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n effects.exit('resource')\n return ok\n }\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceFull(effects, ok, nok) {\n const self = this\n return referenceFull\n\n /**\n * In a reference (full), at the `[`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFull(code) {\n return factoryLabel.call(\n self,\n effects,\n referenceFullAfter,\n referenceFullMissing,\n 'reference',\n 'referenceMarker',\n 'referenceString'\n )(code)\n }\n\n /**\n * In a reference (full), after `]`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullAfter(code) {\n return self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n )\n ? ok(code)\n : nok(code)\n }\n\n /**\n * In reference (full) that was missing.\n *\n * ```markdown\n * > | [a][b d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullMissing(code) {\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceCollapsed(effects, ok, nok) {\n return referenceCollapsedStart\n\n /**\n * In reference (collapsed), at `[`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedStart(code) {\n // We only attempt a collapsed label if there’s a `[`.\n\n effects.enter('reference')\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n return referenceCollapsedOpen\n }\n\n /**\n * In reference (collapsed), at `]`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedOpen(code) {\n if (code === 93) {\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n effects.exit('reference')\n return ok\n }\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {labelEnd} from './label-end.js'\n\n/** @type {Construct} */\nexport const labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: labelEnd.resolveAll\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this\n return start\n\n /**\n * Start of label (image) start.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('labelImage')\n effects.enter('labelImageMarker')\n effects.consume(code)\n effects.exit('labelImageMarker')\n return open\n }\n\n /**\n * After `!`, at `[`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 91) {\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelImage')\n return after\n }\n return nok(code)\n }\n\n /**\n * After `![`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * This is needed in because, when GFM footnotes are enabled, images never\n * form when started with a `^`.\n * Instead, links form:\n *\n * ```markdown\n * ![^a](b)\n *\n * ![^a][b]\n *\n * [b]: c\n * ```\n *\n * ```html\n *

!^a

\n *

!^a

\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // To do: use a new field to do this, this is still needed for\n // `micromark-extension-gfm-footnote`, but the `label-start-link`\n // behavior isn’t.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {push, splice} from 'micromark-util-chunked'\nimport {classifyCharacter} from 'micromark-util-classify-character'\nimport {resolveAll} from 'micromark-util-resolve-all'\n/** @type {Construct} */\nexport const attention = {\n name: 'attention',\n tokenize: tokenizeAttention,\n resolveAll: resolveAllAttention\n}\n\n/**\n * Take all events and resolve attention to emphasis or strong.\n *\n * @type {Resolver}\n */\nfunction resolveAllAttention(events, context) {\n let index = -1\n /** @type {number} */\n let open\n /** @type {Token} */\n let group\n /** @type {Token} */\n let text\n /** @type {Token} */\n let openingSequence\n /** @type {Token} */\n let closingSequence\n /** @type {number} */\n let use\n /** @type {Array} */\n let nextEvents\n /** @type {number} */\n let offset\n\n // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n while (++index < events.length) {\n // Find a token that can close.\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === 'attentionSequence' &&\n events[index][1]._close\n ) {\n open = index\n\n // Now walk back to find an opener.\n while (open--) {\n // Find a token that can open the closer.\n if (\n events[open][0] === 'exit' &&\n events[open][1].type === 'attentionSequence' &&\n events[open][1]._open &&\n // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) ===\n context.sliceSerialize(events[index][1]).charCodeAt(0)\n ) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if (\n (events[open][1]._close || events[index][1]._open) &&\n (events[index][1].end.offset - events[index][1].start.offset) % 3 &&\n !(\n (events[open][1].end.offset -\n events[open][1].start.offset +\n events[index][1].end.offset -\n events[index][1].start.offset) %\n 3\n )\n ) {\n continue\n }\n\n // Number of markers to use from the sequence.\n use =\n events[open][1].end.offset - events[open][1].start.offset > 1 &&\n events[index][1].end.offset - events[index][1].start.offset > 1\n ? 2\n : 1\n const start = Object.assign({}, events[open][1].end)\n const end = Object.assign({}, events[index][1].start)\n movePoint(start, -use)\n movePoint(end, use)\n openingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start,\n end: Object.assign({}, events[open][1].end)\n }\n closingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: Object.assign({}, events[index][1].start),\n end\n }\n text = {\n type: use > 1 ? 'strongText' : 'emphasisText',\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n }\n group = {\n type: use > 1 ? 'strong' : 'emphasis',\n start: Object.assign({}, openingSequence.start),\n end: Object.assign({}, closingSequence.end)\n }\n events[open][1].end = Object.assign({}, openingSequence.start)\n events[index][1].start = Object.assign({}, closingSequence.end)\n nextEvents = []\n\n // If there are more markers in the opening, add them before.\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = push(nextEvents, [\n ['enter', events[open][1], context],\n ['exit', events[open][1], context]\n ])\n }\n\n // Opening.\n nextEvents = push(nextEvents, [\n ['enter', group, context],\n ['enter', openingSequence, context],\n ['exit', openingSequence, context],\n ['enter', text, context]\n ])\n\n // Always populated by defaults.\n\n // Between.\n nextEvents = push(\n nextEvents,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + 1, index),\n context\n )\n )\n\n // Closing.\n nextEvents = push(nextEvents, [\n ['exit', text, context],\n ['enter', closingSequence, context],\n ['exit', closingSequence, context],\n ['exit', group, context]\n ])\n\n // If there are more markers in the closing, add them after.\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2\n nextEvents = push(nextEvents, [\n ['enter', events[index][1], context],\n ['exit', events[index][1], context]\n ])\n } else {\n offset = 0\n }\n splice(events, open - 1, index - open + 3, nextEvents)\n index = open + nextEvents.length - offset - 2\n break\n }\n }\n }\n }\n\n // Remove remaining sequences.\n index = -1\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data'\n }\n }\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeAttention(effects, ok) {\n const attentionMarkers = this.parser.constructs.attentionMarkers.null\n const previous = this.previous\n const before = classifyCharacter(previous)\n\n /** @type {NonNullable} */\n let marker\n return start\n\n /**\n * Before a sequence.\n *\n * ```markdown\n * > | **\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n marker = code\n effects.enter('attentionSequence')\n return inside(code)\n }\n\n /**\n * In a sequence.\n *\n * ```markdown\n * > | **\n * ^^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker) {\n effects.consume(code)\n return inside\n }\n const token = effects.exit('attentionSequence')\n\n // To do: next major: move this to resolver, just like `markdown-rs`.\n const after = classifyCharacter(code)\n\n // Always populated by defaults.\n\n const open =\n !after || (after === 2 && before) || attentionMarkers.includes(code)\n const close =\n !before || (before === 2 && after) || attentionMarkers.includes(previous)\n token._open = Boolean(marker === 42 ? open : open && (before || !close))\n token._close = Boolean(marker === 42 ? close : close && (after || !open))\n return ok(code)\n }\n}\n\n/**\n * Move a point a bit.\n *\n * Note: `move` only works inside lines! It’s not possible to move past other\n * chunks (replacement characters, tabs, or line endings).\n *\n * @param {Point} point\n * @param {number} offset\n * @returns {void}\n */\nfunction movePoint(point, offset) {\n point.column += offset\n point.offset += offset\n point._bufferIndex += offset\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n asciiAtext,\n asciiControl\n} from 'micromark-util-character'\n/** @type {Construct} */\nexport const autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeAutolink(effects, ok, nok) {\n let size = 0\n return start\n\n /**\n * Start of an autolink.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('autolink')\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.enter('autolinkProtocol')\n return open\n }\n\n /**\n * After `<`, at protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return schemeOrEmailAtext\n }\n return emailAtext(code)\n }\n\n /**\n * At second byte of protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeOrEmailAtext(code) {\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) {\n // Count the previous alphabetical from `open` too.\n size = 1\n return schemeInsideOrEmailAtext(code)\n }\n return emailAtext(code)\n }\n\n /**\n * In ambiguous protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code)\n size = 0\n return urlInside\n }\n\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if (\n (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) &&\n size++ < 32\n ) {\n effects.consume(code)\n return schemeInsideOrEmailAtext\n }\n size = 0\n return emailAtext(code)\n }\n\n /**\n * After protocol, in URL.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function urlInside(code) {\n if (code === 62) {\n effects.exit('autolinkProtocol')\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.exit('autolink')\n return ok\n }\n\n // ASCII control, space, or `<`.\n if (code === null || code === 32 || code === 60 || asciiControl(code)) {\n return nok(code)\n }\n effects.consume(code)\n return urlInside\n }\n\n /**\n * In email atext.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code)\n return emailAtSignOrDot\n }\n if (asciiAtext(code)) {\n effects.consume(code)\n return emailAtext\n }\n return nok(code)\n }\n\n /**\n * In label, after at-sign or dot.\n *\n * ```markdown\n * > | ab\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code)\n }\n\n /**\n * In label, where `.` and `>` are allowed.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n if (code === 62) {\n // Exit, then change the token type.\n effects.exit('autolinkProtocol').type = 'autolinkEmail'\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.exit('autolink')\n return ok\n }\n return emailValue(code)\n }\n\n /**\n * In label, where `.` and `>` are *not* allowed.\n *\n * Though, this is also used in `emailLabel` to parse other values.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailValue(code) {\n // ASCII alphanumeric or `-`.\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n const next = code === 45 ? emailValue : emailLabel\n effects.consume(code)\n return next\n }\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\n/** @type {Construct} */\nexport const htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this\n /** @type {NonNullable | undefined} */\n let marker\n /** @type {number} */\n let index\n /** @type {State} */\n let returnState\n return start\n\n /**\n * Start of HTML (text).\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('htmlText')\n effects.enter('htmlTextData')\n effects.consume(code)\n return open\n }\n\n /**\n * After `<`, at tag name or other stuff.\n *\n * ```markdown\n * > | a c\n * ^\n * > | a c\n * ^\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationOpen\n }\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n if (code === 63) {\n effects.consume(code)\n return instruction\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagOpen\n }\n return nok(code)\n }\n\n /**\n * After ` | a c\n * ^\n * > | a c\n * ^\n * > | a &<]]> c\n * ^\n * ```\n *\n * @type {State}\n */\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentOpenInside\n }\n if (code === 91) {\n effects.consume(code)\n index = 0\n return cdataOpenInside\n }\n if (asciiAlpha(code)) {\n effects.consume(code)\n return declaration\n }\n return nok(code)\n }\n\n /**\n * In a comment, after ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code)\n return commentEnd\n }\n return nok(code)\n }\n\n /**\n * In comment.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function comment(code) {\n if (code === null) {\n return nok(code)\n }\n if (code === 45) {\n effects.consume(code)\n return commentClose\n }\n if (markdownLineEnding(code)) {\n returnState = comment\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return comment\n }\n\n /**\n * In comment, after `-`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code)\n return commentEnd\n }\n return comment(code)\n }\n\n /**\n * In comment, after `--`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentEnd(code) {\n return code === 62\n ? end(code)\n : code === 45\n ? commentClose(code)\n : comment(code)\n }\n\n /**\n * After ` | a &<]]> b\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function cdataOpenInside(code) {\n const value = 'CDATA['\n if (code === value.charCodeAt(index++)) {\n effects.consume(code)\n return index === value.length ? cdata : cdataOpenInside\n }\n return nok(code)\n }\n\n /**\n * In CDATA.\n *\n * ```markdown\n * > | a &<]]> b\n * ^^^\n * ```\n *\n * @type {State}\n */\n function cdata(code) {\n if (code === null) {\n return nok(code)\n }\n if (code === 93) {\n effects.consume(code)\n return cdataClose\n }\n if (markdownLineEnding(code)) {\n returnState = cdata\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return cdata\n }\n\n /**\n * In CDATA, after `]`, at another `]`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n return cdata(code)\n }\n\n /**\n * In CDATA, after `]]`, at `>`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataEnd(code) {\n if (code === 62) {\n return end(code)\n }\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n return cdata(code)\n }\n\n /**\n * In declaration.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code)\n }\n if (markdownLineEnding(code)) {\n returnState = declaration\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return declaration\n }\n\n /**\n * In instruction.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instruction(code) {\n if (code === null) {\n return nok(code)\n }\n if (code === 63) {\n effects.consume(code)\n return instructionClose\n }\n if (markdownLineEnding(code)) {\n returnState = instruction\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return instruction\n }\n\n /**\n * In instruction, after `?`, at `>`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseStart(code) {\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagClose\n }\n return nok(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagClose(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagClose\n }\n return tagCloseBetween(code)\n }\n\n /**\n * In closing tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween\n return lineEndingBefore(code)\n }\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagCloseBetween\n }\n return end(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpen(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagOpen\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n return nok(code)\n }\n\n /**\n * In opening tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code)\n return end\n }\n\n // ASCII alphabetical and `:` and `_`.\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween\n return lineEndingBefore(code)\n }\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenBetween\n }\n return end(code)\n }\n\n /**\n * In attribute name.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeName(code) {\n // ASCII alphabetical and `-`, `.`, `:`, and `_`.\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n return tagOpenAttributeNameAfter(code)\n }\n\n /**\n * After attribute name, before initializer, the end of the tag, or\n * whitespace.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter\n return lineEndingBefore(code)\n }\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeNameAfter\n }\n return tagOpenBetween(code)\n }\n\n /**\n * Before unquoted, double quoted, or single quoted attribute value, allowing\n * whitespace.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return tagOpenAttributeValueQuoted\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore\n return lineEndingBefore(code)\n }\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n }\n\n /**\n * In double or single quoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n marker = undefined\n return tagOpenAttributeValueQuotedAfter\n }\n if (code === null) {\n return nok(code)\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return tagOpenAttributeValueQuoted\n }\n\n /**\n * In unquoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 96\n ) {\n return nok(code)\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n }\n\n /**\n * After double or single quoted attribute value, before whitespace or the end\n * of the tag.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n return nok(code)\n }\n\n /**\n * In certain circumstances of a tag where only an `>` is allowed.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function end(code) {\n if (code === 62) {\n effects.consume(code)\n effects.exit('htmlTextData')\n effects.exit('htmlText')\n return ok\n }\n return nok(code)\n }\n\n /**\n * At eol.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * > | a \n * ```\n *\n * @type {State}\n */\n function lineEndingBefore(code) {\n effects.exit('htmlTextData')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineEndingAfter\n }\n\n /**\n * After eol, at optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfter(code) {\n // Always populated by defaults.\n\n return markdownSpace(code)\n ? factorySpace(\n effects,\n lineEndingAfterPrefix,\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n : lineEndingAfterPrefix(code)\n }\n\n /**\n * After eol, after optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfterPrefix(code) {\n effects.enter('htmlTextData')\n return returnState(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {labelEnd} from './label-end.js'\n\n/** @type {Construct} */\nexport const labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: labelEnd.resolveAll\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this\n return start\n\n /**\n * Start of label (link) start.\n *\n * ```markdown\n * > | a [b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('labelLink')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelLink')\n return after\n }\n\n /** @type {State} */\n function after(code) {\n // To do: this isn’t needed in `micromark-extension-gfm-footnote`,\n // remove.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {markdownLineEnding} from 'micromark-util-character'\n/** @type {Construct} */\nexport const hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start\n\n /**\n * Start of a hard break (escape).\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('hardBreakEscape')\n effects.consume(code)\n return after\n }\n\n /**\n * After `\\`, at eol.\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (markdownLineEnding(code)) {\n effects.exit('hardBreakEscape')\n return ok(code)\n }\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {markdownLineEnding} from 'micromark-util-character'\n/** @type {Construct} */\nexport const codeText = {\n name: 'codeText',\n tokenize: tokenizeCodeText,\n resolve: resolveCodeText,\n previous\n}\n\n// To do: next major: don’t resolve, like `markdown-rs`.\n/** @type {Resolver} */\nfunction resolveCodeText(events) {\n let tailExitIndex = events.length - 4\n let headEnterIndex = 3\n /** @type {number} */\n let index\n /** @type {number | undefined} */\n let enter\n\n // If we start and end with an EOL or a space.\n if (\n (events[headEnterIndex][1].type === 'lineEnding' ||\n events[headEnterIndex][1].type === 'space') &&\n (events[tailExitIndex][1].type === 'lineEnding' ||\n events[tailExitIndex][1].type === 'space')\n ) {\n index = headEnterIndex\n\n // And we have data.\n while (++index < tailExitIndex) {\n if (events[index][1].type === 'codeTextData') {\n // Then we have padding.\n events[headEnterIndex][1].type = 'codeTextPadding'\n events[tailExitIndex][1].type = 'codeTextPadding'\n headEnterIndex += 2\n tailExitIndex -= 2\n break\n }\n }\n }\n\n // Merge adjacent spaces and data.\n index = headEnterIndex - 1\n tailExitIndex++\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== 'lineEnding') {\n enter = index\n }\n } else if (\n index === tailExitIndex ||\n events[index][1].type === 'lineEnding'\n ) {\n events[enter][1].type = 'codeTextData'\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n tailExitIndex -= index - enter - 2\n index = enter + 2\n }\n enter = undefined\n }\n }\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Previous}\n */\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return (\n code !== 96 ||\n this.events[this.events.length - 1][1].type === 'characterEscape'\n )\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeCodeText(effects, ok, nok) {\n const self = this\n let sizeOpen = 0\n /** @type {number} */\n let size\n /** @type {Token} */\n let token\n return start\n\n /**\n * Start of code (text).\n *\n * ```markdown\n * > | `a`\n * ^\n * > | \\`a`\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('codeText')\n effects.enter('codeTextSequence')\n return sequenceOpen(code)\n }\n\n /**\n * In opening sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === 96) {\n effects.consume(code)\n sizeOpen++\n return sequenceOpen\n }\n effects.exit('codeTextSequence')\n return between(code)\n }\n\n /**\n * Between something and something else.\n *\n * ```markdown\n * > | `a`\n * ^^\n * ```\n *\n * @type {State}\n */\n function between(code) {\n // EOF.\n if (code === null) {\n return nok(code)\n }\n\n // To do: next major: don’t do spaces in resolve, but when compiling,\n // like `markdown-rs`.\n // Tabs don’t work, and virtual spaces don’t make sense.\n if (code === 32) {\n effects.enter('space')\n effects.consume(code)\n effects.exit('space')\n return between\n }\n\n // Closing fence? Could also be data.\n if (code === 96) {\n token = effects.enter('codeTextSequence')\n size = 0\n return sequenceClose(code)\n }\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return between\n }\n\n // Data.\n effects.enter('codeTextData')\n return data(code)\n }\n\n /**\n * In data.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function data(code) {\n if (\n code === null ||\n code === 32 ||\n code === 96 ||\n markdownLineEnding(code)\n ) {\n effects.exit('codeTextData')\n return between(code)\n }\n effects.consume(code)\n return data\n }\n\n /**\n * In closing sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n // More.\n if (code === 96) {\n effects.consume(code)\n size++\n return sequenceClose\n }\n\n // Done!\n if (size === sizeOpen) {\n effects.exit('codeTextSequence')\n effects.exit('codeText')\n return ok(code)\n }\n\n // More or less accents: mark as data.\n token.type = 'codeTextData'\n return data(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n */\n\nimport {\n attention,\n autolink,\n blockQuote,\n characterEscape,\n characterReference,\n codeFenced,\n codeIndented,\n codeText,\n definition,\n hardBreakEscape,\n headingAtx,\n htmlFlow,\n htmlText,\n labelEnd,\n labelStartImage,\n labelStartLink,\n lineEnding,\n list,\n setextUnderline,\n thematicBreak\n} from 'micromark-core-commonmark'\nimport {resolver as resolveText} from './initialize/text.js'\n\n/** @satisfies {Extension['document']} */\nexport const document = {\n [42]: list,\n [43]: list,\n [45]: list,\n [48]: list,\n [49]: list,\n [50]: list,\n [51]: list,\n [52]: list,\n [53]: list,\n [54]: list,\n [55]: list,\n [56]: list,\n [57]: list,\n [62]: blockQuote\n}\n\n/** @satisfies {Extension['contentInitial']} */\nexport const contentInitial = {\n [91]: definition\n}\n\n/** @satisfies {Extension['flowInitial']} */\nexport const flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n}\n\n/** @satisfies {Extension['flow']} */\nexport const flow = {\n [35]: headingAtx,\n [42]: thematicBreak,\n [45]: [setextUnderline, thematicBreak],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak,\n [96]: codeFenced,\n [126]: codeFenced\n}\n\n/** @satisfies {Extension['string']} */\nexport const string = {\n [38]: characterReference,\n [92]: characterEscape\n}\n\n/** @satisfies {Extension['text']} */\nexport const text = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n}\n\n/** @satisfies {Extension['insideSpan']} */\nexport const insideSpan = {\n null: [attention, resolveText]\n}\n\n/** @satisfies {Extension['attentionMarkers']} */\nexport const attentionMarkers = {\n null: [42, 95]\n}\n\n/** @satisfies {Extension['disable']} */\nexport const disable = {\n null: []\n}\n","/**\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Value} Value\n */\n\n/**\n * @callback Preprocessor\n * @param {Value} value\n * @param {Encoding | null | undefined} [encoding]\n * @param {boolean | null | undefined} [end=false]\n * @returns {Array}\n */\n\nconst search = /[\\0\\t\\n\\r]/g\n\n/**\n * @returns {Preprocessor}\n */\nexport function preprocess() {\n let column = 1\n let buffer = ''\n /** @type {boolean | undefined} */\n let start = true\n /** @type {boolean | undefined} */\n let atCarriageReturn\n return preprocessor\n\n /** @type {Preprocessor} */\n function preprocessor(value, encoding, end) {\n /** @type {Array} */\n const chunks = []\n /** @type {RegExpMatchArray | null} */\n let match\n /** @type {number} */\n let next\n /** @type {number} */\n let startPosition\n /** @type {number} */\n let endPosition\n /** @type {Code} */\n let code\n\n // @ts-expect-error `Buffer` does allow an encoding.\n value = buffer + value.toString(encoding)\n startPosition = 0\n buffer = ''\n if (start) {\n // To do: `markdown-rs` actually parses BOMs (byte order mark).\n if (value.charCodeAt(0) === 65279) {\n startPosition++\n }\n start = undefined\n }\n while (startPosition < value.length) {\n search.lastIndex = startPosition\n match = search.exec(value)\n endPosition =\n match && match.index !== undefined ? match.index : value.length\n code = value.charCodeAt(endPosition)\n if (!match) {\n buffer = value.slice(startPosition)\n break\n }\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3)\n atCarriageReturn = undefined\n } else {\n if (atCarriageReturn) {\n chunks.push(-5)\n atCarriageReturn = undefined\n }\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition))\n column += endPosition - startPosition\n }\n switch (code) {\n case 0: {\n chunks.push(65533)\n column++\n break\n }\n case 9: {\n next = Math.ceil(column / 4) * 4\n chunks.push(-2)\n while (column++ < next) chunks.push(-1)\n break\n }\n case 10: {\n chunks.push(-4)\n column = 1\n break\n }\n default: {\n atCarriageReturn = true\n column = 1\n }\n }\n }\n startPosition = endPosition + 1\n }\n if (end) {\n if (atCarriageReturn) chunks.push(-5)\n if (buffer) chunks.push(buffer)\n chunks.push(null)\n }\n return chunks\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Value} Value\n *\n * @typedef {import('unist').Parent} UnistParent\n * @typedef {import('unist').Point} Point\n *\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n * @typedef {import('mdast').StaticPhrasingContent} StaticPhrasingContent\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').Break} Break\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('mdast').Code} Code\n * @typedef {import('mdast').Definition} Definition\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('mdast').HTML} HTML\n * @typedef {import('mdast').Image} Image\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('mdast').List} List\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('mdast').Text} Text\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('mdast').ReferenceType} ReferenceType\n * @typedef {import('../index.js').CompileData} CompileData\n */\n\n/**\n * @typedef {Root | Content} Node\n * @typedef {Extract} Parent\n *\n * @typedef {Omit & {type: 'fragment', children: Array}} Fragment\n */\n\n/**\n * @callback Transform\n * Extra transform, to change the AST afterwards.\n * @param {Root} tree\n * Tree to transform.\n * @returns {Root | undefined | null | void}\n * New tree or nothing (in which case the current tree is used).\n *\n * @callback Handle\n * Handle a token.\n * @param {CompileContext} this\n * Context.\n * @param {Token} token\n * Current token.\n * @returns {void}\n * Nothing.\n *\n * @typedef {Record} Handles\n * Token types mapping to handles\n *\n * @callback OnEnterError\n * Handle the case where the `right` token is open, but it is closed (by the\n * `left` token) or because we reached the end of the document.\n * @param {Omit} this\n * Context.\n * @param {Token | undefined} left\n * Left token.\n * @param {Token} right\n * Right token.\n * @returns {void}\n * Nothing.\n *\n * @callback OnExitError\n * Handle the case where the `right` token is open but it is closed by\n * exiting the `left` token.\n * @param {Omit} this\n * Context.\n * @param {Token} left\n * Left token.\n * @param {Token} right\n * Right token.\n * @returns {void}\n * Nothing.\n *\n * @typedef {[Token, OnEnterError | undefined]} TokenTuple\n * Open token on the stack, with an optional error handler for when\n * that token isn’t closed properly.\n */\n\n/**\n * @typedef Config\n * Configuration.\n *\n * We have our defaults, but extensions will add more.\n * @property {Array} canContainEols\n * Token types where line endings are used.\n * @property {Handles} enter\n * Opening handles.\n * @property {Handles} exit\n * Closing handles.\n * @property {Array} transforms\n * Tree transforms.\n *\n * @typedef {Partial} Extension\n * Change how markdown tokens from micromark are turned into mdast.\n *\n * @typedef CompileContext\n * mdast compiler context.\n * @property {Array} stack\n * Stack of nodes.\n * @property {Array} tokenStack\n * Stack of tokens.\n * @property {(key: Key) => CompileData[Key]} getData\n * Get data from the key/value store.\n * @property {(key: Key, value?: CompileData[Key]) => void} setData\n * Set data into the key/value store.\n * @property {(this: CompileContext) => void} buffer\n * Capture some of the output data.\n * @property {(this: CompileContext) => string} resume\n * Stop capturing and access the output data.\n * @property {(this: CompileContext, node: Kind, token: Token, onError?: OnEnterError) => Kind} enter\n * Enter a token.\n * @property {(this: CompileContext, token: Token, onError?: OnExitError) => Node} exit\n * Exit a token.\n * @property {TokenizeContext['sliceSerialize']} sliceSerialize\n * Get the string value of a token.\n * @property {Config} config\n * Configuration.\n *\n * @typedef FromMarkdownOptions\n * Configuration for how to build mdast.\n * @property {Array> | null | undefined} [mdastExtensions]\n * Extensions for this utility to change how tokens are turned into a tree.\n *\n * @typedef {ParseOptions & FromMarkdownOptions} Options\n * Configuration.\n */\n\n// To do: micromark: create a registry of tokens?\n// To do: next major: don’t return given `Node` from `enter`.\n// To do: next major: remove setter/getter.\n\nimport {toString} from 'mdast-util-to-string'\nimport {parse} from 'micromark/lib/parse.js'\nimport {preprocess} from 'micromark/lib/preprocess.js'\nimport {postprocess} from 'micromark/lib/postprocess.js'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nimport {decodeString} from 'micromark-util-decode-string'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {stringifyPosition} from 'unist-util-stringify-position'\nconst own = {}.hasOwnProperty\n\n/**\n * @param value\n * Markdown to parse.\n * @param encoding\n * Character encoding for when `value` is `Buffer`.\n * @param options\n * Configuration.\n * @returns\n * mdast tree.\n */\nexport const fromMarkdown =\n /**\n * @type {(\n * ((value: Value, encoding: Encoding, options?: Options | null | undefined) => Root) &\n * ((value: Value, options?: Options | null | undefined) => Root)\n * )}\n */\n\n /**\n * @param {Value} value\n * @param {Encoding | Options | null | undefined} [encoding]\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n */\n function (value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding\n encoding = undefined\n }\n return compiler(options)(\n postprocess(\n parse(options).document().write(preprocess()(value, encoding, true))\n )\n )\n }\n\n/**\n * Note this compiler only understand complete buffering, not streaming.\n *\n * @param {Options | null | undefined} [options]\n */\nfunction compiler(options) {\n /** @type {Config} */\n const config = {\n transforms: [],\n canContainEols: ['emphasis', 'fragment', 'heading', 'paragraph', 'strong'],\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n }\n configure(config, (options || {}).mdastExtensions || [])\n\n /** @type {CompileData} */\n const data = {}\n return compile\n\n /**\n * Turn micromark events into an mdast tree.\n *\n * @param {Array} events\n * Events.\n * @returns {Root}\n * mdast tree.\n */\n function compile(events) {\n /** @type {Root} */\n let tree = {\n type: 'root',\n children: []\n }\n /** @type {Omit} */\n const context = {\n stack: [tree],\n tokenStack: [],\n config,\n enter,\n exit,\n buffer,\n resume,\n setData,\n getData\n }\n /** @type {Array} */\n const listStack = []\n let index = -1\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (\n events[index][1].type === 'listOrdered' ||\n events[index][1].type === 'listUnordered'\n ) {\n if (events[index][0] === 'enter') {\n listStack.push(index)\n } else {\n const tail = listStack.pop()\n index = prepareList(events, tail, index)\n }\n }\n }\n index = -1\n while (++index < events.length) {\n const handler = config[events[index][0]]\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(\n Object.assign(\n {\n sliceSerialize: events[index][2].sliceSerialize\n },\n context\n ),\n events[index][1]\n )\n }\n }\n\n // Handle tokens still being open.\n if (context.tokenStack.length > 0) {\n const tail = context.tokenStack[context.tokenStack.length - 1]\n const handler = tail[1] || defaultOnError\n handler.call(context, undefined, tail[0])\n }\n\n // Figure out `root` position.\n tree.position = {\n start: point(\n events.length > 0\n ? events[0][1].start\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n ),\n end: point(\n events.length > 0\n ? events[events.length - 2][1].end\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n )\n }\n\n // Call transforms.\n index = -1\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree\n }\n return tree\n }\n\n /**\n * @param {Array} events\n * @param {number} start\n * @param {number} length\n * @returns {number}\n */\n function prepareList(events, start, length) {\n let index = start - 1\n let containerBalance = -1\n let listSpread = false\n /** @type {Token | undefined} */\n let listItem\n /** @type {number | undefined} */\n let lineIndex\n /** @type {number | undefined} */\n let firstBlankLineIndex\n /** @type {boolean | undefined} */\n let atMarker\n while (++index <= length) {\n const event = events[index]\n if (\n event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered' ||\n event[1].type === 'blockQuote'\n ) {\n if (event[0] === 'enter') {\n containerBalance++\n } else {\n containerBalance--\n }\n atMarker = undefined\n } else if (event[1].type === 'lineEndingBlank') {\n if (event[0] === 'enter') {\n if (\n listItem &&\n !atMarker &&\n !containerBalance &&\n !firstBlankLineIndex\n ) {\n firstBlankLineIndex = index\n }\n atMarker = undefined\n }\n } else if (\n event[1].type === 'linePrefix' ||\n event[1].type === 'listItemValue' ||\n event[1].type === 'listItemMarker' ||\n event[1].type === 'listItemPrefix' ||\n event[1].type === 'listItemPrefixWhitespace'\n ) {\n // Empty.\n } else {\n atMarker = undefined\n }\n if (\n (!containerBalance &&\n event[0] === 'enter' &&\n event[1].type === 'listItemPrefix') ||\n (containerBalance === -1 &&\n event[0] === 'exit' &&\n (event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered'))\n ) {\n if (listItem) {\n let tailIndex = index\n lineIndex = undefined\n while (tailIndex--) {\n const tailEvent = events[tailIndex]\n if (\n tailEvent[1].type === 'lineEnding' ||\n tailEvent[1].type === 'lineEndingBlank'\n ) {\n if (tailEvent[0] === 'exit') continue\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n listSpread = true\n }\n tailEvent[1].type = 'lineEnding'\n lineIndex = tailIndex\n } else if (\n tailEvent[1].type === 'linePrefix' ||\n tailEvent[1].type === 'blockQuotePrefix' ||\n tailEvent[1].type === 'blockQuotePrefixWhitespace' ||\n tailEvent[1].type === 'blockQuoteMarker' ||\n tailEvent[1].type === 'listItemIndent'\n ) {\n // Empty\n } else {\n break\n }\n }\n if (\n firstBlankLineIndex &&\n (!lineIndex || firstBlankLineIndex < lineIndex)\n ) {\n listItem._spread = true\n }\n\n // Fix position.\n listItem.end = Object.assign(\n {},\n lineIndex ? events[lineIndex][1].start : event[1].end\n )\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]])\n index++\n length++\n }\n\n // Create a new list item.\n if (event[1].type === 'listItemPrefix') {\n listItem = {\n type: 'listItem',\n _spread: false,\n start: Object.assign({}, event[1].start),\n // @ts-expect-error: we’ll add `end` in a second.\n end: undefined\n }\n // @ts-expect-error: `listItem` is most definitely defined, TS...\n events.splice(index, 0, ['enter', listItem, event[2]])\n index++\n length++\n firstBlankLineIndex = undefined\n atMarker = true\n }\n }\n }\n events[start][1]._spread = listSpread\n return length\n }\n\n /**\n * Set data.\n *\n * @template {keyof CompileData} Key\n * Field type.\n * @param {Key} key\n * Key of field.\n * @param {CompileData[Key]} [value]\n * New value.\n * @returns {void}\n * Nothing.\n */\n function setData(key, value) {\n data[key] = value\n }\n\n /**\n * Get data.\n *\n * @template {keyof CompileData} Key\n * Field type.\n * @param {Key} key\n * Key of field.\n * @returns {CompileData[Key]}\n * Value.\n */\n function getData(key) {\n return data[key]\n }\n\n /**\n * Create an opener handle.\n *\n * @param {(token: Token) => Node} create\n * Create a node.\n * @param {Handle} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function opener(create, and) {\n return open\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {void}\n */\n function open(token) {\n enter.call(this, create(token), token)\n if (and) and.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * @returns {void}\n */\n function buffer() {\n this.stack.push({\n type: 'fragment',\n children: []\n })\n }\n\n /**\n * @template {Node} Kind\n * Node type.\n * @this {CompileContext}\n * Context.\n * @param {Kind} node\n * Node to enter.\n * @param {Token} token\n * Corresponding token.\n * @param {OnEnterError | undefined} [errorHandler]\n * Handle the case where this token is open, but it is closed by something else.\n * @returns {Kind}\n * The given node.\n */\n function enter(node, token, errorHandler) {\n const parent = this.stack[this.stack.length - 1]\n // @ts-expect-error: Assume `Node` can exist as a child of `parent`.\n parent.children.push(node)\n this.stack.push(node)\n this.tokenStack.push([token, errorHandler])\n // @ts-expect-error: `end` will be patched later.\n node.position = {\n start: point(token.start)\n }\n return node\n }\n\n /**\n * Create a closer handle.\n *\n * @param {Handle} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function closer(and) {\n return close\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {void}\n */\n function close(token) {\n if (and) and.call(this, token)\n exit.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * Context.\n * @param {Token} token\n * Corresponding token.\n * @param {OnExitError | undefined} [onExitError]\n * Handle the case where another token is open.\n * @returns {Node}\n * The closed node.\n */\n function exit(token, onExitError) {\n const node = this.stack.pop()\n const open = this.tokenStack.pop()\n if (!open) {\n throw new Error(\n 'Cannot close `' +\n token.type +\n '` (' +\n stringifyPosition({\n start: token.start,\n end: token.end\n }) +\n '): it’s not open'\n )\n } else if (open[0].type !== token.type) {\n if (onExitError) {\n onExitError.call(this, token, open[0])\n } else {\n const handler = open[1] || defaultOnError\n handler.call(this, token, open[0])\n }\n }\n node.position.end = point(token.end)\n return node\n }\n\n /**\n * @this {CompileContext}\n * @returns {string}\n */\n function resume() {\n return toString(this.stack.pop())\n }\n\n //\n // Handlers.\n //\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistordered() {\n setData('expectingFirstListItemValue', true)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistitemvalue(token) {\n if (getData('expectingFirstListItemValue')) {\n const ancestor = this.stack[this.stack.length - 2]\n ancestor.start = Number.parseInt(this.sliceSerialize(token), 10)\n setData('expectingFirstListItemValue')\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfenceinfo() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.lang = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfencemeta() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.meta = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (getData('flowCodeInside')) return\n this.buffer()\n setData('flowCodeInside', true)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefenced() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '')\n setData('flowCodeInside')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodeindented() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data.replace(/(\\r?\\n|\\r)$/g, '')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitionlabelstring(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiontitlestring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.title = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiondestinationstring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.url = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitatxheadingsequence(token) {\n const node = this.stack[this.stack.length - 1]\n if (!node.depth) {\n const depth = this.sliceSerialize(token).length\n node.depth = depth\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadingtext() {\n setData('setextHeadingSlurpLineEnding', true)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadinglinesequence(token) {\n const node = this.stack[this.stack.length - 1]\n node.depth = this.sliceSerialize(token).charCodeAt(0) === 61 ? 1 : 2\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheading() {\n setData('setextHeadingSlurpLineEnding')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterdata(token) {\n const node = this.stack[this.stack.length - 1]\n let tail = node.children[node.children.length - 1]\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text()\n // @ts-expect-error: we’ll add `end` later.\n tail.position = {\n start: point(token.start)\n }\n // @ts-expect-error: Assume `parent` accepts `text`.\n node.children.push(tail)\n }\n this.stack.push(tail)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitdata(token) {\n const tail = this.stack.pop()\n tail.value += this.sliceSerialize(token)\n tail.position.end = point(token.end)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlineending(token) {\n const context = this.stack[this.stack.length - 1]\n // If we’re at a hard break, include the line ending in there.\n if (getData('atHardBreak')) {\n const tail = context.children[context.children.length - 1]\n tail.position.end = point(token.end)\n setData('atHardBreak')\n return\n }\n if (\n !getData('setextHeadingSlurpLineEnding') &&\n config.canContainEols.includes(context.type)\n ) {\n onenterdata.call(this, token)\n onexitdata.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithardbreak() {\n setData('atHardBreak', true)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmlflow() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmltext() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcodetext() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlink() {\n const node = this.stack[this.stack.length - 1]\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n // To do: clean.\n if (getData('inReference')) {\n /** @type {ReferenceType} */\n const referenceType = getData('referenceType') || 'shortcut'\n node.type += 'Reference'\n // @ts-expect-error: mutate.\n node.referenceType = referenceType\n // @ts-expect-error: mutate.\n delete node.url\n delete node.title\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier\n // @ts-expect-error: mutate.\n delete node.label\n }\n setData('referenceType')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitimage() {\n const node = this.stack[this.stack.length - 1]\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n // To do: clean.\n if (getData('inReference')) {\n /** @type {ReferenceType} */\n const referenceType = getData('referenceType') || 'shortcut'\n node.type += 'Reference'\n // @ts-expect-error: mutate.\n node.referenceType = referenceType\n // @ts-expect-error: mutate.\n delete node.url\n delete node.title\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier\n // @ts-expect-error: mutate.\n delete node.label\n }\n setData('referenceType')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabeltext(token) {\n const string = this.sliceSerialize(token)\n const ancestor = this.stack[this.stack.length - 2]\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n ancestor.label = decodeString(string)\n // @ts-expect-error: same as above.\n ancestor.identifier = normalizeIdentifier(string).toLowerCase()\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabel() {\n const fragment = this.stack[this.stack.length - 1]\n const value = this.resume()\n const node = this.stack[this.stack.length - 1]\n // Assume a reference.\n setData('inReference', true)\n if (node.type === 'link') {\n /** @type {Array} */\n // @ts-expect-error: Assume static phrasing content.\n const children = fragment.children\n node.children = children\n } else {\n node.alt = value\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcedestinationstring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.url = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcetitlestring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.title = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresource() {\n setData('inReference')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterreference() {\n setData('referenceType', 'collapsed')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitreferencestring(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n node.label = label\n // @ts-expect-error: same as above.\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n setData('referenceType', 'full')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcharacterreferencemarker(token) {\n setData('characterReferenceType', token.type)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcharacterreferencevalue(token) {\n const data = this.sliceSerialize(token)\n const type = getData('characterReferenceType')\n /** @type {string} */\n let value\n if (type) {\n value = decodeNumericCharacterReference(\n data,\n type === 'characterReferenceMarkerNumeric' ? 10 : 16\n )\n setData('characterReferenceType')\n } else {\n const result = decodeNamedCharacterReference(data)\n value = result\n }\n const tail = this.stack.pop()\n tail.value += value\n tail.position.end = point(token.end)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token)\n const node = this.stack[this.stack.length - 1]\n node.url = this.sliceSerialize(token)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkemail(token) {\n onexitdata.call(this, token)\n const node = this.stack[this.stack.length - 1]\n node.url = 'mailto:' + this.sliceSerialize(token)\n }\n\n //\n // Creaters.\n //\n\n /** @returns {Blockquote} */\n function blockQuote() {\n return {\n type: 'blockquote',\n children: []\n }\n }\n\n /** @returns {Code} */\n function codeFlow() {\n return {\n type: 'code',\n lang: null,\n meta: null,\n value: ''\n }\n }\n\n /** @returns {InlineCode} */\n function codeText() {\n return {\n type: 'inlineCode',\n value: ''\n }\n }\n\n /** @returns {Definition} */\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n }\n }\n\n /** @returns {Emphasis} */\n function emphasis() {\n return {\n type: 'emphasis',\n children: []\n }\n }\n\n /** @returns {Heading} */\n function heading() {\n // @ts-expect-error `depth` will be set later.\n return {\n type: 'heading',\n depth: undefined,\n children: []\n }\n }\n\n /** @returns {Break} */\n function hardBreak() {\n return {\n type: 'break'\n }\n }\n\n /** @returns {HTML} */\n function html() {\n return {\n type: 'html',\n value: ''\n }\n }\n\n /** @returns {Image} */\n function image() {\n return {\n type: 'image',\n title: null,\n url: '',\n alt: null\n }\n }\n\n /** @returns {Link} */\n function link() {\n return {\n type: 'link',\n title: null,\n url: '',\n children: []\n }\n }\n\n /**\n * @param {Token} token\n * @returns {List}\n */\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n spread: token._spread,\n children: []\n }\n }\n\n /**\n * @param {Token} token\n * @returns {ListItem}\n */\n function listItem(token) {\n return {\n type: 'listItem',\n spread: token._spread,\n checked: null,\n children: []\n }\n }\n\n /** @returns {Paragraph} */\n function paragraph() {\n return {\n type: 'paragraph',\n children: []\n }\n }\n\n /** @returns {Strong} */\n function strong() {\n return {\n type: 'strong',\n children: []\n }\n }\n\n /** @returns {Text} */\n function text() {\n return {\n type: 'text',\n value: ''\n }\n }\n\n /** @returns {ThematicBreak} */\n function thematicBreak() {\n return {\n type: 'thematicBreak'\n }\n }\n}\n\n/**\n * Copy a point-like value.\n *\n * @param {Point} d\n * Point-like value.\n * @returns {Point}\n * unist point.\n */\nfunction point(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Array>} extensions\n * @returns {void}\n */\nfunction configure(combined, extensions) {\n let index = -1\n while (++index < extensions.length) {\n const value = extensions[index]\n if (Array.isArray(value)) {\n configure(combined, value)\n } else {\n extension(combined, value)\n }\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Extension} extension\n * @returns {void}\n */\nfunction extension(combined, extension) {\n /** @type {keyof Extension} */\n let key\n for (key in extension) {\n if (own.call(extension, key)) {\n if (key === 'canContainEols') {\n const right = extension[key]\n if (right) {\n combined[key].push(...right)\n }\n } else if (key === 'transforms') {\n const right = extension[key]\n if (right) {\n combined[key].push(...right)\n }\n } else if (key === 'enter' || key === 'exit') {\n const right = extension[key]\n if (right) {\n Object.assign(combined[key], right)\n }\n }\n }\n }\n}\n\n/** @type {OnEnterError} */\nfunction defaultOnError(left, right) {\n if (left) {\n throw new Error(\n 'Cannot close `' +\n left.type +\n '` (' +\n stringifyPosition({\n start: left.start,\n end: left.end\n }) +\n '): a different token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is open'\n )\n } else {\n throw new Error(\n 'Cannot close document, a token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is still open'\n )\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n */\n\nimport {subtokenize} from 'micromark-util-subtokenize'\n\n/**\n * @param {Array} events\n * @returns {Array}\n */\nexport function postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').Create} Create\n * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n */\n\nimport {combineExtensions} from 'micromark-util-combine-extensions'\nimport {content} from './initialize/content.js'\nimport {document} from './initialize/document.js'\nimport {flow} from './initialize/flow.js'\nimport {text, string} from './initialize/text.js'\nimport {createTokenizer} from './create-tokenizer.js'\nimport * as defaultConstructs from './constructs.js'\n\n/**\n * @param {ParseOptions | null | undefined} [options]\n * @returns {ParseContext}\n */\nexport function parse(options) {\n const settings = options || {}\n const constructs =\n /** @type {FullNormalizedExtension} */\n combineExtensions([defaultConstructs, ...(settings.extensions || [])])\n\n /** @type {ParseContext} */\n const parser = {\n defined: [],\n lazy: {},\n constructs,\n content: create(content),\n document: create(document),\n flow: create(flow),\n string: create(string),\n text: create(text)\n }\n return parser\n\n /**\n * @param {InitialConstruct} initial\n */\n function create(initial) {\n return creator\n /** @type {Create} */\n function creator(from) {\n return createTokenizer(parser, initial, from)\n }\n }\n}\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast-util-from-markdown').Options} Options\n */\n\nimport {fromMarkdown} from 'mdast-util-from-markdown'\n\n/**\n * @this {import('unified').Processor}\n * @type {import('unified').Plugin<[Options?] | void[], string, Root>}\n */\nexport default function remarkParse(options) {\n /** @type {import('unified').ParserFunction} */\n const parser = (doc) => {\n // Assume options.\n const settings = /** @type {Options} */ (this.data('settings'))\n\n return fromMarkdown(\n doc,\n Object.assign({}, settings, options, {\n // Note: these options are not in the readme.\n // The goal is for them to be set by plugins on `data` instead of being\n // passed by users.\n extensions: this.data('micromarkExtensions') || [],\n mdastExtensions: this.data('fromMarkdownExtensions') || []\n })\n )\n }\n\n Object.assign(this, {Parser: parser})\n}\n","import {asciiAlphanumeric} from 'micromark-util-character'\nimport {encode} from 'micromark-util-encode'\n/**\n * Make a value safe for injection as a URL.\n *\n * This encodes unsafe characters with percent-encoding and skips already\n * encoded sequences (see `normalizeUri`).\n * Further unsafe characters are encoded as character references (see\n * `micromark-util-encode`).\n *\n * A regex of allowed protocols can be given, in which case the URL is\n * sanitized.\n * For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`, or\n * `/^https?$/i` for `img[src]` (this is what `github.com` allows).\n * If the URL includes an unknown protocol (one not matched by `protocol`, such\n * as a dangerous example, `javascript:`), the value is ignored.\n *\n * @param {string | undefined} url\n * URI to sanitize.\n * @param {RegExp | null | undefined} [protocol]\n * Allowed protocols.\n * @returns {string}\n * Sanitized URI.\n */\nexport function sanitizeUri(url, protocol) {\n const value = encode(normalizeUri(url || ''))\n if (!protocol) {\n return value\n }\n const colon = value.indexOf(':')\n const questionMark = value.indexOf('?')\n const numberSign = value.indexOf('#')\n const slash = value.indexOf('/')\n if (\n // If there is no protocol, it’s relative.\n colon < 0 ||\n // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.\n (slash > -1 && colon > slash) ||\n (questionMark > -1 && colon > questionMark) ||\n (numberSign > -1 && colon > numberSign) ||\n // It is a protocol, it should be allowed.\n protocol.test(value.slice(0, colon))\n ) {\n return value\n }\n return ''\n}\n\n/**\n * Normalize a URL.\n *\n * Encode unsafe characters with percent-encoding, skipping already encoded\n * sequences.\n *\n * @param {string} value\n * URI to normalize.\n * @returns {string}\n * Normalized URI.\n */\nexport function normalizeUri(value) {\n /** @type {Array} */\n const result = []\n let index = -1\n let start = 0\n let skip = 0\n while (++index < value.length) {\n const code = value.charCodeAt(index)\n /** @type {string} */\n let replace = ''\n\n // A correct percent encoded value.\n if (\n code === 37 &&\n asciiAlphanumeric(value.charCodeAt(index + 1)) &&\n asciiAlphanumeric(value.charCodeAt(index + 2))\n ) {\n skip = 2\n }\n // ASCII.\n else if (code < 128) {\n if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code))) {\n replace = String.fromCharCode(code)\n }\n }\n // Astral.\n else if (code > 55295 && code < 57344) {\n const next = value.charCodeAt(index + 1)\n\n // A correct surrogate pair.\n if (code < 56320 && next > 56319 && next < 57344) {\n replace = String.fromCharCode(code, next)\n skip = 1\n }\n // Lone surrogate.\n else {\n replace = '\\uFFFD'\n }\n }\n // Unicode.\n else {\n replace = String.fromCharCode(code)\n }\n if (replace) {\n result.push(value.slice(start, index), encodeURIComponent(replace))\n start = index + skip + 1\n replace = ''\n }\n if (skip) {\n index += skip\n skip = 0\n }\n }\n return result.join('') + value.slice(start)\n}\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').Definition} Definition\n */\n\n/**\n * @typedef {Root | Content} Node\n *\n * @callback GetDefinition\n * Get a definition by identifier.\n * @param {string | null | undefined} [identifier]\n * Identifier of definition.\n * @returns {Definition | null}\n * Definition corresponding to `identifier` or `null`.\n */\n\nimport {visit} from 'unist-util-visit'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Find definitions in `tree`.\n *\n * Uses CommonMark precedence, which means that earlier definitions are\n * preferred over duplicate later definitions.\n *\n * @param {Node} tree\n * Tree to check.\n * @returns {GetDefinition}\n * Getter.\n */\nexport function definitions(tree) {\n /** @type {Record} */\n const cache = Object.create(null)\n\n if (!tree || !tree.type) {\n throw new Error('mdast-util-definitions expected node')\n }\n\n visit(tree, 'definition', (definition) => {\n const id = clean(definition.identifier)\n if (id && !own.call(cache, id)) {\n cache[id] = definition\n }\n })\n\n return definition\n\n /** @type {GetDefinition} */\n function definition(identifier) {\n const id = clean(identifier)\n // To do: next major: return `undefined` when not found.\n return id && own.call(cache, id) ? cache[id] : null\n }\n}\n\n/**\n * @param {string | null | undefined} [value]\n * @returns {string}\n */\nfunction clean(value) {\n return String(value || '').toUpperCase()\n}\n","/**\n * @typedef {import('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('hast').Element} Element\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `footnoteReference` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {FootnoteReference} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function footnoteReference(state, node) {\n const id = String(node.identifier).toUpperCase()\n const safeId = normalizeUri(id.toLowerCase())\n const index = state.footnoteOrder.indexOf(id)\n /** @type {number} */\n let counter\n\n if (index === -1) {\n state.footnoteOrder.push(id)\n state.footnoteCounts[id] = 1\n counter = state.footnoteOrder.length\n } else {\n state.footnoteCounts[id]++\n counter = index + 1\n }\n\n const reuseCounter = state.footnoteCounts[id]\n\n /** @type {Element} */\n const link = {\n type: 'element',\n tagName: 'a',\n properties: {\n href: '#' + state.clobberPrefix + 'fn-' + safeId,\n id:\n state.clobberPrefix +\n 'fnref-' +\n safeId +\n (reuseCounter > 1 ? '-' + reuseCounter : ''),\n dataFootnoteRef: true,\n ariaDescribedBy: ['footnote-label']\n },\n children: [{type: 'text', value: String(counter)}]\n }\n state.patch(node, link)\n\n /** @type {Element} */\n const sup = {\n type: 'element',\n tagName: 'sup',\n properties: {},\n children: [link]\n }\n state.patch(node, sup)\n return state.applyData(node, sup)\n}\n","/**\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').Reference} Reference\n * @typedef {import('mdast').Root} Root\n *\n * @typedef {import('./state.js').State} State\n */\n\n/**\n * @typedef {Root | Content} Nodes\n * @typedef {Extract} References\n */\n\n// To do: next major: always return array.\n\n/**\n * Return the content of a reference without definition as plain text.\n *\n * @param {State} state\n * Info passed around.\n * @param {References} node\n * Reference node (image, link).\n * @returns {ElementContent | Array}\n * hast content.\n */\nexport function revert(state, node) {\n const subtype = node.referenceType\n let suffix = ']'\n\n if (subtype === 'collapsed') {\n suffix += '[]'\n } else if (subtype === 'full') {\n suffix += '[' + (node.label || node.identifier) + ']'\n }\n\n if (node.type === 'imageReference') {\n return {type: 'text', value: '![' + node.alt + suffix}\n }\n\n const contents = state.all(node)\n const head = contents[0]\n\n if (head && head.type === 'text') {\n head.value = '[' + head.value\n } else {\n contents.unshift({type: 'text', value: '['})\n }\n\n const tail = contents[contents.length - 1]\n\n if (tail && tail.type === 'text') {\n tail.value += suffix\n } else {\n contents.push({type: 'text', value: suffix})\n }\n\n return contents\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Parent} Parent\n * @typedef {import('mdast').Root} Root\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * @typedef {Root | Content} Nodes\n * @typedef {Extract} Parents\n */\n\n/**\n * Turn an mdast `listItem` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {ListItem} node\n * mdast node.\n * @param {Parents | null | undefined} parent\n * Parent of `node`.\n * @returns {Element}\n * hast node.\n */\nexport function listItem(state, node, parent) {\n const results = state.all(node)\n const loose = parent ? listLoose(parent) : listItemLoose(node)\n /** @type {Properties} */\n const properties = {}\n /** @type {Array} */\n const children = []\n\n if (typeof node.checked === 'boolean') {\n const head = results[0]\n /** @type {Element} */\n let paragraph\n\n if (head && head.type === 'element' && head.tagName === 'p') {\n paragraph = head\n } else {\n paragraph = {type: 'element', tagName: 'p', properties: {}, children: []}\n results.unshift(paragraph)\n }\n\n if (paragraph.children.length > 0) {\n paragraph.children.unshift({type: 'text', value: ' '})\n }\n\n paragraph.children.unshift({\n type: 'element',\n tagName: 'input',\n properties: {type: 'checkbox', checked: node.checked, disabled: true},\n children: []\n })\n\n // According to github-markdown-css, this class hides bullet.\n // See: .\n properties.className = ['task-list-item']\n }\n\n let index = -1\n\n while (++index < results.length) {\n const child = results[index]\n\n // Add eols before nodes, except if this is a loose, first paragraph.\n if (\n loose ||\n index !== 0 ||\n child.type !== 'element' ||\n child.tagName !== 'p'\n ) {\n children.push({type: 'text', value: '\\n'})\n }\n\n if (child.type === 'element' && child.tagName === 'p' && !loose) {\n children.push(...child.children)\n } else {\n children.push(child)\n }\n }\n\n const tail = results[results.length - 1]\n\n // Add a final eol.\n if (tail && (loose || tail.type !== 'element' || tail.tagName !== 'p')) {\n children.push({type: 'text', value: '\\n'})\n }\n\n /** @type {Element} */\n const result = {type: 'element', tagName: 'li', properties, children}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * @param {Parents} node\n * @return {Boolean}\n */\nfunction listLoose(node) {\n let loose = false\n if (node.type === 'list') {\n loose = node.spread || false\n const children = node.children\n let index = -1\n\n while (!loose && ++index < children.length) {\n loose = listItemLoose(children[index])\n }\n }\n\n return loose\n}\n\n/**\n * @param {ListItem} node\n * @return {Boolean}\n */\nfunction listItemLoose(node) {\n const spread = node.spread\n\n return spread === undefined || spread === null\n ? node.children.length > 1\n : spread\n}\n","const tab = 9 /* `\\t` */\nconst space = 32 /* ` ` */\n\n/**\n * Remove initial and final spaces and tabs at the line breaks in `value`.\n * Does not trim initial and final spaces and tabs of the value itself.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Trimmed value.\n */\nexport function trimLines(value) {\n const source = String(value)\n const search = /\\r?\\n|\\r/g\n let match = search.exec(source)\n let last = 0\n /** @type {Array} */\n const lines = []\n\n while (match) {\n lines.push(\n trimLine(source.slice(last, match.index), last > 0, true),\n match[0]\n )\n\n last = match.index + match[0].length\n match = search.exec(source)\n }\n\n lines.push(trimLine(source.slice(last), last > 0, false))\n\n return lines.join('')\n}\n\n/**\n * @param {string} value\n * Line to trim.\n * @param {boolean} start\n * Whether to trim the start of the line.\n * @param {boolean} end\n * Whether to trim the end of the line.\n * @returns {string}\n * Trimmed line.\n */\nfunction trimLine(value, start, end) {\n let startIndex = 0\n let endIndex = value.length\n\n if (start) {\n let code = value.codePointAt(startIndex)\n\n while (code === tab || code === space) {\n startIndex++\n code = value.codePointAt(startIndex)\n }\n }\n\n if (end) {\n let code = value.codePointAt(endIndex - 1)\n\n while (code === tab || code === space) {\n endIndex--\n code = value.codePointAt(endIndex - 1)\n }\n }\n\n return endIndex > startIndex ? value.slice(startIndex, endIndex) : ''\n}\n","import {blockquote} from './blockquote.js'\nimport {hardBreak} from './break.js'\nimport {code} from './code.js'\nimport {strikethrough} from './delete.js'\nimport {emphasis} from './emphasis.js'\nimport {footnoteReference} from './footnote-reference.js'\nimport {footnote} from './footnote.js'\nimport {heading} from './heading.js'\nimport {html} from './html.js'\nimport {imageReference} from './image-reference.js'\nimport {image} from './image.js'\nimport {inlineCode} from './inline-code.js'\nimport {linkReference} from './link-reference.js'\nimport {link} from './link.js'\nimport {listItem} from './list-item.js'\nimport {list} from './list.js'\nimport {paragraph} from './paragraph.js'\nimport {root} from './root.js'\nimport {strong} from './strong.js'\nimport {table} from './table.js'\nimport {tableRow} from './table-row.js'\nimport {tableCell} from './table-cell.js'\nimport {text} from './text.js'\nimport {thematicBreak} from './thematic-break.js'\n\n/**\n * Default handlers for nodes.\n */\nexport const handlers = {\n blockquote,\n break: hardBreak,\n code,\n delete: strikethrough,\n emphasis,\n footnoteReference,\n footnote,\n heading,\n html,\n imageReference,\n image,\n inlineCode,\n linkReference,\n link,\n listItem,\n list,\n paragraph,\n root,\n strong,\n table,\n tableCell,\n tableRow,\n text,\n thematicBreak,\n toml: ignore,\n yaml: ignore,\n definition: ignore,\n footnoteDefinition: ignore\n}\n\n// Return nothing for nodes that are ignored.\nfunction ignore() {\n // To do: next major: return `undefined`.\n return null\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `blockquote` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Blockquote} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function blockquote(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'blockquote',\n properties: {},\n children: state.wrap(state.all(node), true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').Break} Break\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `break` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Break} node\n * mdast node.\n * @returns {Array}\n * hast element content.\n */\nexport function hardBreak(state, node) {\n /** @type {Element} */\n const result = {type: 'element', tagName: 'br', properties: {}, children: []}\n state.patch(node, result)\n return [state.applyData(node, result), {type: 'text', value: '\\n'}]\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Code} Code\n * @typedef {import('../state.js').State} State\n\n */\n\n/**\n * Turn an mdast `code` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Code} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function code(state, node) {\n const value = node.value ? node.value + '\\n' : ''\n // To do: next major, use `node.lang` w/o regex, the splitting’s been going\n // on for years in remark now.\n const lang = node.lang ? node.lang.match(/^[^ \\t]+(?=[ \\t]|$)/) : null\n /** @type {Properties} */\n const properties = {}\n\n if (lang) {\n properties.className = ['language-' + lang]\n }\n\n // Create ``.\n /** @type {Element} */\n let result = {\n type: 'element',\n tagName: 'code',\n properties,\n children: [{type: 'text', value}]\n }\n\n if (node.meta) {\n result.data = {meta: node.meta}\n }\n\n state.patch(node, result)\n result = state.applyData(node, result)\n\n // Create `
`.\n  result = {type: 'element', tagName: 'pre', properties: {}, children: [result]}\n  state.patch(node, result)\n  return result\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Delete} Delete\n * @typedef {import('../state.js').State} State\n\n */\n\n/**\n * Turn an mdast `delete` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Delete} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function strikethrough(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'del',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `emphasis` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Emphasis} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function emphasis(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'em',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Footnote} Footnote\n * @typedef {import('../state.js').State} State\n */\n\nimport {footnoteReference} from './footnote-reference.js'\n\n// To do: when both:\n// * \n// * \n// …are archived, remove this (also from mdast).\n// These inline notes are not used in GFM.\n\n/**\n * Turn an mdast `footnote` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Footnote} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function footnote(state, node) {\n  const footnoteById = state.footnoteById\n  let no = 1\n\n  while (no in footnoteById) no++\n\n  const identifier = String(no)\n\n  footnoteById[identifier] = {\n    type: 'footnoteDefinition',\n    identifier,\n    children: [{type: 'paragraph', children: node.children}],\n    position: node.position\n  }\n\n  return footnoteReference(state, {\n    type: 'footnoteReference',\n    identifier,\n    position: node.position\n  })\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `heading` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Heading} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function heading(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'h' + node.depth,\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').HTML} Html\n * @typedef {import('../state.js').State} State\n * @typedef {import('../../index.js').Raw} Raw\n */\n\n/**\n * Turn an mdast `html` node into hast (`raw` node in dangerous mode, otherwise\n * nothing).\n *\n * @param {State} state\n *   Info passed around.\n * @param {Html} node\n *   mdast node.\n * @returns {Raw | Element | null}\n *   hast node.\n */\nexport function html(state, node) {\n  if (state.dangerous) {\n    /** @type {Raw} */\n    const result = {type: 'raw', value: node.value}\n    state.patch(node, result)\n    return state.applyData(node, result)\n  }\n\n  // To do: next major: return `undefined`.\n  return null\n}\n","/**\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `imageReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {ImageReference} node\n *   mdast node.\n * @returns {ElementContent | Array}\n *   hast node.\n */\nexport function imageReference(state, node) {\n  const def = state.definition(node.identifier)\n\n  if (!def) {\n    return revert(state, node)\n  }\n\n  /** @type {Properties} */\n  const properties = {src: normalizeUri(def.url || ''), alt: node.alt}\n\n  if (def.title !== null && def.title !== undefined) {\n    properties.title = def.title\n  }\n\n  /** @type {Element} */\n  const result = {type: 'element', tagName: 'img', properties, children: []}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Image} Image\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `image` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Image} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function image(state, node) {\n  /** @type {Properties} */\n  const properties = {src: normalizeUri(node.url)}\n\n  if (node.alt !== null && node.alt !== undefined) {\n    properties.alt = node.alt\n  }\n\n  if (node.title !== null && node.title !== undefined) {\n    properties.title = node.title\n  }\n\n  /** @type {Element} */\n  const result = {type: 'element', tagName: 'img', properties, children: []}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `inlineCode` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {InlineCode} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function inlineCode(state, node) {\n  /** @type {Text} */\n  const text = {type: 'text', value: node.value.replace(/\\r?\\n|\\r/g, ' ')}\n  state.patch(node, text)\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'code',\n    properties: {},\n    children: [text]\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `linkReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {LinkReference} node\n *   mdast node.\n * @returns {ElementContent | Array}\n *   hast node.\n */\nexport function linkReference(state, node) {\n  const def = state.definition(node.identifier)\n\n  if (!def) {\n    return revert(state, node)\n  }\n\n  /** @type {Properties} */\n  const properties = {href: normalizeUri(def.url || '')}\n\n  if (def.title !== null && def.title !== undefined) {\n    properties.title = def.title\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'a',\n    properties,\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Link} Link\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `link` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Link} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function link(state, node) {\n  /** @type {Properties} */\n  const properties = {href: normalizeUri(node.url)}\n\n  if (node.title !== null && node.title !== undefined) {\n    properties.title = node.title\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'a',\n    properties,\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').List} List\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `list` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {List} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function list(state, node) {\n  /** @type {Properties} */\n  const properties = {}\n  const results = state.all(node)\n  let index = -1\n\n  if (typeof node.start === 'number' && node.start !== 1) {\n    properties.start = node.start\n  }\n\n  // Like GitHub, add a class for custom styling.\n  while (++index < results.length) {\n    const child = results[index]\n\n    if (\n      child.type === 'element' &&\n      child.tagName === 'li' &&\n      child.properties &&\n      Array.isArray(child.properties.className) &&\n      child.properties.className.includes('task-list-item')\n    ) {\n      properties.className = ['contains-task-list']\n      break\n    }\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: node.ordered ? 'ol' : 'ul',\n    properties,\n    children: state.wrap(results, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `paragraph` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Paragraph} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function paragraph(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'p',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `root` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {MdastRoot} node\n *   mdast node.\n * @returns {HastRoot | HastElement}\n *   hast node.\n */\nexport function root(state, node) {\n  /** @type {HastRoot} */\n  const result = {type: 'root', children: state.wrap(state.all(node))}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `strong` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Strong} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function strong(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'strong',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Table} Table\n * @typedef {import('../state.js').State} State\n */\n\nimport {pointStart, pointEnd} from 'unist-util-position'\n\n/**\n * Turn an mdast `table` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Table} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function table(state, node) {\n  const rows = state.all(node)\n  const firstRow = rows.shift()\n  /** @type {Array} */\n  const tableContent = []\n\n  if (firstRow) {\n    /** @type {Element} */\n    const head = {\n      type: 'element',\n      tagName: 'thead',\n      properties: {},\n      children: state.wrap([firstRow], true)\n    }\n    state.patch(node.children[0], head)\n    tableContent.push(head)\n  }\n\n  if (rows.length > 0) {\n    /** @type {Element} */\n    const body = {\n      type: 'element',\n      tagName: 'tbody',\n      properties: {},\n      children: state.wrap(rows, true)\n    }\n\n    const start = pointStart(node.children[1])\n    const end = pointEnd(node.children[node.children.length - 1])\n    if (start.line && end.line) body.position = {start, end}\n    tableContent.push(body)\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'table',\n    properties: {},\n    children: state.wrap(tableContent, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `tableCell` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {TableCell} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function tableCell(state, node) {\n  // Note: this function is normally not called: see `table-row` for how rows\n  // and their cells are compiled.\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'td', // Assume body cell.\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').Parent} Parent\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').TableRow} TableRow\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * @typedef {Root | Content} Nodes\n * @typedef {Extract} Parents\n */\n\n/**\n * Turn an mdast `tableRow` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {TableRow} node\n *   mdast node.\n * @param {Parents | null | undefined} parent\n *   Parent of `node`.\n * @returns {Element}\n *   hast node.\n */\nexport function tableRow(state, node, parent) {\n  const siblings = parent ? parent.children : undefined\n  // Generate a body row when without parent.\n  const rowIndex = siblings ? siblings.indexOf(node) : 1\n  const tagName = rowIndex === 0 ? 'th' : 'td'\n  const align = parent && parent.type === 'table' ? parent.align : undefined\n  const length = align ? align.length : node.children.length\n  let cellIndex = -1\n  /** @type {Array} */\n  const cells = []\n\n  while (++cellIndex < length) {\n    // Note: can also be undefined.\n    const cell = node.children[cellIndex]\n    /** @type {Properties} */\n    const properties = {}\n    const alignValue = align ? align[cellIndex] : undefined\n\n    if (alignValue) {\n      properties.align = alignValue\n    }\n\n    /** @type {Element} */\n    let result = {type: 'element', tagName, properties, children: []}\n\n    if (cell) {\n      result.children = state.all(cell)\n      state.patch(cell, result)\n      result = state.applyData(node, result)\n    }\n\n    cells.push(result)\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'tr',\n    properties: {},\n    children: state.wrap(cells, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').Text} HastText\n * @typedef {import('mdast').Text} MdastText\n * @typedef {import('../state.js').State} State\n */\n\nimport {trimLines} from 'trim-lines'\n\n/**\n * Turn an mdast `text` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {MdastText} node\n *   mdast node.\n * @returns {HastText | HastElement}\n *   hast node.\n */\nexport function text(state, node) {\n  /** @type {HastText} */\n  const result = {type: 'text', value: trimLines(String(node.value))}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `thematicBreak` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {ThematicBreak} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function thematicBreak(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'hr',\n    properties: {},\n    children: []\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Content} HastContent\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').ElementContent} HastElementContent\n * @typedef {import('hast').Properties} HastProperties\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('hast').Text} HastText\n *\n * @typedef {import('mdast').Content} MdastContent\n * @typedef {import('mdast').Definition} MdastDefinition\n * @typedef {import('mdast').FootnoteDefinition} MdastFootnoteDefinition\n * @typedef {import('mdast').Parent} MdastParent\n * @typedef {import('mdast').Root} MdastRoot\n */\n\n/**\n * @typedef {HastRoot | HastContent} HastNodes\n * @typedef {MdastRoot | MdastContent} MdastNodes\n * @typedef {Extract} MdastParents\n *\n * @typedef EmbeddedHastFields\n *   hast fields.\n * @property {string | null | undefined} [hName]\n *   Generate a specific element with this tag name instead.\n * @property {HastProperties | null | undefined} [hProperties]\n *   Generate an element with these properties instead.\n * @property {Array | null | undefined} [hChildren]\n *   Generate an element with this content instead.\n *\n * @typedef {Record & EmbeddedHastFields} MdastData\n *   mdast data with embedded hast fields.\n *\n * @typedef {MdastNodes & {data?: MdastData | null | undefined}} MdastNodeWithData\n *   mdast node with embedded hast data.\n *\n * @typedef PointLike\n *   Point-like value.\n * @property {number | null | undefined} [line]\n *   Line.\n * @property {number | null | undefined} [column]\n *   Column.\n * @property {number | null | undefined} [offset]\n *   Offset.\n *\n * @typedef PositionLike\n *   Position-like value.\n * @property {PointLike | null | undefined} [start]\n *   Point-like value.\n * @property {PointLike | null | undefined} [end]\n *   Point-like value.\n *\n * @callback Handler\n *   Handle a node.\n * @param {State} state\n *   Info passed around.\n * @param {any} node\n *   mdast node to handle.\n * @param {MdastParents | null | undefined} parent\n *   Parent of `node`.\n * @returns {HastElementContent | Array | null | undefined}\n *   hast node.\n *\n * @callback HFunctionProps\n *   Signature of `state` for when props are passed.\n * @param {MdastNodes | PositionLike | null | undefined} node\n *   mdast node or unist position.\n * @param {string} tagName\n *   HTML tag name.\n * @param {HastProperties} props\n *   Properties.\n * @param {Array | null | undefined} [children]\n *   hast content.\n * @returns {HastElement}\n *   Compiled element.\n *\n * @callback HFunctionNoProps\n *   Signature of `state` for when no props are passed.\n * @param {MdastNodes | PositionLike | null | undefined} node\n *   mdast node or unist position.\n * @param {string} tagName\n *   HTML tag name.\n * @param {Array | null | undefined} [children]\n *   hast content.\n * @returns {HastElement}\n *   Compiled element.\n *\n * @typedef HFields\n *   Info on `state`.\n * @property {boolean} dangerous\n *   Whether HTML is allowed.\n * @property {string} clobberPrefix\n *   Prefix to use to prevent DOM clobbering.\n * @property {string} footnoteLabel\n *   Label to use to introduce the footnote section.\n * @property {string} footnoteLabelTagName\n *   HTML used for the footnote label.\n * @property {HastProperties} footnoteLabelProperties\n *   Properties on the HTML tag used for the footnote label.\n * @property {string} footnoteBackLabel\n *   Label to use from backreferences back to their footnote call.\n * @property {(identifier: string) => MdastDefinition | null} definition\n *   Definition cache.\n * @property {Record} footnoteById\n *   Footnote definitions by their identifier.\n * @property {Array} footnoteOrder\n *   Identifiers of order when footnote calls first appear in tree order.\n * @property {Record} footnoteCounts\n *   Counts for how often the same footnote was called.\n * @property {Handlers} handlers\n *   Applied handlers.\n * @property {Handler} unknownHandler\n *   Handler for any none not in `passThrough` or otherwise handled.\n * @property {(from: MdastNodes, node: HastNodes) => void} patch\n *   Copy a node’s positional info.\n * @property {(from: MdastNodes, to: Type) => Type | HastElement} applyData\n *   Honor the `data` of `from`, and generate an element instead of `node`.\n * @property {(node: MdastNodes, parent: MdastParents | null | undefined) => HastElementContent | Array | null | undefined} one\n *   Transform an mdast node to hast.\n * @property {(node: MdastNodes) => Array} all\n *   Transform the children of an mdast parent to hast.\n * @property {(nodes: Array, loose?: boolean | null | undefined) => Array} wrap\n *   Wrap `nodes` with line endings between each node, adds initial/final line endings when `loose`.\n * @property {(left: MdastNodeWithData | PositionLike | null | undefined, right: HastElementContent) => HastElementContent} augment\n *   Like `state` but lower-level and usable on non-elements.\n *   Deprecated: use `patch` and `applyData`.\n * @property {Array} passThrough\n *   List of node types to pass through untouched (except for their children).\n *\n * @typedef Options\n *   Configuration (optional).\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n *   Whether to persist raw HTML in markdown in the hast tree.\n * @property {string | null | undefined} [clobberPrefix='user-content-']\n *   Prefix to use before the `id` attribute on footnotes to prevent it from\n *   *clobbering*.\n * @property {string | null | undefined} [footnoteBackLabel='Back to content']\n *   Label to use from backreferences back to their footnote call (affects\n *   screen readers).\n * @property {string | null | undefined} [footnoteLabel='Footnotes']\n *   Label to use for the footnotes section (affects screen readers).\n * @property {HastProperties | null | undefined} [footnoteLabelProperties={className: ['sr-only']}]\n *   Properties to use on the footnote label (note that `id: 'footnote-label'`\n *   is always added as footnote calls use it with `aria-describedby` to\n *   provide an accessible label).\n * @property {string | null | undefined} [footnoteLabelTagName='h2']\n *   Tag name to use for the footnote label.\n * @property {Handlers | null | undefined} [handlers]\n *   Extra handlers for nodes.\n * @property {Array | null | undefined} [passThrough]\n *   List of custom mdast node types to pass through (keep) in hast (note that\n *   the node itself is passed, but eventual children are transformed).\n * @property {Handler | null | undefined} [unknownHandler]\n *   Handler for all unknown nodes.\n *\n * @typedef {Record} Handlers\n *   Handle nodes.\n *\n * @typedef {HFunctionProps & HFunctionNoProps & HFields} State\n *   Info passed around.\n */\n\nimport {visit} from 'unist-util-visit'\nimport {position, pointStart, pointEnd} from 'unist-util-position'\nimport {generated} from 'unist-util-generated'\nimport {definitions} from 'mdast-util-definitions'\nimport {handlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Create `state` from an mdast tree.\n *\n * @param {MdastNodes} tree\n *   mdast node to transform.\n * @param {Options | null | undefined} [options]\n *   Configuration.\n * @returns {State}\n *   `state` function.\n */\nexport function createState(tree, options) {\n  const settings = options || {}\n  const dangerous = settings.allowDangerousHtml || false\n  /** @type {Record} */\n  const footnoteById = {}\n\n  // To do: next major: add `options` to state, remove:\n  // `dangerous`, `clobberPrefix`, `footnoteLabel`, `footnoteLabelTagName`,\n  // `footnoteLabelProperties`, `footnoteBackLabel`, `passThrough`,\n  // `unknownHandler`.\n\n  // To do: next major: move to `state.options.allowDangerousHtml`.\n  state.dangerous = dangerous\n  // To do: next major: move to `state.options`.\n  state.clobberPrefix =\n    settings.clobberPrefix === undefined || settings.clobberPrefix === null\n      ? 'user-content-'\n      : settings.clobberPrefix\n  // To do: next major: move to `state.options`.\n  state.footnoteLabel = settings.footnoteLabel || 'Footnotes'\n  // To do: next major: move to `state.options`.\n  state.footnoteLabelTagName = settings.footnoteLabelTagName || 'h2'\n  // To do: next major: move to `state.options`.\n  state.footnoteLabelProperties = settings.footnoteLabelProperties || {\n    className: ['sr-only']\n  }\n  // To do: next major: move to `state.options`.\n  state.footnoteBackLabel = settings.footnoteBackLabel || 'Back to content'\n  // To do: next major: move to `state.options`.\n  state.unknownHandler = settings.unknownHandler\n  // To do: next major: move to `state.options`.\n  state.passThrough = settings.passThrough\n\n  state.handlers = {...handlers, ...settings.handlers}\n\n  // To do: next major: replace utility with `definitionById` object, so we\n  // only walk once (as we need footnotes too).\n  state.definition = definitions(tree)\n  state.footnoteById = footnoteById\n  /** @type {Array} */\n  state.footnoteOrder = []\n  /** @type {Record} */\n  state.footnoteCounts = {}\n\n  state.patch = patch\n  state.applyData = applyData\n  state.one = oneBound\n  state.all = allBound\n  state.wrap = wrap\n  // To do: next major: remove `augment`.\n  state.augment = augment\n\n  visit(tree, 'footnoteDefinition', (definition) => {\n    const id = String(definition.identifier).toUpperCase()\n\n    // Mimick CM behavior of link definitions.\n    // See: .\n    if (!own.call(footnoteById, id)) {\n      footnoteById[id] = definition\n    }\n  })\n\n  // @ts-expect-error Hush, it’s fine!\n  return state\n\n  /**\n   * Finalise the created `right`, a hast node, from `left`, an mdast node.\n   *\n   * @param {MdastNodeWithData | PositionLike | null | undefined} left\n   * @param {HastElementContent} right\n   * @returns {HastElementContent}\n   */\n  /* c8 ignore start */\n  // To do: next major: remove.\n  function augment(left, right) {\n    // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n    if (left && 'data' in left && left.data) {\n      /** @type {MdastData} */\n      const data = left.data\n\n      if (data.hName) {\n        if (right.type !== 'element') {\n          right = {\n            type: 'element',\n            tagName: '',\n            properties: {},\n            children: []\n          }\n        }\n\n        right.tagName = data.hName\n      }\n\n      if (right.type === 'element' && data.hProperties) {\n        right.properties = {...right.properties, ...data.hProperties}\n      }\n\n      if ('children' in right && right.children && data.hChildren) {\n        right.children = data.hChildren\n      }\n    }\n\n    if (left) {\n      const ctx = 'type' in left ? left : {position: left}\n\n      if (!generated(ctx)) {\n        // @ts-expect-error: fine.\n        right.position = {start: pointStart(ctx), end: pointEnd(ctx)}\n      }\n    }\n\n    return right\n  }\n  /* c8 ignore stop */\n\n  /**\n   * Create an element for `node`.\n   *\n   * @type {HFunctionProps}\n   */\n  /* c8 ignore start */\n  // To do: next major: remove.\n  function state(node, tagName, props, children) {\n    if (Array.isArray(props)) {\n      children = props\n      props = {}\n    }\n\n    // @ts-expect-error augmenting an element yields an element.\n    return augment(node, {\n      type: 'element',\n      tagName,\n      properties: props || {},\n      children: children || []\n    })\n  }\n  /* c8 ignore stop */\n\n  /**\n   * Transform an mdast node into a hast node.\n   *\n   * @param {MdastNodes} node\n   *   mdast node.\n   * @param {MdastParents | null | undefined} [parent]\n   *   Parent of `node`.\n   * @returns {HastElementContent | Array | null | undefined}\n   *   Resulting hast node.\n   */\n  function oneBound(node, parent) {\n    // @ts-expect-error: that’s a state :)\n    return one(state, node, parent)\n  }\n\n  /**\n   * Transform the children of an mdast node into hast nodes.\n   *\n   * @param {MdastNodes} parent\n   *   mdast node to compile\n   * @returns {Array}\n   *   Resulting hast nodes.\n   */\n  function allBound(parent) {\n    // @ts-expect-error: that’s a state :)\n    return all(state, parent)\n  }\n}\n\n/**\n * Copy a node’s positional info.\n *\n * @param {MdastNodes} from\n *   mdast node to copy from.\n * @param {HastNodes} to\n *   hast node to copy into.\n * @returns {void}\n *   Nothing.\n */\nfunction patch(from, to) {\n  if (from.position) to.position = position(from)\n}\n\n/**\n * Honor the `data` of `from` and maybe generate an element instead of `to`.\n *\n * @template {HastNodes} Type\n *   Node type.\n * @param {MdastNodes} from\n *   mdast node to use data from.\n * @param {Type} to\n *   hast node to change.\n * @returns {Type | HastElement}\n *   Nothing.\n */\nfunction applyData(from, to) {\n  /** @type {Type | HastElement} */\n  let result = to\n\n  // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n  if (from && from.data) {\n    const hName = from.data.hName\n    const hChildren = from.data.hChildren\n    const hProperties = from.data.hProperties\n\n    if (typeof hName === 'string') {\n      // Transforming the node resulted in an element with a different name\n      // than wanted:\n      if (result.type === 'element') {\n        result.tagName = hName\n      }\n      // Transforming the node resulted in a non-element, which happens for\n      // raw, text, and root nodes (unless custom handlers are passed).\n      // The intent is likely to keep the content around (otherwise: pass\n      // `hChildren`).\n      else {\n        result = {\n          type: 'element',\n          tagName: hName,\n          properties: {},\n          children: []\n        }\n\n        // To do: next major: take the children from the `root`, or inject the\n        // raw/text/comment or so into the element?\n        // if ('children' in node) {\n        //   // @ts-expect-error: assume `children` are allowed in elements.\n        //   result.children = node.children\n        // } else {\n        //   // @ts-expect-error: assume `node` is allowed in elements.\n        //   result.children.push(node)\n        // }\n      }\n    }\n\n    if (result.type === 'element' && hProperties) {\n      result.properties = {...result.properties, ...hProperties}\n    }\n\n    if (\n      'children' in result &&\n      result.children &&\n      hChildren !== null &&\n      hChildren !== undefined\n    ) {\n      // @ts-expect-error: assume valid children are defined.\n      result.children = hChildren\n    }\n  }\n\n  return result\n}\n\n/**\n * Transform an mdast node into a hast node.\n *\n * @param {State} state\n *   Info passed around.\n * @param {MdastNodes} node\n *   mdast node.\n * @param {MdastParents | null | undefined} [parent]\n *   Parent of `node`.\n * @returns {HastElementContent | Array | null | undefined}\n *   Resulting hast node.\n */\n// To do: next major: do not expose, keep bound.\nexport function one(state, node, parent) {\n  const type = node && node.type\n\n  // Fail on non-nodes.\n  if (!type) {\n    throw new Error('Expected node, got `' + node + '`')\n  }\n\n  if (own.call(state.handlers, type)) {\n    return state.handlers[type](state, node, parent)\n  }\n\n  if (state.passThrough && state.passThrough.includes(type)) {\n    // To do: next major: deep clone.\n    // @ts-expect-error: types of passed through nodes are expected to be added manually.\n    return 'children' in node ? {...node, children: all(state, node)} : node\n  }\n\n  if (state.unknownHandler) {\n    return state.unknownHandler(state, node, parent)\n  }\n\n  return defaultUnknownHandler(state, node)\n}\n\n/**\n * Transform the children of an mdast node into hast nodes.\n *\n * @param {State} state\n *   Info passed around.\n * @param {MdastNodes} parent\n *   mdast node to compile\n * @returns {Array}\n *   Resulting hast nodes.\n */\n// To do: next major: do not expose, keep bound.\nexport function all(state, parent) {\n  /** @type {Array} */\n  const values = []\n\n  if ('children' in parent) {\n    const nodes = parent.children\n    let index = -1\n    while (++index < nodes.length) {\n      const result = one(state, nodes[index], parent)\n\n      // To do: see if we van clean this? Can we merge texts?\n      if (result) {\n        if (index && nodes[index - 1].type === 'break') {\n          if (!Array.isArray(result) && result.type === 'text') {\n            result.value = result.value.replace(/^\\s+/, '')\n          }\n\n          if (!Array.isArray(result) && result.type === 'element') {\n            const head = result.children[0]\n\n            if (head && head.type === 'text') {\n              head.value = head.value.replace(/^\\s+/, '')\n            }\n          }\n        }\n\n        if (Array.isArray(result)) {\n          values.push(...result)\n        } else {\n          values.push(result)\n        }\n      }\n    }\n  }\n\n  return values\n}\n\n/**\n * Transform an unknown node.\n *\n * @param {State} state\n *   Info passed around.\n * @param {MdastNodes} node\n *   Unknown mdast node.\n * @returns {HastText | HastElement}\n *   Resulting hast node.\n */\nfunction defaultUnknownHandler(state, node) {\n  const data = node.data || {}\n  /** @type {HastText | HastElement} */\n  const result =\n    'value' in node &&\n    !(own.call(data, 'hProperties') || own.call(data, 'hChildren'))\n      ? {type: 'text', value: node.value}\n      : {\n          type: 'element',\n          tagName: 'div',\n          properties: {},\n          children: all(state, node)\n        }\n\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n\n/**\n * Wrap `nodes` with line endings between each node.\n *\n * @template {HastContent} Type\n *   Node type.\n * @param {Array} nodes\n *   List of nodes to wrap.\n * @param {boolean | null | undefined} [loose=false]\n *   Whether to add line endings at start and end.\n * @returns {Array}\n *   Wrapped nodes.\n */\nexport function wrap(nodes, loose) {\n  /** @type {Array} */\n  const result = []\n  let index = -1\n\n  if (loose) {\n    result.push({type: 'text', value: '\\n'})\n  }\n\n  while (++index < nodes.length) {\n    if (index) result.push({type: 'text', value: '\\n'})\n    result.push(nodes[index])\n  }\n\n  if (loose && nodes.length > 0) {\n    result.push({type: 'text', value: '\\n'})\n  }\n\n  return result\n}\n","/**\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n *\n * @typedef NodeLike\n * @property {PositionLike | null | undefined} [position]\n */\n\n/**\n * Check if `node` is generated.\n *\n * @param {NodeLike | null | undefined} [node]\n *   Node to check.\n * @returns {boolean}\n *   Whether `node` is generated (does not have positional info).\n */\nexport function generated(node) {\n  return (\n    !node ||\n    !node.position ||\n    !node.position.start ||\n    !node.position.start.line ||\n    !node.position.start.column ||\n    !node.position.end ||\n    !node.position.end.line ||\n    !node.position.end.column\n  )\n}\n","/**\n * @typedef {import('hast').Content} HastContent\n * @typedef {import('hast').Root} HastRoot\n *\n * @typedef {import('mdast').Content} MdastContent\n * @typedef {import('mdast').Root} MdastRoot\n *\n * @typedef {import('./state.js').Options} Options\n */\n\n/**\n * @typedef {HastRoot | HastContent} HastNodes\n * @typedef {MdastRoot | MdastContent} MdastNodes\n */\n\nimport {footer} from './footer.js'\nimport {createState} from './state.js'\n\n/**\n * Transform mdast to hast.\n *\n * ##### Notes\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most utilities ignore `raw` nodes but two notable ones don’t:\n *\n * *   `hast-util-to-html` also has an option `allowDangerousHtml` which will\n *     output the raw HTML.\n *     This is typically discouraged as noted by the option name but is useful\n *     if you completely trust authors\n * *   `hast-util-raw` can handle the raw embedded HTML strings by parsing them\n *     into standard hast nodes (`element`, `text`, etc).\n *     This is a heavy task as it needs a full HTML parser, but it is the only\n *     way to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `mdast-util-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n * 

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * Example: headings (DOM clobbering) in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @param {MdastNodes} tree\n * mdast tree.\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {HastNodes | null | undefined}\n * hast tree.\n */\n// To do: next major: always return a single `root`.\nexport function toHast(tree, options) {\n const state = createState(tree, options)\n const node = state.one(tree, null)\n const foot = footer(state)\n\n if (foot) {\n // @ts-expect-error If there’s a footer, there were definitions, meaning block\n // content.\n // So assume `node` is a parent node.\n node.children.push({type: 'text', value: '\\n'}, foot)\n }\n\n // To do: next major: always return root?\n return Array.isArray(node) ? {type: 'root', children: node} : node\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('./state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Generate a hast footer for called footnote definitions.\n *\n * @param {State} state\n * Info passed around.\n * @returns {Element | undefined}\n * `section` element or `undefined`.\n */\nexport function footer(state) {\n /** @type {Array} */\n const listItems = []\n let index = -1\n\n while (++index < state.footnoteOrder.length) {\n const def = state.footnoteById[state.footnoteOrder[index]]\n\n if (!def) {\n continue\n }\n\n const content = state.all(def)\n const id = String(def.identifier).toUpperCase()\n const safeId = normalizeUri(id.toLowerCase())\n let referenceIndex = 0\n /** @type {Array} */\n const backReferences = []\n\n while (++referenceIndex <= state.footnoteCounts[id]) {\n /** @type {Element} */\n const backReference = {\n type: 'element',\n tagName: 'a',\n properties: {\n href:\n '#' +\n state.clobberPrefix +\n 'fnref-' +\n safeId +\n (referenceIndex > 1 ? '-' + referenceIndex : ''),\n dataFootnoteBackref: true,\n className: ['data-footnote-backref'],\n ariaLabel: state.footnoteBackLabel\n },\n children: [{type: 'text', value: '↩'}]\n }\n\n if (referenceIndex > 1) {\n backReference.children.push({\n type: 'element',\n tagName: 'sup',\n children: [{type: 'text', value: String(referenceIndex)}]\n })\n }\n\n if (backReferences.length > 0) {\n backReferences.push({type: 'text', value: ' '})\n }\n\n backReferences.push(backReference)\n }\n\n const tail = content[content.length - 1]\n\n if (tail && tail.type === 'element' && tail.tagName === 'p') {\n const tailTail = tail.children[tail.children.length - 1]\n if (tailTail && tailTail.type === 'text') {\n tailTail.value += ' '\n } else {\n tail.children.push({type: 'text', value: ' '})\n }\n\n tail.children.push(...backReferences)\n } else {\n content.push(...backReferences)\n }\n\n /** @type {Element} */\n const listItem = {\n type: 'element',\n tagName: 'li',\n properties: {id: state.clobberPrefix + 'fn-' + safeId},\n children: state.wrap(content, true)\n }\n\n state.patch(def, listItem)\n\n listItems.push(listItem)\n }\n\n if (listItems.length === 0) {\n return\n }\n\n return {\n type: 'element',\n tagName: 'section',\n properties: {dataFootnotes: true, className: ['footnotes']},\n children: [\n {\n type: 'element',\n tagName: state.footnoteLabelTagName,\n properties: {\n // To do: use structured clone.\n ...JSON.parse(JSON.stringify(state.footnoteLabelProperties)),\n id: 'footnote-label'\n },\n children: [{type: 'text', value: state.footnoteLabel}]\n },\n {type: 'text', value: '\\n'},\n {\n type: 'element',\n tagName: 'ol',\n properties: {},\n children: state.wrap(listItems, true)\n },\n {type: 'text', value: '\\n'}\n ]\n }\n}\n","/**\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('mdast-util-to-hast').Options} Options\n * @typedef {import('unified').Processor} Processor\n *\n * @typedef {import('mdast-util-to-hast')} DoNotTouchAsThisImportIncludesRawInTree\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n// Note: the `` overload doesn’t seem to work :'(\n\n/**\n * Plugin that turns markdown into HTML to support rehype.\n *\n * * If a destination processor is given, that processor runs with a new HTML\n * (hast) tree (bridge-mode).\n * As the given processor runs with a hast tree, and rehype plugins support\n * hast, that means rehype plugins can be used with the given processor.\n * The hast tree is discarded in the end.\n * It’s highly unlikely that you want to do this.\n * * The common case is to not pass a destination processor, in which case the\n * current processor continues running with a new HTML (hast) tree\n * (mutate-mode).\n * As the current processor continues with a hast tree, and rehype plugins\n * support hast, that means rehype plugins can be used after\n * `remark-rehype`.\n * It’s likely that this is what you want to do.\n *\n * @param destination\n * Optional unified processor.\n * @param options\n * Options passed to `mdast-util-to-hast`.\n */\nconst remarkRehype =\n /** @type {(import('unified').Plugin<[Processor, Options?]|[null|undefined, Options?]|[Options]|[], MdastRoot>)} */\n (\n function (destination, options) {\n return destination && 'run' in destination\n ? bridge(destination, options)\n : mutate(destination || options)\n }\n )\n\nexport default remarkRehype\n\n/**\n * Bridge-mode.\n * Runs the destination with the new hast tree.\n *\n * @type {import('unified').Plugin<[Processor, Options?], MdastRoot>}\n */\nfunction bridge(destination, options) {\n return (node, file, next) => {\n destination.run(toHast(node, options), file, (error) => {\n next(error)\n })\n }\n}\n\n/**\n * Mutate-mode.\n * Further plugins run on the hast tree.\n *\n * @type {import('unified').Plugin<[Options?]|void[], MdastRoot, HastRoot>}\n */\nfunction mutate(options) {\n // @ts-expect-error: assume a corresponding node is returned by `toHast`.\n return (node) => toHast(node, options)\n}\n","import {visit} from 'unist-util-visit'\n\n/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Element} Element\n *\n * @callback AllowElement\n * @param {Element} element\n * @param {number} index\n * @param {Element|Root} parent\n * @returns {boolean|undefined}\n *\n * @typedef Options\n * @property {Array} [allowedElements]\n * @property {Array} [disallowedElements=[]]\n * @property {AllowElement} [allowElement]\n * @property {boolean} [unwrapDisallowed=false]\n */\n\n/**\n * @type {import('unified').Plugin<[Options], Root>}\n */\nexport default function rehypeFilter(options) {\n if (options.allowedElements && options.disallowedElements) {\n throw new TypeError(\n 'Only one of `allowedElements` and `disallowedElements` should be defined'\n )\n }\n\n if (\n options.allowedElements ||\n options.disallowedElements ||\n options.allowElement\n ) {\n return (tree) => {\n visit(tree, 'element', (node, index, parent_) => {\n const parent = /** @type {Element|Root} */ (parent_)\n /** @type {boolean|undefined} */\n let remove\n\n if (options.allowedElements) {\n remove = !options.allowedElements.includes(node.tagName)\n } else if (options.disallowedElements) {\n remove = options.disallowedElements.includes(node.tagName)\n }\n\n if (!remove && options.allowElement && typeof index === 'number') {\n remove = !options.allowElement(node, index, parent)\n }\n\n if (remove && typeof index === 'number') {\n if (options.unwrapDisallowed && node.children) {\n parent.children.splice(index, 1, ...node.children)\n } else {\n parent.children.splice(index, 1)\n }\n\n return index\n }\n\n return undefined\n })\n }\n }\n}\n","/**\n * `hast` is close to `React`, but differs in a couple of cases.\n *\n * To get a React property from a hast property, check if it is in\n * `hastToReact`, if it is, then use the corresponding value,\n * otherwise, use the hast property.\n *\n * @type {Record}\n */\nexport const hastToReact = {\n classId: 'classID',\n dataType: 'datatype',\n itemId: 'itemID',\n strokeDashArray: 'strokeDasharray',\n strokeDashOffset: 'strokeDashoffset',\n strokeLineCap: 'strokeLinecap',\n strokeLineJoin: 'strokeLinejoin',\n strokeMiterLimit: 'strokeMiterlimit',\n typeOf: 'typeof',\n xLinkActuate: 'xlinkActuate',\n xLinkArcRole: 'xlinkArcrole',\n xLinkHref: 'xlinkHref',\n xLinkRole: 'xlinkRole',\n xLinkShow: 'xlinkShow',\n xLinkTitle: 'xlinkTitle',\n xLinkType: 'xlinkType',\n xmlnsXLink: 'xmlnsXlink'\n}\n","import StyleToObject from './index.js';\n\nexport default StyleToObject;\n","const protocols = ['http', 'https', 'mailto', 'tel']\n\n/**\n * @param {string} uri\n * @returns {string}\n */\nexport function uriTransformer(uri) {\n const url = (uri || '').trim()\n const first = url.charAt(0)\n\n if (first === '#' || first === '/') {\n return url\n }\n\n const colon = url.indexOf(':')\n if (colon === -1) {\n return url\n }\n\n let index = -1\n\n while (++index < protocols.length) {\n const protocol = protocols[index]\n\n if (\n colon === protocol.length &&\n url.slice(0, protocol.length).toLowerCase() === protocol\n ) {\n return url\n }\n }\n\n index = url.indexOf('?')\n if (index !== -1 && colon > index) {\n return url\n }\n\n index = url.indexOf('#')\n if (index !== -1 && colon > index) {\n return url\n }\n\n // eslint-disable-next-line no-script-url\n return 'javascript:void(0)'\n}\n","/**\n * @template T\n * @typedef {import('react').ComponentType} ComponentType\n */\n\n/**\n * @template {import('react').ElementType} T\n * @typedef {import('react').ComponentPropsWithoutRef} ComponentPropsWithoutRef\n */\n\n/**\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('unist').Position} Position\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').DocType} Doctype\n * @typedef {import('property-information').Info} Info\n * @typedef {import('property-information').Schema} Schema\n * @typedef {import('./complex-types.js').ReactMarkdownProps} ReactMarkdownProps\n *\n * @typedef Raw\n * @property {'raw'} type\n * @property {string} value\n *\n * @typedef Context\n * @property {Options} options\n * @property {Schema} schema\n * @property {number} listDepth\n *\n * @callback TransformLink\n * @param {string} href\n * @param {Array} children\n * @param {string?} title\n * @returns {string}\n *\n * @callback TransformImage\n * @param {string} src\n * @param {string} alt\n * @param {string?} title\n * @returns {string}\n *\n * @typedef {import('react').HTMLAttributeAnchorTarget} TransformLinkTargetType\n *\n * @callback TransformLinkTarget\n * @param {string} href\n * @param {Array} children\n * @param {string?} title\n * @returns {TransformLinkTargetType|undefined}\n *\n * @typedef {keyof JSX.IntrinsicElements} ReactMarkdownNames\n *\n * To do: is `data-sourcepos` typeable?\n *\n * @typedef {ComponentPropsWithoutRef<'code'> & ReactMarkdownProps & {inline?: boolean}} CodeProps\n * @typedef {ComponentPropsWithoutRef<'h1'> & ReactMarkdownProps & {level: number}} HeadingProps\n * @typedef {ComponentPropsWithoutRef<'li'> & ReactMarkdownProps & {checked: boolean|null, index: number, ordered: boolean}} LiProps\n * @typedef {ComponentPropsWithoutRef<'ol'> & ReactMarkdownProps & {depth: number, ordered: true}} OrderedListProps\n * @typedef {ComponentPropsWithoutRef<'td'> & ReactMarkdownProps & {style?: Record, isHeader: false}} TableDataCellProps\n * @typedef {ComponentPropsWithoutRef<'th'> & ReactMarkdownProps & {style?: Record, isHeader: true}} TableHeaderCellProps\n * @typedef {ComponentPropsWithoutRef<'tr'> & ReactMarkdownProps & {isHeader: boolean}} TableRowProps\n * @typedef {ComponentPropsWithoutRef<'ul'> & ReactMarkdownProps & {depth: number, ordered: false}} UnorderedListProps\n *\n * @typedef {ComponentType} CodeComponent\n * @typedef {ComponentType} HeadingComponent\n * @typedef {ComponentType} LiComponent\n * @typedef {ComponentType} OrderedListComponent\n * @typedef {ComponentType} TableDataCellComponent\n * @typedef {ComponentType} TableHeaderCellComponent\n * @typedef {ComponentType} TableRowComponent\n * @typedef {ComponentType} UnorderedListComponent\n *\n * @typedef SpecialComponents\n * @property {CodeComponent|ReactMarkdownNames} code\n * @property {HeadingComponent|ReactMarkdownNames} h1\n * @property {HeadingComponent|ReactMarkdownNames} h2\n * @property {HeadingComponent|ReactMarkdownNames} h3\n * @property {HeadingComponent|ReactMarkdownNames} h4\n * @property {HeadingComponent|ReactMarkdownNames} h5\n * @property {HeadingComponent|ReactMarkdownNames} h6\n * @property {LiComponent|ReactMarkdownNames} li\n * @property {OrderedListComponent|ReactMarkdownNames} ol\n * @property {TableDataCellComponent|ReactMarkdownNames} td\n * @property {TableHeaderCellComponent|ReactMarkdownNames} th\n * @property {TableRowComponent|ReactMarkdownNames} tr\n * @property {UnorderedListComponent|ReactMarkdownNames} ul\n *\n * @typedef {Partial & SpecialComponents>} Components\n *\n * @typedef Options\n * @property {boolean} [sourcePos=false]\n * @property {boolean} [rawSourcePos=false]\n * @property {boolean} [skipHtml=false]\n * @property {boolean} [includeElementIndex=false]\n * @property {null|false|TransformLink} [transformLinkUri]\n * @property {TransformImage} [transformImageUri]\n * @property {TransformLinkTargetType|TransformLinkTarget} [linkTarget]\n * @property {Components} [components]\n */\n\nimport React from 'react'\nimport ReactIs from 'react-is'\nimport {whitespace} from 'hast-util-whitespace'\nimport {svg, find, hastToReact} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport style from 'style-to-object'\nimport {uriTransformer} from './uri-transformer.js'\n\nconst own = {}.hasOwnProperty\n\n// The table-related elements that must not contain whitespace text according\n// to React.\nconst tableElements = new Set(['table', 'thead', 'tbody', 'tfoot', 'tr'])\n\n/**\n * @param {Context} context\n * @param {Element|Root} node\n */\nexport function childrenToReact(context, node) {\n /** @type {Array} */\n const children = []\n let childIndex = -1\n /** @type {Comment|Doctype|Element|Raw|Text} */\n let child\n\n while (++childIndex < node.children.length) {\n child = node.children[childIndex]\n\n if (child.type === 'element') {\n children.push(toReact(context, child, childIndex, node))\n } else if (child.type === 'text') {\n // Currently, a warning is triggered by react for *any* white space in\n // tables.\n // So we drop it.\n // See: .\n // See: .\n // See: .\n // See: .\n if (\n node.type !== 'element' ||\n !tableElements.has(node.tagName) ||\n !whitespace(child)\n ) {\n children.push(child.value)\n }\n } else if (child.type === 'raw' && !context.options.skipHtml) {\n // Default behavior is to show (encoded) HTML.\n children.push(child.value)\n }\n }\n\n return children\n}\n\n/**\n * @param {Context} context\n * @param {Element} node\n * @param {number} index\n * @param {Element|Root} parent\n */\nfunction toReact(context, node, index, parent) {\n const options = context.options\n const transform =\n options.transformLinkUri === undefined\n ? uriTransformer\n : options.transformLinkUri\n const parentSchema = context.schema\n /** @type {ReactMarkdownNames} */\n // @ts-expect-error assume a known HTML/SVG element.\n const name = node.tagName\n /** @type {Record} */\n const properties = {}\n let schema = parentSchema\n /** @type {string} */\n let property\n\n if (parentSchema.space === 'html' && name === 'svg') {\n schema = svg\n context.schema = schema\n }\n\n if (node.properties) {\n for (property in node.properties) {\n if (own.call(node.properties, property)) {\n addProperty(properties, property, node.properties[property], context)\n }\n }\n }\n\n if (name === 'ol' || name === 'ul') {\n context.listDepth++\n }\n\n const children = childrenToReact(context, node)\n\n if (name === 'ol' || name === 'ul') {\n context.listDepth--\n }\n\n // Restore parent schema.\n context.schema = parentSchema\n\n // Nodes created by plugins do not have positional info, in which case we use\n // an object that matches the position interface.\n const position = node.position || {\n start: {line: null, column: null, offset: null},\n end: {line: null, column: null, offset: null}\n }\n const component =\n options.components && own.call(options.components, name)\n ? options.components[name]\n : name\n const basic = typeof component === 'string' || component === React.Fragment\n\n if (!ReactIs.isValidElementType(component)) {\n throw new TypeError(\n `Component for name \\`${name}\\` not defined or is not renderable`\n )\n }\n\n properties.key = index\n\n if (name === 'a' && options.linkTarget) {\n properties.target =\n typeof options.linkTarget === 'function'\n ? options.linkTarget(\n String(properties.href || ''),\n node.children,\n typeof properties.title === 'string' ? properties.title : null\n )\n : options.linkTarget\n }\n\n if (name === 'a' && transform) {\n properties.href = transform(\n String(properties.href || ''),\n node.children,\n typeof properties.title === 'string' ? properties.title : null\n )\n }\n\n if (\n !basic &&\n name === 'code' &&\n parent.type === 'element' &&\n parent.tagName !== 'pre'\n ) {\n properties.inline = true\n }\n\n if (\n !basic &&\n (name === 'h1' ||\n name === 'h2' ||\n name === 'h3' ||\n name === 'h4' ||\n name === 'h5' ||\n name === 'h6')\n ) {\n properties.level = Number.parseInt(name.charAt(1), 10)\n }\n\n if (name === 'img' && options.transformImageUri) {\n properties.src = options.transformImageUri(\n String(properties.src || ''),\n String(properties.alt || ''),\n typeof properties.title === 'string' ? properties.title : null\n )\n }\n\n if (!basic && name === 'li' && parent.type === 'element') {\n const input = getInputElement(node)\n properties.checked =\n input && input.properties ? Boolean(input.properties.checked) : null\n properties.index = getElementsBeforeCount(parent, node)\n properties.ordered = parent.tagName === 'ol'\n }\n\n if (!basic && (name === 'ol' || name === 'ul')) {\n properties.ordered = name === 'ol'\n properties.depth = context.listDepth\n }\n\n if (name === 'td' || name === 'th') {\n if (properties.align) {\n if (!properties.style) properties.style = {}\n // @ts-expect-error assume `style` is an object\n properties.style.textAlign = properties.align\n delete properties.align\n }\n\n if (!basic) {\n properties.isHeader = name === 'th'\n }\n }\n\n if (!basic && name === 'tr' && parent.type === 'element') {\n properties.isHeader = Boolean(parent.tagName === 'thead')\n }\n\n // If `sourcePos` is given, pass source information (line/column info from markdown source).\n if (options.sourcePos) {\n properties['data-sourcepos'] = flattenPosition(position)\n }\n\n if (!basic && options.rawSourcePos) {\n properties.sourcePosition = node.position\n }\n\n // If `includeElementIndex` is given, pass node index info to components.\n if (!basic && options.includeElementIndex) {\n properties.index = getElementsBeforeCount(parent, node)\n properties.siblingCount = getElementsBeforeCount(parent)\n }\n\n if (!basic) {\n properties.node = node\n }\n\n // Ensure no React warnings are emitted for void elements w/ children.\n return children.length > 0\n ? React.createElement(component, properties, children)\n : React.createElement(component, properties)\n}\n\n/**\n * @param {Element|Root} node\n * @returns {Element?}\n */\nfunction getInputElement(node) {\n let index = -1\n\n while (++index < node.children.length) {\n const child = node.children[index]\n\n if (child.type === 'element' && child.tagName === 'input') {\n return child\n }\n }\n\n return null\n}\n\n/**\n * @param {Element|Root} parent\n * @param {Element} [node]\n * @returns {number}\n */\nfunction getElementsBeforeCount(parent, node) {\n let index = -1\n let count = 0\n\n while (++index < parent.children.length) {\n if (parent.children[index] === node) break\n if (parent.children[index].type === 'element') count++\n }\n\n return count\n}\n\n/**\n * @param {Record} props\n * @param {string} prop\n * @param {unknown} value\n * @param {Context} ctx\n */\nfunction addProperty(props, prop, value, ctx) {\n const info = find(ctx.schema, prop)\n let result = value\n\n // Ignore nullish and `NaN` values.\n // eslint-disable-next-line no-self-compare\n if (result === null || result === undefined || result !== result) {\n return\n }\n\n // Accept `array`.\n // Most props are space-separated.\n if (Array.isArray(result)) {\n result = info.commaSeparated ? commas(result) : spaces(result)\n }\n\n if (info.property === 'style' && typeof result === 'string') {\n result = parseStyle(result)\n }\n\n if (info.space && info.property) {\n props[\n own.call(hastToReact, info.property)\n ? hastToReact[info.property]\n : info.property\n ] = result\n } else if (info.attribute) {\n props[info.attribute] = result\n }\n}\n\n/**\n * @param {string} value\n * @returns {Record}\n */\nfunction parseStyle(value) {\n /** @type {Record} */\n const result = {}\n\n try {\n style(value, iterator)\n } catch {\n // Silent.\n }\n\n return result\n\n /**\n * @param {string} name\n * @param {string} v\n */\n function iterator(name, v) {\n const k = name.slice(0, 4) === '-ms-' ? `ms-${name.slice(4)}` : name\n result[k.replace(/-([a-z])/g, styleReplacer)] = v\n }\n}\n\n/**\n * @param {unknown} _\n * @param {string} $1\n */\nfunction styleReplacer(_, $1) {\n return $1.toUpperCase()\n}\n\n/**\n * @param {Position|{start: {line: null, column: null, offset: null}, end: {line: null, column: null, offset: null}}} pos\n * @returns {string}\n */\nfunction flattenPosition(pos) {\n return [\n pos.start.line,\n ':',\n pos.start.column,\n '-',\n pos.end.line,\n ':',\n pos.end.column\n ]\n .map(String)\n .join('')\n}\n","/**\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('react').ReactElement<{}>} ReactElement\n * @typedef {import('unified').PluggableList} PluggableList\n * @typedef {import('hast').Root} Root\n * @typedef {import('./rehype-filter.js').Options} FilterOptions\n * @typedef {import('./ast-to-react.js').Options} TransformOptions\n *\n * @typedef CoreOptions\n * @property {string} children\n *\n * @typedef PluginOptions\n * @property {PluggableList} [remarkPlugins=[]]\n * @property {PluggableList} [rehypePlugins=[]]\n * @property {import('remark-rehype').Options | undefined} [remarkRehypeOptions={}]\n *\n * @typedef LayoutOptions\n * @property {string} [className]\n *\n * @typedef {CoreOptions & PluginOptions & LayoutOptions & FilterOptions & TransformOptions} ReactMarkdownOptions\n *\n * @typedef Deprecation\n * @property {string} id\n * @property {string} [to]\n */\n\nimport React from 'react'\nimport {VFile} from 'vfile'\nimport {unified} from 'unified'\nimport remarkParse from 'remark-parse'\nimport remarkRehype from 'remark-rehype'\nimport PropTypes from 'prop-types'\nimport {html} from 'property-information'\nimport rehypeFilter from './rehype-filter.js'\nimport {childrenToReact} from './ast-to-react.js'\n\nconst own = {}.hasOwnProperty\nconst changelog =\n 'https://github.com/remarkjs/react-markdown/blob/main/changelog.md'\n\n/** @type {Record} */\nconst deprecated = {\n plugins: {to: 'remarkPlugins', id: 'change-plugins-to-remarkplugins'},\n renderers: {to: 'components', id: 'change-renderers-to-components'},\n astPlugins: {id: 'remove-buggy-html-in-markdown-parser'},\n allowDangerousHtml: {id: 'remove-buggy-html-in-markdown-parser'},\n escapeHtml: {id: 'remove-buggy-html-in-markdown-parser'},\n source: {to: 'children', id: 'change-source-to-children'},\n allowNode: {\n to: 'allowElement',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n allowedTypes: {\n to: 'allowedElements',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n disallowedTypes: {\n to: 'disallowedElements',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n includeNodeIndex: {\n to: 'includeElementIndex',\n id: 'change-includenodeindex-to-includeelementindex'\n }\n}\n\n/**\n * React component to render markdown.\n *\n * @param {ReactMarkdownOptions} options\n * @returns {ReactElement}\n */\nexport function ReactMarkdown(options) {\n for (const key in deprecated) {\n if (own.call(deprecated, key) && own.call(options, key)) {\n const deprecation = deprecated[key]\n console.warn(\n `[react-markdown] Warning: please ${\n deprecation.to ? `use \\`${deprecation.to}\\` instead of` : 'remove'\n } \\`${key}\\` (see <${changelog}#${deprecation.id}> for more info)`\n )\n delete deprecated[key]\n }\n }\n\n const processor = unified()\n .use(remarkParse)\n .use(options.remarkPlugins || [])\n .use(remarkRehype, {\n ...options.remarkRehypeOptions,\n allowDangerousHtml: true\n })\n .use(options.rehypePlugins || [])\n .use(rehypeFilter, options)\n\n const file = new VFile()\n\n if (typeof options.children === 'string') {\n file.value = options.children\n } else if (options.children !== undefined && options.children !== null) {\n console.warn(\n `[react-markdown] Warning: please pass a string as \\`children\\` (not: \\`${options.children}\\`)`\n )\n }\n\n const hastNode = processor.runSync(processor.parse(file), file)\n\n if (hastNode.type !== 'root') {\n throw new TypeError('Expected a `root` node')\n }\n\n /** @type {ReactElement} */\n let result = React.createElement(\n React.Fragment,\n {},\n childrenToReact({options, schema: html, listDepth: 0}, hastNode)\n )\n\n if (options.className) {\n result = React.createElement('div', {className: options.className}, result)\n }\n\n return result\n}\n\nReactMarkdown.propTypes = {\n // Core options:\n children: PropTypes.string,\n // Layout options:\n className: PropTypes.string,\n // Filter options:\n allowElement: PropTypes.func,\n allowedElements: PropTypes.arrayOf(PropTypes.string),\n disallowedElements: PropTypes.arrayOf(PropTypes.string),\n unwrapDisallowed: PropTypes.bool,\n // Plugin options:\n remarkPlugins: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(\n // prettier-ignore\n // type-coverage:ignore-next-line\n PropTypes.any\n )\n ])\n )\n ])\n ),\n rehypePlugins: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(\n // prettier-ignore\n // type-coverage:ignore-next-line\n PropTypes.any\n )\n ])\n )\n ])\n ),\n // Transform options:\n sourcePos: PropTypes.bool,\n rawSourcePos: PropTypes.bool,\n skipHtml: PropTypes.bool,\n includeElementIndex: PropTypes.bool,\n transformLinkUri: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),\n linkTarget: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n transformImageUri: PropTypes.func,\n components: PropTypes.object\n}\n","import { Element, Comment, Literal, ElementContent, RootContent, Properties } from 'hast';\nimport { RehypeAttrsOptions } from './';\n\nexport const getURLParameters = (url: string = '') =>\n ((url.match(/([^?=&]+)(=([^&]*))/g) || []) as string[]).reduce(\n (a: Record, v: string) => (\n (a[v.slice(0, v.indexOf('=')) as keyof typeof a] = v.slice(v.indexOf('=') + 1)), a\n ),\n {}\n )\n\nexport const prevChild = (data: Literal[] = [], index: number): Comment | undefined => {\n let i = index;\n while (i > -1) {\n i--;\n if (!data[i]) return\n if ((data[i] && data[i].value && (data[i].value as string).replace(/(\\n|\\s)/g, '') !== '') || data[i].type !== 'text') {\n if (!/^rehype:/.test(data[i].value as string) || (data[i].type as string) !== 'comment') return;\n return data[i] as unknown as Comment;\n }\n }\n return;\n}\n\nexport const nextChild = (data: RootContent[] | ElementContent[] = [], index: number, tagName?: string, codeBlockParames?: boolean): ElementContent | undefined => {\n let i = index;\n while (i < data.length) {\n i++;\n if (tagName) {\n const element = data[i] as Literal & Element;\n if (element && element.value && (element.value as string).replace(/(\\n|\\s)/g, '') !== '' || data[i] && (data[i].type as string) === 'element') {\n return element.tagName === tagName ? element : undefined\n }\n } else {\n const element = data[i] as ElementContent & Literal;\n if (!element || element.type === 'element') return;\n if (element.type === 'text' && element.value.replace(/(\\n|\\s)/g, '') !== '') return;\n if (element.type && /^(comment|raw)$/ig.test(element.type)) {\n if (element.value && !/^rehype:/.test(element.value.replace(/^(\\s+)?/, '$2') || '')) {\n return\n };\n if (codeBlockParames) {\n const nextNode = nextChild(data, i, 'pre', codeBlockParames)\n if (nextNode) return;\n element.value = (element.value || '').replace(/^(\\n|\\s)+/, '')\n return element;\n } else {\n element.value = (element.value || '').replace(/^(\\n|\\s)+/, '')\n return element;\n }\n }\n }\n }\n return\n}\n\n/**\n * 获取代码注视的位置\n * @param data 数据\n * @param index 当前数据所在的位置\n * @returns 返回 当前参数数据 Object,`{}`\n */\nexport const getCommentObject = ({ value = '' }: Comment): Properties => {\n const param = getURLParameters(value.replace(/^/, '$1').replace(/^rehype:/, ''));\n Object.keys(param).forEach((keyName: string) => {\n if (param[keyName] === 'true') {\n param[keyName] = true;\n }\n if (param[keyName] === 'false') {\n param[keyName] = false;\n }\n if (typeof param[keyName] === 'string' && !/^0/.test(param[keyName] as string) && !isNaN(+param[keyName])) {\n param[keyName] = +param[keyName];\n }\n })\n return param;\n}\n\nexport type DataConfig = {\n 'data-config': Properties\n}\n\nexport const propertiesHandle = (defaultAttrs?: Properties | null, attrs?: Properties, type?: RehypeAttrsOptions['properties']): Properties | DataConfig => {\n if (type === 'string') {\n return { ...defaultAttrs, 'data-config': JSON.stringify({ ...attrs, rehyp: true })}\n } else if (type === 'attr') {\n return { ...defaultAttrs, ...attrs}\n }\n return { ...defaultAttrs, 'data-config': { ...attrs, rehyp: true }}\n}","import { Plugin } from 'unified';\nimport { Root, Element, Comment, Properties, Literal } from 'hast';\nimport { visit } from 'unist-util-visit';\nimport { propertiesHandle, nextChild, prevChild, getCommentObject } from './utils';\n\nexport type RehypeAttrsOptions = {\n /**\n * ## `data`\n * \n * ```markdown\n * text\n * \n * ```\n * 👇👇👇👇👇\n * ```html\n *

text

\n * ```\n * \n * ## `string`\n * \n * ```markdown\n * text\n * \n * ```\n * \n * 👇👇👇👇👇\n * \n * ```html\n *

text

\n * ```\n * \n * ## attr\n * \n * ```markdown\n * text\n * \n * ```\n * 👇👇👇👇👇\n * ```html\n *

text

\n * ```\n * @default `data`\n */\n properties?: 'data' | 'string' | 'attr';\n /**\n * Code block passing parameters\n */\n codeBlockParames?: boolean;\n}\n\nconst rehypeAttrs: Plugin<[RehypeAttrsOptions?], Root> = (options = {}) => {\n const { properties = 'data', codeBlockParames = true } = options;\n return (tree) => {\n visit(tree, 'element', (node, index, parent) => {\n if (codeBlockParames && node.tagName === 'pre' && node && Array.isArray(node.children) && parent && Array.isArray(parent.children) && parent.children.length > 1) {\n const firstChild = node.children[0] as Element;\n if (firstChild && firstChild.tagName === 'code' && typeof index === 'number') {\n const child = prevChild(parent.children as Literal[], index);\n if (child) {\n const attr = getCommentObject(child);\n if (Object.keys(attr).length > 0) {\n node.properties = { ...node.properties, ...{ 'data-type': 'rehyp' } }\n firstChild.properties = propertiesHandle(firstChild.properties, attr, properties) as Properties\n }\n }\n }\n }\n\n if (/^(em|strong|b|a|i|p|pre|kbd|blockquote|h(1|2|3|4|5|6)|code|table|img|del|ul|ol)$/.test(node.tagName) && parent && Array.isArray(parent.children) && typeof index === 'number') {\n const child = nextChild(parent.children, index, '', codeBlockParames)\n if (child) {\n const attr = getCommentObject(child as Comment)\n if (Object.keys(attr).length > 0) {\n node.properties = propertiesHandle(node.properties, attr, properties) as Properties\n }\n }\n }\n });\n }\n}\n\n\nexport default rehypeAttrs\n","/**\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('hast').Element} Element\n */\n\n/**\n * @typedef {null | undefined | string | TestFunctionAnything | Array} Test\n * Check for an arbitrary element, unaware of TypeScript inferral.\n *\n * @callback TestFunctionAnything\n * Check if an element passes a test, unaware of TypeScript inferral.\n * @param {Element} element\n * An element.\n * @param {number | null | undefined} [index]\n * The element’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The element’s parent.\n * @returns {boolean | void}\n * Whether this element passes the test.\n */\n\n/**\n * @template {Element} T\n * Element type.\n * @typedef {T['tagName'] | TestFunctionPredicate | Array>} PredicateTest\n * Check for an element that can be inferred by TypeScript.\n */\n\n/**\n * Check if an element passes a certain node test.\n *\n * @template {Element} T\n * Element type.\n * @callback TestFunctionPredicate\n * Complex test function for an element that can be inferred by TypeScript.\n * @param {Element} element\n * An element.\n * @param {number | null | undefined} [index]\n * The element’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The element’s parent.\n * @returns {element is T}\n * Whether this element passes the test.\n */\n\n/**\n * @callback AssertAnything\n * Check that an arbitrary value is an element, unaware of TypeScript inferral.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {boolean}\n * Whether this is an element and passes a test.\n */\n\n/**\n * Check if a node is an element and passes a certain node test\n *\n * @template {Element} T\n * Element type.\n * @callback AssertPredicate\n * Check that an arbitrary value is a specific element, aware of TypeScript.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {node is T}\n * Whether this is an element and passes a test.\n */\n\n/**\n * Check if `node` is an `Element` and whether it passes the given test.\n *\n * @param node\n * Thing to check, typically `Node`.\n * @param test\n * A check for a specific element.\n * @param index\n * The node’s position in its parent.\n * @param parent\n * The node’s parent.\n * @returns\n * Whether `node` is an element and passes a test.\n */\nexport const isElement =\n /**\n * @type {(\n * (() => false) &\n * ((node: unknown, test?: PredicateTest, index?: number, parent?: Parent, context?: unknown) => node is T) &\n * ((node: unknown, test: Test, index?: number, parent?: Parent, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * @param {unknown} [node]\n * @param {Test | undefined} [test]\n * @param {number | null | undefined} [index]\n * @param {Parent | null | undefined} [parent]\n * @param {unknown} [context]\n * @returns {boolean}\n */\n // eslint-disable-next-line max-params\n function (node, test, index, parent, context) {\n const check = convertElement(test)\n\n if (\n index !== undefined &&\n index !== null &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite index for child node')\n }\n\n if (\n parent !== undefined &&\n parent !== null &&\n (!parent.type || !parent.children)\n ) {\n throw new Error('Expected parent node')\n }\n\n // @ts-expect-error Looks like a node.\n if (!node || !node.type || typeof node.type !== 'string') {\n return false\n }\n\n if (\n (parent === undefined || parent === null) !==\n (index === undefined || index === null)\n ) {\n throw new Error('Expected both parent and index')\n }\n\n return check.call(context, node, index, parent)\n }\n )\n\n/**\n * Generate an assertion from a test.\n *\n * Useful if you’re going to test many nodes, for example when creating a\n * utility where something else passes a compatible test.\n *\n * The created function is a bit faster because it expects valid input only:\n * a `node`, `index`, and `parent`.\n *\n * @param test\n * * When nullish, checks if `node` is an `Element`.\n * * When `string`, works like passing `(element) => element.tagName === test`.\n * * When `function` checks if function passed the element is true.\n * * When `array`, checks any one of the subtests pass.\n * @returns\n * An assertion.\n */\nexport const convertElement =\n /**\n * @type {(\n * ((test: T['tagName'] | TestFunctionPredicate) => AssertPredicate) &\n * ((test?: Test) => AssertAnything)\n * )}\n */\n (\n /**\n * @param {Test | null | undefined} [test]\n * @returns {AssertAnything}\n */\n function (test) {\n if (test === undefined || test === null) {\n return element\n }\n\n if (typeof test === 'string') {\n return tagNameFactory(test)\n }\n\n if (typeof test === 'object') {\n return anyFactory(test)\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n throw new Error('Expected function, string, or array as test')\n }\n )\n\n/**\n * Handle multiple tests.\n *\n * @param {Array} tests\n * @returns {AssertAnything}\n */\nfunction anyFactory(tests) {\n /** @type {Array} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convertElement(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @param {Array} parameters\n * @returns {boolean}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].call(this, ...parameters)) {\n return true\n }\n }\n\n return false\n }\n}\n\n/**\n * Turn a string into a test for an element with a certain tag name.\n *\n * @param {string} check\n * @returns {AssertAnything}\n */\nfunction tagNameFactory(check) {\n return tagName\n\n /**\n * @param {unknown} node\n * @returns {boolean}\n */\n function tagName(node) {\n return element(node) && node.tagName === check\n }\n}\n\n/**\n * Turn a custom test into a test for an element that passes that test.\n *\n * @param {TestFunctionAnything} check\n * @returns {AssertAnything}\n */\nfunction castFactory(check) {\n return assertion\n\n /**\n * @this {unknown}\n * @param {unknown} node\n * @param {Array} parameters\n * @returns {boolean}\n */\n function assertion(node, ...parameters) {\n // @ts-expect-error: fine.\n return element(node) && Boolean(check.call(this, node, ...parameters))\n }\n}\n\n/**\n * Make sure something is an element.\n *\n * @param {unknown} node\n * @returns {node is Element}\n */\nfunction element(node) {\n return Boolean(\n node &&\n typeof node === 'object' &&\n // @ts-expect-error Looks like a node.\n node.type === 'element' &&\n // @ts-expect-error Looks like an element.\n typeof node.tagName === 'string'\n )\n}\n","/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Parent} Parent\n * @typedef {import('hast').Element} Element\n * @typedef {Element['children'][number]} ElementChild\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast-util-is-element').Test} Test\n *\n * @typedef {'prepend'|'append'|'wrap'|'before'|'after'} Behavior\n *\n * @callback Build\n * @param {Element} node\n * @returns {ElementChild|ElementChild[]}\n *\n * @typedef Options\n * Configuration.\n * @property {Behavior} [behavior='prepend']\n * How to create links.\n * @property {Behavior} [behaviour]\n * Please use `behavior` instead\n * @property {Properties} [properties]\n * Extra properties to set on the link when injecting.\n * Defaults to `{ariaHidden: true, tabIndex: -1}` when `'prepend'` or\n * `'append'`.\n * @property {ElementChild|ElementChild[]|Build} [content={type: 'element', tagName: 'span', properties: {className: ['icon', 'icon-link']}, children: []}]\n * hast nodes to insert in the link.\n * @property {ElementChild|ElementChild[]|Build} [group]\n * hast node to wrap the heading and link with, if `behavior` is `'before'` or\n * `'after'`.\n * There is no default.\n * @property {Test} [test]\n * Test to define which heading elements are linked.\n * Any test that can be given to `hast-util-is-element` is supported.\n * The default (no test) is to link all headings.\n * Can be used to link only h1-h3, or for example all except h1.\n */\n\nimport extend from 'extend'\nimport {hasProperty} from 'hast-util-has-property'\nimport {headingRank} from 'hast-util-heading-rank'\nimport {convertElement} from 'hast-util-is-element'\nimport {visit, SKIP} from 'unist-util-visit'\n\n/** @type {Element} */\nconst contentDefaults = {\n type: 'element',\n tagName: 'span',\n properties: {className: ['icon', 'icon-link']},\n children: []\n}\n\n/**\n * Plugin to automatically add links to headings (h1-h6).\n *\n * @type {import('unified').Plugin<[Options?]|void[], Root>}\n */\nexport default function rehypeAutolinkHeadings(options = {}) {\n let props = options.properties\n const behavior = options.behaviour || options.behavior || 'prepend'\n const content = options.content || contentDefaults\n const group = options.group\n const is = convertElement(options.test)\n\n /** @type {import('unist-util-visit/complex-types').Visitor} */\n let method\n\n if (behavior === 'wrap') {\n method = wrap\n } else if (behavior === 'before' || behavior === 'after') {\n method = around\n } else {\n if (!props) {\n props = {ariaHidden: 'true', tabIndex: -1}\n }\n\n method = inject\n }\n\n return (tree) => {\n visit(tree, 'element', (node, index, parent) => {\n if (\n headingRank(node) &&\n hasProperty(node, 'id') &&\n is(node, index, parent)\n ) {\n return method(node, index, parent)\n }\n })\n }\n\n /** @type {import('unist-util-visit/complex-types').Visitor} */\n function inject(node) {\n node.children[behavior === 'prepend' ? 'unshift' : 'push'](\n create(node, extend(true, {}, props), toChildren(content, node))\n )\n\n return [SKIP]\n }\n\n /** @type {import('unist-util-visit/complex-types').Visitor} */\n function around(node, index, parent) {\n // Uncommon.\n /* c8 ignore next */\n if (typeof index !== 'number' || !parent) return\n\n const link = create(\n node,\n extend(true, {}, props),\n toChildren(content, node)\n )\n let nodes = behavior === 'before' ? [link, node] : [node, link]\n\n if (group) {\n const grouping = toNode(group, node)\n\n if (grouping && !Array.isArray(grouping) && grouping.type === 'element') {\n grouping.children = nodes\n nodes = [grouping]\n }\n }\n\n parent.children.splice(index, 1, ...nodes)\n\n return [SKIP, index + nodes.length]\n }\n\n /** @type {import('unist-util-visit/complex-types').Visitor} */\n function wrap(node) {\n node.children = [create(node, extend(true, {}, props), node.children)]\n return [SKIP]\n }\n\n /**\n * @param {ElementChild|ElementChild[]|Build} value\n * @param {Element} node\n * @returns {ElementChild[]}\n */\n function toChildren(value, node) {\n const result = toNode(value, node)\n return Array.isArray(result) ? result : [result]\n }\n\n /**\n * @param {ElementChild|ElementChild[]|Build} value\n * @param {Element} node\n * @returns {ElementChild|ElementChild[]}\n */\n function toNode(value, node) {\n if (typeof value === 'function') return value(node)\n return extend(true, Array.isArray(value) ? [] : {}, value)\n }\n\n /**\n * @param {Element} node\n * @param {Properties} props\n * @param {ElementChild[]} children\n * @returns {Element}\n */\n function create(node, props, children) {\n return {\n type: 'element',\n tagName: 'a',\n properties: Object.assign({}, props, {\n // Fix hast types and make them required.\n /* c8 ignore next */\n href: '#' + (node.properties || {}).id\n }),\n children\n }\n }\n}\n","import type { Plugin } from 'unified';\nimport type { Root, RootContent, Literal } from 'hast';\nimport { visit } from 'unist-util-visit';\n\n/**\n * Raw string of HTML embedded into HTML AST.\n */\nexport interface Raw extends Literal {\n /**\n * Node type.\n */\n type: 'raw'\n}\n\n// Register nodes in content.\ndeclare module 'hast' {\n interface RootContentMap {\n /**\n * Raw string of HTML embedded into HTML AST.\n */\n raw: Raw\n }\n interface ElementContentMap {\n /**\n * Raw string of HTML embedded into HTML AST.\n */\n raw: Raw\n }\n}\n\n\nexport type RehypeIgnoreOptions = {\n /**\n * Character to use for opening delimiter, by default `rehype:ignore:start`\n */\n openDelimiter?: string;\n /**\n * Character to use for closing delimiter, by default `rehype:ignore:end`\n */\n closeDelimiter?: string;\n}\n\nconst rehypeIgnore: Plugin<[RehypeIgnoreOptions?], Root> = (options = {}) => {\n const { openDelimiter = 'rehype:ignore:start', closeDelimiter = 'rehype:ignore:end' } = options;\n return (tree) => {\n visit(tree, (node: Root | RootContent, index, parent) => {\n if (node.type === 'element' || node.type === 'root') {\n // const start = node.children.findIndex((item) => item.type === 'comment' && item.value === openDelimiter);\n // const end = node.children.findIndex((item) => item.type === 'comment' && item.value === closeDelimiter);\n // if (start > -1 && end > -1) {\n // node.children = node.children.filter((_, idx) => idx < start || idx > end);\n // }\n let start = false;\n node.children = node.children.filter((item) => {\n if (item.type === 'raw' || item.type === 'comment') {\n let str = (item.value || '').trim();\n str = str.replace(/^/, '$1')\n if (str === openDelimiter) {\n start = true;\n return false;\n }\n if (str === closeDelimiter) {\n start = false;\n return false;\n }\n }\n \n return !start;\n })\n }\n });\n }\n}\n\nexport default rehypeIgnore;\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n *\n * @typedef Options\n * Configuration (optional).\n * @property {boolean | null | undefined} [cascade=true]\n * Whether to drop parent nodes if they had children, but all their children\n * were filtered out.\n */\n\nimport {convert} from 'unist-util-is'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Create a new `tree` of copies of all nodes that pass `test`.\n *\n * The tree is walked in *preorder* (NLR), visiting the node itself, then its\n * head, etc.\n *\n * @param tree\n * Tree to filter.\n * @param options\n * Configuration (optional).\n * @param test\n * `unist-util-is` compatible test.\n * @returns\n * New filtered tree.\n *\n * `null` is returned if `tree` itself didn’t pass the test, or is cascaded\n * away.\n */\nexport const filter =\n /**\n * @type {(\n * ((node: Tree, options: Options | null | undefined, test: Check | null | undefined) => import('./complex-types.js').Matches) &\n * ((node: Tree, test: Check) => import('./complex-types.js').Matches) &\n * ((node: Tree, options?: Options | null | undefined) => Tree)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {Options | Test | null | undefined} [options]\n * @param {Test | null | undefined} [test]\n * @returns {Node | null}\n */\n function (tree, options, test) {\n const is = convert(test || options)\n /** @type {boolean | null | undefined} */\n const cascadeRaw =\n options && typeof options === 'object' && 'cascade' in options\n ? /** @type {boolean | null | undefined} */ (options.cascade)\n : undefined\n const cascade =\n cascadeRaw === undefined || cascadeRaw === null ? true : cascadeRaw\n\n return preorder(tree)\n\n /**\n * @param {Node} node\n * Current node.\n * @param {number | undefined} [index]\n * Index of `node` in `parent`.\n * @param {Parent | undefined} [parent]\n * Parent node.\n * @returns {Node | null}\n * Shallow copy of `node`.\n */\n function preorder(node, index, parent) {\n /** @type {Array} */\n const children = []\n\n if (!is(node, index, parent)) return null\n\n // @ts-expect-error: Looks like a parent.\n if (node.children) {\n let childIndex = -1\n\n // @ts-expect-error Looks like a parent.\n while (++childIndex < node.children.length) {\n // @ts-expect-error Looks like a parent.\n const result = preorder(node.children[childIndex], childIndex, node)\n\n if (result) {\n children.push(result)\n }\n }\n\n // @ts-expect-error Looks like a parent.\n if (cascade && node.children.length > 0 && children.length === 0)\n return null\n }\n\n // Create a shallow clone, using the new children.\n /** @type {typeof node} */\n // @ts-expect-error all the fields will be copied over.\n const next = {}\n /** @type {string} */\n let key\n\n for (key in node) {\n if (own.call(node, key)) {\n // @ts-expect-error: Looks like a record.\n next[key] = key === 'children' ? children : node[key]\n }\n }\n\n return next\n }\n }\n )\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n * @typedef Options options\n * Configuration.\n * @property {boolean} [showLineNumbers]\n * Set `showLineNumbers` to `true` to always display line number\n * @property {boolean} [ignoreMissing]\n * Set `ignoreMissing` to `true` to ignore unsupported languages and line highlighting when no language is specified\n * @property {string} [defaultLanguage]\n * Uses the specified language as the default if none is specified. Takes precedence over `ignoreMissing`.\n * Note: The language must be registered with refractor.\n */\n\nimport { visit } from 'unist-util-visit'\nimport { toString } from 'hast-util-to-string'\nimport { filter } from 'unist-util-filter'\nimport rangeParser from 'parse-numeric-range'\n\nconst getLanguage = (node) => {\n const className = node.properties.className\n //@ts-ignore\n for (const classListItem of className) {\n if (classListItem.slice(0, 9) === 'language-') {\n return classListItem.slice(9).toLowerCase()\n }\n }\n return null\n}\n\n/**\n * @param {import('refractor/lib/core').Refractor} refractor\n * @param {string} defaultLanguage\n * @return {void}\n */\nconst checkIfLanguageIsRegistered = (refractor, defaultLanguage) => {\n if (defaultLanguage && !refractor.registered(defaultLanguage)) {\n throw new Error(`The default language \"${defaultLanguage}\" is not registered with refractor.`)\n }\n}\n\n/**\n * Create a closure that determines if we have to highlight the given index\n *\n * @param {string} meta\n * @return { (index:number) => boolean }\n */\nconst calculateLinesToHighlight = (meta) => {\n const RE = /{([\\d,-]+)}/\n // Remove space between {} e.g. {1, 3}\n const parsedMeta = meta\n .split(',')\n .map((str) => str.trim())\n .join()\n if (RE.test(parsedMeta)) {\n const strlineNumbers = RE.exec(parsedMeta)[1]\n const lineNumbers = rangeParser(strlineNumbers)\n return (index) => lineNumbers.includes(index + 1)\n } else {\n return () => false\n }\n}\n\n/**\n * Check if we want to start the line numbering from a given number or 1\n * showLineNumbers=5, will start the numbering from 5\n * @param {string} meta\n * @returns {number}\n */\nconst calculateStartingLine = (meta) => {\n const RE = /showLineNumbers=(?\\d+)/i\n // pick the line number after = using a named capturing group\n if (RE.test(meta)) {\n const {\n groups: { lines },\n } = RE.exec(meta)\n return Number(lines)\n }\n return 1\n}\n\n/**\n * Create container AST for node lines\n *\n * @param {number} number\n * @return {Element[]}\n */\nconst createLineNodes = (number) => {\n const a = new Array(number)\n for (let i = 0; i < number; i++) {\n a[i] = {\n type: 'element',\n tagName: 'span',\n properties: { className: [] },\n children: [],\n }\n }\n return a\n}\n\n/**\n * Split multiline text nodes into individual nodes with positioning\n * Add a node start and end line position information for each text node\n *\n * @return { (ast:Element['children']) => Element['children'] }\n *\n */\nconst addNodePositionClosure = () => {\n let startLineNum = 1\n /**\n * @param {Element['children']} ast\n * @return {Element['children']}\n */\n const addNodePosition = (ast) => {\n return ast.reduce((result, node) => {\n if (node.type === 'text') {\n const value = /** @type {string} */ (node.value)\n const numLines = (value.match(/\\n/g) || '').length\n if (numLines === 0) {\n node.position = {\n // column: 1 is needed to avoid error with @next/mdx\n // https://github.com/timlrx/rehype-prism-plus/issues/44\n start: { line: startLineNum, column: 1 },\n end: { line: startLineNum, column: 1 },\n }\n result.push(node)\n } else {\n const lines = value.split('\\n')\n for (const [i, line] of lines.entries()) {\n result.push({\n type: 'text',\n value: i === lines.length - 1 ? line : line + '\\n',\n position: {\n start: { line: startLineNum + i, column: 1 },\n end: { line: startLineNum + i, column: 1 },\n },\n })\n }\n }\n startLineNum = startLineNum + numLines\n\n return result\n }\n\n if (Object.prototype.hasOwnProperty.call(node, 'children')) {\n const initialLineNum = startLineNum\n // @ts-ignore\n node.children = addNodePosition(node.children, startLineNum)\n result.push(node)\n node.position = {\n start: { line: initialLineNum, column: 1 },\n end: { line: startLineNum, column: 1 },\n }\n return result\n }\n\n result.push(node)\n return result\n }, [])\n }\n return addNodePosition\n}\n\n/**\n * Rehype prism plugin generator that highlights code blocks with refractor (prismjs)\n *\n * Pass in your own refractor object with the required languages registered:\n * https://github.com/wooorm/refractor#refractorregistersyntax\n *\n * @param {import('refractor/lib/core').Refractor} refractor\n * @return {import('unified').Plugin<[Options?], Root>}\n */\nconst rehypePrismGenerator = (refractor) => {\n return (options = {}) => {\n checkIfLanguageIsRegistered(refractor, options.defaultLanguage)\n return (tree) => {\n visit(tree, 'element', visitor)\n }\n\n /**\n * @param {Element} node\n * @param {number} index\n * @param {Element} parent\n */\n function visitor(node, index, parent) {\n if (!parent || parent.tagName !== 'pre' || node.tagName !== 'code') {\n return\n }\n\n let meta = /** @type {string} */ (node?.data?.meta || node?.properties?.metastring || '')\n // Coerce className to array\n if (node.properties.className) {\n if (typeof node.properties.className === 'boolean') {\n node.properties.className = []\n } else if (!Array.isArray(node.properties.className)) {\n node.properties.className = [node.properties.className]\n }\n } else {\n node.properties.className = []\n }\n\n let lang = getLanguage(node)\n // If no language is set on the code block, use defaultLanguage if specified\n if (!lang && options.defaultLanguage) {\n lang = options.defaultLanguage\n node.properties.className.push(`language-${lang}`)\n }\n node.properties.className.push('code-highlight')\n\n /** @type {Element} */\n let refractorRoot\n\n // Syntax highlight\n if (lang) {\n try {\n let rootLang\n if (lang?.includes('diff-')) {\n rootLang = lang.split('-')[1]\n } else {\n rootLang = lang\n }\n // @ts-ignore\n refractorRoot = refractor.highlight(toString(node), rootLang)\n // @ts-ignore className is already an array\n parent.properties.className = (parent.properties.className || []).concat(\n 'language-' + rootLang\n )\n } catch (err) {\n if (options.ignoreMissing && /Unknown language/.test(err.message)) {\n refractorRoot = node\n } else {\n throw err\n }\n }\n } else {\n refractorRoot = node\n }\n\n refractorRoot.children = addNodePositionClosure()(refractorRoot.children)\n\n // Add position info to root\n if (refractorRoot.children.length > 0) {\n refractorRoot.position = {\n start: { line: refractorRoot.children[0].position.start.line, column: 0 },\n end: {\n line: refractorRoot.children[refractorRoot.children.length - 1].position.end.line,\n column: 0,\n },\n }\n } else {\n refractorRoot.position = {\n start: { line: 0, column: 0 },\n end: { line: 0, column: 0 },\n }\n }\n\n const shouldHighlightLine = calculateLinesToHighlight(meta)\n const startingLineNumber = calculateStartingLine(meta)\n const codeLineArray = createLineNodes(refractorRoot.position.end.line)\n\n const falseShowLineNumbersStr = [\n 'showlinenumbers=false',\n 'showlinenumbers=\"false\"',\n 'showlinenumbers={false}',\n ]\n for (const [i, line] of codeLineArray.entries()) {\n // Default class name for each line\n line.properties.className = ['code-line']\n\n // Syntax highlight\n const treeExtract = filter(\n refractorRoot,\n (node) => node.position.start.line <= i + 1 && node.position.end.line >= i + 1\n )\n line.children = treeExtract.children\n\n // Line number\n if (\n (meta.toLowerCase().includes('showLineNumbers'.toLowerCase()) ||\n options.showLineNumbers) &&\n !falseShowLineNumbersStr.some((str) => meta.toLowerCase().includes(str))\n ) {\n line.properties.line = [(i + startingLineNumber).toString()]\n line.properties.className.push('line-number')\n }\n\n // Line highlight\n if (shouldHighlightLine(i)) {\n line.properties.className.push('highlight-line')\n }\n\n // Diff classes\n if (\n (lang === 'diff' || lang?.includes('diff-')) &&\n toString(line).substring(0, 1) === '-'\n ) {\n line.properties.className.push('deleted')\n } else if (\n (lang === 'diff' || lang?.includes('diff-')) &&\n toString(line).substring(0, 1) === '+'\n ) {\n line.properties.className.push('inserted')\n }\n }\n\n // Remove possible trailing line when splitting by \\n which results in empty array\n if (\n codeLineArray.length > 0 &&\n toString(codeLineArray[codeLineArray.length - 1]).trim() === ''\n ) {\n codeLineArray.pop()\n }\n\n node.children = codeLineArray\n }\n }\n}\n\nexport default rehypePrismGenerator\n","import { refractor as refractorAll } from 'refractor/lib/all.js'\nimport rehypePrismGenerator from './generator.js'\n\n/**\n * Rehype prism plugin that highlights code blocks with refractor (prismjs)\n * This supports all the languages and should be used on the server side.\n *\n * Consider using rehypePrismCommon or rehypePrismGenerator to generate a plugin\n * that supports your required languages.\n */\nconst rehypePrismAll = rehypePrismGenerator(refractorAll)\n\nexport default rehypePrismAll\n","import { refractor as refractorCommon } from 'refractor/lib/common.js'\nimport rehypePrismGenerator from './generator.js'\n\n/**\n * Rehype prism plugin that highlights code blocks with refractor (prismjs)\n * Supported languages: https://github.com/wooorm/refractor#data\n *\n * Consider using rehypePrismGenerator to generate a plugin\n * that supports your required languages.\n */\nconst rehypePrismCommon = rehypePrismGenerator(refractorCommon)\n\nexport default rehypePrismCommon\n","/**\n * @typedef {import('./core.js').HChild} Child\n * Acceptable child value.\n * @typedef {import('./core.js').HProperties} Properties\n * Acceptable value for element properties.\n * @typedef {import('./core.js').HResult} Result\n * Result from a `h` (or `s`) call.\n *\n * @typedef {import('./jsx-classic.js').Element} s.JSX.Element\n * @typedef {import('./jsx-classic.js').IntrinsicAttributes} s.JSX.IntrinsicAttributes\n * @typedef {import('./jsx-classic.js').IntrinsicElements} s.JSX.IntrinsicElements\n * @typedef {import('./jsx-classic.js').ElementChildrenAttribute} s.JSX.ElementChildrenAttribute\n */\n\nimport {svg} from 'property-information'\nimport {core} from './core.js'\nimport {svgCaseSensitiveTagNames} from './svg-case-sensitive-tag-names.js'\n\nexport const s = core(svg, 'g', svgCaseSensitiveTagNames)\n","export const svgCaseSensitiveTagNames = [\n 'altGlyph',\n 'altGlyphDef',\n 'altGlyphItem',\n 'animateColor',\n 'animateMotion',\n 'animateTransform',\n 'clipPath',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feDropShadow',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n 'foreignObject',\n 'glyphRef',\n 'linearGradient',\n 'radialGradient',\n 'solidColor',\n 'textArea',\n 'textPath'\n]\n","/**\n * Map of web namespaces.\n *\n * @type {Record}\n */\nexport const webNamespaces = {\n html: 'http://www.w3.org/1999/xhtml',\n mathml: 'http://www.w3.org/1998/Math/MathML',\n svg: 'http://www.w3.org/2000/svg',\n xlink: 'http://www.w3.org/1999/xlink',\n xml: 'http://www.w3.org/XML/1998/namespace',\n xmlns: 'http://www.w3.org/2000/xmlns/'\n}\n","/**\n * @typedef {import('vfile').VFile} VFile\n * @typedef {import('property-information').Schema} Schema\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Content} Content\n * @typedef {import('parse5').DefaultTreeAdapterMap} DefaultTreeAdapterMap\n * @typedef {import('parse5').Token.ElementLocation} P5ElementLocation\n * @typedef {import('parse5').Token.Location} P5Location\n */\n\n/**\n * @typedef {Content | Root} Node\n * @typedef {DefaultTreeAdapterMap['document']} P5Document\n * @typedef {DefaultTreeAdapterMap['documentFragment']} P5DocumentFragment\n * @typedef {DefaultTreeAdapterMap['documentType']} P5DocumentType\n * @typedef {DefaultTreeAdapterMap['commentNode']} P5Comment\n * @typedef {DefaultTreeAdapterMap['textNode']} P5Text\n * @typedef {DefaultTreeAdapterMap['element']} P5Element\n * @typedef {DefaultTreeAdapterMap['node']} P5Node\n * @typedef {DefaultTreeAdapterMap['template']} P5Template\n *\n * @typedef {'html' | 'svg'} Space\n * Namespace.\n *\n * @typedef Options\n * Configuration.\n * @property {Space | null | undefined} [space='html']\n * Which space the document is in.\n *\n * When an `` element is found in the HTML space, this package already\n * automatically switches to and from the SVG space when entering and exiting\n * it.\n * @property {VFile | null | undefined} [file]\n * File used to add positional info to nodes.\n *\n * If given, the file should represent the original HTML source.\n * @property {boolean} [verbose=false]\n * Whether to add extra positional info about starting tags, closing tags,\n * and attributes to elements.\n *\n * > 👉 **Note**: only used when `file` is given.\n *\n * @typedef State\n * Info passed around about the current state.\n * @property {Schema} schema\n * Current schema.\n * @property {VFile | undefined} file\n * Corresponding file.\n * @property {boolean | undefined} verbose\n * Add extra positional info.\n * @property {boolean} location\n * Whether location info was found.\n */\n\nimport {h, s} from 'hastscript'\nimport {html, svg, find} from 'property-information'\nimport {location} from 'vfile-location'\nimport {webNamespaces} from 'web-namespaces'\n\nconst own = {}.hasOwnProperty\n/** @type {unknown} */\n// type-coverage:ignore-next-line\nconst proto = Object.prototype\n\n/**\n * Transform a `parse5` AST to hast.\n *\n * @param {P5Node} tree\n * `parse5` tree to transform.\n * @param {Options | VFile | null | undefined} [options]\n * Configuration.\n * @returns {Node}\n * hast tree.\n */\nexport function fromParse5(tree, options) {\n const options_ = options || {}\n /** @type {Options} */\n let settings\n /** @type {VFile | undefined} */\n let file\n\n if (isFile(options_)) {\n file = options_\n settings = {}\n } else {\n file = options_.file || undefined\n settings = options_\n }\n\n return one(\n {\n schema: settings.space === 'svg' ? svg : html,\n file,\n verbose: settings.verbose,\n location: false\n },\n tree\n )\n}\n\n/**\n * Transform a node.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {P5Node} node\n * p5 node.\n * @returns {Node}\n * hast node.\n */\nfunction one(state, node) {\n /** @type {Node} */\n let result\n\n switch (node.nodeName) {\n case '#comment': {\n const reference = /** @type {P5Comment} */ (node)\n result = {type: 'comment', value: reference.data}\n patch(state, reference, result)\n return result\n }\n\n case '#document':\n case '#document-fragment': {\n const reference = /** @type {P5Document | P5DocumentFragment} */ (node)\n const quirksMode =\n 'mode' in reference\n ? reference.mode === 'quirks' || reference.mode === 'limited-quirks'\n : false\n\n result = {\n type: 'root',\n children: all(state, node.childNodes),\n data: {quirksMode}\n }\n\n if (state.file && state.location) {\n const doc = String(state.file)\n const loc = location(doc)\n const start = loc.toPoint(0)\n const end = loc.toPoint(doc.length)\n // @ts-expect-error: always defined as we give valid input.\n result.position = {start, end}\n }\n\n return result\n }\n\n case '#documentType': {\n const reference = /** @type {P5DocumentType} */ (node)\n // @ts-expect-error Types are out of date.\n result = {type: 'doctype'}\n patch(state, reference, result)\n return result\n }\n\n case '#text': {\n const reference = /** @type {P5Text} */ (node)\n result = {type: 'text', value: reference.value}\n patch(state, reference, result)\n return result\n }\n\n // Element.\n default: {\n const reference = /** @type {P5Element} */ (node)\n result = element(state, reference)\n return result\n }\n }\n}\n\n/**\n * Transform children.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {Array} nodes\n * Nodes.\n * @returns {Array}\n * hast nodes.\n */\nfunction all(state, nodes) {\n let index = -1\n /** @type {Array} */\n const result = []\n\n while (++index < nodes.length) {\n // @ts-expect-error Assume no roots in `nodes`.\n result[index] = one(state, nodes[index])\n }\n\n return result\n}\n\n/**\n * Transform an element.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {P5Element} node\n * `parse5` node to transform.\n * @returns {Element}\n * hast node.\n */\nfunction element(state, node) {\n const schema = state.schema\n\n state.schema = node.namespaceURI === webNamespaces.svg ? svg : html\n\n // Props.\n let index = -1\n /** @type {Record} */\n const props = {}\n\n while (++index < node.attrs.length) {\n const attribute = node.attrs[index]\n const name =\n (attribute.prefix ? attribute.prefix + ':' : '') + attribute.name\n if (!own.call(proto, name)) {\n props[name] = attribute.value\n }\n }\n\n // Build.\n const fn = state.schema.space === 'svg' ? s : h\n const result = fn(node.tagName, props, all(state, node.childNodes))\n patch(state, node, result)\n\n // Switch content.\n if (result.tagName === 'template') {\n const reference = /** @type {P5Template} */ (node)\n const pos = reference.sourceCodeLocation\n const startTag = pos && pos.startTag && position(pos.startTag)\n const endTag = pos && pos.endTag && position(pos.endTag)\n\n /** @type {Root} */\n // @ts-expect-error Types are wrong.\n const content = one(state, reference.content)\n\n if (startTag && endTag && state.file) {\n content.position = {start: startTag.end, end: endTag.start}\n }\n\n result.content = content\n }\n\n state.schema = schema\n\n return result\n}\n\n/**\n * Patch positional info from `from` onto `to`.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {P5Node} from\n * p5 node.\n * @param {Node} to\n * hast node.\n * @returns {void}\n * Nothing.\n */\nfunction patch(state, from, to) {\n if ('sourceCodeLocation' in from && from.sourceCodeLocation && state.file) {\n const position = createLocation(state, to, from.sourceCodeLocation)\n\n if (position) {\n state.location = true\n to.position = position\n }\n }\n}\n\n/**\n * Create clean positional information.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {Node} node\n * hast node.\n * @param {P5ElementLocation} location\n * p5 location info.\n * @returns {Position | undefined}\n * Position, or nothing.\n */\nfunction createLocation(state, node, location) {\n const result = position(location)\n\n if (node.type === 'element') {\n const tail = node.children[node.children.length - 1]\n\n // Bug for unclosed with children.\n // See: .\n if (\n result &&\n !location.endTag &&\n tail &&\n tail.position &&\n tail.position.end\n ) {\n result.end = Object.assign({}, tail.position.end)\n }\n\n if (state.verbose) {\n /** @type {Record} */\n const props = {}\n /** @type {string} */\n let key\n\n if (location.attrs) {\n for (key in location.attrs) {\n if (own.call(location.attrs, key)) {\n props[find(state.schema, key).property] = position(\n location.attrs[key]\n )\n }\n }\n }\n\n node.data = {\n position: {\n // @ts-expect-error: assume not `undefined`.\n opening: position(location.startTag),\n closing: location.endTag ? position(location.endTag) : null,\n properties: props\n }\n }\n }\n }\n\n return result\n}\n\n/**\n * Turn a p5 location into a position.\n *\n * @param {P5Location} loc\n * Location.\n * @returns {Position | undefined}\n * Position or nothing.\n */\nfunction position(loc) {\n const start = point({\n line: loc.startLine,\n column: loc.startCol,\n offset: loc.startOffset\n })\n const end = point({\n line: loc.endLine,\n column: loc.endCol,\n offset: loc.endOffset\n })\n // @ts-expect-error `undefined` is fine.\n return start || end ? {start, end} : undefined\n}\n\n/**\n * Filter out invalid points.\n *\n * @param {Point} point\n * Point with potentially `undefined` values.\n * @returns {Point | undefined}\n * Point or nothing.\n */\nfunction point(point) {\n return point.line && point.column ? point : undefined\n}\n\n/**\n * Check if something is a file.\n *\n * @param {VFile | Options} value\n * File or options.\n * @returns {value is VFile}\n * Whether `value` is a file.\n */\nfunction isFile(value) {\n return 'messages' in value\n}\n","/**\n * @typedef {import('vfile').VFile} VFile\n * @typedef {import('vfile').Value} Value\n */\n\n/**\n * @typedef Point\n * unist point, where `line` and `column` can be `undefined`.\n * @property {number | undefined} line\n * Line.\n * @property {number | undefined} column\n * Column.\n * @property {number | undefined} [offset]\n * Offset.\n *\n * @typedef PointLike\n * unist point, allowed as input.\n * @property {number | null | undefined} [line]\n * Line.\n * @property {number | null | undefined} [column]\n * Column.\n * @property {number | null | undefined} [offset]\n * Offset.\n *\n * @callback ToPoint\n * Get a line/column-based `point` from `offset`.\n * @param {number | null | undefined} [offset]\n * Something that should be an `offset.\n * @returns {Point}\n * Point, line/column are undefined for invalid or out of bounds input.\n *\n * @callback ToOffset\n * Get an offset from a line/column-based `point`.\n * @param {Point | null | undefined} [point]\n * Something that should be a `point.\n * @returns {number}\n * Offset or `-1` for invalid or out of bounds input.\n *\n * @typedef Location\n * Accessors for index.\n * @property {ToPoint} toPoint\n * Get a line/column-based `point` from `offset`.\n * @property {ToOffset} toOffset\n * Get an offset from a line/column-based `point`.\n */\n\n/**\n * Index the given document so you can translate between line/column and offset\n * based positional info.\n *\n * @param {VFile | Value} file\n * File to index.\n * @returns {Location}\n * Accessors for index.\n */\nexport function location(file) {\n const value = String(file)\n /** @type {Array} */\n const indices = []\n const search = /\\r?\\n|\\r/g\n\n while (search.test(value)) {\n indices.push(search.lastIndex)\n }\n\n indices.push(value.length + 1)\n\n return {toPoint, toOffset}\n\n /** @type {ToPoint} */\n function toPoint(offset) {\n let index = -1\n\n if (\n typeof offset === 'number' &&\n offset > -1 &&\n offset < indices[indices.length - 1]\n ) {\n while (++index < indices.length) {\n if (indices[index] > offset) {\n return {\n line: index + 1,\n column: offset - (index > 0 ? indices[index - 1] : 0) + 1,\n offset\n }\n }\n }\n }\n\n return {line: undefined, column: undefined, offset: undefined}\n }\n\n /** @type {ToOffset} */\n function toOffset(point) {\n const line = point && point.line\n const column = point && point.column\n\n if (\n typeof line === 'number' &&\n typeof column === 'number' &&\n !Number.isNaN(line) &&\n !Number.isNaN(column) &&\n line - 1 in indices\n ) {\n const offset = (indices[line - 2] || 0) + column - 1 || 0\n\n if (offset > -1 && offset < indices[indices.length - 1]) {\n return offset\n }\n }\n\n return -1\n }\n}\n","/**\n * @typedef {import('parse5').DefaultTreeAdapterMap} DefaultTreeAdapterMap\n * @typedef {DefaultTreeAdapterMap['document']} P5Document\n * @typedef {DefaultTreeAdapterMap['documentFragment']} P5Fragment\n * @typedef {DefaultTreeAdapterMap['element']} P5Element\n * @typedef {DefaultTreeAdapterMap['node']} P5Node\n * @typedef {DefaultTreeAdapterMap['documentType']} P5Doctype\n * @typedef {DefaultTreeAdapterMap['commentNode']} P5Comment\n * @typedef {DefaultTreeAdapterMap['textNode']} P5Text\n * @typedef {DefaultTreeAdapterMap['parentNode']} P5Parent\n * @typedef {import('parse5').Token.Attribute} P5Attribute\n * @typedef {Exclude} P5Child\n * @typedef {import('property-information').Schema} Schema\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').DocType} Doctype\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').Content} Content\n */\n\n/**\n * @typedef {Content | Root} Node\n * @typedef {'html' | 'svg'} Space\n *\n * @typedef Options\n * Configuration.\n * @property {Space | null | undefined} [space='html']\n * Which space the document is in.\n *\n * When an `` element is found in the HTML space, this package already\n * automatically switches to and from the SVG space when entering and exiting\n * it.\n */\n\nimport {stringify as commas} from 'comma-separated-tokens'\nimport {html, svg, find} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {webNamespaces} from 'web-namespaces'\nimport {zwitch} from 'zwitch'\n\nconst own = {}.hasOwnProperty\n\n/** @type {(from: Node, schema: Schema) => P5Node} */\nconst one = zwitch('type', {handlers: {root, element, text, comment, doctype}})\n\n/**\n * Transform a hast tree to Parse5’s AST.\n *\n * @param {Node} tree\n * Tree to transform.\n * @param {Options | Space | null | undefined} [options]\n * Configuration.\n * @returns {P5Node}\n * `parse5` node.\n */\nexport function toParse5(tree, options) {\n const space = options && typeof options === 'object' ? options.space : options\n return one(tree, space === 'svg' ? svg : html)\n}\n\n/**\n * @param {Root} node\n * @param {Schema} schema\n * Current schema.\n * @returns {P5Document}\n */\nfunction root(node, schema) {\n /** @type {P5Document} */\n const result = {\n nodeName: '#document',\n // @ts-expect-error: `parse5` uses enums, which are actually strings.\n mode: (node.data || {}).quirksMode ? 'quirks' : 'no-quirks',\n childNodes: []\n }\n result.childNodes = all(node.children, result, schema)\n patch(node, result)\n return result\n}\n\n/**\n * @param {Root} node\n * @param {Schema} schema\n * Current schema.\n * @returns {P5Fragment}\n */\nfunction fragment(node, schema) {\n /** @type {P5Fragment} */\n const result = {nodeName: '#document-fragment', childNodes: []}\n result.childNodes = all(node.children, result, schema)\n patch(node, result)\n return result\n}\n\n/**\n * @param {Doctype} node\n * @returns {P5Doctype}\n */\nfunction doctype(node) {\n /** @type {P5Doctype} */\n const result = {\n nodeName: '#documentType',\n name: 'html',\n publicId: '',\n systemId: '',\n // @ts-expect-error: change to `null` in a major?\n parentNode: undefined\n }\n\n patch(node, result)\n return result\n}\n\n/**\n * @param {Text} node\n * @returns {P5Text}\n */\nfunction text(node) {\n /** @type {P5Text} */\n const result = {\n nodeName: '#text',\n value: node.value,\n // @ts-expect-error: no `parentNode`\n parentNode: undefined\n }\n patch(node, result)\n return result\n}\n\n/**\n * @param {Comment} node\n * @returns {P5Comment}\n */\nfunction comment(node) {\n /** @type {P5Comment} */\n const result = {\n nodeName: '#comment',\n data: node.value,\n // @ts-expect-error: no `parentNode`\n parentNode: undefined\n }\n\n patch(node, result)\n\n return result\n}\n\n/**\n * @param {Element} node\n * @param {Schema} schema\n * Current schema.\n * @returns {P5Element}\n * `parse5` node.\n */\nfunction element(node, schema) {\n const parentSchema = schema\n let currentSchema = parentSchema\n\n if (\n node.type === 'element' &&\n node.tagName.toLowerCase() === 'svg' &&\n parentSchema.space === 'html'\n ) {\n currentSchema = svg\n }\n\n /** @type {Array} */\n const attrs = []\n /** @type {string} */\n let prop\n\n if (node.properties) {\n for (prop in node.properties) {\n if (prop !== 'children' && own.call(node.properties, prop)) {\n const result = createProperty(\n currentSchema,\n prop,\n node.properties[prop]\n )\n\n if (result) {\n attrs.push(result)\n }\n }\n }\n }\n\n /** @type {P5Element} */\n const result = {\n nodeName: node.tagName,\n tagName: node.tagName,\n attrs,\n // @ts-expect-error: html and svg both have a space.\n namespaceURI: webNamespaces[currentSchema.space],\n childNodes: [],\n // @ts-expect-error: no `parentNode`\n parentNode: undefined\n }\n result.childNodes = all(node.children, result, currentSchema)\n patch(node, result)\n\n if (node.tagName === 'template' && node.content) {\n // @ts-expect-error: `parse5` types are wrong.\n result.content = fragment(node.content, currentSchema)\n }\n\n return result\n}\n\n/**\n * Handle a property.\n *\n * @param {Schema} schema\n * Current schema.\n * @param {string} prop\n * Key.\n * @param {Array | string | number | boolean | null | undefined} value\n * hast property value.\n * @returns {P5Attribute | void}\n * Field for runtime, optional.\n */\nfunction createProperty(schema, prop, value) {\n const info = find(schema, prop)\n\n // Ignore nullish and `NaN` values.\n if (\n value === undefined ||\n value === null ||\n value === false ||\n (typeof value === 'number' && Number.isNaN(value)) ||\n (!value && info.boolean)\n ) {\n return\n }\n\n if (Array.isArray(value)) {\n // Accept `array`.\n // Most props are space-separated.\n value = info.commaSeparated ? commas(value) : spaces(value)\n }\n\n /** @type {P5Attribute} */\n const attribute = {\n name: info.attribute,\n value: value === true ? '' : String(value)\n }\n\n if (info.space && info.space !== 'html' && info.space !== 'svg') {\n const index = attribute.name.indexOf(':')\n\n if (index < 0) {\n attribute.prefix = ''\n } else {\n attribute.name = attribute.name.slice(index + 1)\n attribute.prefix = info.attribute.slice(0, index)\n }\n\n attribute.namespace = webNamespaces[info.space]\n }\n\n return attribute\n}\n\n/**\n * Transform all hast nodes.\n *\n * @param {Array} children\n * List of children.\n * @param {P5Parent} parentNode\n * `parse5` parent node.\n * @param {Schema} schema\n * Current schema.\n * @returns {Array}\n * Transformed children.\n */\nfunction all(children, parentNode, schema) {\n let index = -1\n /** @type {Array} */\n const results = []\n\n if (children) {\n while (++index < children.length) {\n /** @type {P5Child} */\n // @ts-expect-error assume no document.\n const child = one(children[index], schema)\n\n child.parentNode = parentNode\n\n results.push(child)\n }\n }\n\n return results\n}\n\n/**\n * Add position info from `from` to `to`.\n *\n * @param {Node} from\n * hast node.\n * @param {P5Node} to\n * `parse5` node.\n * @returns {void}\n * Nothing.\n */\nfunction patch(from, to) {\n const position = from.position\n\n if (position && position.start && position.end) {\n to.sourceCodeLocation = {\n startLine: position.start.line,\n startCol: position.start.column,\n // @ts-expect-error assume this is set.\n startOffset: position.start.offset,\n endLine: position.end.line,\n endCol: position.end.column,\n // @ts-expect-error assume this is set.\n endOffset: position.end.offset\n }\n }\n}\n","/**\n * List of HTML void tag names.\n *\n * @type {Array}\n */\nexport const htmlVoidElements = [\n 'area',\n 'base',\n 'basefont',\n 'bgsound',\n 'br',\n 'col',\n 'command',\n 'embed',\n 'frame',\n 'hr',\n 'image',\n 'img',\n 'input',\n 'isindex',\n 'keygen',\n 'link',\n 'menuitem',\n 'meta',\n 'nextid',\n 'param',\n 'source',\n 'track',\n 'wbr'\n]\n","/**\n * @typedef {import('vfile').VFile} VFile\n * @typedef {import('parse5').Document} P5Document\n * @typedef {import('parse5').DocumentFragment} P5Fragment\n * @typedef {Omit} P5Element\n * @typedef {import('parse5').Attribute} P5Attribute\n * @typedef {Omit & {startOffset: number|undefined, endOffset: number|undefined}} P5Location\n * @typedef {import('parse5').ParserOptions} P5ParserOptions\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').DocType} Doctype\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').Content} Content\n * @typedef {Root|Content} Node\n * @typedef {import('../complex-types').Raw} Raw\n *\n * @typedef {Omit & {value: {stitch: Node}}} Stitch\n *\n * @typedef Options\n * @property {Array} [passThrough]\n * List of custom hast node types to pass through (keep) in hast.\n * If the passed through nodes have children, those children are expected to\n * be hast and will be handled.\n *\n * @typedef HiddenTokenizer\n * @property {Array} __mixins\n * Way too simple, but works for us.\n * @property {HiddenPreprocessor} preprocessor\n * @property {(value: string) => void} write\n * @property {() => number} _consume\n * @property {Array} tokenQueue\n * @property {string} state\n * @property {string} returnState\n * @property {number} charRefCode\n * @property {Array} tempBuff\n * @property {Function} _flushCodePointsConsumedAsCharacterReference\n * @property {string} lastStartTagName\n * @property {number} consumedAfterSnapshot\n * @property {boolean} active\n * @property {HiddenToken|undefined} currentCharacterToken\n * @property {HiddenToken|undefined} currentToken\n * @property {unknown} currentAttr\n * @property {Function} NAMED_CHARACTER_REFERENCE_STATE\n * @property {Function} NUMERIC_CHARACTER_REFERENCE_END_STATE\n *\n * @typedef {Record & {location: P5Location}} HiddenToken\n *\n * @typedef HiddenPreprocessor\n * @property {string|undefined} html\n * @property {number} pos\n * @property {number} lastGapPos\n * @property {number} lastCharPos\n * @property {Array} gapStack\n * @property {boolean} skipNextNewLine\n * @property {boolean} lastChunkWritten\n * @property {boolean} endOfChunkHit\n *\n * @typedef HiddenLocationTracker\n * @property {P5Location|undefined} currentAttrLocation\n * @property {P5Location} ctLoc\n * @property {HiddenPosTracker} posTracker\n *\n * @typedef HiddenPosTracker\n * @property {boolean} isEol\n * @property {number} lineStartPos\n * @property {number} droppedBufferSize\n * @property {number} offset\n * @property {number} col\n * @property {number} line\n */\n\n// @ts-expect-error: untyped.\nimport Parser from 'parse5/lib/parser/index.js'\nimport {pointStart, pointEnd} from 'unist-util-position'\nimport {visit} from 'unist-util-visit'\nimport {fromParse5} from 'hast-util-from-parse5'\nimport {toParse5} from 'hast-util-to-parse5'\nimport {htmlVoidElements} from 'html-void-elements'\nimport {webNamespaces} from 'web-namespaces'\nimport {zwitch} from 'zwitch'\n\nconst inTemplateMode = 'IN_TEMPLATE_MODE'\nconst dataState = 'DATA_STATE'\nconst characterToken = 'CHARACTER_TOKEN'\nconst startTagToken = 'START_TAG_TOKEN'\nconst endTagToken = 'END_TAG_TOKEN'\nconst commentToken = 'COMMENT_TOKEN'\nconst doctypeToken = 'DOCTYPE_TOKEN'\n\n/** @type {P5ParserOptions} */\nconst parseOptions = {sourceCodeLocationInfo: true, scriptingEnabled: false}\n\n/**\n * Given a hast tree and an optional vfile (for positional info), return a new\n * parsed-again hast tree.\n *\n * @param tree\n * Original hast tree.\n * @param file\n * Virtual file for positional info, optional.\n * @param options\n * Configuration.\n */\nexport const raw =\n /**\n * @type {(\n * ((tree: Node, file: VFile|undefined, options?: Options) => Node) &\n * ((tree: Node, options?: Options) => Node)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {VFile} [file]\n * @param {Options} [options]\n */\n function (tree, file, options) {\n let index = -1\n const parser = new Parser(parseOptions)\n const one = zwitch('type', {\n handlers: {root, element, text, comment, doctype, raw: handleRaw},\n // @ts-expect-error: hush.\n unknown\n })\n /** @type {boolean|undefined} */\n let stitches\n /** @type {HiddenTokenizer|undefined} */\n let tokenizer\n /** @type {HiddenPreprocessor|undefined} */\n let preprocessor\n /** @type {HiddenPosTracker|undefined} */\n let posTracker\n /** @type {HiddenLocationTracker|undefined} */\n let locationTracker\n\n if (isOptions(file)) {\n options = file\n file = undefined\n }\n\n if (options && options.passThrough) {\n while (++index < options.passThrough.length) {\n // @ts-expect-error: hush.\n one.handlers[options.passThrough[index]] = stitch\n }\n }\n\n const result = fromParse5(\n documentMode(tree) ? document() : fragment(),\n file\n )\n\n if (stitches) {\n visit(result, 'comment', (node, index, parent) => {\n const stitch = /** @type {Stitch} */ (/** @type {unknown} */ (node))\n if (stitch.value.stitch && parent !== null && index !== null) {\n // @ts-expect-error: assume the stitch is allowed.\n parent.children[index] = stitch.value.stitch\n return index\n }\n })\n }\n\n // Unpack if possible and when not given a `root`.\n if (\n tree.type !== 'root' &&\n result.type === 'root' &&\n result.children.length === 1\n ) {\n return result.children[0]\n }\n\n return result\n\n /**\n * @returns {P5Fragment}\n */\n function fragment() {\n /** @type {P5Element} */\n const context = {\n nodeName: 'template',\n tagName: 'template',\n attrs: [],\n namespaceURI: webNamespaces.html,\n childNodes: []\n }\n /** @type {P5Element} */\n const mock = {\n nodeName: 'documentmock',\n tagName: 'documentmock',\n attrs: [],\n namespaceURI: webNamespaces.html,\n childNodes: []\n }\n /** @type {P5Fragment} */\n const doc = {nodeName: '#document-fragment', childNodes: []}\n\n parser._bootstrap(mock, context)\n parser._pushTmplInsertionMode(inTemplateMode)\n parser._initTokenizerForFragmentParsing()\n parser._insertFakeRootElement()\n parser._resetInsertionMode()\n parser._findFormInFragmentContext()\n\n tokenizer = parser.tokenizer\n /* c8 ignore next */\n if (!tokenizer) throw new Error('Expected `tokenizer`')\n preprocessor = tokenizer.preprocessor\n locationTracker = tokenizer.__mixins[0]\n posTracker = locationTracker.posTracker\n\n one(tree)\n\n resetTokenizer()\n\n parser._adoptNodes(mock.childNodes[0], doc)\n\n return doc\n }\n\n /**\n * @returns {P5Document}\n */\n function document() {\n /** @type {P5Document} */\n const doc = parser.treeAdapter.createDocument()\n\n parser._bootstrap(doc, undefined)\n tokenizer = parser.tokenizer\n /* c8 ignore next */\n if (!tokenizer) throw new Error('Expected `tokenizer`')\n preprocessor = tokenizer.preprocessor\n locationTracker = tokenizer.__mixins[0]\n posTracker = locationTracker.posTracker\n\n one(tree)\n\n resetTokenizer()\n\n return doc\n }\n\n /**\n * @param {Array} nodes\n * @returns {void}\n */\n function all(nodes) {\n let index = -1\n\n /* istanbul ignore else - invalid nodes, see rehypejs/rehype-raw#7. */\n if (nodes) {\n while (++index < nodes.length) {\n one(nodes[index])\n }\n }\n }\n\n /**\n * @param {Root} node\n * @returns {void}\n */\n function root(node) {\n all(node.children)\n }\n\n /**\n * @param {Element} node\n * @returns {void}\n */\n function element(node) {\n resetTokenizer()\n parser._processInputToken(startTag(node))\n\n all(node.children)\n\n if (!htmlVoidElements.includes(node.tagName)) {\n resetTokenizer()\n parser._processInputToken(endTag(node))\n }\n }\n\n /**\n * @param {Text} node\n * @returns {void}\n */\n function text(node) {\n resetTokenizer()\n parser._processInputToken({\n type: characterToken,\n chars: node.value,\n location: createParse5Location(node)\n })\n }\n\n /**\n * @param {Doctype} node\n * @returns {void}\n */\n function doctype(node) {\n resetTokenizer()\n parser._processInputToken({\n type: doctypeToken,\n name: 'html',\n forceQuirks: false,\n publicId: '',\n systemId: '',\n location: createParse5Location(node)\n })\n }\n\n /**\n * @param {Comment|Stitch} node\n * @returns {void}\n */\n function comment(node) {\n resetTokenizer()\n parser._processInputToken({\n type: commentToken,\n data: node.value,\n location: createParse5Location(node)\n })\n }\n\n /**\n * @param {Raw} node\n * @returns {void}\n */\n function handleRaw(node) {\n const start = pointStart(node)\n const line = start.line || 1\n const column = start.column || 1\n const offset = start.offset || 0\n\n /* c8 ignore next 4 */\n if (!preprocessor) throw new Error('Expected `preprocessor`')\n if (!tokenizer) throw new Error('Expected `tokenizer`')\n if (!posTracker) throw new Error('Expected `posTracker`')\n if (!locationTracker) throw new Error('Expected `locationTracker`')\n\n // Reset preprocessor:\n // See: .\n preprocessor.html = undefined\n preprocessor.pos = -1\n preprocessor.lastGapPos = -1\n preprocessor.lastCharPos = -1\n preprocessor.gapStack = []\n preprocessor.skipNextNewLine = false\n preprocessor.lastChunkWritten = false\n preprocessor.endOfChunkHit = false\n\n // Reset preprocessor mixin:\n // See: .\n posTracker.isEol = false\n posTracker.lineStartPos = -column + 1 // Looks weird, but ensures we get correct positional info.\n posTracker.droppedBufferSize = offset\n posTracker.offset = 0\n posTracker.col = 1\n posTracker.line = line\n\n // Reset location tracker:\n // See: .\n locationTracker.currentAttrLocation = undefined\n locationTracker.ctLoc = createParse5Location(node)\n\n // See the code for `parse` and `parseFragment`:\n // See: .\n tokenizer.write(node.value)\n parser._runParsingLoop(null)\n\n // Character references hang, so if we ended there, we need to flush\n // those too.\n // We reset the preprocessor as if the document ends here.\n // Then one single call to the relevant state does the trick, parse5\n // consumes the whole token.\n if (\n tokenizer.state === 'NAMED_CHARACTER_REFERENCE_STATE' ||\n tokenizer.state === 'NUMERIC_CHARACTER_REFERENCE_END_STATE'\n ) {\n preprocessor.lastChunkWritten = true\n tokenizer[tokenizer.state](tokenizer._consume())\n }\n }\n\n /**\n * @param {Node} node\n */\n function stitch(node) {\n stitches = true\n\n /** @type {Node} */\n let clone\n\n // Recurse, because to somewhat handle `[]` (where `[]` denotes the\n // passed through node).\n if ('children' in node) {\n clone = {\n ...node,\n children: raw(\n {type: 'root', children: node.children},\n file,\n options\n // @ts-expect-error Assume a given parent yields a parent.\n ).children\n }\n } else {\n clone = {...node}\n }\n\n // Hack: `value` is supposed to be a string, but as none of the tools\n // (`parse5` or `hast-util-from-parse5`) looks at it, we can pass nodes\n // through.\n comment({type: 'comment', value: {stitch: clone}})\n }\n\n function resetTokenizer() {\n /* c8 ignore next 2 */\n if (!tokenizer) throw new Error('Expected `tokenizer`')\n if (!posTracker) throw new Error('Expected `posTracker`')\n\n // Process final characters if they’re still there after hibernating.\n // Similar to:\n // See: .\n const token = tokenizer.currentCharacterToken\n\n if (token) {\n token.location.endLine = posTracker.line\n token.location.endCol = posTracker.col + 1\n token.location.endOffset = posTracker.offset + 1\n parser._processInputToken(token)\n }\n\n // Reset tokenizer:\n // See: .\n // Especially putting it back in the `data` state is useful: some elements,\n // like textareas and iframes, change the state.\n // See GH-7.\n // But also if broken HTML is in `raw`, and then a correct element is given.\n // See GH-11.\n tokenizer.tokenQueue = []\n tokenizer.state = dataState\n tokenizer.returnState = ''\n tokenizer.charRefCode = -1\n tokenizer.tempBuff = []\n tokenizer.lastStartTagName = ''\n tokenizer.consumedAfterSnapshot = -1\n tokenizer.active = false\n tokenizer.currentCharacterToken = undefined\n tokenizer.currentToken = undefined\n tokenizer.currentAttr = undefined\n }\n }\n )\n/**\n * @param {Element} node\n * @returns {HiddenToken}\n */\nfunction startTag(node) {\n /** @type {P5Location} */\n const location = Object.assign(createParse5Location(node))\n // @ts-expect-error extra positional info.\n location.startTag = Object.assign({}, location)\n\n // Untyped token.\n return {\n type: startTagToken,\n tagName: node.tagName,\n selfClosing: false,\n attrs: attributes(node),\n location\n }\n}\n\n/**\n * @param {Element} node\n * @returns {Array}\n */\nfunction attributes(node) {\n return toParse5({\n tagName: node.tagName,\n type: 'element',\n properties: node.properties,\n children: []\n // @ts-expect-error Assume element.\n }).attrs\n}\n\n/**\n * @param {Element} node\n * @returns {HiddenToken}\n */\nfunction endTag(node) {\n /** @type {P5Location} */\n const location = Object.assign(createParse5Location(node))\n // @ts-expect-error extra positional info.\n location.startTag = Object.assign({}, location)\n\n // Untyped token.\n return {\n type: endTagToken,\n tagName: node.tagName,\n attrs: [],\n location\n }\n}\n\n/**\n * @param {Node} node\n */\nfunction unknown(node) {\n throw new Error('Cannot compile `' + node.type + '` node')\n}\n\n/**\n * @param {Node} node\n * @returns {boolean}\n */\nfunction documentMode(node) {\n const head = node.type === 'root' ? node.children[0] : node\n return Boolean(\n head &&\n (head.type === 'doctype' ||\n (head.type === 'element' && head.tagName === 'html'))\n )\n}\n\n/**\n * @param {Node|Stitch} node\n * @returns {P5Location}\n */\nfunction createParse5Location(node) {\n const start = pointStart(node)\n const end = pointEnd(node)\n\n return {\n startLine: start.line,\n startCol: start.column,\n startOffset: start.offset,\n endLine: end.line,\n endCol: end.column,\n endOffset: end.offset\n }\n}\n\n/**\n * @param {VFile|Options|undefined} value\n * @return {value is Options}\n */\nfunction isOptions(value) {\n return Boolean(value && !('message' in value && 'messages' in value))\n}\n","/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast-util-raw').Options} Options\n * @typedef {import('hast-util-raw')} DoNotTouchAsThisImportIncludesRawInTree\n */\n\nimport {raw} from 'hast-util-raw'\n\n/**\n * Plugin to parse the tree again (and raw nodes).\n * Keeping positional info OK. 🙌\n *\n * @type {import('unified').Plugin<[Options?] | Array, Root>}\n */\nexport default function rehypeRaw(options = {}) {\n return (tree, file) => {\n // Assume that when a root was given, it’s also returned.\n const result = /** @type {Root} */ (raw(tree, file, options))\n return result\n }\n}\n","const rtlRange = '\\u0591-\\u07FF\\uFB1D-\\uFDFD\\uFE70-\\uFEFC'\nconst ltrRange =\n 'A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6' +\n '\\u00F8-\\u02B8\\u0300-\\u0590\\u0800-\\u1FFF\\u200E\\u2C00-\\uFB1C' +\n '\\uFE00-\\uFE6F\\uFEFD-\\uFFFF'\n\n/* eslint-disable no-misleading-character-class */\nconst rtl = new RegExp('^[^' + ltrRange + ']*[' + rtlRange + ']')\nconst ltr = new RegExp('^[^' + rtlRange + ']*[' + ltrRange + ']')\n/* eslint-enable no-misleading-character-class */\n\n/**\n * Detect the direction of text: left-to-right, right-to-left, or neutral\n *\n * @param {string} value\n * @returns {'rtl'|'ltr'|'neutral'}\n */\nexport function direction(value) {\n const source = String(value || '')\n return rtl.test(source) ? 'rtl' : ltr.test(source) ? 'ltr' : 'neutral'\n}\n","/**\n * @typedef {import('./types.js').SelectState} SelectState\n * @typedef {import('./types.js').Node} Node\n * @typedef {import('./types.js').ElementChild} ElementChild\n * @typedef {import('./types.js').Direction} Direction\n * @typedef {import('unist-util-visit/complex-types.js').Visitor} Visitor\n */\n\nimport {direction} from 'direction'\nimport {toString} from 'hast-util-to-string'\nimport {svg} from 'property-information'\nimport {visit, EXIT, SKIP} from 'unist-util-visit'\n\n/**\n * Enter a node.\n *\n * The caller is responsible for calling the return value `exit`.\n *\n * @param {SelectState} state\n * Current state.\n *\n * Will be mutated: `exit` undos the changes.\n * @param {Node} node\n * Node to enter.\n * @returns {() => void}\n * Call to exit.\n */\n// eslint-disable-next-line complexity\nexport function enterState(state, node) {\n const schema = state.schema\n const language = state.language\n const currentDirection = state.direction\n const editableOrEditingHost = state.editableOrEditingHost\n /** @type {Direction | undefined} */\n let dirInferred\n\n if (node.type === 'element' && node.properties) {\n const lang = node.properties.xmlLang || node.properties.lang\n const type = node.properties.type || 'text'\n const dir = dirProperty(node)\n\n if (lang !== undefined && lang !== null) {\n state.language = String(lang)\n }\n\n if (schema && schema.space === 'html') {\n if (node.properties.contentEditable === 'true') {\n state.editableOrEditingHost = true\n }\n\n if (node.tagName === 'svg') {\n state.schema = svg\n }\n\n // See: .\n // Explicit `[dir=rtl]`.\n if (dir === 'rtl') {\n dirInferred = dir\n } else if (\n // Explicit `[dir=ltr]`.\n dir === 'ltr' ||\n // HTML with an invalid or no `[dir]`.\n (dir !== 'auto' && node.tagName === 'html') ||\n // `input[type=tel]` with an invalid or no `[dir]`.\n (dir !== 'auto' && node.tagName === 'input' && type === 'tel')\n ) {\n dirInferred = 'ltr'\n // `[dir=auto]` or `bdi` with an invalid or no `[dir]`.\n } else if (dir === 'auto' || node.tagName === 'bdi') {\n if (node.tagName === 'textarea') {\n // Check contents of `
test
",style:{width:"100%",height:"100%"},title:"Code Preview",sandbox:"allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts"})),e.default.createElement("div",{style:{width:"80%",minWidth:100}},"Right Pane")),e.default.createElement(t.default,{style:{height:100,border:"1px solid #d5d5d5",borderRadius:3}},e.default.createElement("div",{style:{minWidth:60}},"test"),e.default.createElement("div",{style:{minWidth:80,flex:1}},"Right Pane")))}}(),62:function(){var e=r(n(8573)),t=r(n(6532));function r(e){return e&&e.__esModule?e:{default:e}}return function(){return e.default.createElement("div",null,e.default.createElement(t.default,{mode:"vertical",visible:!1},e.default.createElement("div",{style:{minHeight:45,background:"#dcdcdc"}},"Header"),e.default.createElement(t.default,{visible:!1},e.default.createElement("div",{style:{minWidth:200,maxWidth:200,minHeight:120,background:"#b5b5b5"}},"Sider"),e.default.createElement("div",{style:{width:"100%",background:"#ececec"}},"Content")),e.default.createElement("div",{style:{minHeight:45,background:"#dcdcdc"}},"Footer")),e.default.createElement("div",{style:{height:20}}),e.default.createElement(t.default,{visible:!1},e.default.createElement("div",{style:{minWidth:200,maxWidth:200,minHeight:85,background:"#a9a9a9"}},"Sider"),e.default.createElement(t.default,{mode:"vertical",visible:!1,style:{width:"100%"}},e.default.createElement("div",{style:{minHeight:45,background:"#dcdcdc"}},"Header"),e.default.createElement("div",{style:{minHeight:85,background:"#b5b5b5"}},"Content"),e.default.createElement("div",{style:{minHeight:45,background:"#dcdcdc"}},"Footer"))))}}(),92:function(){var e=r(n(8573)),t=r(n(6532));function r(e){return e&&e.__esModule?e:{default:e}}return function(){return e.default.createElement(t.default,{style:{height:100,border:"1px solid #d5d5d5",borderRadius:3}},e.default.createElement("div",null,"Left Pane"),e.default.createElement("div",null,"Center Pane"),e.default.createElement("div",null,"Center Pane"),e.default.createElement("div",{style:{flex:1}},"Right Pane"))}}(),109:function(){var e=r(n(8573)),t=r(n(6532));function r(e){return e&&e.__esModule?e:{default:e}}return function(){return e.default.createElement("div",null,e.default.createElement(t.default,{lineBar:!0,style:{height:100,border:"1px solid #d5d5d5",borderRadius:3}},e.default.createElement("div",null,"Left Pane"),e.default.createElement("div",null,"Center Pane"),e.default.createElement("div",null,"Center Pane"),e.default.createElement("div",{style:{flex:1}},"Right Pane")),e.default.createElement(t.default,{mode:"vertical",lineBar:!0,style:{height:210,border:"1px solid #d5d5d5",borderRadius:3,marginTop:10}},e.default.createElement("div",{style:{height:"33.3%"}},"Left Pane"),e.default.createElement("div",{style:{height:"33.3%"}},"Center Pane"),e.default.createElement("div",{style:{flex:1}},"Right Pane")))}}(),133:function(){var e=r(n(8573)),t=r(n(6532));function r(e){return e&&e.__esModule?e:{default:e}}return function(){return e.default.createElement(t.default,{mode:"vertical",style:{height:200,border:"1px solid #d5d5d5",borderRadius:3}},e.default.createElement("div",{style:{height:"50%"}},"Top Pane"),e.default.createElement("div",{style:{height:"50%"}},"Bottom Pane"))}}(),148:function(){var e=r(n(8573)),t=r(n(6532));function r(e){return e&&e.__esModule?e:{default:e}}return function(){return e.default.createElement(t.default,{style:{height:200,border:"1px solid #d5d5d5",borderRadius:3}},e.default.createElement(t.default,{mode:"vertical"},e.default.createElement("div",{style:{height:"50%"}},"Top Pane"),e.default.createElement(t.default,{style:{height:"50%"}},e.default.createElement("div",null,"Left Pane"),e.default.createElement("div",{style:{flex:1}},"Right Pane"))),e.default.createElement("div",{style:{flex:1}},"Right Pane"))}}(),171:function(){var e=r(n(8573)),t=r(n(6532));function r(e){return e&&e.__esModule?e:{default:e}}return function(){return e.default.createElement("div",null,e.default.createElement(t.default,{visiable:!1,style:{height:100,border:"1px solid #d5d5d5",borderRadius:3}},e.default.createElement("div",{style:{maxWidth:100,backgroundColor:"#eaeaea"}},"Left Pane"),e.default.createElement("div",{style:{flex:1}},"Right Pane")),e.default.createElement(t.default,{visiable:[4,5],style:{height:100,border:"1px solid #d5d5d5",borderRadius:3,marginTop:10}},e.default.createElement("div",{style:{maxWidth:50,backgroundColor:"#eaeaea"}},"Pane 1"),e.default.createElement("div",{style:{maxWidth:60}},"Pane 2"),e.default.createElement("div",null,"Pane 3"),e.default.createElement("div",null,"Pane 4"),e.default.createElement("div",{style:{flex:1}},"Pane 5")))}}(),197:function(){var e=r(n(8573)),t=r(n(6532));function r(e){return e&&e.__esModule?e:{default:e}}return function(){return e.default.createElement("div",null,e.default.createElement(t.default,{disable:!0,style:{height:100,border:"1px solid #d5d5d5",borderRadius:3}},e.default.createElement("div",{style:{maxWidth:100,backgroundColor:"#eaeaea"}},"Left Pane"),e.default.createElement(t.default,{disable:!0,mode:"vertical"},e.default.createElement("div",null,"Top Pane"),e.default.createElement("div",null,"Bottom Pane")),e.default.createElement("div",{style:{flex:1}},"Right Pane")),e.default.createElement(t.default,{disable:[4,5],style:{height:100,border:"1px solid #d5d5d5",borderRadius:3,marginTop:10}},e.default.createElement("div",{style:{maxWidth:50,backgroundColor:"#eaeaea"}},"Pane 1"),e.default.createElement("div",{style:{maxWidth:60}},"Pane 2"),e.default.createElement("div",null,"Pane 3"),e.default.createElement("div",null,"Pane 4"),e.default.createElement("div",{style:{flex:1}},"Pane 5")))}}(),227:function(){function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}var t=o(n(8573)),r=o(n(6532)),i=n(4845);function o(e){return e&&e.__esModule?e:{default:e}}function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}return function(){return e.default.createElement("div",null,e.default.createElement(t.default,{renderBar:function(t){var n=t.onMouseDown,i=u(t,r);return e.default.createElement("div",o({},i,{style:{boxShadow:"none",background:"transparent"}}),e.default.createElement("div",{onMouseDown:n,style:{backgroundColor:"#ff000057",boxShadow:"none"}}))},style:{height:100,border:"1px solid #d5d5d5",borderRadius:3}},e.default.createElement("div",{style:{minWidth:60}},"test"),e.default.createElement("div",{style:{minWidth:80,flex:1}},"Right Pane")))}}()},data:{32:{name:32,meta:{background:"#fff",codeSandbox:"true",codePen:"true"},code:'"use strict";\n\nvar _react = _interopRequireDefault(require("react"));\nvar _reactSplit = _interopRequireDefault(require("@uiw/react-split"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }\nvar Demo = function Demo() {\n return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n style: {\n height: 100,\n border: \'1px solid #d5d5d5\',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n width: \'20%\',\n minWidth: 30\n }\n }, /*#__PURE__*/_react["default"].createElement("iframe", {\n srcDoc: "
test
",\n style: {\n width: \'100%\',\n height: \'100%\'\n },\n title: "Code Preview",\n sandbox: "allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts"\n })), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n width: \'80%\',\n minWidth: 100\n }\n }, "Right Pane")), /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n style: {\n height: 100,\n border: \'1px solid #d5d5d5\',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n minWidth: 60\n }\n }, "test"), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n minWidth: 80,\n flex: 1\n }\n }, "Right Pane")));\n};\nreturn Demo;',language:"jsx",value:"import React from 'react';\nimport Split from '@uiw/react-split';\n\nconst Demo = () => (\n
\n \n
\n test
\"\n style={{ width: '100%', height: '100%' }}\n title=\"Code Preview\"\n sandbox=\"allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts\"\n />\n
\n
Right Pane
\n \n \n
test
\n
Right Pane
\n
\n
\n);\nexport default Demo;"},62:{name:62,meta:{background:"#fff",codeSandbox:"true",codePen:"true"},code:'"use strict";\n\nvar _react = _interopRequireDefault(require("react"));\nvar _reactSplit = _interopRequireDefault(require("@uiw/react-split"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }\nvar Demo = function Demo() {\n return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n mode: "vertical",\n visible: false\n }, /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n minHeight: 45,\n background: \'#dcdcdc\'\n }\n }, "Header"), /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n visible: false\n }, /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n minWidth: 200,\n maxWidth: 200,\n minHeight: 120,\n background: \'#b5b5b5\'\n }\n }, "Sider"), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n width: \'100%\',\n background: \'#ececec\'\n }\n }, "Content")), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n minHeight: 45,\n background: \'#dcdcdc\'\n }\n }, "Footer")), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n height: 20\n }\n }), /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n visible: false\n }, /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n minWidth: 200,\n maxWidth: 200,\n minHeight: 85,\n background: \'#a9a9a9\'\n }\n }, "Sider"), /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n mode: "vertical",\n visible: false,\n style: {\n width: \'100%\'\n }\n }, /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n minHeight: 45,\n background: \'#dcdcdc\'\n }\n }, "Header"), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n minHeight: 85,\n background: \'#b5b5b5\'\n }\n }, "Content"), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n minHeight: 45,\n background: \'#dcdcdc\'\n }\n }, "Footer"))));\n};\nreturn Demo;',language:"jsx",value:"import React from 'react';\nimport Split from '@uiw/react-split';\n\nconst Demo = () => (\n
\n \n
Header
\n \n
Sider
\n
Content
\n
\n
Footer
\n
\n
\n \n
Sider
\n \n
Header
\n
Content
\n
Footer
\n
\n
\n
\n);\nexport default Demo;"},92:{name:92,meta:{background:"#fff",codeSandbox:"true",codePen:"true"},code:'"use strict";\n\nvar _react = _interopRequireDefault(require("react"));\nvar _reactSplit = _interopRequireDefault(require("@uiw/react-split"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }\nvar Demo = function Demo() {\n return /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n style: {\n height: 100,\n border: \'1px solid #d5d5d5\',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react["default"].createElement("div", null, "Left Pane"), /*#__PURE__*/_react["default"].createElement("div", null, "Center Pane"), /*#__PURE__*/_react["default"].createElement("div", null, "Center Pane"), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n flex: 1\n }\n }, "Right Pane"));\n};\nreturn Demo;',language:"jsx",value:"import React from 'react';\nimport Split from '@uiw/react-split';\n\nconst Demo = () => (\n \n
Left Pane
\n
Center Pane
\n
Center Pane
\n
Right Pane
\n
\n);\nexport default Demo;"},109:{name:109,meta:{background:"#fff",codeSandbox:"true",codePen:"true"},code:'"use strict";\n\nvar _react = _interopRequireDefault(require("react"));\nvar _reactSplit = _interopRequireDefault(require("@uiw/react-split"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }\nvar Demo = function Demo() {\n return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n lineBar: true,\n style: {\n height: 100,\n border: \'1px solid #d5d5d5\',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react["default"].createElement("div", null, "Left Pane"), /*#__PURE__*/_react["default"].createElement("div", null, "Center Pane"), /*#__PURE__*/_react["default"].createElement("div", null, "Center Pane"), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n flex: 1\n }\n }, "Right Pane")), /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n mode: "vertical",\n lineBar: true,\n style: {\n height: 210,\n border: \'1px solid #d5d5d5\',\n borderRadius: 3,\n marginTop: 10\n }\n }, /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n height: \'33.3%\'\n }\n }, "Left Pane"), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n height: \'33.3%\'\n }\n }, "Center Pane"), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n flex: 1\n }\n }, "Right Pane")));\n};\nreturn Demo;',language:"jsx",value:"import React from 'react';\nimport Split from '@uiw/react-split';\n\nconst Demo = () => (\n
\n \n
Left Pane
\n
Center Pane
\n
Center Pane
\n
Right Pane
\n
\n \n
Left Pane
\n
Center Pane
\n
Right Pane
\n
\n
\n);\nexport default Demo;"},133:{name:133,meta:{background:"#fff",codeSandbox:"true",codePen:"true"},code:'"use strict";\n\nvar _react = _interopRequireDefault(require("react"));\nvar _reactSplit = _interopRequireDefault(require("@uiw/react-split"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }\nvar Demo = function Demo() {\n return /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n mode: "vertical",\n style: {\n height: 200,\n border: \'1px solid #d5d5d5\',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n height: \'50%\'\n }\n }, "Top Pane"), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n height: \'50%\'\n }\n }, "Bottom Pane"));\n};\nreturn Demo;',language:"jsx",value:"import React from 'react';\nimport Split from '@uiw/react-split';\n\nconst Demo = () => (\n \n
Top Pane
\n
Bottom Pane
\n
\n);\nexport default Demo;"},148:{name:148,meta:{background:"#fff",codeSandbox:"true",codePen:"true"},code:'"use strict";\n\nvar _react = _interopRequireDefault(require("react"));\nvar _reactSplit = _interopRequireDefault(require("@uiw/react-split"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }\nvar Demo = function Demo() {\n return /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n style: {\n height: 200,\n border: \'1px solid #d5d5d5\',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n mode: "vertical"\n }, /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n height: \'50%\'\n }\n }, "Top Pane"), /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n style: {\n height: \'50%\'\n }\n }, /*#__PURE__*/_react["default"].createElement("div", null, "Left Pane"), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n flex: 1\n }\n }, "Right Pane"))), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n flex: 1\n }\n }, "Right Pane"));\n};\nreturn Demo;',language:"jsx",value:"import React from 'react';\nimport Split from '@uiw/react-split';\n\nconst Demo = () => (\n \n \n
Top Pane
\n \n
Left Pane
\n
Right Pane
\n
\n
\n
Right Pane
\n
\n);\nexport default Demo;"},171:{name:171,meta:{background:"#fff",codeSandbox:"true",codePen:"true"},code:'"use strict";\n\nvar _react = _interopRequireDefault(require("react"));\nvar _reactSplit = _interopRequireDefault(require("@uiw/react-split"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }\nvar Demo = function Demo() {\n return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n visiable: false,\n style: {\n height: 100,\n border: \'1px solid #d5d5d5\',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n maxWidth: 100,\n backgroundColor: \'#eaeaea\'\n }\n }, "Left Pane"), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n flex: 1\n }\n }, "Right Pane")), /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n visiable: [4, 5],\n style: {\n height: 100,\n border: \'1px solid #d5d5d5\',\n borderRadius: 3,\n marginTop: 10\n }\n }, /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n maxWidth: 50,\n backgroundColor: \'#eaeaea\'\n }\n }, "Pane 1"), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n maxWidth: 60\n }\n }, "Pane 2"), /*#__PURE__*/_react["default"].createElement("div", null, "Pane 3"), /*#__PURE__*/_react["default"].createElement("div", null, "Pane 4"), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n flex: 1\n }\n }, "Pane 5")));\n};\nreturn Demo;',language:"jsx",value:"import React from 'react';\nimport Split from '@uiw/react-split';\n\nconst Demo = () => (\n
\n \n
Left Pane
\n
Right Pane
\n
\n \n
Pane 1
\n
Pane 2
\n
Pane 3
\n
Pane 4
\n
Pane 5
\n
\n
\n);\nexport default Demo;"},197:{name:197,meta:{background:"#fff",codeSandbox:"true",codePen:"true"},code:'"use strict";\n\nvar _react = _interopRequireDefault(require("react"));\nvar _reactSplit = _interopRequireDefault(require("@uiw/react-split"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }\nvar Demo = function Demo() {\n return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n disable: true,\n style: {\n height: 100,\n border: \'1px solid #d5d5d5\',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n maxWidth: 100,\n backgroundColor: \'#eaeaea\'\n }\n }, "Left Pane"), /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n disable: true,\n mode: "vertical"\n }, /*#__PURE__*/_react["default"].createElement("div", null, "Top Pane"), /*#__PURE__*/_react["default"].createElement("div", null, "Bottom Pane")), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n flex: 1\n }\n }, "Right Pane")), /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n disable: [4, 5],\n style: {\n height: 100,\n border: \'1px solid #d5d5d5\',\n borderRadius: 3,\n marginTop: 10\n }\n }, /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n maxWidth: 50,\n backgroundColor: \'#eaeaea\'\n }\n }, "Pane 1"), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n maxWidth: 60\n }\n }, "Pane 2"), /*#__PURE__*/_react["default"].createElement("div", null, "Pane 3"), /*#__PURE__*/_react["default"].createElement("div", null, "Pane 4"), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n flex: 1\n }\n }, "Pane 5")));\n};\nreturn Demo;',language:"jsx",value:"import React from 'react';\nimport Split from '@uiw/react-split';\n\nconst Demo = () => (\n
\n \n
Left Pane
\n \n
Top Pane
\n
Bottom Pane
\n
\n
Right Pane
\n
\n \n
Pane 1
\n
Pane 2
\n
Pane 3
\n
Pane 4
\n
Pane 5
\n
\n
\n);\nexport default Demo;"},227:{name:227,meta:{background:"#fff",codeSandbox:"true",codePen:"true"},code:'"use strict";\n\nfunction _instanceof(left, right) { if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { return !!right[Symbol.hasInstance](left); } else { return left instanceof right; } }\nfunction _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }\nvar _react = _interopRequireDefault(require("react"));\nvar _reactSplit = _interopRequireDefault(require("@uiw/react-split"));\nvar _uiw = require("uiw");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!_instanceof(instance, Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nvar Demo = /*#__PURE__*/function (_React$Component) {\n _inherits(Demo, _React$Component);\n var _super = _createSuper(Demo);\n function Demo(props) {\n var _this;\n _classCallCheck(this, Demo);\n _this = _super.call(this, props);\n _this.state = {\n width: 210\n };\n return _this;\n }\n _createClass(Demo, [{\n key: "onClick",\n value: function onClick() {\n this.setState({\n width: this.state.width === 0 ? 210 : 0\n });\n }\n }, {\n key: "render",\n value: function render() {\n var styl = {\n lineHeight: 0\n };\n if (this.state.width === 0) {\n styl.width = "0%";\n } else {\n styl.width = this.state.width;\n }\n return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n marginBottom: 10\n }\n }, /*#__PURE__*/_react["default"].createElement(_uiw.Button, {\n type: "primary",\n onClick: this.onClick.bind(this)\n }, this.state.width === 0 ? \'\u9690\u85cf\u83dc\u5355\' : \'\u5c55\u793a\u83dc\u5355\')), /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n lineBar: true,\n visiable: this.state.width !== 0,\n style: {\n border: \'1px solid #d5d5d5\',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react["default"].createElement("div", {\n style: _objectSpread(_objectSpread({}, styl), {}, {\n overflow: \'hidden\'\n })\n }, /*#__PURE__*/_react["default"].createElement(_uiw.Menu, null, /*#__PURE__*/_react["default"].createElement(_uiw.Menu.Item, {\n icon: "heart-on",\n text: "\\u53E6\\u5B58\\u4E3A",\n active: true\n }), /*#__PURE__*/_react["default"].createElement(_uiw.Menu.Item, {\n icon: "appstore",\n text: "\\u5E94\\u7528\\u5546\\u57CE"\n }), /*#__PURE__*/_react["default"].createElement(_uiw.Menu.Item, {\n icon: "bar-chart",\n text: "\\u6708\\u7EDF\\u8BA1\\u62A5\\u8868\\u5BFC\\u51FA"\n }), /*#__PURE__*/_react["default"].createElement(_uiw.Menu.Item, {\n icon: "setting",\n text: "\\u504F\\u597D\\u8BBE\\u7F6E"\n }), /*#__PURE__*/_react["default"].createElement(_uiw.Menu.Divider, null), /*#__PURE__*/_react["default"].createElement(_uiw.Menu.Item, {\n icon: "map",\n text: "\\u8C37\\u6B4C\\u5730\\u56FE"\n }))), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n flex: 1,\n minWidth: 30\n }\n }, "Right Pane")));\n }\n }]);\n return Demo;\n}(_react["default"].Component);\nreturn Demo;',language:"jsx",value:'import React from \'react\';\nimport Split from \'@uiw/react-split\';\nimport { Menu, Button } from \'uiw\';\n\nclass Demo extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n width: 210,\n };\n }\n onClick() {\n this.setState({\n width: this.state.width === 0 ? 210 : 0,\n });\n }\n render() {\n const styl = { lineHeight: 0 };\n if (this.state.width === 0) {\n styl.width = `0%`;\n } else {\n styl.width = this.state.width;\n }\n return (\n <>\n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n
\n
Right Pane
\n
\n \n );\n }\n}\nexport default Demo;'},280:{name:280,meta:{background:"#fff",codeSandbox:"true",codePen:"true"},code:'"use strict";\n\nvar _react = _interopRequireDefault(require("react"));\nvar _reactSplit = _interopRequireDefault(require("@uiw/react-split"));\nvar _excluded = ["onMouseDown"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar Demo = function Demo() {\n return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_reactSplit["default"], {\n renderBar: function renderBar(_ref) {\n var onMouseDown = _ref.onMouseDown,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/_react["default"].createElement("div", _extends({}, props, {\n style: {\n boxShadow: \'none\',\n background: \'transparent\'\n }\n }), /*#__PURE__*/_react["default"].createElement("div", {\n onMouseDown: onMouseDown,\n style: {\n backgroundColor: \'#ff000057\',\n boxShadow: \'none\'\n }\n }));\n },\n style: {\n height: 100,\n border: \'1px solid #d5d5d5\',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n minWidth: 60\n }\n }, "test"), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n minWidth: 80,\n flex: 1\n }\n }, "Right Pane")));\n};\nreturn Demo;',language:"jsx",value:"import React from 'react';\nimport Split from '@uiw/react-split';\n\nconst Demo = () => (\n
\n {\n return (\n
\n
\n
\n );\n }}\n style={{ height: 100, border: '1px solid #d5d5d5', borderRadius: 3 }}\n >\n
test
\n
Right Pane
\n \n
\n);\nexport default Demo;"}},source:"# Split\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![NPM Downloads](https://img.shields.io/npm/dm/@uiw/react-split.svg?style=flat)](https://www.npmjs.com/package/@uiw/react-split)\n[![Build & Deploy](https://github.com/uiwjs/react-split/actions/workflows/ci.yml/badge.svg)](https://github.com/uiwjs/react-split/actions/workflows/ci.yml)\n[![Open in unpkg](https://img.shields.io/badge/Open%20in-unpkg-blue)](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-split/file/README.md)\n[![npm version](https://img.shields.io/npm/v/@uiw/react-split.svg)](https://www.npmjs.com/package/@uiw/react-split)\n[![Coverage Status](https://uiwjs.github.io/react-split/badges.svg)](https://uiwjs.github.io/react-split/coverage/lcov-report/)\n[![Open in Gitpod](https://shields.io/badge/Open%20in-Gitpod-green?logo=Gitpod)](https://gitpod.io/#https://github.com/uiwjs/react-split)\n[![Repo Dependents](https://badgen.net/github/dependents-repo/uiwjs/react-split)](https://github.com/uiwjs/react-split/network/dependents)\n\nA piece of content can be divided into areas that can be dragged to adjust the width or height.\n\n```jsx\nimport { Split } from 'uiw';\n```\n\n`@uiw/react-split` extracted from the component library `uiw` can be used alone.\n\n```jsx\nimport Split from '@uiw/react-split';\n```\n\n### Basic usage\n\n> ~~By setting the `minWidth` style of the child node, you can set the minimum drag width value. By setting the child node style `flexBasis` style, you can set the proportion width of the default split content.~~\n\n- Fixed initial width or height, which can be calculated by setting the child node, style `width: '80%'` to 100% width.\n- Drag to the minimum width, you can achieve the effect by setting the child node style `minWidth: 30`.\n- By default, the style `width` is not set, and a child node style needs to be set to `flex: 1` to adapt\n\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\nimport React from 'react';\nimport Split from '@uiw/react-split';\n\nconst Demo = () => (\n
\n \n
\n test
\"\n style={{ width: '100%', height: '100%' }}\n title=\"Code Preview\"\n sandbox=\"allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts\"\n />\n
\n
Right Pane
\n \n \n
test
\n
Right Pane
\n
\n
\n);\nexport default Demo;\n```\n\n### Available for layout\n\nSetting `visible={false}` disables the drag bar, which can be used for layout.\n\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\nimport React from 'react';\nimport Split from '@uiw/react-split';\n\nconst Demo = () => (\n
\n \n
Header
\n \n
Sider
\n
Content
\n
\n
Footer
\n
\n
\n \n
Sider
\n \n
Header
\n
Content
\n
Footer
\n
\n
\n
\n);\nexport default Demo;\n```\n\n### multi-column split\n\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\nimport React from 'react';\nimport Split from '@uiw/react-split';\n\nconst Demo = () => (\n \n
Left Pane
\n
Center Pane
\n
Center Pane
\n
Right Pane
\n
\n);\nexport default Demo;\n```\n\n### line drag\n\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\nimport React from 'react';\nimport Split from '@uiw/react-split';\n\nconst Demo = () => (\n
\n \n
Left Pane
\n
Center Pane
\n
Center Pane
\n
Right Pane
\n
\n \n
Left Pane
\n
Center Pane
\n
Right Pane
\n
\n
\n);\nexport default Demo;\n```\n\n### vertical split\n\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\nimport React from 'react';\nimport Split from '@uiw/react-split';\n\nconst Demo = () => (\n \n
Top Pane
\n
Bottom Pane
\n
\n);\nexport default Demo;\n```\n\n### nested use\n\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\nimport React from 'react';\nimport Split from '@uiw/react-split';\n\nconst Demo = () => (\n \n \n
Top Pane
\n \n
Left Pane
\n
Right Pane
\n
\n
\n
Right Pane
\n
\n);\nexport default Demo;\n```\n\n### Drag tool not showing\n\nThe following example sets whether the drag tool is visible by setting the value of `visiable`.\n\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\nimport React from 'react';\nimport Split from '@uiw/react-split';\n\nconst Demo = () => (\n
\n \n
Left Pane
\n
Right Pane
\n
\n \n
Pane 1
\n
Pane 2
\n
Pane 3
\n
Pane 4
\n
Pane 5
\n
\n
\n);\nexport default Demo;\n```\n\n### Disable drag and drop\n\nDisable drag tool dragging by setting the value of `disable`.\n\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\nimport React from 'react';\nimport Split from '@uiw/react-split';\n\nconst Demo = () => (\n
\n \n
Left Pane
\n \n
Top Pane
\n
Bottom Pane
\n
\n
Right Pane
\n
\n \n
Pane 1
\n
Pane 2
\n
Pane 3
\n
Pane 4
\n
Pane 5
\n
\n
\n);\nexport default Demo;\n```\n\n### drawer\n\nDraggable left column width.\n\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\nimport React from 'react';\nimport Split from '@uiw/react-split';\nimport { Menu, Button } from 'uiw';\n\nclass Demo extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n width: 210,\n };\n }\n onClick() {\n this.setState({\n width: this.state.width === 0 ? 210 : 0,\n });\n }\n render() {\n const styl = { lineHeight: 0 };\n if (this.state.width === 0) {\n styl.width = `0%`;\n } else {\n styl.width = this.state.width;\n }\n return (\n <>\n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n
\n
Right Pane
\n
\n \n );\n }\n}\nexport default Demo;\n```\n\n### Support custom drag and drop toolbar\n\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\nimport React from 'react';\nimport Split from '@uiw/react-split';\n\nconst Demo = () => (\n
\n {\n return (\n
\n
\n
\n );\n }}\n style={{ height: 100, border: '1px solid #d5d5d5', borderRadius: 3 }}\n >\n
test
\n
Right Pane
\n \n
\n);\nexport default Demo;\n```\n\n## Props\n\n```ts\nexport interface SplitProps extends Omit, 'onDragEnd'> {\n style?: React.CSSProperties;\n className?: string;\n prefixCls?: string;\n /**\n * Drag width/height change callback function,\n * the width or height is determined according to the mode parameter\n */\n onDragging?: (preSize: number, nextSize: number, paneNumber: number) => void;\n /** Callback function for dragging end */\n onDragEnd?: (preSize: number, nextSize: number, paneNumber: number) => void;\n /** Support custom drag and drop toolbar */\n renderBar?: (props: React.HTMLAttributes) => JSX.Element;\n /** Set the drag and drop toolbar as a line style. */\n lineBar?: boolean;\n /** Set the dragged toolbar, whether it is visible or not */\n visible?: boolean | number[];\n /**\n * @deprecated Use `visible` instead\n */\n visiable?: boolean | number[];\n /**\n * Set the drag and drop toolbar, disable\n */\n disable?: boolean | number[];\n /**\n * type, optional `horizontal` or `vertical`\n */\n mode?: 'horizontal' | 'vertical';\n}\n```\n\n## Development\n\nRuns the project in development mode.\n\n```bash\n# Step 1, run first, listen to the component compile and output the .js file\nnpm run watch\nnpm run build\n# Step 2, development mode, listen to compile preview website instance\nnpm run doc\n```\n\n**production**\n\nBuilds the app for production to the build folder.\n\n```bash\nnpm run released\n```\n\nThe build is minified and the filenames include the hashes.\nYour app is ready to be deployed!\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n### License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]};var u=n(4760);const a=i.Z.Github,l=document.getElementById("root");(0,r.s)(l).render((0,u.jsx)(i.Z,{source:o.source,components:o.components,data:o.data,title:"React Split",description:"A piece of view can be divided into areas where the width or height can be adjusted by dragging.",version:"v".concat("5.9.1"),children:(0,u.jsx)(a,{href:"https://github.com/uiwjs/react-split"})}))},6532:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>l});var r=n(5773),i=n(808),o=n(8573),u=n(4760),a=["prefixCls","className","children","mode","visiable","visible","renderBar","lineBar","disable","onDragEnd","onDragging"];class l extends o.Component{constructor(e){super(e),this.state={dragging:!1},this.warpper=void 0,this.paneNumber=void 0,this.startX=void 0,this.startY=void 0,this.move=void 0,this.target=void 0,this.boxWidth=void 0,this.boxHeight=void 0,this.preWidth=void 0,this.nextWidth=void 0,this.preHeight=void 0,this.nextHeight=void 0,this.preSize=void 0,this.nextSize=void 0,this.onDragEnd=this.onDragEnd.bind(this),this.onDragging=this.onDragging.bind(this)}componentWillUnmount(){this.removeEvent()}removeEvent(){window.removeEventListener("mousemove",this.onDragging,!1),window.removeEventListener("mouseup",this.onDragEnd,!1)}onMouseDown(e,t){if(t.target&&this.warpper){this.paneNumber=e,this.startX=t.clientX,this.startY=t.clientY,this.move=!0,this.target=t.target.parentNode;var n=this.target.previousElementSibling,r=this.target.nextElementSibling;this.boxWidth=this.warpper.clientWidth,this.boxHeight=this.warpper.clientHeight,n&&(this.preWidth=n.clientWidth,this.preHeight=n.clientHeight),r&&(this.nextWidth=r.clientWidth,this.nextHeight=r.clientHeight),window.addEventListener("mousemove",this.onDragging),window.addEventListener("mouseup",this.onDragEnd,!1),this.setState({dragging:!0})}}onDragging(e){if(this.move){this.state.dragging||this.setState({dragging:!0});var{mode:t,onDragging:n}=this.props,r=this.target.nextElementSibling,i=this.target.previousElementSibling,o=e.clientX-this.startX,u=e.clientY-this.startY;if(this.preSize=0,this.nextSize=0,"horizontal"===t){if(this.preSize=this.preWidth+o>-1?this.preWidth+o:0,this.nextSize=this.nextWidth-o>-1?this.nextWidth-o:0,0===this.preSize||0===this.nextSize)return;this.preSize=100*(this.preSize/this.boxWidth>=1?1:this.preSize/this.boxWidth),this.nextSize=100*(this.nextSize/this.boxWidth>=1?1:this.nextSize/this.boxWidth),i&&r&&(i.style.width=this.preSize+"%",r.style.width=this.nextSize+"%")}if("vertical"===t&&this.preHeight+u>-1&&this.nextHeight-u>-1){if(this.preSize=this.preHeight+u>-1?this.preHeight+u:0,this.nextSize=this.nextHeight-u>-1?this.nextHeight-u:0,this.preSize=100*(this.preSize/this.boxHeight>=1?1:this.preSize/this.boxHeight),this.nextSize=100*(this.nextSize/this.boxHeight>=1?1:this.nextSize/this.boxHeight),0===this.preSize||0===this.nextSize)return;i&&r&&(i.style.height=this.preSize+"%",r.style.height=this.nextSize+"%")}n&&n(this.preSize,this.nextSize,this.paneNumber)}}onDragEnd(){var{onDragEnd:e}=this.props;this.move=!1,e&&e(this.preSize,this.nextSize,this.paneNumber),this.removeEvent(),this.setState({dragging:!1})}render(){var e,t=this.props,{prefixCls:n,className:l,children:s,mode:c,visible:f=(null!=(e=this.props.visible)?e:this.props.visiable),renderBar:d,lineBar:p,disable:h}=t,m=(0,i.Z)(t,a),{dragging:g}=this.state,v=[n,l,n+"-"+c,g?"dragging":null].filter(Boolean).join(" ").trim(),y=o.Children.toArray(s);return(0,u.jsx)("div",(0,r.Z)({className:v},m,{ref:e=>this.warpper=e,children:o.Children.map(y,((e,t)=>{var i=Object.assign({},e.props,{className:[n+"-pane",e.props.className].filter(Boolean).join(" ").trim(),style:(0,r.Z)({},e.props.style)}),a=!0===f||f&&f.includes(t+1)||!1,l={className:[n+"-bar",p?n+"-line-bar":null,p?null:n+"-large-bar"].filter(Boolean).join(" ").trim()};(!0===h||h&&h.includes(t+1))&&(l.className=[l.className,h?"disable":null].filter(Boolean).join(" ").trim());var s=null;return 0!==t&&a&&d?s=d((0,r.Z)({},l,{onMouseDown:this.onMouseDown.bind(this,t+1)})):0!==t&&a&&(s=o.createElement("div",(0,r.Z)({},l),(0,u.jsx)("div",{onMouseDown:this.onMouseDown.bind(this,t+1)}))),(0,u.jsxs)(o.Fragment,{children:[s,o.cloneElement(e,(0,r.Z)({},i))]},t)}))}))}}l.defaultProps={prefixCls:"w-split",visiable:!0,mode:"horizontal"}},6155:(e,t,n)=>{var r=n(3231).default;const i=document,o="_dark_mode_theme_",u="permanent",a="colorschemechange",l="light",s="dark",c=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t;Object.defineProperty(e,n,{enumerable:!0,get(){const e=this.getAttribute(t);return null===e?"":e},set(e){this.setAttribute(t,e)}})};class f extends HTMLElement{static get observedAttributes(){return["mode",l,s,u]}constructor(){super(),r(this,"LOCAL_NANE",o),this.t()}connectedCallback(){c(this,"mode"),c(this,s),c(this,l),function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t;Object.defineProperty(e,n,{enumerable:!0,get(){return this.hasAttribute(t)},set(e){e?this.setAttribute(t,""):this.removeAttribute(t)}})}(this,u);const e=localStorage.getItem(o);e&&[l,s].includes(e)&&(this.mode=e,this.permanent=!0),this.permanent&&!e&&localStorage.setItem(o,this.mode);const t=[l,s].includes(e);this.permanent&&e?this.o():(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches&&(this.mode=s,this.o()),window.matchMedia&&window.matchMedia("(prefers-color-scheme: light)").matches&&(this.mode=l,this.o())),this.permanent||t||(window.matchMedia("(prefers-color-scheme: light)").onchange=e=>{this.mode=e.matches?l:s,this.o()},window.matchMedia("(prefers-color-scheme: dark)").onchange=e=>{this.mode=e.matches?s:l,this.o()});new MutationObserver(((e,n)=>{this.mode=i.documentElement.dataset.colorMode,this.permanent&&t&&(localStorage.setItem(o,this.mode),this.i("permanentcolorscheme",{permanent:this.permanent})),this.h(),this.i(a,{colorScheme:this.mode})})).observe(i.documentElement,{attributes:!0}),this.i(a,{colorScheme:this.mode}),this.h()}attributeChangedCallback(e,t,n){if("mode"===e&&t!==n&&[l,s].includes(n)){const e=localStorage.getItem(o);this.mode===e?(this.mode=n,this.h(),this.o()):this.mode&&this.mode!==e&&(this.h(),this.o())}else e!==l&&e!==s||t===n||this.h();"permanent"===e&&"boolean"===typeof this.permanent&&(this.permanent?localStorage.setItem(o,this.mode):localStorage.removeItem(o))}o(){i.documentElement.setAttribute("data-color-mode",this.mode)}h(){this.icon.textContent=this.mode===l?"\ud83c\udf12":"\ud83c\udf1e",this.text.textContent=this.mode===l?this.getAttribute(s):this.getAttribute(l),!this.text.textContent&&this.text.parentElement&&this.text&&this.text.parentElement.removeChild(this.text)}t(){var e=this.attachShadow({mode:"open"});this.label=i.createElement("span"),this.label.setAttribute("class","wrapper"),this.label.onclick=()=>{this.mode=this.mode===l?s:l,this.permanent&&localStorage.setItem(o,this.mode),this.o(),this.h()},e.appendChild(this.label),this.icon=i.createElement("span"),this.label.appendChild(this.icon),this.text=i.createElement("span"),this.label.appendChild(this.text);const t="_dark_mode_style_";if(!i.getElementById(t)){var n=i.createElement("style");n.id=t,n.textContent="\n[data-color-mode*='dark'], [data-color-mode*='dark'] body {\n color-scheme: dark;\n --color-theme-bg: #0d1117;\n --color-theme-text: #c9d1d9;\n background-color: var(--color-theme-bg);\n color: var(--color-theme-text);\n}\n\n[data-color-mode*='light'], [data-color-mode*='light'] body {\n color-scheme: light;\n --color-theme-bg: #fff;\n --color-theme-text: #24292f;\n background-color: var(--color-theme-bg);\n color: var(--color-theme-text);\n}",i.head.appendChild(n)}var r=i.createElement("style");r.textContent="\n .wrapper { cursor: pointer; user-select: none; position: relative; }\n .wrapper > span + span { margin-left: .4rem; }\n ",e.appendChild(r)}i(e,t){this.dispatchEvent(new CustomEvent(e,{bubbles:!0,composed:!0,detail:t}))}}customElements.define("dark-mode",f)},4838:(e,t)=>{"use strict";function n(e,t){return(Array.isArray(t)?t:[t]).some((function(t){return"string"===typeof t&&(t=new RegExp(t)),t.test(e||"")}))}},8916:(e,t)=>{"use strict"},7190:e=>{e.exports={trueFunc:function(){return!0},falseFunc:function(){return!1}}},6408:(e,t,n)=>{"use strict";var r=n(4272),i=n(3914),o=function(){function e(){this.pseudos={},this.attrEqualityMods={},this.ruleNestingOperators={},this.substitutesEnabled=!1}return e.prototype.registerSelectorPseudos=function(){for(var e=[],t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(6274);t.parseCssSelector=function(e,t,n,i,o,u){var a=e.length,l="";function s(n,i){var o="";for(t++,l=e.charAt(t);t=a)throw Error("Expected symbol but end of file reached.");if(l=e.charAt(t),r.identSpecialChars[l])n+=l;else{if(r.isHex(l)){var i=l;for(t++,l=e.charAt(t);r.isHex(l);)i+=l,t++,l=e.charAt(t);" "===l&&(t++,l=e.charAt(t)),n+=String.fromCharCode(parseInt(i,16));continue}n+=l}}t++,l=e.charAt(t)}return n}function f(){l=e.charAt(t);for(var n=!1;" "===l||"\t"===l||"\n"===l||"\r"===l||"\f"===l;)n=!0,t++,l=e.charAt(t);return n}function d(){var n=p();if(!n)return null;var r=n;for(l=e.charAt(t);","===l;){if(t++,f(),"selectors"!==r.type&&(r={type:"selectors",selectors:[n]}),!(n=p()))throw Error('Rule expected after ",".');r.selectors.push(n)}return r}function p(){f();var n={type:"ruleSet"},r=h();if(!r)return null;for(var i=n;r&&(r.type="rule",i.rule=r,i=r,f(),l=e.charAt(t),!(t>=a||","===l||")"===l));)if(o[l]){var u=l;if(t++,f(),!(r=h()))throw Error('Rule expected after "'+u+'".');r.nestingOperator=u}else(r=h())&&(r.nestingOperator=null);return n}function h(){for(var o=null;t=a)throw Error('Expected "=" but end of file reached.');if("="!==l)throw Error('Expected "=" but "'+l+'" found.');p.operator=h+"=",t++,f();var m="";if(p.valueType="string",'"'===l)m=s('"',r.doubleQuotesEscapeChars);else if("'"===l)m=s("'",r.singleQuoteEscapeChars);else if(u&&"$"===l)t++,m=c(),p.valueType="substitute";else{for(;t=a)throw Error('Expected "]" but end of file reached.');if("]"!==l)throw Error('Expected "]" but "'+l+'" found.');t++,p.value=m}((o=o||{}).attrs=o.attrs||[]).push(p)}else{if(":"!==l)break;t++;var g=c(),v={name:g};if("("===l){t++;var y="";if(f(),"selector"===n[g])v.valueType="selector",y=d();else{if(v.valueType=n[g]||"string",'"'===l)y=s('"',r.doubleQuotesEscapeChars);else if("'"===l)y=s("'",r.singleQuoteEscapeChars);else if(u&&"$"===l)t++,y=c(),v.valueType="substitute";else{for(;t=a)throw Error('Expected ")" but end of file reached.');if(")"!==l)throw Error('Expected ")" but "'+l+'" found.');t++,v.value=y}((o=o||{}).pseudos=o.pseudos||[]).push(v)}return o}return function(){var n=d();if(t{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(6274);t.renderEntity=function e(t){var n="";switch(t.type){case"ruleSet":for(var i=t.rule,o=[];i;)i.nestingOperator&&o.push(i.nestingOperator),o.push(e(i)),i=i.rule;n=o.join(" ");break;case"selectors":n=t.selectors.map(e).join(", ");break;case"rule":t.tagName&&(n="*"===t.tagName?"*":r.escapeIdentifier(t.tagName)),t.id&&(n+="#"+r.escapeIdentifier(t.id)),t.classNames&&(n+=t.classNames.map((function(e){return"."+r.escapeIdentifier(e)})).join("")),t.attrs&&(n+=t.attrs.map((function(e){return"operator"in e?"substitute"===e.valueType?"["+r.escapeIdentifier(e.name)+e.operator+"$"+e.value+"]":"["+r.escapeIdentifier(e.name)+e.operator+r.escapeStr(e.value)+"]":"["+r.escapeIdentifier(e.name)+"]"})).join("")),t.pseudos&&(n+=t.pseudos.map((function(t){return t.valueType?"selector"===t.valueType?":"+r.escapeIdentifier(t.name)+"("+e(t.value)+")":"substitute"===t.valueType?":"+r.escapeIdentifier(t.name)+"($"+t.value+")":"numeric"===t.valueType?":"+r.escapeIdentifier(t.name)+"("+t.value+")":":"+r.escapeIdentifier(t.name)+"("+r.escapeIdentifier(t.value)+")":":"+r.escapeIdentifier(t.name)})).join(""));break;default:throw Error('Unknown entity type: "'+t.type+'".')}return n}},6274:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isIdentStart=function(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||"-"===e||"_"===e},t.isIdent=function(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||"-"===e||"_"===e},t.isHex=function(e){return e>="a"&&e<="f"||e>="A"&&e<="F"||e>="0"&&e<="9"},t.escapeIdentifier=function(e){for(var n=e.length,r="",i=0;i="A"&&o<="Z"||o>="a"&&o<="z"||0!==i&&o>="0"&&o<="9")r+=o;else{var u=o.charCodeAt(0);if(55296===(63488&u)){var a=e.charCodeAt(i++);if(55296!==(64512&u)||56320!==(64512&a))throw Error("UCS-2(decode): illegal sequence");u=((1023&u)<<10)+(1023&a)+65536}r+="\\"+u.toString(16)+" "}i++}return r},t.escapeStr=function(e){for(var n,r=e.length,i="",o=0;o":!0,"?":!0,"@":!0,"[":!0,"\\":!0,"]":!0,"^":!0,"`":!0,"{":!0,"|":!0,"}":!0,"~":!0},t.strReplacementsRev={"\n":"\\n","\r":"\\r","\t":"\\t","\f":"\\f","\v":"\\v"},t.singleQuoteEscapeChars={n:"\n",r:"\r",t:"\t",f:"\f","\\":"\\","'":"'"},t.doubleQuotesEscapeChars={n:"\n",r:"\r",t:"\t",f:"\f","\\":"\\",'"':'"'}},432:e=>{"use strict";var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=function(e){return"function"===typeof Array.isArray?Array.isArray(e):"[object Array]"===n.call(e)},u=function(e){if(!e||"[object Object]"!==n.call(e))return!1;var r,i=t.call(e,"constructor"),o=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!i&&!o)return!1;for(r in e);return"undefined"===typeof r||t.call(e,r)},a=function(e,t){r&&"__proto__"===t.name?r(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},l=function(e,n){if("__proto__"===n){if(!t.call(e,n))return;if(i)return i(e,n).value}return e[n]};e.exports=function e(){var t,n,r,i,s,c,f=arguments[0],d=1,p=arguments.length,h=!1;for("boolean"===typeof f&&(h=f,f=arguments[1]||{},d=2),(null==f||"object"!==typeof f&&"function"!==typeof f)&&(f={});d{var t=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,r=/^\s*/,i=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,u=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,a=/^[;\s]*/,l=/^\s+|\s+$/g,s="";function c(e){return e?e.replace(l,s):s}e.exports=function(e,l){if("string"!==typeof e)throw new TypeError("First argument must be a string");if(!e)return[];l=l||{};var f=1,d=1;function p(e){var t=e.match(n);t&&(f+=t.length);var r=e.lastIndexOf("\n");d=~r?e.length-r:d+e.length}function h(){var e={line:f,column:d};return function(t){return t.position=new m(e),b(),t}}function m(e){this.start=e,this.end={line:f,column:d},this.source=l.source}m.prototype.content=e;var g=[];function v(t){var n=new Error(l.source+":"+f+":"+d+": "+t);if(n.reason=t,n.filename=l.source,n.line=f,n.column=d,n.source=e,!l.silent)throw n;g.push(n)}function y(t){var n=t.exec(e);if(n){var r=n[0];return p(r),e=e.slice(r.length),n}}function b(){y(r)}function x(e){var t;for(e=e||[];t=D();)!1!==t&&e.push(t);return e}function D(){var t=h();if("/"==e.charAt(0)&&"*"==e.charAt(1)){for(var n=2;s!=e.charAt(n)&&("*"!=e.charAt(n)||"/"!=e.charAt(n+1));)++n;if(n+=2,s===e.charAt(n-1))return v("End of comment missing");var r=e.slice(2,n-2);return d+=2,p(r),e=e.slice(n),d+=2,t({type:"comment",comment:r})}}function k(){var e=h(),n=y(i);if(n){if(D(),!y(o))return v("property missing ':'");var r=y(u),l=e({type:"declaration",property:c(n[0].replace(t,s)),value:r?c(r[0].replace(t,s)):s});return y(a),l}}return b(),function(){var e,t=[];for(x(t);e=k();)!1!==e&&(t.push(e),x(t));return t}()}},1046:e=>{e.exports=function(e){return null!=e&&null!=e.constructor&&"function"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},8563:(e,t,n)=>{"use strict";n.d(t,{Mx:()=>i,aE:()=>r,pN:()=>o});n(8634),n(872),n(4838),n(8916);var r=e=>{for(var t,n=/([^?=&]+)=([^&]*)/g,r={};t=n.exec(e);)r[t[1]]=t[2];return r},i=function(e){void 0===e&&(e="");var[t=""]=/mdx:(.[\w|:]+)/i.exec(e)||[];return t.replace(/^mdx:preview:?/,"")},o=function(e){return void 0===e&&(e=""),e&&e.includes("mdx:preview")}},5318:(e,t)=>{function n(e){let t,n=[];for(let r of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(r))n.push(parseInt(r,10));else if(t=r.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,r,i,o]=t;if(r&&o){r=parseInt(r),o=parseInt(o);const e=r{var t,n,r=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function u(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"===typeof setTimeout?setTimeout:i}catch(e){t=i}try{n="function"===typeof clearTimeout?clearTimeout:o}catch(e){n=o}}();var a,l=[],s=!1,c=-1;function f(){s&&a&&(s=!1,a.length?l=a.concat(l):c=-1,l.length&&d())}function d(){if(!s){var e=u(f);s=!0;for(var t=l.length;t;){for(a=l,l=[];++c1)for(var n=1;n{"use strict";var r=n(6606);function i(){}function o(){}o.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,o,u){if(u!==r){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},9308:(e,t,n)=>{e.exports=n(8339)()},6606:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},6320:(e,t,n)=>{"use strict";n.d(t,{ZP:()=>S});var r=n(5773),i=n(808),o=n(8573),u=n(4760),a={},l=(0,o.createContext)({}),s=(e,t)=>(0,r.Z)({},e,t),c=e=>{var{children:t,value:n}=e,[i,c]=(0,o.useReducer)(s,(0,r.Z)({},a,n));return(0,u.jsx)(l.Provider,{value:(0,r.Z)({},i,{dispatch:c}),children:t})},f=["tagName","className","children"],d=o.forwardRef(((e,t)=>{var{tagName:n="div",className:u,children:a}=e,s=(0,i.Z)(e,f),c=[C+"-code",u].filter(Boolean).join(" ").trim();if((0,o.useContext)(l).collapse)return null;var d=e.href&&"string"===typeof n?"a":n,p=(0,r.Z)({},s,{className:c,ref:t});return o.createElement(d,p,a)}));d.displayName="uiw.CodeLayoutCode";var p=["className","children"],h=o.forwardRef(((e,t)=>{var{className:n,children:o}=e,a=(0,i.Z)(e,p),l=[C+"-preview",n].filter(Boolean).join(" ").trim();return(0,u.jsx)("div",(0,r.Z)({},a,{className:l,ref:t,children:o}))}));h.displayName="uiw.Preview";var m=n(3376),g=n.n(m),v=e=>(0,u.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:(0,u.jsx)("path",{d:"M8.64 5.23a1 1 0 0 0-1.41.13l-5 6a1 1 0 0 0 0 1.27l4.83 6a1 1 0 0 0 .78.37 1 1 0 0 0 .78-1.63L4.29 12l4.48-5.36a1 1 0 0 0-.13-1.41zm13.14 6.14-4.78-6a1 1 0 0 0-1.41-.15 1 1 0 0 0-.15 1.41L19.71 12l-4.48 5.37a1 1 0 0 0 .13 1.41A1 1 0 0 0 16 19a1 1 0 0 0 .77-.36l5-6a1 1 0 0 0 .01-1.27z","data-name":"code"})}),y=e=>(0,u.jsxs)("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:[(0,u.jsx)("path",{d:"M18 21h-6a3 3 0 0 1-3-3v-6a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3zm-6-10a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1z"}),(0,u.jsx)("path",{d:"M9.73 15H5.67A2.68 2.68 0 0 1 3 12.33V5.67A2.68 2.68 0 0 1 5.67 3h6.66A2.68 2.68 0 0 1 15 5.67V9.4h-2V5.67a.67.67 0 0 0-.67-.67H5.67a.67.67 0 0 0-.67.67v6.66a.67.67 0 0 0 .67.67h4.06z"})]}),b=e=>(0,u.jsxs)("svg",{viewBox:"0 0 24 24",fill:"green",children:[(0,u.jsx)("path",{d:"M9.71 11.29a1 1 0 0 0-1.42 1.42l3 3A1 1 0 0 0 12 16a1 1 0 0 0 .72-.34l7-8a1 1 0 0 0-1.5-1.32L12 13.54z"}),(0,u.jsx)("path",{d:"M21 11a1 1 0 0 0-1 1 8 8 0 0 1-8 8A8 8 0 0 1 6.33 6.36 7.93 7.93 0 0 1 12 4a8.79 8.79 0 0 1 1.9.22 1 1 0 1 0 .47-1.94A10.54 10.54 0 0 0 12 2a10 10 0 0 0-7 17.09A9.93 9.93 0 0 0 12 22a10 10 0 0 0 10-10 1 1 0 0 0-1-1z"})]}),x=e=>{var[t,n]=(0,o.useState)(!1);return(0,u.jsx)("button",{onClick:()=>{n(!0),g()(e.text||"",(()=>{var e=setTimeout((()=>{n(!1),clearTimeout(e)}),2e3)}))},children:t?(0,u.jsx)(b,{}):(0,u.jsx)(y,{})})},D=["className","children","extra","text","copied","collapse","visibleButton","visible"],k=o.forwardRef(((e,t)=>{var{className:n,children:a,extra:s,text:c="",copied:f=!0,collapse:d=!0,visibleButton:p=!0,visible:h=!0}=e,m=(0,i.Z)(e,D),g=(0,o.useContext)(l),y=[C+"-toolbar",n].filter(Boolean).join(" ").trim();if((0,o.useEffect)((()=>g.dispatch({collapse:d})),[d]),!h)return null;return(0,u.jsxs)("div",(0,r.Z)({className:y},m,{ref:t,children:[(0,u.jsx)("div",{className:C+"-title",children:a}),(0,u.jsxs)("div",{className:C+"-extra",children:[s,f&&(0,u.jsx)(x,{text:c}),p&&(0,u.jsx)("button",{onClick:()=>g.dispatch({collapse:!g.collapse}),children:(0,u.jsx)(v,{})})]})]}))}));k.displayName="uiw.Toolbar";var E=["children","prefixCls","className","bordered","disableCheckered"],C="w-rcpl",F=o.forwardRef(((e,t)=>{var{children:n,prefixCls:a=C,className:l,bordered:s=!0,disableCheckered:c}=e,f=(0,i.Z)(e,E),d=[a,l,s?"w-bordered":null,c?"w-disable-checkered":null].filter(Boolean).join(" ").trim();return(0,u.jsx)("div",(0,r.Z)({ref:t},f,{className:d,children:o.Children.map(n,((e,t)=>o.isValidElement(e)?o.cloneElement(e,(0,r.Z)({},e.props,{key:t})):e))}))})),w=o.forwardRef(((e,t)=>(0,u.jsx)(c,{value:{collapse:!1},children:(0,u.jsx)(F,(0,r.Z)({},e,{ref:t}))})));w.Preview=h,w.Toolbar=k,w.Code=d;const S=w},6788:(e,t)=>{"use strict";var n,r=Symbol.for("react.element"),i=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),u=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),s=Symbol.for("react.context"),c=Symbol.for("react.server_context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),g=Symbol.for("react.offscreen");function v(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case o:case a:case u:case d:case p:return e;default:switch(e=e&&e.$$typeof){case c:case s:case f:case m:case h:case l:return e;default:return t}}case i:return t}}}n=Symbol.for("react.module.reference"),t.ContextConsumer=s,t.ContextProvider=l,t.Element=r,t.ForwardRef=f,t.Fragment=o,t.Lazy=m,t.Memo=h,t.Portal=i,t.Profiler=a,t.StrictMode=u,t.Suspense=d,t.SuspenseList=p,t.isAsyncMode=function(){return!1},t.isConcurrentMode=function(){return!1},t.isContextConsumer=function(e){return v(e)===s},t.isContextProvider=function(e){return v(e)===l},t.isElement=function(e){return"object"===typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return v(e)===f},t.isFragment=function(e){return v(e)===o},t.isLazy=function(e){return v(e)===m},t.isMemo=function(e){return v(e)===h},t.isPortal=function(e){return v(e)===i},t.isProfiler=function(e){return v(e)===a},t.isStrictMode=function(e){return v(e)===u},t.isSuspense=function(e){return v(e)===d},t.isSuspenseList=function(e){return v(e)===p},t.isValidElementType=function(e){return"string"===typeof e||"function"===typeof e||e===o||e===a||e===u||e===d||e===p||e===g||"object"===typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===h||e.$$typeof===l||e.$$typeof===s||e.$$typeof===f||e.$$typeof===n||void 0!==e.getModuleId)},t.typeOf=v},4352:(e,t,n)=>{"use strict";e.exports=n(6788)},4441:(e,t,n)=>{"use strict";n.d(t,{Z:()=>E});var r=n(5773),i=n(808);function o(e,t){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},o(e,t)}function u(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,o(e,t)}function a(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}var l=n(8573),s=n(6836);const c=!1,f=l.createContext(null);var d=function(e){return e.scrollTop},p="unmounted",h="exited",m="entering",g="entered",v="exiting",y=function(e){function t(t,n){var r;r=e.call(this,t,n)||this;var i,o=n&&!n.isMounting?t.enter:t.appear;return r.appearStatus=null,t.in?o?(i=h,r.appearStatus=m):i=g:i=t.unmountOnExit||t.mountOnEnter?p:h,r.state={status:i},r.nextCallback=null,r}u(t,e),t.getDerivedStateFromProps=function(e,t){return e.in&&t.status===p?{status:h}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(e){var t=null;if(e!==this.props){var n=this.state.status;this.props.in?n!==m&&n!==g&&(t=m):n!==m&&n!==g||(t=v)}this.updateStatus(!1,t)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var e,t,n,r=this.props.timeout;return e=t=n=r,null!=r&&"number"!==typeof r&&(e=r.exit,t=r.enter,n=void 0!==r.appear?r.appear:t),{exit:e,enter:t,appear:n}},n.updateStatus=function(e,t){if(void 0===e&&(e=!1),null!==t)if(this.cancelNextCallback(),t===m){if(this.props.unmountOnExit||this.props.mountOnEnter){var n=this.props.nodeRef?this.props.nodeRef.current:s.findDOMNode(this);n&&d(n)}this.performEnter(e)}else this.performExit();else this.props.unmountOnExit&&this.state.status===h&&this.setState({status:p})},n.performEnter=function(e){var t=this,n=this.props.enter,r=this.context?this.context.isMounting:e,i=this.props.nodeRef?[r]:[s.findDOMNode(this),r],o=i[0],u=i[1],a=this.getTimeouts(),l=r?a.appear:a.enter;!e&&!n||c?this.safeSetState({status:g},(function(){t.props.onEntered(o)})):(this.props.onEnter(o,u),this.safeSetState({status:m},(function(){t.props.onEntering(o,u),t.onTransitionEnd(l,(function(){t.safeSetState({status:g},(function(){t.props.onEntered(o,u)}))}))})))},n.performExit=function(){var e=this,t=this.props.exit,n=this.getTimeouts(),r=this.props.nodeRef?void 0:s.findDOMNode(this);t&&!c?(this.props.onExit(r),this.safeSetState({status:v},(function(){e.props.onExiting(r),e.onTransitionEnd(n.exit,(function(){e.safeSetState({status:h},(function(){e.props.onExited(r)}))}))}))):this.safeSetState({status:h},(function(){e.props.onExited(r)}))},n.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},n.setNextCallback=function(e){var t=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,t.nextCallback=null,e(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},n.onTransitionEnd=function(e,t){this.setNextCallback(t);var n=this.props.nodeRef?this.props.nodeRef.current:s.findDOMNode(this),r=null==e&&!this.props.addEndListener;if(n&&!r){if(this.props.addEndListener){var i=this.props.nodeRef?[this.nextCallback]:[n,this.nextCallback],o=i[0],u=i[1];this.props.addEndListener(o,u)}null!=e&&setTimeout(this.nextCallback,e)}else setTimeout(this.nextCallback,0)},n.render=function(){var e=this.state.status;if(e===p)return null;var t=this.props,n=t.children,r=(t.in,t.mountOnEnter,t.unmountOnExit,t.appear,t.enter,t.exit,t.timeout,t.addEndListener,t.onEnter,t.onEntering,t.onEntered,t.onExit,t.onExiting,t.onExited,t.nodeRef,(0,i.Z)(t,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return l.createElement(f.Provider,{value:null},"function"===typeof n?n(e,r):l.cloneElement(l.Children.only(n),r))},t}(l.Component);function b(){}y.contextType=f,y.propTypes={},y.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:b,onEntering:b,onEntered:b,onExit:b,onExiting:b,onExited:b},y.UNMOUNTED=p,y.EXITED=h,y.ENTERING=m,y.ENTERED=g,y.EXITING=v;const x=y;var D=function(e,t){return e&&t&&t.split(" ").forEach((function(t){return r=t,void((n=e).classList?n.classList.remove(r):"string"===typeof n.className?n.className=a(n.className,r):n.setAttribute("class",a(n.className&&n.className.baseVal||"",r)));var n,r}))},k=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),i=0;i{"use strict";e.exports=function(e){var t=this;this.Compiler=function(n){return r(n,Object.assign({},t.data("settings"),e,{extensions:t.data("toMarkdownExtensions")||[]}))}};var r=n(8397)},9528:e=>{"use strict";e.exports=function(e,t){var n,r,i=0,o=0;if("string"!==typeof t||1!==t.length)throw new Error("Expected character");e=String(e),r=e.indexOf(t),n=r;for(;-1!==r;)i++,r===n?i>o&&(o=i):i=1,n=r+1,r=e.indexOf(t,n);return o}},8397:(e,t,n)=>{e.exports=n(4059)},7282:e=>{e.exports=function e(t,n){var r,i=-1;if(n.extensions)for(;++i{e.exports=function(e,t,n){var u=n.enter("blockquote"),a=i(r(e,n),o);return u(),a};var r=n(5162),i=n(2357);function o(e,t,n){return">"+(n?"":" ")+e}},114:(e,t,n)=>{e.exports=function(e,t,n,i){var o=-1;for(;++o{e.exports=function(e,t,n){var c,f,d,p,h=u(n),m=e.value||"",g="`"===h?"GraveAccent":"Tilde";o(e,n)?(d=n.enter("codeIndented"),c=a(m,s)):(f=r(h,Math.max(i(m,h)+1,3)),d=n.enter("codeFenced"),c=f,e.lang&&(p=n.enter("codeFencedLang"+g),c+=l(n,e.lang,{before:"`",after:" ",encode:["`"]}),p()),e.lang&&e.meta&&(p=n.enter("codeFencedMeta"+g),c+=" "+l(n,e.meta,{before:" ",after:"\n",encode:["`"]}),p()),c+="\n",m&&(c+=m+"\n"),c+=f);return d(),c};var r=n(4400),i=n(9528),o=n(6363),u=n(8827),a=n(2357),l=n(4586);function s(e,t,n){return(n?"":" ")+e}},2654:(e,t,n)=>{e.exports=function(e,t,n){var u=i(n),a='"'===u?"Quote":"Apostrophe",l=n.enter("definition"),s=n.enter("label"),c="["+o(n,r(e),{before:"[",after:"]"})+"]: ";s(),!e.url||/[ \t\r\n]/.test(e.url)?(s=n.enter("destinationLiteral"),c+="<"+o(n,e.url,{before:"<",after:">"})+">"):(s=n.enter("destinationRaw"),c+=o(n,e.url,{before:" ",after:" "}));s(),e.title&&(s=n.enter("title"+a),c+=" "+u+o(n,e.title,{before:u,after:u})+u,s());return l(),c};var r=n(2638),i=n(5661),o=n(4586)},2486:(e,t,n)=>{e.exports=o,o.peek=function(e,t,n){return n.options.emphasis||"*"};var r=n(7166),i=n(7462);function o(e,t,n){var o=r(n),u=n.enter("emphasis"),a=i(e,n,{before:o,after:o});return u(),o+a+o}},6216:(e,t,n)=>{e.exports=function(e,t,n){var u,a,l,s,c=Math.max(Math.min(6,e.depth||1),1);if(i(e,n))return u=n.enter("headingSetext"),a=n.enter("phrasing"),l=o(e,n,{before:"\n",after:"\n"}),a(),u(),l+"\n"+r(1===c?"=":"-",l.length-(Math.max(l.lastIndexOf("\r"),l.lastIndexOf("\n"))+1));s=r("#",c),u=n.enter("headingAtx"),a=n.enter("phrasing"),l=(l=o(e,n,{before:"# ",after:"\n"}))?s+" "+l:s,n.options.closeAtx&&(l+=" "+s);return a(),u(),l};var r=n(4400),i=n(4797),o=n(7462)},2841:e=>{function t(e){return e.value||""}e.exports=t,t.peek=function(){return"<"}},4610:(e,t,n)=>{e.exports=o,o.peek=function(){return"!"};var r=n(2638),i=n(4586);function o(e,t,n){var o,u,a=e.referenceType,l=n.enter("imageReference"),s=n.enter("label"),c=i(n,e.alt,{before:"[",after:"]"}),f="!["+c+"]";return s(),u=n.stack,n.stack=[],s=n.enter("reference"),o=i(n,r(e),{before:"[",after:"]"}),s(),n.stack=u,l(),"full"!==a&&c&&c===o?"shortcut"!==a&&(f+="[]"):f+="["+o+"]",f}},7968:(e,t,n)=>{e.exports=o,o.peek=function(){return"!"};var r=n(5661),i=n(4586);function o(e,t,n){var o=r(n),u='"'===o?"Quote":"Apostrophe",a=n.enter("image"),l=n.enter("label"),s="!["+i(n,e.alt,{before:"[",after:"]"})+"](";return l(),!e.url&&e.title||/[ \t\r\n]/.test(e.url)?(l=n.enter("destinationLiteral"),s+="<"+i(n,e.url,{before:"<",after:">"})+">"):(l=n.enter("destinationRaw"),s+=i(n,e.url,{before:"(",after:e.title?" ":")"})),l(),e.title&&(l=n.enter("title"+u),s+=" "+o+i(n,e.title,{before:o,after:o})+o,l()),s+=")",a(),s}},875:(e,t,n)=>{t.blockquote=n(5673),t.break=n(114),t.code=n(854),t.definition=n(2654),t.emphasis=n(2486),t.hardBreak=n(114),t.heading=n(6216),t.html=n(2841),t.image=n(7968),t.imageReference=n(4610),t.inlineCode=n(5197),t.link=n(3215),t.linkReference=n(8134),t.list=n(107),t.listItem=n(3805),t.paragraph=n(2183),t.root=n(2580),t.strong=n(580),t.text=n(9329),t.thematicBreak=n(8369)},5197:(e,t,n)=>{e.exports=i,i.peek=function(){return"`"};var r=n(6020);function i(e,t,n){for(var i,o,u,a,l=e.value||"",s="`",c=-1;new RegExp("(^|[^`])"+s+"([^`]|$)").test(l);)s+="`";for(/[^ \r\n]/.test(l)&&(/[ \r\n`]/.test(l.charAt(0))||/[ \r\n`]/.test(l.charAt(l.length-1)))&&(l=" "+l+" ");++c{e.exports=u,u.peek=function(){return"["};var r=n(2638),i=n(7462),o=n(4586);function u(e,t,n){var u,a,l=e.referenceType,s=n.enter("linkReference"),c=n.enter("label"),f=i(e,n,{before:"[",after:"]"}),d="["+f+"]";return c(),a=n.stack,n.stack=[],c=n.enter("reference"),u=o(n,r(e),{before:"[",after:"]"}),c(),n.stack=a,s(),"full"!==l&&f&&f===u?"shortcut"!==l&&(d+="[]"):d+="["+u+"]",d}},3215:(e,t,n)=>{e.exports=a,a.peek=function(e,t,n){return i(e,n)?"<":"["};var r=n(5661),i=n(2787),o=n(7462),u=n(4586);function a(e,t,n){var a,l,s,c,f=r(n),d='"'===f?"Quote":"Apostrophe";return i(e,n)?(c=n.stack,n.stack=[],a=n.enter("autolink"),s="<"+o(e,n,{before:"<",after:">"})+">",a(),n.stack=c,s):(a=n.enter("link"),l=n.enter("label"),s="["+o(e,n,{before:"[",after:"]"})+"](",l(),!e.url&&e.title||/[ \t\r\n]/.test(e.url)?(l=n.enter("destinationLiteral"),s+="<"+u(n,e.url,{before:"<",after:">"})+">"):(l=n.enter("destinationRaw"),s+=u(n,e.url,{before:"(",after:e.title?" ":")"})),l(),e.title&&(l=n.enter("title"+d),s+=" "+f+u(n,e.title,{before:f,after:f})+f,l()),s+=")",a(),s)}},3805:(e,t,n)=>{e.exports=function(e,t,n){var l,s,c,f=i(n),d=o(n);t&&t.ordered&&(f=(t.start>-1?t.start:1)+(!1===n.options.incrementListMarker?0:t.children.indexOf(e))+".");l=f.length+1,("tab"===d||"mixed"===d&&(t&&t.spread||e.spread))&&(l=4*Math.ceil(l/4));return c=n.enter("listItem"),s=a(u(e,n),(function(e,t,n){if(t)return(n?"":r(" ",l))+e;return(n?f:f+r(" ",l-f.length))+e})),c(),s};var r=n(4400),i=n(7697),o=n(5211),u=n(5162),a=n(2357)},107:(e,t,n)=>{e.exports=function(e,t,n){var i=n.enter("list"),o=r(e,n);return i(),o};var r=n(5162)},2183:(e,t,n)=>{e.exports=function(e,t,n){var i=n.enter("paragraph"),o=n.enter("phrasing"),u=r(e,n,{before:"\n",after:"\n"});return o(),i(),u};var r=n(7462)},2580:(e,t,n)=>{e.exports=function(e,t,n){return r(e,n)};var r=n(5162)},580:(e,t,n)=>{e.exports=o,o.peek=function(e,t,n){return n.options.strong||"*"};var r=n(3312),i=n(7462);function o(e,t,n){var o=r(n),u=n.enter("strong"),a=i(e,n,{before:o,after:o});return u(),o+o+a+o+o}},9329:(e,t,n)=>{e.exports=function(e,t,n,i){return r(n,e.value,i)};var r=n(4586)},8369:(e,t,n)=>{e.exports=function(e,t,n){var u=r(o(n)+(n.options.ruleSpaces?" ":""),i(n));return n.options.ruleSpaces?u.slice(0,-1):u};var r=n(4400),i=n(9095),o=n(6899)},4059:(e,t,n)=>{e.exports=function(e,t){var n,f=t||{},d={enter:function(e){return d.stack.push(e),t;function t(){d.stack.pop()}},stack:[],unsafe:[],join:[],handlers:{},options:{}};i(d,{unsafe:a,join:u,handlers:o}),i(d,f),d.options.tightDefinitions&&(d.join=[c].concat(d.join));d.handle=r("type",{invalid:l,unknown:s,handlers:d.handlers}),(n=d.handle(e,null,d,{before:"\n",after:"\n"}))&&10!==n.charCodeAt(n.length-1)&&13!==n.charCodeAt(n.length-1)&&(n+="\n");return n};var r=n(1569),i=n(7282),o=n(875),u=n(9312),a=n(4459);function l(e){throw new Error("Cannot handle value `"+e+"`, expected node")}function s(e){throw new Error("Cannot handle unknown node `"+e.type+"`")}function c(e,t){if("definition"===e.type&&e.type===t.type)return 0}},9312:(e,t,n)=>{e.exports=[function(e,t,n,o){if("list"===t.type&&t.type===e.type&&Boolean(e.ordered)===Boolean(t.ordered)||"code"===t.type&&r(t,o)&&("list"===e.type||e.type===t.type&&r(e,o)))return!1;if("boolean"===typeof n.spread){if("paragraph"===e.type&&(e.type===t.type||"definition"===t.type||"heading"===t.type&&i(t,o)))return;return n.spread?1:0}}];var r=n(6363),i=n(4797)},4459:e=>{e.exports=[{character:"\t",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde"]},{character:"\r",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde","codeFencedMetaGraveAccent","codeFencedMetaTilde","destinationLiteral","headingAtx"]},{character:"\n",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde","codeFencedMetaGraveAccent","codeFencedMetaTilde","destinationLiteral","headingAtx"]},{character:" ",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde"]},{character:"!",after:"\\[",inConstruct:"phrasing"},{character:'"',inConstruct:"titleQuote"},{atBreak:!0,character:"#"},{character:"#",inConstruct:"headingAtx",after:"(?:[\r\n]|$)"},{character:"&",after:"[#A-Za-z]",inConstruct:"phrasing"},{character:"'",inConstruct:"titleApostrophe"},{character:"(",inConstruct:"destinationRaw"},{before:"\\]",character:"(",inConstruct:"phrasing"},{atBreak:!0,before:"\\d+",character:")"},{character:")",inConstruct:"destinationRaw"},{atBreak:!0,character:"*"},{character:"*",inConstruct:"phrasing"},{atBreak:!0,character:"+"},{atBreak:!0,character:"-"},{atBreak:!0,before:"\\d+",character:".",after:"(?:[ \t\r\n]|$)"},{atBreak:!0,character:"<",after:"[!/?A-Za-z]"},{character:"<",after:"[!/?A-Za-z]",inConstruct:"phrasing"},{character:"<",inConstruct:"destinationLiteral"},{atBreak:!0,character:"="},{atBreak:!0,character:">"},{character:">",inConstruct:"destinationLiteral"},{atBreak:!0,character:"["},{character:"[",inConstruct:["phrasing","label","reference"]},{character:"\\",after:"[\\r\\n]",inConstruct:"phrasing"},{character:"]",inConstruct:["label","reference"]},{atBreak:!0,character:"_"},{before:"[^A-Za-z]",character:"_",inConstruct:"phrasing"},{character:"_",after:"[^A-Za-z]",inConstruct:"phrasing"},{atBreak:!0,character:"`"},{character:"`",inConstruct:["codeFencedLangGraveAccent","codeFencedMetaGraveAccent","phrasing"]},{atBreak:!0,character:"~"}]},2638:(e,t,n)=>{e.exports=function(e){if(e.label||!e.identifier)return e.label||"";return e.identifier.replace(i,"$1").replace(o,u)};var r=n(7849),i=/\\([!-/:-@[-`{-~])/g,o=/&(#(\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function u(e,t){return r(t)||e}},7697:e=>{e.exports=function(e){var t=e.options.bullet||"*";if("*"!==t&&"+"!==t&&"-"!==t)throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}},7166:e=>{e.exports=function(e){var t=e.options.emphasis||"*";if("*"!==t&&"_"!==t)throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}},8827:e=>{e.exports=function(e){var t=e.options.fence||"`";if("`"!==t&&"~"!==t)throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}},5211:e=>{e.exports=function(e){var t=e.options.listItemIndent||"tab";if(1===t||"1"===t)return"one";if("tab"!==t&&"one"!==t&&"mixed"!==t)throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}},5661:e=>{e.exports=function(e){var t=e.options.quote||'"';if('"'!==t&&"'"!==t)throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}},9095:e=>{e.exports=function(e){var t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}},6899:e=>{e.exports=function(e){var t=e.options.rule||"*";if("*"!==t&&"-"!==t&&"_"!==t)throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}},3312:e=>{e.exports=function(e){var t=e.options.strong||"*";if("*"!==t&&"_"!==t)throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}},5162:(e,t,n)=>{e.exports=function(e,t){var n,i=e.children||[],o=[],u=-1;for(;++u{e.exports=function(e,t,n){var r,i,o,u=e.children||[],a=[],l=-1,s=n.before;for(;++l0&&("\r"===s||"\n"===s)&&"html"===o.type&&(a[a.length-1]=a[a.length-1].replace(/(\r?\n|\r)$/," "),s=" "),a.push(t.handle(o,e,t,{before:s,after:r})),s=a[a.length-1].slice(-1);return a.join("")}},6363:e=>{e.exports=function(e,t){return!t.options.fences&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value)}},4797:(e,t,n)=>{e.exports=function(e,t){return t.options.setext&&(!e.depth||e.depth<3)&&r(e)};var r=n(9033)},2787:(e,t,n)=>{e.exports=function(e,t){var n=r(e);return!t.options.resourceLink&&e.url&&!e.title&&e.children&&1===e.children.length&&"text"===e.children[0].type&&(n===e.url||"mailto:"+n===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url)};var r=n(9033)},2357:e=>{e.exports=function(e,n){var r,i=[],o=0,u=0;for(;r=t.exec(e);)a(e.slice(o,r.index)),i.push(r[0]),o=r.index+r[0].length,u++;return a(e.slice(o)),i.join("");function a(e){i.push(n(e,u,!e))}};var t=/\r?\n|\r/g},6020:e=>{e.exports=function(e){var t,n;e._compiled||(t=e.before?"(?:"+e.before+")":"",n=e.after?"(?:"+e.after+")":"",e.atBreak&&(t="[\\r\\n][\\t ]*"+t),e._compiled=new RegExp((t?"("+t+")":"")+(/[|\\{}()[\]^$+*?.-]/.test(e.character)?"\\":"")+e.character+(n||""),"g"));return e._compiled}},9906:e=>{function t(e,t,n){var r;if(!t)return n;for("string"===typeof t&&(t=[t]),r=-1;++r{e.exports=function(e,t,n){var a,l,s,c,f,d,p,h,m=(n.before||"")+(t||"")+(n.after||""),g=[],v=[],y={},b=-1;for(;++b=h||s+1{"use strict";function t(e){return e&&(e.value||e.alt||e.title||"children"in e&&n(e.children)||"length"in e&&n(e))||""}function n(e){for(var n=[],r=-1;++r{"use strict";var t;e.exports=function(e){var n,r="&"+e+";";if((t=t||document.createElement("i")).innerHTML=r,59===(n=t.textContent).charCodeAt(n.length-1)&&"semi"!==e)return!1;return n!==r&&n}},1569:e=>{"use strict";e.exports=function(e,r){var i=r||{};function o(r){var i=o.invalid,u=o.handlers;return r&&n.call(r,e)&&(i=n.call(u,r[e])?u[r[e]]:o.unknown),(i||t).apply(this,arguments)}return o.handlers=i.handlers||{},o.invalid=i.invalid,o.unknown=i.unknown,o};var t=Function.prototype,n={}.hasOwnProperty},8634:(e,t,n)=>{"use strict";var r=n(282),i=n(1676),o=n(6638);e.exports=r().use(i).use(o).freeze()},6415:e=>{"use strict";e.exports=function(e){if(e)throw e}},3731:e=>{"use strict";e.exports=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}},5715:(e,t,n)=>{"use strict";e.exports=function(e,t,n){"string"!==typeof t&&(n=t,t=void 0);return function(e){var t=e||{},n=function(e,t){var n=-1;for(;++n-1&&(N.call(this,e),L.call(this,e))}function M(){h("atHardBreak",!0)}function H(){var e=this.resume();this.stack[this.stack.length-1].value=e}function U(){var e=this.resume();this.stack[this.stack.length-1].value=e}function W(){var e=this.resume();this.stack[this.stack.length-1].value=e}function q(){var e=this.stack[this.stack.length-1];m("inReference")?(e.type+="Reference",e.referenceType=m("referenceType")||"shortcut",delete e.url,delete e.title):(delete e.identifier,delete e.label,delete e.referenceType),h("referenceType")}function $(){var e=this.stack[this.stack.length-1];m("inReference")?(e.type+="Reference",e.referenceType=m("referenceType")||"shortcut",delete e.url,delete e.title):(delete e.identifier,delete e.label,delete e.referenceType),h("referenceType")}function V(e){this.stack[this.stack.length-2].identifier=u(this.sliceSerialize(e)).toLowerCase()}function Z(){var e=this.stack[this.stack.length-1],t=this.resume();this.stack[this.stack.length-1].label=t,h("inReference",!0),"link"===this.stack[this.stack.length-1].type?this.stack[this.stack.length-1].children=e.children:this.stack[this.stack.length-1].alt=t}function K(){var e=this.resume();this.stack[this.stack.length-1].url=e}function Q(){var e=this.resume();this.stack[this.stack.length-1].title=e}function G(){h("inReference")}function Y(){h("referenceType","collapsed")}function X(e){var t=this.resume();this.stack[this.stack.length-1].label=t,this.stack[this.stack.length-1].identifier=u(this.sliceSerialize(e)).toLowerCase(),h("referenceType","full")}function J(e){h("characterReferenceType",e.type)}function ee(e){var t,n,r=this.sliceSerialize(e),i=m("characterReferenceType");i?(t=a(r,"characterReferenceMarkerNumeric"===i?10:16),h("characterReferenceType")):t=f(r),(n=this.stack.pop()).value+=t,n.position.end=g(e.end)}function te(e){L.call(this,e),this.stack[this.stack.length-1].url=this.sliceSerialize(e)}function ne(e){L.call(this,e),this.stack[this.stack.length-1].url="mailto:"+this.sliceSerialize(e)}function re(){return{type:"blockquote",children:[]}}function ie(){return{type:"code",lang:null,meta:null,value:""}}function oe(){return{type:"inlineCode",value:""}}function ue(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function ae(){return{type:"emphasis",children:[]}}function le(){return{type:"heading",depth:void 0,children:[]}}function se(){return{type:"break"}}function ce(){return{type:"html",value:""}}function fe(){return{type:"image",title:null,url:"",alt:null}}function de(){return{type:"link",title:null,url:"",children:[]}}function pe(e){return{type:"list",ordered:"listOrdered"===e.type,start:null,spread:e._spread,children:[]}}function he(e){return{type:"listItem",spread:e._spread,checked:null,children:[]}}function me(){return{type:"paragraph",children:[]}}function ge(){return{type:"strong",children:[]}}function ve(){return{type:"text",value:""}}function ye(){return{type:"thematicBreak"}}}(n)(c(l(n).document().write(s()(e,t,!0))))};var r=n(8765),i=n(3667),o=n(8025),u=n(4991),a=n(1744),l=n(4751),s=n(5265),c=n(4811),f=n(4537),d=n(6934);function p(e,t){var n,r;for(n in t)r=o.call(e,n)?e[n]:e[n]={},"canContainEols"===n||"transforms"===n?e[n]=[].concat(r,t[n]):Object.assign(r,t[n])}},5184:(e,t,n)=>{"use strict";e.exports=n(5715)},8765:e=>{"use strict";function t(e){return e&&(e.value||e.alt||e.title||"children"in e&&n(e.children)||"length"in e&&n(e))||""}function n(e){for(var n=[],r=-1;++r{"use strict";var r=n(8254)(/[A-Za-z]/);e.exports=r},6995:(e,t,n)=>{"use strict";var r=n(8254)(/[\dA-Za-z]/);e.exports=r},3290:(e,t,n)=>{"use strict";var r=n(8254)(/[#-'*+\--9=?A-Z^-~]/);e.exports=r},1207:e=>{"use strict";e.exports=function(e){return e<32||127===e}},1091:(e,t,n)=>{"use strict";var r=n(8254)(/\d/);e.exports=r},4900:(e,t,n)=>{"use strict";var r=n(8254)(/[\dA-Fa-f]/);e.exports=r},769:(e,t,n)=>{"use strict";var r=n(8254)(/[!-/:-@[-`{-~]/);e.exports=r},6377:e=>{"use strict";e.exports=function(e){return e<0||32===e}},4392:e=>{"use strict";e.exports=function(e){return e<-2}},9056:e=>{"use strict";e.exports=function(e){return-2===e||-1===e||32===e}},5414:(e,t,n)=>{"use strict";var r=n(5696),i=n(8254)(r);e.exports=i},6548:(e,t,n)=>{"use strict";var r=n(8254)(/\s/);e.exports=r},3667:e=>{"use strict";var t=Object.assign;e.exports=t},9393:e=>{"use strict";var t=String.fromCharCode;e.exports=t},8025:e=>{"use strict";var t={}.hasOwnProperty;e.exports=t},8971:e=>{"use strict";e.exports=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","source","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"]},7322:e=>{"use strict";e.exports=["pre","script","style","textarea"]},7327:e=>{"use strict";var t=[].splice;e.exports=t},5696:e=>{"use strict";e.exports=/[!-\/:-@\[-`\{-~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/},6236:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(9402),i=n(2463),o=n(9829),u=n(581),a=n(3382),l=n(4671),s=n(601),c=n(1827),f=n(5518),d=n(8194),p=n(462),h=n(1034),m=n(4428),g=n(4945),v=n(9255),y=n(4902),b=n(721),x=n(2836),D=n(1699),k=n(1862),E=n(5861),C={42:D,43:D,45:D,48:D,49:D,50:D,51:D,52:D,53:D,54:D,55:D,56:D,57:D,62:u},F={91:d},w={"-2":c,"-1":c,32:c},S={35:h,42:E,45:[k,E],60:m,61:k,95:E,96:s,126:s},_={38:l,92:a},A={"-5":x,"-4":x,"-3":x,33:y,38:l,42:i,60:[o,g],91:b,92:[p,a],93:v,95:i,96:f},P={null:[i,r.resolver]};t.contentInitial=F,t.disable={null:[]},t.document=C,t.flow=S,t.flowInitial=w,t.insideSpan=P,t.string=_,t.text=A},490:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4392),i=n(6231),o=function(e){var t,n=e.attempt(this.parser.constructs.contentInitial,(function(t){if(null===t)return void e.consume(t);return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),i(e,n,"linePrefix")}),(function(t){return e.enter("paragraph"),o(t)}));return n;function o(n){var r=e.enter("chunkText",{contentType:"text",previous:t});return t&&(t.next=r),t=r,u(n)}function u(t){return null===t?(e.exit("chunkText"),e.exit("paragraph"),void e.consume(t)):r(t)?(e.consume(t),e.exit("chunkText"),o):(e.consume(t),u)}};t.tokenize=o},1717:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4392),i=n(6231),o=n(6941),u=function(e){var t,n,i,u=this,s=[],c=0,f={tokenize:function(e,r){var i=0;return t={},c;function c(r){return it;)u.containerState=s[o][1],s[o][0].exit.call(u,e);s.length=t}},a={tokenize:function(e,t,n){return i(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4)}},l={tokenize:function(e,t,n){return i(e,e.lazy(this.parser.constructs.flow,t,n),"linePrefix",this.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4)}};t.tokenize=u},6604:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(2747),i=n(6231),o=n(6941),u=function(e){var t=this,n=e.attempt(o,(function(r){if(null===r)return void e.consume(r);return e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}),e.attempt(this.parser.constructs.flowInitial,u,i(e,e.attempt(this.parser.constructs.flow,u,e.attempt(r,u)),"linePrefix")));return n;function u(r){if(null!==r)return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t.currentConstruct=void 0,n;e.consume(r)}};t.tokenize=u},9402:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(3667),i=n(1339),o=l("text"),u=l("string"),a={resolveAll:s()};function l(e){return{tokenize:function(t){var n=this,r=this.parser.constructs[e],i=t.attempt(r,o,u);return o;function o(e){return l(e)?i(e):u(e)}function u(e){if(null!==e)return t.enter("data"),t.consume(e),a;t.consume(e)}function a(e){return l(e)?(t.exit("data"),i(e)):(t.consume(e),a)}function l(e){var t=r[e],i=-1;if(null===e)return!0;if(t)for(;++i{"use strict";var r=n(490),i=n(1717),o=n(6604),u=n(9402),a=n(6369),l=n(7058),s=n(9990),c=n(6236);e.exports=function(e){var t={defined:[],constructs:a([c].concat(s((e||{}).extensions))),content:n(r),document:n(i),flow:n(o),string:n(u.string),text:n(u.text)};return t;function n(e){return function(n){return l(t,e,n)}}}},4811:(e,t,n)=>{"use strict";var r=n(6308);e.exports=function(e){for(;!r(e););return e}},5265:e=>{"use strict";var t=/[\0\t\n\r]/g;e.exports=function(){var e,n=!0,r=1,i="";return function(o,u,a){var l,s,c,f,d,p=[];o=i+o.toString(u),c=0,i="",n&&(65279===o.charCodeAt(0)&&c++,n=void 0);for(;c{"use strict";var r=n(5911),i=n(4485),o=n(1084),u=n(8375),a=n(3173),l=n(1339),s={name:"attention",tokenize:function(e,t){var n,r=o(this.previous);return function(t){return e.enter("attentionSequence"),n=t,i(t)};function i(u){var a,l,s,c;return u===n?(e.consume(u),i):(a=e.exit("attentionSequence"),s=!(l=o(u))||2===l&&r,c=!r||2===r&&l,a._open=42===n?s:s&&(r||!c),a._close=42===n?c:c&&(l||!s),t(u))}},resolveAll:function(e,t){var n,o,s,c,f,d,p,h,m=-1;for(;++m1&&e[m][1].end.offset-e[m][1].start.offset>1?2:1)>1?"strongSequence":"emphasisSequence",start:u(l(e[n][1].end),-d),end:l(e[n][1].end)},f={type:d>1?"strongSequence":"emphasisSequence",start:l(e[m][1].start),end:u(l(e[m][1].start),d)},s={type:d>1?"strongText":"emphasisText",start:l(e[n][1].end),end:l(e[m][1].start)},o={type:d>1?"strong":"emphasis",start:l(c.start),end:l(f.end)},e[n][1].end=l(c.start),e[m][1].start=l(f.end),p=[],e[n][1].end.offset-e[n][1].start.offset&&(p=r(p,[["enter",e[n][1],t],["exit",e[n][1],t]])),p=r(p,[["enter",o,t],["enter",c,t],["exit",c,t],["enter",s,t]]),p=r(p,a(t.parser.constructs.insideSpan.null,e.slice(n+1,m),t)),p=r(p,[["exit",s,t],["enter",f,t],["exit",f,t],["exit",o,t]]),e[m][1].end.offset-e[m][1].start.offset?(h=2,p=r(p,[["enter",e[m][1],t],["exit",e[m][1],t]])):h=0,i(e,n-1,m-n+3,p),m=n+p.length-h-2;break}m=-1;for(;++m{"use strict";var r=n(277),i=n(6995),o=n(3290),u=n(1207),a={name:"autolink",tokenize:function(e,t,n){var a=1;return function(t){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(t),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),l};function l(t){return r(t)?(e.consume(t),s):o(t)?d(t):n(t)}function s(e){return 43===e||45===e||46===e||i(e)?c(e):d(e)}function c(t){return 58===t?(e.consume(t),f):(43===t||45===t||46===t||i(t))&&a++<32?(e.consume(t),c):d(t)}function f(t){return 62===t?(e.exit("autolinkProtocol"),g(t)):32===t||60===t||u(t)?n(t):(e.consume(t),f)}function d(t){return 64===t?(e.consume(t),a=0,p):o(t)?(e.consume(t),d):n(t)}function p(e){return i(e)?h(e):n(e)}function h(t){return 46===t?(e.consume(t),a=0,p):62===t?(e.exit("autolinkProtocol").type="autolinkEmail",g(t)):m(t)}function m(t){return(45===t||i(t))&&a++<63?(e.consume(t),45===t?m:h):n(t)}function g(n){return e.enter("autolinkMarker"),e.consume(n),e.exit("autolinkMarker"),e.exit("autolink"),t}}};e.exports=a},581:(e,t,n)=>{"use strict";var r=n(9056),i=n(6231),o={name:"blockQuote",tokenize:function(e,t,n){var i=this;return function(t){if(62===t)return i.containerState.open||(e.enter("blockQuote",{_container:!0}),i.containerState.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(t),e.exit("blockQuoteMarker"),o;return n(t)};function o(n){return r(n)?(e.enter("blockQuotePrefixWhitespace"),e.consume(n),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(n))}},continuation:{tokenize:function(e,t,n){return i(e,e.attempt(o,t,n),"linePrefix",this.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4)}},exit:function(e){e.exit("blockQuote")}};e.exports=o},3382:(e,t,n)=>{"use strict";var r=n(769),i={name:"characterEscape",tokenize:function(e,t,n){return function(t){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(t),e.exit("escapeMarker"),i};function i(i){return r(i)?(e.enter("characterEscapeValue"),e.consume(i),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(i)}}};e.exports=i},4671:(e,t,n)=>{"use strict";var r=n(4537),i=n(6995),o=n(1091),u=n(4900);function a(e){return e&&"object"===typeof e&&"default"in e?e:{default:e}}var l=a(r),s={name:"characterReference",tokenize:function(e,t,n){var r,a,s=this,c=0;return function(t){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(t),e.exit("characterReferenceMarker"),f};function f(t){return 35===t?(e.enter("characterReferenceMarkerNumeric"),e.consume(t),e.exit("characterReferenceMarkerNumeric"),d):(e.enter("characterReferenceValue"),r=31,a=i,p(t))}function d(t){return 88===t||120===t?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(t),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),r=6,a=u,p):(e.enter("characterReferenceValue"),r=7,a=o,p(t))}function p(o){var u;return 59===o&&c?(u=e.exit("characterReferenceValue"),a!==i||l.default(s.sliceSerialize(u))?(e.enter("characterReferenceMarker"),e.consume(o),e.exit("characterReferenceMarker"),e.exit("characterReference"),t):n(o)):a(o)&&c++{"use strict";var r=n(4392),i=n(6377),o=n(557),u=n(6231),a={name:"codeFenced",tokenize:function(e,t,n){var a,l=this,s={tokenize:function(e,t,n){var i=0;return u(e,o,"linePrefix",this.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4);function o(t){return e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),l(t)}function l(t){return t===a?(e.consume(t),i++,l):i{"use strict";var r=n(4392),i=n(4485),o=n(557),u=n(6231),a={name:"codeIndented",tokenize:function(e,t,n){return e.attempt(l,i,n);function i(n){return null===n?t(n):r(n)?e.attempt(l,i,t)(n):(e.enter("codeFlowValue"),o(n))}function o(t){return null===t||r(t)?(e.exit("codeFlowValue"),i(t)):(e.consume(t),o)}},resolve:function(e,t){var n={type:"codeIndented",start:e[0][1].start,end:e[e.length-1][1].end};return i(e,0,0,[["enter",n,t]]),i(e,e.length,0,[["exit",n,t]]),e}},l={tokenize:function(e,t,n){var i=this;return u(e,(function a(l){if(r(l))return e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),u(e,a,"linePrefix",5);return o(i.events,"linePrefix")<4?n(l):t(l)}),"linePrefix",5)},partial:!0};e.exports=a},5518:(e,t,n)=>{"use strict";var r=n(4392),i={name:"codeText",tokenize:function(e,t,n){var i,o,u=0;return function(t){return e.enter("codeText"),e.enter("codeTextSequence"),a(t)};function a(t){return 96===t?(e.consume(t),u++,a):(e.exit("codeTextSequence"),l(t))}function l(t){return null===t?n(t):96===t?(o=e.enter("codeTextSequence"),i=0,c(t)):32===t?(e.enter("space"),e.consume(t),e.exit("space"),l):r(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),l):(e.enter("codeTextData"),s(t))}function s(t){return null===t||32===t||96===t||r(t)?(e.exit("codeTextData"),l(t)):(e.consume(t),s)}function c(n){return 96===n?(e.consume(n),i++,c):i===u?(e.exit("codeTextSequence"),e.exit("codeText"),t(n)):(o.type="codeTextData",s(n))}},resolve:function(e){var t,n,r=e.length-4,i=3;if(("lineEnding"===e[i][1].type||"space"===e[i][1].type)&&("lineEnding"===e[r][1].type||"space"===e[r][1].type))for(t=i;++t{"use strict";var r=n(4392),i=n(557),o=n(6308),u=n(6231),a={tokenize:function(e,t){var n;return function(t){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),i(t)};function i(t){return null===t?o(t):r(t)?e.check(l,u,o)(t):(e.consume(t),i)}function o(n){return e.exit("chunkContent"),e.exit("content"),t(n)}function u(t){return e.consume(t),e.exit("chunkContent"),n=n.next=e.enter("chunkContent",{contentType:"content",previous:n}),i}},resolve:function(e){return o(e),e},interruptible:!0,lazy:!0},l={tokenize:function(e,t,n){var o=this;return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),u(e,a,"linePrefix")};function a(u){return null===u||r(u)?n(u):o.parser.constructs.disable.null.indexOf("codeIndented")>-1||i(o.events,"linePrefix")<4?e.interrupt(o.parser.constructs.flow,n,t)(u):t(u)}},partial:!0};e.exports=a},8194:(e,t,n)=>{"use strict";var r=n(4392),i=n(6377),o=n(4991),u=n(4559),a=n(9304),l=n(6231),s=n(9943),c=n(5191),f={name:"definition",tokenize:function(e,t,n){var i,c=this;return function(t){return e.enter("definition"),a.call(c,e,f,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(t)};function f(t){return i=o(c.sliceSerialize(c.events[c.events.length-1][1]).slice(1,-1)),58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),s(e,u(e,e.attempt(d,l(e,p,"whitespace"),l(e,p,"whitespace")),n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):n(t)}function p(o){return null===o||r(o)?(e.exit("definition"),c.parser.defined.indexOf(i)<0&&c.parser.defined.push(i),t(o)):n(o)}}},d={tokenize:function(e,t,n){return function(t){return i(t)?s(e,o)(t):n(t)};function o(t){return 34===t||39===t||40===t?c(e,l(e,u,"whitespace"),n,"definitionTitle","definitionTitleMarker","definitionTitleString")(t):n(t)}function u(e){return null===e||r(e)?t(e):n(e)}},partial:!0};e.exports=f},4559:(e,t,n)=>{"use strict";var r=n(1207),i=n(6377),o=n(4392);e.exports=function(e,t,n,u,a,l,s,c,f){var d=f||1/0,p=0;return function(t){if(60===t)return e.enter(u),e.enter(a),e.enter(l),e.consume(t),e.exit(l),h;if(r(t)||41===t)return n(t);return e.enter(u),e.enter(s),e.enter(c),e.enter("chunkString",{contentType:"string"}),v(t)};function h(n){return 62===n?(e.enter(l),e.consume(n),e.exit(l),e.exit(a),e.exit(u),t):(e.enter(c),e.enter("chunkString",{contentType:"string"}),m(n))}function m(t){return 62===t?(e.exit("chunkString"),e.exit(c),h(t)):null===t||60===t||o(t)?n(t):(e.consume(t),92===t?g:m)}function g(t){return 60===t||62===t||92===t?(e.consume(t),m):m(t)}function v(o){return 40===o?++p>d?n(o):(e.consume(o),v):41===o?p--?(e.consume(o),v):(e.exit("chunkString"),e.exit(c),e.exit(s),e.exit(u),t(o)):null===o||i(o)?p?n(o):(e.exit("chunkString"),e.exit(c),e.exit(s),e.exit(u),t(o)):r(o)?n(o):(e.consume(o),92===o?y:v)}function y(t){return 40===t||41===t||92===t?(e.consume(t),v):v(t)}}},9304:(e,t,n)=>{"use strict";var r=n(4392),i=n(9056);e.exports=function(e,t,n,o,u,a){var l,s=this,c=0;return function(t){return e.enter(o),e.enter(u),e.consume(t),e.exit(u),e.enter(a),f};function f(i){return null===i||91===i||93===i&&!l||94===i&&!c&&"_hiddenFootnoteSupport"in s.parser.constructs||c>999?n(i):93===i?(e.exit(a),e.enter(u),e.consume(i),e.exit(u),e.exit(o),t):r(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),f):(e.enter("chunkString",{contentType:"string"}),d(i))}function d(t){return null===t||91===t||93===t||r(t)||c++>999?(e.exit("chunkString"),f(t)):(e.consume(t),l=l||!i(t),92===t?p:d)}function p(t){return 91===t||92===t||93===t?(e.consume(t),c++,d):d(t)}}},6231:(e,t,n)=>{"use strict";var r=n(9056);e.exports=function(e,t,n,i){var o=i?i-1:1/0,u=0;return function(i){if(r(i))return e.enter(n),a(i);return t(i)};function a(i){return r(i)&&u++{"use strict";var r=n(4392),i=n(6231);e.exports=function(e,t,n,o,u,a){var l;return function(t){return e.enter(o),e.enter(u),e.consume(t),e.exit(u),l=40===t?41:t,s};function s(n){return n===l?(e.enter(u),e.consume(n),e.exit(u),e.exit(o),t):(e.enter(a),c(n))}function c(t){return t===l?(e.exit(a),s(l)):null===t?n(t):r(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),i(e,c,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),f(t))}function f(t){return t===l||null===t||r(t)?(e.exit("chunkString"),c(t)):(e.consume(t),92===t?d:f)}function d(t){return t===l||92===t?(e.consume(t),f):f(t)}}},9943:(e,t,n)=>{"use strict";var r=n(4392),i=n(9056),o=n(6231);e.exports=function(e,t){var n;return function u(a){if(r(a))return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),n=!0,u;if(i(a))return o(e,u,n?"linePrefix":"lineSuffix")(a);return t(a)}}},462:(e,t,n)=>{"use strict";var r=n(4392),i={name:"hardBreakEscape",tokenize:function(e,t,n){return function(t){return e.enter("hardBreakEscape"),e.enter("escapeMarker"),e.consume(t),i};function i(i){return r(i)?(e.exit("escapeMarker"),e.exit("hardBreakEscape"),t(i)):n(i)}}};e.exports=i},1034:(e,t,n)=>{"use strict";var r=n(4392),i=n(6377),o=n(9056),u=n(4485),a=n(6231),l={name:"headingAtx",tokenize:function(e,t,n){var u=this,l=0;return function(t){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),s(t)};function s(r){return 35===r&&l++<6?(e.consume(r),s):null===r||i(r)?(e.exit("atxHeadingSequence"),u.interrupt?t(r):c(r)):n(r)}function c(n){return 35===n?(e.enter("atxHeadingSequence"),f(n)):null===n||r(n)?(e.exit("atxHeading"),t(n)):o(n)?a(e,c,"whitespace")(n):(e.enter("atxHeadingText"),d(n))}function f(t){return 35===t?(e.consume(t),f):(e.exit("atxHeadingSequence"),c(t))}function d(t){return null===t||35===t||i(t)?(e.exit("atxHeadingText"),c(t)):(e.consume(t),d)}},resolve:function(e,t){var n,r,i=e.length-2,o=3;"whitespace"===e[o][1].type&&(o+=2);i-2>o&&"whitespace"===e[i][1].type&&(i-=2);"atxHeadingSequence"===e[i][1].type&&(o===i-1||i-4>o&&"whitespace"===e[i-2][1].type)&&(i-=o+1===i?2:4);i>o&&(n={type:"atxHeadingText",start:e[o][1].start,end:e[i][1].end},r={type:"chunkText",start:e[o][1].start,end:e[i][1].end,contentType:"text"},u(e,o,i-o+1,[["enter",n,t],["enter",r,t],["exit",r,t],["exit",n,t]]));return e}};e.exports=l},4428:(e,t,n)=>{"use strict";var r=n(277),i=n(6995),o=n(4392),u=n(6377),a=n(9056),l=n(9393),s=n(8971),c=n(7322),f=n(6941),d={name:"htmlFlow",tokenize:function(e,t,n){var f,d,h,m,g,v=this;return function(t){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(t),y};function y(i){return 33===i?(e.consume(i),b):47===i?(e.consume(i),k):63===i?(e.consume(i),f=3,v.interrupt?t:U):r(i)?(e.consume(i),h=l(i),d=!0,E):n(i)}function b(i){return 45===i?(e.consume(i),f=2,x):91===i?(e.consume(i),f=5,h="CDATA[",m=0,D):r(i)?(e.consume(i),f=4,v.interrupt?t:U):n(i)}function x(r){return 45===r?(e.consume(r),v.interrupt?t:U):n(r)}function D(r){return r===h.charCodeAt(m++)?(e.consume(r),m===h.length?v.interrupt?t:I:D):n(r)}function k(t){return r(t)?(e.consume(t),h=l(t),E):n(t)}function E(r){return null===r||47===r||62===r||u(r)?47!==r&&d&&c.indexOf(h.toLowerCase())>-1?(f=1,v.interrupt?t(r):I(r)):s.indexOf(h.toLowerCase())>-1?(f=6,47===r?(e.consume(r),C):v.interrupt?t(r):I(r)):(f=7,v.interrupt?n(r):d?w(r):F(r)):45===r||i(r)?(e.consume(r),h+=l(r),E):n(r)}function C(r){return 62===r?(e.consume(r),v.interrupt?t:I):n(r)}function F(t){return a(t)?(e.consume(t),F):R(t)}function w(t){return 47===t?(e.consume(t),R):58===t||95===t||r(t)?(e.consume(t),S):a(t)?(e.consume(t),w):R(t)}function S(t){return 45===t||46===t||58===t||95===t||i(t)?(e.consume(t),S):_(t)}function _(t){return 61===t?(e.consume(t),A):a(t)?(e.consume(t),_):w(t)}function A(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),g=t,P):a(t)?(e.consume(t),A):(g=void 0,O(t))}function P(t){return t===g?(e.consume(t),T):null===t||o(t)?n(t):(e.consume(t),P)}function O(t){return null===t||34===t||39===t||60===t||61===t||62===t||96===t||u(t)?_(t):(e.consume(t),O)}function T(e){return 47===e||62===e||a(e)?w(e):n(e)}function R(t){return 62===t?(e.consume(t),B):n(t)}function B(t){return a(t)?(e.consume(t),B):null===t||o(t)?I(t):n(t)}function I(t){return 45===t&&2===f?(e.consume(t),L):60===t&&1===f?(e.consume(t),z):62===t&&4===f?(e.consume(t),W):63===t&&3===f?(e.consume(t),U):93===t&&5===f?(e.consume(t),H):!o(t)||6!==f&&7!==f?null===t||o(t)?j(t):(e.consume(t),I):e.check(p,W,j)(t)}function j(t){return e.exit("htmlFlowData"),N(t)}function N(t){return null===t?q(t):o(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),N):(e.enter("htmlFlowData"),I(t))}function L(t){return 45===t?(e.consume(t),U):I(t)}function z(t){return 47===t?(e.consume(t),h="",M):I(t)}function M(t){return 62===t&&c.indexOf(h.toLowerCase())>-1?(e.consume(t),W):r(t)&&h.length<8?(e.consume(t),h+=l(t),M):I(t)}function H(t){return 93===t?(e.consume(t),U):I(t)}function U(t){return 62===t?(e.consume(t),W):I(t)}function W(t){return null===t||o(t)?(e.exit("htmlFlowData"),q(t)):(e.consume(t),W)}function q(n){return e.exit("htmlFlow"),t(n)}},resolveTo:function(e){var t=e.length;for(;t--&&("enter"!==e[t][0]||"htmlFlow"!==e[t][1].type););t>1&&"linePrefix"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2));return e},concrete:!0},p={tokenize:function(e,t,n){return function(r){return e.exit("htmlFlowData"),e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),e.attempt(f,t,n)}},partial:!0};e.exports=d},4945:(e,t,n)=>{"use strict";var r=n(277),i=n(6995),o=n(4392),u=n(6377),a=n(9056),l=n(6231),s={name:"htmlText",tokenize:function(e,t,n){var s,c,f,d,p=this;return function(t){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(t),h};function h(t){return 33===t?(e.consume(t),m):47===t?(e.consume(t),_):63===t?(e.consume(t),w):r(t)?(e.consume(t),O):n(t)}function m(t){return 45===t?(e.consume(t),g):91===t?(e.consume(t),c="CDATA[",f=0,D):r(t)?(e.consume(t),F):n(t)}function g(t){return 45===t?(e.consume(t),v):n(t)}function v(t){return null===t||62===t?n(t):45===t?(e.consume(t),y):b(t)}function y(e){return null===e||62===e?n(e):b(e)}function b(t){return null===t?n(t):45===t?(e.consume(t),x):o(t)?(d=b,z(t)):(e.consume(t),b)}function x(t){return 45===t?(e.consume(t),H):b(t)}function D(t){return t===c.charCodeAt(f++)?(e.consume(t),f===c.length?k:D):n(t)}function k(t){return null===t?n(t):93===t?(e.consume(t),E):o(t)?(d=k,z(t)):(e.consume(t),k)}function E(t){return 93===t?(e.consume(t),C):k(t)}function C(t){return 62===t?H(t):93===t?(e.consume(t),C):k(t)}function F(t){return null===t||62===t?H(t):o(t)?(d=F,z(t)):(e.consume(t),F)}function w(t){return null===t?n(t):63===t?(e.consume(t),S):o(t)?(d=w,z(t)):(e.consume(t),w)}function S(e){return 62===e?H(e):w(e)}function _(t){return r(t)?(e.consume(t),A):n(t)}function A(t){return 45===t||i(t)?(e.consume(t),A):P(t)}function P(t){return o(t)?(d=P,z(t)):a(t)?(e.consume(t),P):H(t)}function O(t){return 45===t||i(t)?(e.consume(t),O):47===t||62===t||u(t)?T(t):n(t)}function T(t){return 47===t?(e.consume(t),H):58===t||95===t||r(t)?(e.consume(t),R):o(t)?(d=T,z(t)):a(t)?(e.consume(t),T):H(t)}function R(t){return 45===t||46===t||58===t||95===t||i(t)?(e.consume(t),R):B(t)}function B(t){return 61===t?(e.consume(t),I):o(t)?(d=B,z(t)):a(t)?(e.consume(t),B):T(t)}function I(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),s=t,j):o(t)?(d=I,z(t)):a(t)?(e.consume(t),I):(e.consume(t),s=void 0,L)}function j(t){return t===s?(e.consume(t),N):null===t?n(t):o(t)?(d=j,z(t)):(e.consume(t),j)}function N(e){return 62===e||47===e||u(e)?T(e):n(e)}function L(t){return null===t||34===t||39===t||60===t||61===t||96===t?n(t):62===t||u(t)?T(t):(e.consume(t),L)}function z(t){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),l(e,M,"linePrefix",p.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4)}function M(t){return e.enter("htmlTextData"),d(t)}function H(r){return 62===r?(e.consume(r),e.exit("htmlTextData"),e.exit("htmlText"),t):n(r)}}};e.exports=s},9255:(e,t,n)=>{"use strict";var r=n(6377),i=n(5911),o=n(4485),u=n(4991),a=n(3173),l=n(1339),s=n(4559),c=n(9304),f=n(5191),d=n(9943),p={name:"labelEnd",tokenize:function(e,t,n){var r,i,o=this,a=o.events.length;for(;a--;)if(("labelImage"===o.events[a][1].type||"labelLink"===o.events[a][1].type)&&!o.events[a][1]._balanced){r=o.events[a][1];break}return function(t){if(!r)return n(t);return r._inactive?s(t):(i=o.parser.defined.indexOf(u(o.sliceSerialize({start:r.end,end:o.now()})))>-1,e.enter("labelEnd"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelEnd"),l)};function l(n){return 40===n?e.attempt(h,t,i?t:s)(n):91===n?e.attempt(m,t,i?e.attempt(g,t,s):s)(n):i?t(n):s(n)}function s(e){return r._balanced=!0,n(e)}},resolveTo:function(e,t){var n,r,u,s,c,f,d,p=e.length,h=0;for(;p--;)if(s=e[p][1],c){if("link"===s.type||"labelLink"===s.type&&s._inactive)break;"enter"===e[p][0]&&"labelLink"===s.type&&(s._inactive=!0)}else if(f){if("enter"===e[p][0]&&("labelImage"===s.type||"labelLink"===s.type)&&!s._balanced&&(c=p,"labelLink"!==s.type)){h=2;break}}else"labelEnd"===s.type&&(f=p);return n={type:"labelLink"===e[c][1].type?"link":"image",start:l(e[c][1].start),end:l(e[e.length-1][1].end)},r={type:"label",start:l(e[c][1].start),end:l(e[f][1].end)},u={type:"labelText",start:l(e[c+h+2][1].end),end:l(e[f-2][1].start)},d=i(d=[["enter",n,t],["enter",r,t]],e.slice(c+1,c+h+3)),d=i(d,[["enter",u,t]]),d=i(d,a(t.parser.constructs.insideSpan.null,e.slice(c+h+4,f-3),t)),d=i(d,[["exit",u,t],e[f-2],e[f-1],["exit",r,t]]),d=i(d,e.slice(f+1)),d=i(d,[["exit",n,t]]),o(e,c,e.length,d),e},resolveAll:function(e){var t,n=-1;for(;++n{"use strict";var r={name:"labelStartImage",tokenize:function(e,t,n){var r=this;return function(t){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(t),e.exit("labelImageMarker"),i};function i(t){return 91===t?(e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelImage"),o):n(t)}function o(e){return 94===e&&"_hiddenFootnoteSupport"in r.parser.constructs?n(e):t(e)}},resolveAll:n(9255).resolveAll};e.exports=r},721:(e,t,n)=>{"use strict";var r={name:"labelStartLink",tokenize:function(e,t,n){var r=this;return function(t){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelLink"),i};function i(e){return 94===e&&"_hiddenFootnoteSupport"in r.parser.constructs?n(e):t(e)}},resolveAll:n(9255).resolveAll};e.exports=r},2836:(e,t,n)=>{"use strict";var r=n(6231),i={name:"lineEnding",tokenize:function(e,t){return function(n){return e.enter("lineEnding"),e.consume(n),e.exit("lineEnding"),r(e,t,"linePrefix")}}};e.exports=i},1699:(e,t,n)=>{"use strict";var r=n(1091),i=n(9056),o=n(557),u=n(353),a=n(6231),l=n(6941),s=n(5861),c={name:"list",tokenize:function(e,t,n){var a=this,c=o(a.events,"linePrefix"),d=0;return function(t){var i=a.containerState.type||(42===t||43===t||45===t?"listUnordered":"listOrdered");if("listUnordered"===i?!a.containerState.marker||t===a.containerState.marker:r(t)){if(a.containerState.type||(a.containerState.type=i,e.enter(i,{_container:!0})),"listUnordered"===i)return e.enter("listItemPrefix"),42===t||45===t?e.check(s,n,h)(t):h(t);if(!a.interrupt||49===t)return e.enter("listItemPrefix"),e.enter("listItemValue"),p(t)}return n(t)};function p(t){return r(t)&&++d<10?(e.consume(t),p):(!a.interrupt||d<2)&&(a.containerState.marker?t===a.containerState.marker:41===t||46===t)?(e.exit("listItemValue"),h(t)):n(t)}function h(t){return e.enter("listItemMarker"),e.consume(t),e.exit("listItemMarker"),a.containerState.marker=a.containerState.marker||t,e.check(l,a.interrupt?n:m,e.attempt(f,v,g))}function m(e){return a.containerState.initialBlankLine=!0,c++,v(e)}function g(t){return i(t)?(e.enter("listItemPrefixWhitespace"),e.consume(t),e.exit("listItemPrefixWhitespace"),v):n(t)}function v(n){return a.containerState.size=c+u(a.sliceStream(e.exit("listItemPrefix"))),t(n)}},continuation:{tokenize:function(e,t,n){var r=this;return r.containerState._closeFlow=void 0,e.check(l,(function(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,a(e,t,"listItemIndent",r.containerState.size+1)(n)}),(function(n){if(r.containerState.furtherBlankLines||!i(n))return r.containerState.furtherBlankLines=r.containerState.initialBlankLine=void 0,o(n);return r.containerState.furtherBlankLines=r.containerState.initialBlankLine=void 0,e.attempt(d,t,o)(n)}));function o(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,a(e,e.attempt(c,t,n),"linePrefix",r.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4)(i)}}},exit:function(e){e.exit(this.containerState.type)}},f={tokenize:function(e,t,n){var r=this;return a(e,(function(e){return i(e)||!o(r.events,"listItemPrefixWhitespace")?n(e):t(e)}),"listItemPrefixWhitespace",r.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:5)},partial:!0},d={tokenize:function(e,t,n){var r=this;return a(e,(function(e){return o(r.events,"listItemIndent")===r.containerState.size?t(e):n(e)}),"listItemIndent",r.containerState.size+1)},partial:!0};e.exports=c},6941:(e,t,n)=>{"use strict";var r=n(4392),i=n(6231),o={tokenize:function(e,t,n){return i(e,(function(e){return null===e||r(e)?t(e):n(e)}),"linePrefix")},partial:!0};e.exports=o},1862:(e,t,n)=>{"use strict";var r=n(4392),i=n(1339),o=n(6231),u={name:"setextUnderline",tokenize:function(e,t,n){var i,u,a=this,l=a.events.length;for(;l--;)if("lineEnding"!==a.events[l][1].type&&"linePrefix"!==a.events[l][1].type&&"content"!==a.events[l][1].type){u="paragraph"===a.events[l][1].type;break}return function(t){if(!a.lazy&&(a.interrupt||u))return e.enter("setextHeadingLine"),e.enter("setextHeadingLineSequence"),i=t,s(t);return n(t)};function s(t){return t===i?(e.consume(t),s):(e.exit("setextHeadingLineSequence"),o(e,c,"lineSuffix")(t))}function c(i){return null===i||r(i)?(e.exit("setextHeadingLine"),t(i)):n(i)}},resolveTo:function(e,t){var n,r,o,u,a=e.length;for(;a--;)if("enter"===e[a][0]){if("content"===e[a][1].type){n=a;break}"paragraph"===e[a][1].type&&(r=a)}else"content"===e[a][1].type&&e.splice(a,1),o||"definition"!==e[a][1].type||(o=a);u={type:"setextHeading",start:i(e[r][1].start),end:i(e[e.length-1][1].end)},e[r][1].type="setextHeadingText",o?(e.splice(r,0,["enter",u,t]),e.splice(o+1,0,["exit",e[n][1],t]),e[n][1].end=i(e[o][1].end)):e[n][1]=u;return e.push(["exit",u,t]),e}};e.exports=u},5861:(e,t,n)=>{"use strict";var r=n(4392),i=n(9056),o=n(6231),u={name:"thematicBreak",tokenize:function(e,t,n){var u,a=0;return function(t){return e.enter("thematicBreak"),u=t,l(t)};function l(c){return c===u?(e.enter("thematicBreakSequence"),s(c)):i(c)?o(e,l,"whitespace")(c):a<3||null!==c&&!r(c)?n(c):(e.exit("thematicBreak"),t(c))}function s(t){return t===u?(e.consume(t),a++,s):(e.exit("thematicBreakSequence"),l(t))}}};e.exports=u},5911:(e,t,n)=>{"use strict";var r=n(4485);e.exports=function(e,t){return e.length?(r(e,e.length,0,t),e):t}},4485:(e,t,n)=>{"use strict";var r=n(7327);e.exports=function(e,t,n,i){var o,u=e.length,a=0;if(t=t<0?-t>u?0:u+t:t>u?u:t,n=n>0?n:0,i.length<1e4)(o=Array.from(i)).unshift(t,n),r.apply(e,o);else for(n&&r.apply(e,[t,n]);a{"use strict";var r=n(6377),i=n(5414),o=n(6548);e.exports=function(e){return null===e||r(e)||o(e)?1:i(e)?2:void 0}},6369:(e,t,n)=>{"use strict";var r=n(8025),i=n(4485),o=n(9990);function u(e,t){var n,i,u,l;for(n in t)for(l in i=r.call(e,n)?e[n]:e[n]={},u=t[n])i[l]=a(o(u[l]),r.call(i,l)?i[l]:[])}function a(e,t){for(var n=-1,r=[];++n{"use strict";var r=n(3667),i=n(4392),o=n(5911),u=n(4485),a=n(9990),l=n(3173),s=n(6392),c=n(1339),f=n(2569);e.exports=function(e,t,n){var d=n?c(n):{line:1,column:1,offset:0},p={},h=[],m=[],g=[],v={consume:function(e){i(e)?(d.line++,d.column=1,d.offset+=-3===e?2:1,S()):-1!==e&&(d.column++,d.offset++);d._bufferIndex<0?d._index++:(d._bufferIndex++,d._bufferIndex===m[d._index].length&&(d._bufferIndex=-1,d._index++));y.previous=e},enter:function(e,t){var n=t||{};return n.type=e,n.start=D(),y.events.push(["enter",n,y]),g.push(n),n},exit:function(e){var t=g.pop();return t.end=D(),y.events.push(["exit",t,y]),t},attempt:F((function(e,t){w(e,t.from)})),check:F(C),interrupt:F(C,{interrupt:!0}),lazy:F(C,{lazy:!0})},y={previous:null,events:[],parser:e,sliceStream:x,sliceSerialize:function(e){return s(x(e))},now:D,defineSkip:function(e){p[e.line]=e.column,S()},write:function(e){if(m=o(m,e),k(),null!==m[m.length-1])return[];return w(t,0),y.events=l(h,y.events,y),y.events}},b=t.tokenize.call(y,v);return t.resolveAll&&h.push(t),d._index=0,d._bufferIndex=-1,y;function x(e){return f(m,e)}function D(){return c(d)}function k(){for(var e,t;d._index-1)return m();return e.tokenize.call(t?r({},y,t):y,v,h,m)(n)}}function h(t){return e(s,c),i}function m(e){return c.restore(),++l{"use strict";e.exports=function(e){return null===e||void 0===e?[]:"length"in e?e:[e]}},8375:e=>{"use strict";e.exports=function(e,t){return e.column+=t,e.offset+=t,e._bufferIndex+=t,e}},4991:e=>{"use strict";e.exports=function(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}},557:(e,t,n)=>{"use strict";var r=n(353);e.exports=function(e,t){var n=e[e.length-1];return n&&n[1].type===t?r(n[2].sliceStream(n[1])):0}},8254:(e,t,n)=>{"use strict";var r=n(9393);e.exports=function(e){return function(t){return e.test(r(t))}}},3173:e=>{"use strict";e.exports=function(e,t,n){for(var r,i=[],o=-1;++o{"use strict";var r=n(9393);e.exports=function(e,t){var n=parseInt(e,t);return n<9||11===n||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||65535===(65535&n)||65534===(65535&n)||n>1114111?"\ufffd":r(n)}},6392:(e,t,n)=>{"use strict";var r=n(9393);e.exports=function(e){for(var t,n,i,o=-1,u=[];++o{"use strict";var r=n(3667);e.exports=function(e){return r({},e)}},353:e=>{"use strict";e.exports=function(e){for(var t=-1,n=0;++t{"use strict";e.exports=function(e,t){var n,r=t.start._index,i=t.start._bufferIndex,o=t.end._index,u=t.end._bufferIndex;return r===o?n=[e[r].slice(i,u)]:(n=e.slice(r,o),i>-1&&(n[0]=n[0].slice(i)),u>0&&n.push(e[o].slice(0,u))),n}},6308:(e,t,n)=>{"use strict";var r=n(3667),i=n(4485),o=n(1339);function u(e,t){for(var n,r,o,u,a,l,s=e[t][1],c=e[t][2],f=t-1,d=[],p=s._tokenizer||c.parser[s.contentType](s.start),h=p.events,m=[],g={};s;){for(;e[++f][1]!==s;);d.push(f),s._tokenizer||(n=c.sliceStream(s),s.next||n.push(null),r&&p.defineSkip(s.start),s.isInFirstContentOfListItem&&(p._gfmTasklistFirstContentOfListItem=!0),p.write(n),s.isInFirstContentOfListItem&&(p._gfmTasklistFirstContentOfListItem=void 0)),r=s,s=s.next}for(s=r,o=h.length;o--;)"enter"===h[o][0]?u=!0:u&&h[o][1].type===h[o-1][1].type&&h[o][1].start.line!==h[o][1].end.line&&(v(h.slice(o+1,a)),s._tokenizer=s.next=void 0,s=s.previous,a=o+1);for(p.events=s._tokenizer=s.next=void 0,v(h.slice(0,a)),o=-1,l=0;++o{"use strict";var t;e.exports=function(e){var n,r="&"+e+";";if((t=t||document.createElement("i")).innerHTML=r,59===(n=t.textContent).charCodeAt(n.length-1)&&"semi"!==e)return!1;return n!==r&&n}},1676:(e,t,n)=>{"use strict";e.exports=function(e){var t=this;this.Parser=function(n){return r(n,Object.assign({},t.data("settings"),e,{extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]}))}};var r=n(5184)},6745:(e,t,n)=>{"use strict";var r=n(4918);e.exports=o,o.wrap=r;var i=[].slice;function o(){var e=[],t={run:function(){var t=-1,n=i.call(arguments,0,-1),o=arguments[arguments.length-1];if("function"!==typeof o)throw new Error("Expected function as last argument, not "+o);(function u(a){var l=e[++t],s=i.call(arguments,0).slice(1),c=n.length,f=-1;if(a)o(a);else{for(;++f{"use strict";var t=[].slice;e.exports=function(e,n){var r;return function(){var n,u=t.call(arguments,0),a=e.length>u.length;a&&u.push(i);try{n=e.apply(null,u)}catch(l){if(a&&r)throw l;return i(l)}a||(n&&"function"===typeof n.then?n.then(o,i):n instanceof Error?i(n):o(n))};function i(){r||(r=!0,n.apply(null,arguments))}function o(e){i(null,e)}}},282:(e,t,n)=>{"use strict";var r=n(6415),i=n(1046),o=n(432),u=n(3731),a=n(6745),l=n(9418);e.exports=function e(){var t,n=[],i=a(),y={},b=-1;return x.data=function(e,n){if("string"===typeof e)return 2===arguments.length?(m("data",t),y[e]=n,x):c.call(y,e)&&y[e]||null;if(e)return m("data",t),y=e,x;return y},x.freeze=D,x.attachers=n,x.use=function(e){var r;if(m("use",t),null===e||void 0===e);else if("function"===typeof e)c.apply(null,arguments);else{if("object"!==typeof e)throw new Error("Expected usable value, not `"+e+"`");"length"in e?l(e):i(e)}r&&(y.settings=o(y.settings||{},r));return x;function i(e){l(e.plugins),e.settings&&(r=o(r||{},e.settings))}function a(e){if("function"===typeof e)c(e);else{if("object"!==typeof e)throw new Error("Expected usable value, not `"+e+"`");"length"in e?c.apply(null,e):i(e)}}function l(e){var t=-1;if(null===e||void 0===e);else{if("object"!==typeof e||!("length"in e))throw new Error("Expected a list of plugins, not `"+e+"`");for(;++t{"use strict";var t={}.hasOwnProperty;function n(e){return e&&"object"===typeof e||(e={}),i(e.line)+":"+i(e.column)}function r(e){return e&&"object"===typeof e||(e={}),n(e.start)+"-"+n(e.end)}function i(e){return e&&"number"===typeof e?e:1}e.exports=function(e){if(!e||"object"!==typeof e)return"";if(t.call(e,"position")||t.call(e,"type"))return r(e.position);if(t.call(e,"start")||t.call(e,"end"))return r(e);if(t.call(e,"line")||t.call(e,"column"))return n(e);return""}},851:(e,t,n)=>{"use strict";var r=n(6934);function i(){}e.exports=u,i.prototype=Error.prototype,u.prototype=new i;var o=u.prototype;function u(e,t,n){var i,o,u;"string"===typeof t&&(n=t,t=null),i=function(e){var t,n=[null,null];"string"===typeof e&&(-1===(t=e.indexOf(":"))?n[1]=e:(n[0]=e.slice(0,t),n[1]=e.slice(t+1)));return n}(n),o=r(t)||"1:1",u={start:{line:null,column:null},end:{line:null,column:null}},t&&t.position&&(t=t.position),t&&(t.start?(u=t,t=t.start):u.start=t),e.stack&&(this.stack=e.stack,e=e.message),this.message=e,this.name=o,this.reason=e,this.line=t?t.line:null,this.column=t?t.column:null,this.location=u,this.source=i[0],this.ruleId=i[1]}o.file="",o.name="",o.reason="",o.message="",o.stack="",o.fatal=null,o.column=null,o.line=null},9418:(e,t,n)=>{"use strict";e.exports=n(2276)},8884:(e,t,n)=>{"use strict";var r=n(4322),i=n(8833),o=n(1046);e.exports=l;var u={}.hasOwnProperty,a=["history","path","basename","stem","extname","dirname"];function l(e){var t,n;if(e){if("string"===typeof e||o(e))e={contents:e};else if("message"in e&&"messages"in e)return e}else e={};if(!(this instanceof l))return new l(e);for(this.data={},this.messages=[],this.history=[],this.cwd=i.cwd(),n=-1;++n-1)throw new Error("`"+t+"` cannot be a path: did not expect `"+r.sep+"`")}function c(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function f(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}l.prototype.toString=function(e){return(this.contents||"").toString(e)},Object.defineProperty(l.prototype,"path",{get:function(){return this.history[this.history.length-1]},set:function(e){c(e,"path"),this.path!==e&&this.history.push(e)}}),Object.defineProperty(l.prototype,"dirname",{get:function(){return"string"===typeof this.path?r.dirname(this.path):void 0},set:function(e){f(this.path,"dirname"),this.path=r.join(e||"",this.basename)}}),Object.defineProperty(l.prototype,"basename",{get:function(){return"string"===typeof this.path?r.basename(this.path):void 0},set:function(e){c(e,"basename"),s(e,"basename"),this.path=r.join(this.dirname||"",e)}}),Object.defineProperty(l.prototype,"extname",{get:function(){return"string"===typeof this.path?r.extname(this.path):void 0},set:function(e){if(s(e,"extname"),f(this.path,"extname"),e){if(46!==e.charCodeAt(0))throw new Error("`extname` must start with `.`");if(e.indexOf(".",1)>-1)throw new Error("`extname` cannot contain multiple dots")}this.path=r.join(this.dirname,this.stem+(e||""))}}),Object.defineProperty(l.prototype,"stem",{get:function(){return"string"===typeof this.path?r.basename(this.path,this.extname):void 0},set:function(e){c(e,"stem"),s(e,"stem"),this.path=r.join(this.dirname||"",e+(this.extname||""))}})},2276:(e,t,n)=>{"use strict";var r=n(851),i=n(8884);e.exports=i,i.prototype.message=function(e,t,n){var i=new r(e,t,n);this.path&&(i.name=this.path+":"+i.name,i.file=this.path);return i.fatal=!1,this.messages.push(i),i},i.prototype.info=function(){var e=this.message.apply(this,arguments);return e.fatal=null,e},i.prototype.fail=function(){var e=this.message.apply(this,arguments);throw e.fatal=!0,e}},4322:(e,t)=>{"use strict";function n(e){if("string"!==typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}t.basename=function(e,t){var r,i,o,u,a=0,l=-1;if(void 0!==t&&"string"!==typeof t)throw new TypeError('"ext" argument must be a string');if(n(e),r=e.length,void 0===t||!t.length||t.length>e.length){for(;r--;)if(47===e.charCodeAt(r)){if(o){a=r+1;break}}else l<0&&(o=!0,l=r+1);return l<0?"":e.slice(a,l)}if(t===e)return"";i=-1,u=t.length-1;for(;r--;)if(47===e.charCodeAt(r)){if(o){a=r+1;break}}else i<0&&(o=!0,i=r+1),u>-1&&(e.charCodeAt(r)===t.charCodeAt(u--)?u<0&&(l=r):(u=-1,l=i));a===l?l=i:l<0&&(l=e.length);return e.slice(a,l)},t.dirname=function(e){var t,r,i;if(n(e),!e.length)return".";t=-1,i=e.length;for(;--i;)if(47===e.charCodeAt(i)){if(r){t=i;break}}else r||(r=!0);return t<0?47===e.charCodeAt(0)?"/":".":1===t&&47===e.charCodeAt(0)?"//":e.slice(0,t)},t.extname=function(e){var t,r,i,o=-1,u=0,a=-1,l=0;n(e),i=e.length;for(;i--;)if(47!==(r=e.charCodeAt(i)))a<0&&(t=!0,a=i+1),46===r?o<0?o=i:1!==l&&(l=1):o>-1&&(l=-1);else if(t){u=i+1;break}if(o<0||a<0||0===l||1===l&&o===a-1&&o===u+1)return"";return e.slice(o,a)},t.join=function(){var e,t=-1;for(;++t2){if((r=i.lastIndexOf("/"))!==i.length-1){r<0?(i="",o=0):o=(i=i.slice(0,r)).length-1-i.lastIndexOf("/"),u=l,a=0;continue}}else if(i.length){i="",o=0,u=l,a=0;continue}t&&(i=i.length?i+"/..":"..",o=2)}else i.length?i+="/"+e.slice(u+1,l):i=e.slice(u+1,l),o=l-u-1;u=l,a=0}else 46===n&&a>-1?a++:a=-1}return i}(e,!t),r.length||t||(r=".");r.length&&47===e.charCodeAt(e.length-1)&&(r+="/");return t?"/"+r:r}(e)},t.sep="/"},8833:(e,t)=>{"use strict";t.cwd=function(){return"/"}},4400:e=>{"use strict";var t,n="";e.exports=function(e,r){if("string"!==typeof e)throw new TypeError("expected a string");if(1===r)return e;if(2===r)return e+e;var i=e.length*r;if(t!==e||"undefined"===typeof t)t=e,n="";else if(n.length>=i)return n.substr(0,i);for(;i>n.length&&r>1;)1&r&&(n+=e),r>>=1,e+=e;return n=(n+=e).substr(0,i)}},4478:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0>>1,i=e[r];if(!(0>>1;ro(l,n))so(c,l)?(e[r]=c,e[s]=n,r=s):(e[r]=l,e[a]=n,r=a);else{if(!(so(c,n)))break e;e[r]=c,e[s]=n,r=s}}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"===typeof performance&&"function"===typeof performance.now){var u=performance;t.unstable_now=function(){return u.now()}}else{var a=Date,l=a.now();t.unstable_now=function(){return a.now()-l}}var s=[],c=[],f=1,d=null,p=3,h=!1,m=!1,g=!1,v="function"===typeof setTimeout?setTimeout:null,y="function"===typeof clearTimeout?clearTimeout:null,b="undefined"!==typeof setImmediate?setImmediate:null;function x(e){for(var t=r(c);null!==t;){if(null===t.callback)i(c);else{if(!(t.startTime<=e))break;i(c),t.sortIndex=t.expirationTime,n(s,t)}t=r(c)}}function D(e){if(g=!1,x(e),!m)if(null!==r(s))m=!0,R(k);else{var t=r(c);null!==t&&B(D,t.startTime-e)}}function k(e,n){m=!1,g&&(g=!1,y(w),w=-1),h=!0;var o=p;try{for(x(n),d=r(s);null!==d&&(!(d.expirationTime>n)||e&&!A());){var u=d.callback;if("function"===typeof u){d.callback=null,p=d.priorityLevel;var a=u(d.expirationTime<=n);n=t.unstable_now(),"function"===typeof a?d.callback=a:d===r(s)&&i(s),x(n)}else i(s);d=r(s)}if(null!==d)var l=!0;else{var f=r(c);null!==f&&B(D,f.startTime-n),l=!1}return l}finally{d=null,p=o,h=!1}}"undefined"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var E,C=!1,F=null,w=-1,S=5,_=-1;function A(){return!(t.unstable_now()-_e||125u?(e.sortIndex=o,n(c,e),null===r(s)&&e===r(c)&&(g?(y(w),w=-1):g=!0,B(D,o-u))):(e.sortIndex=a,n(s,e),m||h||(m=!0,R(k))),e},t.unstable_shouldYield=A,t.unstable_wrapCallback=function(e){var t=p;return function(){var n=p;p=t;try{return e.apply(this,arguments)}finally{p=n}}}},7029:(e,t,n)=>{"use strict";e.exports=n(4478)},1985:e=>{e.exports=function(e,t,n,r){var i=n?n.call(r,e,t):void 0;if(void 0!==i)return!!i;if(e===t)return!0;if("object"!==typeof e||!e||"object"!==typeof t||!t)return!1;var o=Object.keys(e),u=Object.keys(t);if(o.length!==u.length)return!1;for(var a=Object.prototype.hasOwnProperty.bind(t),l=0;l{var r=n(5965);function i(e,t){var n,i=null;if(!e||"string"!==typeof e)return i;for(var o,u,a=r(e),l="function"===typeof t,s=0,c=a.length;s{"use strict";n.d(t,{ZP:()=>Wt,F4:()=>qt,zo:()=>Wt});var r=function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0?C(I,--R):0,O--,10===B&&(O=1,P--),B}function M(){return B=R2||q(B)>3?"":" "}function Q(e,t){for(;--t&&M()&&!(B<48||B>102||B>57&&B<65||B>70&&B<97););return W(e,U()+(t<6&&32==H()&&32==M()))}function G(e){for(;M();)switch(B){case e:return R;case 34:case 39:34!==e&&39!==e&&G(B);break;case 40:41===e&&G(e);break;case 92:M()}return R}function Y(e,t){for(;M()&&e+B!==57&&(e+B!==84||47!==H()););return"/*"+W(t,R-1)+"*"+y(47===e?e:M())}function X(e){for(;!q(H());)M();return W(e,R)}function J(e,t){for(var n="",r=0;r6)switch(C(e,t+1)){case 109:if(45!==C(e,t+4))break;case 102:return k(e,/(.+:)(.+)-([^]+)/,"$1"+c+"$2-$3$1"+s+(108==C(e,t+3)?"$3":"$2-$3"))+e;case 115:return~E(e,"stretch")?te(k(e,"stretch","fill-available"),t,n)+e:e}break;case 5152:case 5920:return k(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,(function(t,n,r,i,o,u,a){return l+n+":"+r+a+(i?l+n+"-span:"+(o?u:+u-+r)+a:"")+e}));case 4949:if(121===C(e,t+6))return k(e,":",":"+c)+e;break;case 6444:switch(C(e,45===C(e,14)?18:11)){case 120:return k(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+c+(45===C(e,14)?"inline-":"")+"box$3$1"+c+"$2$3$1"+l+"$2box$3")+e;case 100:return k(e,":",":"+l)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return k(e,"scroll-","scroll-snap-")+e}return e}function ne(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case p:return void(e.return=te(e.value,e.length,n));case m:return J([N(e,{value:k(e.value,"@","@"+c)})],r);case d:if(e.length)return function(e,t){return e.map(t).join("")}(n=e.props,(function(t){switch(D(t,r=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":L(N(e,{props:[k(t,/:(read-\w+)/,":"+s+"$1")]})),L(N(e,{props:[t]})),b(e,{props:A(n,r)});break;case"::placeholder":L(N(e,{props:[k(t,/:(plac\w+)/,":"+c+"input-$1")]})),L(N(e,{props:[k(t,/:(plac\w+)/,":"+s+"$1")]})),L(N(e,{props:[k(t,/:(plac\w+)/,l+"input-$1")]})),L(N(e,{props:[t]})),b(e,{props:A(n,r)})}return""}))}}function re(e){return V(ie("",null,null,null,[""],e=$(e),0,[0],e))}function ie(e,t,n,r,i,o,u,a,l){for(var s=0,c=0,f=u,d=0,p=0,h=0,m=1,g=1,v=1,b=0,x="",D=i,F=o,S=r,A=x;g;)switch(h=b,b=M()){case 40:if(108!=h&&58==C(A,f-1)){-1!=E(A+=k(Z(b),"&","&\f"),"&\f")&&(v=-1);break}case 34:case 39:case 91:A+=Z(b);break;case 9:case 10:case 13:case 32:A+=K(h);break;case 92:A+=Q(U()-1,7);continue;case 47:switch(H()){case 42:case 47:_(ue(Y(M(),U()),t,n,l),l);break;default:A+="/"}break;case 123*m:a[s++]=w(A)*v;case 125*m:case 59:case 0:switch(b){case 0:case 125:g=0;case 59+c:-1==v&&(A=k(A,/\f/g,"")),p>0&&w(A)-f&&_(p>32?ae(A+";",r,n,f-1,l):ae(k(A," ","")+";",r,n,f-2,l),l);break;case 59:A+=";";default:if(_(S=oe(A,t,n,s,c,i,a,x,D=[],F=[],f,o),o),123===b)if(0===c)ie(A,t,S,S,D,o,f,a,F);else switch(99===d&&110===C(A,3)?100:d){case 100:case 108:case 109:case 115:ie(e,S,S,r&&_(oe(e,S,S,0,0,i,a,x,i,D=[],f,F),F),i,F,f,a,r?D:F);break;default:ie(A,S,S,S,[""],F,0,a,F)}}s=c=p=0,m=v=1,x=A="",f=u;break;case 58:f=1+w(A),p=h;default:if(m<1)if(123==b)--m;else if(125==b&&0==m++&&125==z())continue;switch(A+=y(b),b*m){case 38:v=c>0?1:(A+="\f",-1);break;case 44:a[s++]=(w(A)-1)*v,v=1;break;case 64:45===H()&&(A+=Z(M())),d=H(),c=f=w(x=A+=X(U())),b++;break;case 45:45===h&&2==w(A)&&(m=0)}}return o}function oe(e,t,n,r,i,o,u,a,l,s,c,f){for(var p=i-1,h=0===i?o:[""],m=S(h),g=0,y=0,b=0;g0?h[D]+" "+E:k(E,/&\f/g,h[D])))&&(l[b++]=C);return j(e,t,n,0===i?d:a,l,s,c,f)}function ue(e,t,n,r){return j(e,t,n,f,y(B),F(e,2,-2),0,r)}function ae(e,t,n,r,i){return j(e,t,n,p,F(e,0,r),F(e,r+1,-1),r,i)}var le={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},se=n(1713),ce="undefined"!=typeof se&&void 0!=={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}&&({NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_SC_ATTR||{NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.SC_ATTR)||"data-styled",fe="undefined"!=typeof window&&"HTMLElement"in window,de=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof se&&void 0!=={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}&&void 0!=={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_SC_DISABLE_SPEEDY&&""!=={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_SC_DISABLE_SPEEDY?"false"!=={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_SC_DISABLE_SPEEDY&&{NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_SC_DISABLE_SPEEDY:"undefined"!=typeof se&&void 0!=={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}&&void 0!=={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.SC_DISABLE_SPEEDY&&""!=={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.SC_DISABLE_SPEEDY&&("false"!=={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.SC_DISABLE_SPEEDY&&{NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.SC_DISABLE_SPEEDY)),pe=(new Set,Object.freeze([])),he=Object.freeze({});function me(e,t,n){return void 0===n&&(n=he),e.theme!==n.theme&&e.theme||t||n.theme}var ge=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),ve=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,ye=/(^-|-$)/g;function be(e){return e.replace(ve,"-").replace(ye,"")}var xe=/(a)(d)/gi,De=function(e){return String.fromCharCode(e+(e>25?39:97))};function ke(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=De(t%52)+n;return(De(t%52)+n).replace(xe,"$1-$2")}var Ee,Ce=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},Fe=function(e){return Ce(5381,e)};function we(e){return ke(Fe(e)>>>0)}function Se(e){return e.displayName||e.name||"Component"}function _e(e){return"string"==typeof e&&!0}var Ae="function"==typeof Symbol&&Symbol.for,Pe=Ae?Symbol.for("react.memo"):60115,Oe=Ae?Symbol.for("react.forward_ref"):60112,Te={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},Re={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Be={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Ie=((Ee={})[Oe]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Ee[Pe]=Be,Ee);function je(e){return("type"in(t=e)&&t.type.$$typeof)===Pe?Be:"$$typeof"in e?Ie[e.$$typeof]:Te;var t}var Ne=Object.defineProperty,Le=Object.getOwnPropertyNames,ze=Object.getOwnPropertySymbols,Me=Object.getOwnPropertyDescriptor,He=Object.getPrototypeOf,Ue=Object.prototype;function We(e,t,n){if("string"!=typeof t){if(Ue){var r=He(t);r&&r!==Ue&&We(e,r,n)}var i=Le(t);ze&&(i=i.concat(ze(t)));for(var o=je(e),u=je(t),a=0;a0?" Args: ".concat(t.join(", ")):""))}var Xe=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,i=r;e>=i;)if((i<<=1)<0)throw Ye(16,"".concat(e));this.groupSizes=new Uint32Array(i),this.groupSizes.set(n),this.length=i;for(var o=r;o=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),i=r+n,o=r;o=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e0&&(l+="".concat(e,","))})),r+="".concat(u).concat(a,'{content:"').concat(l,'"}').concat("/*!sc*/\n")},o=0;o0?".".concat(t):e},c=l.slice();c.push((function(e){e.type===d&&e.value.includes("&")&&(e.props[0]=e.props[0].replace(gt,n).replace(r,s))})),u.prefix&&c.push(ne),c.push(ee);var f=function(e,i,o,a){void 0===i&&(i=""),void 0===o&&(o=""),void 0===a&&(a="&"),t=a,n=i,r=new RegExp("\\".concat(n,"\\b"),"g");var l=e.replace(vt,""),s=re(o||i?"".concat(o," ").concat(i," { ").concat(l," }"):l);u.namespace&&(s=yt(s,u.namespace));var f,d=[];return J(s,function(e){var t=S(e);return function(n,r,i,o){for(var u="",a=0;a="A"&&e<="Z"};function _t(e){for(var t="",n=0;n>>0);if(!t.hasNameForId(this.componentId,o)){var u=n(i,".".concat(o),void 0,this.componentId);t.insertRules(this.componentId,o,u)}r=Ve(r,o),this.staticRulesId=o}else{for(var a=Ce(this.baseHash,n.hash),l="",s=0;s>>0);t.hasNameForId(this.componentId,d)||t.insertRules(this.componentId,d,n(l,".".concat(d),void 0,this.componentId)),r=Ve(r,d)}}return r},e}(),It=o.createContext(void 0);It.Consumer;var jt={};new Set;function Nt(e,t,n){var i=$e(e),u=e,a=!_e(e),l=t.attrs,s=void 0===l?pe:l,c=t.componentId,f=void 0===c?function(e,t){var n="string"!=typeof e?"sc":be(e);jt[n]=(jt[n]||0)+1;var r="".concat(n,"-").concat(we("6.1.1"+n+jt[n]));return t?"".concat(t,"-").concat(r):r}(t.displayName,t.parentComponentId):c,d=t.displayName,p=void 0===d?function(e){return _e(e)?"styled.".concat(e):"Styled(".concat(Se(e),")")}(e):d,h=t.displayName&&t.componentId?"".concat(be(t.displayName),"-").concat(t.componentId):t.componentId||f,m=i&&u.attrs?u.attrs.concat(s).filter(Boolean):s,g=t.shouldForwardProp;if(i&&u.shouldForwardProp){var v=u.shouldForwardProp;if(t.shouldForwardProp){var y=t.shouldForwardProp;g=function(e,t){return v(e,t)&&y(e,t)}}else g=v}var b=new Bt(n,h,i?u.componentStyle:void 0);function x(e,t){return function(e,t,n){var i=e.attrs,u=e.componentStyle,a=e.defaultProps,l=e.foldedComponentIds,s=e.styledComponentId,c=e.target,f=o.useContext(It),d=Ct(),p=e.shouldForwardProp||d.shouldForwardProp,h=function(e,t,n){for(var i,o=r(r({},t),{className:void 0,theme:n}),u=0;u2&&mt.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)}}();function qt(e){for(var t=[],n=1;n").concat(t,"")},this.getStyleTags=function(){if(e.sealed)throw Ye(2);return e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)throw Ye(2);var n=((t={})[ce]="",t["data-styled-version"]="6.1.1",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),i=lt();return i&&(n.nonce=i),[o.createElement("style",r({},n,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new mt({isServer:!0}),this.sealed=!1}e.prototype.collectStyles=function(e){if(this.sealed)throw Ye(2);return o.createElement(Ft,{sheet:this.instance},e)},e.prototype.interleaveWithNodeStream=function(e){throw Ye(3)}})(),"__sc-".concat(ce,"__")},4845:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Affix:()=>r.Z,Alert:()=>i.Z,AutoLink:()=>o.Z,Avatar:()=>u.Z,BackTop:()=>a.Z,Badge:()=>l.Z,Breadcrumb:()=>s.Z,Button:()=>c.Z,ButtonGroup:()=>f.Z,Calendar:()=>d.Z,Card:()=>p.Z,Carousel:()=>h.Z,Cascader:()=>m.Z,Checkbox:()=>g.Z,CheckboxGroup:()=>g.c,Circle:()=>$.Cd,Col:()=>_.J,Collapse:()=>v.Z,CopyToClipboard:()=>y.Z,DateInput:()=>b.Z,DateInputRange:()=>b.x,DatePicker:()=>x.ZP,DatePickerCaption:()=>x.sl,DatePickerDay:()=>x.Ql,DatePickerMonth:()=>x.x$,DatePickerYear:()=>x.Pk,DayRect:()=>x.pq,Descriptions:()=>D.Z,Divider:()=>k.Z,Drawer:()=>E.Z,Dropdown:()=>C.Z,Empty:()=>F.Z,FileInput:()=>w.Z,Form:()=>S.Z,FormItem:()=>S.x,Icon:()=>A.Z,Input:()=>P.Z,InputNumber:()=>P.R,Layout:()=>T.ZP,LayoutContent:()=>T.bU,LayoutContext:()=>T.VY,LayoutFooter:()=>T.D4,LayoutHeader:()=>T.NC,LayoutSider:()=>T.Ju,Line:()=>$.x1,List:()=>O.Z,ListItem:()=>O.H,Loader:()=>R.Z,Menu:()=>B.ZP,MenuDivider:()=>B.R,MenuItem:()=>B.sN,Message:()=>I.Z,Modal:()=>j.Z,MonthPicker:()=>N.Z,Notify:()=>L.Z,Overlay:()=>z.Z,OverlayTrigger:()=>M.Z,Pagination:()=>H.Z,PinCode:()=>U.Z,Popover:()=>W.Z,Portal:()=>q.Z,Progress:()=>$.ZP,Radio:()=>V.Y8,RadioAbstract:()=>V.Rw,RadioButton:()=>V.EU,RadioGroup:()=>V.Ee,Rate:()=>Z.Z,Row:()=>_.X,SearchSelect:()=>K.Z,SearchTree:()=>le.Z,Select:()=>Q.Z,Slider:()=>X.Z,Split:()=>G.Z,Steps:()=>Y.Z,SubMenu:()=>B.Wd,Switch:()=>J.Z,Table:()=>ee.Z,Tabs:()=>te.Z,Tag:()=>ne.Z,Textarea:()=>re.Z,ThemeContext:()=>B.Ni,TimePicker:()=>ie.Z,TimePickerTime:()=>ie.z,Tooltip:()=>oe.Z,Transfer:()=>se.Z,Tree:()=>ue.Z,TreeChecked:()=>ae.Z,canUseDOM:()=>q.N,formatter:()=>ce.Z,getChildKeys:()=>ue.$,randomid:()=>T.SH});var r=n(7185),i=n(9079),o=n(2862),u=n(899),a=n(5375),l=n(9128),s=n(9745),c=n(3612),f=n(7002),d=n(8219),p=n(3739),h=n(9768),m=n(1010),g=n(6173),v=n(7135),y=n(9284),b=n(6782),x=n(4665),D=n(2074),k=n(1504),E=n(4712),C=n(4463),F=n(2485),w=n(9442),S=n(5179),_=n(4232),A=n(6252),P=n(6647),O=n(3871),T=n(6394),R=n(1810),B=n(4768),I=n(6704),j=n(764),N=n(4295),L=n(8118),z=n(7572),M=n(9769),H=n(8024),U=n(5186),W=n(6658),q=n(7824),$=n(8125),V=n(2266),Z=n(2717),K=n(5271),Q=n(3781),G=n(5411),Y=n(3968),X=n(9477),J=n(6505),ee=n(241),te=n(491),ne=n(8321),re=n(8981),ie=n(2190),oe=n(4245),ue=n(7941),ae=n(8043),le=n(6855),se=n(2061),ce=n(371)},3231:(e,t,n)=>{var r=n(4040);e.exports=function(e,t,n){return(t=r(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},e.exports.__esModule=!0,e.exports.default=e.exports},6027:(e,t,n)=>{var r=n(7501).default;e.exports=function(e,t){if("object"!==r(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!==r(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},4040:(e,t,n)=>{var r=n(7501).default,i=n(6027);e.exports=function(e){var t=i(e,"string");return"symbol"===r(t)?t:String(t)},e.exports.__esModule=!0,e.exports.default=e.exports},7501:e=>{function t(n){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},7791:(e,t,n)=>{"use strict";function r(e,t,n,r,i,o,u){try{var a=e[o](u),l=a.value}catch(s){return void n(s)}a.done?t(l):Promise.resolve(l).then(r,i)}function i(e){return function(){var t=this,n=arguments;return new Promise((function(i,o){var u=e.apply(t,n);function a(e){r(u,i,o,a,l,"next",e)}function l(e){r(u,i,o,a,l,"throw",e)}a(void 0)}))}}n.d(t,{Z:()=>i})},5773:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;tr})},808:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}n.d(t,{Z:()=>r})},6732:(e,t,n)=>{"use strict";function r(e,t){return t||(t=e.slice(0)),e.raw=t,e}n.d(t,{Z:()=>r})},1064:(e,t,n)=>{"use strict";function r(e){const t=[],n=String(e||"");let r=n.indexOf(","),i=0,o=!1;for(;!o;){-1===r&&(r=n.length,o=!0);const e=n.slice(i,r).trim();!e&&o||t.push(e),i=r+1,r=n.indexOf(",",i)}return t}function i(e,t){const n=t||{};return(""===e[e.length-1]?[...e,""]:e).join((n.padRight?" ":"")+","+(!1===n.padLeft?"":" ")).trim()}n.d(t,{P:()=>i,Q:()=>r})},6068:(e,t,n)=>{"use strict";n.d(t,{T:()=>i});const r=document.createElement("i");function i(e){const t="&"+e+";";r.innerHTML=t;const n=r.textContent;return(59!==n.charCodeAt(n.length-1)||"semi"===e)&&(n!==t&&n)}},8139:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});const r={}.hasOwnProperty;function i(e,t){const n="string"===typeof t&&function(e){return Boolean(e&&"object"===typeof e&&"type"in e)}(e)&&"element"===e.type&&e.properties&&r.call(e.properties,t)&&e.properties[t];return null!==n&&void 0!==n&&!1!==n}},1886:(e,t,n)=>{"use strict";function r(e){const t=e&&"element"===e.type&&e.tagName.toLowerCase()||"",n=2===t.length&&104===t.charCodeAt(0)?t.charCodeAt(1):0;return n>48&&n<55?n-48:null}n.d(t,{B:()=>r})},8020:(e,t,n)=>{"use strict";function r(e){return"children"in e?o(e):"value"in e?e.value:""}function i(e){return"text"===e.type?e.value:"children"in e?o(e):""}function o(e){let t=-1;const n=[];for(;++tr})},3203:(e,t,n)=>{"use strict";function r(e){const t=e&&"object"===typeof e&&"text"===e.type?e.value||"":e;return"string"===typeof t&&""===t.replace(/[ \t\n\f\r]/g,"")}n.d(t,{Q:()=>r})},3978:(e,t,n)=>{"use strict";n.d(t,{v:()=>c});var r=n(5077),i=n(9627);const o=/[#.]/g;var u=n(103),a=n(1064);const l=new Set(["menu","submit","reset","button"]),s={}.hasOwnProperty;function c(e,t,n){const r=n&&function(e){const t={};let n=-1;for(;++n2?c-2:0),h=2;h{"use strict";n.d(t,{h:()=>i});var r=n(9314);const i=(0,n(3978).v)(r.dy,"div")},8597:(e,t,n)=>{"use strict";n.d(t,{w:()=>o});var r=n(8911),i=n(4412);const o={tokenize:function(e,t,n){return function(t){return(0,i.xz)(t)?(0,r.f)(e,o,"linePrefix")(t):o(t)};function o(e){return null===e||(0,i.Ch)(e)?t(e):n(e)}},partial:!0}},8911:(e,t,n)=>{"use strict";n.d(t,{f:()=>i});var r=n(4412);function i(e,t,n,i){const o=i?i-1:Number.POSITIVE_INFINITY;let u=0;return function(i){if((0,r.xz)(i))return e.enter(n),a(i);return t(i)};function a(i){return(0,r.xz)(i)&&u++{"use strict";n.d(t,{jv:()=>r,H$:()=>i,n9:()=>o,Av:()=>u,pY:()=>a,AF:()=>l,sR:()=>s,Ch:()=>c,z3:()=>f,xz:()=>d,Xh:()=>p,B8:()=>h});const r=m(/[A-Za-z]/),i=m(/[\dA-Za-z]/),o=m(/[#-'*+\--9=?A-Z^-~]/);function u(e){return null!==e&&(e<32||127===e)}const a=m(/\d/),l=m(/[\dA-Fa-f]/),s=m(/[!-/:-@[-`{-~]/);function c(e){return null!==e&&e<-2}function f(e){return null!==e&&(e<0||32===e)}function d(e){return-2===e||-1===e||32===e}const p=m(/[!-\/:-@\[-`\{-~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/),h=m(/\s/);function m(e){return function(t){return null!==t&&e.test(String.fromCharCode(t))}}},7125:(e,t,n)=>{"use strict";function r(e,t,n,r){const i=e.length;let o,u=0;if(t=t<0?-t>i?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);u0?(r(e,e.length,0,t),e):t}n.d(t,{V:()=>i,d:()=>r})},4375:(e,t,n)=>{"use strict";n.d(t,{r:()=>i});var r=n(4412);function i(e){return null===e||(0,r.z3)(e)||(0,r.B8)(e)?1:(0,r.Xh)(e)?2:void 0}},2006:(e,t,n)=>{"use strict";n.d(t,{W:()=>o});var r=n(7125);const i={}.hasOwnProperty;function o(e){const t={};let n=-1;for(;++n{"use strict";function r(e,t){const n=Number.parseInt(e,t);return n<9||11===n||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||65535===(65535&n)||65534===(65535&n)||n>1114111?"\ufffd":String.fromCharCode(n)}n.d(t,{o:()=>r})},2781:(e,t,n)=>{"use strict";n.d(t,{v:()=>u});var r=n(6068),i=n(9553);const o=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function u(e){return e.replace(o,a)}function a(e,t,n){if(t)return t;if(35===n.charCodeAt(0)){const e=n.charCodeAt(1),t=120===e||88===e;return(0,i.o)(n.slice(t?2:1),t?16:10)}return(0,r.T)(n)||e}},478:(e,t,n)=>{"use strict";function r(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}n.d(t,{d:()=>r})},7900:(e,t,n)=>{"use strict";function r(e,t,n){const r=[];let i=-1;for(;++ir})},5125:(e,t,n)=>{"use strict";n.d(t,{L:()=>f});const r=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"],i={0:"\ufffd",128:"\u20ac",130:"\u201a",131:"\u0192",132:"\u201e",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02c6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017d",145:"\u2018",146:"\u2019",147:"\u201c",148:"\u201d",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02dc",153:"\u2122",154:"\u0161",155:"\u203a",156:"\u0153",158:"\u017e",159:"\u0178"};function o(e){const t="string"===typeof e?e.charCodeAt(0):e;return t>=48&&t<=57}function u(e){const t="string"===typeof e?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}function a(e){return function(e){const t="string"===typeof e?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}(e)||o(e)}var l=n(6068);const s=String.fromCharCode,c=["","Named character references must be terminated by a semicolon","Numeric character references must be terminated by a semicolon","Named character references cannot be empty","Numeric character references cannot be empty","Named character references must be known","Numeric character references cannot be disallowed","Numeric character references cannot be outside the permissible Unicode range"];function f(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n="string"===typeof t.additional?t.additional.charCodeAt(0):t.additional,f=[];let p,h,m=0,g=-1,v="";t.position&&("start"in t.position||"indent"in t.position?(h=t.position.indent,p=t.position.start):p=t.position);let y,b=(p?p.line:0)||1,x=(p?p.column:0)||1,D=E();for(m--;++m<=e.length;)if(10===y&&(x=(h?h[g]:0)||1),y=e.charCodeAt(m),38===y){const c=e.charCodeAt(m+1);if(9===c||10===c||12===c||32===c||38===c||60===c||Number.isNaN(c)||n&&c===n){v+=s(y),x++;continue}const p=m+1;let h,g=p,b=p;if(35===c){b=++g;const t=e.charCodeAt(b);88===t||120===t?(h="hexadecimal",b=++g):h="decimal"}else h="named";let w="",S="",_="";const A="named"===h?a:"decimal"===h?o:u;for(b--;++b<=e.length;){const t=e.charCodeAt(b);if(!A(t))break;_+=s(t),"named"===h&&r.includes(_)&&(w=_,S=(0,l.T)(_))}let P=59===e.charCodeAt(b);if(P){b++;const e="named"===h&&(0,l.T)(_);e&&(w=_,S=e)}let O=1+b-p,T="";if(P||!1!==t.nonTerminated)if(_)if("named"===h){if(P&&!S)C(5,1);else if(w!==_&&(b=g+w.length,O=1+b-g,P=!1),!P){const n=w?1:3;if(t.attribute){const t=e.charCodeAt(b);61===t?(C(n,O),S=""):a(t)?S="":C(n,O)}else C(n,O)}T=S}else{P||C(2,O);let e=Number.parseInt(_,"hexadecimal"===h?16:10);if((k=e)>=55296&&k<=57343||k>1114111)C(7,O),T=s(65533);else if(e in i)C(6,O),T=i[e];else{let t="";d(e)&&C(6,O),e>65535&&(e-=65536,t+=s(e>>>10|55296),e=56320|1023&e),T=t+s(e)}}else"named"!==h&&C(4,O);else;if(T){F(),D=E(),m=b-1,x+=b-p+1,f.push(T);const n=E();n.offset++,t.reference&&t.reference.call(t.referenceContext,T,{start:D,end:n},e.slice(p-1,b)),D=n}else _=e.slice(p-1,b),v+=_,x+=_.length,m=b-1}else 10===y&&(b++,g++,x=0),Number.isNaN(y)?F():(v+=s(y),x++);var k;return f.join("");function E(){return{line:b,column:x,offset:m+((p?p.offset:0)||0)}}function C(e,n){let r;t.warning&&(r=E(),r.column+=n,r.offset+=n,t.warning.call(t.warningContext,c[e],r,e))}function F(){v&&(f.push(v),t.text&&t.text.call(t.textContext,v,{start:D,end:E()}),v="")}}function d(e){return e>=1&&e<=8||11===e||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||65535===(65535&e)||65534===(65535&e)}},9314:(e,t,n)=>{"use strict";n.d(t,{dy:()=>y,YP:()=>b});class r{constructor(e,t,n){this.property=e,this.normal=t,n&&(this.space=n)}}function i(e,t){const n={},i={};let o=-1;for(;++o"xlink:"+t.slice(5).toLowerCase(),properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}}),c=l({space:"xml",transform:(e,t)=>"xml:"+t.slice(3).toLowerCase(),properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function f(e,t){return t in e?e[t]:t}function d(e,t){return f(e,t.toLowerCase())}const p=l({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:d,properties:{xmlns:null,xmlnsXLink:null}});var h=n(7365);const m=l({transform:(e,t)=>"role"===t?t:"aria-"+t.slice(4).toLowerCase(),properties:{ariaActiveDescendant:null,ariaAtomic:h.booleanish,ariaAutoComplete:null,ariaBusy:h.booleanish,ariaChecked:h.booleanish,ariaColCount:h.number,ariaColIndex:h.number,ariaColSpan:h.number,ariaControls:h.spaceSeparated,ariaCurrent:null,ariaDescribedBy:h.spaceSeparated,ariaDetails:null,ariaDisabled:h.booleanish,ariaDropEffect:h.spaceSeparated,ariaErrorMessage:null,ariaExpanded:h.booleanish,ariaFlowTo:h.spaceSeparated,ariaGrabbed:h.booleanish,ariaHasPopup:null,ariaHidden:h.booleanish,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:h.spaceSeparated,ariaLevel:h.number,ariaLive:null,ariaModal:h.booleanish,ariaMultiLine:h.booleanish,ariaMultiSelectable:h.booleanish,ariaOrientation:null,ariaOwns:h.spaceSeparated,ariaPlaceholder:null,ariaPosInSet:h.number,ariaPressed:h.booleanish,ariaReadOnly:h.booleanish,ariaRelevant:null,ariaRequired:h.booleanish,ariaRoleDescription:h.spaceSeparated,ariaRowCount:h.number,ariaRowIndex:h.number,ariaRowSpan:h.number,ariaSelected:h.booleanish,ariaSetSize:h.number,ariaSort:null,ariaValueMax:h.number,ariaValueMin:h.number,ariaValueNow:h.number,ariaValueText:null,role:null}}),g=l({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:d,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:h.commaSeparated,acceptCharset:h.spaceSeparated,accessKey:h.spaceSeparated,action:null,allow:null,allowFullScreen:h.boolean,allowPaymentRequest:h.boolean,allowUserMedia:h.boolean,alt:null,as:null,async:h.boolean,autoCapitalize:null,autoComplete:h.spaceSeparated,autoFocus:h.boolean,autoPlay:h.boolean,blocking:h.spaceSeparated,capture:h.boolean,charSet:null,checked:h.boolean,cite:null,className:h.spaceSeparated,cols:h.number,colSpan:null,content:null,contentEditable:h.booleanish,controls:h.boolean,controlsList:h.spaceSeparated,coords:h.number|h.commaSeparated,crossOrigin:null,data:null,dateTime:null,decoding:null,default:h.boolean,defer:h.boolean,dir:null,dirName:null,disabled:h.boolean,download:h.overloadedBoolean,draggable:h.booleanish,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:h.boolean,formTarget:null,headers:h.spaceSeparated,height:h.number,hidden:h.boolean,high:h.number,href:null,hrefLang:null,htmlFor:h.spaceSeparated,httpEquiv:h.spaceSeparated,id:null,imageSizes:null,imageSrcSet:null,inert:h.boolean,inputMode:null,integrity:null,is:null,isMap:h.boolean,itemId:null,itemProp:h.spaceSeparated,itemRef:h.spaceSeparated,itemScope:h.boolean,itemType:h.spaceSeparated,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:h.boolean,low:h.number,manifest:null,max:null,maxLength:h.number,media:null,method:null,min:null,minLength:h.number,multiple:h.boolean,muted:h.boolean,name:null,nonce:null,noModule:h.boolean,noValidate:h.boolean,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:h.boolean,optimum:h.number,pattern:null,ping:h.spaceSeparated,placeholder:null,playsInline:h.boolean,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:h.boolean,referrerPolicy:null,rel:h.spaceSeparated,required:h.boolean,reversed:h.boolean,rows:h.number,rowSpan:h.number,sandbox:h.spaceSeparated,scope:null,scoped:h.boolean,seamless:h.boolean,selected:h.boolean,shadowRootDelegatesFocus:h.boolean,shadowRootMode:null,shape:null,size:h.number,sizes:null,slot:null,span:h.number,spellCheck:h.booleanish,src:null,srcDoc:null,srcLang:null,srcSet:null,start:h.number,step:null,style:null,tabIndex:h.number,target:null,title:null,translate:null,type:null,typeMustMatch:h.boolean,useMap:null,value:h.booleanish,width:h.number,wrap:null,align:null,aLink:null,archive:h.spaceSeparated,axis:null,background:null,bgColor:null,border:h.number,borderColor:null,bottomMargin:h.number,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:h.boolean,declare:h.boolean,event:null,face:null,frame:null,frameBorder:null,hSpace:h.number,leftMargin:h.number,link:null,longDesc:null,lowSrc:null,marginHeight:h.number,marginWidth:h.number,noResize:h.boolean,noHref:h.boolean,noShade:h.boolean,noWrap:h.boolean,object:null,profile:null,prompt:null,rev:null,rightMargin:h.number,rules:null,scheme:null,scrolling:h.booleanish,standby:null,summary:null,text:null,topMargin:h.number,valueType:null,version:null,vAlign:null,vLink:null,vSpace:h.number,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:h.boolean,disableRemotePlayback:h.boolean,prefix:null,property:null,results:h.number,security:null,unselectable:null}}),v=l({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:f,properties:{about:h.commaOrSpaceSeparated,accentHeight:h.number,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:h.number,amplitude:h.number,arabicForm:null,ascent:h.number,attributeName:null,attributeType:null,azimuth:h.number,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:h.number,by:null,calcMode:null,capHeight:h.number,className:h.spaceSeparated,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:h.number,diffuseConstant:h.number,direction:null,display:null,dur:null,divisor:h.number,dominantBaseline:null,download:h.boolean,dx:null,dy:null,edgeMode:null,editable:null,elevation:h.number,enableBackground:null,end:null,event:null,exponent:h.number,externalResourcesRequired:null,fill:null,fillOpacity:h.number,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:h.commaSeparated,g2:h.commaSeparated,glyphName:h.commaSeparated,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:h.number,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:h.number,horizOriginX:h.number,horizOriginY:h.number,id:null,ideographic:h.number,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:h.number,k:h.number,k1:h.number,k2:h.number,k3:h.number,k4:h.number,kernelMatrix:h.commaOrSpaceSeparated,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:h.number,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:h.number,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:h.number,overlineThickness:h.number,paintOrder:null,panose1:null,path:null,pathLength:h.number,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:h.spaceSeparated,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:h.number,pointsAtY:h.number,pointsAtZ:h.number,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:h.commaOrSpaceSeparated,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:h.commaOrSpaceSeparated,rev:h.commaOrSpaceSeparated,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:h.commaOrSpaceSeparated,requiredFeatures:h.commaOrSpaceSeparated,requiredFonts:h.commaOrSpaceSeparated,requiredFormats:h.commaOrSpaceSeparated,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:h.number,specularExponent:h.number,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:h.number,strikethroughThickness:h.number,string:null,stroke:null,strokeDashArray:h.commaOrSpaceSeparated,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:h.number,strokeOpacity:h.number,strokeWidth:null,style:null,surfaceScale:h.number,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:h.commaOrSpaceSeparated,tabIndex:h.number,tableValues:null,target:null,targetX:h.number,targetY:h.number,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:h.commaOrSpaceSeparated,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:h.number,underlineThickness:h.number,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:h.number,values:null,vAlphabetic:h.number,vMathematical:h.number,vectorEffect:null,vHanging:h.number,vIdeographic:h.number,version:null,vertAdvY:h.number,vertOriginX:h.number,vertOriginY:h.number,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:h.number,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}}),y=i([c,s,p,m,g],"html"),b=i([c,s,p,m,v],"svg")},5077:(e,t,n)=>{"use strict";n.d(t,{s:()=>s});var r=n(9627),i=n(8871),o=n(6524);const u=/^data[-\w.:]+$/i,a=/-[a-z]/g,l=/[A-Z]/g;function s(e,t){const n=(0,r.F)(t);let s=t,d=o.k;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&"data"===n.slice(0,4)&&u.test(t)){if("-"===t.charAt(4)){const e=t.slice(5).replace(a,f);s="data"+e.charAt(0).toUpperCase()+e.slice(1)}else{const e=t.slice(4);if(!a.test(e)){let n=e.replace(l,c);"-"!==n.charAt(0)&&(n="-"+n),t="data"+n}}d=i.I}return new d(s,t)}function c(e){return"-"+e.toLowerCase()}function f(e){return e.charAt(1).toUpperCase()}},9627:(e,t,n)=>{"use strict";function r(e){return e.toLowerCase()}n.d(t,{F:()=>r})},8871:(e,t,n)=>{"use strict";n.d(t,{I:()=>u});var r=n(6524),i=n(7365);const o=Object.keys(i);class u extends r.k{constructor(e,t,n,r){let u=-1;if(super(e,t),a(this,"space",r),"number"===typeof n)for(;++u{"use strict";n.d(t,{k:()=>r});class r{constructor(e,t){this.property=e,this.attribute=t}}r.prototype.space=null,r.prototype.boolean=!1,r.prototype.booleanish=!1,r.prototype.overloadedBoolean=!1,r.prototype.number=!1,r.prototype.commaSeparated=!1,r.prototype.spaceSeparated=!1,r.prototype.commaOrSpaceSeparated=!1,r.prototype.mustUseProperty=!1,r.prototype.defined=!1},7365:(e,t,n)=>{"use strict";n.r(t),n.d(t,{boolean:()=>i,booleanish:()=>o,commaOrSpaceSeparated:()=>c,commaSeparated:()=>s,number:()=>a,overloadedBoolean:()=>u,spaceSeparated:()=>l});let r=0;const i=f(),o=f(),u=f(),a=f(),l=f(),s=f(),c=f();function f(){return 2**++r}},3607:(e,t,n)=>{"use strict";n.d(t,{D:()=>en});var r={};n.r(r),n.d(r,{attentionMarkers:()=>Ye,contentInitial:()=>$e,disable:()=>Xe,document:()=>qe,flow:()=>Ze,flowInitial:()=>Ve,insideSpan:()=>Ge,string:()=>Ke,text:()=>Qe});var i=n(8573),o=n(1046);function u(e){return e&&"object"===typeof e?"position"in e||"type"in e?l(e.position):"start"in e||"end"in e?l(e):"line"in e||"column"in e?a(e):"":""}function a(e){return s(e&&e.line)+":"+s(e&&e.column)}function l(e){return a(e&&e.start)+"-"+a(e&&e.end)}function s(e){return e&&"number"===typeof e?e:1}class c extends Error{constructor(e,t,n){const r=[null,null];let i={start:{line:null,column:null},end:{line:null,column:null}};if(super(),"string"===typeof t&&(n=t,t=void 0),"string"===typeof n){const e=n.indexOf(":");-1===e?r[1]=n:(r[0]=n.slice(0,e),r[1]=n.slice(e+1))}t&&("type"in t||"position"in t?t.position&&(i=t.position):"start"in t||"end"in t?i=t:("line"in t||"column"in t)&&(i.start=t)),this.name=u(t)||"1:1",this.message="object"===typeof e?e.message:e,this.stack="","object"===typeof e&&e.stack&&(this.stack=e.stack),this.reason=this.message,this.fatal,this.line=i.start.line,this.column=i.start.column,this.position=i,this.source=r[0],this.ruleId=r[1],this.file,this.actual,this.expected,this.url,this.note}}c.prototype.file="",c.prototype.name="",c.prototype.reason="",c.prototype.message="",c.prototype.stack="",c.prototype.fatal=null,c.prototype.column=null,c.prototype.line=null,c.prototype.source=null,c.prototype.ruleId=null,c.prototype.position=null;const f={basename:function(e,t){if(void 0!==t&&"string"!==typeof t)throw new TypeError('"ext" argument must be a string');d(e);let n,r=0,i=-1,o=e.length;if(void 0===t||0===t.length||t.length>e.length){for(;o--;)if(47===e.charCodeAt(o)){if(n){r=o+1;break}}else i<0&&(n=!0,i=o+1);return i<0?"":e.slice(r,i)}if(t===e)return"";let u=-1,a=t.length-1;for(;o--;)if(47===e.charCodeAt(o)){if(n){r=o+1;break}}else u<0&&(n=!0,u=o+1),a>-1&&(e.charCodeAt(o)===t.charCodeAt(a--)?a<0&&(i=o):(a=-1,i=u));r===i?i=u:i<0&&(i=e.length);return e.slice(r,i)},dirname:function(e){if(d(e),0===e.length)return".";let t,n=-1,r=e.length;for(;--r;)if(47===e.charCodeAt(r)){if(t){n=r;break}}else t||(t=!0);return n<0?47===e.charCodeAt(0)?"/":".":1===n&&47===e.charCodeAt(0)?"//":e.slice(0,n)},extname:function(e){d(e);let t,n=e.length,r=-1,i=0,o=-1,u=0;for(;n--;){const a=e.charCodeAt(n);if(47!==a)r<0&&(t=!0,r=n+1),46===a?o<0?o=n:1!==u&&(u=1):o>-1&&(u=-1);else if(t){i=n+1;break}}if(o<0||r<0||0===u||1===u&&o===r-1&&o===i+1)return"";return e.slice(o,r)},join:function(){let e,t=-1;for(var n=arguments.length,r=new Array(n),i=0;i2){if(r=i.lastIndexOf("/"),r!==i.length-1){r<0?(i="",o=0):(i=i.slice(0,r),o=i.length-1-i.lastIndexOf("/")),u=l,a=0;continue}}else if(i.length>0){i="",o=0,u=l,a=0;continue}t&&(i=i.length>0?i+"/..":"..",o=2)}else i.length>0?i+="/"+e.slice(u+1,l):i=e.slice(u+1,l),o=l-u-1;u=l,a=0}else 46===n&&a>-1?a++:a=-1}return i}(e,!t);0!==n.length||t||(n=".");n.length>0&&47===e.charCodeAt(e.length-1)&&(n+="/");return t?"/"+n:n}(e)},sep:"/"};function d(e){if("string"!==typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const p={cwd:function(){return"/"}};function h(e){return null!==e&&"object"===typeof e&&e.href&&e.origin}function m(e){if("string"===typeof e)e=new URL(e);else if(!h(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if("file:"!==e.protocol){const e=new TypeError("The URL must be of scheme file");throw e.code="ERR_INVALID_URL_SCHEME",e}return function(e){if(""!==e.hostname){const e=new TypeError('File URL host must be "localhost" or empty on darwin');throw e.code="ERR_INVALID_FILE_URL_HOST",e}const t=e.pathname;let n=-1;for(;++n1?l-1:0),c=1;ci.length;let s;l&&i.push(o);try{s=e.apply(this,i)}catch(r){if(l&&n)throw r;return o(r)}l||(s instanceof Promise?s.then(u,o):s instanceof Error?o(s):u(s))}function o(e){if(!n){n=!0;for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o1?t-1:0),u=1;u{if(!e&&t&&n){const i=a.stringify(t,n);void 0===i||null===i||("string"===typeof(r=i)||o(r)?n.value=i:n.result=i),u(e,n)}else u(e);var r}))}n(null,t)},a.processSync=function(e){let t;a.freeze(),_("processSync",a.Parser),A("processSync",a.Compiler);const n=R(e);return a.process(n,r),T("processSync","process",t),n;function r(e){t=!0,D(e)}},a;function a(){const t=e();let r=-1;for(;++ro))return;const n=t.events.length;let i,a,l=n;for(;l--;)if("exit"===t.events[l][0]&&"chunkFlow"===t.events[l][1].type){if(i){a=t.events[l][1].end;break}i=!0}for(v(u),e=n;er;){const r=n[i];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function y(){r.write([null]),i=void 0,r=void 0,t.containerState._closeFlow=void 0}}},W={tokenize:function(e,t,n){return(0,L.f)(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}};var q=n(8597);function $(e){const t={};let n,r,i,o,u,a,l,s=-1;for(;++s=4?t(i):e.interrupt(r.parser.constructs.flow,n,t)(i)}},partial:!0};const Q={tokenize:function(e){const t=this,n=e.attempt(q.w,(function(r){if(null===r)return void e.consume(r);return e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}),e.attempt(this.parser.constructs.flowInitial,r,(0,L.f)(e,e.attempt(this.parser.constructs.flow,r,e.attempt(Z,r)),"linePrefix")));return n;function r(r){if(null!==r)return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t.currentConstruct=void 0,n;e.consume(r)}}};const G={resolveAll:ee()},Y=J("string"),X=J("text");function J(e){return{tokenize:function(t){const n=this,r=this.parser.constructs[e],i=t.attempt(r,o,u);return o;function o(e){return l(e)?i(e):u(e)}function u(e){if(null!==e)return t.enter("data"),t.consume(e),a;t.consume(e)}function a(e){return l(e)?(t.exit("data"),i(e)):(t.consume(e),a)}function l(e){if(null===e)return!0;const t=r[e];let i=-1;if(t)for(;++i-1){const e=u[0];"string"===typeof e?u[0]=e.slice(r):u.shift()}o>0&&u.push(e[i].slice(0,o))}return u}(u,e)}function h(){const{line:e,column:t,offset:n,_index:i,_bufferIndex:o}=r;return{line:e,column:t,offset:n,_index:i,_bufferIndex:o}}function m(){let e;for(;r._index=3&&(null===o||(0,z.Ch)(o))?(e.exit("thematicBreak"),t(o)):n(o)}function u(t){return t===r?(e.consume(t),i++,u):(e.exit("thematicBreakSequence"),(0,z.xz)(t)?(0,L.f)(e,o,"whitespace")(t):o(t))}}};const oe={name:"list",tokenize:function(e,t,n){const r=this,i=r.events[r.events.length-1];let o=i&&"linePrefix"===i[1].type?i[2].sliceSerialize(i[1],!0).length:0,u=0;return function(t){const i=r.containerState.type||(42===t||43===t||45===t?"listUnordered":"listOrdered");if("listUnordered"===i?!r.containerState.marker||t===r.containerState.marker:(0,z.pY)(t)){if(r.containerState.type||(r.containerState.type=i,e.enter(i,{_container:!0})),"listUnordered"===i)return e.enter("listItemPrefix"),42===t||45===t?e.check(ie,n,l)(t):l(t);if(!r.interrupt||49===t)return e.enter("listItemPrefix"),e.enter("listItemValue"),a(t)}return n(t)};function a(t){return(0,z.pY)(t)&&++u<10?(e.consume(t),a):(!r.interrupt||u<2)&&(r.containerState.marker?t===r.containerState.marker:41===t||46===t)?(e.exit("listItemValue"),l(t)):n(t)}function l(t){return e.enter("listItemMarker"),e.consume(t),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||t,e.check(q.w,r.interrupt?n:s,e.attempt(ue,f,c))}function s(e){return r.containerState.initialBlankLine=!0,o++,f(e)}function c(t){return(0,z.xz)(t)?(e.enter("listItemPrefixWhitespace"),e.consume(t),e.exit("listItemPrefixWhitespace"),f):n(t)}function f(n){return r.containerState.size=o+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(n)}},continuation:{tokenize:function(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(q.w,(function(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,(0,L.f)(e,t,"listItemIndent",r.containerState.size+1)(n)}),(function(n){if(r.containerState.furtherBlankLines||!(0,z.xz)(n))return r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,i(n);return r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(ae,t,i)(n)}));function i(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,(0,L.f)(e,e.attempt(oe,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(i)}}},exit:function(e){e.exit(this.containerState.type)}},ue={tokenize:function(e,t,n){const r=this;return(0,L.f)(e,(function(e){const i=r.events[r.events.length-1];return!(0,z.xz)(e)&&i&&"listItemPrefixWhitespace"===i[1].type?t(e):n(e)}),"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5)},partial:!0},ae={tokenize:function(e,t,n){const r=this;return(0,L.f)(e,(function(e){const i=r.events[r.events.length-1];return i&&"listItemIndent"===i[1].type&&i[2].sliceSerialize(i[1],!0).length===r.containerState.size?t(e):n(e)}),"listItemIndent",r.containerState.size+1)},partial:!0};const le={name:"blockQuote",tokenize:function(e,t,n){const r=this;return function(t){if(62===t){const n=r.containerState;return n.open||(e.enter("blockQuote",{_container:!0}),n.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(t),e.exit("blockQuoteMarker"),i}return n(t)};function i(n){return(0,z.xz)(n)?(e.enter("blockQuotePrefixWhitespace"),e.consume(n),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(n))}},continuation:{tokenize:function(e,t,n){const r=this;return function(t){if((0,z.xz)(t))return(0,L.f)(e,i,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t);return i(t)};function i(r){return e.attempt(le,t,n)(r)}}},exit:function(e){e.exit("blockQuote")}};function se(e,t,n,r,i,o,u,a,l){const s=l||Number.POSITIVE_INFINITY;let c=0;return function(t){if(60===t)return e.enter(r),e.enter(i),e.enter(o),e.consume(t),e.exit(o),f;if(null===t||32===t||41===t||(0,z.Av)(t))return n(t);return e.enter(r),e.enter(u),e.enter(a),e.enter("chunkString",{contentType:"string"}),h(t)};function f(n){return 62===n?(e.enter(o),e.consume(n),e.exit(o),e.exit(i),e.exit(r),t):(e.enter(a),e.enter("chunkString",{contentType:"string"}),d(n))}function d(t){return 62===t?(e.exit("chunkString"),e.exit(a),f(t)):null===t||60===t||(0,z.Ch)(t)?n(t):(e.consume(t),92===t?p:d)}function p(t){return 60===t||62===t||92===t?(e.consume(t),d):d(t)}function h(i){return c||null!==i&&41!==i&&!(0,z.z3)(i)?c999||null===f||91===f||93===f&&!a||94===f&&!l&&"_hiddenFootnoteSupport"in u.parser.constructs?n(f):93===f?(e.exit(o),e.enter(i),e.consume(f),e.exit(i),e.exit(r),t):(0,z.Ch)(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),s):(e.enter("chunkString",{contentType:"string"}),c(f))}function c(t){return null===t||91===t||93===t||(0,z.Ch)(t)||l++>999?(e.exit("chunkString"),s(t)):(e.consume(t),a||(a=!(0,z.xz)(t)),92===t?f:c)}function f(t){return 91===t||92===t||93===t?(e.consume(t),l++,c):c(t)}}function fe(e,t,n,r,i,o){let u;return function(t){if(34===t||39===t||40===t)return e.enter(r),e.enter(i),e.consume(t),e.exit(i),u=40===t?41:t,a;return n(t)};function a(n){return n===u?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),t):(e.enter(o),l(n))}function l(t){return t===u?(e.exit(o),a(u)):null===t?n(t):(0,z.Ch)(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),(0,L.f)(e,l,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),s(t))}function s(t){return t===u||null===t||(0,z.Ch)(t)?(e.exit("chunkString"),l(t)):(e.consume(t),92===t?c:s)}function c(t){return t===u||92===t?(e.consume(t),s):s(t)}}function de(e,t){let n;return function r(i){if((0,z.Ch)(i))return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r;if((0,z.xz)(i))return(0,L.f)(e,r,n?"linePrefix":"lineSuffix")(i);return t(i)}}var pe=n(478);const he={name:"definition",tokenize:function(e,t,n){const r=this;let i;return function(t){return e.enter("definition"),function(t){return ce.call(r,e,o,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(t)}(t)};function o(t){return i=(0,pe.d)(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),u):n(t)}function u(t){return(0,z.z3)(t)?de(e,a)(t):a(t)}function a(t){return se(e,l,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(t)}function l(t){return e.attempt(me,s,s)(t)}function s(t){return(0,z.xz)(t)?(0,L.f)(e,c,"whitespace")(t):c(t)}function c(o){return null===o||(0,z.Ch)(o)?(e.exit("definition"),r.parser.defined.push(i),t(o)):n(o)}}},me={tokenize:function(e,t,n){return function(t){return(0,z.z3)(t)?de(e,r)(t):n(t)};function r(t){return fe(e,i,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(t)}function i(t){return(0,z.xz)(t)?(0,L.f)(e,o,"whitespace")(t):o(t)}function o(e){return null===e||(0,z.Ch)(e)?t(e):n(e)}},partial:!0};const ge={name:"codeIndented",tokenize:function(e,t,n){const r=this;return function(t){return e.enter("codeIndented"),(0,L.f)(e,i,"linePrefix",5)(t)};function i(e){const t=r.events[r.events.length-1];return t&&"linePrefix"===t[1].type&&t[2].sliceSerialize(t[1],!0).length>=4?o(e):n(e)}function o(t){return null===t?a(t):(0,z.Ch)(t)?e.attempt(ve,o,a)(t):(e.enter("codeFlowValue"),u(t))}function u(t){return null===t||(0,z.Ch)(t)?(e.exit("codeFlowValue"),o(t)):(e.consume(t),u)}function a(n){return e.exit("codeIndented"),t(n)}}},ve={tokenize:function(e,t,n){const r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):(0,z.Ch)(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),i):(0,L.f)(e,o,"linePrefix",5)(t)}function o(e){const o=r.events[r.events.length-1];return o&&"linePrefix"===o[1].type&&o[2].sliceSerialize(o[1],!0).length>=4?t(e):(0,z.Ch)(e)?i(e):n(e)}},partial:!0};const ye={name:"headingAtx",tokenize:function(e,t,n){let r=0;return function(t){return e.enter("atxHeading"),function(t){return e.enter("atxHeadingSequence"),i(t)}(t)};function i(t){return 35===t&&r++<6?(e.consume(t),i):null===t||(0,z.z3)(t)?(e.exit("atxHeadingSequence"),o(t)):n(t)}function o(n){return 35===n?(e.enter("atxHeadingSequence"),u(n)):null===n||(0,z.Ch)(n)?(e.exit("atxHeading"),t(n)):(0,z.xz)(n)?(0,L.f)(e,o,"whitespace")(n):(e.enter("atxHeadingText"),a(n))}function u(t){return 35===t?(e.consume(t),u):(e.exit("atxHeadingSequence"),o(t))}function a(t){return null===t||35===t||(0,z.z3)(t)?(e.exit("atxHeadingText"),o(t)):(e.consume(t),a)}},resolve:function(e,t){let n,r,i=e.length-2,o=3;"whitespace"===e[o][1].type&&(o+=2);i-2>o&&"whitespace"===e[i][1].type&&(i-=2);"atxHeadingSequence"===e[i][1].type&&(o===i-1||i-4>o&&"whitespace"===e[i-2][1].type)&&(i-=o+1===i?2:4);i>o&&(n={type:"atxHeadingText",start:e[o][1].start,end:e[i][1].end},r={type:"chunkText",start:e[o][1].start,end:e[i][1].end,contentType:"text"},(0,H.d)(e,o,i-o+1,[["enter",n,t],["enter",r,t],["exit",r,t],["exit",n,t]]));return e}};const be={name:"setextUnderline",tokenize:function(e,t,n){const r=this;let i;return function(t){let u,a=r.events.length;for(;a--;)if("lineEnding"!==r.events[a][1].type&&"linePrefix"!==r.events[a][1].type&&"content"!==r.events[a][1].type){u="paragraph"===r.events[a][1].type;break}if(!r.parser.lazy[r.now().line]&&(r.interrupt||u))return e.enter("setextHeadingLine"),i=t,function(t){return e.enter("setextHeadingLineSequence"),o(t)}(t);return n(t)};function o(t){return t===i?(e.consume(t),o):(e.exit("setextHeadingLineSequence"),(0,z.xz)(t)?(0,L.f)(e,u,"lineSuffix")(t):u(t))}function u(r){return null===r||(0,z.Ch)(r)?(e.exit("setextHeadingLine"),t(r)):n(r)}},resolveTo:function(e,t){let n,r,i,o=e.length;for(;o--;)if("enter"===e[o][0]){if("content"===e[o][1].type){n=o;break}"paragraph"===e[o][1].type&&(r=o)}else"content"===e[o][1].type&&e.splice(o,1),i||"definition"!==e[o][1].type||(i=o);const u={type:"setextHeading",start:Object.assign({},e[r][1].start),end:Object.assign({},e[e.length-1][1].end)};e[r][1].type="setextHeadingText",i?(e.splice(r,0,["enter",u,t]),e.splice(i+1,0,["exit",e[n][1],t]),e[n][1].end=Object.assign({},e[i][1].end)):e[n][1]=u;return e.push(["exit",u,t]),e}};const xe=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],De=["pre","script","style","textarea"],ke={name:"htmlFlow",tokenize:function(e,t,n){const r=this;let i,o,u,a,l;return function(t){return function(t){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(t),s}(t)};function s(a){return 33===a?(e.consume(a),c):47===a?(e.consume(a),o=!0,p):63===a?(e.consume(a),i=3,r.interrupt?t:B):(0,z.jv)(a)?(e.consume(a),u=String.fromCharCode(a),h):n(a)}function c(o){return 45===o?(e.consume(o),i=2,f):91===o?(e.consume(o),i=5,a=0,d):(0,z.jv)(o)?(e.consume(o),i=4,r.interrupt?t:B):n(o)}function f(i){return 45===i?(e.consume(i),r.interrupt?t:B):n(i)}function d(i){const o="CDATA[";return i===o.charCodeAt(a++)?(e.consume(i),6===a?r.interrupt?t:w:d):n(i)}function p(t){return(0,z.jv)(t)?(e.consume(t),u=String.fromCharCode(t),h):n(t)}function h(a){if(null===a||47===a||62===a||(0,z.z3)(a)){const l=47===a,s=u.toLowerCase();return l||o||!De.includes(s)?xe.includes(u.toLowerCase())?(i=6,l?(e.consume(a),m):r.interrupt?t(a):w(a)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(a):o?g(a):v(a)):(i=1,r.interrupt?t(a):w(a))}return 45===a||(0,z.H$)(a)?(e.consume(a),u+=String.fromCharCode(a),h):n(a)}function m(i){return 62===i?(e.consume(i),r.interrupt?t:w):n(i)}function g(t){return(0,z.xz)(t)?(e.consume(t),g):C(t)}function v(t){return 47===t?(e.consume(t),C):58===t||95===t||(0,z.jv)(t)?(e.consume(t),y):(0,z.xz)(t)?(e.consume(t),v):C(t)}function y(t){return 45===t||46===t||58===t||95===t||(0,z.H$)(t)?(e.consume(t),y):b(t)}function b(t){return 61===t?(e.consume(t),x):(0,z.xz)(t)?(e.consume(t),b):v(t)}function x(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),l=t,D):(0,z.xz)(t)?(e.consume(t),x):k(t)}function D(t){return t===l?(e.consume(t),l=null,E):null===t||(0,z.Ch)(t)?n(t):(e.consume(t),D)}function k(t){return null===t||34===t||39===t||47===t||60===t||61===t||62===t||96===t||(0,z.z3)(t)?b(t):(e.consume(t),k)}function E(e){return 47===e||62===e||(0,z.xz)(e)?v(e):n(e)}function C(t){return 62===t?(e.consume(t),F):n(t)}function F(t){return null===t||(0,z.Ch)(t)?w(t):(0,z.xz)(t)?(e.consume(t),F):n(t)}function w(t){return 45===t&&2===i?(e.consume(t),P):60===t&&1===i?(e.consume(t),O):62===t&&4===i?(e.consume(t),I):63===t&&3===i?(e.consume(t),B):93===t&&5===i?(e.consume(t),R):!(0,z.Ch)(t)||6!==i&&7!==i?null===t||(0,z.Ch)(t)?(e.exit("htmlFlowData"),S(t)):(e.consume(t),w):(e.exit("htmlFlowData"),e.check(Ee,j,S)(t))}function S(t){return e.check(Ce,_,j)(t)}function _(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),A}function A(t){return null===t||(0,z.Ch)(t)?S(t):(e.enter("htmlFlowData"),w(t))}function P(t){return 45===t?(e.consume(t),B):w(t)}function O(t){return 47===t?(e.consume(t),u="",T):w(t)}function T(t){if(62===t){const n=u.toLowerCase();return De.includes(n)?(e.consume(t),I):w(t)}return(0,z.jv)(t)&&u.length<8?(e.consume(t),u+=String.fromCharCode(t),T):w(t)}function R(t){return 93===t?(e.consume(t),B):w(t)}function B(t){return 62===t?(e.consume(t),I):45===t&&2===i?(e.consume(t),B):w(t)}function I(t){return null===t||(0,z.Ch)(t)?(e.exit("htmlFlowData"),j(t)):(e.consume(t),I)}function j(n){return e.exit("htmlFlow"),t(n)}},resolveTo:function(e){let t=e.length;for(;t--&&("enter"!==e[t][0]||"htmlFlow"!==e[t][1].type););t>1&&"linePrefix"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2));return e},concrete:!0},Ee={tokenize:function(e,t,n){return function(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),e.attempt(q.w,t,n)}},partial:!0},Ce={tokenize:function(e,t,n){const r=this;return function(t){if((0,z.Ch)(t))return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),i;return n(t)};function i(e){return r.parser.lazy[r.now().line]?n(e):t(e)}},partial:!0};const Fe={tokenize:function(e,t,n){const r=this;return function(t){if(null===t)return n(t);return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),i};function i(e){return r.parser.lazy[r.now().line]?n(e):t(e)}},partial:!0},we={name:"codeFenced",tokenize:function(e,t,n){const r=this,i={tokenize:function(e,t,n){let i=0;return u;function u(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),l}function l(t){return e.enter("codeFencedFence"),(0,z.xz)(t)?(0,L.f)(e,s,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):s(t)}function s(t){return t===o?(e.enter("codeFencedFenceSequence"),c(t)):n(t)}function c(t){return t===o?(i++,e.consume(t),c):i>=a?(e.exit("codeFencedFenceSequence"),(0,z.xz)(t)?(0,L.f)(e,f,"whitespace")(t):f(t)):n(t)}function f(r){return null===r||(0,z.Ch)(r)?(e.exit("codeFencedFence"),t(r)):n(r)}},partial:!0};let o,u=0,a=0;return function(t){return function(t){const n=r.events[r.events.length-1];return u=n&&"linePrefix"===n[1].type?n[2].sliceSerialize(n[1],!0).length:0,o=t,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),l(t)}(t)};function l(t){return t===o?(a++,e.consume(t),l):a<3?n(t):(e.exit("codeFencedFenceSequence"),(0,z.xz)(t)?(0,L.f)(e,s,"whitespace")(t):s(t))}function s(n){return null===n||(0,z.Ch)(n)?(e.exit("codeFencedFence"),r.interrupt?t(n):e.check(Fe,p,y)(n)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),c(n))}function c(t){return null===t||(0,z.Ch)(t)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),s(t)):(0,z.xz)(t)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),(0,L.f)(e,f,"whitespace")(t)):96===t&&t===o?n(t):(e.consume(t),c)}function f(t){return null===t||(0,z.Ch)(t)?s(t):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),d(t))}function d(t){return null===t||(0,z.Ch)(t)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),s(t)):96===t&&t===o?n(t):(e.consume(t),d)}function p(t){return e.attempt(i,y,h)(t)}function h(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),m}function m(t){return u>0&&(0,z.xz)(t)?(0,L.f)(e,g,"linePrefix",u+1)(t):g(t)}function g(t){return null===t||(0,z.Ch)(t)?e.check(Fe,p,y)(t):(e.enter("codeFlowValue"),v(t))}function v(t){return null===t||(0,z.Ch)(t)?(e.exit("codeFlowValue"),g(t)):(e.consume(t),v)}function y(n){return e.exit("codeFenced"),t(n)}},concrete:!0};var Se=n(6068);const _e={name:"characterReference",tokenize:function(e,t,n){const r=this;let i,o,u=0;return function(t){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(t),e.exit("characterReferenceMarker"),a};function a(t){return 35===t?(e.enter("characterReferenceMarkerNumeric"),e.consume(t),e.exit("characterReferenceMarkerNumeric"),l):(e.enter("characterReferenceValue"),i=31,o=z.H$,s(t))}function l(t){return 88===t||120===t?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(t),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),i=6,o=z.AF,s):(e.enter("characterReferenceValue"),i=7,o=z.pY,s(t))}function s(a){if(59===a&&u){const i=e.exit("characterReferenceValue");return o!==z.H$||(0,Se.T)(r.sliceSerialize(i))?(e.enter("characterReferenceMarker"),e.consume(a),e.exit("characterReferenceMarker"),e.exit("characterReference"),t):n(a)}return o(a)&&u++1&&e[c][1].end.offset-e[c][1].start.offset>1?2:1;const f=Object.assign({},e[n][1].end),d=Object.assign({},e[c][1].start);Le(f,-a),Le(d,a),o={type:a>1?"strongSequence":"emphasisSequence",start:f,end:Object.assign({},e[n][1].end)},u={type:a>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[c][1].start),end:d},i={type:a>1?"strongText":"emphasisText",start:Object.assign({},e[n][1].end),end:Object.assign({},e[c][1].start)},r={type:a>1?"strong":"emphasis",start:Object.assign({},o.start),end:Object.assign({},u.end)},e[n][1].end=Object.assign({},o.start),e[c][1].start=Object.assign({},u.end),l=[],e[n][1].end.offset-e[n][1].start.offset&&(l=(0,H.V)(l,[["enter",e[n][1],t],["exit",e[n][1],t]])),l=(0,H.V)(l,[["enter",r,t],["enter",o,t],["exit",o,t],["enter",i,t]]),l=(0,H.V)(l,(0,ne.C)(t.parser.constructs.insideSpan.null,e.slice(n+1,c),t)),l=(0,H.V)(l,[["exit",i,t],["enter",u,t],["exit",u,t],["exit",r,t]]),e[c][1].end.offset-e[c][1].start.offset?(s=2,l=(0,H.V)(l,[["enter",e[c][1],t],["exit",e[c][1],t]])):s=0,(0,H.d)(e,n-1,c-n+3,l),c=n+l.length-s-2;break}c=-1;for(;++c0){const e=r.tokenStack[r.tokenStack.length-1];(e[1]||at).call(r,void 0,e[0])}for(n.position={start:it(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:it(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},l=-1;++l{const n=this.data("settings");return rt(t,Object.assign({},n,e,{extensions:this.data("micromarkExtensions")||[],mdastExtensions:this.data("fromMarkdownExtensions")||[]}))}})}function st(e){const t=[];let n=-1,r=0,i=0;for(;++n55295&&o<57344){const t=e.charCodeAt(n+1);o<56320&&t>56319&&t<57344?(u=String.fromCharCode(o,t),i=1):u="\ufffd"}else u=String.fromCharCode(o);u&&(t.push(e.slice(r,n),encodeURIComponent(u)),r=n+i+1,u=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}var ct=n(655),ft=n(6465);const dt={}.hasOwnProperty;function pt(e){return String(e||"").toUpperCase()}function ht(e,t){const n=String(t.identifier).toUpperCase(),r=st(n.toLowerCase()),i=e.footnoteOrder.indexOf(n);let o;-1===i?(e.footnoteOrder.push(n),e.footnoteCounts[n]=1,o=e.footnoteOrder.length):(e.footnoteCounts[n]++,o=i+1);const u=e.footnoteCounts[n],a={type:"element",tagName:"a",properties:{href:"#"+e.clobberPrefix+"fn-"+r,id:e.clobberPrefix+"fnref-"+r+(u>1?"-"+u:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(o)}]};e.patch(t,a);const l={type:"element",tagName:"sup",properties:{},children:[a]};return e.patch(t,l),e.applyData(t,l)}function mt(e,t){const n=t.referenceType;let r="]";if("collapsed"===n?r+="[]":"full"===n&&(r+="["+(t.label||t.identifier)+"]"),"imageReference"===t.type)return{type:"text",value:"!["+t.alt+r};const i=e.all(t),o=i[0];o&&"text"===o.type?o.value="["+o.value:i.unshift({type:"text",value:"["});const u=i[i.length-1];return u&&"text"===u.type?u.value+=r:i.push({type:"text",value:r}),i}function gt(e){const t=e.spread;return void 0===t||null===t?e.children.length>1:t}const vt=9,yt=32;function bt(e){const t=String(e),n=/\r?\n|\r/g;let r=n.exec(t),i=0;const o=[];for(;r;)o.push(xt(t.slice(i,r.index),i>0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return o.push(xt(t.slice(i),i>0,!1)),o.join("")}function xt(e,t,n){let r=0,i=e.length;if(t){let t=e.codePointAt(r);for(;t===vt||t===yt;)r++,t=e.codePointAt(r)}if(n){let t=e.codePointAt(i-1);for(;t===vt||t===yt;)i--,t=e.codePointAt(i-1)}return i>r?e.slice(r,i):""}const Dt={blockquote:function(e,t){const n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)},break:function(e,t){const n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:"\n"}]},code:function(e,t){const n=t.value?t.value+"\n":"",r=t.lang?t.lang.match(/^[^ \t]+(?=[ \t]|$)/):null,i={};r&&(i.className=["language-"+r]);let o={type:"element",tagName:"code",properties:i,children:[{type:"text",value:n}]};return t.meta&&(o.data={meta:t.meta}),e.patch(t,o),o=e.applyData(t,o),o={type:"element",tagName:"pre",properties:{},children:[o]},e.patch(t,o),o},delete:function(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},emphasis:function(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},footnoteReference:ht,footnote:function(e,t){const n=e.footnoteById;let r=1;for(;r in n;)r++;const i=String(r);return n[i]={type:"footnoteDefinition",identifier:i,children:[{type:"paragraph",children:t.children}],position:t.position},ht(e,{type:"footnoteReference",identifier:i,position:t.position})},heading:function(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},html:function(e,t){if(e.dangerous){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}return null},imageReference:function(e,t){const n=e.definition(t.identifier);if(!n)return mt(e,t);const r={src:st(n.url||""),alt:t.alt};null!==n.title&&void 0!==n.title&&(r.title=n.title);const i={type:"element",tagName:"img",properties:r,children:[]};return e.patch(t,i),e.applyData(t,i)},image:function(e,t){const n={src:st(t.url)};null!==t.alt&&void 0!==t.alt&&(n.alt=t.alt),null!==t.title&&void 0!==t.title&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)},inlineCode:function(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)},linkReference:function(e,t){const n=e.definition(t.identifier);if(!n)return mt(e,t);const r={href:st(n.url||"")};null!==n.title&&void 0!==n.title&&(r.title=n.title);const i={type:"element",tagName:"a",properties:r,children:e.all(t)};return e.patch(t,i),e.applyData(t,i)},link:function(e,t){const n={href:st(t.url)};null!==t.title&&void 0!==t.title&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},listItem:function(e,t,n){const r=e.all(t),i=n?function(e){let t=!1;if("list"===e.type){t=e.spread||!1;const n=e.children;let r=-1;for(;!t&&++r0&&n.children.unshift({type:"text",value:" "}),n.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),o.className=["task-list-item"]}let a=-1;for(;++a0){const r={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},o=(0,ft.Pk)(t.children[1]),u=(0,ft.rb)(t.children[t.children.length-1]);o.line&&u.line&&(r.position={start:o,end:u}),i.push(r)}const o={type:"element",tagName:"table",properties:{},children:e.wrap(i,!0)};return e.patch(t,o),e.applyData(t,o)},tableCell:function(e,t){const n={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},tableRow:function(e,t,n){const r=n?n.children:void 0,i=0===(r?r.indexOf(t):1)?"th":"td",o=n&&"table"===n.type?n.align:void 0,u=o?o.length:t.children.length;let a=-1;const l=[];for(;++a{const n=pt(e.identifier);n&&!dt.call(t,n)&&(t[n]=e)})),function(e){const n=pt(e);return n&&dt.call(t,n)?t[n]:null}}(e),u.footnoteById=i,u.footnoteOrder=[],u.footnoteCounts={},u.patch=Ft,u.applyData=wt,u.one=function(e,t){return St(u,e,t)},u.all=function(e){return _t(u,e)},u.wrap=At,u.augment=o,(0,ct.Vn)(e,"footnoteDefinition",(e=>{const t=String(e.identifier).toUpperCase();Et.call(i,t)||(i[t]=e)})),u;function o(e,t){if(e&&"data"in e&&e.data){const n=e.data;n.hName&&("element"!==t.type&&(t={type:"element",tagName:"",properties:{},children:[]}),t.tagName=n.hName),"element"===t.type&&n.hProperties&&(t.properties={...t.properties,...n.hProperties}),"children"in t&&t.children&&n.hChildren&&(t.children=n.hChildren)}if(e){const n="type"in e?e:{position:e};(function(e){return!e||!e.position||!e.position.start||!e.position.start.line||!e.position.start.column||!e.position.end||!e.position.end.line||!e.position.end.column})(n)||(t.position={start:(0,ft.Pk)(n),end:(0,ft.rb)(n)})}return t}function u(e,t,n,r){return Array.isArray(n)&&(r=n,n={}),o(e,{type:"element",tagName:t,properties:n||{},children:r||[]})}}function Ft(e,t){e.position&&(t.position=(0,ft.FK)(e))}function wt(e,t){let n=t;if(e&&e.data){const t=e.data.hName,r=e.data.hChildren,i=e.data.hProperties;"string"===typeof t&&("element"===n.type?n.tagName=t:n={type:"element",tagName:t,properties:{},children:[]}),"element"===n.type&&i&&(n.properties={...n.properties,...i}),"children"in n&&n.children&&null!==r&&void 0!==r&&(n.children=r)}return n}function St(e,t,n){const r=t&&t.type;if(!r)throw new Error("Expected node, got `"+t+"`");return Et.call(e.handlers,r)?e.handlers[r](e,t,n):e.passThrough&&e.passThrough.includes(r)?"children"in t?{...t,children:_t(e,t)}:t:e.unknownHandler?e.unknownHandler(e,t,n):function(e,t){const n=t.data||{},r=!("value"in t)||Et.call(n,"hProperties")||Et.call(n,"hChildren")?{type:"element",tagName:"div",properties:{},children:_t(e,t)}:{type:"text",value:t.value};return e.patch(t,r),e.applyData(t,r)}(e,t)}function _t(e,t){const n=[];if("children"in t){const r=t.children;let i=-1;for(;++i0&&n.push({type:"text",value:"\n"}),n}function Pt(e,t){const n=Ct(e,t),r=n.one(e,null),i=function(e){const t=[];let n=-1;for(;++n1?"-"+a:""),dataFootnoteBackref:!0,className:["data-footnote-backref"],ariaLabel:e.footnoteBackLabel},children:[{type:"text",value:"\u21a9"}]};a>1&&t.children.push({type:"element",tagName:"sup",children:[{type:"text",value:String(a)}]}),l.length>0&&l.push({type:"text",value:" "}),l.push(t)}const s=i[i.length-1];if(s&&"element"===s.type&&"p"===s.tagName){const e=s.children[s.children.length-1];e&&"text"===e.type?e.value+=" ":s.children.push({type:"text",value:" "}),s.children.push(...l)}else i.push(...l);const c={type:"element",tagName:"li",properties:{id:e.clobberPrefix+"fn-"+u},children:e.wrap(i,!0)};e.patch(r,c),t.push(c)}if(0!==t.length)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:e.footnoteLabelTagName,properties:{...JSON.parse(JSON.stringify(e.footnoteLabelProperties)),id:"footnote-label"},children:[{type:"text",value:e.footnoteLabel}]},{type:"text",value:"\n"},{type:"element",tagName:"ol",properties:{},children:e.wrap(t,!0)},{type:"text",value:"\n"}]}}(n);return i&&r.children.push({type:"text",value:"\n"},i),Array.isArray(r)?{type:"root",children:r}:r}const Ot=function(e,t){return e&&"run"in e?function(e,t){return(n,r,i)=>{e.run(Pt(n,t),r,(e=>{i(e)}))}}(e,t):function(e){return t=>Pt(t,e)}(e||t)};var Tt=n(9308),Rt=n(9314);function Bt(e){if(e.allowedElements&&e.disallowedElements)throw new TypeError("Only one of `allowedElements` and `disallowedElements` should be defined");if(e.allowedElements||e.disallowedElements||e.allowElement)return t=>{(0,ct.Vn)(t,"element",((t,n,r)=>{const i=r;let o;if(e.allowedElements?o=!e.allowedElements.includes(t.tagName):e.disallowedElements&&(o=e.disallowedElements.includes(t.tagName)),!o&&e.allowElement&&"number"===typeof n&&(o=!e.allowElement(t,n,i)),o&&"number"===typeof n)return e.unwrapDisallowed&&t.children?i.children.splice(n,1,...t.children):i.children.splice(n,1),n}))}}var It=n(4352),jt=n(3203),Nt=n(5077);const Lt={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"};var zt=n(103),Mt=n(1064);const Ht=n(4977),Ut=["http","https","mailto","tel"];function Wt(e){const t=(e||"").trim(),n=t.charAt(0);if("#"===n||"/"===n)return t;const r=t.indexOf(":");if(-1===r)return t;let i=-1;for(;++ii?t:(i=t.indexOf("#"),-1!==i&&r>i?t:"javascript:void(0)")}const qt={}.hasOwnProperty,$t=new Set(["table","thead","tbody","tfoot","tr"]);function Vt(e,t){const n=[];let r,i=-1;for(;++i0?i.createElement(h,s,d):i.createElement(h,s)}function Kt(e,t){let n=-1,r=0;for(;++n for more info)")),delete Jt[i]}const t=F().use(lt).use(e.remarkPlugins||[]).use(Ot,{...e.remarkRehypeOptions,allowDangerousHtml:!0}).use(e.rehypePlugins||[]).use(Bt,e),n=new v;"string"===typeof e.children?n.value=e.children:void 0!==e.children&&null!==e.children&&console.warn("[react-markdown] Warning: please pass a string as `children` (not: `".concat(e.children,"`)"));const r=t.runSync(t.parse(n),n);if("root"!==r.type)throw new TypeError("Expected a `root` node");let o=i.createElement(i.Fragment,{},Vt({options:e,schema:Rt.dy,listDepth:0},r));return e.className&&(o=i.createElement("div",{className:e.className},o)),o}en.propTypes={children:Tt.string,className:Tt.string,allowElement:Tt.func,allowedElements:Tt.arrayOf(Tt.string),disallowedElements:Tt.arrayOf(Tt.string),unwrapDisallowed:Tt.bool,remarkPlugins:Tt.arrayOf(Tt.oneOfType([Tt.object,Tt.func,Tt.arrayOf(Tt.oneOfType([Tt.bool,Tt.string,Tt.object,Tt.func,Tt.arrayOf(Tt.any)]))])),rehypePlugins:Tt.arrayOf(Tt.oneOfType([Tt.object,Tt.func,Tt.arrayOf(Tt.oneOfType([Tt.bool,Tt.string,Tt.object,Tt.func,Tt.arrayOf(Tt.any)]))])),sourcePos:Tt.bool,rawSourcePos:Tt.bool,skipHtml:Tt.bool,includeElementIndex:Tt.bool,transformLinkUri:Tt.oneOfType([Tt.func,Tt.bool]),linkTarget:Tt.oneOfType([Tt.func,Tt.string]),transformImageUri:Tt.func,components:Tt.object}},7666:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(655);const i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,r=arguments.length>1?arguments[1]:void 0;for(;r/,"$2")||""))return;if(n){if(i(e,r,"pre",n))return;return t.value=(t.value||"").replace(/^(\n|\s)+/,""),t}return t.value=(t.value||"").replace(/^(\n|\s)+/,""),t}}},o=e=>{let{value:t=""}=e;const n=function(){return((arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").match(/([^?=&]+)(=([^&]*))/g)||[]).reduce(((e,t)=>(e[t.slice(0,t.indexOf("="))]=t.slice(t.indexOf("=")+1),e)),{})}(t.replace(/^/,"$1").replace(/^rehype:/,""));return Object.keys(n).forEach((e=>{"true"===n[e]&&(n[e]=!0),"false"===n[e]&&(n[e]=!1),"string"!==typeof n[e]||/^0/.test(n[e])||isNaN(+n[e])||(n[e]=+n[e])})),n},u=(e,t,n)=>"string"===n?{...e,"data-config":JSON.stringify({...t,rehyp:!0})}:"attr"===n?{...e,...t}:{...e,"data-config":{...t,rehyp:!0}},a=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{properties:t="data",codeBlockParames:n=!0}=e;return e=>{(0,r.Vn)(e,"element",((e,r,a)=>{if(n&&"pre"===e.tagName&&e&&Array.isArray(e.children)&&a&&Array.isArray(a.children)&&a.children.length>1){const n=e.children[0];if(n&&"code"===n.tagName&&"number"===typeof r){const i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;for(;t>-1;){if(t--,!e[t])return;if(e[t]&&e[t].value&&""!==e[t].value.replace(/(\n|\s)/g,"")||"text"!==e[t].type){if(!/^rehype:/.test(e[t].value)||"comment"!==e[t].type)return;return e[t]}}}(a.children,r);if(i){const r=o(i);Object.keys(r).length>0&&(e.properties={...e.properties,"data-type":"rehyp"},n.properties=u(n.properties,r,t))}}}if(/^(em|strong|b|a|i|p|pre|kbd|blockquote|h(1|2|3|4|5|6)|code|table|img|del|ul|ol)$/.test(e.tagName)&&a&&Array.isArray(a.children)&&"number"===typeof r){const l=i(a.children,r,"",n);if(l){const n=o(l);Object.keys(n).length>0&&(e.properties=u(e.properties,n,t))}}}))}}},9508:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var r=n(432),i=n(8139),o=n(1886);const u=function(e){if(void 0===e||null===e)return l;if("string"===typeof e)return function(e){return t;function t(t){return l(t)&&t.tagName===e}}(e);if("object"===typeof e)return function(e){const t=[];let n=-1;for(;++n1?n-1:0),i=1;i0&&void 0!==arguments[0]?arguments[0]:{},t=e.properties;const n=e.behaviour||e.behavior||"prepend",a=e.content||f,l=e.group,d=u(e.test);let p;return"wrap"===n?p=function(e){return e.children=[g(e,r(!0,{},t),e.children)],[c.AM]}:"before"===n||"after"===n?p=function(e,i,o){if("number"!==typeof i||!o)return;const u=g(e,r(!0,{},t),h(a,e));let s="before"===n?[u,e]:[e,u];if(l){const t=m(l,e);t&&!Array.isArray(t)&&"element"===t.type&&(t.children=s,s=[t])}return o.children.splice(i,1,...s),[c.AM,i+s.length]}:(t||(t={ariaHidden:"true",tabIndex:-1}),p=function(e){return e.children["prepend"===n?"unshift":"push"](g(e,r(!0,{},t),h(a,e))),[c.AM]}),e=>{(0,s.Vn)(e,"element",((e,t,n)=>{if((0,o.B)(e)&&(0,i.l)(e,"id")&&d(e,t,n))return p(e,t,n)}))};function h(e,t){const n=m(e,t);return Array.isArray(n)?n:[n]}function m(e,t){return"function"===typeof e?e(t):r(!0,Array.isArray(e)?[]:{},e)}function g(e,t,n){return{type:"element",tagName:"a",properties:Object.assign({},t,{href:"#"+(e.properties||{}).id}),children:n}}}},2393:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(655);const i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{openDelimiter:t="rehype:ignore:start",closeDelimiter:n="rehype:ignore:end"}=e;return e=>{(0,r.Vn)(e,((e,r,i)=>{if("element"===e.type||"root"===e.type){let r=!1;e.children=e.children.filter((e=>{if("raw"===e.type||"comment"===e.type){let i=(e.value||"").trim();if(i=i.replace(/^/,"$1"),i===t)return r=!0,!1;if(i===n)return r=!1,!1}return!r}))}}))}}},3973:(e,t,n)=>{"use strict";n.d(t,{ZP:()=>m});var r=n(655),i=n(8020),o=n(5875);const u={}.hasOwnProperty;var a=n(5318),l=n(4277),s=n(656);function c(){c=function(e,t){return new n(e,void 0,t)};var e=RegExp.prototype,t=new WeakMap;function n(e,r,i){var o=new RegExp(e,r);return t.set(o,i||t.get(e)),f(o,n.prototype)}function r(e,n){var r=t.get(n);return Object.keys(r).reduce((function(t,n){var i=r[n];if("number"==typeof i)t[n]=e[i];else{for(var o=0;void 0===e[i[o]]&&o+1]+)>/g,(function(e,t){var n=o[t];return"$"+(Array.isArray(n)?n.join("$"):n)})))}if("function"==typeof i){var u=this;return e[Symbol.replace].call(this,n,(function(){var e=arguments;return"object"!=typeof e[e.length-1]&&(e=[].slice.call(e)).push(r(e,u)),i.apply(this,e)}))}return e[Symbol.replace].call(this,n,i)},c.apply(this,arguments)}function f(e,t){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},f(e,t)}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var h=function(e){return function(t){return void 0===t&&(t={}),function(e,t){if(t&&!e.registered(t))throw new Error('The default language "'+t+'" is not registered with refractor.')}(e,t.defaultLanguage),function(e){(0,r.Vn)(e,"element",n)};function n(n,r,l){var s,f;if(l&&"pre"===l.tagName&&"code"===n.tagName){var d=(null==n||null==(s=n.data)?void 0:s.meta)||(null==n||null==(f=n.properties)?void 0:f.metastring)||"";n.properties.className?"boolean"==typeof n.properties.className?n.properties.className=[]:Array.isArray(n.properties.className)||(n.properties.className=[n.properties.className]):n.properties.className=[];var h,m,g=function(e){for(var t,n=p(e.properties.className);!(t=n()).done;){var r=t.value;if("language-"===r.slice(0,9))return r.slice(9).toLowerCase()}return null}(n);if(!g&&t.defaultLanguage&&n.properties.className.push("language-"+(g=t.defaultLanguage)),n.properties.className.push("code-highlight"),g)try{var v,y;y=null!=(v=g)&&v.includes("diff-")?g.split("-")[1]:g,h=e.highlight((0,i.B)(n),y),l.properties.className=(l.properties.className||[]).concat("language-"+y)}catch(w){if(!t.ignoreMissing||!/Unknown language/.test(w.message))throw w;h=n}else h=n;h.children=(m=1,function e(t){return t.reduce((function(t,n){if("text"===n.type){var r=n.value,i=(r.match(/\n/g)||"").length;if(0===i)n.position={start:{line:m,column:1},end:{line:m,column:1}},t.push(n);else for(var o,u=r.split("\n"),a=p(u.entries());!(o=a()).done;){var l=o.value,s=l[0],c=l[1];t.push({type:"text",value:s===u.length-1?c:c+"\n",position:{start:{line:m+s,column:1},end:{line:m+s,column:1}}})}return m+=i,t}if(Object.prototype.hasOwnProperty.call(n,"children")){var f=m;return n.children=e(n.children),t.push(n),n.position={start:{line:f,column:1},end:{line:m,column:1}},t}return t.push(n),t}),[])})(h.children),h.position=h.children.length>0?{start:{line:h.children[0].position.start.line,column:0},end:{line:h.children[h.children.length-1].position.end.line,column:0}}:{start:{line:0,column:0},end:{line:0,column:0}};for(var b,x=function(e){var t=/{([\d,-]+)}/,n=e.split(",").map((function(e){return e.trim()})).join();if(t.test(n)){var r=t.exec(n)[1],i=a(r);return function(e){return i.includes(e+1)}}return function(){return!1}}(d),D=function(e){var t=c(/showLineNumbers=(\d+)/i,{lines:1});if(t.test(e)){var n=t.exec(e);return Number(n.groups.lines)}return 1}(d),k=function(e){for(var t=new Array(e),n=0;n0&&0===o.length)return null}const l={};let s;for(s in t)u.call(t,s)&&(l[s]="children"===s?o:t[s]);return l}(e)}(h,(function(e){return e.position.start.line<=a+1&&e.position.end.line>=a+1}));l.children=s.children,!d.toLowerCase().includes("showLineNumbers".toLowerCase())&&!t.showLineNumbers||E.some((function(e){return d.toLowerCase().includes(e)}))||(l.properties.line=[(a+D).toString()],l.properties.className.push("line-number")),x(a)&&l.properties.className.push("highlight-line"),("diff"===g||null!=(e=g)&&e.includes("diff-"))&&"-"===(0,i.B)(l).substring(0,1)?l.properties.className.push("deleted"):("diff"===g||null!=(n=g)&&n.includes("diff-"))&&"+"===(0,i.B)(l).substring(0,1)&&l.properties.className.push("inserted")},F=p(k.entries());!(b=F()).done;)C();k.length>0&&""===(0,i.B)(k[k.length-1]).trim()&&k.pop(),n.children=k}}}},m=(h(l.$),h(s.$))},7530:(e,t,n)=>{"use strict";n.d(t,{Z:()=>j});var r=n(8060),i=n(6465),o=n(655),u=n(9314);const a=(0,n(3978).v)(u.YP,"g",["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","solidColor","textArea","textPath"]);var l=n(1154),s=n(5077);const c={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},f={}.hasOwnProperty,d=Object.prototype;function p(e,t){const n=t||{};let r,i;return"messages"in n?(i=n,r={}):(i=n.file||void 0,r=n),h({schema:"svg"===r.space?u.YP:u.dy,file:i,verbose:r.verbose,location:!1},e)}function h(e,t){let n;switch(t.nodeName){case"#comment":{const r=t;return n={type:"comment",value:r.data},g(e,r,n),n}case"#document":case"#document-fragment":{const r=t,i="mode"in r&&("quirks"===r.mode||"limited-quirks"===r.mode);if(n={type:"root",children:m(e,t.childNodes),data:{quirksMode:i}},e.file&&e.location){const t=String(e.file),r=function(e){const t=String(e),n=[],r=/\r?\n|\r/g;for(;r.test(t);)n.push(r.lastIndex);return n.push(t.length+1),{toPoint:function(e){let t=-1;if("number"===typeof e&&e>-1&&ee)return{line:t+1,column:e-(t>0?n[t-1]:0)+1,offset:e};return{line:void 0,column:void 0,offset:void 0}},toOffset:function(e){const t=e&&e.line,r=e&&e.column;if("number"===typeof t&&"number"===typeof r&&!Number.isNaN(t)&&!Number.isNaN(r)&&t-1 in n){const e=(n[t-2]||0)+r-1||0;if(e>-1&&e{const r=e;if(r.value.stitch&&null!==n&&null!==t)return n.children[t]=r.value.stitch,t})),"root"!==e.type&&"root"===v.type&&1===v.children.length?v.children[0]:v;function y(e){let t=-1;if(e)for(;++t0&&void 0!==arguments[0]?arguments[0]:{};return(t,n)=>O(t,n,e)}},204:(e,t,n)=>{"use strict";n.d(t,{Z:()=>Y,U:()=>G});var r=n(655),i=n(9314);const o="\u0591-\u07ff\ufb1d-\ufdfd\ufe70-\ufefc",u="A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02b8\u0300-\u0590\u0800-\u1fff\u200e\u2c00-\ufb1c\ufe00-\ufe6f\ufefd-\uffff",a=new RegExp("^[^"+u+"]*["+o+"]"),l=new RegExp("^[^"+o+"]*["+u+"]");var s=n(8020),c=n(3366);function f(e){const t=function(e){const t=String(e||"");return a.test(t)?"rtl":l.test(t)?"ltr":"neutral"}(e);return"neutral"===t?void 0:t}function d(e){const t="element"===e.type&&e.properties&&"string"===typeof e.properties.dir?e.properties.dir.toLowerCase():void 0;return"auto"===t||"ltr"===t||"rtl"===t?t:void 0}var p=n(1064),h=n(8139),m=n(5077),g=n(103),v=n(1379);const y=(0,v.z)("operator",{unknown:function(e){throw new Error("Unknown operator `"+e.operator+"`")},invalid:function(e,t,n){return(0,h.l)(t,n.property)},handlers:{"=":function(e,t,n){return Boolean((0,h.l)(t,n.property)&&t.properties&&b(t.properties[n.property],n)===e.value)},"~=":function(e,t,n){const r=t.properties&&t.properties[n.property];return!n.commaSeparated&&r&&"object"===typeof r&&e.value&&r.includes(e.value)||(0,h.l)(t,n.property)&&b(r,n)===e.value},"|=":function(e,t,n){const r=b(t.properties&&t.properties[n.property],n);return Boolean((0,h.l)(t,n.property)&&e.value&&(r===e.value||r.slice(0,e.value.length)===e.value&&"-"===r.charAt(e.value.length)))},"^=":function(e,t,n){return Boolean((0,h.l)(t,n.property)&&t.properties&&e.value&&b(t.properties[n.property],n).slice(0,e.value.length)===e.value)},"$=":function(e,t,n){return Boolean((0,h.l)(t,n.property)&&t.properties&&e.value&&b(t.properties[n.property],n).slice(-e.value.length)===e.value)},"*=":function(e,t,n){return Boolean((0,h.l)(t,n.property)&&t.properties&&e.value&&b(t.properties[n.property],n).includes(e.value))}}});function b(e,t){return"boolean"===typeof e?t.attribute:Array.isArray(e)?(t.commaSeparated?p.P:g.P)(e):String(e)}function x(e,t){return function(n,r){let i=k(n,"tag");const o=k(null===r||void 0===r?"*":r,"range"),u=[];let a=-1;for(;++ae<=n;if(0===t)return e=>e===n;if(1===t)return n<0?S.trueFunc:e=>e>=n;const r=Math.abs(t),i=(n%r+r)%r;return t>1?e=>e>=n&&e%r===i:e=>e<=n&&e%r===i}(function(e){if("even"===(e=e.trim().toLowerCase()))return[2,0];if("odd"===e)return[2,1];let t=0,n=0,r=o(),i=u();if(t=F&&e.charCodeAt(t)<=w;)r=10*r+(e.charCodeAt(t)-F),t++;return t===n?null:r}function a(){for(;t0},lang:function(e,t,n,r,i){return""!==i.language&&void 0!==i.language&&D(i.language,(0,p.Q)(e.value)).length>0},"last-child":function(e,t,n,r,i){return N(i,e),Boolean(i.elementCount&&i.elementIndex===i.elementCount-1)},"last-of-type":function(e,t,n,r,i){return N(i,e),"number"===typeof i.typeIndex&&"number"===typeof i.typeCount&&i.typeIndex===i.typeCount-1},matches:R,not:function(e,t,n,r,i){return!R(e,t,n,r,i)},"nth-child":function(e,t,n,r,i){const o=L(e);return N(i,e),"number"===typeof i.elementIndex&&o(i.elementIndex)},"nth-last-child":function(e,t,n,r,i){const o=L(e);return N(i,e),Boolean("number"===typeof i.elementCount&&"number"===typeof i.elementIndex&&o(i.elementCount-i.elementIndex-1))},"nth-of-type":function(e,t,n,r,i){const o=L(e);return N(i,e),"number"===typeof i.typeIndex&&o(i.typeIndex)},"nth-last-of-type":function(e,t,n,r,i){const o=L(e);return N(i,e),"number"===typeof i.typeCount&&"number"===typeof i.typeIndex&&o(i.typeCount-1-i.typeIndex)},"only-child":function(e,t,n,r,i){return N(i,e),1===i.elementCount},"only-of-type":function(e,t,n,r,i){return N(i,e),1===i.typeCount},optional:function(e,t){return!I(e,t)},"read-only":function(e,t,n,r,i){return!B(e,t,n,r,i)},"read-write":B,required:I,root:function(e,t,n,r,i){return Boolean((!r||"root"===r.type)&&i.schema&&("html"===i.schema.space||"svg"===i.schema.space)&&("html"===t.tagName||"svg"===t.tagName))},scope:function(e,t,n,r,i){return i.scopeElements.includes(t)}}});function O(e,t,n,r,i){const o=e.pseudos;let u=-1;for(;++u"===t.nestingOperator?"directChild":"descendant",e)}else e.found=!0,e.results.includes(n)||e.results.push(n)}null===a.rule.nestingOperator?$(o,"descendant",a):"~"===a.rule.nestingOperator&&$(o,"generalSibling",a)}return o}(e,q(t,e.rootQuery.selectors),n,o,u)),!("children"in n)||e.shallow||e.one&&e.found||function(e,t,n){const r=q(t.descendant,t.directChild);let i,o=-1;const u={count:0,types:new Map},a={count:0,types:new Map};for(;++o0&&t.length>0?[...e,...t]:e&&e.length>0?e:t&&t.length>0?t:M}function $(e,t,n){const r=e[t];r?r.push(n):e[t]=[n]}function V(e,t){if("element"===t.type){const n=t.tagName.toUpperCase(),r=(e.types.get(n)||0)+1;e.count++,e.types.set(n,r)}}const Z=new(n(6408).N);function K(e){if("string"!==typeof e)throw new TypeError("Expected `string` as selector, not `"+e+"`");return Z.parse(e)}function Q(e,t,n){return{rootQuery:H(K(e)),results:[],scopeElements:t?"root"===t.type?t.children:[t]:[],one:!1,shallow:!1,found:!1,schema:"svg"===n?i.YP:i.dy,language:void 0,direction:"ltr",editableOrEditingHost:!1,typeIndex:void 0,elementIndex:void 0,typeCount:void 0,elementCount:void 0}}Z.registerAttrEqualityMods("~","|","^","$","*"),Z.registerSelectorPseudos("any","matches","not","has"),Z.registerNestingOperators(">","+","~");const G=function(){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).forEach((t=>{"text"===t.type?e+=t.value:"element"===t.type&&t.children&&Array.isArray(t.children)&&(e+=G(t.children))})),e},Y=e=>{const{selector:t,rewrite:n}=e||{};return e=>{if(n&&"function"===typeof n)if(t&&"string"===typeof t){const i=function(e,t,n){const r=Q(e,t,n);return U(r,t||void 0),r.results}(t,e);i&&i.length>0&&(0,r.Vn)(e,i,((e,t,r)=>{n(e,t,r)}))}else(0,r.Vn)(e,((e,t,r)=>{n(e,t,r)}))}}},9599:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});const r=/[\0-\x1F!-,\.\/:-@\[-\^`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482\u0530\u0557\u0558\u055A-\u055F\u0589-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05EB-\u05EE\u05F3-\u060F\u061B-\u061F\u066A-\u066D\u06D4\u06DD\u06DE\u06E9\u06FD\u06FE\u0700-\u070F\u074B\u074C\u07B2-\u07BF\u07F6-\u07F9\u07FB\u07FC\u07FE\u07FF\u082E-\u083F\u085C-\u085F\u086B-\u089F\u08B5\u08C8-\u08D2\u08E2\u0964\u0965\u0970\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09F2-\u09FB\u09FD\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF0-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B70\u0B72-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BF0-\u0BFF\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C7F\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D4F-\u0D53\u0D58-\u0D5E\u0D64\u0D65\u0D70-\u0D79\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF4-\u0E00\u0E3B-\u0E3F\u0E4F\u0E5A-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F01-\u0F17\u0F1A-\u0F1F\u0F2A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F48\u0F6D-\u0F70\u0F85\u0F98\u0FBD-\u0FC5\u0FC7-\u0FFF\u104A-\u104F\u109E\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u1360-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16ED\u16F9-\u16FF\u170D\u1715-\u171F\u1735-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17D4-\u17D6\u17D8-\u17DB\u17DE\u17DF\u17EA-\u180A\u180E\u180F\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u1945\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DA-\u19FF\u1A1C-\u1A1F\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1AA6\u1AA8-\u1AAF\u1AC1-\u1AFF\u1B4C-\u1B4F\u1B5A-\u1B6A\u1B74-\u1B7F\u1BF4-\u1BFF\u1C38-\u1C3F\u1C4A-\u1C4C\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CCF\u1CD3\u1CFB-\u1CFF\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u203E\u2041-\u2053\u2055-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u20CF\u20F1-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u215F\u2189-\u24B5\u24EA-\u2BFF\u2C2F\u2C5F\u2CE5-\u2CEA\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E00-\u2E2E\u2E30-\u3004\u3008-\u3020\u3030\u3036\u3037\u303D-\u3040\u3097\u3098\u309B\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\u9FFD-\u9FFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA62C-\uA63F\uA673\uA67E\uA6F2-\uA716\uA720\uA721\uA789\uA78A\uA7C0\uA7C1\uA7CB-\uA7F4\uA828-\uA82B\uA82D-\uA83F\uA874-\uA87F\uA8C6-\uA8CF\uA8DA-\uA8DF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA954-\uA95F\uA97D-\uA97F\uA9C1-\uA9CE\uA9DA-\uA9DF\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A-\uAA5F\uAA77-\uAA79\uAAC3-\uAADA\uAADE\uAADF\uAAF0\uAAF1\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABEB\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFDFF\uFE10-\uFE1F\uFE30-\uFE32\uFE35-\uFE4C\uFE50-\uFE6F\uFE75\uFEFD-\uFF0F\uFF1A-\uFF20\uFF3B-\uFF3E\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDD3F\uDD75-\uDDFC\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEE1-\uDEFF\uDF20-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE40-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE7-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD28-\uDD2F\uDD3A-\uDE7F\uDEAA\uDEAD-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF51-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC47-\uDC65\uDC70-\uDC7E\uDCBB-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD40-\uDD43\uDD48-\uDD4F\uDD74\uDD75\uDD77-\uDD7F\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDFF\uDE12\uDE38-\uDE3D\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC4B-\uDC4F\uDC5A-\uDC5D\uDC62-\uDC7F\uDCC6\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDC1-\uDDD7\uDDDE-\uDDFF\uDE41-\uDE43\uDE45-\uDE4F\uDE5A-\uDE7F\uDEB9-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF3A-\uDFFF]|\uD806[\uDC3B-\uDC9F\uDCEA-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD44-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE2\uDDE5-\uDDFF\uDE3F-\uDE46\uDE48-\uDE4F\uDE9A-\uDE9C\uDE9E-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC41-\uDC4F\uDC5A-\uDC71\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF7-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD824-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83D\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDECF\uDEEE\uDEEF\uDEF5-\uDEFF\uDF37-\uDF3F\uDF44-\uDF4F\uDF5A-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE2\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82C[\uDD1F-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC\uDFCD]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD4F-\uDEBF\uDEFA-\uDFFF]|\uD83A[\uDCC5-\uDCCF\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD83C[\uDC00-\uDD2F\uDD4A-\uDD4F\uDD6A-\uDD6F\uDD8A-\uDFFF]|\uD83E[\uDC00-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEDE-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]/g,i=Object.hasOwnProperty;var o=n(8139),u=n(1886),a=n(8020),l=n(655);const s=new class{constructor(){this.occurrences,this.reset()}slug(e,t){const n=this;let o=function(e,t){if("string"!==typeof e)return"";t||(e=e.toLowerCase());return e.replace(r,"").replace(/ /g,"-")}(e,!0===t);const u=o;for(;i.call(n.occurrences,o);)n.occurrences[u]++,o=u+"-"+n.occurrences[u];return n.occurrences[o]=0,o}reset(){this.occurrences=Object.create(null)}};function c(){const e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).prefix||"";return t=>{s.reset(),(0,l.Vn)(t,"element",(t=>{(0,u.B)(t)&&t.properties&&!(0,o.l)(t,"id")&&(t.properties.id=e+s.slug((0,a.B)(t)))}))}}},7336:(e,t,n)=>{"use strict";n.d(t,{Z:()=>We});var r=n(2006),i=n(4412);const o={tokenize:function(e,t,n){let r=0;return function t(o){if((87===o||119===o)&&r<3)return r++,e.consume(o),t;if(46===o&&3===r)return e.consume(o),i;return n(o)};function i(e){return null===e?n(e):t(e)}},partial:!0},u={tokenize:function(e,t,n){let r,o,u;return a;function a(t){return 46===t||95===t?e.check(l,c,s)(t):null===t||(0,i.z3)(t)||(0,i.B8)(t)||45!==t&&(0,i.Xh)(t)?c(t):(u=!0,e.consume(t),a)}function s(t){return 95===t?r=!0:(o=r,r=void 0),e.consume(t),a}function c(e){return o||r||!u?n(e):t(e)}},partial:!0},a={tokenize:function(e,t){let n=0,r=0;return o;function o(a){return 40===a?(n++,e.consume(a),o):41===a&&r0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}p[43]=d,p[45]=d,p[46]=d,p[95]=d,p[72]=[d,f],p[104]=[d,f],p[87]=[d,c],p[119]=[d,c];var D=n(8597),k=n(8911),E=n(478);const C={tokenize:function(e,t,n){const r=this;return(0,k.f)(e,(function(e){const i=r.events[r.events.length-1];return i&&"gfmFootnoteDefinitionIndent"===i[1].type&&4===i[2].sliceSerialize(i[1],!0).length?t(e):n(e)}),"gfmFootnoteDefinitionIndent",5)},partial:!0};function F(e,t,n){const r=this;let i=r.events.length;const o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let u;for(;i--;){const e=r.events[i][1];if("labelImage"===e.type){u=e;break}if("gfmFootnoteCall"===e.type||"labelLink"===e.type||"label"===e.type||"image"===e.type||"link"===e.type)break}return function(i){if(!u||!u._balanced)return n(i);const a=(0,E.d)(r.sliceSerialize({start:u.end,end:r.now()}));if(94!==a.codePointAt(0)||!o.includes(a.slice(1)))return n(i);return e.enter("gfmFootnoteCallLabelMarker"),e.consume(i),e.exit("gfmFootnoteCallLabelMarker"),t(i)}}function w(e,t){let n,r=e.length;for(;r--;)if("labelImage"===e[r][1].type&&"enter"===e[r][0]){n=e[r][1];break}e[r+1][1].type="data",e[r+3][1].type="gfmFootnoteCallLabelMarker";const i={type:"gfmFootnoteCall",start:Object.assign({},e[r+3][1].start),end:Object.assign({},e[e.length-1][1].end)},o={type:"gfmFootnoteCallMarker",start:Object.assign({},e[r+3][1].end),end:Object.assign({},e[r+3][1].end)};o.end.column++,o.end.offset++,o.end._bufferIndex++;const u={type:"gfmFootnoteCallString",start:Object.assign({},o.end),end:Object.assign({},e[e.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},u.start),end:Object.assign({},u.end)},l=[e[r+1],e[r+2],["enter",i,t],e[r+3],e[r+4],["enter",o,t],["exit",o,t],["enter",u,t],["enter",a,t],["exit",a,t],["exit",u,t],e[e.length-2],e[e.length-1],["exit",i,t]];return e.splice(r,e.length-r+1,...l),e}function S(e,t,n){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let u,a=0;return function(t){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(t),e.exit("gfmFootnoteCallLabelMarker"),l};function l(t){return 94!==t?n(t):(e.enter("gfmFootnoteCallMarker"),e.consume(t),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",s)}function s(l){if(a>999||93===l&&!u||null===l||91===l||(0,i.z3)(l))return n(l);if(93===l){e.exit("chunkString");const i=e.exit("gfmFootnoteCallString");return o.includes((0,E.d)(r.sliceSerialize(i)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(l)}return(0,i.z3)(l)||(u=!0),a++,e.consume(l),92===l?c:s}function c(t){return 91===t||92===t||93===t?(e.consume(t),a++,s):s(t)}}function _(e,t,n){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let u,a,l=0;return function(t){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),s};function s(t){return 94===t?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",c):n(t)}function c(t){if(l>999||93===t&&!a||null===t||91===t||(0,i.z3)(t))return n(t);if(93===t){e.exit("chunkString");const n=e.exit("gfmFootnoteDefinitionLabelString");return u=(0,E.d)(r.sliceSerialize(n)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),d}return(0,i.z3)(t)||(a=!0),l++,e.consume(t),92===t?f:c}function f(t){return 91===t||92===t||93===t?(e.consume(t),l++,c):c(t)}function d(t){return 58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),o.includes(u)||o.push(u),(0,k.f)(e,p,"gfmFootnoteDefinitionWhitespace")):n(t)}function p(e){return t(e)}}function A(e,t,n){return e.check(D.w,t,e.attempt(C,t,n))}function P(e){e.exit("gfmFootnoteDefinition")}var O=n(7125),T=n(4375),R=n(7900);function B(e){let t=(e||{}).singleTilde;const n={tokenize:function(e,n,r){const i=this.previous,o=this.events;let u=0;return function(t){if(126===i&&"characterEscape"!==o[o.length-1][1].type)return r(t);return e.enter("strikethroughSequenceTemporary"),a(t)};function a(o){const l=(0,T.r)(i);if(126===o)return u>1?r(o):(e.consume(o),u++,a);if(u<2&&!t)return r(o);const s=e.exit("strikethroughSequenceTemporary"),c=(0,T.r)(o);return s._open=!c||2===c&&Boolean(l),s._close=!l||2===l&&Boolean(c),n(o)}},resolveAll:function(e,t){let n=-1;for(;++ne[0]-t[0])),0===this.map.length)return;let t=this.map.length;const n=[];for(;t>0;)t-=1,n.push(e.slice(this.map[t][0]+this.map[t][1])),n.push(this.map[t][2]),e.length=this.map[t][0];n.push([...e]),e.length=0;let r=n.pop();for(;r;)e.push(...r),r=n.pop();this.map.length=0}}function j(e,t){let n=!1;const r=[];for(;t-1;){const e=r.events[t][1].type;if("lineEnding"!==e&&"linePrefix"!==e)break;t--}const i=t>-1?r.events[t][1].type:null,o="tableHead"===i||"tableRow"===i?D:l;if(o===D&&r.parser.lazy[r.now().line])return n(e);return o(e)};function l(t){return e.enter("tableHead"),e.enter("tableRow"),function(e){if(124===e)return s(e);return o=!0,a+=1,s(e)}(t)}function s(t){return null===t?n(t):(0,i.Ch)(t)?a>1?(a=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),d):n(t):(0,i.xz)(t)?(0,k.f)(e,s,"whitespace")(t):(a+=1,o&&(o=!1,u+=1),124===t?(e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),o=!0,s):(e.enter("data"),c(t)))}function c(t){return null===t||124===t||(0,i.z3)(t)?(e.exit("data"),s(t)):(e.consume(t),92===t?f:c)}function f(t){return 92===t||124===t?(e.consume(t),c):c(t)}function d(t){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(t):(e.enter("tableDelimiterRow"),o=!1,(0,i.xz)(t)?(0,k.f)(e,p,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):p(t))}function p(t){return 45===t||58===t?m(t):124===t?(o=!0,e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),h):x(t)}function h(t){return(0,i.xz)(t)?(0,k.f)(e,m,"whitespace")(t):m(t)}function m(t){return 58===t?(a+=1,o=!0,e.enter("tableDelimiterMarker"),e.consume(t),e.exit("tableDelimiterMarker"),g):45===t?(a+=1,g(t)):null===t||(0,i.Ch)(t)?b(t):x(t)}function g(t){return 45===t?(e.enter("tableDelimiterFiller"),v(t)):x(t)}function v(t){return 45===t?(e.consume(t),v):58===t?(o=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(t),e.exit("tableDelimiterMarker"),y):(e.exit("tableDelimiterFiller"),y(t))}function y(t){return(0,i.xz)(t)?(0,k.f)(e,b,"whitespace")(t):b(t)}function b(n){return 124===n?p(n):(null===n||(0,i.Ch)(n))&&o&&u===a?(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(n)):x(n)}function x(e){return n(e)}function D(t){return e.enter("tableRow"),E(t)}function E(n){return 124===n?(e.enter("tableCellDivider"),e.consume(n),e.exit("tableCellDivider"),E):null===n||(0,i.Ch)(n)?(e.exit("tableRow"),t(n)):(0,i.xz)(n)?(0,k.f)(e,E,"whitespace")(n):(e.enter("data"),C(n))}function C(t){return null===t||124===t||(0,i.z3)(t)?(e.exit("data"),E(t)):(e.consume(t),92===t?F:C)}function F(t){return 92===t||124===t?(e.consume(t),C):C(t)}},resolveAll:function(e,t){let n,r,i,o=-1,u=!0,a=0,l=[0,0,0,0],s=[0,0,0,0],c=!1,f=0;const d=new I;for(;++on[2]+1){const t=n[2]+1,r=n[3]-n[2]-1;e.add(t,r,[])}}e.add(n[3]+1,0,[["exit",u,t]])}return void 0!==i&&(o.end=Object.assign({},M(t.events,i)),e.add(i,0,[["exit",o,t]]),o=void 0),o}function z(e,t,n,r,i){const o=[],u=M(t.events,n);i&&(i.end=Object.assign({},u),o.push(["exit",i,t])),r.end=Object.assign({},u),o.push(["exit",r,t]),e.add(n+1,0,o)}function M(e,t){const n=e[t],r="enter"===n[0]?"start":"end";return n[1][r]}const H={tokenize:function(e,t,n){const r=this;return function(t){if(null!==r.previous||!r._gfmTasklistFirstContentOfListItem)return n(t);return e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(t),e.exit("taskListCheckMarker"),o};function o(t){return(0,i.z3)(t)?(e.enter("taskListCheckValueUnchecked"),e.consume(t),e.exit("taskListCheckValueUnchecked"),u):88===t||120===t?(e.enter("taskListCheckValueChecked"),e.consume(t),e.exit("taskListCheckValueChecked"),u):n(t)}function u(t){return 93===t?(e.enter("taskListCheckMarker"),e.consume(t),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),a):n(t)}function a(r){return(0,i.Ch)(r)?t(r):(0,i.xz)(r)?e.check({tokenize:W},t,n)(r):n(r)}}},U={text:{91:H}};function W(e,t,n){return(0,k.f)(e,(function(e){return null===e?n(e):t(e)}),"whitespace")}function q(e,t){const n=String(e);if("string"!==typeof t)throw new TypeError("Expected character");let r=0,i=n.indexOf(t);for(;-1!==i;)r++,i=n.indexOf(t,i+t.length);return r}var $=n(3366),V=n(5875);const Z={}.hasOwnProperty,K=function(e,t,n,r){let i,o;"string"===typeof t||t instanceof RegExp?(o=[[t,n]],i=r):(o=t,i=n),i||(i={});const u=(0,V.O)(i.ignore||[]),a=function(e){const t=[];if("object"!==typeof e)throw new TypeError("Expected array or object as schema");if(Array.isArray(e)){let n=-1;for(;++n0?{type:"text",value:a}:void 0),!1!==a&&(o!==n&&c.push({type:"text",value:e.value.slice(o,n)}),Array.isArray(a)?c.push(...a):a&&c.push(a),o=n+f[0].length,s=!0),!r.global)break;f=r.exec(e.value)}s?(oe}const Y="phrasing",X=["autolink","link","image","label"],J={transforms:[function(e){K(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,ne],[/([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/g,re]],{ignore:["link","linkReference"]})}],enter:{literalAutolink:function(e){this.enter({type:"link",title:null,url:"",children:[]},e)},literalAutolinkEmail:te,literalAutolinkHttp:te,literalAutolinkWww:te},exit:{literalAutolink:function(e){this.exit(e)},literalAutolinkEmail:function(e){this.config.exit.autolinkEmail.call(this,e)},literalAutolinkHttp:function(e){this.config.exit.autolinkProtocol.call(this,e)},literalAutolinkWww:function(e){this.config.exit.data.call(this,e);this.stack[this.stack.length-1].url="http://"+this.sliceSerialize(e)}}},ee={unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:Y,notInConstruct:X},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:Y,notInConstruct:X},{character:":",before:"[ps]",after:"\\/",inConstruct:Y,notInConstruct:X}]};function te(e){this.config.enter.autolinkProtocol.call(this,e)}function ne(e,t,n,r,i){let o="";if(!ie(i))return!1;if(/^w/i.test(t)&&(n=t+n,t="",o="http://"),!function(e){const t=e.split(".");if(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))return!1;return!0}(n))return!1;const u=function(e){const t=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(")");const i=q(e,"(");let o=q(e,")");for(;-1!==r&&i>o;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),o++;return[e,n]}(n+r);if(!u[0])return!1;const a={type:"link",title:null,url:o+t+u[0],children:[{type:"text",value:t+u[0]}]};return u[1]?[a,{type:"text",value:u[1]}]:a}function re(e,t,n,r){return!(!ie(r,!0)||/[-\d_]$/.test(n))&&{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function ie(e,t){const n=e.input.charCodeAt(e.index-1);return(0===e.index||(0,i.B8)(n)||(0,i.Xh)(n))&&(!t||47!==n)}var oe=n(2781);function ue(e){return e.label||!e.identifier?e.label||"":(0,oe.v)(e.identifier)}function ae(e,t,n,r){let i=r.join.length;for(;i--;){const o=r.join[i](e,t,n,r);if(!0===o||1===o)break;if("number"===typeof o)return"\n".repeat(1+o);if(!1===o)return"\n\n\x3c!----\x3e\n\n"}return"\n\n"}const le=/\r?\n|\r/g;function se(e){if(!e._compiled){const t=(e.atBreak?"[\\r\\n][\\t ]*":"")+(e.before?"(?:"+e.before+")":"");e._compiled=new RegExp((t?"("+t+")":"")+(/[|\\{}()[\]^$+*?.-]/.test(e.character)?"\\":"")+e.character+(e.after?"(?:"+e.after+")":""),"g")}return e._compiled}function ce(e,t){return fe(e,t.inConstruct,!0)&&!fe(e,t.notInConstruct,!1)}function fe(e,t,n){if("string"===typeof t&&(t=[t]),!t||0===t.length)return n;let r=-1;for(;++r=s||(e+10?" ":"")),i.shift(4),o+=i.move(function(e,t){const n=[];let r,i=0,o=0;for(;r=le.exec(e);)u(e.slice(i,r.index)),n.push(r[0]),i=r.index+r[0].length,o++;return u(e.slice(i)),n.join("");function u(e){n.push(t(e,o,!e))}}(function(e,t,n){const r=t.indexStack,i=e.children||[],o=t.createTracker(n),u=[];let a=-1;for(r.push(-1);++a0&&("\r"===a||"\n"===a)&&"html"===s.type&&(o[o.length-1]=o[o.length-1].replace(/(\r?\n|\r)$/," "),a=" ",l=t.createTracker(n),l.move(o.join(""))),o.push(l.move(t.handle(s,e,t,{...l.current(),before:a,after:c}))),a=o[o.length-1].slice(-1)}return r.pop(),o.join("")}Ce.peek=function(){return"["};Pe.peek=function(){return"~"};const _e={canContainEols:["delete"],enter:{strikethrough:function(e){this.enter({type:"delete",children:[]},e)}},exit:{strikethrough:function(e){this.exit(e)}}},Ae={unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"]}],handlers:{delete:Pe}};function Pe(e,t,n,r){const i=me(r),o=n.enter("strikethrough");let u=i.move("~~");return u+=Se(e,n,{...i.current(),before:u,after:"~"}),u+=i.move("~~"),o(),u}function Oe(e,t,n){let r=e.value||"",i="`",o=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++o"none"===e?null:e)),children:[]},e),this.setData("inTable",!0)},tableData:je,tableHeader:je,tableRow:function(e){this.enter({type:"tableRow",children:[]},e)}},exit:{codeText:function(e){let t=this.resume();this.getData("inTable")&&(t=t.replace(/\\([\\|])/g,Ne));this.stack[this.stack.length-1].value=t,this.exit(e)},table:function(e){this.exit(e),this.setData("inTable")},tableData:Ie,tableHeader:Ie,tableRow:Ie}};function Ie(e){this.exit(e)}function je(e){this.enter({type:"tableCell",children:[]},e)}function Ne(e,t){return"|"===t?t:e}function Le(e){const t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,o=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:"\n",inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[\t :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{table:function(e,t,n,r){return a(function(e,t,n){const r=e.children;let i=-1;const o=[],u=t.enter("table");for(;++i1&&void 0!==arguments[1]?arguments[1]:{};const n=(t.align||[]).concat(),r=t.stringLength||Te,i=[],o=[],u=[],a=[];let l=0,s=-1;for(;++sl&&(l=e[s].length);++fa[f])&&(a[f]=e)}n.push(o)}o[s]=n,u[s]=i}var c;let f=-1;if("object"===typeof n&&"length"in n)for(;++fa[f]&&(a[f]=o),p[f]=o),d[f]=u}o.splice(1,0,d),u.splice(1,0,p),s=-1;const h=[];for(;++s-1?t.start:1)+(!1===n.options.incrementListMarker?0:t.children.indexOf(e))+o);let u=o.length+1;("tab"===i||"mixed"===i&&(t&&"list"===t.type&&t.spread||e.spread))&&(u=4*Math.ceil(u/4));const a=n.createTracker(r);a.move(o+" ".repeat(u-o.length)),a.shift(u);const l=n.enter("listItem"),s=n.indentLines(n.containerFlow(e,a.current()),(function(e,t,n){if(t)return(n?"":" ".repeat(u))+e;return(n?o:o+" ".repeat(u-o.length))+e}));return l(),s}const Me={exit:{taskListCheckValueChecked:Ue,taskListCheckValueUnchecked:Ue,paragraph:function(e){const t=this.stack[this.stack.length-2];if(t&&"listItem"===t.type&&"boolean"===typeof t.checked){const e=this.stack[this.stack.length-1],n=e.children[0];if(n&&"text"===n.type){const r=t.children;let i,o=-1;for(;++o0&&void 0!==arguments[0]?arguments[0]:{};const t=this.data();function n(e,n){(t[e]?t[e]:t[e]=[]).push(n)}n("micromarkExtensions",function(e){return(0,r.W)([h,{document:{91:{tokenize:_,continuation:{tokenize:A},exit:P}},text:{91:{tokenize:S},93:{add:"after",tokenize:F,resolveTo:w}}},B(e),N,U])}(e)),n("fromMarkdownExtensions",[J,{enter:{gfmFootnoteDefinition:ge,gfmFootnoteDefinitionLabelString:ve,gfmFootnoteCall:xe,gfmFootnoteCallString:De},exit:{gfmFootnoteDefinition:be,gfmFootnoteDefinitionLabelString:ye,gfmFootnoteCall:Ee,gfmFootnoteCallString:ke}},_e,Be,Me]),n("toMarkdownExtensions",function(e){return{extensions:[ee,{unsafe:[{character:"[",inConstruct:["phrasing","label","reference"]}],handlers:{footnoteDefinition:Fe,footnoteReference:Ce}},Ae,Le(e),He]}}(e))}},103:(e,t,n)=>{"use strict";function r(e){const t=String(e||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function i(e){return e.join(" ").trim()}n.d(t,{P:()=>i,Q:()=>r})},5875:(e,t,n)=>{"use strict";n.d(t,{O:()=>r});const r=function(e){if(void 0===e||null===e)return o;if("string"===typeof e)return function(e){return i(t);function t(t){return t&&t.type===e}}(e);if("object"===typeof e)return Array.isArray(e)?function(e){const t=[];let n=-1;for(;++n1?n-1:0),i=1;i{"use strict";n.d(t,{FK:()=>o,Pk:()=>r,rb:()=>i});const r=u("start"),i=u("end");function o(e){return{start:r(e),end:i(e)}}function u(e){return function(t){const n=t&&t.position&&t.position[e]||{};return{line:n.line||null,column:n.column||null,offset:n.offset>-1?n.offset:null}}}},3366:(e,t,n)=>{"use strict";n.d(t,{BK:()=>i,AM:()=>o,S4:()=>u});var r=n(5875);const i=!1,o="skip",u=function(e,t,n,u){"function"===typeof t&&"function"!==typeof n&&(u=n,n=t,t=null);const a=(0,r.O)(t),l=u?-1:1;!function e(r,s,c){const f=r&&"object"===typeof r?r:{};if("string"===typeof f.type){const e="string"===typeof f.tagName?f.tagName:"string"===typeof f.name?f.name:void 0;Object.defineProperty(d,"name",{value:"node ("+r.type+(e?"<"+e+">":"")+")"})}return d;function d(){let f,d,p,h=[];if((!t||a(r,s,c[c.length-1]||null))&&(h=function(e){if(Array.isArray(e))return e;if("number"===typeof e)return[true,e];return[e]}(n(r,c)),h[0]===i))return h;if(r.children&&h[0]!==o)for(d=(u?r.children.length:-1)+l,p=c.concat(r);d>-1&&d{"use strict";n.d(t,{Vn:()=>i});var r=n(3366);const i=function(e,t,n,i){"function"===typeof t&&"function"!==typeof n&&(i=n,n=t,t=null),(0,r.S4)(e,t,(function(e,t){const r=t[t.length-1];return n(e,r?r.children.indexOf(e):null,r)}),i)}},1379:(e,t,n)=>{"use strict";n.d(t,{z:()=>i});const r={}.hasOwnProperty;function i(e,t){const n=t||{};function i(t){let n=i.invalid;const o=i.handlers;if(t&&r.call(t,e)){const u=String(t[e]);n=r.call(o,u)?o[u]:i.unknown}if(n){for(var u=arguments.length,a=new Array(u>1?u-1:0),l=1;l{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;tr})},126:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}n.d(t,{Z:()=>r})}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={exports:{}};return e[r].call(o.exports,o,o.exports,n),o.exports}n.m=e,(()=>{var e=[];n.O=(t,r,i,o)=>{if(!r){var u=1/0;for(c=0;c=o)&&Object.keys(n.O).every((e=>n.O[e](r[l])))?r.splice(l--,1):(a=!1,o0&&e[c-1][2]>o;c--)e[c]=e[c-1];e[c]=[r,i,o]}})(),n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={179:0};n.O.j=t=>0===e[t];var t=(t,r)=>{var i,o,u=r[0],a=r[1],l=r[2],s=0;if(u.some((t=>0!==e[t]))){for(i in a)n.o(a,i)&&(n.m[i]=a[i]);if(l)var c=l(n)}for(t&&t(r);sn(137)));r=n.O(r)})(); +//# sourceMappingURL=main.ec270b69.js.map \ No newline at end of file diff --git a/static/js/main.dcd36b78.js.LICENSE.txt b/static/js/main.ec270b69.js.LICENSE.txt similarity index 70% rename from static/js/main.dcd36b78.js.LICENSE.txt rename to static/js/main.ec270b69.js.LICENSE.txt index 3c45d29a..e00898e8 100644 --- a/static/js/main.dcd36b78.js.LICENSE.txt +++ b/static/js/main.ec270b69.js.LICENSE.txt @@ -12,8 +12,6 @@ * Licensed under the MIT License. */ -/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ - /** * @license React * react-is.production.min.js @@ -33,3 +31,14 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ + +/** + * @package @wcj/dark-mode + * Web Component that toggles dark mode 🌒 + * Github: https://github.com/jaywcjlove/dark-mode.git + * Website: https://jaywcjlove.github.io/dark-mode + * + * Licensed under the MIT license. + * @license Copyright © 2022. Licensed under the MIT License + * @author kenny wong + */ diff --git a/static/js/main.ec270b69.js.map b/static/js/main.ec270b69.js.map new file mode 100644 index 00000000..1bacf84c --- /dev/null +++ b/static/js/main.ec270b69.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/main.ec270b69.js","mappings":";qBAAA,SAASA,EAAoBC,GAC5B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBF,EAAM,KAEjD,MADAC,EAAEE,KAAO,mBACHF,CACP,CACAF,EAAoBK,KAAO,IAAM,GACjCL,EAAoBM,QAAUN,EAC9BA,EAAoBO,GAAK,IACzBC,EAAOC,QAAUT,sDCPjB,SACIU,WAAY,CAAE,GAAI,WAEtB,IAAIC,EAASC,EAAuB,EAAQ,OACxCC,EAAcD,EAAuB,EAAQ,OACjD,SAASA,EAAuBE,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAE,QAAWA,EAAO,CA2ChG,OA1CW,WACT,OAAoBH,EAAgB,QAAEK,cAAc,MAAO,KAAmBL,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CACpII,MAAO,CACLC,OAAQ,IACRC,OAAQ,oBACRC,aAAc,IAEFT,EAAgB,QAAEK,cAAc,MAAO,CACrDC,MAAO,CACLI,MAAO,MACPC,SAAU,KAEEX,EAAgB,QAAEK,cAAc,SAAU,CACxDO,OAAQ,kBACRN,MAAO,CACLI,MAAO,OACPH,OAAQ,QAEVM,MAAO,eACPC,QAAS,iHACOd,EAAgB,QAAEK,cAAc,MAAO,CACvDC,MAAO,CACLI,MAAO,MACPC,SAAU,MAEX,eAA6BX,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CACtFI,MAAO,CACLC,OAAQ,IACRC,OAAQ,oBACRC,aAAc,IAEFT,EAAgB,QAAEK,cAAc,MAAO,CACrDC,MAAO,CACLK,SAAU,KAEX,QAAsBX,EAAgB,QAAEK,cAAc,MAAO,CAC9DC,MAAO,CACLK,SAAU,GACVI,KAAM,IAEP,eACL,CACc,CA/CQ,GA+CJ,GAAI,WAEtB,IAAIf,EAASC,EAAuB,EAAQ,OACxCC,EAAcD,EAAuB,EAAQ,OACjD,SAASA,EAAuBE,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAE,QAAWA,EAAO,CAiEhG,OAhEW,WACT,OAAoBH,EAAgB,QAAEK,cAAc,MAAO,KAAmBL,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CACpIc,KAAM,WACNC,SAAS,GACKjB,EAAgB,QAAEK,cAAc,MAAO,CACrDC,MAAO,CACLY,UAAW,GACXC,WAAY,YAEb,UAAwBnB,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CACjFe,SAAS,GACKjB,EAAgB,QAAEK,cAAc,MAAO,CACrDC,MAAO,CACLK,SAAU,IACVS,SAAU,IACVF,UAAW,IACXC,WAAY,YAEb,SAAuBnB,EAAgB,QAAEK,cAAc,MAAO,CAC/DC,MAAO,CACLI,MAAO,OACPS,WAAY,YAEb,YAA0BnB,EAAgB,QAAEK,cAAc,MAAO,CAClEC,MAAO,CACLY,UAAW,GACXC,WAAY,YAEb,WAAyBnB,EAAgB,QAAEK,cAAc,MAAO,CACjEC,MAAO,CACLC,OAAQ,MAEKP,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CACvEe,SAAS,GACKjB,EAAgB,QAAEK,cAAc,MAAO,CACrDC,MAAO,CACLK,SAAU,IACVS,SAAU,IACVF,UAAW,GACXC,WAAY,YAEb,SAAuBnB,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CAChFc,KAAM,WACNC,SAAS,EACTX,MAAO,CACLI,MAAO,SAEKV,EAAgB,QAAEK,cAAc,MAAO,CACrDC,MAAO,CACLY,UAAW,GACXC,WAAY,YAEb,UAAwBnB,EAAgB,QAAEK,cAAc,MAAO,CAChEC,MAAO,CACLY,UAAW,GACXC,WAAY,YAEb,WAAyBnB,EAAgB,QAAEK,cAAc,MAAO,CACjEC,MAAO,CACLY,UAAW,GACXC,WAAY,YAEb,YACL,CACc,CArEQ,GAqEJ,GAAI,WAEtB,IAAInB,EAASC,EAAuB,EAAQ,OACxCC,EAAcD,EAAuB,EAAQ,OACjD,SAASA,EAAuBE,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAE,QAAWA,EAAO,CAchG,OAbW,WACT,OAAoBH,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CAC1EI,MAAO,CACLC,OAAQ,IACRC,OAAQ,oBACRC,aAAc,IAEFT,EAAgB,QAAEK,cAAc,MAAO,KAAM,aAA2BL,EAAgB,QAAEK,cAAc,MAAO,KAAM,eAA6BL,EAAgB,QAAEK,cAAc,MAAO,KAAM,eAA6BL,EAAgB,QAAEK,cAAc,MAAO,CACjRC,MAAO,CACLS,KAAM,IAEP,cACL,CACc,CAlBQ,GAkBJ,IAAK,WAEvB,IAAIf,EAASC,EAAuB,EAAQ,OACxCC,EAAcD,EAAuB,EAAQ,OACjD,SAASA,EAAuBE,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAE,QAAWA,EAAO,CAoChG,OAnCW,WACT,OAAoBH,EAAgB,QAAEK,cAAc,MAAO,KAAmBL,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CACpImB,SAAS,EACTf,MAAO,CACLC,OAAQ,IACRC,OAAQ,oBACRC,aAAc,IAEFT,EAAgB,QAAEK,cAAc,MAAO,KAAM,aAA2BL,EAAgB,QAAEK,cAAc,MAAO,KAAM,eAA6BL,EAAgB,QAAEK,cAAc,MAAO,KAAM,eAA6BL,EAAgB,QAAEK,cAAc,MAAO,CACjRC,MAAO,CACLS,KAAM,IAEP,eAA6Bf,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CACtFc,KAAM,WACNK,SAAS,EACTf,MAAO,CACLC,OAAQ,IACRC,OAAQ,oBACRC,aAAc,EACda,UAAW,KAECtB,EAAgB,QAAEK,cAAc,MAAO,CACrDC,MAAO,CACLC,OAAQ,UAET,aAA2BP,EAAgB,QAAEK,cAAc,MAAO,CACnEC,MAAO,CACLC,OAAQ,UAET,eAA6BP,EAAgB,QAAEK,cAAc,MAAO,CACrEC,MAAO,CACLS,KAAM,IAEP,eACL,CACc,CAxCS,GAwCL,IAAK,WAEvB,IAAIf,EAASC,EAAuB,EAAQ,OACxCC,EAAcD,EAAuB,EAAQ,OACjD,SAASA,EAAuBE,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAE,QAAWA,EAAO,CAmBhG,OAlBW,WACT,OAAoBH,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CAC1Ec,KAAM,WACNV,MAAO,CACLC,OAAQ,IACRC,OAAQ,oBACRC,aAAc,IAEFT,EAAgB,QAAEK,cAAc,MAAO,CACrDC,MAAO,CACLC,OAAQ,QAET,YAA0BP,EAAgB,QAAEK,cAAc,MAAO,CAClEC,MAAO,CACLC,OAAQ,QAET,eACL,CACc,CAvBS,GAuBL,IAAK,WAEvB,IAAIP,EAASC,EAAuB,EAAQ,OACxCC,EAAcD,EAAuB,EAAQ,OACjD,SAASA,EAAuBE,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAE,QAAWA,EAAO,CA4BhG,OA3BW,WACT,OAAoBH,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CAC1EI,MAAO,CACLC,OAAQ,IACRC,OAAQ,oBACRC,aAAc,IAEFT,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CACtEc,KAAM,YACQhB,EAAgB,QAAEK,cAAc,MAAO,CACrDC,MAAO,CACLC,OAAQ,QAET,YAA0BP,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CACnFI,MAAO,CACLC,OAAQ,QAEIP,EAAgB,QAAEK,cAAc,MAAO,KAAM,aAA2BL,EAAgB,QAAEK,cAAc,MAAO,CAC7HC,MAAO,CACLS,KAAM,IAEP,gBAA8Bf,EAAgB,QAAEK,cAAc,MAAO,CACtEC,MAAO,CACLS,KAAM,IAEP,cACL,CACc,CAhCS,GAgCL,IAAK,WAEvB,IAAIf,EAASC,EAAuB,EAAQ,OACxCC,EAAcD,EAAuB,EAAQ,OACjD,SAASA,EAAuBE,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAE,QAAWA,EAAO,CAyChG,OAxCW,WACT,OAAoBH,EAAgB,QAAEK,cAAc,MAAO,KAAmBL,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CACpIqB,UAAU,EACVjB,MAAO,CACLC,OAAQ,IACRC,OAAQ,oBACRC,aAAc,IAEFT,EAAgB,QAAEK,cAAc,MAAO,CACrDC,MAAO,CACLc,SAAU,IACVI,gBAAiB,YAElB,aAA2BxB,EAAgB,QAAEK,cAAc,MAAO,CACnEC,MAAO,CACLS,KAAM,IAEP,eAA6Bf,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CACtFqB,SAAU,CAAC,EAAG,GACdjB,MAAO,CACLC,OAAQ,IACRC,OAAQ,oBACRC,aAAc,EACda,UAAW,KAECtB,EAAgB,QAAEK,cAAc,MAAO,CACrDC,MAAO,CACLc,SAAU,GACVI,gBAAiB,YAElB,UAAwBxB,EAAgB,QAAEK,cAAc,MAAO,CAChEC,MAAO,CACLc,SAAU,KAEX,UAAwBpB,EAAgB,QAAEK,cAAc,MAAO,KAAM,UAAwBL,EAAgB,QAAEK,cAAc,MAAO,KAAM,UAAwBL,EAAgB,QAAEK,cAAc,MAAO,CAC1MC,MAAO,CACLS,KAAM,IAEP,WACL,CACc,CA7CS,GA6CL,IAAK,WAEvB,IAAIf,EAASC,EAAuB,EAAQ,OACxCC,EAAcD,EAAuB,EAAQ,OACjD,SAASA,EAAuBE,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAE,QAAWA,EAAO,CA4ChG,OA3CW,WACT,OAAoBH,EAAgB,QAAEK,cAAc,MAAO,KAAmBL,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CACpIuB,SAAS,EACTnB,MAAO,CACLC,OAAQ,IACRC,OAAQ,oBACRC,aAAc,IAEFT,EAAgB,QAAEK,cAAc,MAAO,CACrDC,MAAO,CACLc,SAAU,IACVI,gBAAiB,YAElB,aAA2BxB,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CACpFuB,SAAS,EACTT,KAAM,YACQhB,EAAgB,QAAEK,cAAc,MAAO,KAAM,YAA0BL,EAAgB,QAAEK,cAAc,MAAO,KAAM,gBAA8BL,EAAgB,QAAEK,cAAc,MAAO,CACvMC,MAAO,CACLS,KAAM,IAEP,eAA6Bf,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CACtFuB,QAAS,CAAC,EAAG,GACbnB,MAAO,CACLC,OAAQ,IACRC,OAAQ,oBACRC,aAAc,EACda,UAAW,KAECtB,EAAgB,QAAEK,cAAc,MAAO,CACrDC,MAAO,CACLc,SAAU,GACVI,gBAAiB,YAElB,UAAwBxB,EAAgB,QAAEK,cAAc,MAAO,CAChEC,MAAO,CACLc,SAAU,KAEX,UAAwBpB,EAAgB,QAAEK,cAAc,MAAO,KAAM,UAAwBL,EAAgB,QAAEK,cAAc,MAAO,KAAM,UAAwBL,EAAgB,QAAEK,cAAc,MAAO,CAC1MC,MAAO,CACLS,KAAM,IAEP,WACL,CACc,CAhDS,GAgDL,IAAK,WAGvB,SAASW,EAAQC,GAAgC,OAAOD,EAAU,mBAAqBE,QAAU,iBAAmBA,OAAOC,SAAW,SAAUF,GAAK,cAAcA,CAAG,EAAI,SAAUA,GAAK,OAAOA,GAAK,mBAAqBC,QAAUD,EAAEG,cAAgBF,QAAUD,IAAMC,OAAOG,UAAY,gBAAkBJ,CAAG,EAAGD,EAAQC,EAAI,CAC7T,IAAI3B,EAASC,EAAuB,EAAQ,OACxCC,EAAcD,EAAuB,EAAQ,OAC7C+B,EAAO,EAAQ,MACnB,SAAS/B,EAAuBE,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAE,QAAWA,EAAO,CAChG,SAAS8B,EAAQ1C,EAAG2C,GAAK,IAAIC,EAAIC,OAAO1C,KAAKH,GAAI,GAAI6C,OAAOC,sBAAuB,CAAE,IAAIV,EAAIS,OAAOC,sBAAsB9C,GAAI2C,IAAMP,EAAIA,EAAEW,QAAO,SAAUJ,GAAK,OAAOE,OAAOG,yBAAyBhD,EAAG2C,GAAGM,UAAY,KAAKL,EAAEM,KAAKC,MAAMP,EAAGR,EAAI,CAAE,OAAOQ,CAAG,CAC9P,SAASQ,EAAcpD,GAAK,IAAK,IAAI2C,EAAI,EAAGA,EAAIU,UAAUC,OAAQX,IAAK,CAAE,IAAIC,EAAI,MAAQS,UAAUV,GAAKU,UAAUV,GAAK,CAAC,EAAGA,EAAI,EAAID,EAAQG,OAAOD,IAAI,GAAIW,SAAQ,SAAUZ,GAAKa,EAAgBxD,EAAG2C,EAAGC,EAAED,GAAK,IAAKE,OAAOY,0BAA4BZ,OAAOa,iBAAiB1D,EAAG6C,OAAOY,0BAA0Bb,IAAMF,EAAQG,OAAOD,IAAIW,SAAQ,SAAUZ,GAAKE,OAAOc,eAAe3D,EAAG2C,EAAGE,OAAOG,yBAAyBJ,EAAGD,GAAK,GAAI,CAAE,OAAO3C,CAAG,CACtb,SAASwD,EAAgB5C,EAAKgD,EAAKC,GAA4L,OAAnLD,EAAME,EAAeF,MAAiBhD,EAAOiC,OAAOc,eAAe/C,EAAKgD,EAAK,CAAEC,MAAOA,EAAOZ,YAAY,EAAMc,cAAc,EAAMC,UAAU,IAAkBpD,EAAIgD,GAAOC,EAAgBjD,CAAK,CAC3O,SAASqD,EAAgBC,EAAUC,GAAe,GAT7BC,EAS8CF,IATlB,OAAtBG,EASkDF,IATF,qBAAX9B,QAA0BgC,EAAMhC,OAAOiC,aAAyBD,EAAMhC,OAAOiC,aAAaF,GAAuBA,aAAgBC,GASpG,MAAM,IAAIE,UAAU,qCATjH,IAAqBH,EAAMC,CAS8H,CACzJ,SAASG,EAAkBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAMpB,OAAQqB,IAAK,CAAE,IAAIC,EAAaF,EAAMC,GAAIC,EAAW3B,WAAa2B,EAAW3B,aAAc,EAAO2B,EAAWb,cAAe,EAAU,UAAWa,IAAYA,EAAWZ,UAAW,GAAMnB,OAAOc,eAAec,EAAQX,EAAec,EAAWhB,KAAMgB,EAAa,CAAE,CAE5U,SAASd,EAAee,GAAO,IAAIjB,EACnC,SAAsBkB,EAAOC,GAAQ,GAAuB,WAAnB5C,EAAQ2C,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAMzC,OAAO4C,aAAc,QAAaC,IAATF,EAAoB,CAAE,IAAIG,EAAMH,EAAKI,KAAKN,EAAOC,GAAQ,WAAY,GAAqB,WAAjB5C,EAAQgD,GAAmB,OAAOA,EAAK,MAAM,IAAIZ,UAAU,+CAAiD,CAAE,OAAiB,WAATQ,EAAoBM,OAASC,QAAQR,EAAQ,CADnVS,CAAaV,EAAK,UAAW,MAAwB,WAAjB1C,EAAQyB,GAAoBA,EAAMyB,OAAOzB,EAAM,CAG5H,SAAS4B,EAAgBpD,EAAGqD,GAA6I,OAAxID,EAAkB3C,OAAO6C,eAAiB7C,OAAO6C,eAAeC,OAAS,SAAyBvD,EAAGqD,GAAsB,OAAjBrD,EAAEwD,UAAYH,EAAUrD,CAAG,EAAUoD,EAAgBpD,EAAGqD,EAAI,CACvM,SAASI,EAAaC,GAAW,IAAIC,EAGrC,WAAuC,GAAuB,qBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFC,QAAQ5D,UAAU6D,QAAQjB,KAAKY,QAAQC,UAAUG,QAAS,IAAI,WAAa,MAAY,CAAM,CAAE,MAAOpG,GAAK,OAAO,CAAO,CAAE,CAHvQsG,GAA6B,OAAO,WAAkC,IAAsCC,EAAlCC,EAAQC,EAAgBX,GAAkB,GAAIC,EAA2B,CAAE,IAAIW,EAAYD,EAAgBE,MAAMpE,YAAagE,EAASP,QAAQC,UAAUO,EAAOnD,UAAWqD,EAAY,MAASH,EAASC,EAAMrD,MAAMwD,KAAMtD,WAAc,OACpX,SAAoCuD,EAAMxB,GAAQ,GAAIA,IAA2B,WAAlBjD,EAAQiD,IAAsC,oBAATA,GAAwB,OAAOA,EAAa,QAAa,IAATA,EAAmB,MAAM,IAAIb,UAAU,4DAA+D,OAC1P,SAAgCqC,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIC,eAAe,6DAAgE,OAAOD,CAAM,CAD4FE,CAAuBF,EAAO,CAD4FG,CAA2BJ,KAAMJ,EAAS,CAAG,CAIxa,SAASE,EAAgBrE,GAA+J,OAA1JqE,EAAkB5D,OAAO6C,eAAiB7C,OAAOmE,eAAerB,OAAS,SAAyBvD,GAAK,OAAOA,EAAEwD,WAAa/C,OAAOmE,eAAe5E,EAAI,EAAUqE,EAAgBrE,EAAI,CA2EnN,OA1EwB,SAAU6E,IAPlC,SAAmBC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI5C,UAAU,sDAAyD2C,EAAS1E,UAAYK,OAAOuE,OAAOD,GAAcA,EAAW3E,UAAW,CAAED,YAAa,CAAEsB,MAAOqD,EAAUlD,UAAU,EAAMD,cAAc,KAAWlB,OAAOc,eAAeuD,EAAU,YAAa,CAAElD,UAAU,IAAcmD,GAAY3B,EAAgB0B,EAAUC,EAAa,CAQjcE,CAAUC,EAAML,GAChB,IAZoB9C,EAAaoD,EAAYC,EAYzCC,EAAS5B,EAAayB,GAC1B,SAASA,EAAK5C,GACZ,IAAIgD,EAMJ,OALAzD,EAAgB0C,KAAMW,IACtBI,EAAQD,EAAOrC,KAAKuB,KAAMjC,IACpBiD,MAAQ,CACZxG,MAAO,KAEFuG,CACT,CA6DA,OAlFoBvD,EAsBPmD,GAtBoBC,EAsBd,CAAC,CAClB3D,IAAK,UACLC,MAAO,WACL8C,KAAKiB,SAAS,CACZzG,MAA4B,IAArBwF,KAAKgB,MAAMxG,MAAc,IAAM,GAE1C,GACC,CACDyC,IAAK,SACLC,MAAO,WACL,IAAIgE,EAAO,CACTC,WAAY,GAOd,OALyB,IAArBnB,KAAKgB,MAAMxG,MACb0G,EAAK1G,MAAQ,KAEb0G,EAAK1G,MAAQwF,KAAKgB,MAAMxG,MAENV,EAAgB,QAAEK,cAAcL,EAAgB,QAAEsH,SAAU,KAAmBtH,EAAgB,QAAEK,cAAc,MAAO,CACxIC,MAAO,CACLiH,aAAc,KAEFvH,EAAgB,QAAEK,cAAc2B,EAAKwF,OAAQ,CAC3DC,KAAM,UACNC,QAASxB,KAAKwB,QAAQxC,KAAKgB,OACL,IAArBA,KAAKgB,MAAMxG,MAAc,2BAAS,6BAAuBV,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CAClHmB,SAAS,EACTE,SAA+B,IAArB2E,KAAKgB,MAAMxG,MACrBJ,MAAO,CACLE,OAAQ,oBACRC,aAAc,IAEFT,EAAgB,QAAEK,cAAc,MAAO,CACrDC,MAAOqC,EAAcA,EAAc,CAAC,EAAGyE,GAAO,CAAC,EAAG,CAChDO,SAAU,YAEE3H,EAAgB,QAAEK,cAAc2B,EAAK4F,KAAM,KAAmB5H,EAAgB,QAAEK,cAAc2B,EAAK4F,KAAKC,KAAM,CAC5HC,KAAM,WACNC,KAAM,qBACNC,QAAQ,IACOhI,EAAgB,QAAEK,cAAc2B,EAAK4F,KAAKC,KAAM,CAC/DC,KAAM,WACNC,KAAM,6BACS/H,EAAgB,QAAEK,cAAc2B,EAAK4F,KAAKC,KAAM,CAC/DC,KAAM,YACNC,KAAM,+CACS/H,EAAgB,QAAEK,cAAc2B,EAAK4F,KAAKC,KAAM,CAC/DC,KAAM,UACNC,KAAM,6BACS/H,EAAgB,QAAEK,cAAc2B,EAAK4F,KAAKK,QAAS,MAAoBjI,EAAgB,QAAEK,cAAc2B,EAAK4F,KAAKC,KAAM,CACtIC,KAAM,MACNC,KAAM,+BACW/H,EAAgB,QAAEK,cAAc,MAAO,CACxDC,MAAO,CACLS,KAAM,EACNJ,SAAU,KAEX,eACL,MAhF0EoD,EAAkBL,EAAY3B,UAAW+E,GAAiBC,GAAahD,EAAkBL,EAAaqD,GAAc3E,OAAOc,eAAeQ,EAAa,YAAa,CAAEH,UAAU,IAkFrPsD,CACT,CAzEwB,CAyEtB7G,EAAgB,QAAEkI,UACN,CAjGS,GAiGL,IAAK,WAEvB,IAAIlI,EAASC,EAAuB,EAAQ,OACxCC,EAAcD,EAAuB,EAAQ,OAC7CkI,EAAY,CAAC,eACjB,SAASlI,EAAuBE,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAE,QAAWA,EAAO,CAChG,SAASiI,IAAiS,OAApRA,EAAWhG,OAAOiG,OAASjG,OAAOiG,OAAOnD,OAAS,SAAUlB,GAAU,IAAK,IAAIE,EAAI,EAAGA,EAAItB,UAAUC,OAAQqB,IAAK,CAAE,IAAIoE,EAAS1F,UAAUsB,GAAI,IAAK,IAAIf,KAAOmF,EAAclG,OAAOL,UAAUwG,eAAe5D,KAAK2D,EAAQnF,KAAQa,EAAOb,GAAOmF,EAAOnF,GAAU,CAAE,OAAOa,CAAQ,EAAUoE,EAAS1F,MAAMwD,KAAMtD,UAAY,CAClV,SAAS4F,EAAyBF,EAAQG,GAAY,GAAc,MAAVH,EAAgB,MAAO,CAAC,EAAG,IAAkEnF,EAAKe,EAAnEF,EACzF,SAAuCsE,EAAQG,GAAY,GAAc,MAAVH,EAAgB,MAAO,CAAC,EAAG,IAA2DnF,EAAKe,EAA5DF,EAAS,CAAC,EAAO0E,EAAatG,OAAO1C,KAAK4I,GAAqB,IAAKpE,EAAI,EAAGA,EAAIwE,EAAW7F,OAAQqB,IAAOf,EAAMuF,EAAWxE,GAAQuE,EAASE,QAAQxF,IAAQ,IAAaa,EAAOb,GAAOmF,EAAOnF,IAAQ,OAAOa,CAAQ,CADhN4E,CAA8BN,EAAQG,GAAuB,GAAIrG,OAAOC,sBAAuB,CAAE,IAAIwG,EAAmBzG,OAAOC,sBAAsBiG,GAAS,IAAKpE,EAAI,EAAGA,EAAI2E,EAAiBhG,OAAQqB,IAAOf,EAAM0F,EAAiB3E,GAAQuE,EAASE,QAAQxF,IAAQ,GAAkBf,OAAOL,UAAU+G,qBAAqBnE,KAAK2D,EAAQnF,KAAgBa,EAAOb,GAAOmF,EAAOnF,GAAQ,CAAE,OAAOa,CAAQ,CAoC3e,OAlCW,WACT,OAAoBhE,EAAgB,QAAEK,cAAc,MAAO,KAAmBL,EAAgB,QAAEK,cAAcH,EAAqB,QAAG,CACpI6I,UAAW,SAAmBC,GAC5B,IAAIC,EAAcD,EAAKC,YACrBhF,EAAQuE,EAAyBQ,EAAMb,GACzC,OAAoBnI,EAAgB,QAAEK,cAAc,MAAO+H,EAAS,CAAC,EAAGnE,EAAO,CAC7E3D,MAAO,CACL4I,UAAW,OACX/H,WAAY,iBAECnB,EAAgB,QAAEK,cAAc,MAAO,CACtD4I,YAAaA,EACb3I,MAAO,CACLkB,gBAAiB,YACjB0H,UAAW,UAGjB,EACA5I,MAAO,CACLC,OAAQ,IACRC,OAAQ,oBACRC,aAAc,IAEFT,EAAgB,QAAEK,cAAc,MAAO,CACrDC,MAAO,CACLK,SAAU,KAEX,QAAsBX,EAAgB,QAAEK,cAAc,MAAO,CAC9DC,MAAO,CACLK,SAAU,GACVI,KAAM,IAEP,eACL,CACc,CA3CS,IA4CnBoI,KAAM,CACR,GAAM,CACJ,KAAQ,GACR,KAAQ,CACN,WAAc,OACd,YAAe,OACf,QAAW,QAEb,KAAQ,2gDACR,SAAY,MACZ,MAAS,+1BAEX,GAAM,CACJ,KAAQ,GACR,KAAQ,CACN,WAAc,OACd,YAAe,OACf,QAAW,QAEb,KAAQ,opEACR,SAAY,MACZ,MAAS,2jCAEX,GAAM,CACJ,KAAQ,GACR,KAAQ,CACN,WAAc,OACd,YAAe,OACf,QAAW,QAEb,KAAQ,8yBACR,SAAY,MACZ,MAAS,qVAEX,IAAO,CACL,KAAQ,IACR,KAAQ,CACN,WAAc,OACd,YAAe,OACf,QAAW,QAEb,KAAQ,m9CACR,SAAY,MACZ,MAAS,yqBAEX,IAAO,CACL,KAAQ,IACR,KAAQ,CACN,WAAc,OACd,YAAe,OACf,QAAW,QAEb,KAAQ,uuBACR,SAAY,MACZ,MAAS,+UAEX,IAAO,CACL,KAAQ,IACR,KAAQ,CACN,WAAc,OACd,YAAe,OACf,QAAW,QAEb,KAAQ,4lCACR,SAAY,MACZ,MAAS,+eAEX,IAAO,CACL,KAAQ,IACR,KAAQ,CACN,WAAc,OACd,YAAe,OACf,QAAW,QAEb,KAAQ,uhDACR,SAAY,MACZ,MAAS,guBAEX,IAAO,CACL,KAAQ,IACR,KAAQ,CACN,WAAc,OACd,YAAe,OACf,QAAW,QAEb,KAAQ,6xDACR,SAAY,MACZ,MAAS,40BAEX,IAAO,CACL,KAAQ,IACR,KAAQ,CACN,WAAc,OACd,YAAe,OACf,QAAW,QAEb,KAAQ,kpPACR,SAAY,MACZ,MAAS,ujDAEX,IAAO,CACL,KAAQ,IACR,KAAQ,CACN,WAAc,OACd,YAAe,OACf,QAAW,QAEb,KAAQ,u9EACR,SAAY,MACZ,MAAS,qpBAGTb,OAAQ,69YACRc,SAAS,GACTC,aAAa,kBC/jBjB,MAAMC,EAASC,EAAAA,EAAuBD,OAEhCE,EAAYC,SAASC,eAAe,SAC7BC,EAAAA,EAAAA,GAAWH,GACnBI,QACHC,EAAAA,EAAAA,KAACN,EAAAA,EAAsB,CACrBjB,OAAQa,EAAKb,OACbvI,WAAYoJ,EAAKpJ,WACjBoJ,KAAMA,EAAKA,KACXtI,MAAM,cACNiJ,YAAY,mGACZC,QAAO,IAAAC,OAAMC,SAAUC,UAEvBL,EAAAA,EAAAA,KAACP,EAAM,CAACa,KAAK,kJCfbhC,EAAY,CAAC,YAAa,YAAa,WAAY,OAAQ,WAAY,UAAW,YAAa,UAAW,UAAW,YAAa,cAKvH,MAAMiC,UAAcC,EAAAA,UACjCvI,WAAAA,CAAYmC,GACVqG,MAAMrG,GACNiC,KAAKgB,MAAQ,CACXqD,UAAU,GAEZrE,KAAKsE,aAAU,EACftE,KAAKuE,gBAAa,EAClBvE,KAAKwE,YAAS,EACdxE,KAAKyE,YAAS,EACdzE,KAAK0E,UAAO,EACZ1E,KAAKlC,YAAS,EACdkC,KAAK2E,cAAW,EAChB3E,KAAK4E,eAAY,EACjB5E,KAAK6E,cAAW,EAChB7E,KAAK8E,eAAY,EACjB9E,KAAK+E,eAAY,EACjB/E,KAAKgF,gBAAa,EAClBhF,KAAKiF,aAAU,EACfjF,KAAKkF,cAAW,EAChBlF,KAAKmF,UAAYnF,KAAKmF,UAAUnG,KAAKgB,MACrCA,KAAKoF,WAAapF,KAAKoF,WAAWpG,KAAKgB,KACzC,CACAqF,oBAAAA,GACErF,KAAKsF,aACP,CACAA,WAAAA,GACEC,OAAOC,oBAAoB,YAAaxF,KAAKoF,YAAY,GACzDG,OAAOC,oBAAoB,UAAWxF,KAAKmF,WAAW,EACxD,CACApC,WAAAA,CAAYwB,EAAYkB,GACtB,GAAKA,EAAI3H,QAAWkC,KAAKsE,QAAzB,CAGAtE,KAAKuE,WAAaA,EAClBvE,KAAKwE,OAASiB,EAAIC,QAClB1F,KAAKyE,OAASgB,EAAIE,QAClB3F,KAAK0E,MAAO,EACZ1E,KAAKlC,OAAS2H,EAAI3H,OAAO8H,WACzB,IAAIC,EAAa7F,KAAKlC,OAAOgI,uBACzBC,EAAa/F,KAAKlC,OAAOkI,mBAC7BhG,KAAK2E,SAAW3E,KAAKsE,QAAQ2B,YAC7BjG,KAAK4E,UAAY5E,KAAKsE,QAAQ4B,aAC1BL,IACF7F,KAAK6E,SAAWgB,EAAWI,YAC3BjG,KAAK+E,UAAYc,EAAWK,cAE1BH,IACF/F,KAAK8E,UAAYiB,EAAWE,YAC5BjG,KAAKgF,WAAae,EAAWG,cAE/BX,OAAOY,iBAAiB,YAAanG,KAAKoF,YAC1CG,OAAOY,iBAAiB,UAAWnG,KAAKmF,WAAW,GACnDnF,KAAKiB,SAAS,CACZoD,UAAU,GArBZ,CAuBF,CACAe,UAAAA,CAAWK,GACT,GAAKzF,KAAK0E,KAAV,CAGK1E,KAAKgB,MAAMqD,UACdrE,KAAKiB,SAAS,CACZoD,UAAU,IAGd,IAAI,KACFvJ,EAAI,WACJsK,GACEpF,KAAKjC,MACLgI,EAAa/F,KAAKlC,OAAOkI,mBACzBH,EAAa7F,KAAKlC,OAAOgI,uBACzBM,EAAIX,EAAIC,QAAU1F,KAAKwE,OACvB6B,EAAIZ,EAAIE,QAAU3F,KAAKyE,OAG3B,GAFAzE,KAAKiF,QAAU,EACfjF,KAAKkF,SAAW,EACH,eAATpK,EAAuB,CAGzB,GAFAkF,KAAKiF,QAAUjF,KAAK6E,SAAWuB,GAAK,EAAIpG,KAAK6E,SAAWuB,EAAI,EAC5DpG,KAAKkF,SAAWlF,KAAK8E,UAAYsB,GAAK,EAAIpG,KAAK8E,UAAYsB,EAAI,EAC1C,IAAjBpG,KAAKiF,SAAmC,IAAlBjF,KAAKkF,SAC7B,OAEFlF,KAAKiF,QAAmF,KAAxEjF,KAAKiF,QAAUjF,KAAK2E,UAAY,EAAI,EAAI3E,KAAKiF,QAAUjF,KAAK2E,UAC5E3E,KAAKkF,SAAsF,KAA1ElF,KAAKkF,SAAWlF,KAAK2E,UAAY,EAAI,EAAI3E,KAAKkF,SAAWlF,KAAK2E,UAC3EkB,GAAcE,IAChBF,EAAWzL,MAAMI,MAAQwF,KAAKiF,QAAU,IACxCc,EAAW3L,MAAMI,MAAQwF,KAAKkF,SAAW,IAE7C,CACA,GAAa,aAATpK,GAAuBkF,KAAK+E,UAAYsB,GAAK,GAAKrG,KAAKgF,WAAaqB,GAAK,EAAG,CAK9E,GAJArG,KAAKiF,QAAUjF,KAAK+E,UAAYsB,GAAK,EAAIrG,KAAK+E,UAAYsB,EAAI,EAC9DrG,KAAKkF,SAAWlF,KAAKgF,WAAaqB,GAAK,EAAIrG,KAAKgF,WAAaqB,EAAI,EACjErG,KAAKiF,QAAqF,KAA1EjF,KAAKiF,QAAUjF,KAAK4E,WAAa,EAAI,EAAI5E,KAAKiF,QAAUjF,KAAK4E,WAC7E5E,KAAKkF,SAAwF,KAA5ElF,KAAKkF,SAAWlF,KAAK4E,WAAa,EAAI,EAAI5E,KAAKkF,SAAWlF,KAAK4E,WAC3D,IAAjB5E,KAAKiF,SAAmC,IAAlBjF,KAAKkF,SAC7B,OAEEW,GAAcE,IAChBF,EAAWzL,MAAMC,OAAS2F,KAAKiF,QAAU,IACzCc,EAAW3L,MAAMC,OAAS2F,KAAKkF,SAAW,IAE9C,CACAE,GAAcA,EAAWpF,KAAKiF,QAASjF,KAAKkF,SAAUlF,KAAKuE,WA1C3D,CA2CF,CACAY,SAAAA,GACE,IAAI,UACFA,GACEnF,KAAKjC,MACTiC,KAAK0E,MAAO,EACZS,GAAaA,EAAUnF,KAAKiF,QAASjF,KAAKkF,SAAUlF,KAAKuE,YACzDvE,KAAKsF,cACLtF,KAAKiB,SAAS,CACZoD,UAAU,GAEd,CACAX,MAAAA,GACE,IAAI4C,EACAC,EAAcvG,KAAKjC,OACrB,UACEyI,EAAS,UACTC,EAAS,SACTzC,EAAQ,KACRlJ,EAAI,QACJC,GAAwD,OAA7CuL,EAAsBtG,KAAKjC,MAAMhD,SAAmBuL,EAAsBtG,KAAKjC,MAAM1C,UAAQ,UACxGwH,EAAS,QACT1H,EAAO,QACPI,GACEgL,EACJG,GAAQhE,EAAAA,EAAAA,GAA8B6D,EAAatE,IACjD,SACFoC,GACErE,KAAKgB,MACL2F,EAAM,CAACH,EAAWC,EAAWD,EAAY,IAAM1L,EAAMuJ,EAAW,WAAa,MAAMjI,OAAOqD,SAASmH,KAAK,KAAKC,OAC7GC,EAAQ3C,EAAAA,SAAe4C,QAAQ/C,GACnC,OAAoBL,EAAAA,EAAAA,KAAK,OAAOzB,EAAAA,EAAAA,GAAS,CACvCuE,UAAWE,GACVD,EAAO,CACRM,IAAKC,GAAQjH,KAAKsE,QAAU2C,EAC5BjD,SAAUG,EAAAA,SAAe+C,IAAIJ,GAAO,CAACK,EAASC,KAC5C,IAAIrJ,EAAQ7B,OAAOiG,OAAO,CAAC,EAAGgF,EAAQpJ,MAAO,CAC3C0I,UAAW,CAACD,EAAY,QAASW,EAAQpJ,MAAM0I,WAAWrK,OAAOqD,SAASmH,KAAK,KAAKC,OACpFzM,OAAO8H,EAAAA,EAAAA,GAAS,CAAC,EAAGiF,EAAQpJ,MAAM3D,SAEhCiN,GAAyB,IAAZtM,GAAoBA,GAAWA,EAAQuM,SAASF,EAAM,KAAM,EACzEG,EAAW,CACbd,UAAW,CAACD,EAAY,OAAQrL,EAAUqL,EAAY,YAAc,KAAOrL,EAAqC,KAA3BqL,EAAY,cAAqBpK,OAAOqD,SAASmH,KAAK,KAAKC,UAElI,IAAZtL,GAAoBA,GAAWA,EAAQ+L,SAASF,EAAM,MACxDG,EAASd,UAAY,CAACc,EAASd,UAAWlL,EAAU,UAAY,MAAMa,OAAOqD,SAASmH,KAAK,KAAKC,QAElG,IAAIW,EAAS,KAUb,OATY,IAARJ,GAAaC,GAAcxE,EAC7B2E,EAAS3E,GAAUX,EAAAA,EAAAA,GAAS,CAAC,EAAGqF,EAAU,CACxCxE,YAAa/C,KAAK+C,YAAY/D,KAAKgB,KAAMoH,EAAM,MAEhC,IAARA,GAAaC,IACtBG,EAAsBrD,EAAAA,cAAoB,OAAOjC,EAAAA,EAAAA,GAAS,CAAC,EAAGqF,IAAwB5D,EAAAA,EAAAA,KAAK,MAAO,CAChGZ,YAAa/C,KAAK+C,YAAY/D,KAAKgB,KAAMoH,EAAM,QAG/BK,EAAAA,EAAAA,MAAMtD,EAAAA,SAAgB,CACxCH,SAAU,CAACwD,EAAqBrD,EAAAA,aAAmBgD,GAASjF,EAAAA,EAAAA,GAAS,CAAC,EAAGnE,MACxEqJ,EAAI,MAGb,EAEFlD,EAAMwD,aAAe,CACnBlB,UAAW,UACXnL,UAAU,EACVP,KAAM,oDCvKR,MAAMmB,EAAEsH,SAAelK,EAAE,oBAA0BsO,EAAE,YAAkBlM,EAAE,oBAAyDmM,EAAE,QAAc5L,EAAE,OAAa6L,EAAE,SAAC5L,EAAE5C,GAAQ,IAANsO,EAACjL,UAAAC,OAAA,QAAA4B,IAAA7B,UAAA,GAAAA,UAAA,GAACrD,EAAK6C,OAAOc,eAAef,EAAE0L,EAAE,CAACrL,YAAW,EAAKwL,GAAAA,GAAM,MAAM7L,EAAE+D,KAAK+H,aAAa1O,GAAG,OAAW,OAAJ4C,EAAS,GAAGA,CAAC,EAAE+L,GAAAA,CAAI/L,GAAG+D,KAAKiI,aAAa5O,EAAE4C,EAAE,GAAG,EAA2K,MAAMiM,UAAUC,YAAY,6BAAWC,GAAqB,MAAM,CAAC,OAAOR,EAAE5L,EAAE2L,EAAE,CAAc/L,WAAAA,GAAcwI,QAAQvH,EAAAmD,KAAA,aAAxB3G,GAAwB2G,KAAK/D,GAAG,CAACoM,iBAAAA,GAAoBR,EAAE7H,KAAK,QAAQ6H,EAAE7H,KAAKhE,GAAG6L,EAAE7H,KAAK4H,GAAlV,SAAC3L,EAAE5C,GAAQ,IAANsO,EAACjL,UAAAC,OAAA,QAAA4B,IAAA7B,UAAA,GAAAA,UAAA,GAACrD,EAAK6C,OAAOc,eAAef,EAAE0L,EAAE,CAACrL,YAAW,EAAKwL,GAAAA,GAAM,OAAO9H,KAAKsI,aAAajP,EAAE,EAAE2O,GAAAA,CAAI/L,GAAMA,EAAG+D,KAAKiI,aAAa5O,EAAE,IAAS2G,KAAKuI,gBAAgBlP,EAAG,GAAG,CAAsLmP,CAAExI,KAAK2H,GAAG,MAAMO,EAAEO,aAAaC,QAAQrP,GAAM6O,GAAG,CAACN,EAAE5L,GAAGsL,SAASY,KAAIlI,KAAKlF,KAAKoN,EAAElI,KAAK2I,WAAU,GAAQ3I,KAAK2I,YAAYT,GAAGO,aAAaG,QAAQvP,EAAE2G,KAAKlF,MAAM,MAAM+N,EAAE,CAACjB,EAAE5L,GAAGsL,SAASY,GAAMlI,KAAK2I,WAAWT,EAAGlI,KAAKvE,KAAY8J,OAAOuD,YAAYvD,OAAOuD,WAAW,gCAAgCC,UAAS/I,KAAKlF,KAAKkB,EAAEgE,KAAKvE,KAAO8J,OAAOuD,YAAYvD,OAAOuD,WAAW,iCAAiCC,UAAS/I,KAAKlF,KAAK8M,EAAE5H,KAAKvE,MAASuE,KAAK2I,WAAYE,IAAGtD,OAAOuD,WAAW,iCAAiCE,SAAS/M,IAAI+D,KAAKlF,KAAKmB,EAAE8M,QAAQnB,EAAE5L,EAAEgE,KAAKvE,GAAG,EAAE8J,OAAOuD,WAAW,gCAAgCE,SAAS/M,IAAI+D,KAAKlF,KAAKmB,EAAE8M,QAAQ/M,EAAE4L,EAAE5H,KAAKvE,GAAG,GAAU,IAAIwN,kBAAkB,CAACtB,EAAEC,KAAK5H,KAAKlF,KAAKmB,EAAEiN,gBAAgBC,QAAQC,UAAapJ,KAAK2I,WAAWE,IAAGJ,aAAaG,QAAQvP,EAAE2G,KAAKlF,MAAMkF,KAAKhC,EAAj0C,uBAAq0C,CAAC2K,UAAU3I,KAAK2I,aAAY3I,KAAK4H,IAAI5H,KAAKhC,EAAEvC,EAAE,CAAC4N,YAAYrJ,KAAKlF,MAAM,IAAMwO,QAAQrN,EAAEiN,gBAAgB,CAACK,YAAW,IAAOvJ,KAAKhC,EAAEvC,EAAE,CAAC4N,YAAYrJ,KAAKlF,OAAOkF,KAAK4H,GAAG,CAAC4B,wBAAAA,CAAyBvN,EAAE0L,EAAElM,GAAG,GAAO,SAAJQ,GAAY0L,IAAIlM,GAAG,CAACmM,EAAE5L,GAAGsL,SAAS7L,GAAG,CAAC,MAAMQ,EAAEwM,aAAaC,QAAQrP,GAAM2G,KAAKlF,OAAOmB,GAAG+D,KAAKlF,KAAKW,EAAEuE,KAAK4H,IAAI5H,KAAKvE,KAAYuE,KAAKlF,MAAMkF,KAAKlF,OAAOmB,IAAG+D,KAAK4H,IAAI5H,KAAKvE,IAAI,MAAUQ,IAAI2L,GAAG3L,IAAID,GAAI2L,IAAIlM,GAAGuE,KAAK4H,IAAW,cAAJ3L,GAAyC,mBAAjB+D,KAAK2I,YAAuB3I,KAAK2I,UAAUF,aAAaG,QAAQvP,EAAE2G,KAAKlF,MAAM2N,aAAagB,WAAWpQ,GAAG,CAACoC,CAAAA,GAAIQ,EAAEiN,gBAAgBjB,aAAa,kBAAkBjI,KAAKlF,KAAK,CAAC8M,CAAAA,GAAI5H,KAAK4B,KAAK8H,YAAY1J,KAAKlF,OAAO8M,EAAE,eAAK,eAAK5H,KAAK6B,KAAK6H,YAAY1J,KAAKlF,OAAO8M,EAAE5H,KAAK+H,aAAa/L,GAAGgE,KAAK+H,aAAaH,IAAO5H,KAAK6B,KAAK6H,aAAa1J,KAAK6B,KAAK8H,eAAe3J,KAAK6B,MAAM7B,KAAK6B,KAAK8H,cAAcC,YAAY5J,KAAK6B,KAAM,CAAC5F,CAAAA,GAAI,IAAI0L,EAAE3H,KAAK6J,aAAa,CAAC/O,KAAK,SAASkF,KAAK8J,MAAM7N,EAAE9B,cAAc,QAAQ6F,KAAK8J,MAAM7B,aAAa,QAAQ,WAAWjI,KAAK8J,MAAMC,QAAQ,KAAK/J,KAAKlF,KAAKkF,KAAKlF,OAAO8M,EAAE5L,EAAE4L,EAAK5H,KAAK2I,WAAWF,aAAaG,QAAQvP,EAAE2G,KAAKlF,MAAMkF,KAAKvE,IAAIuE,KAAK4H,GAAG,EAAED,EAAEqC,YAAYhK,KAAK8J,OAAO9J,KAAK4B,KAAK3F,EAAE9B,cAAc,QAAQ6F,KAAK8J,MAAME,YAAYhK,KAAK4B,MAAM5B,KAAK6B,KAAK5F,EAAE9B,cAAc,QAAQ6F,KAAK8J,MAAME,YAAYhK,KAAK6B,MAAM,MAA2d7D,EAAE,oBAAgD,IAApB/B,EAAEuH,eAAexF,GAAS,CAAC,IAAIwK,EAAEvM,EAAE9B,cAAc,SAASqO,EAAE9O,GAAGsE,EAAEwK,EAAEkB,YAArjB,6cAAmkBzN,EAAEgO,KAAKD,YAAYxB,EAAE,CAAC,IAAIN,EAAEjM,EAAE9B,cAAc,SAAS+N,EAAEwB,YAAW,uIAAwI/B,EAAEqC,YAAY9B,EAAE,CAAClK,CAAAA,CAAE/B,EAAE5C,GAAG2G,KAAKkK,cAAc,IAAIC,YAAYlO,EAAE,CAACmO,SAAQ,EAAKC,UAAS,EAAKC,OAAOjR,IAAI,EAAEkR,eAAeC,OAAO,YAAYtC,8BC6D1iH,SAASuC,EAAYC,EAAYC,GAK/B,OAHYC,MAAMC,QAAQF,GAAQA,EAAO,CAACA,IAG7BG,MAAK,SAAUC,GAI1B,MAHqB,kBAAVA,IACTA,EAAQ,IAAIC,OAAOD,IAEdA,EAAMJ,KAAKD,GAAc,GAClC,GACF,uCClFA/Q,EAAOC,QAAU,CAChBqR,SAAU,WACT,OAAO,CACR,EACAC,UAAW,WACV,OAAO,CACR,gCCJD,IAAIC,EAAmBC,EAAQ,MAC3BC,EAAWD,EAAQ,MACnBE,EAAmC,WACnC,SAASA,IACLtL,KAAKuL,QAAU,CAAC,EAChBvL,KAAKwL,iBAAmB,CAAC,EACzBxL,KAAKyL,qBAAuB,CAAC,EAC7BzL,KAAK0L,oBAAqB,CAC9B,CAuGA,OAtGAJ,EAAkBzP,UAAU8P,wBAA0B,WAElD,IADA,IAAIJ,EAAU,GACLK,EAAK,EAAGA,EAAKlP,UAAUC,OAAQiP,IACpCL,EAAQK,GAAMlP,UAAUkP,GAE5B,IAAK,IAAIC,EAAK,EAAGC,EAAYP,EAASM,EAAKC,EAAUnP,OAAQkP,IAAM,CAC/D,IAAIE,EAASD,EAAUD,GACvB7L,KAAKuL,QAAQQ,GAAU,UAC3B,CACA,OAAO/L,IACX,EACAsL,EAAkBzP,UAAUmQ,0BAA4B,WAEpD,IADA,IAAIT,EAAU,GACLK,EAAK,EAAGA,EAAKlP,UAAUC,OAAQiP,IACpCL,EAAQK,GAAMlP,UAAUkP,GAE5B,IAAK,IAAIC,EAAK,EAAGI,EAAYV,EAASM,EAAKI,EAAUtP,OAAQkP,IAAM,CAC/D,IAAIE,EAASE,EAAUJ,UAChB7L,KAAKuL,QAAQQ,EACxB,CACA,OAAO/L,IACX,EACAsL,EAAkBzP,UAAUqQ,uBAAyB,WAEjD,IADA,IAAIX,EAAU,GACLK,EAAK,EAAGA,EAAKlP,UAAUC,OAAQiP,IACpCL,EAAQK,GAAMlP,UAAUkP,GAE5B,IAAK,IAAIC,EAAK,EAAGM,EAAYZ,EAASM,EAAKM,EAAUxP,OAAQkP,IAAM,CAC/D,IAAIE,EAASI,EAAUN,GACvB7L,KAAKuL,QAAQQ,GAAU,SAC3B,CACA,OAAO/L,IACX,EACAsL,EAAkBzP,UAAUuQ,yBAA2B,WAEnD,IADA,IAAIb,EAAU,GACLK,EAAK,EAAGA,EAAKlP,UAAUC,OAAQiP,IACpCL,EAAQK,GAAMlP,UAAUkP,GAE5B,IAAK,IAAIC,EAAK,EAAGQ,EAAYd,EAASM,EAAKQ,EAAU1P,OAAQkP,IAAM,CAC/D,IAAIE,EAASM,EAAUR,UAChB7L,KAAKuL,QAAQQ,EACxB,CACA,OAAO/L,IACX,EACAsL,EAAkBzP,UAAUyQ,yBAA2B,WAEnD,IADA,IAAIC,EAAY,GACPX,EAAK,EAAGA,EAAKlP,UAAUC,OAAQiP,IACpCW,EAAUX,GAAMlP,UAAUkP,GAE9B,IAAK,IAAIC,EAAK,EAAGW,EAAcD,EAAWV,EAAKW,EAAY7P,OAAQkP,IAAM,CACrE,IAAIY,EAAWD,EAAYX,GAC3B7L,KAAKyL,qBAAqBgB,IAAY,CAC1C,CACA,OAAOzM,IACX,EACAsL,EAAkBzP,UAAU6Q,2BAA6B,WAErD,IADA,IAAIH,EAAY,GACPX,EAAK,EAAGA,EAAKlP,UAAUC,OAAQiP,IACpCW,EAAUX,GAAMlP,UAAUkP,GAE9B,IAAK,IAAIC,EAAK,EAAGc,EAAcJ,EAAWV,EAAKc,EAAYhQ,OAAQkP,IAAM,CACrE,IAAIY,EAAWE,EAAYd,UACpB7L,KAAKyL,qBAAqBgB,EACrC,CACA,OAAOzM,IACX,EACAsL,EAAkBzP,UAAU+Q,yBAA2B,WAEnD,IADA,IAAIC,EAAO,GACFjB,EAAK,EAAGA,EAAKlP,UAAUC,OAAQiP,IACpCiB,EAAKjB,GAAMlP,UAAUkP,GAEzB,IAAK,IAAIC,EAAK,EAAGiB,EAASD,EAAMhB,EAAKiB,EAAOnQ,OAAQkP,IAAM,CACtD,IAAIkB,EAAMD,EAAOjB,GACjB7L,KAAKwL,iBAAiBuB,IAAO,CACjC,CACA,OAAO/M,IACX,EACAsL,EAAkBzP,UAAUmR,2BAA6B,WAErD,IADA,IAAIH,EAAO,GACFjB,EAAK,EAAGA,EAAKlP,UAAUC,OAAQiP,IACpCiB,EAAKjB,GAAMlP,UAAUkP,GAEzB,IAAK,IAAIC,EAAK,EAAGoB,EAASJ,EAAMhB,EAAKoB,EAAOtQ,OAAQkP,IAAM,CACtD,IAAIkB,EAAME,EAAOpB,UACV7L,KAAKwL,iBAAiBuB,EACjC,CACA,OAAO/M,IACX,EACAsL,EAAkBzP,UAAUqR,kBAAoB,WAE5C,OADAlN,KAAK0L,oBAAqB,EACnB1L,IACX,EACAsL,EAAkBzP,UAAUsR,mBAAqB,WAE7C,OADAnN,KAAK0L,oBAAqB,EACnB1L,IACX,EACAsL,EAAkBzP,UAAUuR,MAAQ,SAAUC,GAC1C,OAAOlC,EAAiBmC,iBAAiBD,EAAK,EAAGrN,KAAKuL,QAASvL,KAAKwL,iBAAkBxL,KAAKyL,qBAAsBzL,KAAK0L,mBAC1H,EACAJ,EAAkBzP,UAAU6H,OAAS,SAAU6J,GAC3C,OAAOlC,EAASmC,aAAaD,GAAM1G,MACvC,EACOyE,CACX,CA9GuC,GA+GvC1R,EAAQ,EAAoB0R,+BClH5BpP,OAAOc,eAAepD,EAAS,aAAc,CAAEsD,OAAO,IACtD,IAAIuQ,EAAUrC,EAAQ,MAsUtBxR,EAAQ0T,iBArUR,SAA0BD,EAAKK,EAAKnC,EAASC,EAAkBC,EAAsBC,GACjF,IAAI7C,EAAIwE,EAAI1Q,OACRgR,EAAM,GACV,SAASC,EAAOC,EAAOC,GACnB,IAAIlO,EAAS,GAGb,IAFA8N,IACAC,EAAMN,EAAIU,OAAOL,GACVA,EAAM7E,GAAG,CACZ,GAAI8E,IAAQE,EAER,OADAH,IACO9N,EAEN,GAAY,OAAR+N,EAAc,CACnBD,IAEA,IAAIM,OAAM,EACV,IAFAL,EAAMN,EAAIU,OAAOL,MAELG,EACRjO,GAAUiO,OAET,QAAiCtP,KAA5ByP,EAAMF,EAAYH,IACxB/N,GAAUoO,MAET,IAAIP,EAAQQ,MAAMN,GAAM,CACzB,IAAIO,EAAMP,EAGV,IAFAD,IACAC,EAAMN,EAAIU,OAAOL,GACVD,EAAQQ,MAAMN,IACjBO,GAAOP,EACPD,IACAC,EAAMN,EAAIU,OAAOL,GAET,MAARC,IACAD,IACAC,EAAMN,EAAIU,OAAOL,IAErB9N,GAAUlB,OAAOyP,aAAaC,SAASF,EAAK,KAC5C,QACJ,CAEItO,GAAU+N,CACd,CACJ,MAEI/N,GAAU+N,EAEdD,IACAC,EAAMN,EAAIU,OAAOL,EACrB,CACA,OAAO9N,CACX,CACA,SAASyO,IACL,IAAIzO,EAAS,GAEb,IADA+N,EAAMN,EAAIU,OAAOL,GACVA,EAAM7E,GAAG,CACZ,GAAI4E,EAAQa,QAAQX,GAChB/N,GAAU+N,MAET,IAAY,OAARA,EA8BL,OAAO/N,EA5BP,KADA8N,GACW7E,EACP,MAAMvP,MAAM,4CAGhB,GADAqU,EAAMN,EAAIU,OAAOL,GACbD,EAAQc,kBAAkBZ,GAC1B/N,GAAU+N,MAET,IAAIF,EAAQQ,MAAMN,GAAM,CACzB,IAAIO,EAAMP,EAGV,IAFAD,IACAC,EAAMN,EAAIU,OAAOL,GACVD,EAAQQ,MAAMN,IACjBO,GAAOP,EACPD,IACAC,EAAMN,EAAIU,OAAOL,GAET,MAARC,IACAD,IACAC,EAAMN,EAAIU,OAAOL,IAErB9N,GAAUlB,OAAOyP,aAAaC,SAASF,EAAK,KAC5C,QACJ,CAEItO,GAAU+N,CACd,CAIJ,CACAD,IACAC,EAAMN,EAAIU,OAAOL,EACrB,CACA,OAAO9N,CACX,CACA,SAAS4O,IACLb,EAAMN,EAAIU,OAAOL,GAEjB,IADA,IAAI9N,GAAS,EACE,MAAR+N,GAAuB,OAARA,GAAwB,OAARA,GAAwB,OAARA,GAAwB,OAARA,GAClE/N,GAAS,EACT8N,IACAC,EAAMN,EAAIU,OAAOL,GAErB,OAAO9N,CACX,CAQA,SAAS6O,IACL,IAAIC,EAAWC,IACf,IAAKD,EACD,OAAO,KAEX,IAAIlQ,EAAMkQ,EAEV,IADAf,EAAMN,EAAIU,OAAOL,GACF,MAARC,GAAa,CAUhB,GATAD,IACAc,IACiB,cAAbhQ,EAAI+C,OACJ/C,EAAM,CACF+C,KAAM,YACNqN,UAAW,CAACF,OAGpBA,EAAWC,KAEP,MAAMrV,MAAM,4BAEhBkF,EAAIoQ,UAAUrS,KAAKmS,EACvB,CACA,OAAOlQ,CACX,CACA,SAASmQ,IACLH,IACA,IAAIE,EAAW,CACXnN,KAAM,WAENsN,EAAOC,IACX,IAAKD,EACD,OAAO,KAGX,IADA,IAAIE,EAAcL,EACXG,IACHA,EAAKtN,KAAO,OACZwN,EAAYF,KAAOA,EACnBE,EAAcF,EACdL,IACAb,EAAMN,EAAIU,OAAOL,KACbA,GAAO7E,GAAa,MAAR8E,GAAuB,MAARA,KAG/B,GAAIlC,EAAqBkC,GAAM,CAC3B,IAAIqB,EAAKrB,EAIT,GAHAD,IACAc,MACAK,EAAOC,KAEH,MAAMxV,MAAM,wBAA0B0V,EAAK,MAE/CH,EAAKI,gBAAkBD,CAC3B,MAEIH,EAAOC,OAEHD,EAAKI,gBAAkB,MAInC,OAAOP,CACX,CAEA,SAASI,IAEL,IADA,IAAID,EAAO,KACJnB,EAAM7E,GAET,GAAY,OADZ8E,EAAMN,EAAIU,OAAOL,IAEbA,KACCmB,EAAOA,GAAQ,CAAC,GAAGK,QAAU,SAE7B,GAAIzB,EAAQ0B,aAAaxB,IAAgB,OAARA,GACjCkB,EAAOA,GAAQ,CAAC,GAAGK,QAAUb,SAE7B,GAAY,MAARV,EACLD,MACAmB,EAAOA,GAAQ,CAAC,GACVO,WAAaP,EAAKO,YAAc,IAAI7S,KAAK8R,UAE9C,GAAY,MAARV,EACLD,KACCmB,EAAOA,GAAQ,CAAC,GAAGnV,GAAK2U,SAExB,GAAY,MAARV,EAAa,CAClBD,IACAc,IACA,IAAIa,EAAO,CACPC,KAAMjB,KAIV,GAFAG,IAEY,MAARb,EACAD,QAEC,CACD,IAAIjB,EAAW,GAMf,GALIjB,EAAiBmC,KACjBlB,EAAWkB,EACXD,IACAC,EAAMN,EAAIU,OAAOL,IAEjBA,GAAO7E,EACP,MAAMvP,MAAM,yCAEhB,GAAY,MAARqU,EACA,MAAMrU,MAAM,qBAAuBqU,EAAM,YAE7C0B,EAAK5C,SAAWA,EAAW,IAC3BiB,IACAc,IACA,IAAIe,EAAY,GAGhB,GAFAF,EAAKG,UAAY,SAEL,MAAR7B,EACA4B,EAAY3B,EAAO,IAAKH,EAAQgC,8BAG/B,GAAY,MAAR9B,EACL4B,EAAY3B,EAAO,IAAMH,EAAQiC,6BAGhC,GAAIhE,GAA8B,MAARiC,EAC3BD,IACA6B,EAAYlB,IACZgB,EAAKG,UAAY,iBAEhB,CACD,KAAO9B,EAAM7E,GACG,MAAR8E,GAGJ4B,GAAa5B,EACbD,IACAC,EAAMN,EAAIU,OAAOL,GAErB6B,EAAYA,EAAU1I,MAC1B,CAEA,GADA2H,IACId,GAAO7E,EACP,MAAMvP,MAAM,yCAEhB,GAAY,MAARqU,EACA,MAAMrU,MAAM,qBAAuBqU,EAAM,YAE7CD,IACA2B,EAAKnS,MAAQqS,CACjB,GACAV,EAAOA,GAAQ,CAAC,GACVc,MAAQd,EAAKc,OAAS,IAAIpT,KAAK8S,EACzC,KACK,IAAY,MAAR1B,EAyDL,MAxDAD,IACA,IAAIkC,EAAavB,IACbtC,EAAS,CACTuD,KAAMM,GAGV,GAAY,MAARjC,EAAa,CACbD,IACA,IAAIxQ,EAAQ,GAEZ,GADAsR,IAC4B,aAAxBjD,EAAQqE,GACR7D,EAAOyD,UAAY,WACnBtS,EAAQuR,QAEP,CAGD,GAFA1C,EAAOyD,UAAYjE,EAAQqE,IAAe,SAE9B,MAARjC,EACAzQ,EAAQ0Q,EAAO,IAAKH,EAAQgC,8BAG3B,GAAY,MAAR9B,EACLzQ,EAAQ0Q,EAAO,IAAMH,EAAQiC,6BAG5B,GAAIhE,GAA8B,MAARiC,EAC3BD,IACAxQ,EAAQmR,IACRtC,EAAOyD,UAAY,iBAElB,CACD,KAAO9B,EAAM7E,GACG,MAAR8E,GAGJzQ,GAASyQ,EACTD,IACAC,EAAMN,EAAIU,OAAOL,GAErBxQ,EAAQA,EAAM2J,MAClB,CACA2H,GACJ,CACA,GAAId,GAAO7E,EACP,MAAMvP,MAAM,yCAEhB,GAAY,MAARqU,EACA,MAAMrU,MAAM,qBAAuBqU,EAAM,YAE7CD,IACA3B,EAAO7O,MAAQA,CACnB,GACA2R,EAAOA,GAAQ,CAAC,GACVtD,QAAUsD,EAAKtD,SAAW,IAAIhP,KAAKwP,EAI7C,CAEJ,OAAO8C,CACX,CACA,OA3NA,WACI,IAAIrQ,EAAMiQ,IACV,GAAIf,EAAM7E,EACN,MAAMvP,MAAM,sBAAwB+T,EAAIU,OAAOL,GAAO,YAE1D,OAAOlP,CACX,CAqNO4O,EACX,+BCtUAlR,OAAOc,eAAepD,EAAS,aAAc,CAAEsD,OAAO,IACtD,IAAIuQ,EAAUrC,EAAQ,MA+EtBxR,EAAQ4T,aA9ER,SAASA,EAAaqC,GAClB,IAAIrR,EAAM,GACV,OAAQqR,EAAOtO,MACX,IAAK,UAGD,IAFA,IAAIuO,EAAgBD,EAAOhB,KACvBkB,EAAQ,GACLD,GACCA,EAAcb,iBACdc,EAAMxT,KAAKuT,EAAcb,iBAE7Bc,EAAMxT,KAAKiR,EAAasC,IACxBA,EAAgBA,EAAcjB,KAElCrQ,EAAMuR,EAAMnJ,KAAK,KACjB,MACJ,IAAK,YACDpI,EAAMqR,EAAOjB,UAAU1H,IAAIsG,GAAc5G,KAAK,MAC9C,MACJ,IAAK,OACGiJ,EAAOX,UAEH1Q,EADmB,MAAnBqR,EAAOX,QACD,IAGAzB,EAAQuC,iBAAiBH,EAAOX,UAG1CW,EAAOnW,KACP8E,GAAO,IAAMiP,EAAQuC,iBAAiBH,EAAOnW,KAE7CmW,EAAOT,aACP5Q,GAAOqR,EAAOT,WAAWlI,KAAI,SAAU+I,GACnC,MAAO,IAAOxC,EAAQuC,iBAAiBC,EAC3C,IAAGrJ,KAAK,KAERiJ,EAAOF,QACPnR,GAAOqR,EAAOF,MAAMzI,KAAI,SAAUmI,GAC9B,MAAI,aAAcA,EACS,eAAnBA,EAAKG,UACE,IAAM/B,EAAQuC,iBAAiBX,EAAKC,MAAQD,EAAK5C,SAAW,IAAM4C,EAAKnS,MAAQ,IAG/E,IAAMuQ,EAAQuC,iBAAiBX,EAAKC,MAAQD,EAAK5C,SAAWgB,EAAQyC,UAAUb,EAAKnS,OAAS,IAIhG,IAAMuQ,EAAQuC,iBAAiBX,EAAKC,MAAQ,GAE3D,IAAG1I,KAAK,KAERiJ,EAAOtE,UACP/M,GAAOqR,EAAOtE,QAAQrE,KAAI,SAAU6E,GAChC,OAAIA,EAAOyD,UACkB,aAArBzD,EAAOyD,UACA,IAAM/B,EAAQuC,iBAAiBjE,EAAOuD,MAAQ,IAAM9B,EAAazB,EAAO7O,OAAS,IAE9D,eAArB6O,EAAOyD,UACL,IAAM/B,EAAQuC,iBAAiBjE,EAAOuD,MAAQ,KAAOvD,EAAO7O,MAAQ,IAEjD,YAArB6O,EAAOyD,UACL,IAAM/B,EAAQuC,iBAAiBjE,EAAOuD,MAAQ,IAAMvD,EAAO7O,MAAQ,IAGlE,IAAMuQ,EAAQuC,iBAAiBjE,EAAOuD,MAC1C,IAAM7B,EAAQuC,iBAAiBjE,EAAO7O,OAAS,IAIhD,IAAMuQ,EAAQuC,iBAAiBjE,EAAOuD,KAErD,IAAG1I,KAAK,KAEZ,MACJ,QACI,MAAMtN,MAAM,yBAA2BuW,EAAOtO,KAAO,MAE7D,OAAO/C,CACX,6BC/EAtC,OAAOc,eAAepD,EAAS,aAAc,CAAEsD,OAAO,IAItDtD,EAAQuV,aAHR,SAAsB3G,GAClB,OAAQA,GAAK,KAAOA,GAAK,KAASA,GAAK,KAAOA,GAAK,KAAe,MAANA,GAAqB,MAANA,CAC/E,EAKA5O,EAAQ0U,QAHR,SAAiB9F,GACb,OAAQA,GAAK,KAAOA,GAAK,KAASA,GAAK,KAAOA,GAAK,KAASA,GAAK,KAAOA,GAAK,KAAc,MAANA,GAAmB,MAANA,CACtG,EAKA5O,EAAQqU,MAHR,SAAezF,GACX,OAAQA,GAAK,KAAOA,GAAK,KAASA,GAAK,KAAOA,GAAK,KAASA,GAAK,KAAOA,GAAK,GACjF,EAkCA5O,EAAQoW,iBAhCR,SAA0BrI,GAItB,IAHA,IAAIwI,EAAMxI,EAAEhL,OACRiD,EAAS,GACT5B,EAAI,EACDA,EAAImS,GAAK,CACZ,IAAIxC,EAAMhG,EAAEoG,OAAO/P,GACnB,GAAIpE,EAAQ2U,kBAAkBZ,GAC1B/N,GAAU,KAAO+N,OAGjB,GAAc,MAARA,GAAuB,MAARA,GAChBA,GAAO,KAAOA,GAAO,KACrBA,GAAO,KAAOA,GAAO,KACf,IAAN3P,GAAW2P,GAAO,KAAOA,GAAO,IAYjC/N,GAAU+N,MAZ8B,CACxC,IAAIyC,EAAWzC,EAAI0C,WAAW,GAC9B,GAA4B,SAAZ,MAAXD,GAA+B,CAChC,IAAIE,EAAgB3I,EAAE0I,WAAWrS,KACjC,GAA4B,SAAZ,MAAXoS,IAA8D,SAAZ,MAAhBE,GACnC,MAAMhX,MAAM,mCAEhB8W,IAAwB,KAAXA,IAAqB,KAAuB,KAAhBE,GAAyB,KACtE,CACA1Q,GAAU,KAAOwQ,EAASG,SAAS,IAAM,GAC7C,CAKJvS,GACJ,CACA,OAAO4B,CACX,EAuBAhG,EAAQsW,UArBR,SAAmBvI,GAKf,IAJA,IAGI6I,EAHAL,EAAMxI,EAAEhL,OACRiD,EAAS,GACT5B,EAAI,EAEDA,EAAImS,GAAK,CACZ,IAAIxC,EAAMhG,EAAEoG,OAAO/P,GACP,MAAR2P,EACAA,EAAM,MAEO,OAARA,EACLA,EAAM,YAEmDpP,KAAnDiS,EAAc5W,EAAQ6W,mBAAmB9C,MAC/CA,EAAM6C,GAEV5Q,GAAU+N,EACV3P,GACJ,CACA,MAAO,IAAO4B,EAAS,GAC3B,EAEAhG,EAAQ2U,kBAAoB,CACxB,KAAK,EACL,KAAK,EACL,KAAK,EACL,GAAK,EACL,KAAK,EACL,KAAK,EACL,KAAM,EACN,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,MAAM,EACN,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,GAET3U,EAAQ6W,mBAAqB,CACzB,KAAM,MACN,KAAM,MACN,KAAM,MACN,KAAM,MACN,KAAM,OAEV7W,EAAQ8V,uBAAyB,CAC7B7H,EAAG,KACH7L,EAAG,KACHC,EAAG,KACHyU,EAAG,KACH,KAAM,KACN,IAAM,KAEV9W,EAAQ6V,wBAA0B,CAC9B5H,EAAG,KACH7L,EAAG,KACHC,EAAG,KACHyU,EAAG,KACH,KAAM,KACN,IAAK,2BCvHT,IAAIC,EAASzU,OAAOL,UAAUwG,eAC1BuO,EAAQ1U,OAAOL,UAAU0U,SACzBvT,EAAiBd,OAAOc,eACxB6T,EAAO3U,OAAOG,yBAEdwO,EAAU,SAAiBiG,GAC9B,MAA6B,oBAAlBlG,MAAMC,QACTD,MAAMC,QAAQiG,GAGK,mBAApBF,EAAMnS,KAAKqS,EACnB,EAEIC,EAAgB,SAAuB9W,GAC1C,IAAKA,GAA2B,oBAApB2W,EAAMnS,KAAKxE,GACtB,OAAO,EAGR,IASIgD,EATA+T,EAAoBL,EAAOlS,KAAKxE,EAAK,eACrCgX,EAAmBhX,EAAI2B,aAAe3B,EAAI2B,YAAYC,WAAa8U,EAAOlS,KAAKxE,EAAI2B,YAAYC,UAAW,iBAE9G,GAAI5B,EAAI2B,cAAgBoV,IAAsBC,EAC7C,OAAO,EAMR,IAAKhU,KAAOhD,GAEZ,MAAsB,qBAARgD,GAAuB0T,EAAOlS,KAAKxE,EAAKgD,EACvD,EAGIiU,EAAc,SAAqBpT,EAAQqT,GAC1CnU,GAAmC,cAAjBmU,EAAQ7B,KAC7BtS,EAAec,EAAQqT,EAAQ7B,KAAM,CACpChT,YAAY,EACZc,cAAc,EACdF,MAAOiU,EAAQC,SACf/T,UAAU,IAGXS,EAAOqT,EAAQ7B,MAAQ6B,EAAQC,QAEjC,EAGIC,EAAc,SAAqBpX,EAAKqV,GAC3C,GAAa,cAATA,EAAsB,CACzB,IAAKqB,EAAOlS,KAAKxE,EAAKqV,GACrB,OACM,GAAIuB,EAGV,OAAOA,EAAK5W,EAAKqV,GAAMpS,KAEzB,CAEA,OAAOjD,EAAIqV,EACZ,EAEA3V,EAAOC,QAAU,SAAS0X,IACzB,IAAIH,EAAS7B,EAAMiC,EAAKC,EAAMC,EAAaC,EACvC5T,EAASpB,UAAU,GACnBsB,EAAI,EACJrB,EAASD,UAAUC,OACnBgV,GAAO,EAaX,IAVsB,mBAAX7T,IACV6T,EAAO7T,EACPA,EAASpB,UAAU,IAAM,CAAC,EAE1BsB,EAAI,IAES,MAAVF,GAAqC,kBAAXA,GAAyC,oBAAXA,KAC3DA,EAAS,CAAC,GAGJE,EAAIrB,IAAUqB,EAGpB,GAAe,OAFfmT,EAAUzU,UAAUsB,IAInB,IAAKsR,KAAQ6B,EACZI,EAAMF,EAAYvT,EAAQwR,GAItBxR,KAHJ0T,EAAOH,EAAYF,EAAS7B,MAKvBqC,GAAQH,IAAST,EAAcS,KAAUC,EAAc5G,EAAQ2G,MAC9DC,GACHA,GAAc,EACdC,EAAQH,GAAO1G,EAAQ0G,GAAOA,EAAM,IAEpCG,EAAQH,GAAOR,EAAcQ,GAAOA,EAAM,CAAC,EAI5CL,EAAYpT,EAAQ,CAAEwR,KAAMA,EAAM8B,SAAUE,EAAOK,EAAMD,EAAOF,MAGtC,qBAATA,GACjBN,EAAYpT,EAAQ,CAAEwR,KAAMA,EAAM8B,SAAUI,KAQjD,OAAO1T,CACR,YClHA,IAAI8T,EAAgB,kCAEhBC,EAAgB,MAChBC,EAAmB,OAGnBC,EAAiB,yCACjBC,EAAc,QACdC,EAAc,uDACdC,EAAkB,UAGlBC,EAAa,aAMbC,EAAe,GA8OnB,SAASvL,EAAKwG,GACZ,OAAOA,EAAMA,EAAIgF,QAAQF,EAAYC,GAAgBA,CACvD,CAnOAzY,EAAOC,QAAU,SAASQ,EAAO+W,GAC/B,GAAqB,kBAAV/W,EACT,MAAM,IAAIwD,UAAU,mCAGtB,IAAKxD,EAAO,MAAO,GAEnB+W,EAAUA,GAAW,CAAC,EAKtB,IAAImB,EAAS,EACTC,EAAS,EAOb,SAASC,EAAenF,GACtB,IAAIoF,EAAQpF,EAAIqF,MAAMb,GAClBY,IAAOH,GAAUG,EAAM9V,QAC3B,IAAIqB,EAAIqP,EAAIsF,YAvCF,MAwCVJ,GAAUvU,EAAIqP,EAAI1Q,OAASqB,EAAIuU,EAASlF,EAAI1Q,MAC9C,CAOA,SAASiW,IACP,IAAIC,EAAQ,CAAEC,KAAMR,EAAQC,OAAQA,GACpC,OAAO,SAAStL,GAGd,OAFAA,EAAK2L,SAAW,IAAIG,EAASF,GAC7BG,IACO/L,CACT,CACF,CAUA,SAAS8L,EAASF,GAChB7S,KAAK6S,MAAQA,EACb7S,KAAKiT,IAAM,CAAEH,KAAMR,EAAQC,OAAQA,GACnCvS,KAAKoC,OAAS+O,EAAQ/O,MACxB,CAKA2Q,EAASlX,UAAUqX,QAAU9Y,EAE7B,IAAI+Y,EAAa,GAQjB,SAASC,EAAMC,GACb,IAAIC,EAAM,IAAIha,MACZ6X,EAAQ/O,OAAS,IAAMkQ,EAAS,IAAMC,EAAS,KAAOc,GAQxD,GANAC,EAAIC,OAASF,EACbC,EAAIE,SAAWrC,EAAQ/O,OACvBkR,EAAIR,KAAOR,EACXgB,EAAIf,OAASA,EACbe,EAAIlR,OAAShI,GAET+W,EAAQsC,OAGV,MAAMH,EAFNH,EAAW5W,KAAK+W,EAIpB,CAQA,SAASZ,EAAMgB,GACb,IAAIC,EAAID,EAAGE,KAAKxZ,GAChB,GAAKuZ,EAAL,CACA,IAAItG,EAAMsG,EAAE,GAGZ,OAFAnB,EAAenF,GACfjT,EAAQA,EAAMyZ,MAAMxG,EAAI1Q,QACjBgX,CAJO,CAKhB,CAKA,SAASX,IACPN,EAAMZ,EACR,CAQA,SAASgC,EAASC,GAChB,IAAIvL,EAEJ,IADAuL,EAAQA,GAAS,GACTvL,EAAIwL,MACA,IAANxL,GACFuL,EAAMxX,KAAKiM,GAGf,OAAOuL,CACT,CAQA,SAASC,IACP,IAAItG,EAAMkF,IACV,GAnJgB,KAmJKxY,EAAM2T,OAAO,IAlJvB,KAkJyC3T,EAAM2T,OAAO,GAAjE,CAGA,IADA,IAAI/P,EAAI,EAENoU,GAAgBhY,EAAM2T,OAAO/P,KAtJpB,KAuJI5D,EAAM2T,OAAO/P,IAxJZ,KAwJmC5D,EAAM2T,OAAO/P,EAAI,OAEhEA,EAIJ,GAFAA,GAAK,EAEDoU,IAAiBhY,EAAM2T,OAAO/P,EAAI,GACpC,OAAOoV,EAAM,0BAGf,IAAI/F,EAAMjT,EAAMyZ,MAAM,EAAG7V,EAAI,GAM7B,OALAuU,GAAU,EACVC,EAAenF,GACfjT,EAAQA,EAAMyZ,MAAM7V,GACpBuU,GAAU,EAEH7E,EAAI,CACTnM,KApKa,UAqKbyS,QAAS3G,GAvBgE,CAyB7E,CAQA,SAAS4G,IACP,IAAIvG,EAAMkF,IAGNsB,EAAOxB,EAAMX,GACjB,GAAKmC,EAAL,CAIA,GAHAF,KAGKtB,EAAMV,GAAc,OAAOoB,EAAM,wBAGtC,IAAIe,EAAMzB,EAAMT,GAEZmC,EAAM1G,EAAI,CACZnM,KA7LiB,cA8LjB8S,SAAUxN,EAAKqN,EAAK,GAAG7B,QAAQT,EAAeQ,IAC9ClV,MAAOiX,EACHtN,EAAKsN,EAAI,GAAG9B,QAAQT,EAAeQ,IACnCA,IAMN,OAFAM,EAAMR,GAECkC,CApBU,CAqBnB,CAyBA,OADApB,IAjBA,WACE,IAKIsB,EALAC,EAAQ,GAMZ,IAJAT,EAASS,GAIDD,EAAOL,MACA,IAATK,IACFC,EAAMhY,KAAK+X,GACXR,EAASS,IAIb,OAAOA,CACT,CAGOC,EACT,YCnPA7a,EAAOC,QAAU,SAAmBK,GAClC,OAAc,MAAPA,GAAkC,MAAnBA,EAAI2B,aACY,oBAA7B3B,EAAI2B,YAAY6Y,UAA2Bxa,EAAI2B,YAAY6Y,SAASxa,EAC/E,sGCMaya,EAAoBC,IAI/B,IAHA,IAEIjC,EAFE3H,EAAQ,qBACR6J,EAAiC,CAAC,EAEhClC,EAAQ3H,EAAM6I,KAAKe,IACzBC,EAAOlC,EAAM,IAAMA,EAAM,GAE3B,OAAOkC,CAAM,EA+BFC,EAAY,SAACC,QAAY,IAAZA,IAAAA,EAAe,IACvC,IAAOC,EAAU,IAAM,kBAAkBnB,KAAKkB,IAAS,GACvD,OAAOC,EAAQ1C,QAAQ,iBAAkB,GAC3C,EAWa2C,EAAS,SAACF,GAAiB,YAAL,IAAZA,IAAAA,EAAe,IAAOA,GAAQA,EAAKxN,SAAS,cAAc,gBChEjF,SAAS2N,EAAUC,GACjB,IACIvB,EADAnV,EAAM,GAGV,IAAK,IAAI6O,KAAO6H,EAAOC,MAAM,KAAKjO,KAAKmG,GAAQA,EAAIxG,SAEjD,GAAI,UAAU8D,KAAK0C,GACjB7O,EAAIjC,KAAK6R,SAASf,EAAK,UAClB,GACJsG,EAAItG,EAAIqF,MAAM,oDACf,CAEA,IAAK0C,EAAGC,EAAKC,EAAKC,GAAO5B,EAEzB,GAAI0B,GAAOE,EAAK,CACdF,EAAMjH,SAASiH,GACfE,EAAMnH,SAASmH,GACf,MAAMC,EAAOH,EAAME,EAAM,GAAK,EAGlB,MAARD,GAAuB,OAARA,GAAwB,WAARA,IAAkBC,GAAOC,GAE5D,IAAK,IAAIxX,EAAIqX,EAAKrX,IAAMuX,EAAKvX,GAAKwX,EAAMhX,EAAIjC,KAAKyB,EACnD,CACF,CAGF,OAAOQ,CACT,CAEA5E,EAAAA,QAAkBqb,EAClBtb,EAAOC,QAAUqb,YClCjB,IAOIQ,EACAC,EARAC,EAAUhc,EAAOC,QAAU,CAAC,EAUhC,SAASgc,IACL,MAAM,IAAItc,MAAM,kCACpB,CACA,SAASuc,IACL,MAAM,IAAIvc,MAAM,oCACpB,CAqBA,SAASwc,EAAWC,GAChB,GAAIN,IAAqBO,WAErB,OAAOA,WAAWD,EAAK,GAG3B,IAAKN,IAAqBG,IAAqBH,IAAqBO,WAEhE,OADAP,EAAmBO,WACZA,WAAWD,EAAK,GAE3B,IAEI,OAAON,EAAiBM,EAAK,EACjC,CAAE,MAAM1c,GACJ,IAEI,OAAOoc,EAAiBhX,KAAK,KAAMsX,EAAK,EAC5C,CAAE,MAAM1c,GAEJ,OAAOoc,EAAiBhX,KAAKuB,KAAM+V,EAAK,EAC5C,CACJ,CAGJ,EA5CC,WACG,IAEQN,EADsB,oBAAfO,WACYA,WAEAJ,CAE3B,CAAE,MAAOvc,GACLoc,EAAmBG,CACvB,CACA,IAEQF,EADwB,oBAAjBO,aACcA,aAEAJ,CAE7B,CAAE,MAAOxc,GACLqc,EAAqBG,CACzB,CACH,CAnBA,GAwED,IAEIK,EAFAC,EAAQ,GACRC,GAAW,EAEXC,GAAc,EAElB,SAASC,IACAF,GAAaF,IAGlBE,GAAW,EACPF,EAAavZ,OACbwZ,EAAQD,EAAapS,OAAOqS,GAE5BE,GAAc,EAEdF,EAAMxZ,QACN4Z,IAER,CAEA,SAASA,IACL,IAAIH,EAAJ,CAGA,IAAII,EAAUV,EAAWQ,GACzBF,GAAW,EAGX,IADA,IAAIjG,EAAMgG,EAAMxZ,OACVwT,GAAK,CAGP,IAFA+F,EAAeC,EACfA,EAAQ,KACCE,EAAalG,GACd+F,GACAA,EAAaG,GAAYI,MAGjCJ,GAAc,EACdlG,EAAMgG,EAAMxZ,MAChB,CACAuZ,EAAe,KACfE,GAAW,EAnEf,SAAyBM,GACrB,GAAIhB,IAAuBO,aAEvB,OAAOA,aAAaS,GAGxB,IAAKhB,IAAuBG,IAAwBH,IAAuBO,aAEvE,OADAP,EAAqBO,aACdA,aAAaS,GAExB,IAEI,OAAOhB,EAAmBgB,EAC9B,CAAE,MAAOrd,GACL,IAEI,OAAOqc,EAAmBjX,KAAK,KAAMiY,EACzC,CAAE,MAAOrd,GAGL,OAAOqc,EAAmBjX,KAAKuB,KAAM0W,EACzC,CACJ,CAIJ,CA0CIC,CAAgBH,EAlBhB,CAmBJ,CAgBA,SAAS7U,EAAKoU,EAAKa,GACf5W,KAAK+V,IAAMA,EACX/V,KAAK4W,MAAQA,CACjB,CAWA,SAASC,IAAQ,CA5BjBlB,EAAQmB,SAAW,SAAUf,GACzB,IAAIgB,EAAO,IAAInM,MAAMlO,UAAUC,OAAS,GACxC,GAAID,UAAUC,OAAS,EACnB,IAAK,IAAIqB,EAAI,EAAGA,EAAItB,UAAUC,OAAQqB,IAClC+Y,EAAK/Y,EAAI,GAAKtB,UAAUsB,GAGhCmY,EAAM5Z,KAAK,IAAIoF,EAAKoU,EAAKgB,IACJ,IAAjBZ,EAAMxZ,QAAiByZ,GACvBN,EAAWS,EAEnB,EAOA5U,EAAK9F,UAAU4a,IAAM,WACjBzW,KAAK+V,IAAIvZ,MAAM,KAAMwD,KAAK4W,MAC9B,EACAjB,EAAQhb,MAAQ,UAChBgb,EAAQqB,SAAU,EAClBrB,EAAQlQ,IAAM,CAAC,EACfkQ,EAAQsB,KAAO,GACftB,EAAQ9R,QAAU,GAClB8R,EAAQuB,SAAW,CAAC,EAIpBvB,EAAQwB,GAAKN,EACblB,EAAQyB,YAAcP,EACtBlB,EAAQ0B,KAAOR,EACflB,EAAQ2B,IAAMT,EACdlB,EAAQ4B,eAAiBV,EACzBlB,EAAQ6B,mBAAqBX,EAC7BlB,EAAQ8B,KAAOZ,EACflB,EAAQ+B,gBAAkBb,EAC1BlB,EAAQgC,oBAAsBd,EAE9BlB,EAAQiC,UAAY,SAAUtI,GAAQ,MAAO,EAAG,EAEhDqG,EAAQkC,QAAU,SAAUvI,GACxB,MAAM,IAAIhW,MAAM,mCACpB,EAEAqc,EAAQmC,IAAM,WAAc,MAAO,GAAI,EACvCnC,EAAQoC,MAAQ,SAAUC,GACtB,MAAM,IAAI1e,MAAM,iCACpB,EACAqc,EAAQsC,MAAQ,WAAa,OAAO,CAAG,+BC9KvC,IAAIC,EAAuB9M,EAAQ,MAEnC,SAAS+M,IAAiB,CAC1B,SAASC,IAA0B,CACnCA,EAAuBC,kBAAoBF,EAE3Cxe,EAAOC,QAAU,WACf,SAAS0e,EAAKva,EAAOwa,EAAUC,EAAeC,EAAUC,EAAcC,GACpE,GAAIA,IAAWT,EAAf,CAIA,IAAI5E,EAAM,IAAIha,MACZ,mLAKF,MADAga,EAAIhE,KAAO,sBACLgE,CAPN,CAQF,CAEA,SAASsF,IACP,OAAON,CACT,CAHAA,EAAKO,WAAaP,EAMlB,IAAIQ,EAAiB,CACnBlC,MAAO0B,EACPS,OAAQT,EACRU,KAAMV,EACNW,KAAMX,EACNY,OAAQZ,EACRa,OAAQb,EACRpD,OAAQoD,EACRc,OAAQd,EAERe,IAAKf,EACLgB,QAASV,EACTzR,QAASmR,EACTiB,YAAajB,EACbkB,WAAYZ,EACZ3R,KAAMqR,EACNmB,SAAUb,EACVc,MAAOd,EACPe,UAAWf,EACXgB,MAAOhB,EACPiB,MAAOjB,EAEPkB,eAAgB1B,EAChBC,kBAAmBF,GAKrB,OAFAW,EAAeiB,UAAYjB,EAEpBA,CACT,kBC/CEnf,EAAOC,QAAUwR,EAAQ,KAARA,0BCNnBzR,EAAOC,QAFoB,yICNhBogB,EAAe,CAAC,EAChBC,GAAuBC,EAAAA,EAAAA,eAAc,CAAC,GACtCC,EAAUA,CAACnZ,EAAOoZ,KACpBlY,EAAAA,EAAAA,GAAS,CAAC,EAAGlB,EAAOoZ,GAElBC,EAAWvX,IACpB,IAAI,SACFkB,EAAQ,MACR9G,GACE4F,GACC9B,EAAOsZ,IAAYC,EAAAA,EAAAA,YAAWJ,GAASjY,EAAAA,EAAAA,GAAS,CAAC,EAAG8X,EAAc9c,IACvE,OAAoByG,EAAAA,EAAAA,KAAKsW,EAAQI,SAAU,CACzCnd,OAAOgF,EAAAA,EAAAA,GAAS,CAAC,EAAGlB,EAAO,CACzBsZ,aAEFtW,SAAUA,GACV,ECjBA/B,EAAY,CAAC,UAAW,YAAa,YAI9BuY,EAAoBrW,EAAAA,YAAiB,CAACpG,EAAOiJ,KACtD,IAAI,QACAkI,EAAU,MAAK,UACfzI,EAAS,SACTzC,GACEjG,EACJ0c,GAAY/X,EAAAA,EAAAA,GAA8B3E,EAAOkE,GAC/C0E,EAAM,CAAC+T,EAAsB,QAASjU,GAAWrK,OAAOqD,SAASmH,KAAK,KAAKC,OAE/E,IADY8T,EAAAA,EAAAA,YAAWV,GACbW,SACR,OAAO,KAET,IAAIC,EAAU9c,EAAMkG,MAA2B,kBAAZiL,EAAuB,IAAMA,EAC5D4L,GAAa5Y,EAAAA,EAAAA,GAAS,CAAC,EAAGuY,EAAW,CACvChU,UAAWE,EACXK,QAEF,OAAoB7C,EAAAA,cAAoB0W,EAASC,EAAY9W,EAAS,IAExEwW,EAAKO,YAAc,qBCvBnB,IAAI9Y,EAAY,CAAC,YAAa,YAInB+Y,EAAuB7W,EAAAA,YAAiB,CAACpG,EAAOiJ,KACzD,IAAI,UACAP,EAAS,SACTzC,GACEjG,EACJ0c,GAAY/X,EAAAA,EAAAA,GAA8B3E,EAAOkE,GAC/C0E,EAAM,CAAC+T,EAAsB,WAAYjU,GAAWrK,OAAOqD,SAASmH,KAAK,KAAKC,OAClF,OAAoBlD,EAAAA,EAAAA,KAAK,OAAOzB,EAAAA,EAAAA,GAAS,CAAC,EAAGuY,EAAW,CACtDhU,UAAWE,EACXK,IAAKA,EACLhD,SAAUA,IACT,IAELgX,EAAQD,YAAc,qCChBXE,EAAald,IACF4F,EAAAA,EAAAA,KAAK,MAAO,CAC9BuX,QAAS,YACTC,KAAM,eACNnX,UAAuBL,EAAAA,EAAAA,KAAK,OAAQ,CAClCyX,EAAG,+RACH,YAAa,WAIRC,EAAWtd,IACA0J,EAAAA,EAAAA,MAAM,MAAO,CAC/ByT,QAAS,YACTC,KAAM,eACNnX,SAAU,EAAcL,EAAAA,EAAAA,KAAK,OAAQ,CACnCyX,EAAG,qJACYzX,EAAAA,EAAAA,KAAK,OAAQ,CAC5ByX,EAAG,+LAIEE,EAAkBvd,IACP0J,EAAAA,EAAAA,MAAM,MAAO,CAC/ByT,QAAS,YACTC,KAAM,QACNnX,SAAU,EAAcL,EAAAA,EAAAA,KAAK,OAAQ,CACnCyX,EAAG,4GACYzX,EAAAA,EAAAA,KAAK,OAAQ,CAC5ByX,EAAG,+NC3BEG,EAASxd,IAClB,IAAKyd,EAAQC,IAAaC,EAAAA,EAAAA,WAAS,GAUnC,OAAoB/X,EAAAA,EAAAA,KAAK,SAAU,CACjCnC,QAVWma,KACXF,GAAU,GACVG,IAAoB7d,EAAM8D,MAAQ,IAAI,KACpC,IAAIga,EAAQ7F,YAAW,KACrByF,GAAU,GACVxF,aAAa4F,EAAM,GAClB,IAAK,GACR,EAIF7X,SAAUwX,GAAsB7X,EAAAA,EAAAA,KAAK2X,EAAiB,CAAC,IAAkB3X,EAAAA,EAAAA,KAAK0X,EAAU,CAAC,IACzF,EChBApZ,EAAY,CAAC,YAAa,WAAY,QAAS,OAAQ,SAAU,WAAY,gBAAiB,WAQvF6Z,EAAuB3X,EAAAA,YAAiB,CAACpG,EAAOiJ,KACzD,IAAI,UACAP,EAAS,SACTzC,EAAQ,MACR+X,EAAK,KACLla,EAAO,GAAE,OACT2Z,GAAS,EAAI,SACbZ,GAAW,EAAI,cACfoB,GAAgB,EAAI,QACpBjhB,GAAU,GACRgD,EACJ0c,GAAY/X,EAAAA,EAAAA,GAA8B3E,EAAOkE,GAC/Cga,GAAQtB,EAAAA,EAAAA,YAAWV,GACnBtT,EAAM,CAAC+T,EAAsB,WAAYjU,GAAWrK,OAAOqD,SAASmH,KAAK,KAAKC,OAIlF,IAHAqV,EAAAA,EAAAA,YAAU,IAAMD,EAAM3B,SAAS,CAC7BM,cACE,CAACA,KACA7f,EACH,OAAO,KAKT,OAAoB0M,EAAAA,EAAAA,MAAM,OAAOvF,EAAAA,EAAAA,GAAS,CACxCuE,UAAWE,GACV8T,EAAW,CACZzT,IAAKA,EACLhD,SAAU,EAAcL,EAAAA,EAAAA,KAAK,MAAO,CAClC8C,UAAWiU,EAAsB,SACjC1W,SAAUA,KACKyD,EAAAA,EAAAA,MAAM,MAAO,CAC5BhB,UAAWiU,EAAsB,SACjC1W,SAAU,CAAC+X,EAAOP,IAAuB7X,EAAAA,EAAAA,KAAK4X,EAAQ,CACpD1Z,KAAMA,IACJma,IAA8BrY,EAAAA,EAAAA,KAAK,SAAU,CAC/CnC,QAfY2a,IAAMF,EAAM3B,SAAS,CACrCM,UAAWqB,EAAMrB,WAeb5W,UAAuBL,EAAAA,EAAAA,KAAKsX,EAAY,CAAC,WAG5C,IAELa,EAAQf,YAAc,cCjDtB,IAAI9Y,EAAY,CAAC,WAAY,YAAa,YAAa,WAAY,oBAQxDyY,EAAsB,SAC7B0B,EAAwBjY,EAAAA,YAAiB,CAACpG,EAAOiJ,KACnD,IAAI,SACAhD,EAAQ,UACRwC,EAAYkU,EAAmB,UAC/BjU,EAAS,SACT4V,GAAW,EAAI,iBACfC,GACEve,EACJwe,GAAW7Z,EAAAA,EAAAA,GAA8B3E,EAAOkE,GAC9C0E,EAAM,CAACH,EAAWC,EAAW4V,EAAW,aAAe,KAAMC,EAAmB,sBAAwB,MAAMlgB,OAAOqD,SAASmH,KAAK,KAAKC,OAC5I,OAAoBlD,EAAAA,EAAAA,KAAK,OAAOzB,EAAAA,EAAAA,GAAS,CACvC8E,IAAKA,GACJuV,EAAU,CACX9V,UAAWE,EACX3C,SAAUG,EAAAA,SAAe+C,IAAIlD,GAAU,CAAC8C,EAAO7J,IAC1BkH,EAAAA,eAAqB2C,GACpB3C,EAAAA,aAAmB2C,GAAO5E,EAAAA,EAAAA,GAAS,CAAC,EAAG4E,EAAM/I,MAAO,CACtEd,SAFqD6J,MAKxD,IAYM0V,EAV4BrY,EAAAA,YAAiB,CAACpG,EAAOiJ,KAC1CrD,EAAAA,EAAAA,KAAK0W,EAAU,CACjCnd,MAAO,CACL0d,UAAU,GAEZ5W,UAAuBL,EAAAA,EAAAA,KAAKyY,GAAUla,EAAAA,EAAAA,GAAS,CAAC,EAAGnE,EAAO,CACxDiJ,IAAKA,SAKXwV,EAAYxB,QAAUA,EACtBwB,EAAYV,QAAUA,EACtBU,EAAYhC,KAAOA,EC5CnB,qCCOa,IAA4biC,EAAxbC,EAAEhhB,OAAOihB,IAAI,iBAAiBnU,EAAE9M,OAAOihB,IAAI,gBAAgBvB,EAAE1f,OAAOihB,IAAI,kBAAkBtjB,EAAEqC,OAAOihB,IAAI,qBAAqBjM,EAAEhV,OAAOihB,IAAI,kBAAkBC,EAAElhB,OAAOihB,IAAI,kBAAkB/U,EAAElM,OAAOihB,IAAI,iBAAiBE,EAAEnhB,OAAOihB,IAAI,wBAAwB9T,EAAEnN,OAAOihB,IAAI,qBAAqBhJ,EAAEjY,OAAOihB,IAAI,kBAAkB9U,EAAEnM,OAAOihB,IAAI,uBAAuB7d,EAAEpD,OAAOihB,IAAI,cAAcG,EAAEphB,OAAOihB,IAAI,cAAc1gB,EAAEP,OAAOihB,IAAI,mBACtb,SAASI,EAAE7U,GAAG,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,IAAIlM,EAAEkM,EAAE8U,SAAS,OAAOhhB,GAAG,KAAK0gB,EAAE,OAAOxU,EAAEA,EAAE3G,MAAQ,KAAK6Z,EAAE,KAAK1K,EAAE,KAAKrX,EAAE,KAAKsa,EAAE,KAAK9L,EAAE,OAAOK,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAE8U,UAAY,KAAKH,EAAE,KAAKjV,EAAE,KAAKiB,EAAE,KAAKiU,EAAE,KAAKhe,EAAE,KAAK8d,EAAE,OAAO1U,EAAE,QAAQ,OAAOlM,GAAG,KAAKwM,EAAE,OAAOxM,EAAE,CAAC,CADkMygB,EAAE/gB,OAAOihB,IAAI,0BAC9M/iB,EAAQqjB,gBAAgBrV,EAAEhO,EAAQsjB,gBAAgBN,EAAEhjB,EAAQujB,QAAQT,EAAE9iB,EAAQwjB,WAAWvU,EAAEjP,EAAQwH,SAASga,EAAExhB,EAAQyjB,KAAKP,EAAEljB,EAAQ0jB,KAAKxe,EAAElF,EAAQ2jB,OAAO/U,EAAE5O,EAAQ4jB,SAAS9M,EAAE9W,EAAQ6jB,WAAWpkB,EAAEO,EAAQ8jB,SAAS/J,EAChe/Z,EAAQ+jB,aAAa9V,EAAEjO,EAAQgkB,YAAY,WAAW,OAAM,CAAE,EAAEhkB,EAAQikB,iBAAiB,WAAW,OAAM,CAAE,EAAEjkB,EAAQkkB,kBAAkB,SAAS5V,GAAG,OAAO6U,EAAE7U,KAAKN,CAAC,EAAEhO,EAAQmkB,kBAAkB,SAAS7V,GAAG,OAAO6U,EAAE7U,KAAK0U,CAAC,EAAEhjB,EAAQokB,UAAU,SAAS9V,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAE8U,WAAWN,CAAC,EAAE9iB,EAAQqkB,aAAa,SAAS/V,GAAG,OAAO6U,EAAE7U,KAAKW,CAAC,EAAEjP,EAAQskB,WAAW,SAAShW,GAAG,OAAO6U,EAAE7U,KAAKkT,CAAC,EAAExhB,EAAQukB,OAAO,SAASjW,GAAG,OAAO6U,EAAE7U,KAAK4U,CAAC,EAAEljB,EAAQwkB,OAAO,SAASlW,GAAG,OAAO6U,EAAE7U,KAAKpJ,CAAC,EACvelF,EAAQykB,SAAS,SAASnW,GAAG,OAAO6U,EAAE7U,KAAKM,CAAC,EAAE5O,EAAQ0kB,WAAW,SAASpW,GAAG,OAAO6U,EAAE7U,KAAKwI,CAAC,EAAE9W,EAAQ2kB,aAAa,SAASrW,GAAG,OAAO6U,EAAE7U,KAAK7O,CAAC,EAAEO,EAAQ4kB,WAAW,SAAStW,GAAG,OAAO6U,EAAE7U,KAAKyL,CAAC,EAAE/Z,EAAQ6kB,eAAe,SAASvW,GAAG,OAAO6U,EAAE7U,KAAKL,CAAC,EAClPjO,EAAQ8kB,mBAAmB,SAASxW,GAAG,MAAM,kBAAkBA,GAAG,oBAAoBA,GAAGA,IAAIkT,GAAGlT,IAAIwI,GAAGxI,IAAI7O,GAAG6O,IAAIyL,GAAGzL,IAAIL,GAAGK,IAAIjM,GAAG,kBAAkBiM,GAAG,OAAOA,IAAIA,EAAE8U,WAAWF,GAAG5U,EAAE8U,WAAWle,GAAGoJ,EAAE8U,WAAWJ,GAAG1U,EAAE8U,WAAWpV,GAAGM,EAAE8U,WAAWnU,GAAGX,EAAE8U,WAAWP,QAAG,IAASvU,EAAEyW,YAAkB,EAAE/kB,EAAQglB,OAAO7B,+BCV/SpjB,EAAOC,QAAU,EAAjBD,2ECHa,SAASkF,EAAgBpD,EAAGqD,GAKzC,OAJAD,EAAkB3C,OAAO6C,eAAiB7C,OAAO6C,eAAeC,OAAS,SAAyBvD,EAAGqD,GAEnG,OADArD,EAAEwD,UAAYH,EACPrD,CACT,EACOoD,EAAgBpD,EAAGqD,EAC5B,CCLe,SAAS+f,EAAete,EAAUC,GAC/CD,EAAS1E,UAAYK,OAAOuE,OAAOD,EAAW3E,WAC9C0E,EAAS1E,UAAUD,YAAc2E,EACjC,EAAeA,EAAUC,EAC3B,CCLA,SAASse,EAAiBC,EAAWC,GACnC,OAAOD,EAAU1M,QAAQ,IAAIrH,OAAO,UAAYgU,EAAgB,YAAa,KAAM,MAAM3M,QAAQ,OAAQ,KAAKA,QAAQ,aAAc,GACtI,yBCFA,SACY,ECAZ,EAAelO,EAAAA,cAAoB,MCD5B,IAAI8a,EAAc,SAAqBhY,GAC5C,OAAOA,EAAKiY,SACd,ECOWC,EAAY,YACZC,EAAS,SACTC,EAAW,WACXC,EAAU,UACVC,EAAU,UA6FjBC,EAA0B,SAAUlf,GAGtC,SAASkf,EAAWzhB,EAAO0hB,GACzB,IAAI1e,EAEJA,EAAQT,EAAiB7B,KAAKuB,KAAMjC,EAAO0hB,IAAYzf,KACvD,IAGI0f,EADAC,EAFcF,MAEuBG,WAAa7hB,EAAM8hB,MAAQ9hB,EAAM4hB,OAuB1E,OArBA5e,EAAM+e,aAAe,KAEjB/hB,EAAMgiB,GACJJ,GACFD,EAAgBN,EAChBre,EAAM+e,aAAeT,GAErBK,EAAgBJ,EAIhBI,EADE3hB,EAAMiiB,eAAiBjiB,EAAMkiB,aACfd,EAEAC,EAIpBre,EAAMC,MAAQ,CACZkf,OAAQR,GAEV3e,EAAMof,aAAe,KACdpf,CACT,CAhCA8d,EAAeW,EAAYlf,GAkC3Bkf,EAAWY,yBAA2B,SAAkCtd,EAAMud,GAG5E,OAFavd,EAAKid,IAEJM,EAAUH,SAAWf,EAC1B,CACLe,OAAQd,GAIL,IACT,EAkBA,IAAIkB,EAASd,EAAW3jB,UAkPxB,OAhPAykB,EAAOC,kBAAoB,WACzBvgB,KAAKwgB,cAAa,EAAMxgB,KAAK8f,aAC/B,EAEAQ,EAAOG,mBAAqB,SAA4BC,GACtD,IAAIC,EAAa,KAEjB,GAAID,IAAc1gB,KAAKjC,MAAO,CAC5B,IAAImiB,EAASlgB,KAAKgB,MAAMkf,OAEpBlgB,KAAKjC,MAAMgiB,GACTG,IAAWb,GAAYa,IAAWZ,IACpCqB,EAAatB,GAGXa,IAAWb,GAAYa,IAAWZ,IACpCqB,EAAapB,EAGnB,CAEAvf,KAAKwgB,cAAa,EAAOG,EAC3B,EAEAL,EAAOjb,qBAAuB,WAC5BrF,KAAK4gB,oBACP,EAEAN,EAAOO,YAAc,WACnB,IACIC,EAAMjB,EAAOF,EADbnJ,EAAUxW,KAAKjC,MAAMyY,QAWzB,OATAsK,EAAOjB,EAAQF,EAASnJ,EAET,MAAXA,GAAsC,kBAAZA,IAC5BsK,EAAOtK,EAAQsK,KACfjB,EAAQrJ,EAAQqJ,MAEhBF,OAA4BphB,IAAnBiY,EAAQmJ,OAAuBnJ,EAAQmJ,OAASE,GAGpD,CACLiB,KAAMA,EACNjB,MAAOA,EACPF,OAAQA,EAEZ,EAEAW,EAAOE,aAAe,SAAsBO,EAAUJ,GAKpD,QAJiB,IAAbI,IACFA,GAAW,GAGM,OAAfJ,EAIF,GAFA3gB,KAAK4gB,qBAEDD,IAAetB,EAAU,CAC3B,GAAIrf,KAAKjC,MAAMiiB,eAAiBhgB,KAAKjC,MAAMkiB,aAAc,CACvD,IAAIhZ,EAAOjH,KAAKjC,MAAMijB,QAAUhhB,KAAKjC,MAAMijB,QAAQC,QAAUC,EAAAA,YAAqBlhB,MAI9EiH,GAAMgY,EAAYhY,EACxB,CAEAjH,KAAKmhB,aAAaJ,EACpB,MACE/gB,KAAKohB,mBAEEphB,KAAKjC,MAAMiiB,eAAiBhgB,KAAKgB,MAAMkf,SAAWd,GAC3Dpf,KAAKiB,SAAS,CACZif,OAAQf,GAGd,EAEAmB,EAAOa,aAAe,SAAsBJ,GAC1C,IAAIM,EAASrhB,KAET6f,EAAQ7f,KAAKjC,MAAM8hB,MACnByB,EAAYthB,KAAKyf,QAAUzf,KAAKyf,QAAQG,WAAamB,EAErDQ,EAAQvhB,KAAKjC,MAAMijB,QAAU,CAACM,GAAa,CAACJ,EAAAA,YAAqBlhB,MAAOshB,GACxEE,EAAYD,EAAM,GAClBE,EAAiBF,EAAM,GAEvBG,EAAW1hB,KAAK6gB,cAChBc,EAAeL,EAAYI,EAAS/B,OAAS+B,EAAS7B,OAGrDkB,IAAalB,GAAS+B,EACzB5hB,KAAK6hB,aAAa,CAChB3B,OAAQZ,IACP,WACD+B,EAAOtjB,MAAM+jB,UAAUN,EACzB,KAIFxhB,KAAKjC,MAAMgkB,QAAQP,EAAWC,GAC9BzhB,KAAK6hB,aAAa,CAChB3B,OAAQb,IACP,WACDgC,EAAOtjB,MAAMikB,WAAWR,EAAWC,GAEnCJ,EAAOY,gBAAgBN,GAAc,WACnCN,EAAOQ,aAAa,CAClB3B,OAAQZ,IACP,WACD+B,EAAOtjB,MAAM+jB,UAAUN,EAAWC,EACpC,GACF,GACF,IACF,EAEAnB,EAAOc,YAAc,WACnB,IAAIc,EAASliB,KAET8gB,EAAO9gB,KAAKjC,MAAM+iB,KAClBY,EAAW1hB,KAAK6gB,cAChBW,EAAYxhB,KAAKjC,MAAMijB,aAAUziB,EAAY2iB,EAAAA,YAAqBlhB,MAEjE8gB,IAAQc,GASb5hB,KAAKjC,MAAMokB,OAAOX,GAClBxhB,KAAK6hB,aAAa,CAChB3B,OAAQX,IACP,WACD2C,EAAOnkB,MAAMqkB,UAAUZ,GAEvBU,EAAOD,gBAAgBP,EAASZ,MAAM,WACpCoB,EAAOL,aAAa,CAClB3B,OAAQd,IACP,WACD8C,EAAOnkB,MAAMskB,SAASb,EACxB,GACF,GACF,KArBExhB,KAAK6hB,aAAa,CAChB3B,OAAQd,IACP,WACD8C,EAAOnkB,MAAMskB,SAASb,EACxB,GAkBJ,EAEAlB,EAAOM,mBAAqB,WACA,OAAtB5gB,KAAKmgB,eACPngB,KAAKmgB,aAAamC,SAClBtiB,KAAKmgB,aAAe,KAExB,EAEAG,EAAOuB,aAAe,SAAsBU,EAAWC,GAIrDA,EAAWxiB,KAAKyiB,gBAAgBD,GAChCxiB,KAAKiB,SAASshB,EAAWC,EAC3B,EAEAlC,EAAOmC,gBAAkB,SAAyBD,GAChD,IAAIE,EAAS1iB,KAET8B,GAAS,EAcb,OAZA9B,KAAKmgB,aAAe,SAAUwC,GACxB7gB,IACFA,GAAS,EACT4gB,EAAOvC,aAAe,KACtBqC,EAASG,GAEb,EAEA3iB,KAAKmgB,aAAamC,OAAS,WACzBxgB,GAAS,CACX,EAEO9B,KAAKmgB,YACd,EAEAG,EAAO2B,gBAAkB,SAAyBzL,EAASoM,GACzD5iB,KAAKyiB,gBAAgBG,GACrB,IAAI3b,EAAOjH,KAAKjC,MAAMijB,QAAUhhB,KAAKjC,MAAMijB,QAAQC,QAAUC,EAAAA,YAAqBlhB,MAC9E6iB,EAA0C,MAAXrM,IAAoBxW,KAAKjC,MAAM+kB,eAElE,GAAK7b,IAAQ4b,EAAb,CAKA,GAAI7iB,KAAKjC,MAAM+kB,eAAgB,CAC7B,IAAIC,EAAQ/iB,KAAKjC,MAAMijB,QAAU,CAAChhB,KAAKmgB,cAAgB,CAAClZ,EAAMjH,KAAKmgB,cAC/DqB,EAAYuB,EAAM,GAClBC,EAAoBD,EAAM,GAE9B/iB,KAAKjC,MAAM+kB,eAAetB,EAAWwB,EACvC,CAEe,MAAXxM,GACFR,WAAWhW,KAAKmgB,aAAc3J,EAXhC,MAFER,WAAWhW,KAAKmgB,aAAc,EAelC,EAEAG,EAAO5c,OAAS,WACd,IAAIwc,EAASlgB,KAAKgB,MAAMkf,OAExB,GAAIA,IAAWf,EACb,OAAO,KAGT,IAAI5Y,EAAcvG,KAAKjC,MACnBiG,EAAWuC,EAAYvC,SAgBvB8W,GAfMvU,EAAYwZ,GACFxZ,EAAY0Z,aACX1Z,EAAYyZ,cACnBzZ,EAAYoZ,OACbpZ,EAAYsZ,MACbtZ,EAAYua,KACTva,EAAYiQ,QACLjQ,EAAYuc,eACnBvc,EAAYwb,QACTxb,EAAYyb,WACbzb,EAAYub,UACfvb,EAAY4b,OACT5b,EAAY6b,UACb7b,EAAY8b,SACb9b,EAAYya,SACVte,EAAAA,EAAAA,GAA8B6D,EAAa,CAAC,WAAY,KAAM,eAAgB,gBAAiB,SAAU,QAAS,OAAQ,UAAW,iBAAkB,UAAW,aAAc,YAAa,SAAU,YAAa,WAAY,aAEjP,OAGEpC,EAAAA,cAAoB8e,EAAuB5I,SAAU,CACnDnd,MAAO,MACc,oBAAb8G,EAA0BA,EAASkc,EAAQpF,GAAc3W,EAAAA,aAAmBA,EAAAA,SAAe+e,KAAKlf,GAAW8W,GAEzH,EAEO0E,CACT,CAlT8B,CAkT5Brb,EAAAA,WA+LF,SAAS0S,IAAQ,CA7LjB2I,EAAW2D,YAAcF,EACzBzD,EAAW4D,UA0LP,CAAC,EAIL5D,EAAW9X,aAAe,CACxBqY,IAAI,EACJE,cAAc,EACdD,eAAe,EACfL,QAAQ,EACRE,OAAO,EACPiB,MAAM,EACNiB,QAASlL,EACTmL,WAAYnL,EACZiL,UAAWjL,EACXsL,OAAQtL,EACRuL,UAAWvL,EACXwL,SAAUxL,GAEZ2I,EAAWL,UAAYA,EACvBK,EAAWJ,OAASA,EACpBI,EAAWH,SAAWA,EACtBG,EAAWF,QAAUA,EACrBE,EAAWD,QAAUA,EACrB,UCrmBA,IAMI8D,EAAc,SAAqBpc,EAAMqc,GAC3C,OAAOrc,GAAQqc,GAAWA,EAAQnO,MAAM,KAAKvY,SAAQ,SAAU4L,GAC7D,OLRyC/B,EKQb+B,QLRIrB,EKQVF,GLPZsc,UACVpc,EAAQoc,UAAUC,OAAO/c,GACa,kBAAtBU,EAAQV,UACxBU,EAAQV,UAAYqY,EAAiB3X,EAAQV,UAAWA,GAExDU,EAAQc,aAAa,QAAS6W,EAAiB3X,EAAQV,WAAaU,EAAQV,UAAUgd,SAAW,GAAIhd,KAN1F,IAAqBU,EAASV,CKS3C,GACF,EAwEIid,EAA6B,SAAUpjB,GAGzC,SAASojB,IAGP,IAFA,IAAI3iB,EAEK4iB,EAAOjnB,UAAUC,OAAQoa,EAAO,IAAInM,MAAM+Y,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E7M,EAAK6M,GAAQlnB,UAAUknB,GAgHzB,OA7GA7iB,EAAQT,EAAiB7B,KAAKjC,MAAM8D,EAAkB,CAACN,MAAM8D,OAAOiT,KAAU/W,MACxE6jB,eAAiB,CACrBlE,OAAQ,CAAC,EACTE,MAAO,CAAC,EACRiB,KAAM,CAAC,GAGT/f,EAAMghB,QAAU,SAAUP,EAAWC,GACnC,IAAIqC,EAAwB/iB,EAAMgjB,iBAAiBvC,EAAWC,GAC1Dxa,EAAO6c,EAAsB,GAC7BxC,EAAYwC,EAAsB,GAEtC/iB,EAAMijB,cAAc/c,EAAM,QAE1BlG,EAAMkjB,SAAShd,EAAMqa,EAAY,SAAW,QAAS,QAEjDvgB,EAAMhD,MAAMgkB,SACdhhB,EAAMhD,MAAMgkB,QAAQP,EAAWC,EAEnC,EAEA1gB,EAAMihB,WAAa,SAAUR,EAAWC,GACtC,IAAIyC,EAAyBnjB,EAAMgjB,iBAAiBvC,EAAWC,GAC3Dxa,EAAOid,EAAuB,GAG9B3iB,EAFY2iB,EAAuB,GAEhB,SAAW,QAElCnjB,EAAMkjB,SAAShd,EAAM1F,EAAM,UAEvBR,EAAMhD,MAAMikB,YACdjhB,EAAMhD,MAAMikB,WAAWR,EAAWC,EAEtC,EAEA1gB,EAAM+gB,UAAY,SAAUN,EAAWC,GACrC,IAAI0C,EAAyBpjB,EAAMgjB,iBAAiBvC,EAAWC,GAC3Dxa,EAAOkd,EAAuB,GAG9B5iB,EAFY4iB,EAAuB,GAEhB,SAAW,QAElCpjB,EAAMijB,cAAc/c,EAAM1F,GAE1BR,EAAMkjB,SAAShd,EAAM1F,EAAM,QAEvBR,EAAMhD,MAAM+jB,WACd/gB,EAAMhD,MAAM+jB,UAAUN,EAAWC,EAErC,EAEA1gB,EAAMohB,OAAS,SAAUX,GACvB,IACIva,EADyBlG,EAAMgjB,iBAAiBvC,GAClB,GAElCzgB,EAAMijB,cAAc/c,EAAM,UAE1BlG,EAAMijB,cAAc/c,EAAM,SAE1BlG,EAAMkjB,SAAShd,EAAM,OAAQ,QAEzBlG,EAAMhD,MAAMokB,QACdphB,EAAMhD,MAAMokB,OAAOX,EAEvB,EAEAzgB,EAAMqhB,UAAY,SAAUZ,GAC1B,IACIva,EADyBlG,EAAMgjB,iBAAiBvC,GAClB,GAElCzgB,EAAMkjB,SAAShd,EAAM,OAAQ,UAEzBlG,EAAMhD,MAAMqkB,WACdrhB,EAAMhD,MAAMqkB,UAAUZ,EAE1B,EAEAzgB,EAAMshB,SAAW,SAAUb,GACzB,IACIva,EADyBlG,EAAMgjB,iBAAiBvC,GAClB,GAElCzgB,EAAMijB,cAAc/c,EAAM,QAE1BlG,EAAMkjB,SAAShd,EAAM,OAAQ,QAEzBlG,EAAMhD,MAAMskB,UACdthB,EAAMhD,MAAMskB,SAASb,EAEzB,EAEAzgB,EAAMgjB,iBAAmB,SAAUvC,EAAWC,GAC5C,OAAO1gB,EAAMhD,MAAMijB,QAAU,CAACjgB,EAAMhD,MAAMijB,QAAQC,QAASO,GACzD,CAACA,EAAWC,EAChB,EAEA1gB,EAAMqjB,cAAgB,SAAU7iB,GAC9B,IAAI6N,EAAarO,EAAMhD,MAAMqR,WACzBiV,EAA2C,kBAAfjV,EAE5BkV,EAAgBD,EAAqB,IAD5BA,GAAsBjV,EAAaA,EAAa,IAAM,IACZ7N,EAAO6N,EAAW7N,GAGzE,MAAO,CACL+iB,cAAeA,EACfC,gBAJoBF,EAAqBC,EAAgB,UAAYlV,EAAW7N,EAAO,UAKvFijB,cAJkBH,EAAqBC,EAAgB,QAAUlV,EAAW7N,EAAO,QAMvF,EAEOR,CACT,CAvHA8d,EAAe6E,EAAepjB,GAyH9B,IAAIggB,EAASoD,EAAc7nB,UA4D3B,OA1DAykB,EAAO2D,SAAW,SAAkBhd,EAAM1F,EAAMkjB,GAC9C,IAAIhe,EAAYzG,KAAKokB,cAAc7iB,GAAMkjB,EAAQ,aAG7CD,EADsBxkB,KAAKokB,cAAc,SACLI,cAE3B,WAATjjB,GAA+B,SAAVkjB,GAAoBD,IAC3C/d,GAAa,IAAM+d,GAKP,WAAVC,GACExd,GAAMgY,EAAYhY,GAGpBR,IACFzG,KAAK6jB,eAAetiB,GAAMkjB,GAAShe,EA/NzB,SAAkBQ,EAAMqc,GAC/Brc,GAAQqc,GAAWA,EAAQnO,MAAM,KAAKvY,SAAQ,SAAU4L,GAC7D,OCLsC/B,EDKb+B,QCLIrB,EDKVF,GCJTsc,UAAWpc,EAAQoc,UAAUmB,IAAIje,GCHhC,SAAkBU,EAASV,GACxC,OAAIU,EAAQoc,YAAoB9c,GAAaU,EAAQoc,UAAUoB,SAASle,IACkC,KAAlG,KAAOU,EAAQV,UAAUgd,SAAWtc,EAAQV,WAAa,KAAKhE,QAAQ,IAAMgE,EAAY,IAClG,CDAoEme,CAASzd,EAASV,KAA6C,kBAAtBU,EAAQV,UAAwBU,EAAQV,UAAYU,EAAQV,UAAY,IAAMA,EAAeU,EAAQc,aAAa,SAAUd,EAAQV,WAAaU,EAAQV,UAAUgd,SAAW,IAAM,IAAMhd,KADxR,IAAkBU,EAASV,CDMxC,GACF,CA6NMoe,CAAU5d,EAAMR,GAEpB,EAEA6Z,EAAO0D,cAAgB,SAAuB/c,EAAM1F,GAClD,IAAIujB,EAAwB9kB,KAAK6jB,eAAetiB,GAC5C+iB,EAAgBQ,EAAsBC,KACtCR,EAAkBO,EAAsBhjB,OACxC0iB,EAAgBM,EAAsBE,KAC1ChlB,KAAK6jB,eAAetiB,GAAQ,CAAC,EAEzB+iB,GACFjB,EAAYpc,EAAMqd,GAGhBC,GACFlB,EAAYpc,EAAMsd,GAGhBC,GACFnB,EAAYpc,EAAMud,EAEtB,EAEAlE,EAAO5c,OAAS,WACd,IAAI6C,EAAcvG,KAAKjC,MAEnBA,GADIwI,EAAY6I,YACR1M,EAAAA,EAAAA,GAA8B6D,EAAa,CAAC,gBAExD,OAAoBpC,EAAAA,cAAoBqb,GAAYtd,EAAAA,EAAAA,GAAS,CAAC,EAAGnE,EAAO,CACtEgkB,QAAS/hB,KAAK+hB,QACdD,UAAW9hB,KAAK8hB,UAChBE,WAAYhiB,KAAKgiB,WACjBG,OAAQniB,KAAKmiB,OACbC,UAAWpiB,KAAKoiB,UAChBC,SAAUriB,KAAKqiB,WAEnB,EAEOqB,CACT,CAvLiC,CAuL/Bvf,EAAAA,WAEFuf,EAAchc,aAAe,CAC3B0H,WAAY,IAEdsU,EAAcN,UAiIT,CAAC,EACN,uCGzZAzpB,EAAOC,QAIP,SAAmBuX,GACjB,IAAIlR,EAAOD,KAEXA,KAAKilB,SAEL,SAAiBC,GACf,OAAOC,EACLD,EACAhpB,OAAOiG,OAAO,CAAC,EAAGlC,EAAKgD,KAAK,YAAakO,EAAS,CAIhDiU,WAAYnlB,EAAKgD,KAAK,yBAA2B,KAGvD,CACF,EAlBA,IAAIkiB,EAAa/Z,EAAQ,6BCFzBzR,EAAOC,QAGP,SAAuBsD,EAAOmoB,GAC5B,IAEIC,EACAC,EAHAC,EAAQ,EACRC,EAAU,EAId,GAAyB,kBAAdJ,GAA+C,IAArBA,EAAU1oB,OAC7C,MAAM,IAAIrD,MAAM,sBAGlB4D,EAAQwB,OAAOxB,GACfqoB,EAAQroB,EAAMuF,QAAQ4iB,GACtBC,EAAWC,EAEX,MAAkB,IAAXA,GACLC,IAEID,IAAUD,EACRE,EAAQC,IACVA,EAAUD,GAGZA,EAAQ,EAGVF,EAAWC,EAAQ,EACnBA,EAAQroB,EAAMuF,QAAQ4iB,EAAWC,GAGnC,OAAOG,CACT,kBCnCA9rB,EAAOC,QAAU,EAAjBD,gBCAAA,EAAOC,QAEP,SAAS8rB,EAAUX,EAAMY,GACvB,IACI1oB,EADAsoB,GAAS,EAIb,GAAII,EAAUP,WACZ,OAASG,EAAQI,EAAUP,WAAWzoB,QACpC+oB,EAAUX,EAAMY,EAAUP,WAAWG,IAIzC,IAAKtoB,KAAO0oB,EACE,eAAR1oB,IAEe,WAARA,GAA4B,SAARA,EAC7B8nB,EAAK9nB,GAAO8nB,EAAK9nB,GAAK6G,OAAO6hB,EAAU1oB,IAAQ,IAC9B,aAARA,EACT8nB,EAAK9nB,GAAOf,OAAOiG,OAAO4iB,EAAK9nB,GAAM0oB,EAAU1oB,IAAQ,CAAC,GAExD8nB,EAAK5T,QAAQlU,GAAO0oB,EAAU1oB,IAIlC,OAAO8nB,CACT,kBC1BAprB,EAAOC,QAKP,SAAoBqN,EAAMmO,EAAGqK,GAC3B,IAAIqB,EAAOrB,EAAQI,MAAM,cACrB3iB,EAAQ0oB,EAAYC,EAAK5e,EAAMwY,GAAUvY,GAE7C,OADA4Z,IACO5jB,CACT,EARA,IAAI2oB,EAAOza,EAAQ,MACfwa,EAAcxa,EAAQ,MAS1B,SAASlE,EAAI4L,EAAMyS,EAAOO,GACxB,MAAO,KAAOA,EAAQ,GAAK,KAAOhT,CACpC,iBCdAnZ,EAAOC,QAIP,SAAmBqN,EAAMmO,EAAGqK,EAASsG,GACnC,IAAIR,GAAS,EAEb,OAASA,EAAQ9F,EAAQuG,OAAOrpB,QAG9B,GACsC,OAApC8iB,EAAQuG,OAAOT,GAAOF,WACtBY,EAAexG,EAAQyG,MAAOzG,EAAQuG,OAAOT,IAE7C,MAAO,QAAQ5a,KAAKob,EAAKI,QAAU,GAAK,IAI5C,MAAO,MACT,EAjBA,IAAIF,EAAiB7a,EAAQ,qBCF7BzR,EAAOC,QASP,SAAcqN,EAAMmO,EAAGqK,GACrB,IAGIviB,EACAkpB,EACAtF,EACAuF,EANA3P,EAAS4P,EAAW7G,GACpB8G,EAAMtf,EAAK/J,OAAS,GACpBspB,EAAoB,MAAX9P,EAAiB,cAAgB,QAM1C+P,EAAqBxf,EAAMwY,IAC7BqB,EAAOrB,EAAQI,MAAM,gBACrB3iB,EAAQ0oB,EAAYW,EAAKrf,KAEzBkf,EAAWM,EAAOhQ,EAAQiQ,KAAKC,IAAIC,EAAON,EAAK7P,GAAU,EAAG,IAC5DoK,EAAOrB,EAAQI,MAAM,cACrB3iB,EAAQkpB,EAEJnf,EAAK6f,OACPT,EAAU5G,EAAQI,MAAM,iBAAmB2G,GAC3CtpB,GAAS6oB,EAAKtG,EAASxY,EAAK6f,KAAM,CAChCX,OAAQ,IACRY,MAAO,IACPC,OAAQ,CAAC,OAEXX,KAGEpf,EAAK6f,MAAQ7f,EAAK6N,OACpBuR,EAAU5G,EAAQI,MAAM,iBAAmB2G,GAC3CtpB,GACE,IACA6oB,EAAKtG,EAASxY,EAAK6N,KAAM,CACvBqR,OAAQ,IACRY,MAAO,KACPC,OAAQ,CAAC,OAEbX,KAGFnpB,GAAS,KAELqpB,IACFrpB,GAASqpB,EAAM,MAGjBrpB,GAASkpB,GAIX,OADAtF,IACO5jB,CACT,EAzDA,IAAIwpB,EAAStb,EAAQ,MACjByb,EAASzb,EAAQ,MACjBqb,EAAuBrb,EAAQ,MAC/Bkb,EAAalb,EAAQ,MACrBwa,EAAcxa,EAAQ,MACtB2a,EAAO3a,EAAQ,MAsDnB,SAASlE,EAAI4L,EAAMsC,EAAG0Q,GACpB,OAAQA,EAAQ,GAAK,QAAUhT,CACjC,kBC/DAnZ,EAAOC,QAMP,SAAoBqN,EAAMmO,EAAGqK,GAC3B,IAAI/I,EAASuQ,EAAWxH,GACpB+G,EAAoB,MAAX9P,EAAiB,QAAU,aACpCoK,EAAOrB,EAAQI,MAAM,cACrBwG,EAAU5G,EAAQI,MAAM,SACxB3iB,EACF,IAAM6oB,EAAKtG,EAASyH,EAAYjgB,GAAO,CAACkf,OAAQ,IAAKY,MAAO,MAAQ,MAEtEV,KAIGpf,EAAK0N,KAEN,YAAYhK,KAAK1D,EAAK0N,MAEtB0R,EAAU5G,EAAQI,MAAM,sBACxB3iB,GAAS,IAAM6oB,EAAKtG,EAASxY,EAAK0N,IAAK,CAACwR,OAAQ,IAAKY,MAAO,MAAQ,MAGpEV,EAAU5G,EAAQI,MAAM,kBACxB3iB,GAAS6oB,EAAKtG,EAASxY,EAAK0N,IAAK,CAACwR,OAAQ,IAAKY,MAAO,OAGxDV,IAEIpf,EAAKtM,QACP0rB,EAAU5G,EAAQI,MAAM,QAAU2G,GAClCtpB,GACE,IACAwZ,EACAqP,EAAKtG,EAASxY,EAAKtM,MAAO,CAACwrB,OAAQzP,EAAQqQ,MAAOrQ,IAClDA,EACF2P,KAKF,OAFAvF,IAEO5jB,CACT,EA3CA,IAAIgqB,EAAc9b,EAAQ,MACtB6b,EAAa7b,EAAQ,MACrB2a,EAAO3a,EAAQ,sBCJnBzR,EAAOC,QAAUutB,EACjBA,EAASC,KAiBT,SAAsBngB,EAAMmO,EAAGqK,GAC7B,OAAOA,EAAQtO,QAAQgW,UAAY,GACrC,EAjBA,IAAIE,EAAgBjc,EAAQ,MACxBkc,EAAWlc,EAAQ,MAMvB,SAAS+b,EAASlgB,EAAMmO,EAAGqK,GACzB,IAAI/I,EAAS2Q,EAAc5H,GACvBqB,EAAOrB,EAAQI,MAAM,YACrB3iB,EAAQoqB,EAASrgB,EAAMwY,EAAS,CAAC0G,OAAQzP,EAAQqQ,MAAOrQ,IAE5D,OADAoK,IACOpK,EAASxZ,EAAQwZ,CAC1B,kBChBA/c,EAAOC,QAMP,SAAiBqN,EAAMmO,EAAGqK,GACxB,IACIqB,EACAuF,EACAnpB,EACAkpB,EAJAmB,EAAOZ,KAAKC,IAAID,KAAKa,IAAI,EAAGvgB,EAAKwgB,OAAS,GAAI,GAMlD,GAAIC,EAAsBzgB,EAAMwY,GAO9B,OANAqB,EAAOrB,EAAQI,MAAM,iBACrBwG,EAAU5G,EAAQI,MAAM,YACxB3iB,EAAQoqB,EAASrgB,EAAMwY,EAAS,CAAC0G,OAAQ,KAAMY,MAAO,OACtDV,IACAvF,IAGE5jB,EACA,KACAwpB,EACW,IAATa,EAAa,IAAM,IAEnBrqB,EAAMP,QAGHgqB,KAAKC,IAAI1pB,EAAMyV,YAAY,MAAOzV,EAAMyV,YAAY,OAAS,IAKtEyT,EAAWM,EAAO,IAAKa,GACvBzG,EAAOrB,EAAQI,MAAM,cACrBwG,EAAU5G,EAAQI,MAAM,YAExB3iB,GADAA,EAAQoqB,EAASrgB,EAAMwY,EAAS,CAAC0G,OAAQ,KAAMY,MAAO,QACtCX,EAAW,IAAMlpB,EAAQkpB,EACrC3G,EAAQtO,QAAQwW,WAClBzqB,GAAS,IAAMkpB,GAMjB,OAHAC,IACAvF,IAEO5jB,CACT,EA7CA,IAAIwpB,EAAStb,EAAQ,MACjBsc,EAAwBtc,EAAQ,MAChCkc,EAAWlc,EAAQ,gBCDvB,SAASwc,EAAK3gB,GACZ,OAAOA,EAAK/J,OAAS,EACvB,CALAvD,EAAOC,QAAUguB,EACjBA,EAAKR,KAML,WACE,MAAO,GACT,kBCTAztB,EAAOC,QAAUiuB,EACjBA,EAAeT,KAiCf,WACE,MAAO,GACT,EAjCA,IAAIF,EAAc9b,EAAQ,MACtB2a,EAAO3a,EAAQ,MAEnB,SAASyc,EAAe5gB,EAAMmO,EAAGqK,GAC/B,IAKIqI,EACA5B,EANA3kB,EAAO0F,EAAK8gB,cACZjH,EAAOrB,EAAQI,MAAM,kBACrBwG,EAAU5G,EAAQI,MAAM,SACxBmI,EAAMjC,EAAKtG,EAASxY,EAAK+gB,IAAK,CAAC7B,OAAQ,IAAKY,MAAO,MACnD7pB,EAAQ,KAAO8qB,EAAM,IAoBzB,OAhBA3B,IAEAH,EAAQzG,EAAQyG,MAChBzG,EAAQyG,MAAQ,GAChBG,EAAU5G,EAAQI,MAAM,aACxBiI,EAAY/B,EAAKtG,EAASyH,EAAYjgB,GAAO,CAACkf,OAAQ,IAAKY,MAAO,MAClEV,IACA5G,EAAQyG,MAAQA,EAChBpF,IAEa,SAATvf,GAAoBymB,GAAOA,IAAQF,EAEnB,aAATvmB,IACTrE,GAAS,MAFTA,GAAS,IAAM4qB,EAAY,IAKtB5qB,CACT,kBChCAvD,EAAOC,QAAUquB,EACjBA,EAAMb,KAiDN,WACE,MAAO,GACT,EAjDA,IAAIH,EAAa7b,EAAQ,MACrB2a,EAAO3a,EAAQ,MAEnB,SAAS6c,EAAMhhB,EAAMmO,EAAGqK,GACtB,IAAI5R,EAAQoZ,EAAWxH,GACnB+G,EAAmB,MAAV3Y,EAAgB,QAAU,aACnCiT,EAAOrB,EAAQI,MAAM,SACrBwG,EAAU5G,EAAQI,MAAM,SACxB3iB,EAAQ,KAAO6oB,EAAKtG,EAASxY,EAAK+gB,IAAK,CAAC7B,OAAQ,IAAKY,MAAO,MAAQ,KAoCxE,OAlCAV,KAIIpf,EAAK0N,KAAO1N,EAAKtM,OAEnB,YAAYgQ,KAAK1D,EAAK0N,MAEtB0R,EAAU5G,EAAQI,MAAM,sBACxB3iB,GAAS,IAAM6oB,EAAKtG,EAASxY,EAAK0N,IAAK,CAACwR,OAAQ,IAAKY,MAAO,MAAQ,MAGpEV,EAAU5G,EAAQI,MAAM,kBACxB3iB,GAAS6oB,EAAKtG,EAASxY,EAAK0N,IAAK,CAC/BwR,OAAQ,IACRY,MAAO9f,EAAKtM,MAAQ,IAAM,OAI9B0rB,IAEIpf,EAAKtM,QACP0rB,EAAU5G,EAAQI,MAAM,QAAU2G,GAClCtpB,GACE,IACA2Q,EACAkY,EAAKtG,EAASxY,EAAKtM,MAAO,CAACwrB,OAAQtY,EAAOkZ,MAAOlZ,IACjDA,EACFwY,KAGFnpB,GAAS,IACT4jB,IAEO5jB,CACT,iBChDAtD,EAAQsuB,WAAa,EAArBtuB,MACAA,EAAAA,MAAAA,EAAAA,KACAA,EAAQL,KAAO,EAAfK,KACAA,EAAQuuB,WAAa,EAArBvuB,MACAA,EAAQutB,SAAW,EAAnBvtB,MACAA,EAAQwuB,UAAY,EAApBxuB,KACAA,EAAQyuB,QAAU,EAAlBzuB,MACAA,EAAQguB,KAAO,EAAfhuB,MACAA,EAAQquB,MAAQ,EAAhBruB,MACAA,EAAQiuB,eAAiB,EAAzBjuB,MACAA,EAAQ0uB,WAAa,EAArB1uB,MACAA,EAAQ2uB,KAAO,EAAf3uB,MACAA,EAAQ4uB,cAAgB,EAAxB5uB,MACAA,EAAQ6uB,KAAO,EAAf7uB,KACAA,EAAQ8uB,SAAW,EAAnB9uB,MACAA,EAAQ+uB,UAAY,EAApB/uB,MACAA,EAAQgvB,KAAO,EAAfhvB,MACAA,EAAQivB,OAAS,EAAjBjvB,KACAA,EAAQiI,KAAO,EAAfjI,MACAA,EAAQkvB,cAAgB,EAAxBlvB,sBCnBAD,EAAOC,QAAU0uB,EACjBA,EAAWlB,KAiEX,WACE,MAAO,GACT,EAjEA,IAAI2B,EAAiB3d,EAAQ,MAE7B,SAASkd,EAAWrhB,EAAM+hB,EAAQvJ,GAYhC,IAXA,IAGIwJ,EACAC,EACAxW,EACAE,EANA1V,EAAQ+J,EAAK/J,OAAS,GACtBkpB,EAAW,IACXb,GAAS,EASN,IAAIva,OAAO,WAAaob,EAAW,YAAYzb,KAAKzN,IACzDkpB,GAAY,IAoBd,IAdE,WAAWzb,KAAKzN,KACf,WAAWyN,KAAKzN,EAAM6Q,OAAO,KAC5B,WAAWpD,KAAKzN,EAAM6Q,OAAO7Q,EAAMP,OAAS,OAE9CO,EAAQ,IAAMA,EAAQ,OAUfqoB,EAAQ9F,EAAQuG,OAAOrpB,QAM9B,IALAssB,EAAUxJ,EAAQuG,OAAOT,IAKZ4D,QAIb,IAFAD,EAAaH,EAAeE,GAEpBvW,EAAQwW,EAAWtV,KAAK1W,IAC9B0V,EAAWF,EAAM6S,MAIgB,KAA/BroB,EAAMmT,WAAWuC,IACkB,KAAnC1V,EAAMmT,WAAWuC,EAAW,IAE5BA,IAGF1V,EAAQA,EAAM2W,MAAM,EAAGjB,GAAY,IAAM1V,EAAM2W,MAAMnB,EAAM6S,MAAQ,GAIvE,OAAOa,EAAWlpB,EAAQkpB,CAC5B,kBChEAzsB,EAAOC,QAAU4uB,EACjBA,EAAcpB,KAkCd,WACE,MAAO,GACT,EAlCA,IAAIF,EAAc9b,EAAQ,MACtBkc,EAAWlc,EAAQ,MACnB2a,EAAO3a,EAAQ,MAEnB,SAASod,EAAcvhB,EAAMmO,EAAGqK,GAC9B,IAKIqI,EACA5B,EANA3kB,EAAO0F,EAAK8gB,cACZjH,EAAOrB,EAAQI,MAAM,iBACrBwG,EAAU5G,EAAQI,MAAM,SACxBhe,EAAOylB,EAASrgB,EAAMwY,EAAS,CAAC0G,OAAQ,IAAKY,MAAO,MACpD7pB,EAAQ,IAAM2E,EAAO,IAoBzB,OAhBAwkB,IAEAH,EAAQzG,EAAQyG,MAChBzG,EAAQyG,MAAQ,GAChBG,EAAU5G,EAAQI,MAAM,aACxBiI,EAAY/B,EAAKtG,EAASyH,EAAYjgB,GAAO,CAACkf,OAAQ,IAAKY,MAAO,MAClEV,IACA5G,EAAQyG,MAAQA,EAChBpF,IAEa,SAATvf,GAAoBM,GAAQA,IAASimB,EAErB,aAATvmB,IACTrE,GAAS,MAFTA,GAAS,IAAM4qB,EAAY,IAKtB5qB,CACT,kBCjCAvD,EAAOC,QAAU2uB,EACjBA,EAAKnB,KAkEL,SAAkBngB,EAAMmO,EAAGqK,GACzB,OAAO2J,EAAqBniB,EAAMwY,GAAW,IAAM,GACrD,EAlEA,IAAIwH,EAAa7b,EAAQ,MACrBge,EAAuBhe,EAAQ,MAC/Bkc,EAAWlc,EAAQ,MACnB2a,EAAO3a,EAAQ,MAEnB,SAASmd,EAAKthB,EAAMmO,EAAGqK,GACrB,IAEIqB,EACAuF,EACAnpB,EACAgpB,EALArY,EAAQoZ,EAAWxH,GACnB+G,EAAmB,MAAV3Y,EAAgB,QAAU,aAMvC,OAAIub,EAAqBniB,EAAMwY,IAE7ByG,EAAQzG,EAAQyG,MAChBzG,EAAQyG,MAAQ,GAChBpF,EAAOrB,EAAQI,MAAM,YACrB3iB,EAAQ,IAAMoqB,EAASrgB,EAAMwY,EAAS,CAAC0G,OAAQ,IAAKY,MAAO,MAAQ,IACnEjG,IACArB,EAAQyG,MAAQA,EACThpB,IAGT4jB,EAAOrB,EAAQI,MAAM,QACrBwG,EAAU5G,EAAQI,MAAM,SACxB3iB,EAAQ,IAAMoqB,EAASrgB,EAAMwY,EAAS,CAAC0G,OAAQ,IAAKY,MAAO,MAAQ,KACnEV,KAIIpf,EAAK0N,KAAO1N,EAAKtM,OAEnB,YAAYgQ,KAAK1D,EAAK0N,MAEtB0R,EAAU5G,EAAQI,MAAM,sBACxB3iB,GAAS,IAAM6oB,EAAKtG,EAASxY,EAAK0N,IAAK,CAACwR,OAAQ,IAAKY,MAAO,MAAQ,MAGpEV,EAAU5G,EAAQI,MAAM,kBACxB3iB,GAAS6oB,EAAKtG,EAASxY,EAAK0N,IAAK,CAC/BwR,OAAQ,IACRY,MAAO9f,EAAKtM,MAAQ,IAAM,OAI9B0rB,IAEIpf,EAAKtM,QACP0rB,EAAU5G,EAAQI,MAAM,QAAU2G,GAClCtpB,GACE,IACA2Q,EACAkY,EAAKtG,EAASxY,EAAKtM,MAAO,CAACwrB,OAAQtY,EAAOkZ,MAAOlZ,IACjDA,EACFwY,KAGFnpB,GAAS,IAET4jB,IACO5jB,EACT,kBCjEAvD,EAAOC,QAQP,SAAkBqN,EAAM+hB,EAAQvJ,GAC9B,IAEI4J,EACAnsB,EACA4jB,EAJAwI,EAASC,EAAY9J,GACrB+J,EAAiBC,EAAoBhK,GAKrCuJ,GAAUA,EAAOU,UACnBJ,GACGN,EAAOnW,OAAS,EAAImW,EAAOnW,MAAQ,KACK,IAAxC4M,EAAQtO,QAAQwY,oBACb,EACAX,EAAOhlB,SAASvB,QAAQwE,IAC5B,KAGJoiB,EAAOC,EAAO3sB,OAAS,GAGF,QAAnB6sB,GACoB,UAAnBA,IAAgCR,GAAUA,EAAOY,QAAW3iB,EAAK2iB,WAElEP,EAA6B,EAAtB1C,KAAKkD,KAAKR,EAAO,IAO1B,OAJAvI,EAAOrB,EAAQI,MAAM,YACrB3iB,EAAQ0oB,EAAYC,EAAK5e,EAAMwY,IAK/B,SAAa3M,EAAMyS,EAAOO,GACxB,GAAIP,EACF,OAAQO,EAAQ,GAAKY,EAAO,IAAK2C,IAASvW,EAG5C,OAAQgT,EAAQwD,EAASA,EAAS5C,EAAO,IAAK2C,EAAOC,EAAO3sB,SAAWmW,CACzE,IAVAgO,IAEO5jB,CAST,EA5CA,IAAIwpB,EAAStb,EAAQ,MACjBme,EAAcne,EAAQ,MACtBqe,EAAsBre,EAAQ,MAC9Bya,EAAOza,EAAQ,MACfwa,EAAcxa,EAAQ,qBCN1BzR,EAAOC,QAIP,SAAcqN,EAAMmO,EAAGqK,GACrB,IAAIqB,EAAOrB,EAAQI,MAAM,QACrB3iB,EAAQ2oB,EAAK5e,EAAMwY,GAEvB,OADAqB,IACO5jB,CACT,EAPA,IAAI2oB,EAAOza,EAAQ,sBCFnBzR,EAAOC,QAIP,SAAmBqN,EAAMmO,EAAGqK,GAC1B,IAAIqB,EAAOrB,EAAQI,MAAM,aACrBwG,EAAU5G,EAAQI,MAAM,YACxB3iB,EAAQoqB,EAASrgB,EAAMwY,EAAS,CAAC0G,OAAQ,KAAMY,MAAO,OAG1D,OAFAV,IACAvF,IACO5jB,CACT,EATA,IAAIoqB,EAAWlc,EAAQ,sBCFvBzR,EAAOC,QAIP,SAAcqN,EAAMmO,EAAGqK,GACrB,OAAOoG,EAAK5e,EAAMwY,EACpB,EAJA,IAAIoG,EAAOza,EAAQ,qBCFnBzR,EAAOC,QAAUivB,EACjBA,EAAOzB,KAiBP,SAAoBngB,EAAMmO,EAAGqK,GAC3B,OAAOA,EAAQtO,QAAQ0X,QAAU,GACnC,EAjBA,IAAIiB,EAAc1e,EAAQ,MACtBkc,EAAWlc,EAAQ,MAMvB,SAASyd,EAAO5hB,EAAMmO,EAAGqK,GACvB,IAAI/I,EAASoT,EAAYrK,GACrBqB,EAAOrB,EAAQI,MAAM,UACrB3iB,EAAQoqB,EAASrgB,EAAMwY,EAAS,CAAC0G,OAAQzP,EAAQqQ,MAAOrQ,IAE5D,OADAoK,IACOpK,EAASA,EAASxZ,EAAQwZ,EAASA,CAC5C,kBChBA/c,EAAOC,QAIP,SAAcqN,EAAM+hB,EAAQvJ,EAASsK,GACnC,OAAOhE,EAAKtG,EAASxY,EAAK/J,MAAO6sB,EACnC,EAJA,IAAIhE,EAAO3a,EAAQ,sBCFnBzR,EAAOC,QAMP,SAAuBqN,EAAM+hB,EAAQvJ,GACnC,IAAIviB,EAAQwpB,EACVsD,EAAUvK,IAAYA,EAAQtO,QAAQ8Y,WAAa,IAAM,IACzDC,EAAYzK,IAGd,OAAOA,EAAQtO,QAAQ8Y,WAAa/sB,EAAM2W,MAAM,GAAI,GAAK3W,CAC3D,EAXA,IAAIwpB,EAAStb,EAAQ,MACjB8e,EAAc9e,EAAQ,MACtB4e,EAAY5e,EAAQ,sBCJxBzR,EAAOC,QAQP,SAAoBsrB,EAAM/T,GACxB,IASIvR,EATAuqB,EAAWhZ,GAAW,CAAC,EACvBsO,EAAU,CACZI,MAsCF,SAAevQ,GAEb,OADAmQ,EAAQyG,MAAM3pB,KAAK+S,GACZwR,EAEP,SAASA,IACPrB,EAAQyG,MAAMkE,KAChB,CACF,EA5CElE,MAAO,GACPF,OAAQ,GACRpf,KAAM,GACNyjB,SAAU,CAAC,EACXlZ,QAAS,CAAC,GAIZuU,EAAUjG,EAAS,CACjBuG,OAAQsE,EACR1jB,KAAM2jB,EACNF,SAAUG,IAEZ9E,EAAUjG,EAAS0K,GAEf1K,EAAQtO,QAAQsZ,mBAClBhL,EAAQ7Y,KAAO,CAAC8jB,GAAgB5mB,OAAO2b,EAAQ7Y,OAGjD6Y,EAAQ9D,OAASgP,EAAO,OAAQ,CAC9BC,QAASA,EACTC,QAASA,EACTR,SAAU5K,EAAQ4K,YAGpBzqB,EAAS6f,EAAQ9D,OAAOuJ,EAAM,KAAMzF,EAAS,CAAC0G,OAAQ,KAAMY,MAAO,SAIxB,KAAzCnnB,EAAOyQ,WAAWzQ,EAAOjD,OAAS,IACO,KAAzCiD,EAAOyQ,WAAWzQ,EAAOjD,OAAS,KAElCiD,GAAU,MAGZ,OAAOA,CAUT,EAvDA,IAAI+qB,EAASvf,EAAQ,MACjBsa,EAAYta,EAAQ,MACpBof,EAAkBpf,EAAQ,KAC1Bmf,EAAcnf,EAAQ,MACtBkf,EAAgBlf,EAAQ,MAqD5B,SAASwf,EAAQ1tB,GACf,MAAM,IAAI5D,MAAM,wBAA0B4D,EAAQ,mBACpD,CAEA,SAAS2tB,EAAQ5jB,GACf,MAAM,IAAI3N,MAAM,+BAAiC2N,EAAK1F,KAAO,IAC/D,CAEA,SAASmpB,EAAejtB,EAAMC,GAE5B,GAAkB,eAAdD,EAAK8D,MAAyB9D,EAAK8D,OAAS7D,EAAM6D,KACpD,OAAO,CAEX,kBCxEA5H,EAAOC,QAAU,CAKjB,SAAsB6D,EAAMC,EAAOsrB,EAAQvJ,GACzC,GAEkB,SAAf/hB,EAAM6D,MACL7D,EAAM6D,OAAS9D,EAAK8D,MACpB9B,QAAQhC,EAAKisB,WAAajqB,QAAQ/B,EAAMgsB,UAE1B,SAAfhsB,EAAM6D,MACLklB,EAAqB/oB,EAAO+hB,KACb,SAAdhiB,EAAK8D,MACH9D,EAAK8D,OAAS7D,EAAM6D,MAAQklB,EAAqBhpB,EAAMgiB,IAE5D,OAAO,EAKT,GAA6B,mBAAlBuJ,EAAOY,OAAsB,CACtC,GACgB,cAAdnsB,EAAK8D,OAEJ9D,EAAK8D,OAAS7D,EAAM6D,MACJ,eAAf7D,EAAM6D,MAEU,YAAf7D,EAAM6D,MAAsBmmB,EAAsBhqB,EAAO+hB,IAE5D,OAGF,OAAOuJ,EAAOY,OAAS,EAAI,CAC7B,CACF,GAlCA,IAAInD,EAAuBrb,EAAQ,MAC/Bsc,EAAwBtc,EAAQ,gBCHpCzR,EAAOC,QAAU,CACf,CACEyrB,UAAW,KACXyF,YAAa,CAAC,4BAA6B,wBAE7C,CACEzF,UAAW,KACXyF,YAAa,CACX,4BACA,sBACA,4BACA,sBACA,qBACA,eAGJ,CACEzF,UAAW,KACXyF,YAAa,CACX,4BACA,sBACA,4BACA,sBACA,qBACA,eAGJ,CACEzF,UAAW,IACXyF,YAAa,CAAC,4BAA6B,wBAI7C,CAACzF,UAAW,IAAK0B,MAAO,MAAO+D,YAAa,YAE5C,CAACzF,UAAW,IAAKyF,YAAa,cAE9B,CAAC3B,SAAS,EAAM9D,UAAW,KAC3B,CAACA,UAAW,IAAKyF,YAAa,aAAc/D,MAAO,gBAGnD,CAAC1B,UAAW,IAAK0B,MAAO,YAAa+D,YAAa,YAElD,CAACzF,UAAW,IAAKyF,YAAa,mBAE9B,CAACzF,UAAW,IAAKyF,YAAa,kBAC9B,CAAC3E,OAAQ,MAAOd,UAAW,IAAKyF,YAAa,YAG7C,CAAC3B,SAAS,EAAMhD,OAAQ,OAAQd,UAAW,KAC3C,CAACA,UAAW,IAAKyF,YAAa,kBAE9B,CAAC3B,SAAS,EAAM9D,UAAW,KAC3B,CAACA,UAAW,IAAKyF,YAAa,YAE9B,CAAC3B,SAAS,EAAM9D,UAAW,KAG3B,CAAC8D,SAAS,EAAM9D,UAAW,KAE3B,CAAC8D,SAAS,EAAMhD,OAAQ,OAAQd,UAAW,IAAK0B,MAAO,mBAOvD,CAACoC,SAAS,EAAM9D,UAAW,IAAK0B,MAAO,eACvC,CAAC1B,UAAW,IAAK0B,MAAO,cAAe+D,YAAa,YACpD,CAACzF,UAAW,IAAKyF,YAAa,sBAE9B,CAAC3B,SAAS,EAAM9D,UAAW,KAG3B,CAAC8D,SAAS,EAAM9D,UAAW,KAC3B,CAACA,UAAW,IAAKyF,YAAa,sBAG9B,CAAC3B,SAAS,EAAM9D,UAAW,KAC3B,CAACA,UAAW,IAAKyF,YAAa,CAAC,WAAY,QAAS,cAIpD,CAACzF,UAAW,KAAM0B,MAAO,WAAY+D,YAAa,YAElD,CACEzF,UAAW,IACXyF,YAAa,CAAC,QAAS,cAIzB,CAAC3B,SAAS,EAAM9D,UAAW,KAC3B,CAACc,OAAQ,YAAad,UAAW,IAAKyF,YAAa,YACnD,CAACzF,UAAW,IAAK0B,MAAO,YAAa+D,YAAa,YAGlD,CAAC3B,SAAS,EAAM9D,UAAW,KAC3B,CACEA,UAAW,IACXyF,YAAa,CACX,4BACA,4BACA,aAMJ,CAAC3B,SAAS,EAAM9D,UAAW,sBC5G7B1rB,EAAOC,QAiBP,SAAqBqN,GACnB,GAAIA,EAAK6C,QAAU7C,EAAK8jB,WACtB,OAAO9jB,EAAK6C,OAAS,GAGvB,OAAO7C,EAAK8jB,WACT1Y,QAAQ2Y,EAAiB,MACzB3Y,QAAQ4Y,EAAoBC,EACjC,EAvBA,IAAIC,EAAS/f,EAAQ,MAEjB4f,EAAkB,sBAClBC,EAAqB,+CAsBzB,SAASC,EAAiBE,EAAIC,GAC5B,OAAOF,EAAOE,IAAOD,CACvB,YC7BAzxB,EAAOC,QAEP,SAAqB6lB,GACnB,IAAI/I,EAAS+I,EAAQtO,QAAQmY,QAAU,IAEvC,GAAe,MAAX5S,GAA6B,MAAXA,GAA6B,MAAXA,EACtC,MAAM,IAAIpd,MACR,gCACEod,EACA,qDAIN,OAAOA,CACT,YCdA/c,EAAOC,QAEP,SAAuB6lB,GACrB,IAAI/I,EAAS+I,EAAQtO,QAAQgW,UAAY,IAEzC,GAAe,MAAXzQ,GAA6B,MAAXA,EACpB,MAAM,IAAIpd,MACR,mCACEod,EACA,kDAIN,OAAOA,CACT,YCdA/c,EAAOC,QAEP,SAAoB6lB,GAClB,IAAI/I,EAAS+I,EAAQtO,QAAQma,OAAS,IAEtC,GAAe,MAAX5U,GAA6B,MAAXA,EACpB,MAAM,IAAIpd,MACR,+BACEod,EACA,kDAIN,OAAOA,CACT,YCdA/c,EAAOC,QAEP,SAA6B6lB,GAC3B,IAAIrlB,EAAQqlB,EAAQtO,QAAQqY,gBAAkB,MAE9C,GAAc,IAAVpvB,GAAyB,MAAVA,EACjB,MAAO,MAGT,GAAc,QAAVA,GAA6B,QAAVA,GAA6B,UAAVA,EACxC,MAAM,IAAId,MACR,gCACEc,EACA,qEAIN,OAAOA,CACT,YClBAT,EAAOC,QAEP,SAAoB6lB,GAClB,IAAI/I,EAAS+I,EAAQtO,QAAQtD,OAAS,IAEtC,GAAe,MAAX6I,GAA6B,MAAXA,EACpB,MAAM,IAAIpd,MACR,gCACEod,EACA,gDAIN,OAAOA,CACT,YCdA/c,EAAOC,QAEP,SAAmB6lB,GACjB,IAAI8L,EAAa9L,EAAQtO,QAAQqa,gBAAkB,EAEnD,GAAID,EAAa,EACf,MAAM,IAAIjyB,MACR,2CACEiyB,EACA,wDAIN,OAAOA,CACT,YCdA5xB,EAAOC,QAEP,SAAmB6lB,GACjB,IAAI/I,EAAS+I,EAAQtO,QAAQtC,MAAQ,IAErC,GAAe,MAAX6H,GAA6B,MAAXA,GAA6B,MAAXA,EACtC,MAAM,IAAIpd,MACR,gCACEod,EACA,mDAIN,OAAOA,CACT,YCdA/c,EAAOC,QAEP,SAAqB6lB,GACnB,IAAI/I,EAAS+I,EAAQtO,QAAQ0X,QAAU,IAEvC,GAAe,MAAXnS,GAA6B,MAAXA,EACpB,MAAM,IAAIpd,MACR,iCACEod,EACA,gDAIN,OAAOA,CACT,kBCdA/c,EAAOC,QAIP,SAAcovB,EAAQvJ,GACpB,IAGI3Y,EAHA9C,EAAWglB,EAAOhlB,UAAY,GAC9BynB,EAAU,GACVlG,GAAS,EAGb,OAASA,EAAQvhB,EAASrH,QACxBmK,EAAQ9C,EAASuhB,GAEjBkG,EAAQlvB,KACNkjB,EAAQ9D,OAAO7U,EAAOkiB,EAAQvJ,EAAS,CAAC0G,OAAQ,KAAMY,MAAO,QAG3DxB,EAAQ,EAAIvhB,EAASrH,QACvB8uB,EAAQlvB,KAAKmvB,EAAQ5kB,EAAO9C,EAASuhB,EAAQ,KAIjD,OAAOkG,EAAQ7kB,KAAK,IAEpB,SAAS8kB,EAAQjuB,EAAMC,GAIrB,IAHA,IACIkC,EADA2lB,GAAS,IAGJA,EAAQ9F,EAAQ7Y,KAAKjK,SAGb,KAFfiD,EAAS6f,EAAQ7Y,KAAK2e,GAAO9nB,EAAMC,EAAOsrB,EAAQvJ,KAEhB,IAAX7f,GAHa,CAOpC,GAAsB,kBAAXA,EACT,OAAO8mB,EAAO,KAAM,EAAI/nB,OAAOiB,IAGjC,IAAe,IAAXA,EACF,MAAO,uBAEX,CAEA,MAAO,MACT,CACF,EA5CA,IAAI8mB,EAAStb,EAAQ,gBCFrBzR,EAAOC,QAEP,SAAkBovB,EAAQvJ,EAASsK,GACjC,IAIIhD,EACApL,EACA7U,EANA9C,EAAWglB,EAAOhlB,UAAY,GAC9BynB,EAAU,GACVlG,GAAS,EACTY,EAAS4D,EAAY5D,OAKzB,OAASZ,EAAQvhB,EAASrH,QACxBmK,EAAQ9C,EAASuhB,GAEbA,EAAQ,EAAIvhB,EAASrH,SACvBgf,EAAS8D,EAAQ9D,OAAO0O,SAASrmB,EAASuhB,EAAQ,GAAGhkB,QACvCoa,EAAOyL,OAAMzL,EAASA,EAAOyL,MAC3CL,EAAQpL,EACJA,EAAO3X,EAASuhB,EAAQ,GAAIyD,EAAQvJ,EAAS,CAC3C0G,OAAQ,GACRY,MAAO,KACNhZ,OAAO,GACV,IAEJgZ,EAAQgD,EAAYhD,MAUpB0E,EAAQ9uB,OAAS,IACL,OAAXwpB,GAA8B,OAAXA,IACL,SAAfrf,EAAMvF,OAENkqB,EAAQA,EAAQ9uB,OAAS,GAAK8uB,EAAQA,EAAQ9uB,OAAS,GAAG0V,QACxD,cACA,KAEF8T,EAAS,KAGXsF,EAAQlvB,KACNkjB,EAAQ9D,OAAO7U,EAAOkiB,EAAQvJ,EAAS,CACrC0G,OAAQA,EACRY,MAAOA,KAIXZ,EAASsF,EAAQA,EAAQ9uB,OAAS,GAAGkX,OAAO,GAG9C,OAAO4X,EAAQ7kB,KAAK,GACtB,YCxDAjN,EAAOC,QAEP,SAA8BqN,EAAMwY,GAClC,OACGA,EAAQtO,QAAQwa,QACjB1kB,EAAK/J,QAEJ+J,EAAK6f,MAEN,WAAWnc,KAAK1D,EAAK/J,SAEpB,0CAA0CyN,KAAK1D,EAAK/J,MAEzD,kBCbAvD,EAAOC,QAIP,SAA+BqN,EAAMwY,GACnC,OACEA,EAAQtO,QAAQya,UAAY3kB,EAAKwgB,OAASxgB,EAAKwgB,MAAQ,IAAMlX,EAAStJ,EAE1E,EANA,IAAIsJ,EAAWnF,EAAQ,sBCFvBzR,EAAOC,QAIP,SAA8BqN,EAAMwY,GAClC,IAAI8G,EAAMhW,EAAStJ,GAEnB,OACGwY,EAAQtO,QAAQ0a,cAEjB5kB,EAAK0N,MAEJ1N,EAAKtM,OAENsM,EAAKjD,UACoB,IAAzBiD,EAAKjD,SAASrH,QACY,SAA1BsK,EAAKjD,SAAS,GAAGzC,OAEhBglB,IAAQtf,EAAK0N,KAAO,UAAY4R,IAAQtf,EAAK0N,MAE9C,oBAAoBhK,KAAK1D,EAAK0N,OAG7B,iBAAiBhK,KAAK1D,EAAK0N,IAEhC,EAvBA,IAAIpE,EAAWnF,EAAQ,gBCFvBzR,EAAOC,QAIP,SAAqBsD,EAAOgK,GAC1B,IAGIwL,EAHA9S,EAAS,GACTiT,EAAQ,EACRC,EAAO,EAGX,KAAQJ,EAAQoZ,EAAIlY,KAAK1W,IACvB6uB,EAAI7uB,EAAM2W,MAAMhB,EAAOH,EAAM6S,QAC7B3lB,EAAOrD,KAAKmW,EAAM,IAClBG,EAAQH,EAAM6S,MAAQ7S,EAAM,GAAG/V,OAC/BmW,IAKF,OAFAiZ,EAAI7uB,EAAM2W,MAAMhB,IAETjT,EAAOgH,KAAK,IAEnB,SAASmlB,EAAI7uB,GACX0C,EAAOrD,KAAK2K,EAAIhK,EAAO4V,GAAO5V,GAChC,CACF,EAtBA,IAAI4uB,EAAM,sBCFVnyB,EAAOC,QAEP,SAAwBqvB,GACtB,IAAI9C,EACAY,EAECkC,EAAQ+C,YACX7F,EAAS8C,EAAQ9C,OAAS,MAAQ8C,EAAQ9C,OAAS,IAAM,GACzDY,EAAQkC,EAAQlC,MAAQ,MAAQkC,EAAQlC,MAAQ,IAAM,GAElDkC,EAAQE,UACVhD,EAAS,kBAAoBA,GAG/B8C,EAAQ+C,UAAY,IAAIhhB,QACrBmb,EAAS,IAAMA,EAAS,IAAM,KAC5B,sBAAsBxb,KAAKse,EAAQ5D,WAAa,KAAO,IACxD4D,EAAQ5D,WACP0B,GAAS,IACZ,MAIJ,OAAOkC,EAAQ+C,SACjB,YCfA,SAASC,EAAY/F,EAAOuC,EAAMyD,GAChC,IAAI3G,EAEJ,IAAKkD,EACH,OAAOyD,EAST,IANoB,kBAATzD,IACTA,EAAO,CAACA,IAGVlD,GAAS,IAEAA,EAAQkD,EAAK9rB,QACpB,IAAoC,IAAhCupB,EAAMzjB,QAAQgmB,EAAKlD,IACrB,OAAO,EAIX,OAAO,CACT,CA7BA5rB,EAAOC,QAEP,SAAwBssB,EAAO+C,GAC7B,OACEgD,EAAY/F,EAAO+C,EAAQ6B,aAAa,KACvCmB,EAAY/F,EAAO+C,EAAQkD,eAEhC,kBCPAxyB,EAAOC,QAKP,SAAc6lB,EAASthB,EAAOyjB,GAC5B,IAKIuE,EACAY,EACAnU,EACAqW,EACAC,EACAxW,EACAG,EACAI,EAZA/V,GAAS0kB,EAAOuE,QAAU,KAAOhoB,GAAS,KAAOyjB,EAAOmF,OAAS,IACjEqF,EAAY,GACZxsB,EAAS,GACTysB,EAAQ,CAAC,EACT9G,GAAS,EAUb,OAASA,EAAQ9F,EAAQuG,OAAOrpB,QAG9B,GAFAssB,EAAUxJ,EAAQuG,OAAOT,GAEpBU,EAAexG,EAAQyG,MAAO+C,GAMnC,IAFAC,EAAaH,EAAeE,GAEpBvW,EAAQwW,EAAWtV,KAAK1W,IAC9BipB,EAAS,WAAY8C,GAAWA,EAAQE,QACxCpC,EAAQ,UAAWkC,EAEnBrW,EAAWF,EAAM6S,OAASY,EAASzT,EAAM,GAAG/V,OAAS,IAEhB,IAAjCyvB,EAAU3pB,QAAQmQ,IACpBwZ,EAAU7vB,KAAKqW,GACfyZ,EAAMzZ,GAAY,CAACuT,OAAQA,EAAQY,MAAOA,KAEtCsF,EAAMzZ,GAAUuT,SAAWA,IAC7BkG,EAAMzZ,GAAUuT,QAAS,GAGvBkG,EAAMzZ,GAAUmU,QAAUA,IAC5BsF,EAAMzZ,GAAUmU,OAAQ,IAMhCqF,EAAUE,KAAKC,GAEf1Z,EAAQ+O,EAAOuE,OAASvE,EAAOuE,OAAOxpB,OAAS,EAC/CsW,EAAM/V,EAAMP,QAAUilB,EAAOmF,MAAQnF,EAAOmF,MAAMpqB,OAAS,GAC3D4oB,GAAS,EAET,OAASA,EAAQ6G,EAAUzvB,SACzBiW,EAAWwZ,EAAU7G,IAIR1S,GACXD,GAAYK,GASZL,EAAW,EAAIK,GACfmZ,EAAU7G,EAAQ,KAAO3S,EAAW,GACpCyZ,EAAMzZ,GAAUmU,QACfsF,EAAMzZ,EAAW,GAAGuT,SACpBkG,EAAMzZ,EAAW,GAAGmU,QAKnBlU,IAAUD,GAIZhT,EAAOrD,KAAKiwB,EAAkBtvB,EAAM2W,MAAMhB,EAAOD,GAAW,OAG9DC,EAAQD,GAGN,iBAAiBjI,KAAKzN,EAAM6Q,OAAO6E,KACjCgP,EAAOoF,SAA6D,IAAnDpF,EAAOoF,OAAOvkB,QAAQvF,EAAM6Q,OAAO6E,KAMtDhT,EAAOrD,KACL,MAAQW,EAAMmT,WAAWuC,GAAUrC,SAAS,IAAIkc,cAAgB,KAElE5Z,KANAjT,EAAOrD,KAAK,OAYhB,OAFAqD,EAAOrD,KAAKiwB,EAAkBtvB,EAAM2W,MAAMhB,EAAOI,GAAM2O,EAAOmF,QAEvDnnB,EAAOgH,KAAK,GACrB,EAzGA,IAAImiB,EAAiB3d,EAAQ,MACzB6a,EAAiB7a,EAAQ,MA0G7B,SAASmhB,EAAUrkB,EAAGwU,GACpB,OAAOxU,EAAIwU,CACb,CAEA,SAAS8P,EAAkBtvB,EAAO6pB,GAShC,IARA,IAMIrU,EANAwW,EAAa,wBACbkD,EAAY,GACZX,EAAU,GACVlG,GAAS,EACT1S,EAAQ,EACR6Z,EAAQxvB,EAAQ6pB,EAGZrU,EAAQwW,EAAWtV,KAAK8Y,IAC9BN,EAAU7vB,KAAKmW,EAAM6S,OAGvB,OAASA,EAAQ6G,EAAUzvB,QACrBkW,IAAUuZ,EAAU7G,IACtBkG,EAAQlvB,KAAKW,EAAM2W,MAAMhB,EAAOuZ,EAAU7G,KAG5CkG,EAAQlvB,KAAK,MACbsW,EAAQuZ,EAAU7G,GAKpB,OAFAkG,EAAQlvB,KAAKW,EAAM2W,MAAMhB,IAElB4Y,EAAQ7kB,KAAK,GACtB,yBCnIA,SAAS2J,EAAStJ,GAChB,OACGA,IACEA,EAAK/J,OACJ+J,EAAK+gB,KACL/gB,EAAKtM,OACJ,aAAcsM,GAAQ0lB,EAAI1lB,EAAKjD,WAC/B,WAAYiD,GAAQ0lB,EAAI1lB,KAC7B,EAEJ,CAEA,SAAS0lB,EAAIC,GAIX,IAHA,IAAIhtB,EAAS,GACT2lB,GAAS,IAEJA,EAAQqH,EAAOjwB,QACtBiD,EAAO2lB,GAAShV,EAASqc,EAAOrH,IAGlC,OAAO3lB,EAAOgH,KAAK,GACrB,CA1BAjN,EAAOC,QAAU2W,yBCEjB,IAAIsc,EAIJlzB,EAAOC,QAEP,SAAsBkzB,GACpB,IACIC,EADAld,EAAS,IAAMid,EAAa,IAYhC,IATAD,EAAKA,GAAMtpB,SAASpJ,cAAc,MAC/B6yB,UAAYnd,EATD,MAUdkd,EAAOF,EAAGnjB,aAOD2G,WAAW0c,EAAKpwB,OAAS,IAAmC,SAAfmwB,EACpD,OAAO,EAIT,OAAOC,IAASld,GAAiBkd,CACnC,yBC3BApzB,EAAOC,QAMP,SAAiBqD,EAAKkU,GACpB,IAAIgZ,EAAWhZ,GAAW,CAAC,EAE3B,SAAS4a,EAAI7uB,GACX,IAAI+vB,EAAKlB,EAAInB,QACTP,EAAW0B,EAAI1B,SAMnB,OAJIntB,GAASgwB,EAAIzuB,KAAKvB,EAAOD,KAC3BgwB,EAAKC,EAAIzuB,KAAK4rB,EAAUntB,EAAMD,IAAQotB,EAASntB,EAAMD,IAAQ8uB,EAAIlB,UAG3DoC,GAAMpW,GAAMra,MAAMwD,KAAMtD,UAClC,CAMA,OAJAqvB,EAAI1B,SAAWF,EAASE,UAAY,CAAC,EACrC0B,EAAInB,QAAUT,EAASS,QACvBmB,EAAIlB,QAAUV,EAASU,QAEhBkB,CACT,EAvBA,IAAIlV,EAAOsW,SAAStxB,UAChBqxB,EAAM,CAAC,EAAE7qB,4CCHb,IAAI+qB,EAAUhiB,EAAQ,KAClBgC,EAAQhC,EAAQ,MAChBiiB,EAAYjiB,EAAQ,MAExBzR,EAAOC,QAAUwzB,IAAUE,IAAIlgB,GAAOkgB,IAAID,GAAWE,gCCJrD5zB,EAAOC,QAEP,SAAc0Z,GACZ,GAAIA,EACF,MAAMA,CAEV,yBCNA3Z,EAAOC,QAAUsD,IAChB,GAA8C,oBAA1ChB,OAAOL,UAAU0U,SAAS9R,KAAKvB,GAClC,OAAO,EAGR,MAAMrB,EAAYK,OAAOmE,eAAenD,GACxC,OAAqB,OAAdrB,GAAsBA,IAAcK,OAAOL,SAAS,+BCN5DlC,EAAOC,QAeP,SAAsBsD,EAAOswB,EAAUrc,GACb,kBAAbqc,IACTrc,EAAUqc,EACVA,OAAWjvB,GAGb,OAQF,SAAkB4S,GAChB,IAAIgZ,EAAWhZ,GAAW,CAAC,EACvByQ,EA8vBN,SAAmBA,EAAQwD,GACzB,IAAIG,GAAS,EAEb,OAASA,EAAQH,EAAWzoB,QAC1BgpB,EAAU/D,EAAQwD,EAAWG,IAG/B,OAAO3D,CACT,CAtwBe8D,CACX,CACE+H,WAAY,GACZC,eAAgB,CACd,WACA,WACA,UACA,YACA,UAGF7N,MAAO,CACL8N,SAAUC,EAAOrF,IACjBsF,iBAAkBC,EAClBC,cAAeD,EACfE,WAAYJ,EAAOvF,IACnB4F,WAAYL,EAAOK,IACnBjD,gBAAiB8C,EACjB7C,mBAAoB6C,EACpBI,WAAYN,EAAOO,IACnBC,oBAAqBC,EACrBC,oBAAqBD,EACrBE,aAAcX,EAAOO,GAAUE,GAC/BG,SAAUZ,EAAOY,GAAUH,GAC3BI,aAAcX,EACd7qB,KAAM6qB,EACNY,cAAeZ,EACf3F,WAAYyF,EAAOzF,IACnBwG,4BAA6BN,EAC7BO,sBAAuBP,EACvBQ,sBAAuBR,EACvBlH,SAAUyG,EAAOzG,IACjB2H,gBAAiBlB,EAAOxF,IACxB2G,kBAAmBnB,EAAOxF,IAC1B4G,SAAUpB,EAAOhG,GAAMyG,GACvBY,aAAcnB,EACdoB,SAAUtB,EAAOhG,GAAMyG,GACvBc,aAAcrB,EACd7F,MAAO2F,EAAO3F,IACdne,MAAOukB,EACP9F,KAAMqF,EAAOrF,IACbG,SAAUkF,EAAOlF,IACjB0G,cAAeC,EACfC,YAAa1B,EAAOnF,GAAM8G,GAC1BC,cAAe5B,EAAOnF,IACtBE,UAAWiF,EAAOjF,IAClBb,UAAW2H,EACXC,gBAAiBrB,EACjBsB,0BAA2BtB,EAC3BuB,oBAAqBvB,EACrBwB,cAAejC,EAAOvF,IACtBQ,OAAQ+E,EAAO/E,IACfC,cAAe8E,EAAO9E,KAGxBhI,KAAM,CACJkN,WAAY8B,IACZC,mBAAoBC,EACpBrC,SAAUmC,IACV/B,cAAekC,GACfpC,iBAAkBqC,GAClBjC,WAAY6B,IACZK,qBAAsBC,EACtBC,oCAAqCC,EACrCC,gCAAiCD,EACjCE,wBAAyBC,GACzBvC,WAAY4B,EAAOY,GACnBC,gBAAiBC,EACjBxC,oBAAqByC,EACrBvC,oBAAqBwC,EACrBpC,cAAe0B,EACf7B,aAAcuB,EAAOiB,GACrBvC,SAAUsB,EAAOkB,GACjBvC,aAAc2B,EACdntB,KAAMmtB,EACNjI,WAAY2H,IACZnB,4BAA6BsC,EAC7BrC,sBAAuBsC,EACvBrC,sBAAuBsC,EACvBhK,SAAU2I,IACVhB,gBAAiBgB,EAAOsB,GACxBrC,kBAAmBe,EAAOsB,GAC1BpC,SAAUc,EAAOuB,GACjBpC,aAAcmB,EACdlB,SAAUY,EAAOwB,GACjBnC,aAAciB,EACdnI,MAAO6H,EAAOyB,GACdznB,MAAO0nB,EACPC,UAAWC,EACXC,WAAYC,EACZrJ,KAAMuH,EAAO+B,GACbnJ,SAAUoH,IACVR,YAAaQ,IACbN,cAAeM,IACfnH,UAAWmH,IACXJ,gBAAiBoC,EACjBnC,0BAA2BoC,EAC3BnC,oBAAqBoC,EACrBC,SAAUC,EACVrC,cAAeC,EAAOqC,GACtBC,0BAA2BC,EAC3BC,kBAAmBC,EACnB1J,OAAQiH,IACRhH,cAAegH,MAInB3F,EAASqI,iBAAmB,IAG1BvvB,EAAO,CAAC,EAEZ,OAAOwvB,EAEP,SAASA,EAAQC,GAqBf,IApBA,IAKI9P,EALAsC,EAAO,CAAC3jB,KAAM,OAAQyC,SAAU,IAEhC2uB,EAAa,GACbC,EAAY,GACZrN,GAAS,EAIT9F,EAAU,CACZyG,MARU,CAAChB,GASXyN,WAAYA,EACZ/Q,OAAQA,EACR/B,MAAOA,EACPiB,KAAMA,EACNuN,OAAQA,EACRwE,OAAQA,EACRC,QAASA,EACTC,QAASA,KAGFxN,EAAQmN,EAAO/1B,QAIM,gBAA1B+1B,EAAOnN,GAAO,GAAGhkB,MACS,kBAA1BmxB,EAAOnN,GAAO,GAAGhkB,OAEQ,UAArBmxB,EAAOnN,GAAO,GAChBqN,EAAUr2B,KAAKgpB,GAGfA,EAAQyN,EAAYN,EADRE,EAAUxI,IAAI7E,GACaA,IAO7C,IAFAA,GAAS,IAEAA,EAAQmN,EAAO/1B,QACtBimB,EAAUhB,EAAO8Q,EAAOnN,GAAO,IAE3B2H,EAAIzuB,KAAKmkB,EAAS8P,EAAOnN,GAAO,GAAGhkB,OACrCqhB,EAAQ8P,EAAOnN,GAAO,GAAGhkB,MAAM9C,KAC7B0D,EAAO,CAAC8wB,eAAgBP,EAAOnN,GAAO,GAAG0N,gBAAiBxT,GAC1DiT,EAAOnN,GAAO,IAKpB,GAAIoN,EAAWh2B,OACb,MAAM,IAAIrD,MACR,oCACEq5B,EAAWA,EAAWh2B,OAAS,GAAG4E,KAClC,MACA2xB,EAAkB,CAChBrgB,MAAO8f,EAAWA,EAAWh2B,OAAS,GAAGkW,MACzCI,IAAK0f,EAAWA,EAAWh2B,OAAS,GAAGsW,MAEzC,mBAkBN,IAbAiS,EAAKtS,SAAW,CACdC,MAAOsgB,EACLT,EAAO/1B,OAAS+1B,EAAO,GAAG,GAAG7f,MAAQ,CAACC,KAAM,EAAGP,OAAQ,EAAG6gB,OAAQ,IAGpEngB,IAAKkgB,EACHT,EAAO/1B,OACH+1B,EAAOA,EAAO/1B,OAAS,GAAG,GAAGsW,IAC7B,CAACH,KAAM,EAAGP,OAAQ,EAAG6gB,OAAQ,KAIrC7N,GAAS,IACAA,EAAQ3D,EAAO6L,WAAW9wB,QACjCuoB,EAAOtD,EAAO6L,WAAWlI,GAAOL,IAASA,EAG3C,OAAOA,CACT,CAEA,SAAS8N,EAAYN,EAAQ7f,EAAOlW,GAYlC,IAXA,IAGI+rB,EACA2K,EACAC,EACAC,EACA5Q,EACA6Q,EACAC,EATAlO,EAAQ1S,EAAQ,EAChB6gB,GAAoB,EACpBC,GAAa,IASRpO,GAAS5oB,GAwChB,GApCoB,mBAHpBgmB,EAAQ+P,EAAOnN,IAGP,GAAGhkB,MACS,gBAAlBohB,EAAM,GAAGphB,MACS,eAAlBohB,EAAM,GAAGphB,MAEQ,UAAbohB,EAAM,GACR+Q,IAEAA,IAGFD,OAAWl1B,GACgB,oBAAlBokB,EAAM,GAAGphB,KACD,UAAbohB,EAAM,MAEN+F,GACC+K,GACAC,GACAF,IAEDA,EAAsBjO,GAGxBkO,OAAWl1B,GAGK,eAAlBokB,EAAM,GAAGphB,MACS,kBAAlBohB,EAAM,GAAGphB,MACS,mBAAlBohB,EAAM,GAAGphB,MACS,mBAAlBohB,EAAM,GAAGphB,MACS,6BAAlBohB,EAAM,GAAGphB,OAITkyB,OAAWl1B,IAITm1B,GACa,UAAb/Q,EAAM,IACY,mBAAlBA,EAAM,GAAGphB,OACY,IAAtBmyB,GACc,SAAb/Q,EAAM,KACa,kBAAlBA,EAAM,GAAGphB,MACU,gBAAlBohB,EAAM,GAAGphB,MACb,CACA,GAAImnB,EAAU,CAIZ,IAHA2K,EAAY9N,EACZ+N,OAAY/0B,EAEL80B,KAGL,GACwB,gBAHxBE,EAAYb,EAAOW,IAGP,GAAG9xB,MACS,oBAAtBgyB,EAAU,GAAGhyB,KACb,CACA,GAAqB,SAAjBgyB,EAAU,GAAe,SAEzBD,IACFZ,EAAOY,GAAW,GAAG/xB,KAAO,kBAC5BoyB,GAAa,GAGfJ,EAAU,GAAGhyB,KAAO,aACpB+xB,EAAYD,CACd,MAAO,GACiB,eAAtBE,EAAU,GAAGhyB,MACS,qBAAtBgyB,EAAU,GAAGhyB,MACS,+BAAtBgyB,EAAU,GAAGhyB,MACS,qBAAtBgyB,EAAU,GAAGhyB,MACS,mBAAtBgyB,EAAU,GAAGhyB,KAIb,MAKFiyB,KACEF,GAAaE,EAAsBF,KAErC5K,EAASkL,SAAU,GAIrBlL,EAASzV,IAAMkgB,EACbG,EAAYZ,EAAOY,GAAW,GAAGzgB,MAAQ8P,EAAM,GAAG1P,KAGpDyf,EAAOmB,OAAOP,GAAa/N,EAAO,EAAG,CAAC,OAAQmD,EAAU/F,EAAM,KAC9D4C,IACA5oB,GACF,CAGsB,mBAAlBgmB,EAAM,GAAGphB,OACXmnB,EAAW,CACTnnB,KAAM,WACNqyB,SAAS,EACT/gB,MAAOsgB,EAAMxQ,EAAM,GAAG9P,QAGxB6f,EAAOmB,OAAOtO,EAAO,EAAG,CAAC,QAASmD,EAAU/F,EAAM,KAClD4C,IACA5oB,IACA62B,OAAsBj1B,EACtBk1B,GAAW,EAEf,CAIF,OADAf,EAAO7f,GAAO,GAAG+gB,QAAUD,EACpBh3B,CACT,CAEA,SAASm2B,EAAQ71B,EAAKC,GACpB+F,EAAKhG,GAAOC,CACd,CAEA,SAAS61B,EAAQ91B,GACf,OAAOgG,EAAKhG,EACd,CAEA,SAASk2B,EAAM/X,GACb,MAAO,CAACtI,KAAMsI,EAAEtI,KAAMP,OAAQ6I,EAAE7I,OAAQ6gB,OAAQhY,EAAEgY,OACpD,CAEA,SAASxF,EAAOntB,EAAQqzB,GACtB,OAAOC,EAEP,SAASA,EAAKC,GACZnU,EAAMphB,KAAKuB,KAAMS,EAAOuzB,GAAQA,GAC5BF,GAAKA,EAAIr1B,KAAKuB,KAAMg0B,EAC1B,CACF,CAEA,SAAS3F,IACPruB,KAAKkmB,MAAM3pB,KAAK,CAACgF,KAAM,WAAYyC,SAAU,IAC/C,CAEA,SAAS6b,EAAM5Y,EAAM+sB,GAKnB,OAJAh0B,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGqH,SAASzH,KAAK0K,GAChDjH,KAAKkmB,MAAM3pB,KAAK0K,GAChBjH,KAAK2yB,WAAWp2B,KAAKy3B,GACrB/sB,EAAK2L,SAAW,CAACC,MAAOsgB,EAAMa,EAAMnhB,QAC7B5L,CACT,CAEA,SAAS6oB,EAAOgE,GACd,OAAOG,EAEP,SAASA,EAAMD,GACTF,GAAKA,EAAIr1B,KAAKuB,KAAMg0B,GACxBlT,EAAKriB,KAAKuB,KAAMg0B,EAClB,CACF,CAEA,SAASlT,EAAKkT,GACZ,IAAI/sB,EAAOjH,KAAKkmB,MAAMkE,MAClB2J,EAAO/zB,KAAK2yB,WAAWvI,MAE3B,IAAK2J,EACH,MAAM,IAAIz6B,MACR,iBACE06B,EAAMzyB,KACN,MACA2xB,EAAkB,CAACrgB,MAAOmhB,EAAMnhB,MAAOI,IAAK+gB,EAAM/gB,MAClD,yBAEC,GAAI8gB,EAAKxyB,OAASyyB,EAAMzyB,KAC7B,MAAM,IAAIjI,MACR,iBACE06B,EAAMzyB,KACN,MACA2xB,EAAkB,CAACrgB,MAAOmhB,EAAMnhB,MAAOI,IAAK+gB,EAAM/gB,MAClD,0BACA8gB,EAAKxyB,KACL,MACA2xB,EAAkB,CAACrgB,MAAOkhB,EAAKlhB,MAAOI,IAAK8gB,EAAK9gB,MAChD,aAKN,OADAhM,EAAK2L,SAASK,IAAMkgB,EAAMa,EAAM/gB,KACzBhM,CACT,CAEA,SAAS4rB,IACP,OAAOtiB,EAASvQ,KAAKkmB,MAAMkE,MAC7B,CAMA,SAASmF,IACPuD,EAAQ,+BAA+B,EACzC,CAEA,SAASzD,EAAqB2E,GACxBjB,EAAQ,iCACV/yB,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGkW,MAAQzE,SACxCpO,KAAKizB,eAAee,GACpB,IAGFlB,EAAQ,+BAEZ,CAEA,SAASjC,IACP,IAAI5tB,EAAOjD,KAAK6yB,SAChB7yB,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGmqB,KAAO7jB,CAC3C,CAEA,SAAS6tB,IACP,IAAI7tB,EAAOjD,KAAK6yB,SAChB7yB,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGmY,KAAO7R,CAC3C,CAEA,SAAS2tB,IAEHmC,EAAQ,oBACZ/yB,KAAKquB,SACLyE,EAAQ,kBAAkB,GAC5B,CAEA,SAASpC,IACP,IAAIztB,EAAOjD,KAAK6yB,SAChB7yB,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGO,MAAQ+F,EAAKoP,QAC7C,2BACA,IAGFygB,EAAQ,iBACV,CAEA,SAAS/B,IACP,IAAI9tB,EAAOjD,KAAK6yB,SAChB7yB,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGO,MAAQ+F,CAC5C,CAEA,SAASiuB,EAA4B8C,GAEnC,IAAIlqB,EAAQ9J,KAAK6yB,SACjB7yB,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGmN,MAAQA,EAC1C9J,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGouB,WAAamJ,EAC7Cl0B,KAAKizB,eAAee,IACpBG,aACJ,CAEA,SAAShD,IACP,IAAIluB,EAAOjD,KAAK6yB,SAChB7yB,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGhC,MAAQsI,CAC5C,CAEA,SAASguB,IACP,IAAIhuB,EAAOjD,KAAK6yB,SAChB7yB,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGgY,IAAM1R,CAC1C,CAEA,SAAS+sB,EAAyBgE,GAC3Bh0B,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAG8qB,QACrCznB,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAG8qB,MAAQznB,KAAKizB,eAC7Ce,GACAr3B,OAEN,CAEA,SAAS41B,IACPO,EAAQ,gCAAgC,EAC1C,CAEA,SAAST,EAAgC2B,GACvCh0B,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAG8qB,MACa,KAA7CznB,KAAKizB,eAAee,GAAO3jB,WAAW,GAAY,EAAI,CAC1D,CAEA,SAAS8hB,IACPW,EAAQ,+BACV,CAEA,SAAShF,EAAYkG,GACnB,IAAII,EAAWp0B,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGqH,SAC7CqwB,EAAOD,EAASA,EAASz3B,OAAS,GAEjC03B,GAAsB,SAAdA,EAAK9yB,QAEhB8yB,EAAOxyB,MACF+Q,SAAW,CAACC,MAAOsgB,EAAMa,EAAMnhB,QACpC7S,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGqH,SAASzH,KAAK83B,IAGlDr0B,KAAKkmB,MAAM3pB,KAAK83B,EAClB,CAEA,SAASjE,EAAW4D,GAClB,IAAIK,EAAOr0B,KAAKkmB,MAAMkE,MACtBiK,EAAKn3B,OAAS8C,KAAKizB,eAAee,GAClCK,EAAKzhB,SAASK,IAAMkgB,EAAMa,EAAM/gB,IAClC,CAEA,SAAS2e,EAAiBoC,GACxB,IAAIvU,EAAUzf,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAG7C,GAAIo2B,EAAQ,eAMV,OALAtT,EAAQzb,SAASyb,EAAQzb,SAASrH,OAAS,GAAGiW,SAASK,IAAMkgB,EAC3Da,EAAM/gB,UAGR6f,EAAQ,gBAKPC,EAAQ,iCACTnR,EAAO8L,eAAejrB,QAAQgd,EAAQle,OAAS,IAE/CusB,EAAYrvB,KAAKuB,KAAMg0B,GACvB5D,EAAW3xB,KAAKuB,KAAMg0B,GAE1B,CAEA,SAAS5C,IACP0B,EAAQ,eAAe,EACzB,CAEA,SAASzB,IACP,IAAIpuB,EAAOjD,KAAK6yB,SAChB7yB,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGO,MAAQ+F,CAC5C,CAEA,SAASquB,IACP,IAAIruB,EAAOjD,KAAK6yB,SAChB7yB,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGO,MAAQ+F,CAC5C,CAEA,SAAS+tB,IACP,IAAI/tB,EAAOjD,KAAK6yB,SAChB7yB,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGO,MAAQ+F,CAC5C,CAEA,SAAS4uB,IACP,IAAIpS,EAAUzf,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAGzCo2B,EAAQ,gBACVtT,EAAQle,MAAQ,YAChBke,EAAQsI,cAAgBgL,EAAQ,kBAAoB,kBAC7CtT,EAAQ9K,WACR8K,EAAQ9kB,eAER8kB,EAAQsL,kBACRtL,EAAQ3V,aACR2V,EAAQsI,eAGjB+K,EAAQ,gBACV,CAEA,SAASvB,IACP,IAAI9R,EAAUzf,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAGzCo2B,EAAQ,gBACVtT,EAAQle,MAAQ,YAChBke,EAAQsI,cAAgBgL,EAAQ,kBAAoB,kBAC7CtT,EAAQ9K,WACR8K,EAAQ9kB,eAER8kB,EAAQsL,kBACRtL,EAAQ3V,aACR2V,EAAQsI,eAGjB+K,EAAQ,gBACV,CAEA,SAASpB,EAAgBsC,GACvBh0B,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGouB,WAAamJ,EAC7Cl0B,KAAKizB,eAAee,IACpBG,aACJ,CAEA,SAAS3C,IACP,IAAI8C,EAAWt0B,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAC1CO,EAAQ8C,KAAK6yB,SAEjB7yB,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGmN,MAAQ5M,EAG1C41B,EAAQ,eAAe,GAEwB,SAA3C9yB,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAG4E,KACpCvB,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGqH,SAAWswB,EAAStwB,SAEtDhE,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGqrB,IAAM9qB,CAE5C,CAEA,SAAS60B,IACP,IAAI9uB,EAAOjD,KAAK6yB,SAChB7yB,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGgY,IAAM1R,CAC1C,CAEA,SAAS+uB,IACP,IAAI/uB,EAAOjD,KAAK6yB,SAChB7yB,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGhC,MAAQsI,CAC5C,CAEA,SAASivB,IACPY,EAAQ,cACV,CAEA,SAASrD,IACPqD,EAAQ,gBAAiB,YAC3B,CAEA,SAAShB,EAAsBkC,GAC7B,IAAIlqB,EAAQ9J,KAAK6yB,SACjB7yB,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGmN,MAAQA,EAC1C9J,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGouB,WAAamJ,EAC7Cl0B,KAAKizB,eAAee,IACpBG,cACFrB,EAAQ,gBAAiB,OAC3B,CAEA,SAASxC,EAA+B0D,GACtClB,EAAQ,yBAA0BkB,EAAMzyB,KAC1C,CAEA,SAASkvB,GAA8BuD,GACrC,IAEI92B,EACAm3B,EAHApxB,EAAOjD,KAAKizB,eAAee,GAC3BzyB,EAAOwxB,EAAQ,0BAIfxxB,GACFrE,EAAQq3B,EACNtxB,EACS,oCAAT1B,EAA6C,GAAK,IAGpDuxB,EAAQ,2BAER51B,EAAQiuB,EAAOloB,IAGjBoxB,EAAOr0B,KAAKkmB,MAAMkE,OACbltB,OAASA,EACdm3B,EAAKzhB,SAASK,IAAMkgB,EAAMa,EAAM/gB,IAClC,CAEA,SAASid,GAAuB8D,GAC9B5D,EAAW3xB,KAAKuB,KAAMg0B,GACtBh0B,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGgY,IAAM3U,KAAKizB,eAAee,EAC9D,CAEA,SAAS/D,GAAoB+D,GAC3B5D,EAAW3xB,KAAKuB,KAAMg0B,GACtBh0B,KAAKkmB,MAAMlmB,KAAKkmB,MAAMvpB,OAAS,GAAGgY,IAChC,UAAY3U,KAAKizB,eAAee,EACpC,CAMA,SAAS/F,KACP,MAAO,CAAC1sB,KAAM,aAAcyC,SAAU,GACxC,CAEA,SAASmqB,KACP,MAAO,CAAC5sB,KAAM,OAAQulB,KAAM,KAAMhS,KAAM,KAAM5X,MAAO,GACvD,CAEA,SAASsxB,KACP,MAAO,CAACjtB,KAAM,aAAcrE,MAAO,GACrC,CAEA,SAASirB,KACP,MAAO,CACL5mB,KAAM,aACNwpB,WAAY,GACZjhB,MAAO,KACPnP,MAAO,KACPga,IAAK,GAET,CAEA,SAASwS,KACP,MAAO,CAAC5lB,KAAM,WAAYyC,SAAU,GACtC,CAEA,SAASqkB,KACP,MAAO,CAAC9mB,KAAM,UAAWkmB,WAAOlpB,EAAWyF,SAAU,GACvD,CAEA,SAASokB,KACP,MAAO,CAAC7mB,KAAM,QAChB,CAEA,SAASqmB,KACP,MAAO,CAACrmB,KAAM,OAAQrE,MAAO,GAC/B,CAEA,SAAS+qB,KACP,MAAO,CAAC1mB,KAAM,QAAS5G,MAAO,KAAMga,IAAK,GAAIqT,IAAK,KACpD,CAEA,SAASO,KACP,MAAO,CAAChnB,KAAM,OAAQ5G,MAAO,KAAMga,IAAK,GAAI3Q,SAAU,GACxD,CAEA,SAASykB,GAAKuL,GACZ,MAAO,CACLzyB,KAAM,OACNmoB,QAAwB,gBAAfsK,EAAMzyB,KACfsR,MAAO,KACP+W,OAAQoK,EAAMJ,QACd5vB,SAAU,GAEd,CAEA,SAAS0kB,GAASsL,GAChB,MAAO,CACLzyB,KAAM,WACNqoB,OAAQoK,EAAMJ,QACdY,QAAS,KACTxwB,SAAU,GAEd,CAEA,SAAS2kB,KACP,MAAO,CAACpnB,KAAM,YAAayC,SAAU,GACvC,CAEA,SAAS6kB,KACP,MAAO,CAACtnB,KAAM,SAAUyC,SAAU,GACpC,CAEA,SAASnC,KACP,MAAO,CAACN,KAAM,OAAQrE,MAAO,GAC/B,CAEA,SAAS4rB,KACP,MAAO,CAACvnB,KAAM,gBAChB,CACF,CAtwBSkzB,CAAStjB,EAATsjB,CACLC,EACEC,EAAOxjB,GAAS5N,WAAWqxB,MAAMC,IAAe33B,EAAOswB,GAAU,KAGvE,EAtBA,IAAIjd,EAAWnF,EAAQ,MACnBjJ,EAASiJ,EAAQ,MACjB8hB,EAAM9hB,EAAQ,MACd8oB,EAAsB9oB,EAAQ,MAC9BmpB,EAAcnpB,EAAQ,MACtBupB,EAASvpB,EAAQ,MACjBypB,EAAezpB,EAAQ,MACvBspB,EAActpB,EAAQ,MACtB+f,EAAS/f,EAAQ,MACjB8nB,EAAoB9nB,EAAQ,MA0xBhC,SAASua,EAAU/D,EAAQ+D,GACzB,IAAI1oB,EACAQ,EAEJ,IAAKR,KAAO0oB,EACVloB,EAAOyvB,EAAIzuB,KAAKmjB,EAAQ3kB,GAAO2kB,EAAO3kB,GAAQ2kB,EAAO3kB,GAAO,CAAC,EAEjD,mBAARA,GAAoC,eAARA,EAC9B2kB,EAAO3kB,GAAO,GAAG6G,OAAOrG,EAAMkoB,EAAU1oB,IAExCf,OAAOiG,OAAO1E,EAAMkoB,EAAU1oB,GAGpC,+BCpzBAtD,EAAOC,QAAU,EAAjBD,6BCKA,SAAS4W,EAAStJ,GAChB,OACGA,IACEA,EAAK/J,OACJ+J,EAAK+gB,KACL/gB,EAAKtM,OACJ,aAAcsM,GAAQ0lB,EAAI1lB,EAAKjD,WAC/B,WAAYiD,GAAQ0lB,EAAI1lB,KAC7B,EAEJ,CAEA,SAAS0lB,EAAIC,GAIX,IAHA,IAAIhtB,EAAS,GACT2lB,GAAS,IAEJA,EAAQqH,EAAOjwB,QACtBiD,EAAO2lB,GAAShV,EAASqc,EAAOrH,IAGlC,OAAO3lB,EAAOgH,KAAK,GACrB,CA1BAjN,EAAOC,QAAU2W,8BCAjB,IAEIukB,EAFa1pB,EAAQ,KAER2pB,CAAW,YAE5Bp7B,EAAOC,QAAUk7B,+BCJjB,IAEIE,EAFa5pB,EAAQ,KAED2pB,CAAW,cAEnCp7B,EAAOC,QAAUo7B,+BCJjB,IAEIC,EAFa7pB,EAAQ,KAER2pB,CAAW,uBAE5Bp7B,EAAOC,QAAUq7B,yBCKjBt7B,EAAOC,QARP,SAAsBL,GACpB,OAGEA,EAAO,IAAe,MAATA,CAEjB,+BCPA,IAEI27B,EAFa9pB,EAAQ,KAER2pB,CAAW,MAE5Bp7B,EAAOC,QAAUs7B,+BCJjB,IAEIC,EAFa/pB,EAAQ,KAEL2pB,CAAW,cAE/Bp7B,EAAOC,QAAUu7B,8BCJjB,IAEIC,EAFahqB,EAAQ,KAEF2pB,CAAW,kBAElCp7B,EAAOC,QAAUw7B,yBCAjBz7B,EAAOC,QAJP,SAAmCL,GACjC,OAAOA,EAAO,GAAc,KAATA,CACrB,yBCEAI,EAAOC,QAJP,SAA4BL,GAC1B,OAAOA,GAAQ,CACjB,yBCEAI,EAAOC,QAJP,SAAuBL,GACrB,OAAiB,IAAVA,IAAyB,IAAVA,GAAwB,KAATA,CACvC,+BCFA,IAAI87B,EAA0BjqB,EAAQ,MAKlCkqB,EAJalqB,EAAQ,KAIA2pB,CAAWM,GAEpC17B,EAAOC,QAAU07B,+BCPjB,IAEIC,EAFanqB,EAAQ,KAED2pB,CAAW,MAEnCp7B,EAAOC,QAAU27B,yBCJjB,IAAIpzB,EAASjG,OAAOiG,OAEpBxI,EAAOC,QAAUuI,yBCFjB,IAAIgM,EAAezP,OAAOyP,aAE1BxU,EAAOC,QAAUuU,yBCFjB,IAAI+e,EAAM,CAAC,EAAE7qB,eAEb1I,EAAOC,QAAUszB,yBCgEjBvzB,EAAOC,QAjEM,CACX,UACA,UACA,QACA,OACA,WACA,aACA,OACA,UACA,SACA,MACA,WACA,KACA,UACA,SACA,MACA,MACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,QACA,WACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,KACA,OACA,SACA,SACA,KACA,OACA,OACA,OACA,WACA,MACA,WACA,KACA,WACA,SACA,IACA,QACA,UACA,SACA,UACA,QACA,QACA,KACA,QACA,KACA,QACA,QACA,KACA,QACA,6BC5DFD,EAAOC,QAFI,CAAC,MAAO,SAAU,QAAS,mCCDtC,IAAIi6B,EAAS,GAAGA,OAEhBl6B,EAAOC,QAAUi6B,yBCMjBl6B,EAAOC,QAFkB,gxCCNzBsC,OAAOc,eAAepD,EAAS,aAA/BsC,CAA8CgB,OAAO,IAErD,IAAIs4B,EAASpqB,EAAQ,MACjBqqB,EAAYrqB,EAAQ,MACpBuiB,EAAWviB,EAAQ,MACnB6iB,EAAa7iB,EAAQ,KACrB4f,EAAkB5f,EAAQ,MAC1B6f,EAAqB7f,EAAQ,MAC7B8iB,EAAa9iB,EAAQ,KACrBmjB,EAAenjB,EAAQ,MACvBojB,EAAWpjB,EAAQ,MACnB+c,EAAa/c,EAAQ,MACrB0jB,EAAkB1jB,EAAQ,KAC1BsqB,EAAatqB,EAAQ,MACrB4jB,EAAW5jB,EAAQ,MACnB8jB,EAAW9jB,EAAQ,MACnBuqB,EAAWvqB,EAAQ,MACnBwqB,EAAkBxqB,EAAQ,MAC1ByqB,EAAiBzqB,EAAQ,KACzBumB,EAAavmB,EAAQ,MACrBqd,EAAOrd,EAAQ,MACf0qB,EAAkB1qB,EAAQ,MAC1B0d,EAAgB1d,EAAQ,MAExB7H,EAAW,CACb,GAAIklB,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIwF,GAEF8H,EAAiB,CACnB,GAAI5N,GAEF6N,EAAc,CAChB,KAAMzH,EAEN,KAAMA,EAEN,GAAIA,GAEF1I,EAAO,CACT,GAAI6P,EAEJ,GAAI5M,EAEJ,GAAI,CAACgN,EAAiBhN,GAEtB,GAAIkG,EAEJ,GAAI8G,EAEJ,GAAIhN,EAEJ,GAAIoF,EAEJ,IAAKA,GAEHhZ,EAAS,CACX,GAAI+V,EAEJ,GAAID,GAEFnpB,EAAO,CACT,KAAM8vB,EAEN,KAAMA,EAEN,KAAMA,EAEN,GAAIiE,EAEJ,GAAI3K,EAEJ,GAAIwK,EAEJ,GAAI,CAAC9H,EAAUuB,GAEf,GAAI2G,EAEJ,GAAI,CAAC/G,EAAiB9D,GAEtB,GAAI2K,EAEJ,GAAIF,EAEJ,GAAIjH,GAEFyH,EAAa,CACfC,KAAM,CAACT,EAAWD,EAAOW,WAM3Bv8B,EAAQm8B,eAAiBA,EACzBn8B,EAAQ2B,QALM,CACZ26B,KAAM,IAKRt8B,EAAQ2J,SAAWA,EACnB3J,EAAQisB,KAAOA,EACfjsB,EAAQo8B,YAAcA,EACtBp8B,EAAQq8B,WAAaA,EACrBr8B,EAAQsb,OAASA,EACjBtb,EAAQiI,KAAOA,8BC5Hf3F,OAAOc,eAAepD,EAAS,aAA/BsC,CAA8CgB,OAAO,IAErD,IAAIk5B,EAAqBhrB,EAAQ,MAC7BirB,EAAejrB,EAAQ,MAEvBkrB,EAEJ,SAA2BC,GACzB,IAKIC,EALAC,EAAeF,EAAQG,QACzB12B,KAAK20B,OAAOgC,WAAWZ,gBAOzB,SAAoCx8B,GAClC,GAAa,OAATA,EAEF,YADAg9B,EAAQK,QAAQr9B,GAOlB,OAHAg9B,EAAQ1W,MAAM,cACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,cACNuV,EAAaE,EAASE,EAAc,aAC7C,IAEA,SAA0Bl9B,GAExB,OADAg9B,EAAQ1W,MAAM,aACPgX,EAAUt9B,EACnB,IAjBA,OAAOk9B,EAmBP,SAASI,EAAUt9B,GACjB,IAAIy6B,EAAQuC,EAAQ1W,MAAM,YAAa,CACrCiX,YAAa,OACbN,SAAUA,IAQZ,OALIA,IACFA,EAASO,KAAO/C,GAGlBwC,EAAWxC,EACJ/wB,EAAK1J,EACd,CAEA,SAAS0J,EAAK1J,GACZ,OAAa,OAATA,GACFg9B,EAAQzV,KAAK,aACbyV,EAAQzV,KAAK,kBACbyV,EAAQK,QAAQr9B,IAId68B,EAAmB78B,IACrBg9B,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,aACN+V,IAGTN,EAAQK,QAAQr9B,GACT0J,EACT,CACF,EAEArJ,EAAQ08B,SAAWA,+BClEnBp6B,OAAOc,eAAepD,EAAS,aAA/BsC,CAA8CgB,OAAO,IAErD,IAAIk5B,EAAqBhrB,EAAQ,MAC7BirB,EAAejrB,EAAQ,MACvB4rB,EAAmB5rB,EAAQ,MAE3BkrB,EAQJ,SAA4BC,GAC1B,IAOIU,EACAC,EACAC,EATAl3B,EAAOD,KACPkmB,EAAQ,GACRkR,EAAY,EACZC,EAAmB,CACrBf,SAoHF,SAAyBC,EAASe,GAChC,IAAIC,EAAe,EAEnB,OADAN,EAAgB,CAAC,EACVO,EAEP,SAASA,EAAaj+B,GACpB,OAAIg+B,EAAerR,EAAMvpB,QACvBsD,EAAKw3B,eAAiBvR,EAAMqR,GAAc,GACnChB,EAAQG,QACbxQ,EAAMqR,GAAc,GAAGG,aACvBC,EACAC,EAHKrB,CAILh9B,IAIA29B,EAAUW,kBAAoBX,EAAUW,iBAAiBC,UAC3Db,EAAcc,cAAe,EACtBC,EAAYz+B,KAGrB0G,EAAKg4B,UACHf,EAAUW,kBAAoBX,EAAUW,iBAAiBK,cAC3Dj4B,EAAKw3B,eAAiB,CAAC,EAChBlB,EAAQG,QACbyB,EACAC,EACAJ,EAHKzB,CAILh9B,GACJ,CAEA,SAASo+B,EAAgBp+B,GAEvB,OADAg+B,IACOt3B,EAAKw3B,eAAeY,WACvBD,EAAe7+B,GACfi+B,EAAaj+B,EACnB,CAEA,SAASq+B,EAAYr+B,GACnB,OAAI29B,EAAUW,kBAAoBX,EAAUW,iBAAiBS,MAE3Dr4B,EAAKw3B,eAAiB,CAAC,EAChBlB,EAAQG,QACbyB,EACAC,EACA7B,EAAQG,QACN6B,EACAH,EACA7B,EAAQiC,MAAMxB,EAAkBoB,EAAgBK,IAN7ClC,CAQLh9B,IAGG6+B,EAAe7+B,EACxB,CAEA,SAASk/B,EAAYl/B,GAKnB,OAHAg+B,EAAerR,EAAMvpB,OACrBs6B,EAAcqB,MAAO,EACrBrB,EAAcc,cAAe,EACtBC,EAAYz+B,EACrB,CAEA,SAAS6+B,EAAe7+B,GAEtB,OADA09B,EAAcyB,SAAU,EACjBV,EAAYz+B,EACrB,CAEA,SAASy+B,EAAYz+B,GAGnB,OAFA09B,EAAcG,UAAYG,EAC1Bt3B,EAAKg4B,UAAYh4B,EAAKw3B,oBAAiBl5B,EAChC+4B,EAAG/9B,EACZ,CACF,EA7LEo/B,SAAS,GAKX,OAAO9lB,EAEP,SAASA,EAAMtZ,GACb,OAAI69B,EAAYlR,EAAMvpB,QACpBsD,EAAKw3B,eAAiBvR,EAAMkR,GAAW,GAChCb,EAAQG,QACbxQ,EAAMkR,GAAW,GAAGM,aACpBkB,EACAC,EAHKtC,CAILh9B,IAGGs/B,EAAkBt/B,EAC3B,CAEA,SAASq/B,EAAiBr/B,GAExB,OADA69B,IACOvkB,EAAMtZ,EACf,CAEA,SAASs/B,EAAkBt/B,GAGzB,OAAI09B,GAAiBA,EAAcc,aAC1Be,EAAUv/B,IAGnB0G,EAAKg4B,UACHf,GACAA,EAAUW,kBACVX,EAAUW,iBAAiBK,cAC7Bj4B,EAAKw3B,eAAiB,CAAC,EAChBlB,EAAQG,QACbyB,EACAY,EACAD,EAHKvC,CAILh9B,GACJ,CAEA,SAASw/B,EAAkBx/B,GAGzB,OAFA2sB,EAAM3pB,KAAK,CAAC0D,EAAK43B,iBAAkB53B,EAAKw3B,iBACxCx3B,EAAKw3B,oBAAiBl5B,EACfs6B,EAAkBt/B,EAC3B,CAEA,SAASu/B,EAAUv/B,GACjB,OAAa,OAATA,GACFy/B,EAAe,GAAG,QAClBzC,EAAQK,QAAQr9B,KAIlB29B,EAAYA,GAAaj3B,EAAK00B,OAAO9O,KAAK5lB,EAAKg5B,OAC/C1C,EAAQ1W,MAAM,YAAa,CACzBiX,YAAa,OACbN,SAAUW,EACV+B,WAAYhC,IAEPa,EAAax+B,GACtB,CAEA,SAASw+B,EAAax+B,GACpB,OAAa,OAATA,GACF4/B,EAAa5C,EAAQzV,KAAK,cACnBgY,EAAUv/B,IAGf68B,EAAmB78B,IACrBg9B,EAAQK,QAAQr9B,GAChB4/B,EAAa5C,EAAQzV,KAAK,cACnByV,EAAQiC,MAAMnB,EAAkB+B,KAGzC7C,EAAQK,QAAQr9B,GACTw+B,EACT,CAEA,SAASqB,EAAkB7/B,GAMzB,OALAy/B,EACE/B,EAAcG,UACdH,GAAiBA,EAAcyB,SAEjCtB,EAAY,EACLvkB,EAAMtZ,EACf,CAEA,SAAS4/B,EAAanF,GAChBmD,IAAYA,EAAWJ,KAAO/C,GAClCmD,EAAanD,EACbkD,EAAUoB,KAAOrB,GAAiBA,EAAcqB,KAChDpB,EAAUmC,WAAWrF,EAAMnhB,OAC3BqkB,EAAUtC,MAAM30B,EAAKq5B,YAAYtF,GACnC,CAEA,SAASgF,EAAe3P,EAAMpW,GAC5B,IAAIsS,EAAQW,EAAMvpB,OAOlB,IALIu6B,GAAajkB,IACfikB,EAAUtC,MAAM,CAAC,OACjBuC,EAAaD,OAAY34B,GAGpBgnB,KAAU8D,GACfppB,EAAKw3B,eAAiBvR,EAAMX,GAAO,GACnCW,EAAMX,GAAO,GAAGzE,KAAKriB,KAAKwB,EAAMs2B,GAGlCrQ,EAAMvpB,OAAS0sB,CACjB,CA6EF,EA3MI8O,EAAqB,CACvB7B,SA4MF,SAA2BC,EAASe,EAAIiC,GACtC,OAAOlD,EACLE,EACAA,EAAQG,QAAQ12B,KAAK20B,OAAOgC,WAAWpzB,SAAU+zB,EAAIiC,GACrD,aACAv5B,KAAK20B,OAAOgC,WAAWp7B,QAAQ26B,KAAKzzB,QAAQ,iBAAmB,OAC3DlE,EACA,EAER,GAnNIg6B,EAAoB,CACtBjC,SAoNF,SAA0BC,EAASe,EAAIiC,GACrC,OAAOlD,EACLE,EACAA,EAAQ+B,KAAKt4B,KAAK20B,OAAOgC,WAAW9Q,KAAMyR,EAAIiC,GAC9C,aACAv5B,KAAK20B,OAAOgC,WAAWp7B,QAAQ26B,KAAKzzB,QAAQ,iBAAmB,OAC3DlE,EACA,EAER,GAEA3E,EAAQ08B,SAAWA,+BC1OnBp6B,OAAOc,eAAepD,EAAS,aAA/BsC,CAA8CgB,OAAO,IAErD,IAAIgW,EAAU9H,EAAQ,MAClBirB,EAAejrB,EAAQ,MACvB4rB,EAAmB5rB,EAAQ,MAE3BkrB,EAEJ,SAAwBC,GACtB,IAAIt2B,EAAOD,KACPw5B,EAAUjD,EAAQG,QAEpBM,GAkBF,SAAuBz9B,GACrB,GAAa,OAATA,EAEF,YADAg9B,EAAQK,QAAQr9B,GAQlB,OAJAg9B,EAAQ1W,MAAM,mBACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,mBACb7gB,EAAK43B,sBAAmBt5B,EACjBi7B,CACT,GA3BEjD,EAAQG,QACN12B,KAAK20B,OAAOgC,WAAWX,YACvByD,EACApD,EACEE,EACAA,EAAQG,QACN12B,KAAK20B,OAAOgC,WAAW9Q,KACvB4T,EACAlD,EAAQG,QAAQxjB,EAASumB,IAE3B,gBAIN,OAAOD,EAeP,SAASC,EAAelgC,GACtB,GAAa,OAATA,EASJ,OAJAg9B,EAAQ1W,MAAM,cACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,cACb7gB,EAAK43B,sBAAmBt5B,EACjBi7B,EARLjD,EAAQK,QAAQr9B,EASpB,CACF,EAEAK,EAAQ08B,SAAWA,+BCzDnBp6B,OAAOc,eAAepD,EAAS,aAA/BsC,CAA8CgB,OAAO,IAErD,IAAIiF,EAASiJ,EAAQ,MACjBsuB,EAAUtuB,EAAQ,MAElBvJ,EAAO83B,EAAkB,QACzBzkB,EAASykB,EAAkB,UAC3BxD,EAAW,CACbyD,WAAYC,KAGd,SAASF,EAAkBG,GACzB,MAAO,CACLxD,SAMF,SAAwBC,GACtB,IAAIt2B,EAAOD,KACP22B,EAAa32B,KAAK20B,OAAOgC,WAAWmD,GACpCj4B,EAAO00B,EAAQG,QAAQC,EAAY9jB,EAAOknB,GAC9C,OAAOlnB,EAEP,SAASA,EAAMtZ,GACb,OAAO4vB,EAAQ5vB,GAAQsI,EAAKtI,GAAQwgC,EAAQxgC,EAC9C,CAEA,SAASwgC,EAAQxgC,GACf,GAAa,OAATA,EAOJ,OAFAg9B,EAAQ1W,MAAM,QACd0W,EAAQK,QAAQr9B,GACT0J,EANLszB,EAAQK,QAAQr9B,EAOpB,CAEA,SAAS0J,EAAK1J,GACZ,OAAI4vB,EAAQ5vB,IACVg9B,EAAQzV,KAAK,QACNjf,EAAKtI,KAGdg9B,EAAQK,QAAQr9B,GACT0J,EACT,CAEA,SAASkmB,EAAQ5vB,GACf,IAAIkvB,EAAOkO,EAAWp9B,GAClBgsB,GAAS,EAEb,GAAa,OAAThsB,EACF,OAAO,EAGT,GAAIkvB,EACF,OAASlD,EAAQkD,EAAK9rB,QACpB,IACG8rB,EAAKlD,GAAOiR,UACb/N,EAAKlD,GAAOiR,SAAS/3B,KAAKwB,EAAMA,EAAKu2B,UAErC,OAAO,CAIf,CACF,EAvDEoD,WAAYC,EACA,SAAVC,EAAmBE,OAAyBz7B,GAuDlD,CAEA,SAASs7B,EAAeI,GACtB,OAEA,SAAwBvH,EAAQjT,GAC9B,IACII,EADA0F,GAAS,EAIb,OAASA,GAASmN,EAAO/1B,aACT4B,IAAVshB,EACE6S,EAAOnN,IAAoC,SAA1BmN,EAAOnN,GAAO,GAAGhkB,OACpCse,EAAQ0F,EACRA,KAEQmN,EAAOnN,IAAoC,SAA1BmN,EAAOnN,GAAO,GAAGhkB,OAExCgkB,IAAU1F,EAAQ,IACpB6S,EAAO7S,GAAO,GAAG5M,IAAMyf,EAAOnN,EAAQ,GAAG,GAAGtS,IAC5Cyf,EAAOmB,OAAOhU,EAAQ,EAAG0F,EAAQ1F,EAAQ,GACzC0F,EAAQ1F,EAAQ,GAGlBA,OAAQthB,GAIZ,OAAO07B,EAAgBA,EAAcvH,EAAQjT,GAAWiT,CAC1D,CACF,CAQA,SAASsH,EAAuBtH,EAAQjT,GAWtC,IAVA,IACIya,EACAj3B,EACAk3B,EACA5U,EACA6U,EACA/Q,EACAgR,EACArG,EARAsG,GAAc,IAUTA,GAAc5H,EAAO/1B,QAC5B,IACG29B,IAAe5H,EAAO/1B,QACU,eAA/B+1B,EAAO4H,GAAY,GAAG/4B,OACW,SAAnCmxB,EAAO4H,EAAa,GAAG,GAAG/4B,KAC1B,CAQA,IAPA0B,EAAOyvB,EAAO4H,EAAa,GAAG,GAE9B/U,GADA2U,EAASza,EAAQ6Z,YAAYr2B,IACdtG,OACfy9B,GAAe,EACf/Q,EAAO,EACPgR,OAAO97B,EAEAgnB,KAGL,GAAqB,kBAFrB4U,EAAQD,EAAO3U,IAEgB,CAG7B,IAFA6U,EAAcD,EAAMx9B,OAEyB,KAAtCw9B,EAAM9pB,WAAW+pB,EAAc,IACpC/Q,IACA+Q,IAGF,GAAIA,EAAa,MACjBA,GAAe,CACjB,MACK,IAAe,IAAXD,EACPE,GAAO,EACPhR,SACK,IAAe,IAAX8Q,EACN,CAEH5U,IACA,KACF,CAGE8D,IACF2K,EAAQ,CACNzyB,KACE+4B,IAAe5H,EAAO/1B,QAAU09B,GAAQhR,EAAO,EAC3C,aACA,oBACNxW,MAAO,CACLC,KAAM7P,EAAKgQ,IAAIH,KACfP,OAAQtP,EAAKgQ,IAAIV,OAAS8W,EAC1B+J,OAAQnwB,EAAKgQ,IAAImgB,OAAS/J,EAC1BkR,OAAQt3B,EAAK4P,MAAM0nB,OAAShV,EAC5BiV,aAAcjV,EACV6U,EACAn3B,EAAK4P,MAAM2nB,aAAeJ,GAEhCnnB,IAAKymB,EAAQz2B,EAAKgQ,MAEpBhQ,EAAKgQ,IAAMymB,EAAQ1F,EAAMnhB,OAErB5P,EAAK4P,MAAMugB,SAAWnwB,EAAKgQ,IAAImgB,OACjCjxB,EAAOc,EAAM+wB,IAEbtB,EAAOmB,OACLyG,EACA,EACA,CAAC,QAAStG,EAAOvU,GACjB,CAAC,OAAQuU,EAAOvU,IAElB6a,GAAc,IAIlBA,GACF,CAGF,OAAO5H,CACT,CAEA94B,EAAQu8B,SAAWA,EACnBv8B,EAAQsb,OAASA,EACjBtb,EAAQiI,KAAOA,+BCtMf,IAAIqR,EAAU9H,EAAQ,KAClB7H,EAAW6H,EAAQ,MACnBya,EAAOza,EAAQ,MACfvJ,EAAOuJ,EAAQ,MACfqvB,EAAoBrvB,EAAQ,MAC5BsvB,EAAkBtvB,EAAQ,MAC1BuvB,EAAWvvB,EAAQ,MACnBurB,EAAavrB,EAAQ,MA0BzBzR,EAAOC,QAxBP,SAAeuX,GACb,IACIwjB,EAAS,CACXiG,QAAS,GACTjE,WAAY8D,EACV,CAAC9D,GAAY7yB,OAAO62B,GAJTxpB,GAAW,CAAC,GAIeiU,cAExClS,QAASzS,EAAOyS,GAChB3P,SAAU9C,EAAO8C,GACjBsiB,KAAMplB,EAAOolB,GACb3Q,OAAQzU,EAAOoB,EAAKqT,QACpBrT,KAAMpB,EAAOoB,EAAKA,OAEpB,OAAO8yB,EAEP,SAASl0B,EAAOo6B,GACd,OAEA,SAAiBC,GACf,OAAOJ,EAAgB/F,EAAQkG,EAAaC,EAC9C,CACF,CACF,+BC/BA,IAAIC,EAAc3vB,EAAQ,MAU1BzR,EAAOC,QARP,SAAqB84B,GACnB,MAAQqI,EAAYrI,KAIpB,OAAOA,CACT,yBCRA,IAAIsI,EAAS,cAoFbrhC,EAAOC,QAlFP,WACE,IAGIqhC,EAHApoB,GAAQ,EACRN,EAAS,EACT8b,EAAS,GAEb,OAEA,SAAsBnxB,EAAOswB,EAAUva,GACrC,IACIP,EACAqkB,EACAmE,EACAC,EACA5hC,EALA2gC,EAAS,GAMbh9B,EAAQmxB,EAASnxB,EAAMqT,SAASid,GAChC0N,EAAgB,EAChB7M,EAAS,GAELxb,IAC0B,QAAxB3V,EAAMmT,WAAW,IACnB6qB,IAGFroB,OAAQtU,GAGV,KAAO28B,EAAgBh+B,EAAMP,QAAQ,CAMnC,GALAq+B,EAAOI,UAAYF,EAEnBC,GADAzoB,EAAQsoB,EAAOpnB,KAAK1W,IACEwV,EAAM6S,MAAQroB,EAAMP,OAC1CpD,EAAO2D,EAAMmT,WAAW8qB,IAEnBzoB,EAAO,CACV2b,EAASnxB,EAAM2W,MAAMqnB,GACrB,KACF,CAEA,GAAa,KAAT3hC,GAAe2hC,IAAkBC,GAAeF,EAClDf,EAAO39B,MAAM,GACb0+B,OAAmB18B,OAYnB,GAVI08B,IACFf,EAAO39B,MAAM,GACb0+B,OAAmB18B,GAGjB28B,EAAgBC,IAClBjB,EAAO39B,KAAKW,EAAM2W,MAAMqnB,EAAeC,IACvC5oB,GAAU4oB,EAAcD,GAGb,IAAT3hC,EACF2gC,EAAO39B,KAAK,OACZgW,SACK,GAAa,IAAThZ,EAIT,IAHAw9B,EAA+B,EAAxBpQ,KAAKkD,KAAKtX,EAAS,GAC1B2nB,EAAO39B,MAAM,GAENgW,IAAWwkB,GAAMmD,EAAO39B,MAAM,QACnB,KAAThD,GACT2gC,EAAO39B,MAAM,GACbgW,EAAS,IAGT0oB,GAAmB,EACnB1oB,EAAS,GAIb2oB,EAAgBC,EAAc,CAChC,CAEIloB,IACEgoB,GAAkBf,EAAO39B,MAAM,GAC/B8xB,GAAQ6L,EAAO39B,KAAK8xB,GACxB6L,EAAO39B,KAAK,OAGd,OAAO29B,CACT,CACF,+BClFA,IAAImB,EAAcjwB,EAAQ,MACtBkwB,EAAgBlwB,EAAQ,MACxBmwB,EAAoBnwB,EAAQ,MAC5BowB,EAAYpwB,EAAQ,MACpBwuB,EAAaxuB,EAAQ,MACrBsuB,EAAUtuB,EAAQ,MAElBqqB,EAAY,CACdnmB,KAAM,YACNgnB,SA8IF,SAA2BC,EAASe,GAClC,IACI5gB,EADAyP,EAASoV,EAAkBv7B,KAAKw2B,UAEpC,OAEA,SAAej9B,GAGb,OAFAg9B,EAAQ1W,MAAM,qBACdnJ,EAASnd,EACF6sB,EAAS7sB,EAClB,EAEA,SAAS6sB,EAAS7sB,GAChB,IAAIy6B,EACAjN,EACAgN,EACAE,EAEJ,OAAI16B,IAASmd,GACX6f,EAAQK,QAAQr9B,GACT6sB,IAGT4N,EAAQuC,EAAQzV,KAAK,qBAErBiT,IADAhN,EAAQwU,EAAkBhiC,KACE,IAAVwtB,GAAeZ,EACjC8N,GAAS9N,GAAsB,IAAXA,GAAgBY,EACpCiN,EAAMyH,MAAmB,KAAX/kB,EAAgBqd,EAAOA,IAAS5N,IAAW8N,GACzDD,EAAM0H,OAAoB,KAAXhlB,EAAgBud,EAAQA,IAAUlN,IAAUgN,GACpDuD,EAAG/9B,GACZ,CACF,EA3KEqgC,WAGF,SAA6BlH,EAAQjT,GACnC,IACIsU,EACA4H,EACA95B,EACA+5B,EACAC,EACAvO,EACAwO,EACA1I,EARA7N,GAAS,EAab,OAASA,EAAQmN,EAAO/1B,QAEtB,GACuB,UAArB+1B,EAAOnN,GAAO,IACY,sBAA1BmN,EAAOnN,GAAO,GAAGhkB,MACjBmxB,EAAOnN,GAAO,GAAGmW,OAIjB,IAFA3H,EAAOxO,EAEAwO,KAEL,GACsB,SAApBrB,EAAOqB,GAAM,IACY,sBAAzBrB,EAAOqB,GAAM,GAAGxyB,MAChBmxB,EAAOqB,GAAM,GAAG0H,OAChBhc,EAAQwT,eAAeP,EAAOqB,GAAM,IAAI1jB,WAAW,KACjDoP,EAAQwT,eAAeP,EAAOnN,GAAO,IAAIlV,WAAW,GACtD,CAKA,IACGqiB,EAAOqB,GAAM,GAAG2H,QAAUhJ,EAAOnN,GAAO,GAAGkW,SAC3C/I,EAAOnN,GAAO,GAAGtS,IAAImgB,OAASV,EAAOnN,GAAO,GAAG1S,MAAMugB,QAAU,MAE7DV,EAAOqB,GAAM,GAAG9gB,IAAImgB,OACnBV,EAAOqB,GAAM,GAAGlhB,MAAMugB,OACtBV,EAAOnN,GAAO,GAAGtS,IAAImgB,OACrBV,EAAOnN,GAAO,GAAG1S,MAAMugB,QACzB,GAGF,SAQFwI,EAAkB,CAChBr6B,MANF+rB,EACEoF,EAAOqB,GAAM,GAAG9gB,IAAImgB,OAASV,EAAOqB,GAAM,GAAGlhB,MAAMugB,OAAS,GAC5DV,EAAOnN,GAAO,GAAGtS,IAAImgB,OAASV,EAAOnN,GAAO,GAAG1S,MAAMugB,OAAS,EAC1D,EACA,GAEQ,EAAI,iBAAmB,mBACnCvgB,MAAO2oB,EAAU9B,EAAQhH,EAAOqB,GAAM,GAAG9gB,MAAOqa,GAChDra,IAAKymB,EAAQhH,EAAOqB,GAAM,GAAG9gB,MAE/B4oB,EAAkB,CAChBt6B,KAAM+rB,EAAM,EAAI,iBAAmB,mBACnCza,MAAO6mB,EAAQhH,EAAOnN,GAAO,GAAG1S,OAChCI,IAAKuoB,EAAU9B,EAAQhH,EAAOnN,GAAO,GAAG1S,OAAQya,IAElDzrB,EAAO,CACLN,KAAM+rB,EAAM,EAAI,aAAe,eAC/Bza,MAAO6mB,EAAQhH,EAAOqB,GAAM,GAAG9gB,KAC/BA,IAAKymB,EAAQhH,EAAOnN,GAAO,GAAG1S,QAEhC8oB,EAAQ,CACNp6B,KAAM+rB,EAAM,EAAI,SAAW,WAC3Bza,MAAO6mB,EAAQkC,EAAgB/oB,OAC/BI,IAAKymB,EAAQmC,EAAgB5oB,MAE/Byf,EAAOqB,GAAM,GAAG9gB,IAAMymB,EAAQkC,EAAgB/oB,OAC9C6f,EAAOnN,GAAO,GAAG1S,MAAQ6mB,EAAQmC,EAAgB5oB,KACjD6oB,EAAa,GAETpJ,EAAOqB,GAAM,GAAG9gB,IAAImgB,OAASV,EAAOqB,GAAM,GAAGlhB,MAAMugB,SACrD0I,EAAaT,EAAYS,EAAY,CACnC,CAAC,QAASpJ,EAAOqB,GAAM,GAAItU,GAC3B,CAAC,OAAQiT,EAAOqB,GAAM,GAAItU,MAI9Bqc,EAAaT,EAAYS,EAAY,CACnC,CAAC,QAASH,EAAOlc,GACjB,CAAC,QAASmc,EAAiBnc,GAC3B,CAAC,OAAQmc,EAAiBnc,GAC1B,CAAC,QAAS5d,EAAM4d,KAGlBqc,EAAaT,EACXS,EACAlC,EACEna,EAAQkV,OAAOgC,WAAWV,WAAWC,KACrCxD,EAAO7e,MAAMkgB,EAAO,EAAGxO,GACvB9F,IAIJqc,EAAaT,EAAYS,EAAY,CACnC,CAAC,OAAQj6B,EAAM4d,GACf,CAAC,QAASoc,EAAiBpc,GAC3B,CAAC,OAAQoc,EAAiBpc,GAC1B,CAAC,OAAQkc,EAAOlc,KAGdiT,EAAOnN,GAAO,GAAGtS,IAAImgB,OAASV,EAAOnN,GAAO,GAAG1S,MAAMugB,QACvDA,EAAS,EACT0I,EAAaT,EAAYS,EAAY,CACnC,CAAC,QAASpJ,EAAOnN,GAAO,GAAI9F,GAC5B,CAAC,OAAQiT,EAAOnN,GAAO,GAAI9F,MAG7B2T,EAAS,EAGXkI,EAAc5I,EAAQqB,EAAO,EAAGxO,EAAQwO,EAAO,EAAG+H,GAClDvW,EAAQwO,EAAO+H,EAAWn/B,OAASy2B,EAAS,EAC5C,KACF,CAKN7N,GAAS,EAET,OAASA,EAAQmN,EAAO/1B,QACQ,sBAA1B+1B,EAAOnN,GAAO,GAAGhkB,OACnBmxB,EAAOnN,GAAO,GAAGhkB,KAAO,QAI5B,OAAOmxB,CACT,GAkCA/4B,EAAOC,QAAU67B,+BCvLjB,IAAIX,EAAa1pB,EAAQ,KACrB4pB,EAAoB5pB,EAAQ,MAC5B6pB,EAAa7pB,EAAQ,MACrB2wB,EAAe3wB,EAAQ,MAEvBuiB,EAAW,CACbre,KAAM,WACNgnB,SAGF,SAA0BC,EAASe,EAAIiC,GACrC,IAAIlQ,EAAO,EACX,OAEA,SAAe9vB,GAMb,OALAg9B,EAAQ1W,MAAM,YACd0W,EAAQ1W,MAAM,kBACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,kBACbyV,EAAQ1W,MAAM,oBACPkU,CACT,EAEA,SAASA,EAAKx6B,GACZ,OAAIu7B,EAAWv7B,IACbg9B,EAAQK,QAAQr9B,GACTyiC,GAGF/G,EAAW17B,GAAQ0iC,EAAW1iC,GAAQggC,EAAIhgC,EACnD,CAEA,SAASyiC,EAAmBziC,GAC1B,OAAgB,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAAey7B,EAAkBz7B,GAClE2iC,EAAyB3iC,GACzB0iC,EAAW1iC,EACjB,CAEA,SAAS2iC,EAAyB3iC,GAChC,OAAa,KAATA,GACFg9B,EAAQK,QAAQr9B,GACT4iC,IAIG,KAAT5iC,GAAwB,KAATA,GAAwB,KAATA,GAAey7B,EAAkBz7B,KAChE8vB,IAAS,IAETkN,EAAQK,QAAQr9B,GACT2iC,GAGFD,EAAW1iC,EACpB,CAEA,SAAS4iC,EAAU5iC,GACjB,OAAa,KAATA,GACFg9B,EAAQzV,KAAK,oBACN7N,EAAI1Z,IAGA,KAATA,GAAwB,KAATA,GAAewiC,EAAaxiC,GACtCggC,EAAIhgC,IAGbg9B,EAAQK,QAAQr9B,GACT4iC,EACT,CAEA,SAASF,EAAW1iC,GAClB,OAAa,KAATA,GACFg9B,EAAQK,QAAQr9B,GAChB8vB,EAAO,EACA+S,GAGLnH,EAAW17B,IACbg9B,EAAQK,QAAQr9B,GACT0iC,GAGF1C,EAAIhgC,EACb,CAEA,SAAS6iC,EAAiB7iC,GACxB,OAAOy7B,EAAkBz7B,GAAQ8iC,EAAW9iC,GAAQggC,EAAIhgC,EAC1D,CAEA,SAAS8iC,EAAW9iC,GAClB,OAAa,KAATA,GACFg9B,EAAQK,QAAQr9B,GAChB8vB,EAAO,EACA+S,GAGI,KAAT7iC,GAEFg9B,EAAQzV,KAAK,oBAAoBvf,KAAO,gBACjC0R,EAAI1Z,IAGN+iC,EAAW/iC,EACpB,CAEA,SAAS+iC,EAAW/iC,GAClB,OAAc,KAATA,GAAey7B,EAAkBz7B,KAAU8vB,IAAS,IACvDkN,EAAQK,QAAQr9B,GACA,KAATA,EAAc+iC,EAAaD,GAG7B9C,EAAIhgC,EACb,CAEA,SAAS0Z,EAAI1Z,GAKX,OAJAg9B,EAAQ1W,MAAM,kBACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,kBACbyV,EAAQzV,KAAK,YACNwW,CACT,CACF,GAEA39B,EAAOC,QAAU+zB,8BC1HjB,IAAI4O,EAAgBnxB,EAAQ,MACxBirB,EAAejrB,EAAQ,MAEvB6iB,EAAa,CACf3e,KAAM,aACNgnB,SAOF,SAAiCC,EAASe,EAAIiC,GAC5C,IAAIt5B,EAAOD,KACX,OAEA,SAAezG,GACb,GAAa,KAATA,EAYF,OAXK0G,EAAKw3B,eAAe1D,OACvBwC,EAAQ1W,MAAM,aAAc,CAC1B2c,YAAY,IAEdv8B,EAAKw3B,eAAe1D,MAAO,GAG7BwC,EAAQ1W,MAAM,oBACd0W,EAAQ1W,MAAM,oBACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,oBACNiG,EAGT,OAAOwS,EAAIhgC,EACb,EAEA,SAASwtB,EAAMxtB,GACb,OAAIgjC,EAAchjC,IAChBg9B,EAAQ1W,MAAM,8BACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,8BACbyV,EAAQzV,KAAK,oBACNwW,IAGTf,EAAQzV,KAAK,oBACNwW,EAAG/9B,GACZ,CACF,EAzCEm+B,aAAc,CACZpB,SA0CJ,SAAwCC,EAASe,EAAIiC,GACnD,OAAOlD,EACLE,EACAA,EAAQG,QAAQzI,EAAYqJ,EAAIiC,GAChC,aACAv5B,KAAK20B,OAAOgC,WAAWp7B,QAAQ26B,KAAKzzB,QAAQ,iBAAmB,OAC3DlE,EACA,EAER,GAjDEuiB,KAmDF,SAAcyV,GACZA,EAAQzV,KAAK,aACf,GAEAnnB,EAAOC,QAAUq0B,+BChEjB,IAAImH,EAAmBhqB,EAAQ,KAE3B4f,EAAkB,CACpB1b,KAAM,kBACNgnB,SAGF,SAAiCC,EAASe,EAAIiC,GAC5C,OAEA,SAAehgC,GAKb,OAJAg9B,EAAQ1W,MAAM,mBACd0W,EAAQ1W,MAAM,gBACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,gBACNiT,CACT,EAEA,SAASA,EAAKx6B,GACZ,OAAI67B,EAAiB77B,IACnBg9B,EAAQ1W,MAAM,wBACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,wBACbyV,EAAQzV,KAAK,mBACNwW,GAGFiC,EAAIhgC,EACb,CACF,GAEAI,EAAOC,QAAUoxB,+BC/BjB,IAAIyR,EAAerxB,EAAQ,MACvB4pB,EAAoB5pB,EAAQ,MAC5B8pB,EAAa9pB,EAAQ,MACrB+pB,EAAgB/pB,EAAQ,MAE5B,SAASsxB,EAAsBrjC,GAC7B,OAAOA,GAAkB,kBAANA,GAAkB,YAAaA,EAAIA,EAAI,CAACsjC,QAAStjC,EACtE,CAEA,IAAIujC,EAAsCF,EAAsBD,GAE5DxR,EAAqB,CACvB3b,KAAM,qBACNgnB,SAGF,SAAoCC,EAASe,EAAIiC,GAC/C,IAEI3S,EACAjc,EAHA1K,EAAOD,KACPqpB,EAAO,EAGX,OAEA,SAAe9vB,GAKb,OAJAg9B,EAAQ1W,MAAM,sBACd0W,EAAQ1W,MAAM,4BACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,4BACNiT,CACT,EAEA,SAASA,EAAKx6B,GACZ,OAAa,KAATA,GACFg9B,EAAQ1W,MAAM,mCACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,mCACN+b,IAGTtG,EAAQ1W,MAAM,2BACd+G,EAAM,GACNjc,EAAOqqB,EACA93B,EAAM3D,GACf,CAEA,SAASsjC,EAAQtjC,GACf,OAAa,KAATA,GAAwB,MAATA,GACjBg9B,EAAQ1W,MAAM,uCACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,uCACbyV,EAAQ1W,MAAM,2BACd+G,EAAM,EACNjc,EAAOwqB,EACAj4B,IAGTq5B,EAAQ1W,MAAM,2BACd+G,EAAM,EACNjc,EAAOuqB,EACAh4B,EAAM3D,GACf,CAEA,SAAS2D,EAAM3D,GACb,IAAIy6B,EAEJ,OAAa,KAATz6B,GAAe8vB,GACjB2K,EAAQuC,EAAQzV,KAAK,2BAGnBnW,IAASqqB,GACR4H,EAA+B,QAAE38B,EAAKgzB,eAAee,KAKxDuC,EAAQ1W,MAAM,4BACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,4BACbyV,EAAQzV,KAAK,sBACNwW,GAPEiC,EAAIhgC,IAUXoR,EAAKpR,IAAS8vB,IAASzC,GACzB2P,EAAQK,QAAQr9B,GACT2D,GAGFq8B,EAAIhgC,EACb,CACF,GAEAI,EAAOC,QAAUqxB,8BC3FjB,IAAImL,EAAqBhrB,EAAQ,MAC7B0xB,EAA4B1xB,EAAQ,MACpC2xB,EAAa3xB,EAAQ,KACrBirB,EAAejrB,EAAQ,MAEvB8iB,EAAa,CACf5e,KAAM,aACNgnB,SAIF,SAA4BC,EAASe,EAAIiC,GACvC,IAOI7iB,EAPAzW,EAAOD,KACPg9B,EAAwB,CAC1B1G,SAuHF,SAA8BC,EAASe,EAAIiC,GACzC,IAAIlQ,EAAO,EACX,OAAOgN,EACLE,EACA0G,EACA,aACAj9B,KAAK20B,OAAOgC,WAAWp7B,QAAQ26B,KAAKzzB,QAAQ,iBAAmB,OAC3DlE,EACA,GAGN,SAAS0+B,EAAqB1jC,GAG5B,OAFAg9B,EAAQ1W,MAAM,mBACd0W,EAAQ1W,MAAM,2BACPgc,EAAgBtiC,EACzB,CAEA,SAASsiC,EAAgBtiC,GACvB,OAAIA,IAASmd,GACX6f,EAAQK,QAAQr9B,GAChB8vB,IACOwS,GAGLxS,EAAO6T,EAAiB3D,EAAIhgC,IAChCg9B,EAAQzV,KAAK,2BACNuV,EAAaE,EAAS4G,EAAoB,aAA1C9G,CAAwD98B,GACjE,CAEA,SAAS4jC,EAAmB5jC,GAC1B,OAAa,OAATA,GAAiB68B,EAAmB78B,IACtCg9B,EAAQzV,KAAK,mBACNwW,EAAG/9B,IAGLggC,EAAIhgC,EACb,CACF,EA3JEo/B,SAAS,GAEPyE,EAAgBL,EAAW/8B,KAAK0yB,OAAQ,cACxCwK,EAAW,EAEf,OAEA,SAAe3jC,GAKb,OAJAg9B,EAAQ1W,MAAM,cACd0W,EAAQ1W,MAAM,mBACd0W,EAAQ1W,MAAM,2BACdnJ,EAASnd,EACF8jC,EAAa9jC,EACtB,EAEA,SAAS8jC,EAAa9jC,GACpB,OAAIA,IAASmd,GACX6f,EAAQK,QAAQr9B,GAChB2jC,IACOG,IAGT9G,EAAQzV,KAAK,2BACNoc,EAAW,EACd3D,EAAIhgC,GACJ88B,EAAaE,EAAS+G,EAAU,aAAhCjH,CAA8C98B,GACpD,CAEA,SAAS+jC,EAAS/jC,GAChB,OAAa,OAATA,GAAiB68B,EAAmB78B,GAC/BgkC,EAAUhkC,IAGnBg9B,EAAQ1W,MAAM,uBACd0W,EAAQ1W,MAAM,cAAe,CAC3BiX,YAAa,WAER0G,EAAKjkC,GACd,CAEA,SAASikC,EAAKjkC,GACZ,OAAa,OAATA,GAAiBujC,EAA0BvjC,IAC7Cg9B,EAAQzV,KAAK,eACbyV,EAAQzV,KAAK,uBACNuV,EAAaE,EAASkH,EAAW,aAAjCpH,CAA+C98B,IAG3C,KAATA,GAAeA,IAASmd,EAAe6iB,EAAIhgC,IAC/Cg9B,EAAQK,QAAQr9B,GACTikC,EACT,CAEA,SAASC,EAAUlkC,GACjB,OAAa,OAATA,GAAiB68B,EAAmB78B,GAC/BgkC,EAAUhkC,IAGnBg9B,EAAQ1W,MAAM,uBACd0W,EAAQ1W,MAAM,cAAe,CAC3BiX,YAAa,WAERhiB,EAAKvb,GACd,CAEA,SAASub,EAAKvb,GACZ,OAAa,OAATA,GAAiB68B,EAAmB78B,IACtCg9B,EAAQzV,KAAK,eACbyV,EAAQzV,KAAK,uBACNyc,EAAUhkC,IAGN,KAATA,GAAeA,IAASmd,EAAe6iB,EAAIhgC,IAC/Cg9B,EAAQK,QAAQr9B,GACTub,EACT,CAEA,SAASyoB,EAAUhkC,GAEjB,OADAg9B,EAAQzV,KAAK,mBACN7gB,EAAKg4B,UAAYX,EAAG/9B,GAAQ2Z,EAAQ3Z,EAC7C,CAEA,SAAS2Z,EAAQ3Z,GACf,OAAa,OAATA,EACKwtB,EAAMxtB,GAGX68B,EAAmB78B,IACrBg9B,EAAQ1W,MAAM,cACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,cACNyV,EAAQG,QACbsG,EACAjW,EACAqW,EACI/G,EAAaE,EAASrjB,EAAS,aAAckqB,EAAgB,GAC7DlqB,KAIRqjB,EAAQ1W,MAAM,iBACP6d,EAAgBnkC,GACzB,CAEA,SAASmkC,EAAgBnkC,GACvB,OAAa,OAATA,GAAiB68B,EAAmB78B,IACtCg9B,EAAQzV,KAAK,iBACN5N,EAAQ3Z,KAGjBg9B,EAAQK,QAAQr9B,GACTmkC,EACT,CAEA,SAAS3W,EAAMxtB,GAEb,OADAg9B,EAAQzV,KAAK,cACNwW,EAAG/9B,EACZ,CAwCF,EAnKEu+B,UAAU,GAqKZn+B,EAAOC,QAAUs0B,+BC7KjB,IAAIkI,EAAqBhrB,EAAQ,MAC7BkwB,EAAgBlwB,EAAQ,MACxB2xB,EAAa3xB,EAAQ,KACrBirB,EAAejrB,EAAQ,MAEvBmjB,EAAe,CACjBjf,KAAM,eACNgnB,SAmBF,SAA8BC,EAASe,EAAIiC,GACzC,OAAOhD,EAAQG,QAAQiH,EAA0BC,EAAarE,GAE9D,SAASqE,EAAYrkC,GACnB,OAAa,OAATA,EACK+9B,EAAG/9B,GAGR68B,EAAmB78B,GACdg9B,EAAQG,QAAQiH,EAA0BC,EAAatG,EAAvDf,CAA2Dh9B,IAGpEg9B,EAAQ1W,MAAM,iBACP3M,EAAQ3Z,GACjB,CAEA,SAAS2Z,EAAQ3Z,GACf,OAAa,OAATA,GAAiB68B,EAAmB78B,IACtCg9B,EAAQzV,KAAK,iBACN8c,EAAYrkC,KAGrBg9B,EAAQK,QAAQr9B,GACT2Z,EACT,CACF,EA3CEzZ,QAOF,SAA6Bi5B,EAAQjT,GACnC,IAAIlmB,EAAO,CACTgI,KAAM,eACNsR,MAAO6f,EAAO,GAAG,GAAG7f,MACpBI,IAAKyf,EAAOA,EAAO/1B,OAAS,GAAG,GAAGsW,KAIpC,OAFAqoB,EAAc5I,EAAQ,EAAG,EAAG,CAAC,CAAC,QAASn5B,EAAMkmB,KAC7C6b,EAAc5I,EAAQA,EAAO/1B,OAAQ,EAAG,CAAC,CAAC,OAAQpD,EAAMkmB,KACjDiT,CACT,GAdIiL,EAA2B,CAC7BrH,SA0CF,SAAiCC,EAASe,EAAIiC,GAC5C,IAAIt5B,EAAOD,KACX,OAAOq2B,EAAaE,GAEpB,SAASqH,EAAYrkC,GACnB,GAAI68B,EAAmB78B,GAIrB,OAHAg9B,EAAQ1W,MAAM,cACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,cACNuV,EAAaE,EAASqH,EAAa,aAAc,GAG1D,OAAOb,EAAW98B,EAAKyyB,OAAQ,cAAgB,EAAI6G,EAAIhgC,GAAQ+9B,EAAG/9B,EACpE,GAX0C,aAAc,EAY1D,EAvDEo/B,SAAS,GAyDXh/B,EAAOC,QAAU20B,+BCrEjB,IAAI6H,EAAqBhrB,EAAQ,MAE7BojB,EAAW,CACblf,KAAM,WACNgnB,SAmEF,SAA0BC,EAASe,EAAIiC,GACrC,IACIlQ,EACA2K,EAFAkJ,EAAW,EAGf,OAEA,SAAe3jC,GAGb,OAFAg9B,EAAQ1W,MAAM,YACd0W,EAAQ1W,MAAM,oBACP+b,EAAgBriC,EACzB,EAEA,SAASqiC,EAAgBriC,GACvB,OAAa,KAATA,GACFg9B,EAAQK,QAAQr9B,GAChB2jC,IACOtB,IAGTrF,EAAQzV,KAAK,oBACN+c,EAAItkC,GACb,CAEA,SAASskC,EAAItkC,GAEX,OAAa,OAATA,EACKggC,EAAIhgC,GAIA,KAATA,GACFy6B,EAAQuC,EAAQ1W,MAAM,oBACtBwJ,EAAO,EACAwS,EAAgBtiC,IAGZ,KAATA,GACFg9B,EAAQ1W,MAAM,SACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,SACN+c,GAGLzH,EAAmB78B,IACrBg9B,EAAQ1W,MAAM,cACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,cACN+c,IAGTtH,EAAQ1W,MAAM,gBACP5c,EAAK1J,GACd,CAEA,SAAS0J,EAAK1J,GACZ,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACA68B,EAAmB78B,IAEnBg9B,EAAQzV,KAAK,gBACN+c,EAAItkC,KAGbg9B,EAAQK,QAAQr9B,GACT0J,EACT,CAEA,SAAS44B,EAAgBtiC,GAEvB,OAAa,KAATA,GACFg9B,EAAQK,QAAQr9B,GAChB8vB,IACOwS,GAGLxS,IAAS6T,GACX3G,EAAQzV,KAAK,oBACbyV,EAAQzV,KAAK,YACNwW,EAAG/9B,KAGZy6B,EAAMzyB,KAAO,eACN0B,EAAK1J,GACd,CACF,EAxJEE,QAIF,SAAyBi5B,GACvB,IAEInN,EACA1F,EAHAie,EAAgBpL,EAAO/1B,OAAS,EAChCohC,EAAiB,EAIrB,IACsC,eAAnCrL,EAAOqL,GAAgB,GAAGx8B,MACU,UAAnCmxB,EAAOqL,GAAgB,GAAGx8B,QACO,eAAlCmxB,EAAOoL,GAAe,GAAGv8B,MACU,UAAlCmxB,EAAOoL,GAAe,GAAGv8B,MAI3B,IAFAgkB,EAAQwY,IAECxY,EAAQuY,GACf,GAA8B,iBAA1BpL,EAAOnN,GAAO,GAAGhkB,KAAyB,CAE5CmxB,EAAOoL,GAAe,GAAGv8B,KAAOmxB,EAAOqL,GAAgB,GAAGx8B,KACxD,kBACFw8B,GAAkB,EAClBD,GAAiB,EACjB,KACF,CAIJvY,EAAQwY,EAAiB,EACzBD,IAEA,OAASvY,GAASuY,QACFv/B,IAAVshB,EACE0F,IAAUuY,GAA2C,eAA1BpL,EAAOnN,GAAO,GAAGhkB,OAC9Cse,EAAQ0F,GAGVA,IAAUuY,GACgB,eAA1BpL,EAAOnN,GAAO,GAAGhkB,OAEjBmxB,EAAO7S,GAAO,GAAGte,KAAO,eAEpBgkB,IAAU1F,EAAQ,IACpB6S,EAAO7S,GAAO,GAAG5M,IAAMyf,EAAOnN,EAAQ,GAAG,GAAGtS,IAC5Cyf,EAAOmB,OAAOhU,EAAQ,EAAG0F,EAAQ1F,EAAQ,GACzCie,GAAiBvY,EAAQ1F,EAAQ,EACjC0F,EAAQ1F,EAAQ,GAGlBA,OAAQthB,GAIZ,OAAOm0B,CACT,EAvDE8D,SAyDF,SAAkBj9B,GAEhB,OACW,KAATA,GACgD,oBAAhDyG,KAAK0yB,OAAO1yB,KAAK0yB,OAAO/1B,OAAS,GAAG,GAAG4E,IAE3C,GA0FA5H,EAAOC,QAAU40B,+BC/JjB,IAAI4H,EAAqBhrB,EAAQ,MAC7B2xB,EAAa3xB,EAAQ,KACrB2vB,EAAc3vB,EAAQ,MACtBirB,EAAejrB,EAAQ,MAGvB8H,EAAU,CACZojB,SAgBF,SAAyBC,EAASe,GAChC,IAAId,EACJ,OAEA,SAAej9B,GAKb,OAJAg9B,EAAQ1W,MAAM,WACd2W,EAAWD,EAAQ1W,MAAM,eAAgB,CACvCiX,YAAa,YAER7zB,EAAK1J,EACd,EAEA,SAAS0J,EAAK1J,GACZ,OAAa,OAATA,EACKykC,EAAWzkC,GAGhB68B,EAAmB78B,GACdg9B,EAAQiC,MACbyF,EACAP,EACAM,EAHKzH,CAILh9B,IAGJg9B,EAAQK,QAAQr9B,GACT0J,EACT,CAEA,SAAS+6B,EAAWzkC,GAGlB,OAFAg9B,EAAQzV,KAAK,gBACbyV,EAAQzV,KAAK,WACNwW,EAAG/9B,EACZ,CAEA,SAASmkC,EAAgBnkC,GAOvB,OANAg9B,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,gBACb0V,EAAWA,EAASO,KAAOR,EAAQ1W,MAAM,eAAgB,CACvDiX,YAAa,UACbN,SAAUA,IAELvzB,CACT,CACF,EA3DExJ,QAUF,SAAwBi5B,GAEtB,OADAqI,EAAYrI,GACLA,CACT,EAZEwF,eAAe,EACfI,MAAM,GAEJ2F,EAAwB,CAC1B3H,SAwDF,SAA8BC,EAASe,EAAIiC,GACzC,IAAIt5B,EAAOD,KACX,OAEA,SAAwBzG,GAItB,OAHAg9B,EAAQ1W,MAAM,cACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,cACNuV,EAAaE,EAAS2H,EAAU,aACzC,EAEA,SAASA,EAAS3kC,GAChB,OAAa,OAATA,GAAiB68B,EAAmB78B,GAC/BggC,EAAIhgC,GAIX0G,EAAK00B,OAAOgC,WAAWp7B,QAAQ26B,KAAKzzB,QAAQ,iBAAmB,GAC/Ds6B,EAAW98B,EAAKyyB,OAAQ,cAAgB,EAEjC6D,EAAQ0B,UAAUh4B,EAAK00B,OAAOgC,WAAW9Q,KAAM0T,EAAKjC,EAApDf,CAAwDh9B,GAG1D+9B,EAAG/9B,EACZ,CACF,EAhFEo/B,SAAS,GAkFXh/B,EAAOC,QAAUsZ,+BChGjB,IAAIkjB,EAAqBhrB,EAAQ,MAC7B0xB,EAA4B1xB,EAAQ,MACpC8oB,EAAsB9oB,EAAQ,MAC9B+yB,EAAqB/yB,EAAQ,MAC7BgzB,EAAehzB,EAAQ,MACvBirB,EAAejrB,EAAQ,MACvBizB,EAAoBjzB,EAAQ,MAC5BkzB,EAAelzB,EAAQ,MAEvB+c,EAAa,CACf7Y,KAAM,aACNgnB,SAOF,SAA4BC,EAASe,EAAIiC,GACvC,IACIxO,EADA9qB,EAAOD,KAEX,OAEA,SAAezG,GAEb,OADAg9B,EAAQ1W,MAAM,cACPue,EAAa3/B,KAClBwB,EACAs2B,EACAgI,EACAhF,EACA,kBACA,wBACA,wBAPK6E,CAQL7kC,EACJ,EAEA,SAASglC,EAAWhlC,GAKlB,OAJAwxB,EAAamJ,EACXj0B,EAAKgzB,eAAehzB,EAAKyyB,OAAOzyB,EAAKyyB,OAAO/1B,OAAS,GAAG,IAAIkX,MAAM,GAAI,IAG3D,KAATta,GACFg9B,EAAQ1W,MAAM,oBACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,oBAENud,EACL9H,EACA4H,EACE5H,EACAA,EAAQG,QACN8H,EACAnI,EAAaE,EAASxP,EAAO,cAC7BsP,EAAaE,EAASxP,EAAO,eAE/BwS,EACA,wBACA,+BACA,qCACA,2BACA,iCAKCA,EAAIhgC,EACb,CAEA,SAASwtB,EAAMxtB,GACb,OAAa,OAATA,GAAiB68B,EAAmB78B,IACtCg9B,EAAQzV,KAAK,cAET7gB,EAAK00B,OAAOiG,QAAQn4B,QAAQsoB,GAAc,GAC5C9qB,EAAK00B,OAAOiG,QAAQr+B,KAAKwuB,GAGpBuM,EAAG/9B,IAGLggC,EAAIhgC,EACb,CACF,GApEIilC,EAAiB,CACnBlI,SAqEF,SAAuBC,EAASe,EAAIiC,GAClC,OAEA,SAAehgC,GACb,OAAOujC,EAA0BvjC,GAC7B8kC,EAAkB9H,EAASpQ,EAA3BkY,CAAmC9kC,GACnCggC,EAAIhgC,EACV,EAEA,SAAS4sB,EAAO5sB,GACd,OAAa,KAATA,GAAwB,KAATA,GAAwB,KAATA,EACzB+kC,EACL/H,EACAF,EAAaE,EAASxP,EAAO,cAC7BwS,EACA,kBACA,wBACA,wBANK+E,CAOL/kC,GAGGggC,EAAIhgC,EACb,CAEA,SAASwtB,EAAMxtB,GACb,OAAgB,OAATA,GAAiB68B,EAAmB78B,GAAQ+9B,EAAG/9B,GAAQggC,EAAIhgC,EACpE,CACF,EA/FEo/B,SAAS,GAiGXh/B,EAAOC,QAAUuuB,+BChHjB,IAAI4T,EAAe3wB,EAAQ,MACvB0xB,EAA4B1xB,EAAQ,MACpCgrB,EAAqBhrB,EAAQ,MA8HjCzR,EAAOC,QA3HP,SACE28B,EACAe,EACAiC,EACAh4B,EACAk9B,EACAC,EACAC,EACAC,EACAhY,GAEA,IAAIiY,EAAQjY,GAAOkY,IACfC,EAAU,EACd,OAEA,SAAexlC,GACb,GAAa,KAATA,EAMF,OALAg9B,EAAQ1W,MAAMte,GACdg1B,EAAQ1W,MAAM4e,GACdlI,EAAQ1W,MAAM6e,GACdnI,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK4d,GACNM,EAGT,GAAIjD,EAAaxiC,IAAkB,KAATA,EACxB,OAAOggC,EAAIhgC,GASb,OANAg9B,EAAQ1W,MAAMte,GACdg1B,EAAQ1W,MAAM8e,GACdpI,EAAQ1W,MAAM+e,GACdrI,EAAQ1W,MAAM,cAAe,CAC3BiX,YAAa,WAERmI,EAAe1lC,EACxB,EAEA,SAASylC,EAA0BzlC,GACjC,OAAa,KAATA,GACFg9B,EAAQ1W,MAAM6e,GACdnI,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK4d,GACbnI,EAAQzV,KAAK2d,GACblI,EAAQzV,KAAKvf,GACN+1B,IAGTf,EAAQ1W,MAAM+e,GACdrI,EAAQ1W,MAAM,cAAe,CAC3BiX,YAAa,WAERoI,EAAoB3lC,GAC7B,CAEA,SAAS2lC,EAAoB3lC,GAC3B,OAAa,KAATA,GACFg9B,EAAQzV,KAAK,eACbyV,EAAQzV,KAAK8d,GACNI,EAA0BzlC,IAGtB,OAATA,GAA0B,KAATA,GAAe68B,EAAmB78B,GAC9CggC,EAAIhgC,IAGbg9B,EAAQK,QAAQr9B,GACA,KAATA,EAAc4lC,EAA4BD,EACnD,CAEA,SAASC,EAA0B5lC,GACjC,OAAa,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAChCg9B,EAAQK,QAAQr9B,GACT2lC,GAGFA,EAAoB3lC,EAC7B,CAEA,SAAS0lC,EAAe1lC,GACtB,OAAa,KAATA,IACIwlC,EAAUF,EAActF,EAAIhgC,IAClCg9B,EAAQK,QAAQr9B,GACT0lC,GAGI,KAAT1lC,EACGwlC,KAQLxI,EAAQK,QAAQr9B,GACT0lC,IARL1I,EAAQzV,KAAK,eACbyV,EAAQzV,KAAK8d,GACbrI,EAAQzV,KAAK6d,GACbpI,EAAQzV,KAAKvf,GACN+1B,EAAG/9B,IAOD,OAATA,GAAiBujC,EAA0BvjC,GACzCwlC,EAAgBxF,EAAIhgC,IACxBg9B,EAAQzV,KAAK,eACbyV,EAAQzV,KAAK8d,GACbrI,EAAQzV,KAAK6d,GACbpI,EAAQzV,KAAKvf,GACN+1B,EAAG/9B,IAGRwiC,EAAaxiC,GAAcggC,EAAIhgC,IACnCg9B,EAAQK,QAAQr9B,GACA,KAATA,EAAc6lC,EAAuBH,EAC9C,CAEA,SAASG,EAAqB7lC,GAC5B,OAAa,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAChCg9B,EAAQK,QAAQr9B,GACT0lC,GAGFA,EAAe1lC,EACxB,CACF,+BC9HA,IAAI68B,EAAqBhrB,EAAQ,MAC7BmxB,EAAgBnxB,EAAQ,MAoF5BzR,EAAOC,QAjFP,SAAsB28B,EAASe,EAAIiC,EAAKh4B,EAAM89B,EAAYT,GACxD,IAEI37B,EAFAhD,EAAOD,KACPqpB,EAAO,EAEX,OAEA,SAAe9vB,GAMb,OALAg9B,EAAQ1W,MAAMte,GACdg1B,EAAQ1W,MAAMwf,GACd9I,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAKue,GACb9I,EAAQ1W,MAAM+e,GACPzV,CACT,EAEA,SAASA,EAAQ5vB,GACf,OACW,OAATA,GACS,KAATA,GACU,KAATA,IAAgB0J,GAEP,KAAT1J,IAEE8vB,GAED,2BAA4BppB,EAAK00B,OAAOgC,YAC1CtN,EAAO,IAEAkQ,EAAIhgC,GAGA,KAATA,GACFg9B,EAAQzV,KAAK8d,GACbrI,EAAQ1W,MAAMwf,GACd9I,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAKue,GACb9I,EAAQzV,KAAKvf,GACN+1B,GAGLlB,EAAmB78B,IACrBg9B,EAAQ1W,MAAM,cACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,cACNqI,IAGToN,EAAQ1W,MAAM,cAAe,CAC3BiX,YAAa,WAERhtB,EAAMvQ,GACf,CAEA,SAASuQ,EAAMvQ,GACb,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACA68B,EAAmB78B,IACnB8vB,IAAS,KAETkN,EAAQzV,KAAK,eACNqI,EAAQ5vB,KAGjBg9B,EAAQK,QAAQr9B,GAChB0J,EAAOA,IAASs5B,EAAchjC,GACd,KAATA,EAAc+lC,EAAcx1B,EACrC,CAEA,SAASw1B,EAAY/lC,GACnB,OAAa,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAChCg9B,EAAQK,QAAQr9B,GAChB8vB,IACOvf,GAGFA,EAAMvQ,EACf,CACF,+BCnFA,IAAIgjC,EAAgBnxB,EAAQ,MA2B5BzR,EAAOC,QAzBP,SAAsB28B,EAASe,EAAI/1B,EAAMqlB,GACvC,IAAIiY,EAAQjY,EAAMA,EAAM,EAAIkY,IACxBzV,EAAO,EACX,OAEA,SAAe9vB,GACb,GAAIgjC,EAAchjC,GAEhB,OADAg9B,EAAQ1W,MAAMte,GACPg+B,EAAOhmC,GAGhB,OAAO+9B,EAAG/9B,EACZ,EAEA,SAASgmC,EAAOhmC,GACd,OAAIgjC,EAAchjC,IAAS8vB,IAASwV,GAClCtI,EAAQK,QAAQr9B,GACTgmC,IAGThJ,EAAQzV,KAAKvf,GACN+1B,EAAG/9B,GACZ,CACF,+BCzBA,IAAI68B,EAAqBhrB,EAAQ,MAC7BirB,EAAejrB,EAAQ,MAuE3BzR,EAAOC,QArEP,SAAsB28B,EAASe,EAAIiC,EAAKh4B,EAAM89B,EAAYT,GACxD,IAAIloB,EACJ,OAEA,SAAend,GAMb,OALAg9B,EAAQ1W,MAAMte,GACdg1B,EAAQ1W,MAAMwf,GACd9I,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAKue,GACb3oB,EAAkB,KAATnd,EAAc,GAAKA,EACrBimC,CACT,EAEA,SAASA,EAAkBjmC,GACzB,OAAIA,IAASmd,GACX6f,EAAQ1W,MAAMwf,GACd9I,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAKue,GACb9I,EAAQzV,KAAKvf,GACN+1B,IAGTf,EAAQ1W,MAAM+e,GACPa,EAAalmC,GACtB,CAEA,SAASkmC,EAAalmC,GACpB,OAAIA,IAASmd,GACX6f,EAAQzV,KAAK8d,GACNY,EAAkB9oB,IAGd,OAATnd,EACKggC,EAAIhgC,GAGT68B,EAAmB78B,IACrBg9B,EAAQ1W,MAAM,cACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,cACNuV,EAAaE,EAASkJ,EAAc,gBAG7ClJ,EAAQ1W,MAAM,cAAe,CAC3BiX,YAAa,WAERn8B,EAAMpB,GACf,CAEA,SAASoB,EAAMpB,GACb,OAAIA,IAASmd,GAAmB,OAATnd,GAAiB68B,EAAmB78B,IACzDg9B,EAAQzV,KAAK,eACN2e,EAAalmC,KAGtBg9B,EAAQK,QAAQr9B,GACA,KAATA,EAAcmmC,EAAc/kC,EACrC,CAEA,SAAS+kC,EAAYnmC,GACnB,OAAIA,IAASmd,GAAmB,KAATnd,GACrBg9B,EAAQK,QAAQr9B,GACToB,GAGFA,EAAMpB,EACf,CACF,+BCtEA,IAAI68B,EAAqBhrB,EAAQ,MAC7BmxB,EAAgBnxB,EAAQ,MACxBirB,EAAejrB,EAAQ,MA2B3BzR,EAAOC,QAzBP,SAA2B28B,EAASe,GAClC,IAAIqI,EACJ,OAEA,SAAS9sB,EAAMtZ,GACb,GAAI68B,EAAmB78B,GAKrB,OAJAg9B,EAAQ1W,MAAM,cACd0W,EAAQK,QAAQr9B,GAChBg9B,EAAQzV,KAAK,cACb6e,GAAO,EACA9sB,EAGT,GAAI0pB,EAAchjC,GAChB,OAAO88B,EACLE,EACA1jB,EACA8sB,EAAO,aAAe,aAHjBtJ,CAIL98B,GAGJ,OAAO+9B,EAAG/9B,EACZ,CACF,8BC3BA,IAAI68B,EAAqBhrB,EAAQ,MAE7B0jB,EAAkB,CACpBxf,KAAM,kBACNgnB,SAGF,SAAiCC,EAASe,EAAIiC,GAC5C,OAEA,SAAehgC,GAIb,OAHAg9B,EAAQ1W,MAAM,mBACd0W,EAAQ1W,MAAM,gBACd0W,EAAQK,QAAQr9B,GACTw6B,CACT,EAEA,SAASA,EAAKx6B,GACZ,OAAI68B,EAAmB78B,IACrBg9B,EAAQzV,KAAK,gBACbyV,EAAQzV,KAAK,mBACNwW,EAAG/9B,IAGLggC,EAAIhgC,EACb,CACF,GAEAI,EAAOC,QAAUk1B,+BC5BjB,IAAIsH,EAAqBhrB,EAAQ,MAC7B0xB,EAA4B1xB,EAAQ,MACpCmxB,EAAgBnxB,EAAQ,MACxBkwB,EAAgBlwB,EAAQ,MACxBirB,EAAejrB,EAAQ,MAEvBsqB,EAAa,CACfpmB,KAAM,aACNgnB,SAqDF,SAA4BC,EAASe,EAAIiC,GACvC,IAAIt5B,EAAOD,KACPqpB,EAAO,EACX,OAEA,SAAe9vB,GAGb,OAFAg9B,EAAQ1W,MAAM,cACd0W,EAAQ1W,MAAM,sBACP+f,EAAgBrmC,EACzB,EAEA,SAASqmC,EAAgBrmC,GACvB,OAAa,KAATA,GAAe8vB,IAAS,GAC1BkN,EAAQK,QAAQr9B,GACTqmC,GAGI,OAATrmC,GAAiBujC,EAA0BvjC,IAC7Cg9B,EAAQzV,KAAK,sBACN7gB,EAAKg4B,UAAYX,EAAG/9B,GAAQsmC,EAAatmC,IAG3CggC,EAAIhgC,EACb,CAEA,SAASsmC,EAAatmC,GACpB,OAAa,KAATA,GACFg9B,EAAQ1W,MAAM,sBACPuG,EAAS7sB,IAGL,OAATA,GAAiB68B,EAAmB78B,IACtCg9B,EAAQzV,KAAK,cACNwW,EAAG/9B,IAGRgjC,EAAchjC,GACT88B,EAAaE,EAASsJ,EAAc,aAApCxJ,CAAkD98B,IAG3Dg9B,EAAQ1W,MAAM,kBACP5c,EAAK1J,GACd,CAEA,SAAS6sB,EAAS7sB,GAChB,OAAa,KAATA,GACFg9B,EAAQK,QAAQr9B,GACT6sB,IAGTmQ,EAAQzV,KAAK,sBACN+e,EAAatmC,GACtB,CAEA,SAAS0J,EAAK1J,GACZ,OAAa,OAATA,GAA0B,KAATA,GAAeujC,EAA0BvjC,IAC5Dg9B,EAAQzV,KAAK,kBACN+e,EAAatmC,KAGtBg9B,EAAQK,QAAQr9B,GACT0J,EACT,CACF,EAnHExJ,QAGF,SAA2Bi5B,EAAQjT,GACjC,IAEIvM,EACArR,EAHAm8B,EAAatL,EAAO/1B,OAAS,EAC7B85B,EAAe,EAIkB,eAAjC/D,EAAO+D,GAAc,GAAGl1B,OAC1Bk1B,GAAgB,GAIhBuH,EAAa,EAAIvH,GACc,eAA/B/D,EAAOsL,GAAY,GAAGz8B,OAEtBy8B,GAAc,GAIiB,uBAA/BtL,EAAOsL,GAAY,GAAGz8B,OACrBk1B,IAAiBuH,EAAa,GAC5BA,EAAa,EAAIvH,GACmB,eAAnC/D,EAAOsL,EAAa,GAAG,GAAGz8B,QAE9By8B,GAAcvH,EAAe,IAAMuH,EAAa,EAAI,GAGlDA,EAAavH,IACfvjB,EAAU,CACR3R,KAAM,iBACNsR,MAAO6f,EAAO+D,GAAc,GAAG5jB,MAC/BI,IAAKyf,EAAOsL,GAAY,GAAG/qB,KAE7BpR,EAAO,CACLN,KAAM,YACNsR,MAAO6f,EAAO+D,GAAc,GAAG5jB,MAC/BI,IAAKyf,EAAOsL,GAAY,GAAG/qB,IAC3B6jB,YAAa,QAEfwE,EAAc5I,EAAQ+D,EAAcuH,EAAavH,EAAe,EAAG,CACjE,CAAC,QAASvjB,EAASuM,GACnB,CAAC,QAAS5d,EAAM4d,GAChB,CAAC,OAAQ5d,EAAM4d,GACf,CAAC,OAAQvM,EAASuM,MAItB,OAAOiT,CACT,GAmEA/4B,EAAOC,QAAU87B,+BC9HjB,IAAIZ,EAAa1pB,EAAQ,KACrB4pB,EAAoB5pB,EAAQ,MAC5BgrB,EAAqBhrB,EAAQ,MAC7B0xB,EAA4B1xB,EAAQ,MACpCmxB,EAAgBnxB,EAAQ,MACxB+C,EAAe/C,EAAQ,MACvB00B,EAAiB10B,EAAQ,MACzB20B,EAAe30B,EAAQ,MACvB4rB,EAAmB5rB,EAAQ,MAE3B4jB,EAAW,CACb1f,KAAM,WACNgnB,SA8BF,SAA0BC,EAASe,EAAIiC,GACrC,IACIyG,EACAC,EACA5R,EACA9I,EACA7O,EALAzW,EAAOD,KAMX,OAEA,SAAezG,GAIb,OAHAg9B,EAAQ1W,MAAM,YACd0W,EAAQ1W,MAAM,gBACd0W,EAAQK,QAAQr9B,GACTw6B,CACT,EAEA,SAASA,EAAKx6B,GACZ,OAAa,KAATA,GACFg9B,EAAQK,QAAQr9B,GACT2mC,GAGI,KAAT3mC,GACFg9B,EAAQK,QAAQr9B,GACT4mC,GAGI,KAAT5mC,GACFg9B,EAAQK,QAAQr9B,GAChBymC,EAAO,EAGA//B,EAAKg4B,UAAYX,EAAK8I,GAG3BtL,EAAWv7B,IACbg9B,EAAQK,QAAQr9B,GAChB80B,EAASlgB,EAAa5U,GACtB0mC,GAAW,EACJ/wB,GAGFqqB,EAAIhgC,EACb,CAEA,SAAS2mC,EAAiB3mC,GACxB,OAAa,KAATA,GACFg9B,EAAQK,QAAQr9B,GAChBymC,EAAO,EACAK,GAGI,KAAT9mC,GACFg9B,EAAQK,QAAQr9B,GAChBymC,EAAO,EACP3R,EAAS,SACT9I,EAAQ,EACD+a,GAGLxL,EAAWv7B,IACbg9B,EAAQK,QAAQr9B,GAChBymC,EAAO,EACA//B,EAAKg4B,UAAYX,EAAK8I,GAGxB7G,EAAIhgC,EACb,CAEA,SAAS8mC,EAAkB9mC,GACzB,OAAa,KAATA,GACFg9B,EAAQK,QAAQr9B,GACT0G,EAAKg4B,UAAYX,EAAK8I,GAGxB7G,EAAIhgC,EACb,CAEA,SAAS+mC,EAAgB/mC,GACvB,OAAIA,IAAS80B,EAAOhe,WAAWkV,MAC7BgR,EAAQK,QAAQr9B,GACTgsB,IAAU8I,EAAO1xB,OACpBsD,EAAKg4B,UACHX,EACAI,EACF4I,GAGC/G,EAAIhgC,EACb,CAEA,SAAS4mC,EAAc5mC,GACrB,OAAIu7B,EAAWv7B,IACbg9B,EAAQK,QAAQr9B,GAChB80B,EAASlgB,EAAa5U,GACf2V,GAGFqqB,EAAIhgC,EACb,CAEA,SAAS2V,EAAQ3V,GACf,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACAujC,EAA0BvjC,GAGf,KAATA,GACA0mC,GACAF,EAAat9B,QAAQ4rB,EAAO8F,gBAAkB,GAE9C6L,EAAO,EACA//B,EAAKg4B,UAAYX,EAAG/9B,GAAQm+B,EAAan+B,IAG9CumC,EAAer9B,QAAQ4rB,EAAO8F,gBAAkB,GAClD6L,EAAO,EAEM,KAATzmC,GACFg9B,EAAQK,QAAQr9B,GACTgnC,GAGFtgC,EAAKg4B,UAAYX,EAAG/9B,GAAQm+B,EAAan+B,KAGlDymC,EAAO,EAEA//B,EAAKg4B,UACRsB,EAAIhgC,GACJ0mC,EACAO,EAA4BjnC,GAC5BknC,EAAwBlnC,IAGjB,KAATA,GAAey7B,EAAkBz7B,IACnCg9B,EAAQK,QAAQr9B,GAChB80B,GAAUlgB,EAAa5U,GAChB2V,GAGFqqB,EAAIhgC,EACb,CAEA,SAASgnC,EAAiBhnC,GACxB,OAAa,KAATA,GACFg9B,EAAQK,QAAQr9B,GACT0G,EAAKg4B,UAAYX,EAAKI,GAGxB6B,EAAIhgC,EACb,CAEA,SAASknC,EAAwBlnC,GAC/B,OAAIgjC,EAAchjC,IAChBg9B,EAAQK,QAAQr9B,GACTknC,GAGFC,EAAYnnC,EACrB,CAEA,SAASinC,EAA4BjnC,GACnC,OAAa,KAATA,GACFg9B,EAAQK,QAAQr9B,GACTmnC,GAGI,KAATnnC,GAAwB,KAATA,GAAeu7B,EAAWv7B,IAC3Cg9B,EAAQK,QAAQr9B,GACTonC,GAGLpE,EAAchjC,IAChBg9B,EAAQK,QAAQr9B,GACTinC,GAGFE,EAAYnnC,EACrB,CAEA,SAASonC,EAAsBpnC,GAC7B,OACW,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACAy7B,EAAkBz7B,IAElBg9B,EAAQK,QAAQr9B,GACTonC,GAGFC,EAA2BrnC,EACpC,CAEA,SAASqnC,EAA2BrnC,GAClC,OAAa,KAATA,GACFg9B,EAAQK,QAAQr9B,GACTsnC,GAGLtE,EAAchjC,IAChBg9B,EAAQK,QAAQr9B,GACTqnC,GAGFJ,EAA4BjnC,EACrC,CAEA,SAASsnC,EAA6BtnC,GACpC,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,EAEOggC,EAAIhgC,GAGA,KAATA,GAAwB,KAATA,GACjBg9B,EAAQK,QAAQr9B,GAChBmd,EAASnd,EACFunC,GAGLvE,EAAchjC,IAChBg9B,EAAQK,QAAQr9B,GACTsnC,IAGTnqB,OAASnY,EACFwiC,EAA+BxnC,GACxC,CAEA,SAASunC,EAA6BvnC,GACpC,OAAIA,IAASmd,GACX6f,EAAQK,QAAQr9B,GACTynC,GAGI,OAATznC,GAAiB68B,EAAmB78B,GAC/BggC,EAAIhgC,IAGbg9B,EAAQK,QAAQr9B,GACTunC,EACT,CAEA,SAASC,EAA+BxnC,GACtC,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACAujC,EAA0BvjC,GAEnBqnC,EAA2BrnC,IAGpCg9B,EAAQK,QAAQr9B,GACTwnC,EACT,CAEA,SAASC,EAAkCznC,GACzC,OAAa,KAATA,GAAwB,KAATA,GAAegjC,EAAchjC,GACvCinC,EAA4BjnC,GAG9BggC,EAAIhgC,EACb,CAEA,SAASmnC,EAAYnnC,GACnB,OAAa,KAATA,GACFg9B,EAAQK,QAAQr9B,GACT0nC,GAGF1H,EAAIhgC,EACb,CAEA,SAAS0nC,EAAc1nC,GACrB,OAAIgjC,EAAchjC,IAChBg9B,EAAQK,QAAQr9B,GACT0nC,GAGO,OAAT1nC,GAA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CA,MACA,SACA,QACA,SACA,QACA,SACA,OACA,OACA,SACA,MACA,SACA,QACA,SACA,OACA,KACA,SACA,QACA,SACA,OACA,KACA,SACA,SACA,QACA,SACA,SACA,SACA,OACA,OACA,MACA,QACA,SACA,QACA,SACA,OACA,SACA,SACA,QACA,QACA,QACA,SACA,MACA,QACA,SACA,OACA,SACA,SACA,QACA,OACA,OACA,SACA,MACA,SACA,SACA,QACA,SACA,MACA,OACA,SACA,SACA,SACA,KACA,SACA,QACA,QACA,SACA,SACA,OACA,QACA,KACA,OACA,QACA,SACA,OACA,MACA,SACA,SACA,QACA,SACA,OACA,OACA,SACA,SACA,OACA,OACA,SACA,QACA,OACA,QACA,MACA,OACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,SACA,QACA,SACA,MACA,OACA,SACA,MACA,QC1GWC,EAA4B,CACvC,EAAG,SACH,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,UC1BA,SAASC,EAAU9+B,GACxB,MAAM9rB,EACiB,kBAAd8rB,EAAyBA,EAAUhV,WAAW,GAAKgV,EAE5D,OAAO9rB,GAAQ,IAAMA,GAAQ,EAC/B,CCLO,SAAS6qD,EAAc/+B,GAC5B,MAAM9rB,EACiB,kBAAd8rB,EAAyBA,EAAUhV,WAAW,GAAKgV,EAE5D,OACG9rB,GAAQ,IAAcA,GAAQ,KAC9BA,GAAQ,IAAcA,GAAQ,IAC9BA,GAAQ,IAAcA,GAAQ,EAEnC,CCNO,SAAS8qD,EAAiBh/B,GAC/B,OCJK,SAAwBA,GAC7B,MAAM9rB,EACiB,kBAAd8rB,EAAyBA,EAAUhV,WAAW,GAAKgV,EAE5D,OACG9rB,GAAQ,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","sources":["../../node_modules/@babel/standalone|sync","../../core/README.md","index.tsx","../../core/esm/index.js","../../node_modules/@wcj/dark-mode/dist/dark-mode.min.js","../../node_modules/babel-plugin-transform-remove-imports/lib/index.js","../../node_modules/boolbase/index.js","../../node_modules/css-selector-parser/lib/index.js","../../node_modules/css-selector-parser/lib/parser-context.js","../../node_modules/css-selector-parser/lib/render.js","../../node_modules/css-selector-parser/lib/utils.js","../../node_modules/extend/index.js","../../node_modules/inline-style-parser/index.js","../../node_modules/is-buffer/index.js","../../node_modules/markdown-react-code-preview-loader/src/utils/index.ts","../../node_modules/parse-numeric-range/index.js","../../node_modules/process/browser.js","../../node_modules/prop-types/factoryWithThrowingShims.js","../../node_modules/prop-types/index.js","../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../node_modules/react-code-preview-layout/esm/store.js","../../node_modules/react-code-preview-layout/esm/Code.js","../../node_modules/react-code-preview-layout/esm/Preview.js","../../node_modules/react-code-preview-layout/esm/icons.js","../../node_modules/react-code-preview-layout/esm/Copied.js","../../node_modules/react-code-preview-layout/esm/Toolbar.js","../../node_modules/react-code-preview-layout/esm/CodePreview.js","../../node_modules/react-code-preview-layout/esm/index.js","../../node_modules/react-is/cjs/react-is.production.min.js","../../node_modules/react-is/index.js","../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../../node_modules/dom-helpers/esm/removeClass.js","../../node_modules/react-transition-group/esm/config.js","../../node_modules/react-transition-group/esm/TransitionGroupContext.js","../../node_modules/react-transition-group/esm/utils/reflow.js","../../node_modules/react-transition-group/esm/Transition.js","../../node_modules/react-transition-group/esm/CSSTransition.js","../../node_modules/dom-helpers/esm/addClass.js","../../node_modules/dom-helpers/esm/hasClass.js","../../node_modules/remark-stringify/index.js","../../node_modules/remark-stringify/node_modules/longest-streak/index.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/index.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/configure.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/blockquote.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/break.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/code.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/definition.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/emphasis.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/heading.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/html.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/image-reference.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/image.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/index.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/inline-code.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/link-reference.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/link.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/list-item.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/list.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/paragraph.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/root.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/strong.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/text.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/handle/thematic-break.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/index.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/join.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/unsafe.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/util/association.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/util/check-bullet.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/util/check-emphasis.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/util/check-fence.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/util/check-quote.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/util/check-rule-repeat.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/util/check-rule.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/util/check-strong.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/util/container-flow.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/util/container-phrasing.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/util/format-code-as-indented.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/util/indent-lines.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/util/pattern-compile.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-markdown/lib/util/safe.js","../../node_modules/remark-stringify/node_modules/mdast-util-to-string/index.js","../../node_modules/remark-stringify/node_modules/parse-entities/decode-entity.browser.js","../../node_modules/remark-stringify/node_modules/zwitch/index.js","../../node_modules/remark/index.js","../../node_modules/remark/node_modules/bail/index.js","../../node_modules/remark/node_modules/is-plain-obj/index.js","../../node_modules/remark/node_modules/mdast-util-from-markdown/dist/index.js","../../node_modules/remark/node_modules/mdast-util-from-markdown/index.js","../../node_modules/remark/node_modules/mdast-util-to-string/index.js","../../node_modules/remark/node_modules/micromark/dist/character/ascii-alpha.js","../../node_modules/remark/node_modules/micromark/dist/character/ascii-alphanumeric.js","../../node_modules/remark/node_modules/micromark/dist/character/ascii-atext.js","../../node_modules/remark/node_modules/micromark/dist/character/ascii-control.js","../../node_modules/remark/node_modules/micromark/dist/character/ascii-digit.js","../../node_modules/remark/node_modules/micromark/dist/character/ascii-hex-digit.js","../../node_modules/remark/node_modules/micromark/dist/character/ascii-punctuation.js","../../node_modules/remark/node_modules/micromark/dist/character/markdown-line-ending-or-space.js","../../node_modules/remark/node_modules/micromark/dist/character/markdown-line-ending.js","../../node_modules/remark/node_modules/micromark/dist/character/markdown-space.js","../../node_modules/remark/node_modules/micromark/dist/character/unicode-punctuation.js","../../node_modules/remark/node_modules/micromark/dist/character/unicode-whitespace.js","../../node_modules/remark/node_modules/micromark/dist/constant/assign.js","../../node_modules/remark/node_modules/micromark/dist/constant/from-char-code.js","../../node_modules/remark/node_modules/micromark/dist/constant/has-own-property.js","../../node_modules/remark/node_modules/micromark/dist/constant/html-block-names.js","../../node_modules/remark/node_modules/micromark/dist/constant/html-raw-names.js","../../node_modules/remark/node_modules/micromark/dist/constant/splice.js","../../node_modules/remark/node_modules/micromark/dist/constant/unicode-punctuation-regex.js","../../node_modules/remark/node_modules/micromark/dist/constructs.js","../../node_modules/remark/node_modules/micromark/dist/initialize/content.js","../../node_modules/remark/node_modules/micromark/dist/initialize/document.js","../../node_modules/remark/node_modules/micromark/dist/initialize/flow.js","../../node_modules/remark/node_modules/micromark/dist/initialize/text.js","../../node_modules/remark/node_modules/micromark/dist/parse.js","../../node_modules/remark/node_modules/micromark/dist/postprocess.js","../../node_modules/remark/node_modules/micromark/dist/preprocess.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/attention.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/autolink.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/block-quote.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/character-escape.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/character-reference.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/code-fenced.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/code-indented.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/code-text.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/content.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/definition.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/factory-destination.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/factory-label.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/factory-space.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/factory-title.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/factory-whitespace.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/hard-break-escape.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/heading-atx.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/html-flow.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/html-text.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/label-end.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/label-start-image.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/label-start-link.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/line-ending.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/list.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/partial-blank-line.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/setext-underline.js","../../node_modules/remark/node_modules/micromark/dist/tokenize/thematic-break.js","../../node_modules/remark/node_modules/micromark/dist/util/chunked-push.js","../../node_modules/remark/node_modules/micromark/dist/util/chunked-splice.js","../../node_modules/remark/node_modules/micromark/dist/util/classify-character.js","../../node_modules/remark/node_modules/micromark/dist/util/combine-extensions.js","../../node_modules/remark/node_modules/micromark/dist/util/create-tokenizer.js","../../node_modules/remark/node_modules/micromark/dist/util/miniflat.js","../../node_modules/remark/node_modules/micromark/dist/util/move-point.js","../../node_modules/remark/node_modules/micromark/dist/util/normalize-identifier.js","../../node_modules/remark/node_modules/micromark/dist/util/prefix-size.js","../../node_modules/remark/node_modules/micromark/dist/util/regex-check.js","../../node_modules/remark/node_modules/micromark/dist/util/resolve-all.js","../../node_modules/remark/node_modules/micromark/dist/util/safe-from-int.js","../../node_modules/remark/node_modules/micromark/dist/util/serialize-chunks.js","../../node_modules/remark/node_modules/micromark/dist/util/shallow.js","../../node_modules/remark/node_modules/micromark/dist/util/size-chunks.js","../../node_modules/remark/node_modules/micromark/dist/util/slice-chunks.js","../../node_modules/remark/node_modules/micromark/dist/util/subtokenize.js","../../node_modules/remark/node_modules/parse-entities/decode-entity.browser.js","../../node_modules/remark/node_modules/remark-parse/index.js","../../node_modules/remark/node_modules/trough/index.js","../../node_modules/remark/node_modules/trough/wrap.js","../../node_modules/remark/node_modules/unified/index.js","../../node_modules/remark/node_modules/unist-util-stringify-position/index.js","../../node_modules/remark/node_modules/vfile-message/index.js","../../node_modules/remark/node_modules/vfile/index.js","../../node_modules/remark/node_modules/vfile/lib/core.js","../../node_modules/remark/node_modules/vfile/lib/index.js","../../node_modules/remark/node_modules/vfile/lib/minpath.browser.js","../../node_modules/remark/node_modules/vfile/lib/minproc.browser.js","../../node_modules/repeat-string/index.js","../../node_modules/scheduler/cjs/scheduler.production.min.js","../../node_modules/scheduler/index.js","../../node_modules/shallowequal/index.js","../../node_modules/style-to-object/index.js","../../node_modules/tslib/tslib.es6.mjs","../../node_modules/stylis/src/Enum.js","../../node_modules/stylis/src/Utility.js","../../node_modules/stylis/src/Tokenizer.js","../../node_modules/stylis/src/Serializer.js","../../node_modules/stylis/src/Prefixer.js","../../node_modules/stylis/src/Middleware.js","../../node_modules/stylis/src/Parser.js","../../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../../src/constants.ts","../../src/utils/empties.ts","../../src/utils/checkDynamicCreation.ts","../../src/utils/determineTheme.ts","../../src/utils/domElements.ts","../../src/utils/escape.ts","../../src/utils/generateAlphabeticName.ts","../../src/utils/hash.ts","../../src/utils/generateComponentId.ts","../../src/utils/getComponentName.ts","../../src/utils/isTag.ts","../../src/utils/hoist.ts","../../src/utils/isFunction.ts","../../src/utils/isStyledComponent.ts","../../src/utils/joinStrings.ts","../../src/utils/isPlainObject.ts","../../src/utils/mixinDeep.ts","../../src/utils/setToString.ts","../../src/utils/error.ts","../../src/sheet/GroupedTag.ts","../../src/sheet/GroupIDAllocator.ts","../../src/sheet/Rehydration.ts","../../src/utils/nonce.ts","../../src/sheet/dom.ts","../../src/sheet/Tag.ts","../../src/sheet/Sheet.ts","../../src/utils/stylis.ts","../../src/models/StyleSheetManager.tsx","../../src/models/Keyframes.ts","../../src/utils/hyphenateStyleName.ts","../../src/utils/flatten.ts","../../src/utils/addUnitIfNeeded.ts","../../src/utils/isStatelessFunction.ts","../../src/utils/isStaticRules.ts","../../src/models/ComponentStyle.ts","../../src/models/ThemeProvider.tsx","../../src/models/StyledComponent.ts","../../src/utils/generateDisplayName.ts","../../src/utils/interleave.ts","../../src/constructors/css.ts","../../src/constructors/constructWithOptions.ts","../../src/constructors/styled.tsx","../../src/models/GlobalStyle.ts","../../src/constructors/keyframes.ts","../../src/models/ServerStyleSheet.tsx","../../src/base.ts","../../node_modules/@babel/runtime/helpers/defineProperty.js","../../node_modules/@babel/runtime/helpers/toPrimitive.js","../../node_modules/@babel/runtime/helpers/toPropertyKey.js","../../node_modules/@babel/runtime/helpers/typeof.js","../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../../node_modules/@babel/runtime/helpers/esm/extends.js","../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js","../../node_modules/comma-separated-tokens/index.js","../../node_modules/decode-named-character-reference/index.dom.js","../../node_modules/hast-util-has-property/lib/index.js","../../node_modules/hast-util-heading-rank/lib/index.js","../../node_modules/hast-util-to-string/index.js","../../node_modules/hast-util-whitespace/index.js","../../node_modules/hast-util-parse-selector/lib/index.js","../../node_modules/hastscript/lib/core.js","../../node_modules/hastscript/lib/html.js","../../node_modules/micromark-core-commonmark/lib/blank-line.js","../../node_modules/micromark-factory-space/index.js","../../node_modules/micromark-util-character/lib/unicode-punctuation-regex.js","../../node_modules/micromark-util-character/index.js","../../node_modules/micromark-util-chunked/index.js","../../node_modules/micromark-util-classify-character/index.js","../../node_modules/micromark-util-combine-extensions/index.js","../../node_modules/micromark-util-decode-numeric-character-reference/index.js","../../node_modules/micromark-util-decode-string/index.js","../../node_modules/micromark-util-normalize-identifier/index.js","../../node_modules/micromark-util-resolve-all/index.js","../../node_modules/character-entities-legacy/index.js","../../node_modules/character-reference-invalid/index.js","../../node_modules/is-decimal/index.js","../../node_modules/is-hexadecimal/index.js","../../node_modules/is-alphanumerical/index.js","../../node_modules/is-alphabetical/index.js","../../node_modules/parse-entities/lib/index.js","../../node_modules/property-information/lib/util/schema.js","../../node_modules/property-information/lib/util/merge.js","../../node_modules/property-information/lib/util/create.js","../../node_modules/property-information/lib/xlink.js","../../node_modules/property-information/lib/xml.js","../../node_modules/property-information/lib/util/case-sensitive-transform.js","../../node_modules/property-information/lib/util/case-insensitive-transform.js","../../node_modules/property-information/lib/xmlns.js","../../node_modules/property-information/lib/aria.js","../../node_modules/property-information/lib/html.js","../../node_modules/property-information/lib/svg.js","../../node_modules/property-information/index.js","../../node_modules/property-information/lib/find.js","../../node_modules/property-information/lib/normalize.js","../../node_modules/property-information/lib/util/defined-info.js","../../node_modules/property-information/lib/util/info.js","../../node_modules/property-information/lib/util/types.js","../../node_modules/unist-util-stringify-position/lib/index.js","../../node_modules/vfile-message/lib/index.js","../../node_modules/vfile/lib/minpath.browser.js","../../node_modules/vfile/lib/minproc.browser.js","../../node_modules/vfile/lib/minurl.shared.js","../../node_modules/vfile/lib/minurl.browser.js","../../node_modules/vfile/lib/index.js","../../node_modules/bail/index.js","../../node_modules/unified/node_modules/is-plain-obj/index.js","../../node_modules/trough/index.js","../../node_modules/unified/lib/index.js","../../node_modules/mdast-util-to-string/lib/index.js","../../node_modules/micromark/lib/initialize/content.js","../../node_modules/micromark/lib/initialize/document.js","../../node_modules/micromark-util-subtokenize/index.js","../../node_modules/micromark-core-commonmark/lib/content.js","../../node_modules/micromark/lib/initialize/flow.js","../../node_modules/micromark/lib/initialize/text.js","../../node_modules/micromark/lib/create-tokenizer.js","../../node_modules/micromark-core-commonmark/lib/thematic-break.js","../../node_modules/micromark-core-commonmark/lib/list.js","../../node_modules/micromark-core-commonmark/lib/block-quote.js","../../node_modules/micromark-factory-destination/index.js","../../node_modules/micromark-factory-label/index.js","../../node_modules/micromark-factory-title/index.js","../../node_modules/micromark-factory-whitespace/index.js","../../node_modules/micromark-core-commonmark/lib/definition.js","../../node_modules/micromark-core-commonmark/lib/code-indented.js","../../node_modules/micromark-core-commonmark/lib/heading-atx.js","../../node_modules/micromark-core-commonmark/lib/setext-underline.js","../../node_modules/micromark-util-html-tag-name/index.js","../../node_modules/micromark-core-commonmark/lib/html-flow.js","../../node_modules/micromark-core-commonmark/lib/code-fenced.js","../../node_modules/micromark-core-commonmark/lib/character-reference.js","../../node_modules/micromark-core-commonmark/lib/character-escape.js","../../node_modules/micromark-core-commonmark/lib/line-ending.js","../../node_modules/micromark-core-commonmark/lib/label-end.js","../../node_modules/micromark-core-commonmark/lib/label-start-image.js","../../node_modules/micromark-core-commonmark/lib/attention.js","../../node_modules/micromark-core-commonmark/lib/autolink.js","../../node_modules/micromark-core-commonmark/lib/html-text.js","../../node_modules/micromark-core-commonmark/lib/label-start-link.js","../../node_modules/micromark-core-commonmark/lib/hard-break-escape.js","../../node_modules/micromark-core-commonmark/lib/code-text.js","../../node_modules/micromark/lib/constructs.js","../../node_modules/micromark/lib/preprocess.js","../../node_modules/mdast-util-from-markdown/lib/index.js","../../node_modules/micromark/lib/postprocess.js","../../node_modules/micromark/lib/parse.js","../../node_modules/remark-parse/lib/index.js","../../node_modules/micromark-util-sanitize-uri/index.js","../../node_modules/mdast-util-definitions/lib/index.js","../../node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js","../../node_modules/mdast-util-to-hast/lib/revert.js","../../node_modules/mdast-util-to-hast/lib/handlers/list-item.js","../../node_modules/trim-lines/index.js","../../node_modules/mdast-util-to-hast/lib/handlers/index.js","../../node_modules/mdast-util-to-hast/lib/handlers/blockquote.js","../../node_modules/mdast-util-to-hast/lib/handlers/break.js","../../node_modules/mdast-util-to-hast/lib/handlers/code.js","../../node_modules/mdast-util-to-hast/lib/handlers/delete.js","../../node_modules/mdast-util-to-hast/lib/handlers/emphasis.js","../../node_modules/mdast-util-to-hast/lib/handlers/footnote.js","../../node_modules/mdast-util-to-hast/lib/handlers/heading.js","../../node_modules/mdast-util-to-hast/lib/handlers/html.js","../../node_modules/mdast-util-to-hast/lib/handlers/image-reference.js","../../node_modules/mdast-util-to-hast/lib/handlers/image.js","../../node_modules/mdast-util-to-hast/lib/handlers/inline-code.js","../../node_modules/mdast-util-to-hast/lib/handlers/link-reference.js","../../node_modules/mdast-util-to-hast/lib/handlers/link.js","../../node_modules/mdast-util-to-hast/lib/handlers/list.js","../../node_modules/mdast-util-to-hast/lib/handlers/paragraph.js","../../node_modules/mdast-util-to-hast/lib/handlers/root.js","../../node_modules/mdast-util-to-hast/lib/handlers/strong.js","../../node_modules/mdast-util-to-hast/lib/handlers/table.js","../../node_modules/mdast-util-to-hast/lib/handlers/table-cell.js","../../node_modules/mdast-util-to-hast/lib/handlers/table-row.js","../../node_modules/mdast-util-to-hast/lib/handlers/text.js","../../node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js","../../node_modules/mdast-util-to-hast/lib/state.js","../../node_modules/unist-util-generated/lib/index.js","../../node_modules/mdast-util-to-hast/lib/index.js","../../node_modules/mdast-util-to-hast/lib/footer.js","../../node_modules/remark-rehype/lib/index.js","../../node_modules/react-markdown/lib/rehype-filter.js","../../node_modules/property-information/lib/hast-to-react.js","../../node_modules/style-to-object/index.mjs","../../node_modules/react-markdown/lib/uri-transformer.js","../../node_modules/react-markdown/lib/ast-to-react.js","../../node_modules/react-markdown/lib/react-markdown.js","../../node_modules/rehype-attr/src/utils.ts","../../node_modules/rehype-attr/src/index.ts","../../node_modules/hast-util-is-element/index.js","../../node_modules/rehype-autolink-headings/lib/index.js","../../node_modules/rehype-ignore/src/index.ts","../../node_modules/unist-util-filter/lib/index.js","../../src/generator.js","../../src/all.js","../../src/common.js","../../node_modules/hastscript/lib/svg-case-sensitive-tag-names.js","../../node_modules/hastscript/lib/svg.js","../../node_modules/web-namespaces/index.js","../../node_modules/hast-util-from-parse5/lib/index.js","../../node_modules/vfile-location/lib/index.js","../../node_modules/hast-util-to-parse5/lib/index.js","../../node_modules/html-void-elements/index.js","../../node_modules/hast-util-raw/lib/index.js","../../node_modules/rehype-raw/index.js","../../node_modules/direction/index.js","../../node_modules/hast-util-select/lib/enter-state.js","../../node_modules/hast-util-select/lib/attribute.js","../../node_modules/bcp-47-match/index.js","../https:/raw.githubusercontent.com/fb55/nth-check/639fd2a4000b69f82350aad8c34cb43f77e483ba/src/parse.ts","../https:/raw.githubusercontent.com/fb55/nth-check/639fd2a4000b69f82350aad8c34cb43f77e483ba/src/index.ts","../https:/raw.githubusercontent.com/fb55/nth-check/639fd2a4000b69f82350aad8c34cb43f77e483ba/src/compile.ts","../../node_modules/hast-util-select/lib/pseudo.js","../../node_modules/hast-util-select/lib/test.js","../../node_modules/hast-util-select/lib/name.js","../../node_modules/hast-util-select/lib/class-name.js","../../node_modules/hast-util-select/lib/id.js","../../node_modules/hast-util-select/lib/walk.js","../../node_modules/hast-util-select/lib/parse.js","../../node_modules/hast-util-select/lib/index.js","../../node_modules/rehype-rewrite/src/index.ts","../../node_modules/github-slugger/regex.js","../../node_modules/github-slugger/index.js","../../node_modules/rehype-slug/index.js","../../node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js","../../node_modules/micromark-extension-gfm-footnote/lib/syntax.js","../../node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js","../../node_modules/micromark-extension-gfm-table/lib/edit-map.js","../../node_modules/micromark-extension-gfm-table/lib/infer.js","../../node_modules/micromark-extension-gfm-table/lib/syntax.js","../../node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js","../../node_modules/ccount/index.js","../../node_modules/mdast-util-find-and-replace/lib/index.js","../../node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp/index.js","../../node_modules/mdast-util-gfm-autolink-literal/lib/index.js","../../node_modules/mdast-util-to-markdown/lib/util/association.js","../../node_modules/mdast-util-to-markdown/lib/util/container-flow.js","../../node_modules/mdast-util-to-markdown/lib/util/indent-lines.js","../../node_modules/mdast-util-to-markdown/lib/util/pattern-compile.js","../../node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.js","../../node_modules/mdast-util-to-markdown/lib/util/safe.js","../../node_modules/mdast-util-to-markdown/lib/util/track.js","../../node_modules/mdast-util-gfm-footnote/lib/index.js","../../node_modules/mdast-util-to-markdown/lib/util/container-phrasing.js","../../node_modules/mdast-util-gfm-strikethrough/lib/index.js","../../node_modules/mdast-util-to-markdown/lib/handle/inline-code.js","../../node_modules/markdown-table/index.js","../../node_modules/mdast-util-gfm-table/lib/index.js","../../node_modules/mdast-util-to-markdown/lib/handle/list-item.js","../../node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.js","../../node_modules/mdast-util-to-markdown/lib/util/check-bullet.js","../../node_modules/mdast-util-gfm-task-list-item/lib/index.js","../../node_modules/remark-gfm/index.js","../../node_modules/micromark-extension-gfm/index.js","../../node_modules/mdast-util-gfm/lib/index.js","../../node_modules/space-separated-tokens/index.js","../../node_modules/unist-util-is/lib/index.js","../../node_modules/unist-util-position/lib/index.js","../../node_modules/unist-util-visit-parents/lib/index.js","../../node_modules/unist-util-visit/lib/index.js","../../node_modules/zwitch/index.js","../../node_modules/uiw/node_modules/@babel/runtime/helpers/esm/extends.js","../../node_modules/uiw/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../webpack/bootstrap","../webpack/runtime/chunk loaded","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../webpack/runtime/jsonp chunk loading","../webpack/runtime/nonce","../webpack/startup"],"sourcesContent":["function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = () => ([]);\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = 363;\nmodule.exports = webpackEmptyContext;","\nexport default {\n components: { 32: (function() { \"use strict\";\n\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _reactSplit = _interopRequireDefault(require(\"@uiw/react-split\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nvar Demo = function Demo() {\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n style: {\n height: 100,\n border: '1px solid #d5d5d5',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n width: '20%',\n minWidth: 30\n }\n }, /*#__PURE__*/_react[\"default\"].createElement(\"iframe\", {\n srcDoc: \"
test
\",\n style: {\n width: '100%',\n height: '100%'\n },\n title: \"Code Preview\",\n sandbox: \"allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts\"\n })), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n width: '80%',\n minWidth: 100\n }\n }, \"Right Pane\")), /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n style: {\n height: 100,\n border: '1px solid #d5d5d5',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n minWidth: 60\n }\n }, \"test\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n minWidth: 80,\n flex: 1\n }\n }, \"Right Pane\")));\n};\nreturn Demo; })(),62: (function() { \"use strict\";\n\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _reactSplit = _interopRequireDefault(require(\"@uiw/react-split\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nvar Demo = function Demo() {\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n mode: \"vertical\",\n visible: false\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n minHeight: 45,\n background: '#dcdcdc'\n }\n }, \"Header\"), /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n visible: false\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n minWidth: 200,\n maxWidth: 200,\n minHeight: 120,\n background: '#b5b5b5'\n }\n }, \"Sider\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n width: '100%',\n background: '#ececec'\n }\n }, \"Content\")), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n minHeight: 45,\n background: '#dcdcdc'\n }\n }, \"Footer\")), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n height: 20\n }\n }), /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n visible: false\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n minWidth: 200,\n maxWidth: 200,\n minHeight: 85,\n background: '#a9a9a9'\n }\n }, \"Sider\"), /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n mode: \"vertical\",\n visible: false,\n style: {\n width: '100%'\n }\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n minHeight: 45,\n background: '#dcdcdc'\n }\n }, \"Header\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n minHeight: 85,\n background: '#b5b5b5'\n }\n }, \"Content\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n minHeight: 45,\n background: '#dcdcdc'\n }\n }, \"Footer\"))));\n};\nreturn Demo; })(),92: (function() { \"use strict\";\n\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _reactSplit = _interopRequireDefault(require(\"@uiw/react-split\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nvar Demo = function Demo() {\n return /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n style: {\n height: 100,\n border: '1px solid #d5d5d5',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, \"Left Pane\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, \"Center Pane\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, \"Center Pane\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n flex: 1\n }\n }, \"Right Pane\"));\n};\nreturn Demo; })(),109: (function() { \"use strict\";\n\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _reactSplit = _interopRequireDefault(require(\"@uiw/react-split\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nvar Demo = function Demo() {\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n lineBar: true,\n style: {\n height: 100,\n border: '1px solid #d5d5d5',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, \"Left Pane\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, \"Center Pane\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, \"Center Pane\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n flex: 1\n }\n }, \"Right Pane\")), /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n mode: \"vertical\",\n lineBar: true,\n style: {\n height: 210,\n border: '1px solid #d5d5d5',\n borderRadius: 3,\n marginTop: 10\n }\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n height: '33.3%'\n }\n }, \"Left Pane\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n height: '33.3%'\n }\n }, \"Center Pane\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n flex: 1\n }\n }, \"Right Pane\")));\n};\nreturn Demo; })(),133: (function() { \"use strict\";\n\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _reactSplit = _interopRequireDefault(require(\"@uiw/react-split\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nvar Demo = function Demo() {\n return /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n mode: \"vertical\",\n style: {\n height: 200,\n border: '1px solid #d5d5d5',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n height: '50%'\n }\n }, \"Top Pane\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n height: '50%'\n }\n }, \"Bottom Pane\"));\n};\nreturn Demo; })(),148: (function() { \"use strict\";\n\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _reactSplit = _interopRequireDefault(require(\"@uiw/react-split\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nvar Demo = function Demo() {\n return /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n style: {\n height: 200,\n border: '1px solid #d5d5d5',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n mode: \"vertical\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n height: '50%'\n }\n }, \"Top Pane\"), /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n style: {\n height: '50%'\n }\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, \"Left Pane\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n flex: 1\n }\n }, \"Right Pane\"))), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n flex: 1\n }\n }, \"Right Pane\"));\n};\nreturn Demo; })(),171: (function() { \"use strict\";\n\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _reactSplit = _interopRequireDefault(require(\"@uiw/react-split\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nvar Demo = function Demo() {\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n visiable: false,\n style: {\n height: 100,\n border: '1px solid #d5d5d5',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n maxWidth: 100,\n backgroundColor: '#eaeaea'\n }\n }, \"Left Pane\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n flex: 1\n }\n }, \"Right Pane\")), /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n visiable: [4, 5],\n style: {\n height: 100,\n border: '1px solid #d5d5d5',\n borderRadius: 3,\n marginTop: 10\n }\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n maxWidth: 50,\n backgroundColor: '#eaeaea'\n }\n }, \"Pane 1\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n maxWidth: 60\n }\n }, \"Pane 2\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, \"Pane 3\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, \"Pane 4\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n flex: 1\n }\n }, \"Pane 5\")));\n};\nreturn Demo; })(),197: (function() { \"use strict\";\n\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _reactSplit = _interopRequireDefault(require(\"@uiw/react-split\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nvar Demo = function Demo() {\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n disable: true,\n style: {\n height: 100,\n border: '1px solid #d5d5d5',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n maxWidth: 100,\n backgroundColor: '#eaeaea'\n }\n }, \"Left Pane\"), /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n disable: true,\n mode: \"vertical\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, \"Top Pane\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, \"Bottom Pane\")), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n flex: 1\n }\n }, \"Right Pane\")), /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n disable: [4, 5],\n style: {\n height: 100,\n border: '1px solid #d5d5d5',\n borderRadius: 3,\n marginTop: 10\n }\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n maxWidth: 50,\n backgroundColor: '#eaeaea'\n }\n }, \"Pane 1\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n maxWidth: 60\n }\n }, \"Pane 2\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, \"Pane 3\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, \"Pane 4\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n flex: 1\n }\n }, \"Pane 5\")));\n};\nreturn Demo; })(),227: (function() { \"use strict\";\n\nfunction _instanceof(left, right) { if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) { return !!right[Symbol.hasInstance](left); } else { return left instanceof right; } }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _reactSplit = _interopRequireDefault(require(\"@uiw/react-split\"));\nvar _uiw = require(\"uiw\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!_instanceof(instance, Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nvar Demo = /*#__PURE__*/function (_React$Component) {\n _inherits(Demo, _React$Component);\n var _super = _createSuper(Demo);\n function Demo(props) {\n var _this;\n _classCallCheck(this, Demo);\n _this = _super.call(this, props);\n _this.state = {\n width: 210\n };\n return _this;\n }\n _createClass(Demo, [{\n key: \"onClick\",\n value: function onClick() {\n this.setState({\n width: this.state.width === 0 ? 210 : 0\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var styl = {\n lineHeight: 0\n };\n if (this.state.width === 0) {\n styl.width = \"0%\";\n } else {\n styl.width = this.state.width;\n }\n return /*#__PURE__*/_react[\"default\"].createElement(_react[\"default\"].Fragment, null, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n marginBottom: 10\n }\n }, /*#__PURE__*/_react[\"default\"].createElement(_uiw.Button, {\n type: \"primary\",\n onClick: this.onClick.bind(this)\n }, this.state.width === 0 ? '隐藏菜单' : '展示菜单')), /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n lineBar: true,\n visiable: this.state.width !== 0,\n style: {\n border: '1px solid #d5d5d5',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: _objectSpread(_objectSpread({}, styl), {}, {\n overflow: 'hidden'\n })\n }, /*#__PURE__*/_react[\"default\"].createElement(_uiw.Menu, null, /*#__PURE__*/_react[\"default\"].createElement(_uiw.Menu.Item, {\n icon: \"heart-on\",\n text: \"\\u53E6\\u5B58\\u4E3A\",\n active: true\n }), /*#__PURE__*/_react[\"default\"].createElement(_uiw.Menu.Item, {\n icon: \"appstore\",\n text: \"\\u5E94\\u7528\\u5546\\u57CE\"\n }), /*#__PURE__*/_react[\"default\"].createElement(_uiw.Menu.Item, {\n icon: \"bar-chart\",\n text: \"\\u6708\\u7EDF\\u8BA1\\u62A5\\u8868\\u5BFC\\u51FA\"\n }), /*#__PURE__*/_react[\"default\"].createElement(_uiw.Menu.Item, {\n icon: \"setting\",\n text: \"\\u504F\\u597D\\u8BBE\\u7F6E\"\n }), /*#__PURE__*/_react[\"default\"].createElement(_uiw.Menu.Divider, null), /*#__PURE__*/_react[\"default\"].createElement(_uiw.Menu.Item, {\n icon: \"map\",\n text: \"\\u8C37\\u6B4C\\u5730\\u56FE\"\n }))), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n flex: 1,\n minWidth: 30\n }\n }, \"Right Pane\")));\n }\n }]);\n return Demo;\n}(_react[\"default\"].Component);\nreturn Demo; })(),280: (function() { \"use strict\";\n\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _reactSplit = _interopRequireDefault(require(\"@uiw/react-split\"));\nvar _excluded = [\"onMouseDown\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nvar Demo = function Demo() {\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, /*#__PURE__*/_react[\"default\"].createElement(_reactSplit[\"default\"], {\n renderBar: function renderBar(_ref) {\n var onMouseDown = _ref.onMouseDown,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({}, props, {\n style: {\n boxShadow: 'none',\n background: 'transparent'\n }\n }), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n onMouseDown: onMouseDown,\n style: {\n backgroundColor: '#ff000057',\n boxShadow: 'none'\n }\n }));\n },\n style: {\n height: 100,\n border: '1px solid #d5d5d5',\n borderRadius: 3\n }\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n minWidth: 60\n }\n }, \"test\"), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n minWidth: 80,\n flex: 1\n }\n }, \"Right Pane\")));\n};\nreturn Demo; })(), },\n data: {\n \"32\": {\n \"name\": 32,\n \"meta\": {\n \"background\": \"#fff\",\n \"codeSandbox\": \"true\",\n \"codePen\": \"true\"\n },\n \"code\": \"\\\"use strict\\\";\\n\\nvar _react = _interopRequireDefault(require(\\\"react\\\"));\\nvar _reactSplit = _interopRequireDefault(require(\\\"@uiw/react-split\\\"));\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \\\"default\\\": obj }; }\\nvar Demo = function Demo() {\\n return /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n style: {\\n height: 100,\\n border: '1px solid #d5d5d5',\\n borderRadius: 3\\n }\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n width: '20%',\\n minWidth: 30\\n }\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"iframe\\\", {\\n srcDoc: \\\"
test
\\\",\\n style: {\\n width: '100%',\\n height: '100%'\\n },\\n title: \\\"Code Preview\\\",\\n sandbox: \\\"allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts\\\"\\n })), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n width: '80%',\\n minWidth: 100\\n }\\n }, \\\"Right Pane\\\")), /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n style: {\\n height: 100,\\n border: '1px solid #d5d5d5',\\n borderRadius: 3\\n }\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n minWidth: 60\\n }\\n }, \\\"test\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n minWidth: 80,\\n flex: 1\\n }\\n }, \\\"Right Pane\\\")));\\n};\\nreturn Demo;\",\n \"language\": \"jsx\",\n \"value\": \"import React from 'react';\\nimport Split from '@uiw/react-split';\\n\\nconst Demo = () => (\\n
\\n \\n
\\n test
\\\"\\n style={{ width: '100%', height: '100%' }}\\n title=\\\"Code Preview\\\"\\n sandbox=\\\"allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts\\\"\\n />\\n
\\n
Right Pane
\\n \\n \\n
test
\\n
Right Pane
\\n
\\n
\\n);\\nexport default Demo;\"\n },\n \"62\": {\n \"name\": 62,\n \"meta\": {\n \"background\": \"#fff\",\n \"codeSandbox\": \"true\",\n \"codePen\": \"true\"\n },\n \"code\": \"\\\"use strict\\\";\\n\\nvar _react = _interopRequireDefault(require(\\\"react\\\"));\\nvar _reactSplit = _interopRequireDefault(require(\\\"@uiw/react-split\\\"));\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \\\"default\\\": obj }; }\\nvar Demo = function Demo() {\\n return /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n mode: \\\"vertical\\\",\\n visible: false\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n minHeight: 45,\\n background: '#dcdcdc'\\n }\\n }, \\\"Header\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n visible: false\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n minWidth: 200,\\n maxWidth: 200,\\n minHeight: 120,\\n background: '#b5b5b5'\\n }\\n }, \\\"Sider\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n width: '100%',\\n background: '#ececec'\\n }\\n }, \\\"Content\\\")), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n minHeight: 45,\\n background: '#dcdcdc'\\n }\\n }, \\\"Footer\\\")), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n height: 20\\n }\\n }), /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n visible: false\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n minWidth: 200,\\n maxWidth: 200,\\n minHeight: 85,\\n background: '#a9a9a9'\\n }\\n }, \\\"Sider\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n mode: \\\"vertical\\\",\\n visible: false,\\n style: {\\n width: '100%'\\n }\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n minHeight: 45,\\n background: '#dcdcdc'\\n }\\n }, \\\"Header\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n minHeight: 85,\\n background: '#b5b5b5'\\n }\\n }, \\\"Content\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n minHeight: 45,\\n background: '#dcdcdc'\\n }\\n }, \\\"Footer\\\"))));\\n};\\nreturn Demo;\",\n \"language\": \"jsx\",\n \"value\": \"import React from 'react';\\nimport Split from '@uiw/react-split';\\n\\nconst Demo = () => (\\n
\\n \\n
Header
\\n \\n
Sider
\\n
Content
\\n
\\n
Footer
\\n
\\n
\\n \\n
Sider
\\n \\n
Header
\\n
Content
\\n
Footer
\\n
\\n
\\n
\\n);\\nexport default Demo;\"\n },\n \"92\": {\n \"name\": 92,\n \"meta\": {\n \"background\": \"#fff\",\n \"codeSandbox\": \"true\",\n \"codePen\": \"true\"\n },\n \"code\": \"\\\"use strict\\\";\\n\\nvar _react = _interopRequireDefault(require(\\\"react\\\"));\\nvar _reactSplit = _interopRequireDefault(require(\\\"@uiw/react-split\\\"));\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \\\"default\\\": obj }; }\\nvar Demo = function Demo() {\\n return /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n style: {\\n height: 100,\\n border: '1px solid #d5d5d5',\\n borderRadius: 3\\n }\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, \\\"Left Pane\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, \\\"Center Pane\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, \\\"Center Pane\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n flex: 1\\n }\\n }, \\\"Right Pane\\\"));\\n};\\nreturn Demo;\",\n \"language\": \"jsx\",\n \"value\": \"import React from 'react';\\nimport Split from '@uiw/react-split';\\n\\nconst Demo = () => (\\n \\n
Left Pane
\\n
Center Pane
\\n
Center Pane
\\n
Right Pane
\\n
\\n);\\nexport default Demo;\"\n },\n \"109\": {\n \"name\": 109,\n \"meta\": {\n \"background\": \"#fff\",\n \"codeSandbox\": \"true\",\n \"codePen\": \"true\"\n },\n \"code\": \"\\\"use strict\\\";\\n\\nvar _react = _interopRequireDefault(require(\\\"react\\\"));\\nvar _reactSplit = _interopRequireDefault(require(\\\"@uiw/react-split\\\"));\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \\\"default\\\": obj }; }\\nvar Demo = function Demo() {\\n return /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n lineBar: true,\\n style: {\\n height: 100,\\n border: '1px solid #d5d5d5',\\n borderRadius: 3\\n }\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, \\\"Left Pane\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, \\\"Center Pane\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, \\\"Center Pane\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n flex: 1\\n }\\n }, \\\"Right Pane\\\")), /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n mode: \\\"vertical\\\",\\n lineBar: true,\\n style: {\\n height: 210,\\n border: '1px solid #d5d5d5',\\n borderRadius: 3,\\n marginTop: 10\\n }\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n height: '33.3%'\\n }\\n }, \\\"Left Pane\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n height: '33.3%'\\n }\\n }, \\\"Center Pane\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n flex: 1\\n }\\n }, \\\"Right Pane\\\")));\\n};\\nreturn Demo;\",\n \"language\": \"jsx\",\n \"value\": \"import React from 'react';\\nimport Split from '@uiw/react-split';\\n\\nconst Demo = () => (\\n
\\n \\n
Left Pane
\\n
Center Pane
\\n
Center Pane
\\n
Right Pane
\\n
\\n \\n
Left Pane
\\n
Center Pane
\\n
Right Pane
\\n
\\n
\\n);\\nexport default Demo;\"\n },\n \"133\": {\n \"name\": 133,\n \"meta\": {\n \"background\": \"#fff\",\n \"codeSandbox\": \"true\",\n \"codePen\": \"true\"\n },\n \"code\": \"\\\"use strict\\\";\\n\\nvar _react = _interopRequireDefault(require(\\\"react\\\"));\\nvar _reactSplit = _interopRequireDefault(require(\\\"@uiw/react-split\\\"));\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \\\"default\\\": obj }; }\\nvar Demo = function Demo() {\\n return /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n mode: \\\"vertical\\\",\\n style: {\\n height: 200,\\n border: '1px solid #d5d5d5',\\n borderRadius: 3\\n }\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n height: '50%'\\n }\\n }, \\\"Top Pane\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n height: '50%'\\n }\\n }, \\\"Bottom Pane\\\"));\\n};\\nreturn Demo;\",\n \"language\": \"jsx\",\n \"value\": \"import React from 'react';\\nimport Split from '@uiw/react-split';\\n\\nconst Demo = () => (\\n \\n
Top Pane
\\n
Bottom Pane
\\n
\\n);\\nexport default Demo;\"\n },\n \"148\": {\n \"name\": 148,\n \"meta\": {\n \"background\": \"#fff\",\n \"codeSandbox\": \"true\",\n \"codePen\": \"true\"\n },\n \"code\": \"\\\"use strict\\\";\\n\\nvar _react = _interopRequireDefault(require(\\\"react\\\"));\\nvar _reactSplit = _interopRequireDefault(require(\\\"@uiw/react-split\\\"));\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \\\"default\\\": obj }; }\\nvar Demo = function Demo() {\\n return /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n style: {\\n height: 200,\\n border: '1px solid #d5d5d5',\\n borderRadius: 3\\n }\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n mode: \\\"vertical\\\"\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n height: '50%'\\n }\\n }, \\\"Top Pane\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n style: {\\n height: '50%'\\n }\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, \\\"Left Pane\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n flex: 1\\n }\\n }, \\\"Right Pane\\\"))), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n flex: 1\\n }\\n }, \\\"Right Pane\\\"));\\n};\\nreturn Demo;\",\n \"language\": \"jsx\",\n \"value\": \"import React from 'react';\\nimport Split from '@uiw/react-split';\\n\\nconst Demo = () => (\\n \\n \\n
Top Pane
\\n \\n
Left Pane
\\n
Right Pane
\\n
\\n
\\n
Right Pane
\\n
\\n);\\nexport default Demo;\"\n },\n \"171\": {\n \"name\": 171,\n \"meta\": {\n \"background\": \"#fff\",\n \"codeSandbox\": \"true\",\n \"codePen\": \"true\"\n },\n \"code\": \"\\\"use strict\\\";\\n\\nvar _react = _interopRequireDefault(require(\\\"react\\\"));\\nvar _reactSplit = _interopRequireDefault(require(\\\"@uiw/react-split\\\"));\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \\\"default\\\": obj }; }\\nvar Demo = function Demo() {\\n return /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n visiable: false,\\n style: {\\n height: 100,\\n border: '1px solid #d5d5d5',\\n borderRadius: 3\\n }\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n maxWidth: 100,\\n backgroundColor: '#eaeaea'\\n }\\n }, \\\"Left Pane\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n flex: 1\\n }\\n }, \\\"Right Pane\\\")), /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n visiable: [4, 5],\\n style: {\\n height: 100,\\n border: '1px solid #d5d5d5',\\n borderRadius: 3,\\n marginTop: 10\\n }\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n maxWidth: 50,\\n backgroundColor: '#eaeaea'\\n }\\n }, \\\"Pane 1\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n maxWidth: 60\\n }\\n }, \\\"Pane 2\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, \\\"Pane 3\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, \\\"Pane 4\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n flex: 1\\n }\\n }, \\\"Pane 5\\\")));\\n};\\nreturn Demo;\",\n \"language\": \"jsx\",\n \"value\": \"import React from 'react';\\nimport Split from '@uiw/react-split';\\n\\nconst Demo = () => (\\n
\\n \\n
Left Pane
\\n
Right Pane
\\n
\\n \\n
Pane 1
\\n
Pane 2
\\n
Pane 3
\\n
Pane 4
\\n
Pane 5
\\n
\\n
\\n);\\nexport default Demo;\"\n },\n \"197\": {\n \"name\": 197,\n \"meta\": {\n \"background\": \"#fff\",\n \"codeSandbox\": \"true\",\n \"codePen\": \"true\"\n },\n \"code\": \"\\\"use strict\\\";\\n\\nvar _react = _interopRequireDefault(require(\\\"react\\\"));\\nvar _reactSplit = _interopRequireDefault(require(\\\"@uiw/react-split\\\"));\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \\\"default\\\": obj }; }\\nvar Demo = function Demo() {\\n return /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n disable: true,\\n style: {\\n height: 100,\\n border: '1px solid #d5d5d5',\\n borderRadius: 3\\n }\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n maxWidth: 100,\\n backgroundColor: '#eaeaea'\\n }\\n }, \\\"Left Pane\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n disable: true,\\n mode: \\\"vertical\\\"\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, \\\"Top Pane\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, \\\"Bottom Pane\\\")), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n flex: 1\\n }\\n }, \\\"Right Pane\\\")), /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n disable: [4, 5],\\n style: {\\n height: 100,\\n border: '1px solid #d5d5d5',\\n borderRadius: 3,\\n marginTop: 10\\n }\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n maxWidth: 50,\\n backgroundColor: '#eaeaea'\\n }\\n }, \\\"Pane 1\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n maxWidth: 60\\n }\\n }, \\\"Pane 2\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, \\\"Pane 3\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, \\\"Pane 4\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n flex: 1\\n }\\n }, \\\"Pane 5\\\")));\\n};\\nreturn Demo;\",\n \"language\": \"jsx\",\n \"value\": \"import React from 'react';\\nimport Split from '@uiw/react-split';\\n\\nconst Demo = () => (\\n
\\n \\n
Left Pane
\\n \\n
Top Pane
\\n
Bottom Pane
\\n
\\n
Right Pane
\\n
\\n \\n
Pane 1
\\n
Pane 2
\\n
Pane 3
\\n
Pane 4
\\n
Pane 5
\\n
\\n
\\n);\\nexport default Demo;\"\n },\n \"227\": {\n \"name\": 227,\n \"meta\": {\n \"background\": \"#fff\",\n \"codeSandbox\": \"true\",\n \"codePen\": \"true\"\n },\n \"code\": \"\\\"use strict\\\";\\n\\nfunction _instanceof(left, right) { if (right != null && typeof Symbol !== \\\"undefined\\\" && right[Symbol.hasInstance]) { return !!right[Symbol.hasInstance](left); } else { return left instanceof right; } }\\nfunction _typeof(o) { \\\"@babel/helpers - typeof\\\"; return _typeof = \\\"function\\\" == typeof Symbol && \\\"symbol\\\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \\\"function\\\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \\\"symbol\\\" : typeof o; }, _typeof(o); }\\nvar _react = _interopRequireDefault(require(\\\"react\\\"));\\nvar _reactSplit = _interopRequireDefault(require(\\\"@uiw/react-split\\\"));\\nvar _uiw = require(\\\"uiw\\\");\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \\\"default\\\": obj }; }\\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\\nfunction _classCallCheck(instance, Constructor) { if (!_instanceof(instance, Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \\\"prototype\\\", { writable: false }); return Constructor; }\\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \\\"string\\\"); return _typeof(key) === \\\"symbol\\\" ? key : String(key); }\\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \\\"object\\\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \\\"default\\\"); if (_typeof(res) !== \\\"object\\\") return res; throw new TypeError(\\\"@@toPrimitive must return a primitive value.\\\"); } return (hint === \\\"string\\\" ? String : Number)(input); }\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function\\\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \\\"prototype\\\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \\\"object\\\" || typeof call === \\\"function\\\")) { return call; } else if (call !== void 0) { throw new TypeError(\\\"Derived constructors may only return object or undefined\\\"); } return _assertThisInitialized(self); }\\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return self; }\\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \\\"undefined\\\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \\\"function\\\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\\nvar Demo = /*#__PURE__*/function (_React$Component) {\\n _inherits(Demo, _React$Component);\\n var _super = _createSuper(Demo);\\n function Demo(props) {\\n var _this;\\n _classCallCheck(this, Demo);\\n _this = _super.call(this, props);\\n _this.state = {\\n width: 210\\n };\\n return _this;\\n }\\n _createClass(Demo, [{\\n key: \\\"onClick\\\",\\n value: function onClick() {\\n this.setState({\\n width: this.state.width === 0 ? 210 : 0\\n });\\n }\\n }, {\\n key: \\\"render\\\",\\n value: function render() {\\n var styl = {\\n lineHeight: 0\\n };\\n if (this.state.width === 0) {\\n styl.width = \\\"0%\\\";\\n } else {\\n styl.width = this.state.width;\\n }\\n return /*#__PURE__*/_react[\\\"default\\\"].createElement(_react[\\\"default\\\"].Fragment, null, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n marginBottom: 10\\n }\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(_uiw.Button, {\\n type: \\\"primary\\\",\\n onClick: this.onClick.bind(this)\\n }, this.state.width === 0 ? '隐藏菜单' : '展示菜单')), /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n lineBar: true,\\n visiable: this.state.width !== 0,\\n style: {\\n border: '1px solid #d5d5d5',\\n borderRadius: 3\\n }\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: _objectSpread(_objectSpread({}, styl), {}, {\\n overflow: 'hidden'\\n })\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(_uiw.Menu, null, /*#__PURE__*/_react[\\\"default\\\"].createElement(_uiw.Menu.Item, {\\n icon: \\\"heart-on\\\",\\n text: \\\"\\\\u53E6\\\\u5B58\\\\u4E3A\\\",\\n active: true\\n }), /*#__PURE__*/_react[\\\"default\\\"].createElement(_uiw.Menu.Item, {\\n icon: \\\"appstore\\\",\\n text: \\\"\\\\u5E94\\\\u7528\\\\u5546\\\\u57CE\\\"\\n }), /*#__PURE__*/_react[\\\"default\\\"].createElement(_uiw.Menu.Item, {\\n icon: \\\"bar-chart\\\",\\n text: \\\"\\\\u6708\\\\u7EDF\\\\u8BA1\\\\u62A5\\\\u8868\\\\u5BFC\\\\u51FA\\\"\\n }), /*#__PURE__*/_react[\\\"default\\\"].createElement(_uiw.Menu.Item, {\\n icon: \\\"setting\\\",\\n text: \\\"\\\\u504F\\\\u597D\\\\u8BBE\\\\u7F6E\\\"\\n }), /*#__PURE__*/_react[\\\"default\\\"].createElement(_uiw.Menu.Divider, null), /*#__PURE__*/_react[\\\"default\\\"].createElement(_uiw.Menu.Item, {\\n icon: \\\"map\\\",\\n text: \\\"\\\\u8C37\\\\u6B4C\\\\u5730\\\\u56FE\\\"\\n }))), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n flex: 1,\\n minWidth: 30\\n }\\n }, \\\"Right Pane\\\")));\\n }\\n }]);\\n return Demo;\\n}(_react[\\\"default\\\"].Component);\\nreturn Demo;\",\n \"language\": \"jsx\",\n \"value\": \"import React from 'react';\\nimport Split from '@uiw/react-split';\\nimport { Menu, Button } from 'uiw';\\n\\nclass Demo extends React.Component {\\n constructor(props) {\\n super(props);\\n this.state = {\\n width: 210,\\n };\\n }\\n onClick() {\\n this.setState({\\n width: this.state.width === 0 ? 210 : 0,\\n });\\n }\\n render() {\\n const styl = { lineHeight: 0 };\\n if (this.state.width === 0) {\\n styl.width = `0%`;\\n } else {\\n styl.width = this.state.width;\\n }\\n return (\\n <>\\n
\\n \\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
Right Pane
\\n
\\n \\n );\\n }\\n}\\nexport default Demo;\"\n },\n \"280\": {\n \"name\": 280,\n \"meta\": {\n \"background\": \"#fff\",\n \"codeSandbox\": \"true\",\n \"codePen\": \"true\"\n },\n \"code\": \"\\\"use strict\\\";\\n\\nvar _react = _interopRequireDefault(require(\\\"react\\\"));\\nvar _reactSplit = _interopRequireDefault(require(\\\"@uiw/react-split\\\"));\\nvar _excluded = [\\\"onMouseDown\\\"];\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \\\"default\\\": obj }; }\\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\\nvar Demo = function Demo() {\\n return /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactSplit[\\\"default\\\"], {\\n renderBar: function renderBar(_ref) {\\n var onMouseDown = _ref.onMouseDown,\\n props = _objectWithoutProperties(_ref, _excluded);\\n return /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", _extends({}, props, {\\n style: {\\n boxShadow: 'none',\\n background: 'transparent'\\n }\\n }), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n onMouseDown: onMouseDown,\\n style: {\\n backgroundColor: '#ff000057',\\n boxShadow: 'none'\\n }\\n }));\\n },\\n style: {\\n height: 100,\\n border: '1px solid #d5d5d5',\\n borderRadius: 3\\n }\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n minWidth: 60\\n }\\n }, \\\"test\\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n minWidth: 80,\\n flex: 1\\n }\\n }, \\\"Right Pane\\\")));\\n};\\nreturn Demo;\",\n \"language\": \"jsx\",\n \"value\": \"import React from 'react';\\nimport Split from '@uiw/react-split';\\n\\nconst Demo = () => (\\n
\\n {\\n return (\\n
\\n
\\n
\\n );\\n }}\\n style={{ height: 100, border: '1px solid #d5d5d5', borderRadius: 3 }}\\n >\\n
test
\\n
Right Pane
\\n \\n
\\n);\\nexport default Demo;\"\n }\n},\n source: \"# Split\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![NPM Downloads](https://img.shields.io/npm/dm/@uiw/react-split.svg?style=flat)](https://www.npmjs.com/package/@uiw/react-split)\\n[![Build & Deploy](https://github.com/uiwjs/react-split/actions/workflows/ci.yml/badge.svg)](https://github.com/uiwjs/react-split/actions/workflows/ci.yml)\\n[![Open in unpkg](https://img.shields.io/badge/Open%20in-unpkg-blue)](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-split/file/README.md)\\n[![npm version](https://img.shields.io/npm/v/@uiw/react-split.svg)](https://www.npmjs.com/package/@uiw/react-split)\\n[![Coverage Status](https://uiwjs.github.io/react-split/badges.svg)](https://uiwjs.github.io/react-split/coverage/lcov-report/)\\n[![Open in Gitpod](https://shields.io/badge/Open%20in-Gitpod-green?logo=Gitpod)](https://gitpod.io/#https://github.com/uiwjs/react-split)\\n[![Repo Dependents](https://badgen.net/github/dependents-repo/uiwjs/react-split)](https://github.com/uiwjs/react-split/network/dependents)\\n\\nA piece of content can be divided into areas that can be dragged to adjust the width or height.\\n\\n```jsx\\nimport { Split } from 'uiw';\\n```\\n\\n`@uiw/react-split` extracted from the component library `uiw` can be used alone.\\n\\n```jsx\\nimport Split from '@uiw/react-split';\\n```\\n\\n### Basic usage\\n\\n> ~~By setting the `minWidth` style of the child node, you can set the minimum drag width value. By setting the child node style `flexBasis` style, you can set the proportion width of the default split content.~~\\n\\n- Fixed initial width or height, which can be calculated by setting the child node, style `width: '80%'` to 100% width.\\n- Drag to the minimum width, you can achieve the effect by setting the child node style `minWidth: 30`.\\n- By default, the style `width` is not set, and a child node style needs to be set to `flex: 1` to adapt\\n\\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\\nimport React from 'react';\\nimport Split from '@uiw/react-split';\\n\\nconst Demo = () => (\\n
\\n \\n
\\n test
\\\"\\n style={{ width: '100%', height: '100%' }}\\n title=\\\"Code Preview\\\"\\n sandbox=\\\"allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts\\\"\\n />\\n
\\n
Right Pane
\\n \\n \\n
test
\\n
Right Pane
\\n
\\n
\\n);\\nexport default Demo;\\n```\\n\\n### Available for layout\\n\\nSetting `visible={false}` disables the drag bar, which can be used for layout.\\n\\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\\nimport React from 'react';\\nimport Split from '@uiw/react-split';\\n\\nconst Demo = () => (\\n
\\n \\n
Header
\\n \\n
Sider
\\n
Content
\\n
\\n
Footer
\\n
\\n
\\n \\n
Sider
\\n \\n
Header
\\n
Content
\\n
Footer
\\n
\\n
\\n
\\n);\\nexport default Demo;\\n```\\n\\n### multi-column split\\n\\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\\nimport React from 'react';\\nimport Split from '@uiw/react-split';\\n\\nconst Demo = () => (\\n \\n
Left Pane
\\n
Center Pane
\\n
Center Pane
\\n
Right Pane
\\n
\\n);\\nexport default Demo;\\n```\\n\\n### line drag\\n\\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\\nimport React from 'react';\\nimport Split from '@uiw/react-split';\\n\\nconst Demo = () => (\\n
\\n \\n
Left Pane
\\n
Center Pane
\\n
Center Pane
\\n
Right Pane
\\n
\\n \\n
Left Pane
\\n
Center Pane
\\n
Right Pane
\\n
\\n
\\n);\\nexport default Demo;\\n```\\n\\n### vertical split\\n\\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\\nimport React from 'react';\\nimport Split from '@uiw/react-split';\\n\\nconst Demo = () => (\\n \\n
Top Pane
\\n
Bottom Pane
\\n
\\n);\\nexport default Demo;\\n```\\n\\n### nested use\\n\\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\\nimport React from 'react';\\nimport Split from '@uiw/react-split';\\n\\nconst Demo = () => (\\n \\n \\n
Top Pane
\\n \\n
Left Pane
\\n
Right Pane
\\n
\\n
\\n
Right Pane
\\n
\\n);\\nexport default Demo;\\n```\\n\\n### Drag tool not showing\\n\\nThe following example sets whether the drag tool is visible by setting the value of `visiable`.\\n\\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\\nimport React from 'react';\\nimport Split from '@uiw/react-split';\\n\\nconst Demo = () => (\\n
\\n \\n
Left Pane
\\n
Right Pane
\\n
\\n \\n
Pane 1
\\n
Pane 2
\\n
Pane 3
\\n
Pane 4
\\n
Pane 5
\\n
\\n
\\n);\\nexport default Demo;\\n```\\n\\n### Disable drag and drop\\n\\nDisable drag tool dragging by setting the value of `disable`.\\n\\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\\nimport React from 'react';\\nimport Split from '@uiw/react-split';\\n\\nconst Demo = () => (\\n
\\n \\n
Left Pane
\\n \\n
Top Pane
\\n
Bottom Pane
\\n
\\n
Right Pane
\\n
\\n \\n
Pane 1
\\n
Pane 2
\\n
Pane 3
\\n
Pane 4
\\n
Pane 5
\\n
\\n
\\n);\\nexport default Demo;\\n```\\n\\n### drawer\\n\\nDraggable left column width.\\n\\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\\nimport React from 'react';\\nimport Split from '@uiw/react-split';\\nimport { Menu, Button } from 'uiw';\\n\\nclass Demo extends React.Component {\\n constructor(props) {\\n super(props);\\n this.state = {\\n width: 210,\\n };\\n }\\n onClick() {\\n this.setState({\\n width: this.state.width === 0 ? 210 : 0,\\n });\\n }\\n render() {\\n const styl = { lineHeight: 0 };\\n if (this.state.width === 0) {\\n styl.width = `0%`;\\n } else {\\n styl.width = this.state.width;\\n }\\n return (\\n <>\\n
\\n \\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
Right Pane
\\n
\\n \\n );\\n }\\n}\\nexport default Demo;\\n```\\n\\n### Support custom drag and drop toolbar\\n\\n```jsx mdx:preview&background=#fff&codeSandbox=true&codePen=true\\nimport React from 'react';\\nimport Split from '@uiw/react-split';\\n\\nconst Demo = () => (\\n
\\n {\\n return (\\n
\\n
\\n
\\n );\\n }}\\n style={{ height: 100, border: '1px solid #d5d5d5', borderRadius: 3 }}\\n >\\n
test
\\n
Right Pane
\\n \\n
\\n);\\nexport default Demo;\\n```\\n\\n## Props\\n\\n```ts\\nexport interface SplitProps extends Omit, 'onDragEnd'> {\\n style?: React.CSSProperties;\\n className?: string;\\n prefixCls?: string;\\n /**\\n * Drag width/height change callback function,\\n * the width or height is determined according to the mode parameter\\n */\\n onDragging?: (preSize: number, nextSize: number, paneNumber: number) => void;\\n /** Callback function for dragging end */\\n onDragEnd?: (preSize: number, nextSize: number, paneNumber: number) => void;\\n /** Support custom drag and drop toolbar */\\n renderBar?: (props: React.HTMLAttributes) => JSX.Element;\\n /** Set the drag and drop toolbar as a line style. */\\n lineBar?: boolean;\\n /** Set the dragged toolbar, whether it is visible or not */\\n visible?: boolean | number[];\\n /**\\n * @deprecated Use `visible` instead\\n */\\n visiable?: boolean | number[];\\n /**\\n * Set the drag and drop toolbar, disable\\n */\\n disable?: boolean | number[];\\n /**\\n * type, optional `horizontal` or `vertical`\\n */\\n mode?: 'horizontal' | 'vertical';\\n}\\n```\\n\\n## Development\\n\\nRuns the project in development mode.\\n\\n```bash\\n# Step 1, run first, listen to the component compile and output the .js file\\nnpm run watch\\nnpm run build\\n# Step 2, development mode, listen to compile preview website instance\\nnpm run doc\\n```\\n\\n**production**\\n\\nBuilds the app for production to the build folder.\\n\\n```bash\\nnpm run released\\n```\\n\\nThe build is minified and the filenames include the hashes.\\nYour app is ready to be deployed!\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n### License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }","import { createRoot } from 'react-dom/client';\nimport MarkdownPreviewExample from '@uiw/react-markdown-preview-example';\nimport data from '@uiw/react-split/README.md';\n\nconst Github = MarkdownPreviewExample.Github;\n\nconst container = document.getElementById('root');\nconst root = createRoot(container!);\nroot.render(\n \n \n ,\n);\n","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\", \"mode\", \"visiable\", \"visible\", \"renderBar\", \"lineBar\", \"disable\", \"onDragEnd\", \"onDragging\"];\nimport React from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default class Split extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n dragging: false\n };\n this.warpper = void 0;\n this.paneNumber = void 0;\n this.startX = void 0;\n this.startY = void 0;\n this.move = void 0;\n this.target = void 0;\n this.boxWidth = void 0;\n this.boxHeight = void 0;\n this.preWidth = void 0;\n this.nextWidth = void 0;\n this.preHeight = void 0;\n this.nextHeight = void 0;\n this.preSize = void 0;\n this.nextSize = void 0;\n this.onDragEnd = this.onDragEnd.bind(this);\n this.onDragging = this.onDragging.bind(this);\n }\n componentWillUnmount() {\n this.removeEvent();\n }\n removeEvent() {\n window.removeEventListener('mousemove', this.onDragging, false);\n window.removeEventListener('mouseup', this.onDragEnd, false);\n }\n onMouseDown(paneNumber, env) {\n if (!env.target || !this.warpper) {\n return;\n }\n this.paneNumber = paneNumber;\n this.startX = env.clientX;\n this.startY = env.clientY;\n this.move = true;\n this.target = env.target.parentNode;\n var prevTarget = this.target.previousElementSibling;\n var nextTarget = this.target.nextElementSibling;\n this.boxWidth = this.warpper.clientWidth;\n this.boxHeight = this.warpper.clientHeight;\n if (prevTarget) {\n this.preWidth = prevTarget.clientWidth;\n this.preHeight = prevTarget.clientHeight;\n }\n if (nextTarget) {\n this.nextWidth = nextTarget.clientWidth;\n this.nextHeight = nextTarget.clientHeight;\n }\n window.addEventListener('mousemove', this.onDragging);\n window.addEventListener('mouseup', this.onDragEnd, false);\n this.setState({\n dragging: true\n });\n }\n onDragging(env) {\n if (!this.move) {\n return;\n }\n if (!this.state.dragging) {\n this.setState({\n dragging: true\n });\n }\n var {\n mode,\n onDragging\n } = this.props;\n var nextTarget = this.target.nextElementSibling;\n var prevTarget = this.target.previousElementSibling;\n var x = env.clientX - this.startX;\n var y = env.clientY - this.startY;\n this.preSize = 0;\n this.nextSize = 0;\n if (mode === 'horizontal') {\n this.preSize = this.preWidth + x > -1 ? this.preWidth + x : 0;\n this.nextSize = this.nextWidth - x > -1 ? this.nextWidth - x : 0;\n if (this.preSize === 0 || this.nextSize === 0) {\n return;\n }\n this.preSize = (this.preSize / this.boxWidth >= 1 ? 1 : this.preSize / this.boxWidth) * 100;\n this.nextSize = (this.nextSize / this.boxWidth >= 1 ? 1 : this.nextSize / this.boxWidth) * 100;\n if (prevTarget && nextTarget) {\n prevTarget.style.width = this.preSize + \"%\";\n nextTarget.style.width = this.nextSize + \"%\";\n }\n }\n if (mode === 'vertical' && this.preHeight + y > -1 && this.nextHeight - y > -1) {\n this.preSize = this.preHeight + y > -1 ? this.preHeight + y : 0;\n this.nextSize = this.nextHeight - y > -1 ? this.nextHeight - y : 0;\n this.preSize = (this.preSize / this.boxHeight >= 1 ? 1 : this.preSize / this.boxHeight) * 100;\n this.nextSize = (this.nextSize / this.boxHeight >= 1 ? 1 : this.nextSize / this.boxHeight) * 100;\n if (this.preSize === 0 || this.nextSize === 0) {\n return;\n }\n if (prevTarget && nextTarget) {\n prevTarget.style.height = this.preSize + \"%\";\n nextTarget.style.height = this.nextSize + \"%\";\n }\n }\n onDragging && onDragging(this.preSize, this.nextSize, this.paneNumber);\n }\n onDragEnd() {\n var {\n onDragEnd\n } = this.props;\n this.move = false;\n onDragEnd && onDragEnd(this.preSize, this.nextSize, this.paneNumber);\n this.removeEvent();\n this.setState({\n dragging: false\n });\n }\n render() {\n var _this$props$visible;\n var _this$props = this.props,\n {\n prefixCls,\n className,\n children,\n mode,\n visible = (_this$props$visible = this.props.visible) != null ? _this$props$visible : this.props.visiable,\n renderBar,\n lineBar,\n disable\n } = _this$props,\n other = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var {\n dragging\n } = this.state;\n var cls = [prefixCls, className, prefixCls + \"-\" + mode, dragging ? 'dragging' : null].filter(Boolean).join(' ').trim();\n var child = React.Children.toArray(children);\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: cls\n }, other, {\n ref: node => this.warpper = node,\n children: React.Children.map(child, (element, idx) => {\n var props = Object.assign({}, element.props, {\n className: [prefixCls + \"-pane\", element.props.className].filter(Boolean).join(' ').trim(),\n style: _extends({}, element.props.style)\n });\n var visibleBar = visible === true || visible && visible.includes(idx + 1) || false;\n var barProps = {\n className: [prefixCls + \"-bar\", lineBar ? prefixCls + \"-line-bar\" : null, !lineBar ? prefixCls + \"-large-bar\" : null].filter(Boolean).join(' ').trim()\n };\n if (disable === true || disable && disable.includes(idx + 1)) {\n barProps.className = [barProps.className, disable ? 'disable' : null].filter(Boolean).join(' ').trim();\n }\n var BarCom = null;\n if (idx !== 0 && visibleBar && renderBar) {\n BarCom = renderBar(_extends({}, barProps, {\n onMouseDown: this.onMouseDown.bind(this, idx + 1)\n }));\n } else if (idx !== 0 && visibleBar) {\n BarCom = /*#__PURE__*/React.createElement('div', _extends({}, barProps), /*#__PURE__*/_jsx(\"div\", {\n onMouseDown: this.onMouseDown.bind(this, idx + 1)\n }));\n }\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [BarCom, /*#__PURE__*/React.cloneElement(element, _extends({}, props))]\n }, idx);\n })\n }));\n }\n}\nSplit.defaultProps = {\n prefixCls: 'w-split',\n visiable: true,\n mode: 'horizontal'\n};","/**\n * @package @wcj/dark-mode\n * Web Component that toggles dark mode 🌒\n * Github: https://github.com/jaywcjlove/dark-mode.git\n * Website: https://jaywcjlove.github.io/dark-mode\n * \n * Licensed under the MIT license.\n * @license Copyright © 2022. Licensed under the MIT License\n * @author kenny wong \n */\nconst t=document;const e=\"_dark_mode_theme_\";const s=\"permanent\";const o=\"colorschemechange\";const i=\"permanentcolorscheme\";const h=\"light\";const r=\"dark\";const n=(t,e,s=e)=>{Object.defineProperty(t,s,{enumerable:true,get(){const t=this.getAttribute(e);return t===null?\"\":t},set(t){this.setAttribute(e,t)}})};const c=(t,e,s=e)=>{Object.defineProperty(t,s,{enumerable:true,get(){return this.hasAttribute(e)},set(t){if(t){this.setAttribute(e,\"\")}else{this.removeAttribute(e)}}})};class a extends HTMLElement{static get observedAttributes(){return[\"mode\",h,r,s]}LOCAL_NANE=e;constructor(){super();this.t()}connectedCallback(){n(this,\"mode\");n(this,r);n(this,h);c(this,s);const a=localStorage.getItem(e);if(a&&[h,r].includes(a)){this.mode=a;this.permanent=true}if(this.permanent&&!a){localStorage.setItem(e,this.mode)}const l=[h,r].includes(a);if(this.permanent&&a){this.o()}else{if(window.matchMedia&&window.matchMedia(\"(prefers-color-scheme: dark)\").matches){this.mode=r;this.o()}if(window.matchMedia&&window.matchMedia(\"(prefers-color-scheme: light)\").matches){this.mode=h;this.o()}}if(!this.permanent&&!l){window.matchMedia(\"(prefers-color-scheme: light)\").onchange=t=>{this.mode=t.matches?h:r;this.o()};window.matchMedia(\"(prefers-color-scheme: dark)\").onchange=t=>{this.mode=t.matches?r:h;this.o()}}const d=new MutationObserver(((s,h)=>{this.mode=t.documentElement.dataset.colorMode;if(this.permanent&&l){localStorage.setItem(e,this.mode);this.i(i,{permanent:this.permanent})}this.h();this.i(o,{colorScheme:this.mode})}));d.observe(t.documentElement,{attributes:true});this.i(o,{colorScheme:this.mode});this.h()}attributeChangedCallback(t,s,o){if(t===\"mode\"&&s!==o&&[h,r].includes(o)){const t=localStorage.getItem(e);if(this.mode===t){this.mode=o;this.h();this.o()}else if(this.mode&&this.mode!==t){this.h();this.o()}}else if((t===h||t===r)&&s!==o){this.h()}if(t===\"permanent\"&&typeof this.permanent===\"boolean\"){this.permanent?localStorage.setItem(e,this.mode):localStorage.removeItem(e)}}o(){t.documentElement.setAttribute(\"data-color-mode\",this.mode)}h(){this.icon.textContent=this.mode===h?\"🌒\":\"🌞\";this.text.textContent=this.mode===h?this.getAttribute(r):this.getAttribute(h);if(!this.text.textContent&&this.text.parentElement&&this.text){this.text.parentElement.removeChild(this.text)}}t(){var s=this.attachShadow({mode:\"open\"});this.label=t.createElement(\"span\");this.label.setAttribute(\"class\",\"wrapper\");this.label.onclick=()=>{this.mode=this.mode===h?r:h;if(this.permanent){localStorage.setItem(e,this.mode)}this.o();this.h()};s.appendChild(this.label);this.icon=t.createElement(\"span\");this.label.appendChild(this.icon);this.text=t.createElement(\"span\");this.label.appendChild(this.text);const o=`\\n[data-color-mode*='dark'], [data-color-mode*='dark'] body {\\n color-scheme: dark;\\n --color-theme-bg: #0d1117;\\n --color-theme-text: #c9d1d9;\\n background-color: var(--color-theme-bg);\\n color: var(--color-theme-text);\\n}\\n\\n[data-color-mode*='light'], [data-color-mode*='light'] body {\\n color-scheme: light;\\n --color-theme-bg: #fff;\\n --color-theme-text: #24292f;\\n background-color: var(--color-theme-bg);\\n color: var(--color-theme-text);\\n}`;const i=\"_dark_mode_style_\";const n=t.getElementById(i);if(!n){var c=t.createElement(\"style\");c.id=i;c.textContent=o;t.head.appendChild(c)}var a=t.createElement(\"style\");a.textContent=`\\n .wrapper { cursor: pointer; user-select: none; position: relative; }\\n .wrapper > span + span { margin-left: .4rem; }\\n `;s.appendChild(a)}i(t,e){this.dispatchEvent(new CustomEvent(t,{bubbles:true,composed:true,detail:e}))}}customElements.define(\"dark-mode\",a);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = _default;\nfunction _default() {\n return {\n name: 'transform-remove-imports',\n visitor: {\n // https://babeljs.io/docs/en/babel-types#callexpression\n CallExpression: function CallExpression(path, state) {\n var node = path.node;\n if (node.callee.name !== 'require') {\n return;\n }\n var argument = node.arguments[0];\n var moduleId = argument.value;\n var options = state.opts;\n if (options.test && !testMatches(moduleId, options.test)) {\n return;\n }\n var parentType = path.parentPath.node.type;\n\n // In remove effects mode we should delete only requires that are\n // simple expression statements\n if (options.remove === 'effects' && parentType !== 'ExpressionStatement') {\n return;\n }\n path.remove();\n },\n // https://babeljs.io/docs/en/babel-types#importdeclaration\n ImportDeclaration: function ImportDeclaration(path, state) {\n var node = path.node;\n var source = node.source;\n var opts = state.opts;\n if (opts.removeAll) {\n path.remove();\n return;\n }\n if (!opts.test) {\n console.warn('transform-remove-imports: \"test\" option should be specified');\n return;\n }\n\n /** @var {string} importName */\n var importName = source && source.value ? source.value : undefined;\n var isMatch = testMatches(importName, opts.test);\n\n // https://github.com/uiwjs/babel-plugin-transform-remove-imports/issues/3\n if (opts.remove === 'effects') {\n if (node.specifiers && node.specifiers.length === 0 && importName && isMatch) {\n path.remove();\n }\n return;\n }\n if (importName && isMatch) {\n path.remove();\n }\n }\n }\n };\n}\n\n/**\n * Determines if the import matches the specified tests.\n *\n * @param {string} importName\n * @param {RegExp|RegExp[]|string|string[]} test\n * @returns {Boolean}\n */\nfunction testMatches(importName, test) {\n // Normalizing tests\n var tests = Array.isArray(test) ? test : [test];\n\n // Finding out if at least one test matches\n return tests.some(function (regex) {\n if (typeof regex === 'string') {\n regex = new RegExp(regex);\n }\n return regex.test(importName || '');\n });\n}","module.exports = {\n\ttrueFunc: function trueFunc(){\n\t\treturn true;\n\t},\n\tfalseFunc: function falseFunc(){\n\t\treturn false;\n\t}\n};","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar parser_context_1 = require(\"./parser-context\");\nvar render_1 = require(\"./render\");\nvar CssSelectorParser = /** @class */ (function () {\n function CssSelectorParser() {\n this.pseudos = {};\n this.attrEqualityMods = {};\n this.ruleNestingOperators = {};\n this.substitutesEnabled = false;\n }\n CssSelectorParser.prototype.registerSelectorPseudos = function () {\n var pseudos = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n pseudos[_i] = arguments[_i];\n }\n for (var _a = 0, pseudos_1 = pseudos; _a < pseudos_1.length; _a++) {\n var pseudo = pseudos_1[_a];\n this.pseudos[pseudo] = 'selector';\n }\n return this;\n };\n CssSelectorParser.prototype.unregisterSelectorPseudos = function () {\n var pseudos = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n pseudos[_i] = arguments[_i];\n }\n for (var _a = 0, pseudos_2 = pseudos; _a < pseudos_2.length; _a++) {\n var pseudo = pseudos_2[_a];\n delete this.pseudos[pseudo];\n }\n return this;\n };\n CssSelectorParser.prototype.registerNumericPseudos = function () {\n var pseudos = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n pseudos[_i] = arguments[_i];\n }\n for (var _a = 0, pseudos_3 = pseudos; _a < pseudos_3.length; _a++) {\n var pseudo = pseudos_3[_a];\n this.pseudos[pseudo] = 'numeric';\n }\n return this;\n };\n CssSelectorParser.prototype.unregisterNumericPseudos = function () {\n var pseudos = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n pseudos[_i] = arguments[_i];\n }\n for (var _a = 0, pseudos_4 = pseudos; _a < pseudos_4.length; _a++) {\n var pseudo = pseudos_4[_a];\n delete this.pseudos[pseudo];\n }\n return this;\n };\n CssSelectorParser.prototype.registerNestingOperators = function () {\n var operators = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operators[_i] = arguments[_i];\n }\n for (var _a = 0, operators_1 = operators; _a < operators_1.length; _a++) {\n var operator = operators_1[_a];\n this.ruleNestingOperators[operator] = true;\n }\n return this;\n };\n CssSelectorParser.prototype.unregisterNestingOperators = function () {\n var operators = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operators[_i] = arguments[_i];\n }\n for (var _a = 0, operators_2 = operators; _a < operators_2.length; _a++) {\n var operator = operators_2[_a];\n delete this.ruleNestingOperators[operator];\n }\n return this;\n };\n CssSelectorParser.prototype.registerAttrEqualityMods = function () {\n var mods = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n mods[_i] = arguments[_i];\n }\n for (var _a = 0, mods_1 = mods; _a < mods_1.length; _a++) {\n var mod = mods_1[_a];\n this.attrEqualityMods[mod] = true;\n }\n return this;\n };\n CssSelectorParser.prototype.unregisterAttrEqualityMods = function () {\n var mods = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n mods[_i] = arguments[_i];\n }\n for (var _a = 0, mods_2 = mods; _a < mods_2.length; _a++) {\n var mod = mods_2[_a];\n delete this.attrEqualityMods[mod];\n }\n return this;\n };\n CssSelectorParser.prototype.enableSubstitutes = function () {\n this.substitutesEnabled = true;\n return this;\n };\n CssSelectorParser.prototype.disableSubstitutes = function () {\n this.substitutesEnabled = false;\n return this;\n };\n CssSelectorParser.prototype.parse = function (str) {\n return parser_context_1.parseCssSelector(str, 0, this.pseudos, this.attrEqualityMods, this.ruleNestingOperators, this.substitutesEnabled);\n };\n CssSelectorParser.prototype.render = function (path) {\n return render_1.renderEntity(path).trim();\n };\n return CssSelectorParser;\n}());\nexports.CssSelectorParser = CssSelectorParser;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar utils_1 = require(\"./utils\");\nfunction parseCssSelector(str, pos, pseudos, attrEqualityMods, ruleNestingOperators, substitutesEnabled) {\n var l = str.length;\n var chr = '';\n function getStr(quote, escapeTable) {\n var result = '';\n pos++;\n chr = str.charAt(pos);\n while (pos < l) {\n if (chr === quote) {\n pos++;\n return result;\n }\n else if (chr === '\\\\') {\n pos++;\n chr = str.charAt(pos);\n var esc = void 0;\n if (chr === quote) {\n result += quote;\n }\n else if ((esc = escapeTable[chr]) !== undefined) {\n result += esc;\n }\n else if (utils_1.isHex(chr)) {\n var hex = chr;\n pos++;\n chr = str.charAt(pos);\n while (utils_1.isHex(chr)) {\n hex += chr;\n pos++;\n chr = str.charAt(pos);\n }\n if (chr === ' ') {\n pos++;\n chr = str.charAt(pos);\n }\n result += String.fromCharCode(parseInt(hex, 16));\n continue;\n }\n else {\n result += chr;\n }\n }\n else {\n result += chr;\n }\n pos++;\n chr = str.charAt(pos);\n }\n return result;\n }\n function getIdent() {\n var result = '';\n chr = str.charAt(pos);\n while (pos < l) {\n if (utils_1.isIdent(chr)) {\n result += chr;\n }\n else if (chr === '\\\\') {\n pos++;\n if (pos >= l) {\n throw Error('Expected symbol but end of file reached.');\n }\n chr = str.charAt(pos);\n if (utils_1.identSpecialChars[chr]) {\n result += chr;\n }\n else if (utils_1.isHex(chr)) {\n var hex = chr;\n pos++;\n chr = str.charAt(pos);\n while (utils_1.isHex(chr)) {\n hex += chr;\n pos++;\n chr = str.charAt(pos);\n }\n if (chr === ' ') {\n pos++;\n chr = str.charAt(pos);\n }\n result += String.fromCharCode(parseInt(hex, 16));\n continue;\n }\n else {\n result += chr;\n }\n }\n else {\n return result;\n }\n pos++;\n chr = str.charAt(pos);\n }\n return result;\n }\n function skipWhitespace() {\n chr = str.charAt(pos);\n var result = false;\n while (chr === ' ' || chr === \"\\t\" || chr === \"\\n\" || chr === \"\\r\" || chr === \"\\f\") {\n result = true;\n pos++;\n chr = str.charAt(pos);\n }\n return result;\n }\n function parse() {\n var res = parseSelector();\n if (pos < l) {\n throw Error('Rule expected but \"' + str.charAt(pos) + '\" found.');\n }\n return res;\n }\n function parseSelector() {\n var selector = parseSingleSelector();\n if (!selector) {\n return null;\n }\n var res = selector;\n chr = str.charAt(pos);\n while (chr === ',') {\n pos++;\n skipWhitespace();\n if (res.type !== 'selectors') {\n res = {\n type: 'selectors',\n selectors: [selector]\n };\n }\n selector = parseSingleSelector();\n if (!selector) {\n throw Error('Rule expected after \",\".');\n }\n res.selectors.push(selector);\n }\n return res;\n }\n function parseSingleSelector() {\n skipWhitespace();\n var selector = {\n type: 'ruleSet'\n };\n var rule = parseRule();\n if (!rule) {\n return null;\n }\n var currentRule = selector;\n while (rule) {\n rule.type = 'rule';\n currentRule.rule = rule;\n currentRule = rule;\n skipWhitespace();\n chr = str.charAt(pos);\n if (pos >= l || chr === ',' || chr === ')') {\n break;\n }\n if (ruleNestingOperators[chr]) {\n var op = chr;\n pos++;\n skipWhitespace();\n rule = parseRule();\n if (!rule) {\n throw Error('Rule expected after \"' + op + '\".');\n }\n rule.nestingOperator = op;\n }\n else {\n rule = parseRule();\n if (rule) {\n rule.nestingOperator = null;\n }\n }\n }\n return selector;\n }\n // @ts-ignore no-overlap\n function parseRule() {\n var rule = null;\n while (pos < l) {\n chr = str.charAt(pos);\n if (chr === '*') {\n pos++;\n (rule = rule || {}).tagName = '*';\n }\n else if (utils_1.isIdentStart(chr) || chr === '\\\\') {\n (rule = rule || {}).tagName = getIdent();\n }\n else if (chr === '.') {\n pos++;\n rule = rule || {};\n (rule.classNames = rule.classNames || []).push(getIdent());\n }\n else if (chr === '#') {\n pos++;\n (rule = rule || {}).id = getIdent();\n }\n else if (chr === '[') {\n pos++;\n skipWhitespace();\n var attr = {\n name: getIdent()\n };\n skipWhitespace();\n // @ts-ignore\n if (chr === ']') {\n pos++;\n }\n else {\n var operator = '';\n if (attrEqualityMods[chr]) {\n operator = chr;\n pos++;\n chr = str.charAt(pos);\n }\n if (pos >= l) {\n throw Error('Expected \"=\" but end of file reached.');\n }\n if (chr !== '=') {\n throw Error('Expected \"=\" but \"' + chr + '\" found.');\n }\n attr.operator = operator + '=';\n pos++;\n skipWhitespace();\n var attrValue = '';\n attr.valueType = 'string';\n // @ts-ignore\n if (chr === '\"') {\n attrValue = getStr('\"', utils_1.doubleQuotesEscapeChars);\n // @ts-ignore\n }\n else if (chr === '\\'') {\n attrValue = getStr('\\'', utils_1.singleQuoteEscapeChars);\n // @ts-ignore\n }\n else if (substitutesEnabled && chr === '$') {\n pos++;\n attrValue = getIdent();\n attr.valueType = 'substitute';\n }\n else {\n while (pos < l) {\n if (chr === ']') {\n break;\n }\n attrValue += chr;\n pos++;\n chr = str.charAt(pos);\n }\n attrValue = attrValue.trim();\n }\n skipWhitespace();\n if (pos >= l) {\n throw Error('Expected \"]\" but end of file reached.');\n }\n if (chr !== ']') {\n throw Error('Expected \"]\" but \"' + chr + '\" found.');\n }\n pos++;\n attr.value = attrValue;\n }\n rule = rule || {};\n (rule.attrs = rule.attrs || []).push(attr);\n }\n else if (chr === ':') {\n pos++;\n var pseudoName = getIdent();\n var pseudo = {\n name: pseudoName\n };\n // @ts-ignore\n if (chr === '(') {\n pos++;\n var value = '';\n skipWhitespace();\n if (pseudos[pseudoName] === 'selector') {\n pseudo.valueType = 'selector';\n value = parseSelector();\n }\n else {\n pseudo.valueType = pseudos[pseudoName] || 'string';\n // @ts-ignore\n if (chr === '\"') {\n value = getStr('\"', utils_1.doubleQuotesEscapeChars);\n // @ts-ignore\n }\n else if (chr === '\\'') {\n value = getStr('\\'', utils_1.singleQuoteEscapeChars);\n // @ts-ignore\n }\n else if (substitutesEnabled && chr === '$') {\n pos++;\n value = getIdent();\n pseudo.valueType = 'substitute';\n }\n else {\n while (pos < l) {\n if (chr === ')') {\n break;\n }\n value += chr;\n pos++;\n chr = str.charAt(pos);\n }\n value = value.trim();\n }\n skipWhitespace();\n }\n if (pos >= l) {\n throw Error('Expected \")\" but end of file reached.');\n }\n if (chr !== ')') {\n throw Error('Expected \")\" but \"' + chr + '\" found.');\n }\n pos++;\n pseudo.value = value;\n }\n rule = rule || {};\n (rule.pseudos = rule.pseudos || []).push(pseudo);\n }\n else {\n break;\n }\n }\n return rule;\n }\n return parse();\n}\nexports.parseCssSelector = parseCssSelector;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar utils_1 = require(\"./utils\");\nfunction renderEntity(entity) {\n var res = '';\n switch (entity.type) {\n case 'ruleSet':\n var currentEntity = entity.rule;\n var parts = [];\n while (currentEntity) {\n if (currentEntity.nestingOperator) {\n parts.push(currentEntity.nestingOperator);\n }\n parts.push(renderEntity(currentEntity));\n currentEntity = currentEntity.rule;\n }\n res = parts.join(' ');\n break;\n case 'selectors':\n res = entity.selectors.map(renderEntity).join(', ');\n break;\n case 'rule':\n if (entity.tagName) {\n if (entity.tagName === '*') {\n res = '*';\n }\n else {\n res = utils_1.escapeIdentifier(entity.tagName);\n }\n }\n if (entity.id) {\n res += \"#\" + utils_1.escapeIdentifier(entity.id);\n }\n if (entity.classNames) {\n res += entity.classNames.map(function (cn) {\n return \".\" + (utils_1.escapeIdentifier(cn));\n }).join('');\n }\n if (entity.attrs) {\n res += entity.attrs.map(function (attr) {\n if ('operator' in attr) {\n if (attr.valueType === 'substitute') {\n return \"[\" + utils_1.escapeIdentifier(attr.name) + attr.operator + \"$\" + attr.value + \"]\";\n }\n else {\n return \"[\" + utils_1.escapeIdentifier(attr.name) + attr.operator + utils_1.escapeStr(attr.value) + \"]\";\n }\n }\n else {\n return \"[\" + utils_1.escapeIdentifier(attr.name) + \"]\";\n }\n }).join('');\n }\n if (entity.pseudos) {\n res += entity.pseudos.map(function (pseudo) {\n if (pseudo.valueType) {\n if (pseudo.valueType === 'selector') {\n return \":\" + utils_1.escapeIdentifier(pseudo.name) + \"(\" + renderEntity(pseudo.value) + \")\";\n }\n else if (pseudo.valueType === 'substitute') {\n return \":\" + utils_1.escapeIdentifier(pseudo.name) + \"($\" + pseudo.value + \")\";\n }\n else if (pseudo.valueType === 'numeric') {\n return \":\" + utils_1.escapeIdentifier(pseudo.name) + \"(\" + pseudo.value + \")\";\n }\n else {\n return (\":\" + utils_1.escapeIdentifier(pseudo.name) +\n \"(\" + utils_1.escapeIdentifier(pseudo.value) + \")\");\n }\n }\n else {\n return \":\" + utils_1.escapeIdentifier(pseudo.name);\n }\n }).join('');\n }\n break;\n default:\n throw Error('Unknown entity type: \"' + entity.type + '\".');\n }\n return res;\n}\nexports.renderEntity = renderEntity;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction isIdentStart(c) {\n return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c === '-') || (c === '_');\n}\nexports.isIdentStart = isIdentStart;\nfunction isIdent(c) {\n return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c === '-' || c === '_';\n}\nexports.isIdent = isIdent;\nfunction isHex(c) {\n return (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F') || (c >= '0' && c <= '9');\n}\nexports.isHex = isHex;\nfunction escapeIdentifier(s) {\n var len = s.length;\n var result = '';\n var i = 0;\n while (i < len) {\n var chr = s.charAt(i);\n if (exports.identSpecialChars[chr]) {\n result += '\\\\' + chr;\n }\n else {\n if (!(chr === '_' || chr === '-' ||\n (chr >= 'A' && chr <= 'Z') ||\n (chr >= 'a' && chr <= 'z') ||\n (i !== 0 && chr >= '0' && chr <= '9'))) {\n var charCode = chr.charCodeAt(0);\n if ((charCode & 0xF800) === 0xD800) {\n var extraCharCode = s.charCodeAt(i++);\n if ((charCode & 0xFC00) !== 0xD800 || (extraCharCode & 0xFC00) !== 0xDC00) {\n throw Error('UCS-2(decode): illegal sequence');\n }\n charCode = ((charCode & 0x3FF) << 10) + (extraCharCode & 0x3FF) + 0x10000;\n }\n result += '\\\\' + charCode.toString(16) + ' ';\n }\n else {\n result += chr;\n }\n }\n i++;\n }\n return result;\n}\nexports.escapeIdentifier = escapeIdentifier;\nfunction escapeStr(s) {\n var len = s.length;\n var result = '';\n var i = 0;\n var replacement;\n while (i < len) {\n var chr = s.charAt(i);\n if (chr === '\"') {\n chr = '\\\\\"';\n }\n else if (chr === '\\\\') {\n chr = '\\\\\\\\';\n }\n else if ((replacement = exports.strReplacementsRev[chr]) !== undefined) {\n chr = replacement;\n }\n result += chr;\n i++;\n }\n return \"\\\"\" + result + \"\\\"\";\n}\nexports.escapeStr = escapeStr;\nexports.identSpecialChars = {\n '!': true,\n '\"': true,\n '#': true,\n '$': true,\n '%': true,\n '&': true,\n '\\'': true,\n '(': true,\n ')': true,\n '*': true,\n '+': true,\n ',': true,\n '.': true,\n '/': true,\n ';': true,\n '<': true,\n '=': true,\n '>': true,\n '?': true,\n '@': true,\n '[': true,\n '\\\\': true,\n ']': true,\n '^': true,\n '`': true,\n '{': true,\n '|': true,\n '}': true,\n '~': true\n};\nexports.strReplacementsRev = {\n '\\n': '\\\\n',\n '\\r': '\\\\r',\n '\\t': '\\\\t',\n '\\f': '\\\\f',\n '\\v': '\\\\v'\n};\nexports.singleQuoteEscapeChars = {\n n: '\\n',\n r: '\\r',\n t: '\\t',\n f: '\\f',\n '\\\\': '\\\\',\n '\\'': '\\''\n};\nexports.doubleQuotesEscapeChars = {\n n: '\\n',\n r: '\\r',\n t: '\\t',\n f: '\\f',\n '\\\\': '\\\\',\n '\"': '\"'\n};\n","'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function(style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function(node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","import { Parent, Node } from 'unist';\nimport webpack from 'webpack';\nimport remark from 'remark';\nimport { getTransformValue } from './transform';\nimport { Options, FUNNAME_PREFIX, CodeBlockItem, CodeBlockData } from '../';\n\n/**\n * Creates an object containing the parameters of the current URL.\n *\n * ```js\n * getURLParameters('name=Adam&surname=Smith');\n * // 👉 {name: 'Adam', surname: 'Smith'}\n * ```\n * @param url `name=Adam&surname=Smith`\n * @returns\n */\nexport const getURLParameters = (url: string): Record => {\n const regex = /([^?=&]+)=([^&]*)/g;\n const params: Record = {};\n let match;\n while ((match = regex.exec(url))) {\n params[match[1]] = match[2];\n }\n return params;\n};\n\nexport interface MarkdownDataChild extends Node {\n lang: string;\n meta: string;\n value: string;\n depth?: number;\n children?: Array;\n}\n\nexport interface MarkdownParseData extends Parent {}\n\n/** 转换 代码*/\nexport const getProcessor = (source: string) => {\n try {\n const child = remark.parse(source) as MarkdownParseData;\n return child.children;\n } catch (err) {\n console.warn(err);\n }\n};\n\n/**\n * ```js\n * 'mdx:preview' => '' // Empty\n * 'mdx:preview:demo12' => 'demo12' // return meta id => 'demo12'\n * ```\n * @param meta string\n * @returns string?\n */\nexport const getMetaId = (meta: string = '') => {\n const [metaRaw = ''] = /mdx:(.[\\w|:]+)/i.exec(meta) || [];\n return metaRaw.replace(/^mdx:preview:?/, '');\n};\n\n/**\n * ```js\n * isMeta('mdx:preview') => true\n * isMeta('mdx:preview:demo12') => true\n * isMeta('mdx:preview--demo12') => false\n * ```\n * @param meta\n * @returns boolean\n */\nexport const isMeta = (meta: string = '') => meta && meta.includes('mdx:preview');\n\n/** 获取需要渲染的代码块 **/\nexport function getCodeBlock(\n child: MarkdownParseData['children'],\n opts: Options = {},\n resourcePath?: string,\n): CodeBlockData['data'] {\n const { lang = ['jsx', 'tsx'] } = opts;\n // 获取渲染部分\n const codeBlock: Record = {};\n child.forEach((item) => {\n if (item && item.type === 'code' && lang.includes(item.lang)) {\n const line = item.position.start.line;\n const metaId = getMetaId(item.meta);\n if (isMeta(item.meta)) {\n let name = metaId || line;\n const funName = `${resourcePath}.${FUNNAME_PREFIX}${name}`;\n const returnCode = getTransformValue(item.value, `${funName}.${item.lang}`, opts);\n codeBlock[name] = {\n name,\n meta: getURLParameters(item.meta),\n code: returnCode,\n language: item.lang,\n value: item.value,\n };\n }\n }\n });\n return codeBlock;\n}\n\n/**\n * `mdCodeModulesLoader` method for adding `markdown-react-code-preview-loader` to webpack config.\n * @param {webpack.Configuration} config webpack config\n * @param {string[]} lang Parsing language\n * @param {Options} option Loader Options\n * @returns {webpack.Configuration}\n */\nexport const mdCodeModulesLoader = (\n config: webpack.Configuration,\n lang?: string[],\n option: Options = {},\n): webpack.Configuration => {\n config.module.rules.forEach((ruleItem) => {\n if (typeof ruleItem === 'object') {\n if (ruleItem.oneOf) {\n ruleItem.oneOf.unshift({\n test: /.md$/,\n use: [\n {\n loader: 'markdown-react-code-preview-loader',\n options: { lang, ...option },\n },\n ],\n });\n }\n }\n });\n return config;\n};\n\nexport interface HeadingListType {\n depth: number;\n value: string;\n key: number;\n}\n\nexport interface HeadingItem extends HeadingListType {\n /**嵌套子标题*/\n children?: HeadingItem[];\n}\n\n/**进行获取同级别标题数据*/\nexport const getSameLevelHeading = (list: HeadingListType[]) => {\n const newList: { start: number; end: number }[] = [];\n let level: number = 0;\n let satrtIndex = 0;\n let lg = list.length;\n\n // 对同级别数据进行区分\n for (let index = 0; index < lg; index++) {\n const element = list[index];\n if (index === 0) {\n satrtIndex = 0;\n /**默认第一个数据的层级进行查找*/\n level = element.depth;\n } else if (element.depth === level) {\n // 层级相同则进行赋值\n // 这个位置相等,说明这些数据是一组数据\n newList.push({ start: satrtIndex, end: index });\n /**重新赋值开始下标数据*/\n satrtIndex = index;\n }\n }\n // 如果最后位置没找到\n if (satrtIndex <= lg - 1) {\n newList.push({ start: satrtIndex, end: lg });\n }\n\n const saveList: HeadingItem[] = [];\n\n /**对标题数据进行处理*/\n newList.forEach((item) => {\n const { start, end } = item;\n const [firstItem, ...lastItems] = list.slice(start, end);\n const newItem: HeadingItem = { ...firstItem };\n if (Array.isArray(lastItems) && lastItems.length) {\n newItem.children = getSameLevelHeading(lastItems);\n }\n saveList.push(newItem);\n });\n\n return saveList;\n};\n\n/**获取标题*/\nexport const getHeadings = (child: MarkdownParseData['children']) => {\n const headingList: HeadingListType[] = [];\n\n child.forEach((item, index) => {\n if (item && item.type === 'heading') {\n const { depth, children } = item;\n if (Array.isArray(children) && children.length) {\n const value = children.map((item) => item.value).join('');\n headingList.push({\n key: index,\n value,\n depth,\n });\n }\n }\n });\n\n return {\n headings: getSameLevelHeading(headingList),\n headingsList: headingList,\n };\n};\n","/**\n * @param {string} string The string to parse\n * @returns {Array} Returns an energetic array.\n */\nfunction parsePart(string) {\n let res = [];\n let m;\n\n for (let str of string.split(\",\").map((str) => str.trim())) {\n // just a number\n if (/^-?\\d+$/.test(str)) {\n res.push(parseInt(str, 10));\n } else if (\n (m = str.match(/^(-?\\d+)(-|\\.\\.\\.?|\\u2025|\\u2026|\\u22EF)(-?\\d+)$/))\n ) {\n // 1-5 or 1..5 (equivalent) or 1...5 (doesn't include 5)\n let [_, lhs, sep, rhs] = m;\n\n if (lhs && rhs) {\n lhs = parseInt(lhs);\n rhs = parseInt(rhs);\n const incr = lhs < rhs ? 1 : -1;\n\n // Make it inclusive by moving the right 'stop-point' away by one.\n if (sep === \"-\" || sep === \"..\" || sep === \"\\u2025\") rhs += incr;\n\n for (let i = lhs; i !== rhs; i += incr) res.push(i);\n }\n }\n }\n\n return res;\n}\n\nexports.default = parsePart;\nmodule.exports = parsePart;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useReducer, createContext } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var initialState = {};\nexport var Context = /*#__PURE__*/createContext({});\nexport var reducer = (state, action) => {\n return _extends({}, state, action);\n};\nexport var Provider = _ref => {\n var {\n children,\n value\n } = _ref;\n var [state, dispatch] = useReducer(reducer, _extends({}, initialState, value));\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: _extends({}, state, {\n dispatch\n }),\n children: children\n });\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"tagName\", \"className\", \"children\"];\nimport React, { useContext } from 'react';\nimport { Context } from './store';\nimport { CODE_PREVIEW_PREFIX } from './CodePreview';\nexport var Code = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n tagName = 'div',\n className,\n children\n } = props,\n htmlProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [CODE_PREVIEW_PREFIX + \"-code\", className].filter(Boolean).join(' ').trim();\n var store = useContext(Context);\n if (store.collapse) {\n return null;\n }\n var TagName = props.href && typeof tagName === 'string' ? 'a' : tagName;\n var childProps = _extends({}, htmlProps, {\n className: cls,\n ref\n });\n return /*#__PURE__*/React.createElement(TagName, childProps, children);\n});\nCode.displayName = 'uiw.CodeLayoutCode';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"children\"];\nimport React from 'react';\nimport { CODE_PREVIEW_PREFIX } from './CodePreview';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var Preview = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n className,\n children\n } = props,\n htmlProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [CODE_PREVIEW_PREFIX + \"-preview\", className].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(\"div\", _extends({}, htmlProps, {\n className: cls,\n ref: ref,\n children: children\n }));\n});\nPreview.displayName = 'uiw.Preview';","import React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport var ExpandIcon = props => {\n return /*#__PURE__*/_jsx(\"svg\", {\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M8.64 5.23a1 1 0 0 0-1.41.13l-5 6a1 1 0 0 0 0 1.27l4.83 6a1 1 0 0 0 .78.37 1 1 0 0 0 .78-1.63L4.29 12l4.48-5.36a1 1 0 0 0-.13-1.41zm13.14 6.14-4.78-6a1 1 0 0 0-1.41-.15 1 1 0 0 0-.15 1.41L19.71 12l-4.48 5.37a1 1 0 0 0 .13 1.41A1 1 0 0 0 16 19a1 1 0 0 0 .77-.36l5-6a1 1 0 0 0 .01-1.27z\",\n \"data-name\": \"code\"\n })\n });\n};\nexport var CopyIcon = props => {\n return /*#__PURE__*/_jsxs(\"svg\", {\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n children: [/*#__PURE__*/_jsx(\"path\", {\n d: \"M18 21h-6a3 3 0 0 1-3-3v-6a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3zm-6-10a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1z\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M9.73 15H5.67A2.68 2.68 0 0 1 3 12.33V5.67A2.68 2.68 0 0 1 5.67 3h6.66A2.68 2.68 0 0 1 15 5.67V9.4h-2V5.67a.67.67 0 0 0-.67-.67H5.67a.67.67 0 0 0-.67.67v6.66a.67.67 0 0 0 .67.67h4.06z\"\n })]\n });\n};\nexport var CopySuccessIcon = props => {\n return /*#__PURE__*/_jsxs(\"svg\", {\n viewBox: \"0 0 24 24\",\n fill: \"green\",\n children: [/*#__PURE__*/_jsx(\"path\", {\n d: \"M9.71 11.29a1 1 0 0 0-1.42 1.42l3 3A1 1 0 0 0 12 16a1 1 0 0 0 .72-.34l7-8a1 1 0 0 0-1.5-1.32L12 13.54z\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M21 11a1 1 0 0 0-1 1 8 8 0 0 1-8 8A8 8 0 0 1 6.33 6.36 7.93 7.93 0 0 1 12 4a8.79 8.79 0 0 1 1.9.22 1 1 0 1 0 .47-1.94A10.54 10.54 0 0 0 12 2a10 10 0 0 0-7 17.09A9.93 9.93 0 0 0 12 22a10 10 0 0 0 10-10 1 1 0 0 0-1-1z\"\n })]\n });\n};","import { useState } from 'react';\nimport copyTextToClipboard from '@uiw/copy-to-clipboard';\nimport { CopyIcon, CopySuccessIcon } from './icons';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var Copied = props => {\n var [copied, setCopied] = useState(false);\n var handle = () => {\n setCopied(true);\n copyTextToClipboard(props.text || '', () => {\n var timer = setTimeout(() => {\n setCopied(false);\n clearTimeout(timer);\n }, 2000);\n });\n };\n return /*#__PURE__*/_jsx(\"button\", {\n onClick: handle,\n children: copied ? /*#__PURE__*/_jsx(CopySuccessIcon, {}) : /*#__PURE__*/_jsx(CopyIcon, {})\n });\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"children\", \"extra\", \"text\", \"copied\", \"collapse\", \"visibleButton\", \"visible\"];\nimport React, { useContext, useEffect } from 'react';\nimport { CODE_PREVIEW_PREFIX } from './CodePreview';\nimport { Copied } from './Copied';\nimport { ExpandIcon } from './icons';\nimport { Context } from './store';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport var Toolbar = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n className,\n children,\n extra,\n text = '',\n copied = true,\n collapse = true,\n visibleButton = true,\n visible = true\n } = props,\n htmlProps = _objectWithoutPropertiesLoose(props, _excluded);\n var store = useContext(Context);\n var cls = [CODE_PREVIEW_PREFIX + \"-toolbar\", className].filter(Boolean).join(' ').trim();\n useEffect(() => store.dispatch({\n collapse\n }), [collapse]);\n if (!visible) {\n return null;\n }\n var handleClick = () => store.dispatch({\n collapse: !store.collapse\n });\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls\n }, htmlProps, {\n ref: ref,\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: CODE_PREVIEW_PREFIX + \"-title\",\n children: children\n }), /*#__PURE__*/_jsxs(\"div\", {\n className: CODE_PREVIEW_PREFIX + \"-extra\",\n children: [extra, copied && /*#__PURE__*/_jsx(Copied, {\n text: text\n }), visibleButton && /*#__PURE__*/_jsx(\"button\", {\n onClick: handleClick,\n children: /*#__PURE__*/_jsx(ExpandIcon, {})\n })]\n })]\n }));\n});\nToolbar.displayName = 'uiw.Toolbar';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"prefixCls\", \"className\", \"bordered\", \"disableCheckered\"];\nimport React from 'react';\nimport { Code } from './Code';\nimport { Preview } from './Preview';\nimport { Toolbar } from './Toolbar';\nimport { Provider } from './store';\nimport './styles.css';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var CODE_PREVIEW_PREFIX = 'w-rcpl';\nvar Internal = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n children,\n prefixCls = CODE_PREVIEW_PREFIX,\n className,\n bordered = true,\n disableCheckered\n } = props,\n divProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className, bordered ? \"w-bordered\" : null, disableCheckered ? \"w-disable-checkered\" : null].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(\"div\", _extends({\n ref: ref\n }, divProps, {\n className: cls,\n children: React.Children.map(children, (child, key) => {\n if (! /*#__PURE__*/React.isValidElement(child)) return child;\n return /*#__PURE__*/React.cloneElement(child, _extends({}, child.props, {\n key\n }));\n })\n }));\n});\nvar InternalCodePreview = /*#__PURE__*/React.forwardRef((props, ref) => {\n return /*#__PURE__*/_jsx(Provider, {\n value: {\n collapse: false\n },\n children: /*#__PURE__*/_jsx(Internal, _extends({}, props, {\n ref: ref\n }))\n });\n});\nexport var CodePreview = InternalCodePreview;\nCodePreview.Preview = Preview;\nCodePreview.Toolbar = Toolbar;\nCodePreview.Code = Code;","import { CodePreview } from './CodePreview';\nexport * from './CodePreview';\nexport default CodePreview;","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n/**\n * Removes a CSS class from a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport addOneClass from 'dom-helpers/addClass';\nimport removeOneClass from 'dom-helpers/removeClass';\nimport React from 'react';\nimport Transition from './Transition';\nimport { classNamesShape } from './utils/PropTypes';\nimport { forceReflow } from './utils/reflow';\n\nvar _addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return addOneClass(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return removeOneClass(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should\n * use it if you're using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n *
\n * {\"I'll receive my-node-* classes\"}\n *
\n *
\n * \n *
\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**, so it's\n * important to add `transition` declaration only to them, otherwise transitions\n * might not behave as intended! This might not be obvious when the transitions\n * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in\n * the example above (minus `transition`), but it becomes apparent in more\n * complex transitions.\n *\n * **Note**: If you're using the\n * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)\n * prop, make sure to define styles for `.appear-*` classes as well.\n */\n\n\nvar CSSTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.appliedClasses = {\n appear: {},\n enter: {},\n exit: {}\n };\n\n _this.onEnter = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument[0],\n appearing = _this$resolveArgument[1];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, appearing ? 'appear' : 'enter', 'base');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntering = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument2[0],\n appearing = _this$resolveArgument2[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.addClass(node, type, 'active');\n\n if (_this.props.onEntering) {\n _this.props.onEntering(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntered = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument3[0],\n appearing = _this$resolveArgument3[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.removeClasses(node, type);\n\n _this.addClass(node, type, 'done');\n\n if (_this.props.onEntered) {\n _this.props.onEntered(maybeNode, maybeAppearing);\n }\n };\n\n _this.onExit = function (maybeNode) {\n var _this$resolveArgument4 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument4[0];\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n _this.addClass(node, 'exit', 'base');\n\n if (_this.props.onExit) {\n _this.props.onExit(maybeNode);\n }\n };\n\n _this.onExiting = function (maybeNode) {\n var _this$resolveArgument5 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument5[0];\n\n _this.addClass(node, 'exit', 'active');\n\n if (_this.props.onExiting) {\n _this.props.onExiting(maybeNode);\n }\n };\n\n _this.onExited = function (maybeNode) {\n var _this$resolveArgument6 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument6[0];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, 'exit', 'done');\n\n if (_this.props.onExited) {\n _this.props.onExited(maybeNode);\n }\n };\n\n _this.resolveArguments = function (maybeNode, maybeAppearing) {\n return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`\n : [maybeNode, maybeAppearing];\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + \"-\" : '';\n var baseClassName = isStringClassNames ? \"\" + prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? baseClassName + \"-active\" : classNames[type + \"Active\"];\n var doneClassName = isStringClassNames ? baseClassName + \"-done\" : classNames[type + \"Done\"];\n return {\n baseClassName: baseClassName,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.addClass = function addClass(node, type, phase) {\n var className = this.getClassNames(type)[phase + \"ClassName\"];\n\n var _this$getClassNames = this.getClassNames('enter'),\n doneClassName = _this$getClassNames.doneClassName;\n\n if (type === 'appear' && phase === 'done' && doneClassName) {\n className += \" \" + doneClassName;\n } // This is to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n\n\n if (phase === 'active') {\n if (node) forceReflow(node);\n }\n\n if (className) {\n this.appliedClasses[type][phase] = className;\n\n _addClass(node, className);\n }\n };\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$appliedClasses$ = this.appliedClasses[type],\n baseClassName = _this$appliedClasses$.base,\n activeClassName = _this$appliedClasses$.active,\n doneClassName = _this$appliedClasses$.done;\n this.appliedClasses[type] = {};\n\n if (baseClassName) {\n removeClass(node, baseClassName);\n }\n\n if (activeClassName) {\n removeClass(node, activeClassName);\n }\n\n if (doneClassName) {\n removeClass(node, doneClassName);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n _ = _this$props.classNames,\n props = _objectWithoutPropertiesLoose(_this$props, [\"classNames\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(React.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, Transition.propTypes, {\n /**\n * The animation classNames applied to the component as it appears, enters,\n * exits or has finished the transition. A single name can be provided, which\n * will be suffixed for each stage, e.g. `classNames=\"fade\"` applies:\n *\n * - `fade-appear`, `fade-appear-active`, `fade-appear-done`\n * - `fade-enter`, `fade-enter-active`, `fade-enter-done`\n * - `fade-exit`, `fade-exit-active`, `fade-exit-done`\n *\n * A few details to note about how these classes are applied:\n *\n * 1. They are _joined_ with the ones that are already defined on the child\n * component, so if you want to add some base styles, you can use\n * `className` without worrying that it will be overridden.\n *\n * 2. If the transition component mounts with `in={false}`, no classes are\n * applied yet. You might be expecting `*-exit-done`, but if you think\n * about it, a component cannot finish exiting if it hasn't entered yet.\n *\n * 2. `fade-appear-done` and `fade-enter-done` will _both_ be applied. This\n * allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply\n * an epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nexport default CSSTransition;","import hasClass from './hasClass';\n/**\n * Adds a CSS class to a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","/**\n * Checks if a given element has a CSS class.\n * \n * @param element the element\n * @param className the CSS class name\n */\nexport default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","'use strict'\n\nmodule.exports = stringify\n\nvar toMarkdown = require('mdast-util-to-markdown')\n\nfunction stringify(options) {\n var self = this\n\n this.Compiler = compile\n\n function compile(tree) {\n return toMarkdown(\n tree,\n Object.assign({}, self.data('settings'), options, {\n // Note: this option is not in the readme.\n // The goal is for it to be set by plugins on `data` instead of being\n // passed by users.\n extensions: self.data('toMarkdownExtensions') || []\n })\n )\n }\n}\n","'use strict'\n\nmodule.exports = longestStreak\n\n// Get the count of the longest repeating streak of `character` in `value`.\nfunction longestStreak(value, character) {\n var count = 0\n var maximum = 0\n var expected\n var index\n\n if (typeof character !== 'string' || character.length !== 1) {\n throw new Error('Expected character')\n }\n\n value = String(value)\n index = value.indexOf(character)\n expected = index\n\n while (index !== -1) {\n count++\n\n if (index === expected) {\n if (count > maximum) {\n maximum = count\n }\n } else {\n count = 1\n }\n\n expected = index + 1\n index = value.indexOf(character, expected)\n }\n\n return maximum\n}\n","module.exports = require('./lib')\n","module.exports = configure\n\nfunction configure(base, extension) {\n var index = -1\n var key\n\n // First do subextensions.\n if (extension.extensions) {\n while (++index < extension.extensions.length) {\n configure(base, extension.extensions[index])\n }\n }\n\n for (key in extension) {\n if (key === 'extensions') {\n // Empty.\n } else if (key === 'unsafe' || key === 'join') {\n base[key] = base[key].concat(extension[key] || [])\n } else if (key === 'handlers') {\n base[key] = Object.assign(base[key], extension[key] || {})\n } else {\n base.options[key] = extension[key]\n }\n }\n\n return base\n}\n","module.exports = blockquote\n\nvar flow = require('../util/container-flow')\nvar indentLines = require('../util/indent-lines')\n\nfunction blockquote(node, _, context) {\n var exit = context.enter('blockquote')\n var value = indentLines(flow(node, context), map)\n exit()\n return value\n}\n\nfunction map(line, index, blank) {\n return '>' + (blank ? '' : ' ') + line\n}\n","module.exports = hardBreak\n\nvar patternInScope = require('../util/pattern-in-scope')\n\nfunction hardBreak(node, _, context, safe) {\n var index = -1\n\n while (++index < context.unsafe.length) {\n // If we can’t put eols in this construct (setext headings, tables), use a\n // space instead.\n if (\n context.unsafe[index].character === '\\n' &&\n patternInScope(context.stack, context.unsafe[index])\n ) {\n return /[ \\t]/.test(safe.before) ? '' : ' '\n }\n }\n\n return '\\\\\\n'\n}\n","module.exports = code\n\nvar repeat = require('repeat-string')\nvar streak = require('longest-streak')\nvar formatCodeAsIndented = require('../util/format-code-as-indented')\nvar checkFence = require('../util/check-fence')\nvar indentLines = require('../util/indent-lines')\nvar safe = require('../util/safe')\n\nfunction code(node, _, context) {\n var marker = checkFence(context)\n var raw = node.value || ''\n var suffix = marker === '`' ? 'GraveAccent' : 'Tilde'\n var value\n var sequence\n var exit\n var subexit\n\n if (formatCodeAsIndented(node, context)) {\n exit = context.enter('codeIndented')\n value = indentLines(raw, map)\n } else {\n sequence = repeat(marker, Math.max(streak(raw, marker) + 1, 3))\n exit = context.enter('codeFenced')\n value = sequence\n\n if (node.lang) {\n subexit = context.enter('codeFencedLang' + suffix)\n value += safe(context, node.lang, {\n before: '`',\n after: ' ',\n encode: ['`']\n })\n subexit()\n }\n\n if (node.lang && node.meta) {\n subexit = context.enter('codeFencedMeta' + suffix)\n value +=\n ' ' +\n safe(context, node.meta, {\n before: ' ',\n after: '\\n',\n encode: ['`']\n })\n subexit()\n }\n\n value += '\\n'\n\n if (raw) {\n value += raw + '\\n'\n }\n\n value += sequence\n }\n\n exit()\n return value\n}\n\nfunction map(line, _, blank) {\n return (blank ? '' : ' ') + line\n}\n","module.exports = definition\n\nvar association = require('../util/association')\nvar checkQuote = require('../util/check-quote')\nvar safe = require('../util/safe')\n\nfunction definition(node, _, context) {\n var marker = checkQuote(context)\n var suffix = marker === '\"' ? 'Quote' : 'Apostrophe'\n var exit = context.enter('definition')\n var subexit = context.enter('label')\n var value =\n '[' + safe(context, association(node), {before: '[', after: ']'}) + ']: '\n\n subexit()\n\n if (\n // If there’s no url, or…\n !node.url ||\n // If there’s whitespace, enclosed is prettier.\n /[ \\t\\r\\n]/.test(node.url)\n ) {\n subexit = context.enter('destinationLiteral')\n value += '<' + safe(context, node.url, {before: '<', after: '>'}) + '>'\n } else {\n // No whitespace, raw is prettier.\n subexit = context.enter('destinationRaw')\n value += safe(context, node.url, {before: ' ', after: ' '})\n }\n\n subexit()\n\n if (node.title) {\n subexit = context.enter('title' + suffix)\n value +=\n ' ' +\n marker +\n safe(context, node.title, {before: marker, after: marker}) +\n marker\n subexit()\n }\n\n exit()\n\n return value\n}\n","module.exports = emphasis\nemphasis.peek = emphasisPeek\n\nvar checkEmphasis = require('../util/check-emphasis')\nvar phrasing = require('../util/container-phrasing')\n\n// To do: there are cases where emphasis cannot “form” depending on the\n// previous or next character of sequences.\n// There’s no way around that though, except for injecting zero-width stuff.\n// Do we need to safeguard against that?\nfunction emphasis(node, _, context) {\n var marker = checkEmphasis(context)\n var exit = context.enter('emphasis')\n var value = phrasing(node, context, {before: marker, after: marker})\n exit()\n return marker + value + marker\n}\n\nfunction emphasisPeek(node, _, context) {\n return context.options.emphasis || '*'\n}\n","module.exports = heading\n\nvar repeat = require('repeat-string')\nvar formatHeadingAsSetext = require('../util/format-heading-as-setext')\nvar phrasing = require('../util/container-phrasing')\n\nfunction heading(node, _, context) {\n var rank = Math.max(Math.min(6, node.depth || 1), 1)\n var exit\n var subexit\n var value\n var sequence\n\n if (formatHeadingAsSetext(node, context)) {\n exit = context.enter('headingSetext')\n subexit = context.enter('phrasing')\n value = phrasing(node, context, {before: '\\n', after: '\\n'})\n subexit()\n exit()\n\n return (\n value +\n '\\n' +\n repeat(\n rank === 1 ? '=' : '-',\n // The whole size…\n value.length -\n // Minus the position of the character after the last EOL (or\n // 0 if there is none)…\n (Math.max(value.lastIndexOf('\\r'), value.lastIndexOf('\\n')) + 1)\n )\n )\n }\n\n sequence = repeat('#', rank)\n exit = context.enter('headingAtx')\n subexit = context.enter('phrasing')\n value = phrasing(node, context, {before: '# ', after: '\\n'})\n value = value ? sequence + ' ' + value : sequence\n if (context.options.closeAtx) {\n value += ' ' + sequence\n }\n\n subexit()\n exit()\n\n return value\n}\n","module.exports = html\nhtml.peek = htmlPeek\n\nfunction html(node) {\n return node.value || ''\n}\n\nfunction htmlPeek() {\n return '<'\n}\n","module.exports = imageReference\nimageReference.peek = imageReferencePeek\n\nvar association = require('../util/association')\nvar safe = require('../util/safe')\n\nfunction imageReference(node, _, context) {\n var type = node.referenceType\n var exit = context.enter('imageReference')\n var subexit = context.enter('label')\n var alt = safe(context, node.alt, {before: '[', after: ']'})\n var value = '![' + alt + ']'\n var reference\n var stack\n\n subexit()\n // Hide the fact that we’re in phrasing, because escapes don’t work.\n stack = context.stack\n context.stack = []\n subexit = context.enter('reference')\n reference = safe(context, association(node), {before: '[', after: ']'})\n subexit()\n context.stack = stack\n exit()\n\n if (type === 'full' || !alt || alt !== reference) {\n value += '[' + reference + ']'\n } else if (type !== 'shortcut') {\n value += '[]'\n }\n\n return value\n}\n\nfunction imageReferencePeek() {\n return '!'\n}\n","module.exports = image\nimage.peek = imagePeek\n\nvar checkQuote = require('../util/check-quote')\nvar safe = require('../util/safe')\n\nfunction image(node, _, context) {\n var quote = checkQuote(context)\n var suffix = quote === '\"' ? 'Quote' : 'Apostrophe'\n var exit = context.enter('image')\n var subexit = context.enter('label')\n var value = '![' + safe(context, node.alt, {before: '[', after: ']'}) + ']('\n\n subexit()\n\n if (\n // If there’s no url but there is a title…\n (!node.url && node.title) ||\n // Or if there’s markdown whitespace or an eol, enclose.\n /[ \\t\\r\\n]/.test(node.url)\n ) {\n subexit = context.enter('destinationLiteral')\n value += '<' + safe(context, node.url, {before: '<', after: '>'}) + '>'\n } else {\n // No whitespace, raw is prettier.\n subexit = context.enter('destinationRaw')\n value += safe(context, node.url, {\n before: '(',\n after: node.title ? ' ' : ')'\n })\n }\n\n subexit()\n\n if (node.title) {\n subexit = context.enter('title' + suffix)\n value +=\n ' ' +\n quote +\n safe(context, node.title, {before: quote, after: quote}) +\n quote\n subexit()\n }\n\n value += ')'\n exit()\n\n return value\n}\n\nfunction imagePeek() {\n return '!'\n}\n","exports.blockquote = require('./blockquote')\nexports.break = require('./break')\nexports.code = require('./code')\nexports.definition = require('./definition')\nexports.emphasis = require('./emphasis')\nexports.hardBreak = require('./break')\nexports.heading = require('./heading')\nexports.html = require('./html')\nexports.image = require('./image')\nexports.imageReference = require('./image-reference')\nexports.inlineCode = require('./inline-code')\nexports.link = require('./link')\nexports.linkReference = require('./link-reference')\nexports.list = require('./list')\nexports.listItem = require('./list-item')\nexports.paragraph = require('./paragraph')\nexports.root = require('./root')\nexports.strong = require('./strong')\nexports.text = require('./text')\nexports.thematicBreak = require('./thematic-break')\n","module.exports = inlineCode\ninlineCode.peek = inlineCodePeek\n\nvar patternCompile = require('../util/pattern-compile')\n\nfunction inlineCode(node, parent, context) {\n var value = node.value || ''\n var sequence = '`'\n var index = -1\n var pattern\n var expression\n var match\n var position\n\n // If there is a single grave accent on its own in the code, use a fence of\n // two.\n // If there are two in a row, use one.\n while (new RegExp('(^|[^`])' + sequence + '([^`]|$)').test(value)) {\n sequence += '`'\n }\n\n // If this is not just spaces or eols (tabs don’t count), and either the\n // first or last character are a space, eol, or tick, then pad with spaces.\n if (\n /[^ \\r\\n]/.test(value) &&\n (/[ \\r\\n`]/.test(value.charAt(0)) ||\n /[ \\r\\n`]/.test(value.charAt(value.length - 1)))\n ) {\n value = ' ' + value + ' '\n }\n\n // We have a potential problem: certain characters after eols could result in\n // blocks being seen.\n // For example, if someone injected the string `'\\n# b'`, then that would\n // result in an ATX heading.\n // We can’t escape characters in `inlineCode`, but because eols are\n // transformed to spaces when going from markdown to HTML anyway, we can swap\n // them out.\n while (++index < context.unsafe.length) {\n pattern = context.unsafe[index]\n\n // Only look for `atBreak`s.\n // Btw: note that `atBreak` patterns will always start the regex at LF or\n // CR.\n if (!pattern.atBreak) continue\n\n expression = patternCompile(pattern)\n\n while ((match = expression.exec(value))) {\n position = match.index\n\n // Support CRLF (patterns only look for one of the characters).\n if (\n value.charCodeAt(position) === 10 /* `\\n` */ &&\n value.charCodeAt(position - 1) === 13 /* `\\r` */\n ) {\n position--\n }\n\n value = value.slice(0, position) + ' ' + value.slice(match.index + 1)\n }\n }\n\n return sequence + value + sequence\n}\n\nfunction inlineCodePeek() {\n return '`'\n}\n","module.exports = linkReference\nlinkReference.peek = linkReferencePeek\n\nvar association = require('../util/association')\nvar phrasing = require('../util/container-phrasing')\nvar safe = require('../util/safe')\n\nfunction linkReference(node, _, context) {\n var type = node.referenceType\n var exit = context.enter('linkReference')\n var subexit = context.enter('label')\n var text = phrasing(node, context, {before: '[', after: ']'})\n var value = '[' + text + ']'\n var reference\n var stack\n\n subexit()\n // Hide the fact that we’re in phrasing, because escapes don’t work.\n stack = context.stack\n context.stack = []\n subexit = context.enter('reference')\n reference = safe(context, association(node), {before: '[', after: ']'})\n subexit()\n context.stack = stack\n exit()\n\n if (type === 'full' || !text || text !== reference) {\n value += '[' + reference + ']'\n } else if (type !== 'shortcut') {\n value += '[]'\n }\n\n return value\n}\n\nfunction linkReferencePeek() {\n return '['\n}\n","module.exports = link\nlink.peek = linkPeek\n\nvar checkQuote = require('../util/check-quote')\nvar formatLinkAsAutolink = require('../util/format-link-as-autolink')\nvar phrasing = require('../util/container-phrasing')\nvar safe = require('../util/safe')\n\nfunction link(node, _, context) {\n var quote = checkQuote(context)\n var suffix = quote === '\"' ? 'Quote' : 'Apostrophe'\n var exit\n var subexit\n var value\n var stack\n\n if (formatLinkAsAutolink(node, context)) {\n // Hide the fact that we’re in phrasing, because escapes don’t work.\n stack = context.stack\n context.stack = []\n exit = context.enter('autolink')\n value = '<' + phrasing(node, context, {before: '<', after: '>'}) + '>'\n exit()\n context.stack = stack\n return value\n }\n\n exit = context.enter('link')\n subexit = context.enter('label')\n value = '[' + phrasing(node, context, {before: '[', after: ']'}) + ']('\n subexit()\n\n if (\n // If there’s no url but there is a title…\n (!node.url && node.title) ||\n // Or if there’s markdown whitespace or an eol, enclose.\n /[ \\t\\r\\n]/.test(node.url)\n ) {\n subexit = context.enter('destinationLiteral')\n value += '<' + safe(context, node.url, {before: '<', after: '>'}) + '>'\n } else {\n // No whitespace, raw is prettier.\n subexit = context.enter('destinationRaw')\n value += safe(context, node.url, {\n before: '(',\n after: node.title ? ' ' : ')'\n })\n }\n\n subexit()\n\n if (node.title) {\n subexit = context.enter('title' + suffix)\n value +=\n ' ' +\n quote +\n safe(context, node.title, {before: quote, after: quote}) +\n quote\n subexit()\n }\n\n value += ')'\n\n exit()\n return value\n}\n\nfunction linkPeek(node, _, context) {\n return formatLinkAsAutolink(node, context) ? '<' : '['\n}\n","module.exports = listItem\n\nvar repeat = require('repeat-string')\nvar checkBullet = require('../util/check-bullet')\nvar checkListItemIndent = require('../util/check-list-item-indent')\nvar flow = require('../util/container-flow')\nvar indentLines = require('../util/indent-lines')\n\nfunction listItem(node, parent, context) {\n var bullet = checkBullet(context)\n var listItemIndent = checkListItemIndent(context)\n var size\n var value\n var exit\n\n if (parent && parent.ordered) {\n bullet =\n (parent.start > -1 ? parent.start : 1) +\n (context.options.incrementListMarker === false\n ? 0\n : parent.children.indexOf(node)) +\n '.'\n }\n\n size = bullet.length + 1\n\n if (\n listItemIndent === 'tab' ||\n (listItemIndent === 'mixed' && ((parent && parent.spread) || node.spread))\n ) {\n size = Math.ceil(size / 4) * 4\n }\n\n exit = context.enter('listItem')\n value = indentLines(flow(node, context), map)\n exit()\n\n return value\n\n function map(line, index, blank) {\n if (index) {\n return (blank ? '' : repeat(' ', size)) + line\n }\n\n return (blank ? bullet : bullet + repeat(' ', size - bullet.length)) + line\n }\n}\n","module.exports = list\n\nvar flow = require('../util/container-flow')\n\nfunction list(node, _, context) {\n var exit = context.enter('list')\n var value = flow(node, context)\n exit()\n return value\n}\n","module.exports = paragraph\n\nvar phrasing = require('../util/container-phrasing')\n\nfunction paragraph(node, _, context) {\n var exit = context.enter('paragraph')\n var subexit = context.enter('phrasing')\n var value = phrasing(node, context, {before: '\\n', after: '\\n'})\n subexit()\n exit()\n return value\n}\n","module.exports = root\n\nvar flow = require('../util/container-flow')\n\nfunction root(node, _, context) {\n return flow(node, context)\n}\n","module.exports = strong\nstrong.peek = strongPeek\n\nvar checkStrong = require('../util/check-strong')\nvar phrasing = require('../util/container-phrasing')\n\n// To do: there are cases where emphasis cannot “form” depending on the\n// previous or next character of sequences.\n// There’s no way around that though, except for injecting zero-width stuff.\n// Do we need to safeguard against that?\nfunction strong(node, _, context) {\n var marker = checkStrong(context)\n var exit = context.enter('strong')\n var value = phrasing(node, context, {before: marker, after: marker})\n exit()\n return marker + marker + value + marker + marker\n}\n\nfunction strongPeek(node, _, context) {\n return context.options.strong || '*'\n}\n","module.exports = text\n\nvar safe = require('../util/safe')\n\nfunction text(node, parent, context, safeOptions) {\n return safe(context, node.value, safeOptions)\n}\n","module.exports = thematicBreak\n\nvar repeat = require('repeat-string')\nvar checkRepeat = require('../util/check-rule-repeat')\nvar checkRule = require('../util/check-rule')\n\nfunction thematicBreak(node, parent, context) {\n var value = repeat(\n checkRule(context) + (context.options.ruleSpaces ? ' ' : ''),\n checkRepeat(context)\n )\n\n return context.options.ruleSpaces ? value.slice(0, -1) : value\n}\n","module.exports = toMarkdown\n\nvar zwitch = require('zwitch')\nvar configure = require('./configure')\nvar defaultHandlers = require('./handle')\nvar defaultJoin = require('./join')\nvar defaultUnsafe = require('./unsafe')\n\nfunction toMarkdown(tree, options) {\n var settings = options || {}\n var context = {\n enter: enter,\n stack: [],\n unsafe: [],\n join: [],\n handlers: {},\n options: {}\n }\n var result\n\n configure(context, {\n unsafe: defaultUnsafe,\n join: defaultJoin,\n handlers: defaultHandlers\n })\n configure(context, settings)\n\n if (context.options.tightDefinitions) {\n context.join = [joinDefinition].concat(context.join)\n }\n\n context.handle = zwitch('type', {\n invalid: invalid,\n unknown: unknown,\n handlers: context.handlers\n })\n\n result = context.handle(tree, null, context, {before: '\\n', after: '\\n'})\n\n if (\n result &&\n result.charCodeAt(result.length - 1) !== 10 &&\n result.charCodeAt(result.length - 1) !== 13\n ) {\n result += '\\n'\n }\n\n return result\n\n function enter(name) {\n context.stack.push(name)\n return exit\n\n function exit() {\n context.stack.pop()\n }\n }\n}\n\nfunction invalid(value) {\n throw new Error('Cannot handle value `' + value + '`, expected node')\n}\n\nfunction unknown(node) {\n throw new Error('Cannot handle unknown node `' + node.type + '`')\n}\n\nfunction joinDefinition(left, right) {\n // No blank line between adjacent definitions.\n if (left.type === 'definition' && left.type === right.type) {\n return 0\n }\n}\n","module.exports = [joinDefaults]\n\nvar formatCodeAsIndented = require('./util/format-code-as-indented')\nvar formatHeadingAsSetext = require('./util/format-heading-as-setext')\n\nfunction joinDefaults(left, right, parent, context) {\n if (\n // Two lists with the same marker.\n (right.type === 'list' &&\n right.type === left.type &&\n Boolean(left.ordered) === Boolean(right.ordered)) ||\n // Indented code after list or another indented code.\n (right.type === 'code' &&\n formatCodeAsIndented(right, context) &&\n (left.type === 'list' ||\n (left.type === right.type && formatCodeAsIndented(left, context))))\n ) {\n return false\n }\n\n // Join children of a list or an item.\n // In which case, `parent` has a `spread` field.\n if (typeof parent.spread === 'boolean') {\n if (\n left.type === 'paragraph' &&\n // Two paragraphs.\n (left.type === right.type ||\n right.type === 'definition' ||\n // Paragraph followed by a setext heading.\n (right.type === 'heading' && formatHeadingAsSetext(right, context)))\n ) {\n return\n }\n\n return parent.spread ? 1 : 0\n }\n}\n","module.exports = [\n {\n character: '\\t',\n inConstruct: ['codeFencedLangGraveAccent', 'codeFencedLangTilde']\n },\n {\n character: '\\r',\n inConstruct: [\n 'codeFencedLangGraveAccent',\n 'codeFencedLangTilde',\n 'codeFencedMetaGraveAccent',\n 'codeFencedMetaTilde',\n 'destinationLiteral',\n 'headingAtx'\n ]\n },\n {\n character: '\\n',\n inConstruct: [\n 'codeFencedLangGraveAccent',\n 'codeFencedLangTilde',\n 'codeFencedMetaGraveAccent',\n 'codeFencedMetaTilde',\n 'destinationLiteral',\n 'headingAtx'\n ]\n },\n {\n character: ' ',\n inConstruct: ['codeFencedLangGraveAccent', 'codeFencedLangTilde']\n },\n // An exclamation mark can start an image, if it is followed by a link or\n // a link reference.\n {character: '!', after: '\\\\[', inConstruct: 'phrasing'},\n // A quote can break out of a title.\n {character: '\"', inConstruct: 'titleQuote'},\n // A number sign could start an ATX heading if it starts a line.\n {atBreak: true, character: '#'},\n {character: '#', inConstruct: 'headingAtx', after: '(?:[\\r\\n]|$)'},\n // Dollar sign and percentage are not used in markdown.\n // An ampersand could start a character reference.\n {character: '&', after: '[#A-Za-z]', inConstruct: 'phrasing'},\n // An apostrophe can break out of a title.\n {character: \"'\", inConstruct: 'titleApostrophe'},\n // A left paren could break out of a destination raw.\n {character: '(', inConstruct: 'destinationRaw'},\n {before: '\\\\]', character: '(', inConstruct: 'phrasing'},\n // A right paren could start a list item or break out of a destination\n // raw.\n {atBreak: true, before: '\\\\d+', character: ')'},\n {character: ')', inConstruct: 'destinationRaw'},\n // An asterisk can start thematic breaks, list items, emphasis, strong.\n {atBreak: true, character: '*'},\n {character: '*', inConstruct: 'phrasing'},\n // A plus sign could start a list item.\n {atBreak: true, character: '+'},\n // A dash can start thematic breaks, list items, and setext heading\n // underlines.\n {atBreak: true, character: '-'},\n // A dot could start a list item.\n {atBreak: true, before: '\\\\d+', character: '.', after: '(?:[ \\t\\r\\n]|$)'},\n // Slash, colon, and semicolon are not used in markdown for constructs.\n // A less than can start html (flow or text) or an autolink.\n // HTML could start with an exclamation mark (declaration, cdata, comment),\n // slash (closing tag), question mark (instruction), or a letter (tag).\n // An autolink also starts with a letter.\n // Finally, it could break out of a destination literal.\n {atBreak: true, character: '<', after: '[!/?A-Za-z]'},\n {character: '<', after: '[!/?A-Za-z]', inConstruct: 'phrasing'},\n {character: '<', inConstruct: 'destinationLiteral'},\n // An equals to can start setext heading underlines.\n {atBreak: true, character: '='},\n // A greater than can start block quotes and it can break out of a\n // destination literal.\n {atBreak: true, character: '>'},\n {character: '>', inConstruct: 'destinationLiteral'},\n // Question mark and at sign are not used in markdown for constructs.\n // A left bracket can start definitions, references, labels,\n {atBreak: true, character: '['},\n {character: '[', inConstruct: ['phrasing', 'label', 'reference']},\n // A backslash can start an escape (when followed by punctuation) or a\n // hard break (when followed by an eol).\n // Note: typical escapes are handled in `safe`!\n {character: '\\\\', after: '[\\\\r\\\\n]', inConstruct: 'phrasing'},\n // A right bracket can exit labels.\n {\n character: ']',\n inConstruct: ['label', 'reference']\n },\n // Caret is not used in markdown for constructs.\n // An underscore can start emphasis, strong, or a thematic break.\n {atBreak: true, character: '_'},\n {before: '[^A-Za-z]', character: '_', inConstruct: 'phrasing'},\n {character: '_', after: '[^A-Za-z]', inConstruct: 'phrasing'},\n // A grave accent can start code (fenced or text), or it can break out of\n // a grave accent code fence.\n {atBreak: true, character: '`'},\n {\n character: '`',\n inConstruct: [\n 'codeFencedLangGraveAccent',\n 'codeFencedMetaGraveAccent',\n 'phrasing'\n ]\n },\n // Left brace, vertical bar, right brace are not used in markdown for\n // constructs.\n // A tilde can start code (fenced).\n {atBreak: true, character: '~'}\n]\n","module.exports = association\n\nvar decode = require('parse-entities/decode-entity')\n\nvar characterEscape = /\\\\([!-/:-@[-`{-~])/g\nvar characterReference = /&(#(\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi\n\n// The `label` of an association is the string value: character escapes and\n// references work, and casing is intact.\n// The `identifier` is used to match one association to another: controversially,\n// character escapes and references don’t work in this matching: `©` does\n// not match `©`, and `\\+` does not match `+`.\n// But casing is ignored (and whitespace) is trimmed and collapsed: ` A\\nb`\n// matches `a b`.\n// So, we do prefer the label when figuring out how we’re going to serialize:\n// it has whitespace, casing, and we can ignore most useless character escapes\n// and all character references.\nfunction association(node) {\n if (node.label || !node.identifier) {\n return node.label || ''\n }\n\n return node.identifier\n .replace(characterEscape, '$1')\n .replace(characterReference, decodeIfPossible)\n}\n\nfunction decodeIfPossible($0, $1) {\n return decode($1) || $0\n}\n","module.exports = checkBullet\n\nfunction checkBullet(context) {\n var marker = context.options.bullet || '*'\n\n if (marker !== '*' && marker !== '+' && marker !== '-') {\n throw new Error(\n 'Cannot serialize items with `' +\n marker +\n '` for `options.bullet`, expected `*`, `+`, or `-`'\n )\n }\n\n return marker\n}\n","module.exports = checkEmphasis\n\nfunction checkEmphasis(context) {\n var marker = context.options.emphasis || '*'\n\n if (marker !== '*' && marker !== '_') {\n throw new Error(\n 'Cannot serialize emphasis with `' +\n marker +\n '` for `options.emphasis`, expected `*`, or `_`'\n )\n }\n\n return marker\n}\n","module.exports = checkFence\n\nfunction checkFence(context) {\n var marker = context.options.fence || '`'\n\n if (marker !== '`' && marker !== '~') {\n throw new Error(\n 'Cannot serialize code with `' +\n marker +\n '` for `options.fence`, expected `` ` `` or `~`'\n )\n }\n\n return marker\n}\n","module.exports = checkListItemIndent\n\nfunction checkListItemIndent(context) {\n var style = context.options.listItemIndent || 'tab'\n\n if (style === 1 || style === '1') {\n return 'one'\n }\n\n if (style !== 'tab' && style !== 'one' && style !== 'mixed') {\n throw new Error(\n 'Cannot serialize items with `' +\n style +\n '` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`'\n )\n }\n\n return style\n}\n","module.exports = checkQuote\n\nfunction checkQuote(context) {\n var marker = context.options.quote || '\"'\n\n if (marker !== '\"' && marker !== \"'\") {\n throw new Error(\n 'Cannot serialize title with `' +\n marker +\n '` for `options.quote`, expected `\"`, or `\\'`'\n )\n }\n\n return marker\n}\n","module.exports = checkRule\n\nfunction checkRule(context) {\n var repetition = context.options.ruleRepetition || 3\n\n if (repetition < 3) {\n throw new Error(\n 'Cannot serialize rules with repetition `' +\n repetition +\n '` for `options.ruleRepetition`, expected `3` or more'\n )\n }\n\n return repetition\n}\n","module.exports = checkRule\n\nfunction checkRule(context) {\n var marker = context.options.rule || '*'\n\n if (marker !== '*' && marker !== '-' && marker !== '_') {\n throw new Error(\n 'Cannot serialize rules with `' +\n marker +\n '` for `options.rule`, expected `*`, `-`, or `_`'\n )\n }\n\n return marker\n}\n","module.exports = checkStrong\n\nfunction checkStrong(context) {\n var marker = context.options.strong || '*'\n\n if (marker !== '*' && marker !== '_') {\n throw new Error(\n 'Cannot serialize strong with `' +\n marker +\n '` for `options.strong`, expected `*`, or `_`'\n )\n }\n\n return marker\n}\n","module.exports = flow\n\nvar repeat = require('repeat-string')\n\nfunction flow(parent, context) {\n var children = parent.children || []\n var results = []\n var index = -1\n var child\n\n while (++index < children.length) {\n child = children[index]\n\n results.push(\n context.handle(child, parent, context, {before: '\\n', after: '\\n'})\n )\n\n if (index + 1 < children.length) {\n results.push(between(child, children[index + 1]))\n }\n }\n\n return results.join('')\n\n function between(left, right) {\n var index = -1\n var result\n\n while (++index < context.join.length) {\n result = context.join[index](left, right, parent, context)\n\n if (result === true || result === 1) {\n break\n }\n\n if (typeof result === 'number') {\n return repeat('\\n', 1 + Number(result))\n }\n\n if (result === false) {\n return '\\n\\n\\n\\n'\n }\n }\n\n return '\\n\\n'\n }\n}\n","module.exports = phrasing\n\nfunction phrasing(parent, context, safeOptions) {\n var children = parent.children || []\n var results = []\n var index = -1\n var before = safeOptions.before\n var after\n var handle\n var child\n\n while (++index < children.length) {\n child = children[index]\n\n if (index + 1 < children.length) {\n handle = context.handle.handlers[children[index + 1].type]\n if (handle && handle.peek) handle = handle.peek\n after = handle\n ? handle(children[index + 1], parent, context, {\n before: '',\n after: ''\n }).charAt(0)\n : ''\n } else {\n after = safeOptions.after\n }\n\n // In some cases, html (text) can be found in phrasing right after an eol.\n // When we’d serialize that, in most cases that would be seen as html\n // (flow).\n // As we can’t escape or so to prevent it from happening, we take a somewhat\n // reasonable approach: replace that eol with a space.\n // See: \n if (\n results.length > 0 &&\n (before === '\\r' || before === '\\n') &&\n child.type === 'html'\n ) {\n results[results.length - 1] = results[results.length - 1].replace(\n /(\\r?\\n|\\r)$/,\n ' '\n )\n before = ' '\n }\n\n results.push(\n context.handle(child, parent, context, {\n before: before,\n after: after\n })\n )\n\n before = results[results.length - 1].slice(-1)\n }\n\n return results.join('')\n}\n","module.exports = formatCodeAsIndented\n\nfunction formatCodeAsIndented(node, context) {\n return (\n !context.options.fences &&\n node.value &&\n // If there’s no info…\n !node.lang &&\n // And there’s a non-whitespace character…\n /[^ \\r\\n]/.test(node.value) &&\n // And the value doesn’t start or end in a blank…\n !/^[\\t ]*(?:[\\r\\n]|$)|(?:^|[\\r\\n])[\\t ]*$/.test(node.value)\n )\n}\n","module.exports = formatHeadingAsSetext\n\nvar toString = require('mdast-util-to-string')\n\nfunction formatHeadingAsSetext(node, context) {\n return (\n context.options.setext && (!node.depth || node.depth < 3) && toString(node)\n )\n}\n","module.exports = formatLinkAsAutolink\n\nvar toString = require('mdast-util-to-string')\n\nfunction formatLinkAsAutolink(node, context) {\n var raw = toString(node)\n\n return (\n !context.options.resourceLink &&\n // If there’s a url…\n node.url &&\n // And there’s a no title…\n !node.title &&\n // And the content of `node` is a single text node…\n node.children &&\n node.children.length === 1 &&\n node.children[0].type === 'text' &&\n // And if the url is the same as the content…\n (raw === node.url || 'mailto:' + raw === node.url) &&\n // And that starts w/ a protocol…\n /^[a-z][a-z+.-]+:/i.test(node.url) &&\n // And that doesn’t contain ASCII control codes (character escapes and\n // references don’t work) or angle brackets…\n !/[\\0- <>\\u007F]/.test(node.url)\n )\n}\n","module.exports = indentLines\n\nvar eol = /\\r?\\n|\\r/g\n\nfunction indentLines(value, map) {\n var result = []\n var start = 0\n var line = 0\n var match\n\n while ((match = eol.exec(value))) {\n one(value.slice(start, match.index))\n result.push(match[0])\n start = match.index + match[0].length\n line++\n }\n\n one(value.slice(start))\n\n return result.join('')\n\n function one(value) {\n result.push(map(value, line, !value))\n }\n}\n","module.exports = patternCompile\n\nfunction patternCompile(pattern) {\n var before\n var after\n\n if (!pattern._compiled) {\n before = pattern.before ? '(?:' + pattern.before + ')' : ''\n after = pattern.after ? '(?:' + pattern.after + ')' : ''\n\n if (pattern.atBreak) {\n before = '[\\\\r\\\\n][\\\\t ]*' + before\n }\n\n pattern._compiled = new RegExp(\n (before ? '(' + before + ')' : '') +\n (/[|\\\\{}()[\\]^$+*?.-]/.test(pattern.character) ? '\\\\' : '') +\n pattern.character +\n (after || ''),\n 'g'\n )\n }\n\n return pattern._compiled\n}\n","module.exports = patternInScope\n\nfunction patternInScope(stack, pattern) {\n return (\n listInScope(stack, pattern.inConstruct, true) &&\n !listInScope(stack, pattern.notInConstruct)\n )\n}\n\nfunction listInScope(stack, list, none) {\n var index\n\n if (!list) {\n return none\n }\n\n if (typeof list === 'string') {\n list = [list]\n }\n\n index = -1\n\n while (++index < list.length) {\n if (stack.indexOf(list[index]) !== -1) {\n return true\n }\n }\n\n return false\n}\n","module.exports = safe\n\nvar patternCompile = require('./pattern-compile')\nvar patternInScope = require('./pattern-in-scope')\n\nfunction safe(context, input, config) {\n var value = (config.before || '') + (input || '') + (config.after || '')\n var positions = []\n var result = []\n var infos = {}\n var index = -1\n var before\n var after\n var position\n var pattern\n var expression\n var match\n var start\n var end\n\n while (++index < context.unsafe.length) {\n pattern = context.unsafe[index]\n\n if (!patternInScope(context.stack, pattern)) {\n continue\n }\n\n expression = patternCompile(pattern)\n\n while ((match = expression.exec(value))) {\n before = 'before' in pattern || pattern.atBreak\n after = 'after' in pattern\n\n position = match.index + (before ? match[1].length : 0)\n\n if (positions.indexOf(position) === -1) {\n positions.push(position)\n infos[position] = {before: before, after: after}\n } else {\n if (infos[position].before && !before) {\n infos[position].before = false\n }\n\n if (infos[position].after && !after) {\n infos[position].after = false\n }\n }\n }\n }\n\n positions.sort(numerical)\n\n start = config.before ? config.before.length : 0\n end = value.length - (config.after ? config.after.length : 0)\n index = -1\n\n while (++index < positions.length) {\n position = positions[index]\n\n if (\n // Character before or after matched:\n position < start ||\n position >= end\n ) {\n continue\n }\n\n // If this character is supposed to be escaped because it has a condition on\n // the next character, and the next character is definitly being escaped,\n // then skip this escape.\n if (\n position + 1 < end &&\n positions[index + 1] === position + 1 &&\n infos[position].after &&\n !infos[position + 1].before &&\n !infos[position + 1].after\n ) {\n continue\n }\n\n if (start !== position) {\n // If we have to use a character reference, an ampersand would be more\n // correct, but as backslashes only care about punctuation, either will\n // do the trick\n result.push(escapeBackslashes(value.slice(start, position), '\\\\'))\n }\n\n start = position\n\n if (\n /[!-/:-@[-`{-~]/.test(value.charAt(position)) &&\n (!config.encode || config.encode.indexOf(value.charAt(position)) === -1)\n ) {\n // Character escape.\n result.push('\\\\')\n } else {\n // Character reference.\n result.push(\n '&#x' + value.charCodeAt(position).toString(16).toUpperCase() + ';'\n )\n start++\n }\n }\n\n result.push(escapeBackslashes(value.slice(start, end), config.after))\n\n return result.join('')\n}\n\nfunction numerical(a, b) {\n return a - b\n}\n\nfunction escapeBackslashes(value, after) {\n var expression = /\\\\(?=[!-/:-@[-`{-~])/g\n var positions = []\n var results = []\n var index = -1\n var start = 0\n var whole = value + after\n var match\n\n while ((match = expression.exec(whole))) {\n positions.push(match.index)\n }\n\n while (++index < positions.length) {\n if (start !== positions[index]) {\n results.push(value.slice(start, positions[index]))\n }\n\n results.push('\\\\')\n start = positions[index]\n }\n\n results.push(value.slice(start))\n\n return results.join('')\n}\n","'use strict'\n\nmodule.exports = toString\n\n// Get the text content of a node.\n// Prefer the node’s plain-text fields, otherwise serialize its children,\n// and if the given value is an array, serialize the nodes in it.\nfunction toString(node) {\n return (\n (node &&\n (node.value ||\n node.alt ||\n node.title ||\n ('children' in node && all(node.children)) ||\n ('length' in node && all(node)))) ||\n ''\n )\n}\n\nfunction all(values) {\n var result = []\n var index = -1\n\n while (++index < values.length) {\n result[index] = toString(values[index])\n }\n\n return result.join('')\n}\n","'use strict'\n\n/* eslint-env browser */\n\nvar el\n\nvar semicolon = 59 // ';'\n\nmodule.exports = decodeEntity\n\nfunction decodeEntity(characters) {\n var entity = '&' + characters + ';'\n var char\n\n el = el || document.createElement('i')\n el.innerHTML = entity\n char = el.textContent\n\n // Some entities do not require the closing semicolon (`¬` - for instance),\n // which leads to situations where parsing the assumed entity of ¬it; will\n // result in the string `¬it;`. When we encounter a trailing semicolon after\n // parsing and the entity to decode was not a semicolon (`;`), we can\n // assume that the matching was incomplete\n if (char.charCodeAt(char.length - 1) === semicolon && characters !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the entity was not valid\n return char === entity ? false : char\n}\n","'use strict'\n\nmodule.exports = factory\n\nvar noop = Function.prototype\nvar own = {}.hasOwnProperty\n\n// Handle values based on a property.\nfunction factory(key, options) {\n var settings = options || {}\n\n function one(value) {\n var fn = one.invalid\n var handlers = one.handlers\n\n if (value && own.call(value, key)) {\n fn = own.call(handlers, value[key]) ? handlers[value[key]] : one.unknown\n }\n\n return (fn || noop).apply(this, arguments)\n }\n\n one.handlers = settings.handlers || {}\n one.invalid = settings.invalid\n one.unknown = settings.unknown\n\n return one\n}\n","'use strict'\n\nvar unified = require('unified')\nvar parse = require('remark-parse')\nvar stringify = require('remark-stringify')\n\nmodule.exports = unified().use(parse).use(stringify).freeze()\n","'use strict'\n\nmodule.exports = bail\n\nfunction bail(err) {\n if (err) {\n throw err\n }\n}\n","'use strict';\n\nmodule.exports = value => {\n\tif (Object.prototype.toString.call(value) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn prototype === null || prototype === Object.prototype;\n};\n","'use strict'\n\nmodule.exports = fromMarkdown\n\n// These three are compiled away in the `dist/`\n\nvar toString = require('mdast-util-to-string')\nvar assign = require('micromark/dist/constant/assign')\nvar own = require('micromark/dist/constant/has-own-property')\nvar normalizeIdentifier = require('micromark/dist/util/normalize-identifier')\nvar safeFromInt = require('micromark/dist/util/safe-from-int')\nvar parser = require('micromark/dist/parse')\nvar preprocessor = require('micromark/dist/preprocess')\nvar postprocess = require('micromark/dist/postprocess')\nvar decode = require('parse-entities/decode-entity')\nvar stringifyPosition = require('unist-util-stringify-position')\n\nfunction fromMarkdown(value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding\n encoding = undefined\n }\n\n return compiler(options)(\n postprocess(\n parser(options).document().write(preprocessor()(value, encoding, true))\n )\n )\n}\n\n// Note this compiler only understand complete buffering, not streaming.\nfunction compiler(options) {\n var settings = options || {}\n var config = configure(\n {\n transforms: [],\n canContainEols: [\n 'emphasis',\n 'fragment',\n 'heading',\n 'paragraph',\n 'strong'\n ],\n\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n },\n\n settings.mdastExtensions || []\n )\n\n var data = {}\n\n return compile\n\n function compile(events) {\n var tree = {type: 'root', children: []}\n var stack = [tree]\n var tokenStack = []\n var listStack = []\n var index = -1\n var handler\n var listStart\n\n var context = {\n stack: stack,\n tokenStack: tokenStack,\n config: config,\n enter: enter,\n exit: exit,\n buffer: buffer,\n resume: resume,\n setData: setData,\n getData: getData\n }\n\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (\n events[index][1].type === 'listOrdered' ||\n events[index][1].type === 'listUnordered'\n ) {\n if (events[index][0] === 'enter') {\n listStack.push(index)\n } else {\n listStart = listStack.pop(index)\n index = prepareList(events, listStart, index)\n }\n }\n }\n\n index = -1\n\n while (++index < events.length) {\n handler = config[events[index][0]]\n\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(\n assign({sliceSerialize: events[index][2].sliceSerialize}, context),\n events[index][1]\n )\n }\n }\n\n if (tokenStack.length) {\n throw new Error(\n 'Cannot close document, a token (`' +\n tokenStack[tokenStack.length - 1].type +\n '`, ' +\n stringifyPosition({\n start: tokenStack[tokenStack.length - 1].start,\n end: tokenStack[tokenStack.length - 1].end\n }) +\n ') is still open'\n )\n }\n\n // Figure out `root` position.\n tree.position = {\n start: point(\n events.length ? events[0][1].start : {line: 1, column: 1, offset: 0}\n ),\n\n end: point(\n events.length\n ? events[events.length - 2][1].end\n : {line: 1, column: 1, offset: 0}\n )\n }\n\n index = -1\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree\n }\n\n return tree\n }\n\n function prepareList(events, start, length) {\n var index = start - 1\n var containerBalance = -1\n var listSpread = false\n var listItem\n var tailIndex\n var lineIndex\n var tailEvent\n var event\n var firstBlankLineIndex\n var atMarker\n\n while (++index <= length) {\n event = events[index]\n\n if (\n event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered' ||\n event[1].type === 'blockQuote'\n ) {\n if (event[0] === 'enter') {\n containerBalance++\n } else {\n containerBalance--\n }\n\n atMarker = undefined\n } else if (event[1].type === 'lineEndingBlank') {\n if (event[0] === 'enter') {\n if (\n listItem &&\n !atMarker &&\n !containerBalance &&\n !firstBlankLineIndex\n ) {\n firstBlankLineIndex = index\n }\n\n atMarker = undefined\n }\n } else if (\n event[1].type === 'linePrefix' ||\n event[1].type === 'listItemValue' ||\n event[1].type === 'listItemMarker' ||\n event[1].type === 'listItemPrefix' ||\n event[1].type === 'listItemPrefixWhitespace'\n ) {\n // Empty.\n } else {\n atMarker = undefined\n }\n\n if (\n (!containerBalance &&\n event[0] === 'enter' &&\n event[1].type === 'listItemPrefix') ||\n (containerBalance === -1 &&\n event[0] === 'exit' &&\n (event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered'))\n ) {\n if (listItem) {\n tailIndex = index\n lineIndex = undefined\n\n while (tailIndex--) {\n tailEvent = events[tailIndex]\n\n if (\n tailEvent[1].type === 'lineEnding' ||\n tailEvent[1].type === 'lineEndingBlank'\n ) {\n if (tailEvent[0] === 'exit') continue\n\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n listSpread = true\n }\n\n tailEvent[1].type = 'lineEnding'\n lineIndex = tailIndex\n } else if (\n tailEvent[1].type === 'linePrefix' ||\n tailEvent[1].type === 'blockQuotePrefix' ||\n tailEvent[1].type === 'blockQuotePrefixWhitespace' ||\n tailEvent[1].type === 'blockQuoteMarker' ||\n tailEvent[1].type === 'listItemIndent'\n ) {\n // Empty\n } else {\n break\n }\n }\n\n if (\n firstBlankLineIndex &&\n (!lineIndex || firstBlankLineIndex < lineIndex)\n ) {\n listItem._spread = true\n }\n\n // Fix position.\n listItem.end = point(\n lineIndex ? events[lineIndex][1].start : event[1].end\n )\n\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]])\n index++\n length++\n }\n\n // Create a new list item.\n if (event[1].type === 'listItemPrefix') {\n listItem = {\n type: 'listItem',\n _spread: false,\n start: point(event[1].start)\n }\n\n events.splice(index, 0, ['enter', listItem, event[2]])\n index++\n length++\n firstBlankLineIndex = undefined\n atMarker = true\n }\n }\n }\n\n events[start][1]._spread = listSpread\n return length\n }\n\n function setData(key, value) {\n data[key] = value\n }\n\n function getData(key) {\n return data[key]\n }\n\n function point(d) {\n return {line: d.line, column: d.column, offset: d.offset}\n }\n\n function opener(create, and) {\n return open\n\n function open(token) {\n enter.call(this, create(token), token)\n if (and) and.call(this, token)\n }\n }\n\n function buffer() {\n this.stack.push({type: 'fragment', children: []})\n }\n\n function enter(node, token) {\n this.stack[this.stack.length - 1].children.push(node)\n this.stack.push(node)\n this.tokenStack.push(token)\n node.position = {start: point(token.start)}\n return node\n }\n\n function closer(and) {\n return close\n\n function close(token) {\n if (and) and.call(this, token)\n exit.call(this, token)\n }\n }\n\n function exit(token) {\n var node = this.stack.pop()\n var open = this.tokenStack.pop()\n\n if (!open) {\n throw new Error(\n 'Cannot close `' +\n token.type +\n '` (' +\n stringifyPosition({start: token.start, end: token.end}) +\n '): it’s not open'\n )\n } else if (open.type !== token.type) {\n throw new Error(\n 'Cannot close `' +\n token.type +\n '` (' +\n stringifyPosition({start: token.start, end: token.end}) +\n '): a different token (`' +\n open.type +\n '`, ' +\n stringifyPosition({start: open.start, end: open.end}) +\n ') is open'\n )\n }\n\n node.position.end = point(token.end)\n return node\n }\n\n function resume() {\n return toString(this.stack.pop())\n }\n\n //\n // Handlers.\n //\n\n function onenterlistordered() {\n setData('expectingFirstListItemValue', true)\n }\n\n function onenterlistitemvalue(token) {\n if (getData('expectingFirstListItemValue')) {\n this.stack[this.stack.length - 2].start = parseInt(\n this.sliceSerialize(token),\n 10\n )\n\n setData('expectingFirstListItemValue')\n }\n }\n\n function onexitcodefencedfenceinfo() {\n var data = this.resume()\n this.stack[this.stack.length - 1].lang = data\n }\n\n function onexitcodefencedfencemeta() {\n var data = this.resume()\n this.stack[this.stack.length - 1].meta = data\n }\n\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (getData('flowCodeInside')) return\n this.buffer()\n setData('flowCodeInside', true)\n }\n\n function onexitcodefenced() {\n var data = this.resume()\n this.stack[this.stack.length - 1].value = data.replace(\n /^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g,\n ''\n )\n\n setData('flowCodeInside')\n }\n\n function onexitcodeindented() {\n var data = this.resume()\n this.stack[this.stack.length - 1].value = data\n }\n\n function onexitdefinitionlabelstring(token) {\n // Discard label, use the source content instead.\n var label = this.resume()\n this.stack[this.stack.length - 1].label = label\n this.stack[this.stack.length - 1].identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n function onexitdefinitiontitlestring() {\n var data = this.resume()\n this.stack[this.stack.length - 1].title = data\n }\n\n function onexitdefinitiondestinationstring() {\n var data = this.resume()\n this.stack[this.stack.length - 1].url = data\n }\n\n function onexitatxheadingsequence(token) {\n if (!this.stack[this.stack.length - 1].depth) {\n this.stack[this.stack.length - 1].depth = this.sliceSerialize(\n token\n ).length\n }\n }\n\n function onexitsetextheadingtext() {\n setData('setextHeadingSlurpLineEnding', true)\n }\n\n function onexitsetextheadinglinesequence(token) {\n this.stack[this.stack.length - 1].depth =\n this.sliceSerialize(token).charCodeAt(0) === 61 ? 1 : 2\n }\n\n function onexitsetextheading() {\n setData('setextHeadingSlurpLineEnding')\n }\n\n function onenterdata(token) {\n var siblings = this.stack[this.stack.length - 1].children\n var tail = siblings[siblings.length - 1]\n\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text()\n tail.position = {start: point(token.start)}\n this.stack[this.stack.length - 1].children.push(tail)\n }\n\n this.stack.push(tail)\n }\n\n function onexitdata(token) {\n var tail = this.stack.pop()\n tail.value += this.sliceSerialize(token)\n tail.position.end = point(token.end)\n }\n\n function onexitlineending(token) {\n var context = this.stack[this.stack.length - 1]\n\n // If we’re at a hard break, include the line ending in there.\n if (getData('atHardBreak')) {\n context.children[context.children.length - 1].position.end = point(\n token.end\n )\n\n setData('atHardBreak')\n return\n }\n\n if (\n !getData('setextHeadingSlurpLineEnding') &&\n config.canContainEols.indexOf(context.type) > -1\n ) {\n onenterdata.call(this, token)\n onexitdata.call(this, token)\n }\n }\n\n function onexithardbreak() {\n setData('atHardBreak', true)\n }\n\n function onexithtmlflow() {\n var data = this.resume()\n this.stack[this.stack.length - 1].value = data\n }\n\n function onexithtmltext() {\n var data = this.resume()\n this.stack[this.stack.length - 1].value = data\n }\n\n function onexitcodetext() {\n var data = this.resume()\n this.stack[this.stack.length - 1].value = data\n }\n\n function onexitlink() {\n var context = this.stack[this.stack.length - 1]\n\n // To do: clean.\n if (getData('inReference')) {\n context.type += 'Reference'\n context.referenceType = getData('referenceType') || 'shortcut'\n delete context.url\n delete context.title\n } else {\n delete context.identifier\n delete context.label\n delete context.referenceType\n }\n\n setData('referenceType')\n }\n\n function onexitimage() {\n var context = this.stack[this.stack.length - 1]\n\n // To do: clean.\n if (getData('inReference')) {\n context.type += 'Reference'\n context.referenceType = getData('referenceType') || 'shortcut'\n delete context.url\n delete context.title\n } else {\n delete context.identifier\n delete context.label\n delete context.referenceType\n }\n\n setData('referenceType')\n }\n\n function onexitlabeltext(token) {\n this.stack[this.stack.length - 2].identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n function onexitlabel() {\n var fragment = this.stack[this.stack.length - 1]\n var value = this.resume()\n\n this.stack[this.stack.length - 1].label = value\n\n // Assume a reference.\n setData('inReference', true)\n\n if (this.stack[this.stack.length - 1].type === 'link') {\n this.stack[this.stack.length - 1].children = fragment.children\n } else {\n this.stack[this.stack.length - 1].alt = value\n }\n }\n\n function onexitresourcedestinationstring() {\n var data = this.resume()\n this.stack[this.stack.length - 1].url = data\n }\n\n function onexitresourcetitlestring() {\n var data = this.resume()\n this.stack[this.stack.length - 1].title = data\n }\n\n function onexitresource() {\n setData('inReference')\n }\n\n function onenterreference() {\n setData('referenceType', 'collapsed')\n }\n\n function onexitreferencestring(token) {\n var label = this.resume()\n this.stack[this.stack.length - 1].label = label\n this.stack[this.stack.length - 1].identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n setData('referenceType', 'full')\n }\n\n function onexitcharacterreferencemarker(token) {\n setData('characterReferenceType', token.type)\n }\n\n function onexitcharacterreferencevalue(token) {\n var data = this.sliceSerialize(token)\n var type = getData('characterReferenceType')\n var value\n var tail\n\n if (type) {\n value = safeFromInt(\n data,\n type === 'characterReferenceMarkerNumeric' ? 10 : 16\n )\n\n setData('characterReferenceType')\n } else {\n value = decode(data)\n }\n\n tail = this.stack.pop()\n tail.value += value\n tail.position.end = point(token.end)\n }\n\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token)\n this.stack[this.stack.length - 1].url = this.sliceSerialize(token)\n }\n\n function onexitautolinkemail(token) {\n onexitdata.call(this, token)\n this.stack[this.stack.length - 1].url =\n 'mailto:' + this.sliceSerialize(token)\n }\n\n //\n // Creaters.\n //\n\n function blockQuote() {\n return {type: 'blockquote', children: []}\n }\n\n function codeFlow() {\n return {type: 'code', lang: null, meta: null, value: ''}\n }\n\n function codeText() {\n return {type: 'inlineCode', value: ''}\n }\n\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n }\n }\n\n function emphasis() {\n return {type: 'emphasis', children: []}\n }\n\n function heading() {\n return {type: 'heading', depth: undefined, children: []}\n }\n\n function hardBreak() {\n return {type: 'break'}\n }\n\n function html() {\n return {type: 'html', value: ''}\n }\n\n function image() {\n return {type: 'image', title: null, url: '', alt: null}\n }\n\n function link() {\n return {type: 'link', title: null, url: '', children: []}\n }\n\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n spread: token._spread,\n children: []\n }\n }\n\n function listItem(token) {\n return {\n type: 'listItem',\n spread: token._spread,\n checked: null,\n children: []\n }\n }\n\n function paragraph() {\n return {type: 'paragraph', children: []}\n }\n\n function strong() {\n return {type: 'strong', children: []}\n }\n\n function text() {\n return {type: 'text', value: ''}\n }\n\n function thematicBreak() {\n return {type: 'thematicBreak'}\n }\n}\n\nfunction configure(config, extensions) {\n var index = -1\n\n while (++index < extensions.length) {\n extension(config, extensions[index])\n }\n\n return config\n}\n\nfunction extension(config, extension) {\n var key\n var left\n\n for (key in extension) {\n left = own.call(config, key) ? config[key] : (config[key] = {})\n\n if (key === 'canContainEols' || key === 'transforms') {\n config[key] = [].concat(left, extension[key])\n } else {\n Object.assign(left, extension[key])\n }\n }\n}\n","'use strict'\n\nmodule.exports = require('./dist')\n","'use strict'\n\nmodule.exports = toString\n\n// Get the text content of a node.\n// Prefer the node’s plain-text fields, otherwise serialize its children,\n// and if the given value is an array, serialize the nodes in it.\nfunction toString(node) {\n return (\n (node &&\n (node.value ||\n node.alt ||\n node.title ||\n ('children' in node && all(node.children)) ||\n ('length' in node && all(node)))) ||\n ''\n )\n}\n\nfunction all(values) {\n var result = []\n var index = -1\n\n while (++index < values.length) {\n result[index] = toString(values[index])\n }\n\n return result.join('')\n}\n","'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar asciiAlpha = regexCheck(/[A-Za-z]/)\n\nmodule.exports = asciiAlpha\n","'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/)\n\nmodule.exports = asciiAlphanumeric\n","'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/)\n\nmodule.exports = asciiAtext\n","'use strict'\n\n// Note: EOF is seen as ASCII control here, because `null < 32 == true`.\nfunction asciiControl(code) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code < 32 || code === 127\n )\n}\n\nmodule.exports = asciiControl\n","'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar asciiDigit = regexCheck(/\\d/)\n\nmodule.exports = asciiDigit\n","'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar asciiHexDigit = regexCheck(/[\\dA-Fa-f]/)\n\nmodule.exports = asciiHexDigit\n","'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/)\n\nmodule.exports = asciiPunctuation\n","'use strict'\n\nfunction markdownLineEndingOrSpace(code) {\n return code < 0 || code === 32\n}\n\nmodule.exports = markdownLineEndingOrSpace\n","'use strict'\n\nfunction markdownLineEnding(code) {\n return code < -2\n}\n\nmodule.exports = markdownLineEnding\n","'use strict'\n\nfunction markdownSpace(code) {\n return code === -2 || code === -1 || code === 32\n}\n\nmodule.exports = markdownSpace\n","'use strict'\n\nvar unicodePunctuationRegex = require('../constant/unicode-punctuation-regex.js')\nvar regexCheck = require('../util/regex-check.js')\n\n// In fact adds to the bundle size.\n\nvar unicodePunctuation = regexCheck(unicodePunctuationRegex)\n\nmodule.exports = unicodePunctuation\n","'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar unicodeWhitespace = regexCheck(/\\s/)\n\nmodule.exports = unicodeWhitespace\n","'use strict'\n\nvar assign = Object.assign\n\nmodule.exports = assign\n","'use strict'\n\nvar fromCharCode = String.fromCharCode\n\nmodule.exports = fromCharCode\n","'use strict'\n\nvar own = {}.hasOwnProperty\n\nmodule.exports = own\n","'use strict'\n\n// This module is copied from .\nvar basics = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'section',\n 'source',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n]\n\nmodule.exports = basics\n","'use strict'\n\n// This module is copied from .\nvar raws = ['pre', 'script', 'style', 'textarea']\n\nmodule.exports = raws\n","'use strict'\n\nvar splice = [].splice\n\nmodule.exports = splice\n","'use strict'\n\n// This module is generated by `script/`.\n//\n// CommonMark handles attention (emphasis, strong) markers based on what comes\n// before or after them.\n// One such difference is if those characters are Unicode punctuation.\n// This script is generated from the Unicode data.\nvar unicodePunctuation = /[!-\\/:-@\\[-`\\{-~\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4F\\u2E52\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]/\n\nmodule.exports = unicodePunctuation\n","'use strict'\n\nObject.defineProperty(exports, '__esModule', {value: true})\n\nvar text$1 = require('./initialize/text.js')\nvar attention = require('./tokenize/attention.js')\nvar autolink = require('./tokenize/autolink.js')\nvar blockQuote = require('./tokenize/block-quote.js')\nvar characterEscape = require('./tokenize/character-escape.js')\nvar characterReference = require('./tokenize/character-reference.js')\nvar codeFenced = require('./tokenize/code-fenced.js')\nvar codeIndented = require('./tokenize/code-indented.js')\nvar codeText = require('./tokenize/code-text.js')\nvar definition = require('./tokenize/definition.js')\nvar hardBreakEscape = require('./tokenize/hard-break-escape.js')\nvar headingAtx = require('./tokenize/heading-atx.js')\nvar htmlFlow = require('./tokenize/html-flow.js')\nvar htmlText = require('./tokenize/html-text.js')\nvar labelEnd = require('./tokenize/label-end.js')\nvar labelStartImage = require('./tokenize/label-start-image.js')\nvar labelStartLink = require('./tokenize/label-start-link.js')\nvar lineEnding = require('./tokenize/line-ending.js')\nvar list = require('./tokenize/list.js')\nvar setextUnderline = require('./tokenize/setext-underline.js')\nvar thematicBreak = require('./tokenize/thematic-break.js')\n\nvar document = {\n 42: list,\n // Asterisk\n 43: list,\n // Plus sign\n 45: list,\n // Dash\n 48: list,\n // 0\n 49: list,\n // 1\n 50: list,\n // 2\n 51: list,\n // 3\n 52: list,\n // 4\n 53: list,\n // 5\n 54: list,\n // 6\n 55: list,\n // 7\n 56: list,\n // 8\n 57: list,\n // 9\n 62: blockQuote // Greater than\n}\nvar contentInitial = {\n 91: definition // Left square bracket\n}\nvar flowInitial = {\n '-2': codeIndented,\n // Horizontal tab\n '-1': codeIndented,\n // Virtual space\n 32: codeIndented // Space\n}\nvar flow = {\n 35: headingAtx,\n // Number sign\n 42: thematicBreak,\n // Asterisk\n 45: [setextUnderline, thematicBreak],\n // Dash\n 60: htmlFlow,\n // Less than\n 61: setextUnderline,\n // Equals to\n 95: thematicBreak,\n // Underscore\n 96: codeFenced,\n // Grave accent\n 126: codeFenced // Tilde\n}\nvar string = {\n 38: characterReference,\n // Ampersand\n 92: characterEscape // Backslash\n}\nvar text = {\n '-5': lineEnding,\n // Carriage return\n '-4': lineEnding,\n // Line feed\n '-3': lineEnding,\n // Carriage return + line feed\n 33: labelStartImage,\n // Exclamation mark\n 38: characterReference,\n // Ampersand\n 42: attention,\n // Asterisk\n 60: [autolink, htmlText],\n // Less than\n 91: labelStartLink,\n // Left square bracket\n 92: [hardBreakEscape, characterEscape],\n // Backslash\n 93: labelEnd,\n // Right square bracket\n 95: attention,\n // Underscore\n 96: codeText // Grave accent\n}\nvar insideSpan = {\n null: [attention, text$1.resolver]\n}\nvar disable = {\n null: []\n}\n\nexports.contentInitial = contentInitial\nexports.disable = disable\nexports.document = document\nexports.flow = flow\nexports.flowInitial = flowInitial\nexports.insideSpan = insideSpan\nexports.string = string\nexports.text = text\n","'use strict'\n\nObject.defineProperty(exports, '__esModule', {value: true})\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar factorySpace = require('../tokenize/factory-space.js')\n\nvar tokenize = initializeContent\n\nfunction initializeContent(effects) {\n var contentStart = effects.attempt(\n this.parser.constructs.contentInitial,\n afterContentStartConstruct,\n paragraphInitial\n )\n var previous\n return contentStart\n\n function afterContentStartConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, contentStart, 'linePrefix')\n }\n\n function paragraphInitial(code) {\n effects.enter('paragraph')\n return lineStart(code)\n }\n\n function lineStart(code) {\n var token = effects.enter('chunkText', {\n contentType: 'text',\n previous: previous\n })\n\n if (previous) {\n previous.next = token\n }\n\n previous = token\n return data(code)\n }\n\n function data(code) {\n if (code === null) {\n effects.exit('chunkText')\n effects.exit('paragraph')\n effects.consume(code)\n return\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n effects.exit('chunkText')\n return lineStart\n } // Data.\n\n effects.consume(code)\n return data\n }\n}\n\nexports.tokenize = tokenize\n","'use strict'\n\nObject.defineProperty(exports, '__esModule', {value: true})\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar factorySpace = require('../tokenize/factory-space.js')\nvar partialBlankLine = require('../tokenize/partial-blank-line.js')\n\nvar tokenize = initializeDocument\nvar containerConstruct = {\n tokenize: tokenizeContainer\n}\nvar lazyFlowConstruct = {\n tokenize: tokenizeLazyFlow\n}\n\nfunction initializeDocument(effects) {\n var self = this\n var stack = []\n var continued = 0\n var inspectConstruct = {\n tokenize: tokenizeInspect,\n partial: true\n }\n var inspectResult\n var childFlow\n var childToken\n return start\n\n function start(code) {\n if (continued < stack.length) {\n self.containerState = stack[continued][1]\n return effects.attempt(\n stack[continued][0].continuation,\n documentContinue,\n documentContinued\n )(code)\n }\n\n return documentContinued(code)\n }\n\n function documentContinue(code) {\n continued++\n return start(code)\n }\n\n function documentContinued(code) {\n // If we’re in a concrete construct (such as when expecting another line of\n // HTML, or we resulted in lazy content), we can immediately start flow.\n if (inspectResult && inspectResult.flowContinue) {\n return flowStart(code)\n }\n\n self.interrupt =\n childFlow &&\n childFlow.currentConstruct &&\n childFlow.currentConstruct.interruptible\n self.containerState = {}\n return effects.attempt(\n containerConstruct,\n containerContinue,\n flowStart\n )(code)\n }\n\n function containerContinue(code) {\n stack.push([self.currentConstruct, self.containerState])\n self.containerState = undefined\n return documentContinued(code)\n }\n\n function flowStart(code) {\n if (code === null) {\n exitContainers(0, true)\n effects.consume(code)\n return\n }\n\n childFlow = childFlow || self.parser.flow(self.now())\n effects.enter('chunkFlow', {\n contentType: 'flow',\n previous: childToken,\n _tokenizer: childFlow\n })\n return flowContinue(code)\n }\n\n function flowContinue(code) {\n if (code === null) {\n continueFlow(effects.exit('chunkFlow'))\n return flowStart(code)\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n continueFlow(effects.exit('chunkFlow'))\n return effects.check(inspectConstruct, documentAfterPeek)\n }\n\n effects.consume(code)\n return flowContinue\n }\n\n function documentAfterPeek(code) {\n exitContainers(\n inspectResult.continued,\n inspectResult && inspectResult.flowEnd\n )\n continued = 0\n return start(code)\n }\n\n function continueFlow(token) {\n if (childToken) childToken.next = token\n childToken = token\n childFlow.lazy = inspectResult && inspectResult.lazy\n childFlow.defineSkip(token.start)\n childFlow.write(self.sliceStream(token))\n }\n\n function exitContainers(size, end) {\n var index = stack.length // Close the flow.\n\n if (childFlow && end) {\n childFlow.write([null])\n childToken = childFlow = undefined\n } // Exit open containers.\n\n while (index-- > size) {\n self.containerState = stack[index][1]\n stack[index][0].exit.call(self, effects)\n }\n\n stack.length = size\n }\n\n function tokenizeInspect(effects, ok) {\n var subcontinued = 0\n inspectResult = {}\n return inspectStart\n\n function inspectStart(code) {\n if (subcontinued < stack.length) {\n self.containerState = stack[subcontinued][1]\n return effects.attempt(\n stack[subcontinued][0].continuation,\n inspectContinue,\n inspectLess\n )(code)\n } // If we’re continued but in a concrete flow, we can’t have more\n // containers.\n\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n inspectResult.flowContinue = true\n return inspectDone(code)\n }\n\n self.interrupt =\n childFlow.currentConstruct && childFlow.currentConstruct.interruptible\n self.containerState = {}\n return effects.attempt(\n containerConstruct,\n inspectFlowEnd,\n inspectDone\n )(code)\n }\n\n function inspectContinue(code) {\n subcontinued++\n return self.containerState._closeFlow\n ? inspectFlowEnd(code)\n : inspectStart(code)\n }\n\n function inspectLess(code) {\n if (childFlow.currentConstruct && childFlow.currentConstruct.lazy) {\n // Maybe another container?\n self.containerState = {}\n return effects.attempt(\n containerConstruct,\n inspectFlowEnd, // Maybe flow, or a blank line?\n effects.attempt(\n lazyFlowConstruct,\n inspectFlowEnd,\n effects.check(partialBlankLine, inspectFlowEnd, inspectLazy)\n )\n )(code)\n } // Otherwise we’re interrupting.\n\n return inspectFlowEnd(code)\n }\n\n function inspectLazy(code) {\n // Act as if all containers are continued.\n subcontinued = stack.length\n inspectResult.lazy = true\n inspectResult.flowContinue = true\n return inspectDone(code)\n } // We’re done with flow if we have more containers, or an interruption.\n\n function inspectFlowEnd(code) {\n inspectResult.flowEnd = true\n return inspectDone(code)\n }\n\n function inspectDone(code) {\n inspectResult.continued = subcontinued\n self.interrupt = self.containerState = undefined\n return ok(code)\n }\n }\n}\n\nfunction tokenizeContainer(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(this.parser.constructs.document, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4\n )\n}\n\nfunction tokenizeLazyFlow(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.lazy(this.parser.constructs.flow, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4\n )\n}\n\nexports.tokenize = tokenize\n","'use strict'\n\nObject.defineProperty(exports, '__esModule', {value: true})\n\nvar content = require('../tokenize/content.js')\nvar factorySpace = require('../tokenize/factory-space.js')\nvar partialBlankLine = require('../tokenize/partial-blank-line.js')\n\nvar tokenize = initializeFlow\n\nfunction initializeFlow(effects) {\n var self = this\n var initial = effects.attempt(\n // Try to parse a blank line.\n partialBlankLine,\n atBlankEnding, // Try to parse initial flow (essentially, only code).\n effects.attempt(\n this.parser.constructs.flowInitial,\n afterConstruct,\n factorySpace(\n effects,\n effects.attempt(\n this.parser.constructs.flow,\n afterConstruct,\n effects.attempt(content, afterConstruct)\n ),\n 'linePrefix'\n )\n )\n )\n return initial\n\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n self.currentConstruct = undefined\n return initial\n }\n\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n self.currentConstruct = undefined\n return initial\n }\n}\n\nexports.tokenize = tokenize\n","'use strict'\n\nObject.defineProperty(exports, '__esModule', {value: true})\n\nvar assign = require('../constant/assign.js')\nvar shallow = require('../util/shallow.js')\n\nvar text = initializeFactory('text')\nvar string = initializeFactory('string')\nvar resolver = {\n resolveAll: createResolver()\n}\n\nfunction initializeFactory(field) {\n return {\n tokenize: initializeText,\n resolveAll: createResolver(\n field === 'text' ? resolveAllLineSuffixes : undefined\n )\n }\n\n function initializeText(effects) {\n var self = this\n var constructs = this.parser.constructs[field]\n var text = effects.attempt(constructs, start, notText)\n return start\n\n function start(code) {\n return atBreak(code) ? text(code) : notText(code)\n }\n\n function notText(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('data')\n effects.consume(code)\n return data\n }\n\n function data(code) {\n if (atBreak(code)) {\n effects.exit('data')\n return text(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n\n function atBreak(code) {\n var list = constructs[code]\n var index = -1\n\n if (code === null) {\n return true\n }\n\n if (list) {\n while (++index < list.length) {\n if (\n !list[index].previous ||\n list[index].previous.call(self, self.previous)\n ) {\n return true\n }\n }\n }\n }\n }\n}\n\nfunction createResolver(extraResolver) {\n return resolveAllText\n\n function resolveAllText(events, context) {\n var index = -1\n var enter // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === 'data') {\n enter = index\n index++\n }\n } else if (!events[index] || events[index][1].type !== 'data') {\n // Don’t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return extraResolver ? extraResolver(events, context) : events\n }\n} // A rather ugly set of instructions which again looks at chunks in the input\n// stream.\n// The reason to do this here is that it is *much* faster to parse in reverse.\n// And that we can’t hook into `null` to split the line suffix before an EOF.\n// To do: figure out if we can make this into a clean utility, or even in core.\n// As it will be useful for GFMs literal autolink extension (and maybe even\n// tables?)\n\nfunction resolveAllLineSuffixes(events, context) {\n var eventIndex = -1\n var chunks\n var data\n var chunk\n var index\n var bufferIndex\n var size\n var tabs\n var token\n\n while (++eventIndex <= events.length) {\n if (\n (eventIndex === events.length ||\n events[eventIndex][1].type === 'lineEnding') &&\n events[eventIndex - 1][1].type === 'data'\n ) {\n data = events[eventIndex - 1][1]\n chunks = context.sliceStream(data)\n index = chunks.length\n bufferIndex = -1\n size = 0\n tabs = undefined\n\n while (index--) {\n chunk = chunks[index]\n\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length\n\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++\n bufferIndex--\n }\n\n if (bufferIndex) break\n bufferIndex = -1\n } // Number\n else if (chunk === -2) {\n tabs = true\n size++\n } else if (chunk === -1);\n else {\n // Replacement character, exit.\n index++\n break\n }\n }\n\n if (size) {\n token = {\n type:\n eventIndex === events.length || tabs || size < 2\n ? 'lineSuffix'\n : 'hardBreakTrailing',\n start: {\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size,\n _index: data.start._index + index,\n _bufferIndex: index\n ? bufferIndex\n : data.start._bufferIndex + bufferIndex\n },\n end: shallow(data.end)\n }\n data.end = shallow(token.start)\n\n if (data.start.offset === data.end.offset) {\n assign(data, token)\n } else {\n events.splice(\n eventIndex,\n 0,\n ['enter', token, context],\n ['exit', token, context]\n )\n eventIndex += 2\n }\n }\n\n eventIndex++\n }\n }\n\n return events\n}\n\nexports.resolver = resolver\nexports.string = string\nexports.text = text\n","'use strict'\n\nvar content = require('./initialize/content.js')\nvar document = require('./initialize/document.js')\nvar flow = require('./initialize/flow.js')\nvar text = require('./initialize/text.js')\nvar combineExtensions = require('./util/combine-extensions.js')\nvar createTokenizer = require('./util/create-tokenizer.js')\nvar miniflat = require('./util/miniflat.js')\nvar constructs = require('./constructs.js')\n\nfunction parse(options) {\n var settings = options || {}\n var parser = {\n defined: [],\n constructs: combineExtensions(\n [constructs].concat(miniflat(settings.extensions))\n ),\n content: create(content),\n document: create(document),\n flow: create(flow),\n string: create(text.string),\n text: create(text.text)\n }\n return parser\n\n function create(initializer) {\n return creator\n\n function creator(from) {\n return createTokenizer(parser, initializer, from)\n }\n }\n}\n\nmodule.exports = parse\n","'use strict'\n\nvar subtokenize = require('./util/subtokenize.js')\n\nfunction postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n\n return events\n}\n\nmodule.exports = postprocess\n","'use strict'\n\nvar search = /[\\0\\t\\n\\r]/g\n\nfunction preprocess() {\n var start = true\n var column = 1\n var buffer = ''\n var atCarriageReturn\n return preprocessor\n\n function preprocessor(value, encoding, end) {\n var chunks = []\n var match\n var next\n var startPosition\n var endPosition\n var code\n value = buffer + value.toString(encoding)\n startPosition = 0\n buffer = ''\n\n if (start) {\n if (value.charCodeAt(0) === 65279) {\n startPosition++\n }\n\n start = undefined\n }\n\n while (startPosition < value.length) {\n search.lastIndex = startPosition\n match = search.exec(value)\n endPosition = match ? match.index : value.length\n code = value.charCodeAt(endPosition)\n\n if (!match) {\n buffer = value.slice(startPosition)\n break\n }\n\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3)\n atCarriageReturn = undefined\n } else {\n if (atCarriageReturn) {\n chunks.push(-5)\n atCarriageReturn = undefined\n }\n\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition))\n column += endPosition - startPosition\n }\n\n if (code === 0) {\n chunks.push(65533)\n column++\n } else if (code === 9) {\n next = Math.ceil(column / 4) * 4\n chunks.push(-2)\n\n while (column++ < next) chunks.push(-1)\n } else if (code === 10) {\n chunks.push(-4)\n column = 1\n } // Must be carriage return.\n else {\n atCarriageReturn = true\n column = 1\n }\n }\n\n startPosition = endPosition + 1\n }\n\n if (end) {\n if (atCarriageReturn) chunks.push(-5)\n if (buffer) chunks.push(buffer)\n chunks.push(null)\n }\n\n return chunks\n }\n}\n\nmodule.exports = preprocess\n","'use strict'\n\nvar chunkedPush = require('../util/chunked-push.js')\nvar chunkedSplice = require('../util/chunked-splice.js')\nvar classifyCharacter = require('../util/classify-character.js')\nvar movePoint = require('../util/move-point.js')\nvar resolveAll = require('../util/resolve-all.js')\nvar shallow = require('../util/shallow.js')\n\nvar attention = {\n name: 'attention',\n tokenize: tokenizeAttention,\n resolveAll: resolveAllAttention\n}\n\nfunction resolveAllAttention(events, context) {\n var index = -1\n var open\n var group\n var text\n var openingSequence\n var closingSequence\n var use\n var nextEvents\n var offset // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n\n while (++index < events.length) {\n // Find a token that can close.\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === 'attentionSequence' &&\n events[index][1]._close\n ) {\n open = index // Now walk back to find an opener.\n\n while (open--) {\n // Find a token that can open the closer.\n if (\n events[open][0] === 'exit' &&\n events[open][1].type === 'attentionSequence' &&\n events[open][1]._open && // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) ===\n context.sliceSerialize(events[index][1]).charCodeAt(0)\n ) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if (\n (events[open][1]._close || events[index][1]._open) &&\n (events[index][1].end.offset - events[index][1].start.offset) % 3 &&\n !(\n (events[open][1].end.offset -\n events[open][1].start.offset +\n events[index][1].end.offset -\n events[index][1].start.offset) %\n 3\n )\n ) {\n continue\n } // Number of markers to use from the sequence.\n\n use =\n events[open][1].end.offset - events[open][1].start.offset > 1 &&\n events[index][1].end.offset - events[index][1].start.offset > 1\n ? 2\n : 1\n openingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: movePoint(shallow(events[open][1].end), -use),\n end: shallow(events[open][1].end)\n }\n closingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: shallow(events[index][1].start),\n end: movePoint(shallow(events[index][1].start), use)\n }\n text = {\n type: use > 1 ? 'strongText' : 'emphasisText',\n start: shallow(events[open][1].end),\n end: shallow(events[index][1].start)\n }\n group = {\n type: use > 1 ? 'strong' : 'emphasis',\n start: shallow(openingSequence.start),\n end: shallow(closingSequence.end)\n }\n events[open][1].end = shallow(openingSequence.start)\n events[index][1].start = shallow(closingSequence.end)\n nextEvents = [] // If there are more markers in the opening, add them before.\n\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = chunkedPush(nextEvents, [\n ['enter', events[open][1], context],\n ['exit', events[open][1], context]\n ])\n } // Opening.\n\n nextEvents = chunkedPush(nextEvents, [\n ['enter', group, context],\n ['enter', openingSequence, context],\n ['exit', openingSequence, context],\n ['enter', text, context]\n ]) // Between.\n\n nextEvents = chunkedPush(\n nextEvents,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + 1, index),\n context\n )\n ) // Closing.\n\n nextEvents = chunkedPush(nextEvents, [\n ['exit', text, context],\n ['enter', closingSequence, context],\n ['exit', closingSequence, context],\n ['exit', group, context]\n ]) // If there are more markers in the closing, add them after.\n\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2\n nextEvents = chunkedPush(nextEvents, [\n ['enter', events[index][1], context],\n ['exit', events[index][1], context]\n ])\n } else {\n offset = 0\n }\n\n chunkedSplice(events, open - 1, index - open + 3, nextEvents)\n index = open + nextEvents.length - offset - 2\n break\n }\n }\n }\n } // Remove remaining sequences.\n\n index = -1\n\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data'\n }\n }\n\n return events\n}\n\nfunction tokenizeAttention(effects, ok) {\n var before = classifyCharacter(this.previous)\n var marker\n return start\n\n function start(code) {\n effects.enter('attentionSequence')\n marker = code\n return sequence(code)\n }\n\n function sequence(code) {\n var token\n var after\n var open\n var close\n\n if (code === marker) {\n effects.consume(code)\n return sequence\n }\n\n token = effects.exit('attentionSequence')\n after = classifyCharacter(code)\n open = !after || (after === 2 && before)\n close = !before || (before === 2 && after)\n token._open = marker === 42 ? open : open && (before || !close)\n token._close = marker === 42 ? close : close && (after || !open)\n return ok(code)\n }\n}\n\nmodule.exports = attention\n","'use strict'\n\nvar asciiAlpha = require('../character/ascii-alpha.js')\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js')\nvar asciiAtext = require('../character/ascii-atext.js')\nvar asciiControl = require('../character/ascii-control.js')\n\nvar autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n}\n\nfunction tokenizeAutolink(effects, ok, nok) {\n var size = 1\n return start\n\n function start(code) {\n effects.enter('autolink')\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.enter('autolinkProtocol')\n return open\n }\n\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return schemeOrEmailAtext\n }\n\n return asciiAtext(code) ? emailAtext(code) : nok(code)\n }\n\n function schemeOrEmailAtext(code) {\n return code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)\n ? schemeInsideOrEmailAtext(code)\n : emailAtext(code)\n }\n\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code)\n return urlInside\n }\n\n if (\n (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) &&\n size++ < 32\n ) {\n effects.consume(code)\n return schemeInsideOrEmailAtext\n }\n\n return emailAtext(code)\n }\n\n function urlInside(code) {\n if (code === 62) {\n effects.exit('autolinkProtocol')\n return end(code)\n }\n\n if (code === 32 || code === 60 || asciiControl(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return urlInside\n }\n\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (asciiAtext(code)) {\n effects.consume(code)\n return emailAtext\n }\n\n return nok(code)\n }\n\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code)\n }\n\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (code === 62) {\n // Exit, then change the type.\n effects.exit('autolinkProtocol').type = 'autolinkEmail'\n return end(code)\n }\n\n return emailValue(code)\n }\n\n function emailValue(code) {\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n effects.consume(code)\n return code === 45 ? emailValue : emailLabel\n }\n\n return nok(code)\n }\n\n function end(code) {\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.exit('autolink')\n return ok\n }\n}\n\nmodule.exports = autolink\n","'use strict'\n\nvar markdownSpace = require('../character/markdown-space.js')\nvar factorySpace = require('./factory-space.js')\n\nvar blockQuote = {\n name: 'blockQuote',\n tokenize: tokenizeBlockQuoteStart,\n continuation: {\n tokenize: tokenizeBlockQuoteContinuation\n },\n exit: exit\n}\n\nfunction tokenizeBlockQuoteStart(effects, ok, nok) {\n var self = this\n return start\n\n function start(code) {\n if (code === 62) {\n if (!self.containerState.open) {\n effects.enter('blockQuote', {\n _container: true\n })\n self.containerState.open = true\n }\n\n effects.enter('blockQuotePrefix')\n effects.enter('blockQuoteMarker')\n effects.consume(code)\n effects.exit('blockQuoteMarker')\n return after\n }\n\n return nok(code)\n }\n\n function after(code) {\n if (markdownSpace(code)) {\n effects.enter('blockQuotePrefixWhitespace')\n effects.consume(code)\n effects.exit('blockQuotePrefixWhitespace')\n effects.exit('blockQuotePrefix')\n return ok\n }\n\n effects.exit('blockQuotePrefix')\n return ok(code)\n }\n}\n\nfunction tokenizeBlockQuoteContinuation(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(blockQuote, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4\n )\n}\n\nfunction exit(effects) {\n effects.exit('blockQuote')\n}\n\nmodule.exports = blockQuote\n","'use strict'\n\nvar asciiPunctuation = require('../character/ascii-punctuation.js')\n\nvar characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n}\n\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start\n\n function start(code) {\n effects.enter('characterEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n effects.exit('escapeMarker')\n return open\n }\n\n function open(code) {\n if (asciiPunctuation(code)) {\n effects.enter('characterEscapeValue')\n effects.consume(code)\n effects.exit('characterEscapeValue')\n effects.exit('characterEscape')\n return ok\n }\n\n return nok(code)\n }\n}\n\nmodule.exports = characterEscape\n","'use strict'\n\nvar decodeEntity = require('parse-entities/decode-entity.js')\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js')\nvar asciiDigit = require('../character/ascii-digit.js')\nvar asciiHexDigit = require('../character/ascii-hex-digit.js')\n\nfunction _interopDefaultLegacy(e) {\n return e && typeof e === 'object' && 'default' in e ? e : {default: e}\n}\n\nvar decodeEntity__default = /*#__PURE__*/ _interopDefaultLegacy(decodeEntity)\n\nvar characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n}\n\nfunction tokenizeCharacterReference(effects, ok, nok) {\n var self = this\n var size = 0\n var max\n var test\n return start\n\n function start(code) {\n effects.enter('characterReference')\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n return open\n }\n\n function open(code) {\n if (code === 35) {\n effects.enter('characterReferenceMarkerNumeric')\n effects.consume(code)\n effects.exit('characterReferenceMarkerNumeric')\n return numeric\n }\n\n effects.enter('characterReferenceValue')\n max = 31\n test = asciiAlphanumeric\n return value(code)\n }\n\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter('characterReferenceMarkerHexadecimal')\n effects.consume(code)\n effects.exit('characterReferenceMarkerHexadecimal')\n effects.enter('characterReferenceValue')\n max = 6\n test = asciiHexDigit\n return value\n }\n\n effects.enter('characterReferenceValue')\n max = 7\n test = asciiDigit\n return value(code)\n }\n\n function value(code) {\n var token\n\n if (code === 59 && size) {\n token = effects.exit('characterReferenceValue')\n\n if (\n test === asciiAlphanumeric &&\n !decodeEntity__default['default'](self.sliceSerialize(token))\n ) {\n return nok(code)\n }\n\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n effects.exit('characterReference')\n return ok\n }\n\n if (test(code) && size++ < max) {\n effects.consume(code)\n return value\n }\n\n return nok(code)\n }\n}\n\nmodule.exports = characterReference\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar prefixSize = require('../util/prefix-size.js')\nvar factorySpace = require('./factory-space.js')\n\nvar codeFenced = {\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced,\n concrete: true\n}\n\nfunction tokenizeCodeFenced(effects, ok, nok) {\n var self = this\n var closingFenceConstruct = {\n tokenize: tokenizeClosingFence,\n partial: true\n }\n var initialPrefix = prefixSize(this.events, 'linePrefix')\n var sizeOpen = 0\n var marker\n return start\n\n function start(code) {\n effects.enter('codeFenced')\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n marker = code\n return sequenceOpen(code)\n }\n\n function sequenceOpen(code) {\n if (code === marker) {\n effects.consume(code)\n sizeOpen++\n return sequenceOpen\n }\n\n effects.exit('codeFencedFenceSequence')\n return sizeOpen < 3\n ? nok(code)\n : factorySpace(effects, infoOpen, 'whitespace')(code)\n }\n\n function infoOpen(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceInfo')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return info(code)\n }\n\n function info(code) {\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceInfo')\n return factorySpace(effects, infoAfter, 'whitespace')(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return info\n }\n\n function infoAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceMeta')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return meta(code)\n }\n\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceMeta')\n return openAfter(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return meta\n }\n\n function openAfter(code) {\n effects.exit('codeFencedFence')\n return self.interrupt ? ok(code) : content(code)\n }\n\n function content(code) {\n if (code === null) {\n return after(code)\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return effects.attempt(\n closingFenceConstruct,\n after,\n initialPrefix\n ? factorySpace(effects, content, 'linePrefix', initialPrefix + 1)\n : content\n )\n }\n\n effects.enter('codeFlowValue')\n return contentContinue(code)\n }\n\n function contentContinue(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return content(code)\n }\n\n effects.consume(code)\n return contentContinue\n }\n\n function after(code) {\n effects.exit('codeFenced')\n return ok(code)\n }\n\n function tokenizeClosingFence(effects, ok, nok) {\n var size = 0\n return factorySpace(\n effects,\n closingSequenceStart,\n 'linePrefix',\n this.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4\n )\n\n function closingSequenceStart(code) {\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n return closingSequence(code)\n }\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return closingSequence\n }\n\n if (size < sizeOpen) return nok(code)\n effects.exit('codeFencedFenceSequence')\n return factorySpace(effects, closingSequenceEnd, 'whitespace')(code)\n }\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFencedFence')\n return ok(code)\n }\n\n return nok(code)\n }\n }\n}\n\nmodule.exports = codeFenced\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar chunkedSplice = require('../util/chunked-splice.js')\nvar prefixSize = require('../util/prefix-size.js')\nvar factorySpace = require('./factory-space.js')\n\nvar codeIndented = {\n name: 'codeIndented',\n tokenize: tokenizeCodeIndented,\n resolve: resolveCodeIndented\n}\nvar indentedContentConstruct = {\n tokenize: tokenizeIndentedContent,\n partial: true\n}\n\nfunction resolveCodeIndented(events, context) {\n var code = {\n type: 'codeIndented',\n start: events[0][1].start,\n end: events[events.length - 1][1].end\n }\n chunkedSplice(events, 0, 0, [['enter', code, context]])\n chunkedSplice(events, events.length, 0, [['exit', code, context]])\n return events\n}\n\nfunction tokenizeCodeIndented(effects, ok, nok) {\n return effects.attempt(indentedContentConstruct, afterPrefix, nok)\n\n function afterPrefix(code) {\n if (code === null) {\n return ok(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(indentedContentConstruct, afterPrefix, ok)(code)\n }\n\n effects.enter('codeFlowValue')\n return content(code)\n }\n\n function content(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return afterPrefix(code)\n }\n\n effects.consume(code)\n return content\n }\n}\n\nfunction tokenizeIndentedContent(effects, ok, nok) {\n var self = this\n return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1)\n\n function afterPrefix(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1)\n }\n\n return prefixSize(self.events, 'linePrefix') < 4 ? nok(code) : ok(code)\n }\n}\n\nmodule.exports = codeIndented\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\n\nvar codeText = {\n name: 'codeText',\n tokenize: tokenizeCodeText,\n resolve: resolveCodeText,\n previous: previous\n}\n\nfunction resolveCodeText(events) {\n var tailExitIndex = events.length - 4\n var headEnterIndex = 3\n var index\n var enter // If we start and end with an EOL or a space.\n\n if (\n (events[headEnterIndex][1].type === 'lineEnding' ||\n events[headEnterIndex][1].type === 'space') &&\n (events[tailExitIndex][1].type === 'lineEnding' ||\n events[tailExitIndex][1].type === 'space')\n ) {\n index = headEnterIndex // And we have data.\n\n while (++index < tailExitIndex) {\n if (events[index][1].type === 'codeTextData') {\n // Then we have padding.\n events[tailExitIndex][1].type = events[headEnterIndex][1].type =\n 'codeTextPadding'\n headEnterIndex += 2\n tailExitIndex -= 2\n break\n }\n }\n } // Merge adjacent spaces and data.\n\n index = headEnterIndex - 1\n tailExitIndex++\n\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== 'lineEnding') {\n enter = index\n }\n } else if (\n index === tailExitIndex ||\n events[index][1].type === 'lineEnding'\n ) {\n events[enter][1].type = 'codeTextData'\n\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n tailExitIndex -= index - enter - 2\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return events\n}\n\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return (\n code !== 96 ||\n this.events[this.events.length - 1][1].type === 'characterEscape'\n )\n}\n\nfunction tokenizeCodeText(effects, ok, nok) {\n var sizeOpen = 0\n var size\n var token\n return start\n\n function start(code) {\n effects.enter('codeText')\n effects.enter('codeTextSequence')\n return openingSequence(code)\n }\n\n function openingSequence(code) {\n if (code === 96) {\n effects.consume(code)\n sizeOpen++\n return openingSequence\n }\n\n effects.exit('codeTextSequence')\n return gap(code)\n }\n\n function gap(code) {\n // EOF.\n if (code === null) {\n return nok(code)\n } // Closing fence?\n // Could also be data.\n\n if (code === 96) {\n token = effects.enter('codeTextSequence')\n size = 0\n return closingSequence(code)\n } // Tabs don’t work, and virtual spaces don’t make sense.\n\n if (code === 32) {\n effects.enter('space')\n effects.consume(code)\n effects.exit('space')\n return gap\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return gap\n } // Data.\n\n effects.enter('codeTextData')\n return data(code)\n } // In code.\n\n function data(code) {\n if (\n code === null ||\n code === 32 ||\n code === 96 ||\n markdownLineEnding(code)\n ) {\n effects.exit('codeTextData')\n return gap(code)\n }\n\n effects.consume(code)\n return data\n } // Closing fence.\n\n function closingSequence(code) {\n // More.\n if (code === 96) {\n effects.consume(code)\n size++\n return closingSequence\n } // Done!\n\n if (size === sizeOpen) {\n effects.exit('codeTextSequence')\n effects.exit('codeText')\n return ok(code)\n } // More or less accents: mark as data.\n\n token.type = 'codeTextData'\n return data(code)\n }\n}\n\nmodule.exports = codeText\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar prefixSize = require('../util/prefix-size.js')\nvar subtokenize = require('../util/subtokenize.js')\nvar factorySpace = require('./factory-space.js')\n\n// No name because it must not be turned off.\nvar content = {\n tokenize: tokenizeContent,\n resolve: resolveContent,\n interruptible: true,\n lazy: true\n}\nvar continuationConstruct = {\n tokenize: tokenizeContinuation,\n partial: true\n} // Content is transparent: it’s parsed right now. That way, definitions are also\n// parsed right now: before text in paragraphs (specifically, media) are parsed.\n\nfunction resolveContent(events) {\n subtokenize(events)\n return events\n}\n\nfunction tokenizeContent(effects, ok) {\n var previous\n return start\n\n function start(code) {\n effects.enter('content')\n previous = effects.enter('chunkContent', {\n contentType: 'content'\n })\n return data(code)\n }\n\n function data(code) {\n if (code === null) {\n return contentEnd(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.check(\n continuationConstruct,\n contentContinue,\n contentEnd\n )(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n\n function contentEnd(code) {\n effects.exit('chunkContent')\n effects.exit('content')\n return ok(code)\n }\n\n function contentContinue(code) {\n effects.consume(code)\n effects.exit('chunkContent')\n previous = previous.next = effects.enter('chunkContent', {\n contentType: 'content',\n previous: previous\n })\n return data\n }\n}\n\nfunction tokenizeContinuation(effects, ok, nok) {\n var self = this\n return startLookahead\n\n function startLookahead(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, prefixed, 'linePrefix')\n }\n\n function prefixed(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n if (\n self.parser.constructs.disable.null.indexOf('codeIndented') > -1 ||\n prefixSize(self.events, 'linePrefix') < 4\n ) {\n return effects.interrupt(self.parser.constructs.flow, nok, ok)(code)\n }\n\n return ok(code)\n }\n}\n\nmodule.exports = content\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar normalizeIdentifier = require('../util/normalize-identifier.js')\nvar factoryDestination = require('./factory-destination.js')\nvar factoryLabel = require('./factory-label.js')\nvar factorySpace = require('./factory-space.js')\nvar factoryWhitespace = require('./factory-whitespace.js')\nvar factoryTitle = require('./factory-title.js')\n\nvar definition = {\n name: 'definition',\n tokenize: tokenizeDefinition\n}\nvar titleConstruct = {\n tokenize: tokenizeTitle,\n partial: true\n}\n\nfunction tokenizeDefinition(effects, ok, nok) {\n var self = this\n var identifier\n return start\n\n function start(code) {\n effects.enter('definition')\n return factoryLabel.call(\n self,\n effects,\n labelAfter,\n nok,\n 'definitionLabel',\n 'definitionLabelMarker',\n 'definitionLabelString'\n )(code)\n }\n\n function labelAfter(code) {\n identifier = normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n\n if (code === 58) {\n effects.enter('definitionMarker')\n effects.consume(code)\n effects.exit('definitionMarker') // Note: blank lines can’t exist in content.\n\n return factoryWhitespace(\n effects,\n factoryDestination(\n effects,\n effects.attempt(\n titleConstruct,\n factorySpace(effects, after, 'whitespace'),\n factorySpace(effects, after, 'whitespace')\n ),\n nok,\n 'definitionDestination',\n 'definitionDestinationLiteral',\n 'definitionDestinationLiteralMarker',\n 'definitionDestinationRaw',\n 'definitionDestinationString'\n )\n )\n }\n\n return nok(code)\n }\n\n function after(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('definition')\n\n if (self.parser.defined.indexOf(identifier) < 0) {\n self.parser.defined.push(identifier)\n }\n\n return ok(code)\n }\n\n return nok(code)\n }\n}\n\nfunction tokenizeTitle(effects, ok, nok) {\n return start\n\n function start(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, before)(code)\n : nok(code)\n }\n\n function before(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factorySpace(effects, after, 'whitespace'),\n nok,\n 'definitionTitle',\n 'definitionTitleMarker',\n 'definitionTitleString'\n )(code)\n }\n\n return nok(code)\n }\n\n function after(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n\nmodule.exports = definition\n","'use strict'\n\nvar asciiControl = require('../character/ascii-control.js')\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\n\n// eslint-disable-next-line max-params\nfunction destinationFactory(\n effects,\n ok,\n nok,\n type,\n literalType,\n literalMarkerType,\n rawType,\n stringType,\n max\n) {\n var limit = max || Infinity\n var balance = 0\n return start\n\n function start(code) {\n if (code === 60) {\n effects.enter(type)\n effects.enter(literalType)\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n return destinationEnclosedBefore\n }\n\n if (asciiControl(code) || code === 41) {\n return nok(code)\n }\n\n effects.enter(type)\n effects.enter(rawType)\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationRaw(code)\n }\n\n function destinationEnclosedBefore(code) {\n if (code === 62) {\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n effects.exit(literalType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationEnclosed(code)\n }\n\n function destinationEnclosed(code) {\n if (code === 62) {\n effects.exit('chunkString')\n effects.exit(stringType)\n return destinationEnclosedBefore(code)\n }\n\n if (code === null || code === 60 || markdownLineEnding(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return code === 92 ? destinationEnclosedEscape : destinationEnclosed\n }\n\n function destinationEnclosedEscape(code) {\n if (code === 60 || code === 62 || code === 92) {\n effects.consume(code)\n return destinationEnclosed\n }\n\n return destinationEnclosed(code)\n }\n\n function destinationRaw(code) {\n if (code === 40) {\n if (++balance > limit) return nok(code)\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === 41) {\n if (!balance--) {\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n if (balance) return nok(code)\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n if (asciiControl(code)) return nok(code)\n effects.consume(code)\n return code === 92 ? destinationRawEscape : destinationRaw\n }\n\n function destinationRawEscape(code) {\n if (code === 40 || code === 41 || code === 92) {\n effects.consume(code)\n return destinationRaw\n }\n\n return destinationRaw(code)\n }\n}\n\nmodule.exports = destinationFactory\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownSpace = require('../character/markdown-space.js')\n\n// eslint-disable-next-line max-params\nfunction labelFactory(effects, ok, nok, type, markerType, stringType) {\n var self = this\n var size = 0\n var data\n return start\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.enter(stringType)\n return atBreak\n }\n\n function atBreak(code) {\n if (\n code === null ||\n code === 91 ||\n (code === 93 && !data) ||\n /* c8 ignore next */\n (code === 94 &&\n /* c8 ignore next */\n !size &&\n /* c8 ignore next */\n '_hiddenFootnoteSupport' in self.parser.constructs) ||\n size > 999\n ) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.exit(stringType)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return atBreak\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return label(code)\n }\n\n function label(code) {\n if (\n code === null ||\n code === 91 ||\n code === 93 ||\n markdownLineEnding(code) ||\n size++ > 999\n ) {\n effects.exit('chunkString')\n return atBreak(code)\n }\n\n effects.consume(code)\n data = data || !markdownSpace(code)\n return code === 92 ? labelEscape : label\n }\n\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return label\n }\n\n return label(code)\n }\n}\n\nmodule.exports = labelFactory\n","'use strict'\n\nvar markdownSpace = require('../character/markdown-space.js')\n\nfunction spaceFactory(effects, ok, type, max) {\n var limit = max ? max - 1 : Infinity\n var size = 0\n return start\n\n function start(code) {\n if (markdownSpace(code)) {\n effects.enter(type)\n return prefix(code)\n }\n\n return ok(code)\n }\n\n function prefix(code) {\n if (markdownSpace(code) && size++ < limit) {\n effects.consume(code)\n return prefix\n }\n\n effects.exit(type)\n return ok(code)\n }\n}\n\nmodule.exports = spaceFactory\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar factorySpace = require('./factory-space.js')\n\nfunction titleFactory(effects, ok, nok, type, markerType, stringType) {\n var marker\n return start\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n marker = code === 40 ? 41 : code\n return atFirstTitleBreak\n }\n\n function atFirstTitleBreak(code) {\n if (code === marker) {\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n return atTitleBreak(code)\n }\n\n function atTitleBreak(code) {\n if (code === marker) {\n effects.exit(stringType)\n return atFirstTitleBreak(marker)\n }\n\n if (code === null) {\n return nok(code)\n } // Note: blank lines can’t exist in content.\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, atTitleBreak, 'linePrefix')\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return title(code)\n }\n\n function title(code) {\n if (code === marker || code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n return atTitleBreak(code)\n }\n\n effects.consume(code)\n return code === 92 ? titleEscape : title\n }\n\n function titleEscape(code) {\n if (code === marker || code === 92) {\n effects.consume(code)\n return title\n }\n\n return title(code)\n }\n}\n\nmodule.exports = titleFactory\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownSpace = require('../character/markdown-space.js')\nvar factorySpace = require('./factory-space.js')\n\nfunction whitespaceFactory(effects, ok) {\n var seen\n return start\n\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n seen = true\n return start\n }\n\n if (markdownSpace(code)) {\n return factorySpace(\n effects,\n start,\n seen ? 'linePrefix' : 'lineSuffix'\n )(code)\n }\n\n return ok(code)\n }\n}\n\nmodule.exports = whitespaceFactory\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\n\nvar hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n}\n\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start\n\n function start(code) {\n effects.enter('hardBreakEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n return open\n }\n\n function open(code) {\n if (markdownLineEnding(code)) {\n effects.exit('escapeMarker')\n effects.exit('hardBreakEscape')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n\nmodule.exports = hardBreakEscape\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar markdownSpace = require('../character/markdown-space.js')\nvar chunkedSplice = require('../util/chunked-splice.js')\nvar factorySpace = require('./factory-space.js')\n\nvar headingAtx = {\n name: 'headingAtx',\n tokenize: tokenizeHeadingAtx,\n resolve: resolveHeadingAtx\n}\n\nfunction resolveHeadingAtx(events, context) {\n var contentEnd = events.length - 2\n var contentStart = 3\n var content\n var text // Prefix whitespace, part of the opening.\n\n if (events[contentStart][1].type === 'whitespace') {\n contentStart += 2\n } // Suffix whitespace, part of the closing.\n\n if (\n contentEnd - 2 > contentStart &&\n events[contentEnd][1].type === 'whitespace'\n ) {\n contentEnd -= 2\n }\n\n if (\n events[contentEnd][1].type === 'atxHeadingSequence' &&\n (contentStart === contentEnd - 1 ||\n (contentEnd - 4 > contentStart &&\n events[contentEnd - 2][1].type === 'whitespace'))\n ) {\n contentEnd -= contentStart + 1 === contentEnd ? 2 : 4\n }\n\n if (contentEnd > contentStart) {\n content = {\n type: 'atxHeadingText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n }\n text = {\n type: 'chunkText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end,\n contentType: 'text'\n }\n chunkedSplice(events, contentStart, contentEnd - contentStart + 1, [\n ['enter', content, context],\n ['enter', text, context],\n ['exit', text, context],\n ['exit', content, context]\n ])\n }\n\n return events\n}\n\nfunction tokenizeHeadingAtx(effects, ok, nok) {\n var self = this\n var size = 0\n return start\n\n function start(code) {\n effects.enter('atxHeading')\n effects.enter('atxHeadingSequence')\n return fenceOpenInside(code)\n }\n\n function fenceOpenInside(code) {\n if (code === 35 && size++ < 6) {\n effects.consume(code)\n return fenceOpenInside\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingSequence')\n return self.interrupt ? ok(code) : headingBreak(code)\n }\n\n return nok(code)\n }\n\n function headingBreak(code) {\n if (code === 35) {\n effects.enter('atxHeadingSequence')\n return sequence(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n effects.exit('atxHeading')\n return ok(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, headingBreak, 'whitespace')(code)\n }\n\n effects.enter('atxHeadingText')\n return data(code)\n }\n\n function sequence(code) {\n if (code === 35) {\n effects.consume(code)\n return sequence\n }\n\n effects.exit('atxHeadingSequence')\n return headingBreak(code)\n }\n\n function data(code) {\n if (code === null || code === 35 || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingText')\n return headingBreak(code)\n }\n\n effects.consume(code)\n return data\n }\n}\n\nmodule.exports = headingAtx\n","'use strict'\n\nvar asciiAlpha = require('../character/ascii-alpha.js')\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js')\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar markdownSpace = require('../character/markdown-space.js')\nvar fromCharCode = require('../constant/from-char-code.js')\nvar htmlBlockNames = require('../constant/html-block-names.js')\nvar htmlRawNames = require('../constant/html-raw-names.js')\nvar partialBlankLine = require('./partial-blank-line.js')\n\nvar htmlFlow = {\n name: 'htmlFlow',\n tokenize: tokenizeHtmlFlow,\n resolveTo: resolveToHtmlFlow,\n concrete: true\n}\nvar nextBlankConstruct = {\n tokenize: tokenizeNextBlank,\n partial: true\n}\n\nfunction resolveToHtmlFlow(events) {\n var index = events.length\n\n while (index--) {\n if (events[index][0] === 'enter' && events[index][1].type === 'htmlFlow') {\n break\n }\n }\n\n if (index > 1 && events[index - 2][1].type === 'linePrefix') {\n // Add the prefix start to the HTML token.\n events[index][1].start = events[index - 2][1].start // Add the prefix start to the HTML line token.\n\n events[index + 1][1].start = events[index - 2][1].start // Remove the line prefix.\n\n events.splice(index - 2, 2)\n }\n\n return events\n}\n\nfunction tokenizeHtmlFlow(effects, ok, nok) {\n var self = this\n var kind\n var startTag\n var buffer\n var index\n var marker\n return start\n\n function start(code) {\n effects.enter('htmlFlow')\n effects.enter('htmlFlowData')\n effects.consume(code)\n return open\n }\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationStart\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n kind = 3 // While we’re in an instruction instead of a declaration, we’re on a `?`\n // right now, so we do need to search for `>`, similar to declarations.\n\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = fromCharCode(code)\n startTag = true\n return tagName\n }\n\n return nok(code)\n }\n\n function declarationStart(code) {\n if (code === 45) {\n effects.consume(code)\n kind = 2\n return commentOpenInside\n }\n\n if (code === 91) {\n effects.consume(code)\n kind = 5\n buffer = 'CDATA['\n index = 0\n return cdataOpenInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n kind = 4\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code)\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n\n function cdataOpenInside(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length\n ? self.interrupt\n ? ok\n : continuation\n : cdataOpenInside\n }\n\n return nok(code)\n }\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n\n function tagName(code) {\n if (\n code === null ||\n code === 47 ||\n code === 62 ||\n markdownLineEndingOrSpace(code)\n ) {\n if (\n code !== 47 &&\n startTag &&\n htmlRawNames.indexOf(buffer.toLowerCase()) > -1\n ) {\n kind = 1\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n if (htmlBlockNames.indexOf(buffer.toLowerCase()) > -1) {\n kind = 6\n\n if (code === 47) {\n effects.consume(code)\n return basicSelfClosing\n }\n\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n kind = 7 // Do not support complete HTML when interrupting.\n\n return self.interrupt\n ? nok(code)\n : startTag\n ? completeAttributeNameBefore(code)\n : completeClosingTagAfter(code)\n }\n\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n buffer += fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n\n function basicSelfClosing(code) {\n if (code === 62) {\n effects.consume(code)\n return self.interrupt ? ok : continuation\n }\n\n return nok(code)\n }\n\n function completeClosingTagAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeClosingTagAfter\n }\n\n return completeEnd(code)\n }\n\n function completeAttributeNameBefore(code) {\n if (code === 47) {\n effects.consume(code)\n return completeEnd\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return completeAttributeName\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameBefore\n }\n\n return completeEnd(code)\n }\n\n function completeAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return completeAttributeName\n }\n\n return completeAttributeNameAfter(code)\n }\n\n function completeAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameAfter\n }\n\n return completeAttributeNameBefore(code)\n }\n\n function completeAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return completeAttributeValueQuoted\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n marker = undefined\n return completeAttributeValueUnquoted(code)\n }\n\n function completeAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n return completeAttributeValueQuotedAfter\n }\n\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return completeAttributeValueQuoted\n }\n\n function completeAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96 ||\n markdownLineEndingOrSpace(code)\n ) {\n return completeAttributeNameAfter(code)\n }\n\n effects.consume(code)\n return completeAttributeValueUnquoted\n }\n\n function completeAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownSpace(code)) {\n return completeAttributeNameBefore(code)\n }\n\n return nok(code)\n }\n\n function completeEnd(code) {\n if (code === 62) {\n effects.consume(code)\n return completeAfter\n }\n\n return nok(code)\n }\n\n function completeAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAfter\n }\n\n return code === null || markdownLineEnding(code)\n ? continuation(code)\n : nok(code)\n }\n\n function continuation(code) {\n if (code === 45 && kind === 2) {\n effects.consume(code)\n return continuationCommentInside\n }\n\n if (code === 60 && kind === 1) {\n effects.consume(code)\n return continuationRawTagOpen\n }\n\n if (code === 62 && kind === 4) {\n effects.consume(code)\n return continuationClose\n }\n\n if (code === 63 && kind === 3) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n if (code === 93 && kind === 5) {\n effects.consume(code)\n return continuationCharacterDataInside\n }\n\n if (markdownLineEnding(code) && (kind === 6 || kind === 7)) {\n return effects.check(\n nextBlankConstruct,\n continuationClose,\n continuationAtLineEnding\n )(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n return continuationAtLineEnding(code)\n }\n\n effects.consume(code)\n return continuation\n }\n\n function continuationAtLineEnding(code) {\n effects.exit('htmlFlowData')\n return htmlContinueStart(code)\n }\n\n function htmlContinueStart(code) {\n if (code === null) {\n return done(code)\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return htmlContinueStart\n }\n\n effects.enter('htmlFlowData')\n return continuation(code)\n }\n\n function continuationCommentInside(code) {\n if (code === 45) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code)\n buffer = ''\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n\n function continuationRawEndTag(code) {\n if (code === 62 && htmlRawNames.indexOf(buffer.toLowerCase()) > -1) {\n effects.consume(code)\n return continuationClose\n }\n\n if (asciiAlpha(code) && buffer.length < 8) {\n effects.consume(code)\n buffer += fromCharCode(code)\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n\n function continuationCharacterDataInside(code) {\n if (code === 93) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code)\n return continuationClose\n }\n\n return continuation(code)\n }\n\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('htmlFlowData')\n return done(code)\n }\n\n effects.consume(code)\n return continuationClose\n }\n\n function done(code) {\n effects.exit('htmlFlow')\n return ok(code)\n }\n}\n\nfunction tokenizeNextBlank(effects, ok, nok) {\n return start\n\n function start(code) {\n effects.exit('htmlFlowData')\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n return effects.attempt(partialBlankLine, ok, nok)\n }\n}\n\nmodule.exports = htmlFlow\n","'use strict'\n\nvar asciiAlpha = require('../character/ascii-alpha.js')\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js')\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar markdownSpace = require('../character/markdown-space.js')\nvar factorySpace = require('./factory-space.js')\n\nvar htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n}\n\nfunction tokenizeHtmlText(effects, ok, nok) {\n var self = this\n var marker\n var buffer\n var index\n var returnState\n return start\n\n function start(code) {\n effects.enter('htmlText')\n effects.enter('htmlTextData')\n effects.consume(code)\n return open\n }\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationOpen\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n return instruction\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n return nok(code)\n }\n\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentOpen\n }\n\n if (code === 91) {\n effects.consume(code)\n buffer = 'CDATA['\n index = 0\n return cdataOpen\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return declaration\n }\n\n return nok(code)\n }\n\n function commentOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentStart\n }\n\n return nok(code)\n }\n\n function commentStart(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentStartDash\n }\n\n return comment(code)\n }\n\n function commentStartDash(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n return comment(code)\n }\n\n function comment(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = comment\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return comment\n }\n\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code)\n return end\n }\n\n return comment(code)\n }\n\n function cdataOpen(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length ? cdata : cdataOpen\n }\n\n return nok(code)\n }\n\n function cdata(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = cdata\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return cdata\n }\n\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n\n function cdataEnd(code) {\n if (code === 62) {\n return end(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = declaration\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return declaration\n }\n\n function instruction(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 63) {\n effects.consume(code)\n return instructionClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = instruction\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return instruction\n }\n\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code)\n }\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return nok(code)\n }\n\n function tagClose(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return tagCloseBetween(code)\n }\n\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagCloseBetween\n }\n\n return end(code)\n }\n\n function tagOpen(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code)\n return end\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenBetween\n }\n\n return end(code)\n }\n\n function tagOpenAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n return tagOpenAttributeNameAfter(code)\n }\n\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeNameAfter\n }\n\n return tagOpenBetween(code)\n }\n\n function tagOpenAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return tagOpenAttributeValueQuoted\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n effects.consume(code)\n marker = undefined\n return tagOpenAttributeValueUnquoted\n }\n\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n return tagOpenAttributeValueQuotedAfter\n }\n\n if (code === null) {\n return nok(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueQuoted\n }\n\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 62 || code === 47 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n\n function tagOpenAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n } // We can’t have blank lines in content, so no need to worry about empty\n // tokens.\n\n function atLineEnding(code) {\n effects.exit('htmlTextData')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(\n effects,\n afterPrefix,\n 'linePrefix',\n self.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4\n )\n }\n\n function afterPrefix(code) {\n effects.enter('htmlTextData')\n return returnState(code)\n }\n\n function end(code) {\n if (code === 62) {\n effects.consume(code)\n effects.exit('htmlTextData')\n effects.exit('htmlText')\n return ok\n }\n\n return nok(code)\n }\n}\n\nmodule.exports = htmlText\n","'use strict'\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar chunkedPush = require('../util/chunked-push.js')\nvar chunkedSplice = require('../util/chunked-splice.js')\nvar normalizeIdentifier = require('../util/normalize-identifier.js')\nvar resolveAll = require('../util/resolve-all.js')\nvar shallow = require('../util/shallow.js')\nvar factoryDestination = require('./factory-destination.js')\nvar factoryLabel = require('./factory-label.js')\nvar factoryTitle = require('./factory-title.js')\nvar factoryWhitespace = require('./factory-whitespace.js')\n\nvar labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n}\nvar resourceConstruct = {\n tokenize: tokenizeResource\n}\nvar fullReferenceConstruct = {\n tokenize: tokenizeFullReference\n}\nvar collapsedReferenceConstruct = {\n tokenize: tokenizeCollapsedReference\n}\n\nfunction resolveAllLabelEnd(events) {\n var index = -1\n var token\n\n while (++index < events.length) {\n token = events[index][1]\n\n if (\n !token._used &&\n (token.type === 'labelImage' ||\n token.type === 'labelLink' ||\n token.type === 'labelEnd')\n ) {\n // Remove the marker.\n events.splice(index + 1, token.type === 'labelImage' ? 4 : 2)\n token.type = 'data'\n index++\n }\n }\n\n return events\n}\n\nfunction resolveToLabelEnd(events, context) {\n var index = events.length\n var offset = 0\n var group\n var label\n var text\n var token\n var open\n var close\n var media // Find an opening.\n\n while (index--) {\n token = events[index][1]\n\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (\n token.type === 'link' ||\n (token.type === 'labelLink' && token._inactive)\n ) {\n break\n } // Mark other link openings as inactive, as we can’t have links in\n // links.\n\n if (events[index][0] === 'enter' && token.type === 'labelLink') {\n token._inactive = true\n }\n } else if (close) {\n if (\n events[index][0] === 'enter' &&\n (token.type === 'labelImage' || token.type === 'labelLink') &&\n !token._balanced\n ) {\n open = index\n\n if (token.type !== 'labelLink') {\n offset = 2\n break\n }\n }\n } else if (token.type === 'labelEnd') {\n close = index\n }\n }\n\n group = {\n type: events[open][1].type === 'labelLink' ? 'link' : 'image',\n start: shallow(events[open][1].start),\n end: shallow(events[events.length - 1][1].end)\n }\n label = {\n type: 'label',\n start: shallow(events[open][1].start),\n end: shallow(events[close][1].end)\n }\n text = {\n type: 'labelText',\n start: shallow(events[open + offset + 2][1].end),\n end: shallow(events[close - 2][1].start)\n }\n media = [\n ['enter', group, context],\n ['enter', label, context]\n ] // Opening marker.\n\n media = chunkedPush(media, events.slice(open + 1, open + offset + 3)) // Text open.\n\n media = chunkedPush(media, [['enter', text, context]]) // Between.\n\n media = chunkedPush(\n media,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + offset + 4, close - 3),\n context\n )\n ) // Text close, marker close, label close.\n\n media = chunkedPush(media, [\n ['exit', text, context],\n events[close - 2],\n events[close - 1],\n ['exit', label, context]\n ]) // Reference, resource, or so.\n\n media = chunkedPush(media, events.slice(close + 1)) // Media close.\n\n media = chunkedPush(media, [['exit', group, context]])\n chunkedSplice(events, open, events.length, media)\n return events\n}\n\nfunction tokenizeLabelEnd(effects, ok, nok) {\n var self = this\n var index = self.events.length\n var labelStart\n var defined // Find an opening.\n\n while (index--) {\n if (\n (self.events[index][1].type === 'labelImage' ||\n self.events[index][1].type === 'labelLink') &&\n !self.events[index][1]._balanced\n ) {\n labelStart = self.events[index][1]\n break\n }\n }\n\n return start\n\n function start(code) {\n if (!labelStart) {\n return nok(code)\n } // It’s a balanced bracket, but contains a link.\n\n if (labelStart._inactive) return balanced(code)\n defined =\n self.parser.defined.indexOf(\n normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n ) > -1\n effects.enter('labelEnd')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelEnd')\n return afterLabelEnd\n }\n\n function afterLabelEnd(code) {\n // Resource: `[asd](fgh)`.\n if (code === 40) {\n return effects.attempt(\n resourceConstruct,\n ok,\n defined ? ok : balanced\n )(code)\n } // Collapsed (`[asd][]`) or full (`[asd][fgh]`) reference?\n\n if (code === 91) {\n return effects.attempt(\n fullReferenceConstruct,\n ok,\n defined\n ? effects.attempt(collapsedReferenceConstruct, ok, balanced)\n : balanced\n )(code)\n } // Shortcut reference: `[asd]`?\n\n return defined ? ok(code) : balanced(code)\n }\n\n function balanced(code) {\n labelStart._balanced = true\n return nok(code)\n }\n}\n\nfunction tokenizeResource(effects, ok, nok) {\n return start\n\n function start(code) {\n effects.enter('resource')\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n return factoryWhitespace(effects, open)\n }\n\n function open(code) {\n if (code === 41) {\n return end(code)\n }\n\n return factoryDestination(\n effects,\n destinationAfter,\n nok,\n 'resourceDestination',\n 'resourceDestinationLiteral',\n 'resourceDestinationLiteralMarker',\n 'resourceDestinationRaw',\n 'resourceDestinationString',\n 3\n )(code)\n }\n\n function destinationAfter(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, between)(code)\n : end(code)\n }\n\n function between(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factoryWhitespace(effects, end),\n nok,\n 'resourceTitle',\n 'resourceTitleMarker',\n 'resourceTitleString'\n )(code)\n }\n\n return end(code)\n }\n\n function end(code) {\n if (code === 41) {\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n effects.exit('resource')\n return ok\n }\n\n return nok(code)\n }\n}\n\nfunction tokenizeFullReference(effects, ok, nok) {\n var self = this\n return start\n\n function start(code) {\n return factoryLabel.call(\n self,\n effects,\n afterLabel,\n nok,\n 'reference',\n 'referenceMarker',\n 'referenceString'\n )(code)\n }\n\n function afterLabel(code) {\n return self.parser.defined.indexOf(\n normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n ) < 0\n ? nok(code)\n : ok(code)\n }\n}\n\nfunction tokenizeCollapsedReference(effects, ok, nok) {\n return start\n\n function start(code) {\n effects.enter('reference')\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n return open\n }\n\n function open(code) {\n if (code === 93) {\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n effects.exit('reference')\n return ok\n }\n\n return nok(code)\n }\n}\n\nmodule.exports = labelEnd\n","'use strict'\n\nvar labelEnd = require('./label-end.js')\n\nvar labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: labelEnd.resolveAll\n}\n\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n var self = this\n return start\n\n function start(code) {\n effects.enter('labelImage')\n effects.enter('labelImageMarker')\n effects.consume(code)\n effects.exit('labelImageMarker')\n return open\n }\n\n function open(code) {\n if (code === 91) {\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelImage')\n return after\n }\n\n return nok(code)\n }\n\n function after(code) {\n /* c8 ignore next */\n return code === 94 &&\n /* c8 ignore next */\n '_hiddenFootnoteSupport' in self.parser.constructs\n ? /* c8 ignore next */\n nok(code)\n : ok(code)\n }\n}\n\nmodule.exports = labelStartImage\n","'use strict'\n\nvar labelEnd = require('./label-end.js')\n\nvar labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: labelEnd.resolveAll\n}\n\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n var self = this\n return start\n\n function start(code) {\n effects.enter('labelLink')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelLink')\n return after\n }\n\n function after(code) {\n /* c8 ignore next */\n return code === 94 &&\n /* c8 ignore next */\n '_hiddenFootnoteSupport' in self.parser.constructs\n ? /* c8 ignore next */\n nok(code)\n : ok(code)\n }\n}\n\nmodule.exports = labelStartLink\n","'use strict'\n\nvar factorySpace = require('./factory-space.js')\n\nvar lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n}\n\nfunction tokenizeLineEnding(effects, ok) {\n return start\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, ok, 'linePrefix')\n }\n}\n\nmodule.exports = lineEnding\n","'use strict'\n\nvar asciiDigit = require('../character/ascii-digit.js')\nvar markdownSpace = require('../character/markdown-space.js')\nvar prefixSize = require('../util/prefix-size.js')\nvar sizeChunks = require('../util/size-chunks.js')\nvar factorySpace = require('./factory-space.js')\nvar partialBlankLine = require('./partial-blank-line.js')\nvar thematicBreak = require('./thematic-break.js')\n\nvar list = {\n name: 'list',\n tokenize: tokenizeListStart,\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd\n}\nvar listItemPrefixWhitespaceConstruct = {\n tokenize: tokenizeListItemPrefixWhitespace,\n partial: true\n}\nvar indentConstruct = {\n tokenize: tokenizeIndent,\n partial: true\n}\n\nfunction tokenizeListStart(effects, ok, nok) {\n var self = this\n var initialSize = prefixSize(self.events, 'linePrefix')\n var size = 0\n return start\n\n function start(code) {\n var kind =\n self.containerState.type ||\n (code === 42 || code === 43 || code === 45\n ? 'listUnordered'\n : 'listOrdered')\n\n if (\n kind === 'listUnordered'\n ? !self.containerState.marker || code === self.containerState.marker\n : asciiDigit(code)\n ) {\n if (!self.containerState.type) {\n self.containerState.type = kind\n effects.enter(kind, {\n _container: true\n })\n }\n\n if (kind === 'listUnordered') {\n effects.enter('listItemPrefix')\n return code === 42 || code === 45\n ? effects.check(thematicBreak, nok, atMarker)(code)\n : atMarker(code)\n }\n\n if (!self.interrupt || code === 49) {\n effects.enter('listItemPrefix')\n effects.enter('listItemValue')\n return inside(code)\n }\n }\n\n return nok(code)\n }\n\n function inside(code) {\n if (asciiDigit(code) && ++size < 10) {\n effects.consume(code)\n return inside\n }\n\n if (\n (!self.interrupt || size < 2) &&\n (self.containerState.marker\n ? code === self.containerState.marker\n : code === 41 || code === 46)\n ) {\n effects.exit('listItemValue')\n return atMarker(code)\n }\n\n return nok(code)\n }\n\n function atMarker(code) {\n effects.enter('listItemMarker')\n effects.consume(code)\n effects.exit('listItemMarker')\n self.containerState.marker = self.containerState.marker || code\n return effects.check(\n partialBlankLine, // Can’t be empty when interrupting.\n self.interrupt ? nok : onBlank,\n effects.attempt(\n listItemPrefixWhitespaceConstruct,\n endOfPrefix,\n otherPrefix\n )\n )\n }\n\n function onBlank(code) {\n self.containerState.initialBlankLine = true\n initialSize++\n return endOfPrefix(code)\n }\n\n function otherPrefix(code) {\n if (markdownSpace(code)) {\n effects.enter('listItemPrefixWhitespace')\n effects.consume(code)\n effects.exit('listItemPrefixWhitespace')\n return endOfPrefix\n }\n\n return nok(code)\n }\n\n function endOfPrefix(code) {\n self.containerState.size =\n initialSize + sizeChunks(self.sliceStream(effects.exit('listItemPrefix')))\n return ok(code)\n }\n}\n\nfunction tokenizeListContinuation(effects, ok, nok) {\n var self = this\n self.containerState._closeFlow = undefined\n return effects.check(partialBlankLine, onBlank, notBlank)\n\n function onBlank(code) {\n self.containerState.furtherBlankLines =\n self.containerState.furtherBlankLines ||\n self.containerState.initialBlankLine // We have a blank line.\n // Still, try to consume at most the items size.\n\n return factorySpace(\n effects,\n ok,\n 'listItemIndent',\n self.containerState.size + 1\n )(code)\n }\n\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !markdownSpace(code)) {\n self.containerState.furtherBlankLines = self.containerState.initialBlankLine = undefined\n return notInCurrentItem(code)\n }\n\n self.containerState.furtherBlankLines = self.containerState.initialBlankLine = undefined\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code)\n }\n\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true // As we’re closing flow, we’re no longer interrupting.\n\n self.interrupt = undefined\n return factorySpace(\n effects,\n effects.attempt(list, ok, nok),\n 'linePrefix',\n self.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4\n )(code)\n }\n}\n\nfunction tokenizeIndent(effects, ok, nok) {\n var self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemIndent',\n self.containerState.size + 1\n )\n\n function afterPrefix(code) {\n return prefixSize(self.events, 'listItemIndent') ===\n self.containerState.size\n ? ok(code)\n : nok(code)\n }\n}\n\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type)\n}\n\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n var self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemPrefixWhitespace',\n self.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4 + 1\n )\n\n function afterPrefix(code) {\n return markdownSpace(code) ||\n !prefixSize(self.events, 'listItemPrefixWhitespace')\n ? nok(code)\n : ok(code)\n }\n}\n\nmodule.exports = list\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar factorySpace = require('./factory-space.js')\n\nvar partialBlankLine = {\n tokenize: tokenizePartialBlankLine,\n partial: true\n}\n\nfunction tokenizePartialBlankLine(effects, ok, nok) {\n return factorySpace(effects, afterWhitespace, 'linePrefix')\n\n function afterWhitespace(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n\nmodule.exports = partialBlankLine\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar shallow = require('../util/shallow.js')\nvar factorySpace = require('./factory-space.js')\n\nvar setextUnderline = {\n name: 'setextUnderline',\n tokenize: tokenizeSetextUnderline,\n resolveTo: resolveToSetextUnderline\n}\n\nfunction resolveToSetextUnderline(events, context) {\n var index = events.length\n var content\n var text\n var definition\n var heading // Find the opening of the content.\n // It’ll always exist: we don’t tokenize if it isn’t there.\n\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === 'content') {\n content = index\n break\n }\n\n if (events[index][1].type === 'paragraph') {\n text = index\n }\n } // Exit\n else {\n if (events[index][1].type === 'content') {\n // Remove the content end (if needed we’ll add it later)\n events.splice(index, 1)\n }\n\n if (!definition && events[index][1].type === 'definition') {\n definition = index\n }\n }\n }\n\n heading = {\n type: 'setextHeading',\n start: shallow(events[text][1].start),\n end: shallow(events[events.length - 1][1].end)\n } // Change the paragraph to setext heading text.\n\n events[text][1].type = 'setextHeadingText' // If we have definitions in the content, we’ll keep on having content,\n // but we need move it.\n\n if (definition) {\n events.splice(text, 0, ['enter', heading, context])\n events.splice(definition + 1, 0, ['exit', events[content][1], context])\n events[content][1].end = shallow(events[definition][1].end)\n } else {\n events[content][1] = heading\n } // Add the heading exit at the end.\n\n events.push(['exit', heading, context])\n return events\n}\n\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n var self = this\n var index = self.events.length\n var marker\n var paragraph // Find an opening.\n\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (\n self.events[index][1].type !== 'lineEnding' &&\n self.events[index][1].type !== 'linePrefix' &&\n self.events[index][1].type !== 'content'\n ) {\n paragraph = self.events[index][1].type === 'paragraph'\n break\n }\n }\n\n return start\n\n function start(code) {\n if (!self.lazy && (self.interrupt || paragraph)) {\n effects.enter('setextHeadingLine')\n effects.enter('setextHeadingLineSequence')\n marker = code\n return closingSequence(code)\n }\n\n return nok(code)\n }\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n return closingSequence\n }\n\n effects.exit('setextHeadingLineSequence')\n return factorySpace(effects, closingSequenceEnd, 'lineSuffix')(code)\n }\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('setextHeadingLine')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n\nmodule.exports = setextUnderline\n","'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownSpace = require('../character/markdown-space.js')\nvar factorySpace = require('./factory-space.js')\n\nvar thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n}\n\nfunction tokenizeThematicBreak(effects, ok, nok) {\n var size = 0\n var marker\n return start\n\n function start(code) {\n effects.enter('thematicBreak')\n marker = code\n return atBreak(code)\n }\n\n function atBreak(code) {\n if (code === marker) {\n effects.enter('thematicBreakSequence')\n return sequence(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, atBreak, 'whitespace')(code)\n }\n\n if (size < 3 || (code !== null && !markdownLineEnding(code))) {\n return nok(code)\n }\n\n effects.exit('thematicBreak')\n return ok(code)\n }\n\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return sequence\n }\n\n effects.exit('thematicBreakSequence')\n return atBreak(code)\n }\n}\n\nmodule.exports = thematicBreak\n","'use strict'\n\nvar chunkedSplice = require('./chunked-splice.js')\n\nfunction chunkedPush(list, items) {\n if (list.length) {\n chunkedSplice(list, list.length, 0, items)\n return list\n }\n\n return items\n}\n\nmodule.exports = chunkedPush\n","'use strict'\n\nvar splice = require('../constant/splice.js')\n\n// causes a stack overflow in V8 when trying to insert 100k items for instance.\n\nfunction chunkedSplice(list, start, remove, items) {\n var end = list.length\n var chunkStart = 0\n var parameters // Make start between zero and `end` (included).\n\n if (start < 0) {\n start = -start > end ? 0 : end + start\n } else {\n start = start > end ? end : start\n }\n\n remove = remove > 0 ? remove : 0 // No need to chunk the items if there’s only a couple (10k) items.\n\n if (items.length < 10000) {\n parameters = Array.from(items)\n parameters.unshift(start, remove)\n splice.apply(list, parameters)\n } else {\n // Delete `remove` items starting from `start`\n if (remove) splice.apply(list, [start, remove]) // Insert the items in chunks to not cause stack overflows.\n\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 10000)\n parameters.unshift(start, 0)\n splice.apply(list, parameters)\n chunkStart += 10000\n start += 10000\n }\n }\n}\n\nmodule.exports = chunkedSplice\n","'use strict'\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar unicodePunctuation = require('../character/unicode-punctuation.js')\nvar unicodeWhitespace = require('../character/unicode-whitespace.js')\n\n// Classify whether a character is unicode whitespace, unicode punctuation, or\n// anything else.\n// Used for attention (emphasis, strong), whose sequences can open or close\n// based on the class of surrounding characters.\nfunction classifyCharacter(code) {\n if (\n code === null ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return 1\n }\n\n if (unicodePunctuation(code)) {\n return 2\n }\n}\n\nmodule.exports = classifyCharacter\n","'use strict'\n\nvar hasOwnProperty = require('../constant/has-own-property.js')\nvar chunkedSplice = require('./chunked-splice.js')\nvar miniflat = require('./miniflat.js')\n\nfunction combineExtensions(extensions) {\n var all = {}\n var index = -1\n\n while (++index < extensions.length) {\n extension(all, extensions[index])\n }\n\n return all\n}\n\nfunction extension(all, extension) {\n var hook\n var left\n var right\n var code\n\n for (hook in extension) {\n left = hasOwnProperty.call(all, hook) ? all[hook] : (all[hook] = {})\n right = extension[hook]\n\n for (code in right) {\n left[code] = constructs(\n miniflat(right[code]),\n hasOwnProperty.call(left, code) ? left[code] : []\n )\n }\n }\n}\n\nfunction constructs(list, existing) {\n var index = -1\n var before = []\n\n while (++index < list.length) {\n ;(list[index].add === 'after' ? existing : before).push(list[index])\n }\n\n chunkedSplice(existing, 0, 0, before)\n return existing\n}\n\nmodule.exports = combineExtensions\n","'use strict'\n\nvar assign = require('../constant/assign.js')\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar chunkedPush = require('./chunked-push.js')\nvar chunkedSplice = require('./chunked-splice.js')\nvar miniflat = require('./miniflat.js')\nvar resolveAll = require('./resolve-all.js')\nvar serializeChunks = require('./serialize-chunks.js')\nvar shallow = require('./shallow.js')\nvar sliceChunks = require('./slice-chunks.js')\n\n// Create a tokenizer.\n// Tokenizers deal with one type of data (e.g., containers, flow, text).\n// The parser is the object dealing with it all.\n// `initialize` works like other constructs, except that only its `tokenize`\n// function is used, in which case it doesn’t receive an `ok` or `nok`.\n// `from` can be given to set the point before the first character, although\n// when further lines are indented, they must be set with `defineSkip`.\nfunction createTokenizer(parser, initialize, from) {\n var point = from\n ? shallow(from)\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n var columnStart = {}\n var resolveAllConstructs = []\n var chunks = []\n var stack = []\n\n var effects = {\n consume: consume,\n enter: enter,\n exit: exit,\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n }),\n lazy: constructFactory(onsuccessfulcheck, {\n lazy: true\n })\n } // State and tools for resolving and serializing.\n\n var context = {\n previous: null,\n events: [],\n parser: parser,\n sliceStream: sliceStream,\n sliceSerialize: sliceSerialize,\n now: now,\n defineSkip: skip,\n write: write\n } // The state function.\n\n var state = initialize.tokenize.call(context, effects) // Track which character we expect to be consumed, to catch bugs.\n\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize)\n } // Store where we are in the input stream.\n\n point._index = 0\n point._bufferIndex = -1\n return context\n\n function write(slice) {\n chunks = chunkedPush(chunks, slice)\n main() // Exit if we’re not done, resolve might change stuff.\n\n if (chunks[chunks.length - 1] !== null) {\n return []\n }\n\n addResult(initialize, 0) // Otherwise, resolve, and exit.\n\n context.events = resolveAll(resolveAllConstructs, context.events, context)\n return context.events\n } //\n // Tools.\n //\n\n function sliceSerialize(token) {\n return serializeChunks(sliceStream(token))\n }\n\n function sliceStream(token) {\n return sliceChunks(chunks, token)\n }\n\n function now() {\n return shallow(point)\n }\n\n function skip(value) {\n columnStart[value.line] = value.column\n accountForPotentialSkip()\n } //\n // State management.\n //\n // Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n // `consume`).\n // Here is where we walk through the chunks, which either include strings of\n // several characters, or numerical character codes.\n // The reason to do this in a loop instead of a call is so the stack can\n // drain.\n\n function main() {\n var chunkIndex\n var chunk\n\n while (point._index < chunks.length) {\n chunk = chunks[point._index] // If we’re in a buffer chunk, loop through it.\n\n if (typeof chunk === 'string') {\n chunkIndex = point._index\n\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0\n }\n\n while (\n point._index === chunkIndex &&\n point._bufferIndex < chunk.length\n ) {\n go(chunk.charCodeAt(point._bufferIndex))\n }\n } else {\n go(chunk)\n }\n }\n } // Deal with one code.\n\n function go(code) {\n state = state(code)\n } // Move a character forward.\n\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++\n point.column = 1\n point.offset += code === -3 ? 2 : 1\n accountForPotentialSkip()\n } else if (code !== -1) {\n point.column++\n point.offset++\n } // Not in a string chunk.\n\n if (point._bufferIndex < 0) {\n point._index++\n } else {\n point._bufferIndex++ // At end of string chunk.\n\n if (point._bufferIndex === chunks[point._index].length) {\n point._bufferIndex = -1\n point._index++\n }\n } // Expose the previous character.\n\n context.previous = code // Mark as consumed.\n } // Start a token.\n\n function enter(type, fields) {\n var token = fields || {}\n token.type = type\n token.start = now()\n context.events.push(['enter', token, context])\n stack.push(token)\n return token\n } // Stop a token.\n\n function exit(type) {\n var token = stack.pop()\n token.end = now()\n context.events.push(['exit', token, context])\n return token\n } // Use results.\n\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from)\n } // Discard results.\n\n function onsuccessfulcheck(construct, info) {\n info.restore()\n } // Factory to attempt/check/interrupt.\n\n function constructFactory(onreturn, fields) {\n return hook // Handle either an object mapping codes to constructs, a list of\n // constructs, or a single construct.\n\n function hook(constructs, returnState, bogusState) {\n var listOfConstructs\n var constructIndex\n var currentConstruct\n var info\n return constructs.tokenize || 'length' in constructs\n ? handleListOfConstructs(miniflat(constructs))\n : handleMapOfConstructs\n\n function handleMapOfConstructs(code) {\n if (code in constructs || null in constructs) {\n return handleListOfConstructs(\n constructs.null\n ? /* c8 ignore next */\n miniflat(constructs[code]).concat(miniflat(constructs.null))\n : constructs[code]\n )(code)\n }\n\n return bogusState(code)\n }\n\n function handleListOfConstructs(list) {\n listOfConstructs = list\n constructIndex = 0\n return handleConstruct(list[constructIndex])\n }\n\n function handleConstruct(construct) {\n return start\n\n function start(code) {\n // To do: not nede to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store()\n currentConstruct = construct\n\n if (!construct.partial) {\n context.currentConstruct = construct\n }\n\n if (\n construct.name &&\n context.parser.constructs.disable.null.indexOf(construct.name) > -1\n ) {\n return nok()\n }\n\n return construct.tokenize.call(\n fields ? assign({}, context, fields) : context,\n effects,\n ok,\n nok\n )(code)\n }\n }\n\n function ok(code) {\n onreturn(currentConstruct, info)\n return returnState\n }\n\n function nok(code) {\n info.restore()\n\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex])\n }\n\n return bogusState\n }\n }\n }\n\n function addResult(construct, from) {\n if (construct.resolveAll && resolveAllConstructs.indexOf(construct) < 0) {\n resolveAllConstructs.push(construct)\n }\n\n if (construct.resolve) {\n chunkedSplice(\n context.events,\n from,\n context.events.length - from,\n construct.resolve(context.events.slice(from), context)\n )\n }\n\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context)\n }\n }\n\n function store() {\n var startPoint = now()\n var startPrevious = context.previous\n var startCurrentConstruct = context.currentConstruct\n var startEventsIndex = context.events.length\n var startStack = Array.from(stack)\n return {\n restore: restore,\n from: startEventsIndex\n }\n\n function restore() {\n point = startPoint\n context.previous = startPrevious\n context.currentConstruct = startCurrentConstruct\n context.events.length = startEventsIndex\n stack = startStack\n accountForPotentialSkip()\n }\n }\n\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line]\n point.offset += columnStart[point.line] - 1\n }\n }\n}\n\nmodule.exports = createTokenizer\n","'use strict'\n\nfunction miniflat(value) {\n return value === null || value === undefined\n ? []\n : 'length' in value\n ? value\n : [value]\n}\n\nmodule.exports = miniflat\n","'use strict'\n\n// chunks (replacement characters, tabs, or line endings).\n\nfunction movePoint(point, offset) {\n point.column += offset\n point.offset += offset\n point._bufferIndex += offset\n return point\n}\n\nmodule.exports = movePoint\n","'use strict'\n\nfunction normalizeIdentifier(value) {\n return (\n value // Collapse Markdown whitespace.\n .replace(/[\\t\\n\\r ]+/g, ' ') // Trim.\n .replace(/^ | $/g, '') // Some characters are considered “uppercase”, but if their lowercase\n // counterpart is uppercased will result in a different uppercase\n // character.\n // Hence, to get that form, we perform both lower- and uppercase.\n // Upper case makes sure keys will not interact with default prototypal\n // methods: no object method is uppercase.\n .toLowerCase()\n .toUpperCase()\n )\n}\n\nmodule.exports = normalizeIdentifier\n","'use strict'\n\nvar sizeChunks = require('./size-chunks.js')\n\nfunction prefixSize(events, type) {\n var tail = events[events.length - 1]\n if (!tail || tail[1].type !== type) return 0\n return sizeChunks(tail[2].sliceStream(tail[1]))\n}\n\nmodule.exports = prefixSize\n","'use strict'\n\nvar fromCharCode = require('../constant/from-char-code.js')\n\nfunction regexCheck(regex) {\n return check\n\n function check(code) {\n return regex.test(fromCharCode(code))\n }\n}\n\nmodule.exports = regexCheck\n","'use strict'\n\nfunction resolveAll(constructs, events, context) {\n var called = []\n var index = -1\n var resolve\n\n while (++index < constructs.length) {\n resolve = constructs[index].resolveAll\n\n if (resolve && called.indexOf(resolve) < 0) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n\nmodule.exports = resolveAll\n","'use strict'\n\nvar fromCharCode = require('../constant/from-char-code.js')\n\nfunction safeFromInt(value, base) {\n var code = parseInt(value, base)\n\n if (\n // C0 except for HT, LF, FF, CR, space\n code < 9 ||\n code === 11 ||\n (code > 13 && code < 32) || // Control character (DEL) of the basic block and C1 controls.\n (code > 126 && code < 160) || // Lone high surrogates and low surrogates.\n (code > 55295 && code < 57344) || // Noncharacters.\n (code > 64975 && code < 65008) ||\n (code & 65535) === 65535 ||\n (code & 65535) === 65534 || // Out of range\n code > 1114111\n ) {\n return '\\uFFFD'\n }\n\n return fromCharCode(code)\n}\n\nmodule.exports = safeFromInt\n","'use strict'\n\nvar fromCharCode = require('../constant/from-char-code.js')\n\nfunction serializeChunks(chunks) {\n var index = -1\n var result = []\n var chunk\n var value\n var atTab\n\n while (++index < chunks.length) {\n chunk = chunks[index]\n\n if (typeof chunk === 'string') {\n value = chunk\n } else if (chunk === -5) {\n value = '\\r'\n } else if (chunk === -4) {\n value = '\\n'\n } else if (chunk === -3) {\n value = '\\r' + '\\n'\n } else if (chunk === -2) {\n value = '\\t'\n } else if (chunk === -1) {\n if (atTab) continue\n value = ' '\n } else {\n // Currently only replacement character.\n value = fromCharCode(chunk)\n }\n\n atTab = chunk === -2\n result.push(value)\n }\n\n return result.join('')\n}\n\nmodule.exports = serializeChunks\n","'use strict'\n\nvar assign = require('../constant/assign.js')\n\nfunction shallow(object) {\n return assign({}, object)\n}\n\nmodule.exports = shallow\n","'use strict'\n\n// Counts tabs based on their expanded size, and CR+LF as one character.\n\nfunction sizeChunks(chunks) {\n var index = -1\n var size = 0\n\n while (++index < chunks.length) {\n size += typeof chunks[index] === 'string' ? chunks[index].length : 1\n }\n\n return size\n}\n\nmodule.exports = sizeChunks\n","'use strict'\n\nfunction sliceChunks(chunks, token) {\n var startIndex = token.start._index\n var startBufferIndex = token.start._bufferIndex\n var endIndex = token.end._index\n var endBufferIndex = token.end._bufferIndex\n var view\n\n if (startIndex === endIndex) {\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)]\n } else {\n view = chunks.slice(startIndex, endIndex)\n\n if (startBufferIndex > -1) {\n view[0] = view[0].slice(startBufferIndex)\n }\n\n if (endBufferIndex > 0) {\n view.push(chunks[endIndex].slice(0, endBufferIndex))\n }\n }\n\n return view\n}\n\nmodule.exports = sliceChunks\n","'use strict'\n\nvar assign = require('../constant/assign.js')\nvar chunkedSplice = require('./chunked-splice.js')\nvar shallow = require('./shallow.js')\n\nfunction subtokenize(events) {\n var jumps = {}\n var index = -1\n var event\n var lineIndex\n var otherIndex\n var otherEvent\n var parameters\n var subevents\n var more\n\n while (++index < events.length) {\n while (index in jumps) {\n index = jumps[index]\n }\n\n event = events[index] // Add a hook for the GFM tasklist extension, which needs to know if text\n // is in the first content of a list item.\n\n if (\n index &&\n event[1].type === 'chunkFlow' &&\n events[index - 1][1].type === 'listItemPrefix'\n ) {\n subevents = event[1]._tokenizer.events\n otherIndex = 0\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'lineEndingBlank'\n ) {\n otherIndex += 2\n }\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'content'\n ) {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === 'content') {\n break\n }\n\n if (subevents[otherIndex][1].type === 'chunkText') {\n subevents[otherIndex][1].isInFirstContentOfListItem = true\n otherIndex++\n }\n }\n }\n } // Enter.\n\n if (event[0] === 'enter') {\n if (event[1].contentType) {\n assign(jumps, subcontent(events, index))\n index = jumps[index]\n more = true\n }\n } // Exit.\n else if (event[1]._container || event[1]._movePreviousLineEndings) {\n otherIndex = index\n lineIndex = undefined\n\n while (otherIndex--) {\n otherEvent = events[otherIndex]\n\n if (\n otherEvent[1].type === 'lineEnding' ||\n otherEvent[1].type === 'lineEndingBlank'\n ) {\n if (otherEvent[0] === 'enter') {\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n }\n\n otherEvent[1].type = 'lineEnding'\n lineIndex = otherIndex\n }\n } else {\n break\n }\n }\n\n if (lineIndex) {\n // Fix position.\n event[1].end = shallow(events[lineIndex][1].start) // Switch container exit w/ line endings.\n\n parameters = events.slice(lineIndex, index)\n parameters.unshift(event)\n chunkedSplice(events, lineIndex, index - lineIndex + 1, parameters)\n }\n }\n }\n\n return !more\n}\n\nfunction subcontent(events, eventIndex) {\n var token = events[eventIndex][1]\n var context = events[eventIndex][2]\n var startPosition = eventIndex - 1\n var startPositions = []\n var tokenizer =\n token._tokenizer || context.parser[token.contentType](token.start)\n var childEvents = tokenizer.events\n var jumps = []\n var gaps = {}\n var stream\n var previous\n var index\n var entered\n var end\n var adjust // Loop forward through the linked tokens to pass them in order to the\n // subtokenizer.\n\n while (token) {\n // Find the position of the event for this token.\n while (events[++startPosition][1] !== token) {\n // Empty.\n }\n\n startPositions.push(startPosition)\n\n if (!token._tokenizer) {\n stream = context.sliceStream(token)\n\n if (!token.next) {\n stream.push(null)\n }\n\n if (previous) {\n tokenizer.defineSkip(token.start)\n }\n\n if (token.isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true\n }\n\n tokenizer.write(stream)\n\n if (token.isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = undefined\n }\n } // Unravel the next token.\n\n previous = token\n token = token.next\n } // Now, loop back through all events (and linked tokens), to figure out which\n // parts belong where.\n\n token = previous\n index = childEvents.length\n\n while (index--) {\n // Make sure we’ve at least seen something (final eol is part of the last\n // token).\n if (childEvents[index][0] === 'enter') {\n entered = true\n } else if (\n // Find a void token that includes a break.\n entered &&\n childEvents[index][1].type === childEvents[index - 1][1].type &&\n childEvents[index][1].start.line !== childEvents[index][1].end.line\n ) {\n add(childEvents.slice(index + 1, end))\n // Help GC.\n token._tokenizer = token.next = undefined\n token = token.previous\n end = index + 1\n }\n }\n\n // Help GC.\n tokenizer.events = token._tokenizer = token.next = undefined // Do head:\n\n add(childEvents.slice(0, end))\n index = -1\n adjust = 0\n\n while (++index < jumps.length) {\n gaps[adjust + jumps[index][0]] = adjust + jumps[index][1]\n adjust += jumps[index][1] - jumps[index][0] - 1\n }\n\n return gaps\n\n function add(slice) {\n var start = startPositions.pop()\n jumps.unshift([start, start + slice.length - 1])\n chunkedSplice(events, start, 2, slice)\n }\n}\n\nmodule.exports = subtokenize\n","'use strict'\n\n/* eslint-env browser */\n\nvar el\n\nvar semicolon = 59 // ';'\n\nmodule.exports = decodeEntity\n\nfunction decodeEntity(characters) {\n var entity = '&' + characters + ';'\n var char\n\n el = el || document.createElement('i')\n el.innerHTML = entity\n char = el.textContent\n\n // Some entities do not require the closing semicolon (`¬` - for instance),\n // which leads to situations where parsing the assumed entity of ¬it; will\n // result in the string `¬it;`. When we encounter a trailing semicolon after\n // parsing and the entity to decode was not a semicolon (`;`), we can\n // assume that the matching was incomplete\n if (char.charCodeAt(char.length - 1) === semicolon && characters !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the entity was not valid\n return char === entity ? false : char\n}\n","'use strict'\n\nmodule.exports = parse\n\nvar fromMarkdown = require('mdast-util-from-markdown')\n\nfunction parse(options) {\n var self = this\n\n this.Parser = parse\n\n function parse(doc) {\n return fromMarkdown(\n doc,\n Object.assign({}, self.data('settings'), options, {\n // Note: these options are not in the readme.\n // The goal is for them to be set by plugins on `data` instead of being\n // passed by users.\n extensions: self.data('micromarkExtensions') || [],\n mdastExtensions: self.data('fromMarkdownExtensions') || []\n })\n )\n }\n}\n","'use strict'\n\nvar wrap = require('./wrap.js')\n\nmodule.exports = trough\n\ntrough.wrap = wrap\n\nvar slice = [].slice\n\n// Create new middleware.\nfunction trough() {\n var fns = []\n var middleware = {}\n\n middleware.run = run\n middleware.use = use\n\n return middleware\n\n // Run `fns`. Last argument must be a completion handler.\n function run() {\n var index = -1\n var input = slice.call(arguments, 0, -1)\n var done = arguments[arguments.length - 1]\n\n if (typeof done !== 'function') {\n throw new Error('Expected function as last argument, not ' + done)\n }\n\n next.apply(null, [null].concat(input))\n\n // Run the next `fn`, if any.\n function next(err) {\n var fn = fns[++index]\n var params = slice.call(arguments, 0)\n var values = params.slice(1)\n var length = input.length\n var pos = -1\n\n if (err) {\n done(err)\n return\n }\n\n // Copy non-nully input into values.\n while (++pos < length) {\n if (values[pos] === null || values[pos] === undefined) {\n values[pos] = input[pos]\n }\n }\n\n input = values\n\n // Next or done.\n if (fn) {\n wrap(fn, next).apply(null, input)\n } else {\n done.apply(null, [null].concat(input))\n }\n }\n }\n\n // Add `fn` to the list.\n function use(fn) {\n if (typeof fn !== 'function') {\n throw new Error('Expected `fn` to be a function, not ' + fn)\n }\n\n fns.push(fn)\n\n return middleware\n }\n}\n","'use strict'\n\nvar slice = [].slice\n\nmodule.exports = wrap\n\n// Wrap `fn`.\n// Can be sync or async; return a promise, receive a completion handler, return\n// new values and errors.\nfunction wrap(fn, callback) {\n var invoked\n\n return wrapped\n\n function wrapped() {\n var params = slice.call(arguments, 0)\n var callback = fn.length > params.length\n var result\n\n if (callback) {\n params.push(done)\n }\n\n try {\n result = fn.apply(null, params)\n } catch (error) {\n // Well, this is quite the pickle.\n // `fn` received a callback and invoked it (thus continuing the pipeline),\n // but later also threw an error.\n // We’re not about to restart the pipeline again, so the only thing left\n // to do is to throw the thing instead.\n if (callback && invoked) {\n throw error\n }\n\n return done(error)\n }\n\n if (!callback) {\n if (result && typeof result.then === 'function') {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n // Invoke `next`, only once.\n function done() {\n if (!invoked) {\n invoked = true\n\n callback.apply(null, arguments)\n }\n }\n\n // Invoke `done` with one value.\n // Tracks if an error is passed, too.\n function then(value) {\n done(null, value)\n }\n}\n","'use strict'\n\nvar bail = require('bail')\nvar buffer = require('is-buffer')\nvar extend = require('extend')\nvar plain = require('is-plain-obj')\nvar trough = require('trough')\nvar vfile = require('vfile')\n\n// Expose a frozen processor.\nmodule.exports = unified().freeze()\n\nvar slice = [].slice\nvar own = {}.hasOwnProperty\n\n// Process pipeline.\nvar pipeline = trough()\n .use(pipelineParse)\n .use(pipelineRun)\n .use(pipelineStringify)\n\nfunction pipelineParse(p, ctx) {\n ctx.tree = p.parse(ctx.file)\n}\n\nfunction pipelineRun(p, ctx, next) {\n p.run(ctx.tree, ctx.file, done)\n\n function done(error, tree, file) {\n if (error) {\n next(error)\n } else {\n ctx.tree = tree\n ctx.file = file\n next()\n }\n }\n}\n\nfunction pipelineStringify(p, ctx) {\n var result = p.stringify(ctx.tree, ctx.file)\n\n if (result === undefined || result === null) {\n // Empty.\n } else if (typeof result === 'string' || buffer(result)) {\n if ('value' in ctx.file) {\n ctx.file.value = result\n }\n\n ctx.file.contents = result\n } else {\n ctx.file.result = result\n }\n}\n\n// Function to create the first processor.\nfunction unified() {\n var attachers = []\n var transformers = trough()\n var namespace = {}\n var freezeIndex = -1\n var frozen\n\n // Data management.\n processor.data = data\n\n // Lock.\n processor.freeze = freeze\n\n // Plugins.\n processor.attachers = attachers\n processor.use = use\n\n // API.\n processor.parse = parse\n processor.stringify = stringify\n processor.run = run\n processor.runSync = runSync\n processor.process = process\n processor.processSync = processSync\n\n // Expose.\n return processor\n\n // Create a new processor based on the processor in the current scope.\n function processor() {\n var destination = unified()\n var index = -1\n\n while (++index < attachers.length) {\n destination.use.apply(null, attachers[index])\n }\n\n destination.data(extend(true, {}, namespace))\n\n return destination\n }\n\n // Freeze: used to signal a processor that has finished configuration.\n //\n // For example, take unified itself: it’s frozen.\n // Plugins should not be added to it.\n // Rather, it should be extended, by invoking it, before modifying it.\n //\n // In essence, always invoke this when exporting a processor.\n function freeze() {\n var values\n var transformer\n\n if (frozen) {\n return processor\n }\n\n while (++freezeIndex < attachers.length) {\n values = attachers[freezeIndex]\n\n if (values[1] === false) {\n continue\n }\n\n if (values[1] === true) {\n values[1] = undefined\n }\n\n transformer = values[0].apply(processor, values.slice(1))\n\n if (typeof transformer === 'function') {\n transformers.use(transformer)\n }\n }\n\n frozen = true\n freezeIndex = Infinity\n\n return processor\n }\n\n // Data management.\n // Getter / setter for processor-specific informtion.\n function data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', frozen)\n namespace[key] = value\n return processor\n }\n\n // Get `key`.\n return (own.call(namespace, key) && namespace[key]) || null\n }\n\n // Set space.\n if (key) {\n assertUnfrozen('data', frozen)\n namespace = key\n return processor\n }\n\n // Get space.\n return namespace\n }\n\n // Plugin management.\n //\n // Pass it:\n // * an attacher and options,\n // * a preset,\n // * a list of presets, attachers, and arguments (list of attachers and\n // options).\n function use(value) {\n var settings\n\n assertUnfrozen('use', frozen)\n\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'function') {\n addPlugin.apply(null, arguments)\n } else if (typeof value === 'object') {\n if ('length' in value) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new Error('Expected usable value, not `' + value + '`')\n }\n\n if (settings) {\n namespace.settings = extend(namespace.settings || {}, settings)\n }\n\n return processor\n\n function addPreset(result) {\n addList(result.plugins)\n\n if (result.settings) {\n settings = extend(settings || {}, result.settings)\n }\n }\n\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value)\n } else if (typeof value === 'object') {\n if ('length' in value) {\n addPlugin.apply(null, value)\n } else {\n addPreset(value)\n }\n } else {\n throw new Error('Expected usable value, not `' + value + '`')\n }\n }\n\n function addList(plugins) {\n var index = -1\n\n if (plugins === null || plugins === undefined) {\n // Empty.\n } else if (typeof plugins === 'object' && 'length' in plugins) {\n while (++index < plugins.length) {\n add(plugins[index])\n }\n } else {\n throw new Error('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n function addPlugin(plugin, value) {\n var entry = find(plugin)\n\n if (entry) {\n if (plain(entry[1]) && plain(value)) {\n value = extend(true, entry[1], value)\n }\n\n entry[1] = value\n } else {\n attachers.push(slice.call(arguments))\n }\n }\n }\n\n function find(plugin) {\n var index = -1\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n return attachers[index]\n }\n }\n }\n\n // Parse a file (in string or vfile representation) into a unist node using\n // the `Parser` on the processor.\n function parse(doc) {\n var file = vfile(doc)\n var Parser\n\n freeze()\n Parser = processor.Parser\n assertParser('parse', Parser)\n\n if (newable(Parser, 'parse')) {\n return new Parser(String(file), file).parse()\n }\n\n return Parser(String(file), file) // eslint-disable-line new-cap\n }\n\n // Run transforms on a unist node representation of a file (in string or\n // vfile representation), async.\n function run(node, file, cb) {\n assertNode(node)\n freeze()\n\n if (!cb && typeof file === 'function') {\n cb = file\n file = null\n }\n\n if (!cb) {\n return new Promise(executor)\n }\n\n executor(null, cb)\n\n function executor(resolve, reject) {\n transformers.run(node, vfile(file), done)\n\n function done(error, tree, file) {\n tree = tree || node\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(tree)\n } else {\n cb(null, tree, file)\n }\n }\n }\n }\n\n // Run transforms on a unist node representation of a file (in string or\n // vfile representation), sync.\n function runSync(node, file) {\n var result\n var complete\n\n run(node, file, done)\n\n assertDone('runSync', 'run', complete)\n\n return result\n\n function done(error, tree) {\n complete = true\n result = tree\n bail(error)\n }\n }\n\n // Stringify a unist node representation of a file (in string or vfile\n // representation) into a string using the `Compiler` on the processor.\n function stringify(node, doc) {\n var file = vfile(doc)\n var Compiler\n\n freeze()\n Compiler = processor.Compiler\n assertCompiler('stringify', Compiler)\n assertNode(node)\n\n if (newable(Compiler, 'compile')) {\n return new Compiler(node, file).compile()\n }\n\n return Compiler(node, file) // eslint-disable-line new-cap\n }\n\n // Parse a file (in string or vfile representation) into a unist node using\n // the `Parser` on the processor, then run transforms on that node, and\n // compile the resulting node using the `Compiler` on the processor, and\n // store that result on the vfile.\n function process(doc, cb) {\n freeze()\n assertParser('process', processor.Parser)\n assertCompiler('process', processor.Compiler)\n\n if (!cb) {\n return new Promise(executor)\n }\n\n executor(null, cb)\n\n function executor(resolve, reject) {\n var file = vfile(doc)\n\n pipeline.run(processor, {file: file}, done)\n\n function done(error) {\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(file)\n } else {\n cb(null, file)\n }\n }\n }\n }\n\n // Process the given document (in string or vfile representation), sync.\n function processSync(doc) {\n var file\n var complete\n\n freeze()\n assertParser('processSync', processor.Parser)\n assertCompiler('processSync', processor.Compiler)\n file = vfile(doc)\n\n process(file, done)\n\n assertDone('processSync', 'process', complete)\n\n return file\n\n function done(error) {\n complete = true\n bail(error)\n }\n }\n}\n\n// Check if `value` is a constructor.\nfunction newable(value, name) {\n return (\n typeof value === 'function' &&\n value.prototype &&\n // A function with keys in its prototype is probably a constructor.\n // Classes’ prototype methods are not enumerable, so we check if some value\n // exists in the prototype.\n (keys(value.prototype) || name in value.prototype)\n )\n}\n\n// Check if `value` is an object with keys.\nfunction keys(value) {\n var key\n for (key in value) {\n return true\n }\n\n return false\n}\n\n// Assert a parser is available.\nfunction assertParser(name, Parser) {\n if (typeof Parser !== 'function') {\n throw new Error('Cannot `' + name + '` without `Parser`')\n }\n}\n\n// Assert a compiler is available.\nfunction assertCompiler(name, Compiler) {\n if (typeof Compiler !== 'function') {\n throw new Error('Cannot `' + name + '` without `Compiler`')\n }\n}\n\n// Assert the processor is not frozen.\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n 'Cannot invoke `' +\n name +\n '` on a frozen processor.\\nCreate a new processor first, by invoking it: use `processor()` instead of `processor`.'\n )\n }\n}\n\n// Assert `node` is a unist node.\nfunction assertNode(node) {\n if (!node || typeof node.type !== 'string') {\n throw new Error('Expected node, got `' + node + '`')\n }\n}\n\n// Assert that `complete` is `true`.\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n","'use strict'\n\nvar own = {}.hasOwnProperty\n\nmodule.exports = stringify\n\nfunction stringify(value) {\n // Nothing.\n if (!value || typeof value !== 'object') {\n return ''\n }\n\n // Node.\n if (own.call(value, 'position') || own.call(value, 'type')) {\n return position(value.position)\n }\n\n // Position.\n if (own.call(value, 'start') || own.call(value, 'end')) {\n return position(value)\n }\n\n // Point.\n if (own.call(value, 'line') || own.call(value, 'column')) {\n return point(value)\n }\n\n // ?\n return ''\n}\n\nfunction point(point) {\n if (!point || typeof point !== 'object') {\n point = {}\n }\n\n return index(point.line) + ':' + index(point.column)\n}\n\nfunction position(pos) {\n if (!pos || typeof pos !== 'object') {\n pos = {}\n }\n\n return point(pos.start) + '-' + point(pos.end)\n}\n\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n","'use strict'\n\nvar stringify = require('unist-util-stringify-position')\n\nmodule.exports = VMessage\n\n// Inherit from `Error#`.\nfunction VMessagePrototype() {}\nVMessagePrototype.prototype = Error.prototype\nVMessage.prototype = new VMessagePrototype()\n\n// Message properties.\nvar proto = VMessage.prototype\n\nproto.file = ''\nproto.name = ''\nproto.reason = ''\nproto.message = ''\nproto.stack = ''\nproto.fatal = null\nproto.column = null\nproto.line = null\n\n// Construct a new VMessage.\n//\n// Note: We cannot invoke `Error` on the created context, as that adds readonly\n// `line` and `column` attributes on Safari 9, thus throwing and failing the\n// data.\nfunction VMessage(reason, position, origin) {\n var parts\n var range\n var location\n\n if (typeof position === 'string') {\n origin = position\n position = null\n }\n\n parts = parseOrigin(origin)\n range = stringify(position) || '1:1'\n\n location = {\n start: {line: null, column: null},\n end: {line: null, column: null}\n }\n\n // Node.\n if (position && position.position) {\n position = position.position\n }\n\n if (position) {\n // Position.\n if (position.start) {\n location = position\n position = position.start\n } else {\n // Point.\n location.start = position\n }\n }\n\n if (reason.stack) {\n this.stack = reason.stack\n reason = reason.message\n }\n\n this.message = reason\n this.name = range\n this.reason = reason\n this.line = position ? position.line : null\n this.column = position ? position.column : null\n this.location = location\n this.source = parts[0]\n this.ruleId = parts[1]\n}\n\nfunction parseOrigin(origin) {\n var result = [null, null]\n var index\n\n if (typeof origin === 'string') {\n index = origin.indexOf(':')\n\n if (index === -1) {\n result[1] = origin\n } else {\n result[0] = origin.slice(0, index)\n result[1] = origin.slice(index + 1)\n }\n }\n\n return result\n}\n","'use strict'\n\nmodule.exports = require('./lib')\n","'use strict'\n\nvar p = require('./minpath')\nvar proc = require('./minproc')\nvar buffer = require('is-buffer')\n\nmodule.exports = VFile\n\nvar own = {}.hasOwnProperty\n\n// Order of setting (least specific to most), we need this because otherwise\n// `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n// stem can be set.\nvar order = ['history', 'path', 'basename', 'stem', 'extname', 'dirname']\n\nVFile.prototype.toString = toString\n\n// Access full path (`~/index.min.js`).\nObject.defineProperty(VFile.prototype, 'path', {get: getPath, set: setPath})\n\n// Access parent path (`~`).\nObject.defineProperty(VFile.prototype, 'dirname', {\n get: getDirname,\n set: setDirname\n})\n\n// Access basename (`index.min.js`).\nObject.defineProperty(VFile.prototype, 'basename', {\n get: getBasename,\n set: setBasename\n})\n\n// Access extname (`.js`).\nObject.defineProperty(VFile.prototype, 'extname', {\n get: getExtname,\n set: setExtname\n})\n\n// Access stem (`index.min`).\nObject.defineProperty(VFile.prototype, 'stem', {get: getStem, set: setStem})\n\n// Construct a new file.\nfunction VFile(options) {\n var prop\n var index\n\n if (!options) {\n options = {}\n } else if (typeof options === 'string' || buffer(options)) {\n options = {contents: options}\n } else if ('message' in options && 'messages' in options) {\n return options\n }\n\n if (!(this instanceof VFile)) {\n return new VFile(options)\n }\n\n this.data = {}\n this.messages = []\n this.history = []\n this.cwd = proc.cwd()\n\n // Set path related properties in the correct order.\n index = -1\n\n while (++index < order.length) {\n prop = order[index]\n\n if (own.call(options, prop)) {\n this[prop] = options[prop]\n }\n }\n\n // Set non-path related properties.\n for (prop in options) {\n if (order.indexOf(prop) < 0) {\n this[prop] = options[prop]\n }\n }\n}\n\nfunction getPath() {\n return this.history[this.history.length - 1]\n}\n\nfunction setPath(path) {\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n}\n\nfunction getDirname() {\n return typeof this.path === 'string' ? p.dirname(this.path) : undefined\n}\n\nfunction setDirname(dirname) {\n assertPath(this.path, 'dirname')\n this.path = p.join(dirname || '', this.basename)\n}\n\nfunction getBasename() {\n return typeof this.path === 'string' ? p.basename(this.path) : undefined\n}\n\nfunction setBasename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = p.join(this.dirname || '', basename)\n}\n\nfunction getExtname() {\n return typeof this.path === 'string' ? p.extname(this.path) : undefined\n}\n\nfunction setExtname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.path, 'extname')\n\n if (extname) {\n if (extname.charCodeAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.indexOf('.', 1) > -1) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = p.join(this.dirname, this.stem + (extname || ''))\n}\n\nfunction getStem() {\n return typeof this.path === 'string'\n ? p.basename(this.path, this.extname)\n : undefined\n}\n\nfunction setStem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = p.join(this.dirname || '', stem + (this.extname || ''))\n}\n\n// Get the value of the file.\nfunction toString(encoding) {\n return (this.contents || '').toString(encoding)\n}\n\n// Assert that `part` is not a path (i.e., does not contain `p.sep`).\nfunction assertPart(part, name) {\n if (part && part.indexOf(p.sep) > -1) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + p.sep + '`'\n )\n }\n}\n\n// Assert that `part` is not empty.\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n// Assert `path` exists.\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n","'use strict'\n\nvar VMessage = require('vfile-message')\nvar VFile = require('./core.js')\n\nmodule.exports = VFile\n\nVFile.prototype.message = message\nVFile.prototype.info = info\nVFile.prototype.fail = fail\n\n// Create a message with `reason` at `position`.\n// When an error is passed in as `reason`, copies the stack.\nfunction message(reason, position, origin) {\n var message = new VMessage(reason, position, origin)\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n}\n\n// Fail: creates a vmessage, associates it with the file, and throws it.\nfunction fail() {\n var message = this.message.apply(this, arguments)\n\n message.fatal = true\n\n throw message\n}\n\n// Info: creates a vmessage, associates it with the file, and marks the fatality\n// as null.\nfunction info() {\n var message = this.message.apply(this, arguments)\n\n message.fatal = null\n\n return message\n}\n","'use strict'\n\n// A derivative work based on:\n// .\n// Which is licensed:\n//\n// MIT License\n//\n// Copyright (c) 2013 James Halliday\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A derivative work based on:\n//\n// Parts of that are extracted from Node’s internal `path` module:\n// .\n// Which is licensed:\n//\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nexports.basename = basename\nexports.dirname = dirname\nexports.extname = extname\nexports.join = join\nexports.sep = '/'\n\nfunction basename(path, ext) {\n var start = 0\n var end = -1\n var index\n var firstNonSlashEnd\n var seenNonSlash\n var extIndex\n\n if (ext !== undefined && typeof ext !== 'string') {\n throw new TypeError('\"ext\" argument must be a string')\n }\n\n assertPath(path)\n index = path.length\n\n if (ext === undefined || !ext.length || ext.length > path.length) {\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // path component.\n seenNonSlash = true\n end = index + 1\n }\n }\n\n return end < 0 ? '' : path.slice(start, end)\n }\n\n if (ext === path) {\n return ''\n }\n\n firstNonSlashEnd = -1\n extIndex = ext.length - 1\n\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else {\n if (firstNonSlashEnd < 0) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching.\n seenNonSlash = true\n firstNonSlashEnd = index + 1\n }\n\n if (extIndex > -1) {\n // Try to match the explicit extension.\n if (path.charCodeAt(index) === ext.charCodeAt(extIndex--)) {\n if (extIndex < 0) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = index\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIndex = -1\n end = firstNonSlashEnd\n }\n }\n }\n }\n\n if (start === end) {\n end = firstNonSlashEnd\n } else if (end < 0) {\n end = path.length\n }\n\n return path.slice(start, end)\n}\n\nfunction dirname(path) {\n var end\n var unmatchedSlash\n var index\n\n assertPath(path)\n\n if (!path.length) {\n return '.'\n }\n\n end = -1\n index = path.length\n\n // Prefix `--` is important to not run on `0`.\n while (--index) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n if (unmatchedSlash) {\n end = index\n break\n }\n } else if (!unmatchedSlash) {\n // We saw the first non-path separator\n unmatchedSlash = true\n }\n }\n\n return end < 0\n ? path.charCodeAt(0) === 47 /* `/` */\n ? '/'\n : '.'\n : end === 1 && path.charCodeAt(0) === 47 /* `/` */\n ? '//'\n : path.slice(0, end)\n}\n\nfunction extname(path) {\n var startDot = -1\n var startPart = 0\n var end = -1\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find.\n var preDotState = 0\n var unmatchedSlash\n var code\n var index\n\n assertPath(path)\n\n index = path.length\n\n while (index--) {\n code = path.charCodeAt(index)\n\n if (code === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (unmatchedSlash) {\n startPart = index + 1\n break\n }\n\n continue\n }\n\n if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // extension.\n unmatchedSlash = true\n end = index + 1\n }\n\n if (code === 46 /* `.` */) {\n // If this is our first dot, mark it as the start of our extension.\n if (startDot < 0) {\n startDot = index\n } else if (preDotState !== 1) {\n preDotState = 1\n }\n } else if (startDot > -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension.\n preDotState = -1\n }\n }\n\n if (\n startDot < 0 ||\n end < 0 ||\n // We saw a non-dot character immediately before the dot.\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly `..`.\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return ''\n }\n\n return path.slice(startDot, end)\n}\n\nfunction join() {\n var index = -1\n var joined\n\n while (++index < arguments.length) {\n assertPath(arguments[index])\n\n if (arguments[index]) {\n joined =\n joined === undefined\n ? arguments[index]\n : joined + '/' + arguments[index]\n }\n }\n\n return joined === undefined ? '.' : normalize(joined)\n}\n\n// Note: `normalize` is not exposed as `path.normalize`, so some code is\n// manually removed from it.\nfunction normalize(path) {\n var absolute\n var value\n\n assertPath(path)\n\n absolute = path.charCodeAt(0) === 47 /* `/` */\n\n // Normalize the path according to POSIX rules.\n value = normalizeString(path, !absolute)\n\n if (!value.length && !absolute) {\n value = '.'\n }\n\n if (value.length && path.charCodeAt(path.length - 1) === 47 /* / */) {\n value += '/'\n }\n\n return absolute ? '/' + value : value\n}\n\n// Resolve `.` and `..` elements in a path with directory names.\nfunction normalizeString(path, allowAboveRoot) {\n var result = ''\n var lastSegmentLength = 0\n var lastSlash = -1\n var dots = 0\n var index = -1\n var code\n var lastSlashIndex\n\n while (++index <= path.length) {\n if (index < path.length) {\n code = path.charCodeAt(index)\n } else if (code === 47 /* `/` */) {\n break\n } else {\n code = 47 /* `/` */\n }\n\n if (code === 47 /* `/` */) {\n if (lastSlash === index - 1 || dots === 1) {\n // Empty.\n } else if (lastSlash !== index - 1 && dots === 2) {\n if (\n result.length < 2 ||\n lastSegmentLength !== 2 ||\n result.charCodeAt(result.length - 1) !== 46 /* `.` */ ||\n result.charCodeAt(result.length - 2) !== 46 /* `.` */\n ) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf('/')\n\n /* istanbul ignore else - No clue how to cover it. */\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = ''\n lastSegmentLength = 0\n } else {\n result = result.slice(0, lastSlashIndex)\n lastSegmentLength = result.length - 1 - result.lastIndexOf('/')\n }\n\n lastSlash = index\n dots = 0\n continue\n }\n } else if (result.length) {\n result = ''\n lastSegmentLength = 0\n lastSlash = index\n dots = 0\n continue\n }\n }\n\n if (allowAboveRoot) {\n result = result.length ? result + '/..' : '..'\n lastSegmentLength = 2\n }\n } else {\n if (result.length) {\n result += '/' + path.slice(lastSlash + 1, index)\n } else {\n result = path.slice(lastSlash + 1, index)\n }\n\n lastSegmentLength = index - lastSlash - 1\n }\n\n lastSlash = index\n dots = 0\n } else if (code === 46 /* `.` */ && dots > -1) {\n dots++\n } else {\n dots = -1\n }\n }\n\n return result\n}\n\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n 'Path must be a string. Received ' + JSON.stringify(path)\n )\n }\n}\n","'use strict'\n\n// Somewhat based on:\n// .\n// But I don’t think one tiny line of code can be copyrighted. 😅\nexports.cwd = cwd\n\nfunction cwd() {\n return '/'\n}\n","/*!\n * repeat-string \n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\n'use strict';\n\n/**\n * Results cache\n */\n\nvar res = '';\nvar cache;\n\n/**\n * Expose `repeat`\n */\n\nmodule.exports = repeat;\n\n/**\n * Repeat the given `string` the specified `number`\n * of times.\n *\n * **Example:**\n *\n * ```js\n * var repeat = require('repeat-string');\n * repeat('A', 5);\n * //=> AAAAA\n * ```\n *\n * @param {String} `string` The string to repeat\n * @param {Number} `number` The number of times to repeat the string\n * @return {String} Repeated string\n * @api public\n */\n\nfunction repeat(str, num) {\n if (typeof str !== 'string') {\n throw new TypeError('expected a string');\n }\n\n // cover common, quick use cases\n if (num === 1) return str;\n if (num === 2) return str + str;\n\n var max = str.length * num;\n if (cache !== str || typeof cache === 'undefined') {\n cache = str;\n res = '';\n } else if (res.length >= max) {\n return res.substr(0, max);\n }\n\n while (max > res.length && num > 1) {\n if (num & 1) {\n res += str;\n }\n\n num >>= 1;\n str += str;\n }\n\n res += str;\n res = res.substr(0, max);\n return res;\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","var parse = require('inline-style-parser');\n\n/**\n * Parses inline style to object.\n *\n * @example\n * // returns { 'line-height': '42' }\n * StyleToObject('line-height: 42;');\n *\n * @param {String} style - The inline style.\n * @param {Function} [iterator] - The iterator function.\n * @return {null|Object}\n */\nfunction StyleToObject(style, iterator) {\n var output = null;\n if (!style || typeof style !== 'string') {\n return output;\n }\n\n var declaration;\n var declarations = parse(style);\n var hasIterator = typeof iterator === 'function';\n var property;\n var value;\n\n for (var i = 0, len = declarations.length; i < len; i++) {\n declaration = declarations[i];\n property = declaration.property;\n value = declaration.value;\n\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n output || (output = {});\n output[property] = value;\n }\n }\n\n return output;\n}\n\nmodule.exports = StyleToObject;\nmodule.exports.default = StyleToObject; // ESM support\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace, substr, match} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @param {object[]} children\n * @return {string}\n */\nexport function prefix (value, length, children) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// tab-size\n\t\tcase 4789:\n\t\t\treturn MOZ + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t\t// default: fallthrough to below\n\t\t\t}\n\t\t// flex, flex-direction, scroll-snap-type, writing-mode\n\t\tcase 6828: case 4268: case 2903:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/g, '') + (!match(value, /flex-|baseline/) ? MS + 'grid-row-' + replace(value, /flex-|-self/g, '') : '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/g, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// justify-self\n\t\tcase 4200:\n\t\t\tif (!match(value, /flex-|baseline/)) return MS + 'grid-column-align' + substr(value, length) + value\n\t\t\tbreak\n\t\t// grid-template-(columns|rows)\n\t\tcase 2592: case 3360:\n\t\t\treturn MS + replace(value, 'template-', '') + value\n\t\t// grid-(row|column)-start\n\t\tcase 4384: case 3616:\n\t\t\tif (children && children.some(function (element, index) { return length = index, match(element.props, /grid-\\w+-end/) })) {\n\t\t\t\treturn ~indexof(value + (children = children[length].value), 'span') ? value : (MS + replace(value, '-start', '') + value + MS + 'grid-row-span:' + (~indexof(children, 'span') ? match(children, /\\d+/) : +match(children, /\\d+/) - +match(value, /\\d+/)) + ';')\n\t\t\t}\n\t\t\treturn MS + replace(value, '-start', '') + value\n\t\t// grid-(row|column)-end\n\t\tcase 4896: case 4128:\n\t\t\treturn (children && children.some(function (element) { return match(element.props, /grid-\\w+-start/) })) ? value : MS + replace(replace(value, '-end', '-span'), 'span ', '') + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length, children) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// grid-(column|row)\n\t\tcase 5152: case 5920:\n\t\t\treturn replace(value, /(.+?):(\\d+)(\\s*\\/\\s*(span)?\\s*(\\d+))?(.*)/, function (_, a, b, c, d, e, f) { return (MS + a + ':' + b + f) + (c ? (MS + a + '-span:' + (d ? e : +e - +b)) + f : '') + value })\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// stick(y)?\n\t\t\tif (charat(value, length + 6) === 121)\n\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\tbreak\n\t\t// display: (flex|inline-flex|grid|inline-grid)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, charat(value, 14) === 45 ? 18 : 11)) {\n\t\t\t\t// (inline-)?fle(x)\n\t\t\t\tcase 120:\n\t\t\t\t\treturn replace(value, /(.+:)([^;\\s!]+)(;|(\\s+)?!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t\t// (inline-)?gri(d)\n\t\t\t\tcase 100:\n\t\t\t\t\treturn replace(value, ':', ':' + MS) + value\n\t\t\t}\n\t\t\tbreak\n\t\t// scroll-margin, scroll-margin-(top|right|bottom|left)\n\t\tcase 5719: case 2647: case 2135: case 3927: case 2391:\n\t\t\treturn replace(value, 'scroll-', 'scroll-snap-') + value\n\t}\n\n\treturn value\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine, filter, assign} from './Utility.js'\nimport {copy, lift, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(children = element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, callback = /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","declare let SC_DISABLE_SPEEDY: boolean | null | undefined;\ndeclare let __VERSION__: string;\n\nexport const SC_ATTR: string =\n (typeof process !== 'undefined' &&\n typeof process.env !== 'undefined' &&\n (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR)) ||\n 'data-styled';\n\nexport const SC_ATTR_ACTIVE = 'active';\nexport const SC_ATTR_VERSION = 'data-styled-version';\nexport const SC_VERSION = __VERSION__;\nexport const SPLITTER = '/*!sc*/\\n';\n\nexport const IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;\n\nexport const DISABLE_SPEEDY = Boolean(\n typeof SC_DISABLE_SPEEDY === 'boolean'\n ? SC_DISABLE_SPEEDY\n : typeof process !== 'undefined' &&\n typeof process.env !== 'undefined' &&\n typeof process.env.REACT_APP_SC_DISABLE_SPEEDY !== 'undefined' &&\n process.env.REACT_APP_SC_DISABLE_SPEEDY !== ''\n ? process.env.REACT_APP_SC_DISABLE_SPEEDY === 'false'\n ? false\n : process.env.REACT_APP_SC_DISABLE_SPEEDY\n : typeof process !== 'undefined' &&\n typeof process.env !== 'undefined' &&\n typeof process.env.SC_DISABLE_SPEEDY !== 'undefined' &&\n process.env.SC_DISABLE_SPEEDY !== ''\n ? process.env.SC_DISABLE_SPEEDY === 'false'\n ? false\n : process.env.SC_DISABLE_SPEEDY\n : process.env.NODE_ENV !== 'production'\n);\n\n// Shared empty execution context when generating static styles\nexport const STATIC_EXECUTION_CONTEXT = {};\n","import { Dict } from '../types';\n\nexport const EMPTY_ARRAY = Object.freeze([]) as Readonly;\nexport const EMPTY_OBJECT = Object.freeze({}) as Readonly>;\n","import { useRef } from 'react';\n\nconst invalidHookCallRe = /invalid hook call/i;\nconst seen = new Set();\n\nexport const checkDynamicCreation = (displayName: string, componentId?: string | undefined) => {\n if (process.env.NODE_ENV !== 'production') {\n const parsedIdString = componentId ? ` with the id of \"${componentId}\"` : '';\n const message =\n `The component ${displayName}${parsedIdString} has been created dynamically.\\n` +\n \"You may see this warning because you've called styled inside another component.\\n\" +\n 'To resolve this only create new StyledComponents outside of any render method and function component.';\n\n // If a hook is called outside of a component:\n // React 17 and earlier throw an error\n // React 18 and above use console.error\n\n const originalConsoleError = console.error;\n try {\n let didNotCallInvalidHook = true;\n console.error = (consoleErrorMessage, ...consoleErrorArgs) => {\n // The error here is expected, since we're expecting anything that uses `checkDynamicCreation` to\n // be called outside of a React component.\n if (invalidHookCallRe.test(consoleErrorMessage)) {\n didNotCallInvalidHook = false;\n // This shouldn't happen, but resets `warningSeen` if we had this error happen intermittently\n seen.delete(message);\n } else {\n originalConsoleError(consoleErrorMessage, ...consoleErrorArgs);\n }\n };\n // We purposefully call `useRef` outside of a component and expect it to throw\n // If it doesn't, then we're inside another component.\n useRef();\n\n if (didNotCallInvalidHook && !seen.has(message)) {\n console.warn(message);\n seen.add(message);\n }\n } catch (error) {\n // The error here is expected, since we're expecting anything that uses `checkDynamicCreation` to\n // be called outside of a React component.\n if (invalidHookCallRe.test((error as Error).message)) {\n // This shouldn't happen, but resets `warningSeen` if we had this error happen intermittently\n seen.delete(message);\n }\n } finally {\n console.error = originalConsoleError;\n }\n }\n};\n","import { DefaultTheme, ExecutionProps } from '../types';\nimport { EMPTY_OBJECT } from './empties';\n\nexport default function determineTheme(\n props: ExecutionProps,\n providedTheme?: DefaultTheme | undefined,\n defaultProps: { theme?: DefaultTheme | undefined } = EMPTY_OBJECT\n): DefaultTheme | undefined {\n return (props.theme !== defaultProps.theme && props.theme) || providedTheme || defaultProps.theme;\n}\n","// Thanks to ReactDOMFactories for this handy list!\n\nconst elements = [\n 'a',\n 'abbr',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'base',\n 'bdi',\n 'bdo',\n 'big',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'data',\n 'datalist',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'embed',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'keygen',\n 'label',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'map',\n 'mark',\n 'menu',\n 'menuitem',\n 'meta',\n 'meter',\n 'nav',\n 'noscript',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'param',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'script',\n 'section',\n 'select',\n 'small',\n 'source',\n 'span',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'track',\n 'u',\n 'ul',\n 'use',\n 'var',\n 'video',\n 'wbr', // SVG\n 'circle',\n 'clipPath',\n 'defs',\n 'ellipse',\n 'foreignObject',\n 'g',\n 'image',\n 'line',\n 'linearGradient',\n 'marker',\n 'mask',\n 'path',\n 'pattern',\n 'polygon',\n 'polyline',\n 'radialGradient',\n 'rect',\n 'stop',\n 'svg',\n 'text',\n 'tspan',\n] as const;\n\nexport default new Set(elements);\nexport type SupportedHTMLElements = (typeof elements)[number];\n","// Source: https://www.w3.org/TR/cssom-1/#serialize-an-identifier\n// Control characters and non-letter first symbols are not supported\nconst escapeRegex = /[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g;\n\nconst dashesAtEnds = /(^-|-$)/g;\n\n/**\n * TODO: Explore using CSS.escape when it becomes more available\n * in evergreen browsers.\n */\nexport default function escape(str: string) {\n return str // Replace all possible CSS selectors\n .replace(escapeRegex, '-') // Remove extraneous hyphens at the start and end\n .replace(dashesAtEnds, '');\n}\n","const AD_REPLACER_R = /(a)(d)/gi;\n\n/* This is the \"capacity\" of our alphabet i.e. 2x26 for all letters plus their capitalised\n * counterparts */\nconst charsLength = 52;\n\n/* start at 75 for 'a' until 'z' (25) and then start at 65 for capitalised letters */\nconst getAlphabeticChar = (code: number) => String.fromCharCode(code + (code > 25 ? 39 : 97));\n\n/* input a number, usually a hash and convert it to base-52 */\nexport default function generateAlphabeticName(code: number) {\n let name = '';\n let x;\n\n /* get a char and divide by alphabet-length */\n for (x = Math.abs(code); x > charsLength; x = (x / charsLength) | 0) {\n name = getAlphabeticChar(x % charsLength) + name;\n }\n\n return (getAlphabeticChar(x % charsLength) + name).replace(AD_REPLACER_R, '$1-$2');\n}\n","export const SEED = 5381;\n\n// When we have separate strings it's useful to run a progressive\n// version of djb2 where we pretend that we're still looping over\n// the same string\nexport const phash = (h: number, x: string) => {\n let i = x.length;\n\n while (i) {\n h = (h * 33) ^ x.charCodeAt(--i);\n }\n\n return h;\n};\n\n// This is a djb2 hashing function\nexport const hash = (x: string) => {\n return phash(SEED, x);\n};\n","import generateAlphabeticName from './generateAlphabeticName';\nimport { hash } from './hash';\n\nexport default function generateComponentId(str: string) {\n return generateAlphabeticName(hash(str) >>> 0);\n}\n","import { StyledTarget } from '../types';\n\nexport default function getComponentName(target: StyledTarget) {\n return (\n (process.env.NODE_ENV !== 'production' ? typeof target === 'string' && target : false) ||\n (target as Exclude, string>).displayName ||\n (target as Function).name ||\n 'Component'\n );\n}\n","import { StyledTarget } from '../types';\n\nexport default function isTag(target: StyledTarget<'web'>): target is string {\n return (\n typeof target === 'string' &&\n (process.env.NODE_ENV !== 'production'\n ? target.charAt(0) === target.charAt(0).toLowerCase()\n : true)\n );\n}\n","import React from 'react';\nimport { AnyComponent } from '../types';\n\nconst hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\n// copied from react-is\nconst REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nconst REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\n\n/**\n * Adapted from hoist-non-react-statics to avoid the react-is dependency.\n */\nconst REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true,\n};\n\nconst KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true,\n};\n\nconst FORWARD_REF_STATICS = {\n $$typeof: true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n};\n\nconst MEMO_STATICS = {\n $$typeof: true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true,\n};\n\nconst TYPE_STATICS = {\n [REACT_FORWARD_REF_TYPE]: FORWARD_REF_STATICS,\n [REACT_MEMO_TYPE]: MEMO_STATICS,\n};\n\ntype OmniComponent = AnyComponent;\n\n// adapted from react-is\nfunction isMemo(\n object: OmniComponent | React.MemoExoticComponent\n): object is React.MemoExoticComponent {\n const $$typeofType = 'type' in object && object.type.$$typeof;\n\n return $$typeofType === REACT_MEMO_TYPE;\n}\n\nfunction getStatics(component: OmniComponent) {\n // React v16.11 and below\n if (isMemo(component)) {\n return MEMO_STATICS;\n }\n\n // React v16.12 and above\n return '$$typeof' in component\n ? TYPE_STATICS[component['$$typeof'] as unknown as string]\n : REACT_STATICS;\n}\n\nconst defineProperty = Object.defineProperty;\nconst getOwnPropertyNames = Object.getOwnPropertyNames;\nconst getOwnPropertySymbols = Object.getOwnPropertySymbols;\nconst getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nconst getPrototypeOf = Object.getPrototypeOf;\nconst objectPrototype = Object.prototype;\n\ntype ExcludeList = {\n [key: string]: true;\n};\n\ntype NonReactStatics = {\n [key in Exclude<\n keyof S,\n S extends React.MemoExoticComponent\n ? keyof typeof MEMO_STATICS | keyof C\n : S extends React.ForwardRefExoticComponent\n ? keyof typeof FORWARD_REF_STATICS | keyof C\n : keyof typeof REACT_STATICS | keyof typeof KNOWN_STATICS | keyof C\n >]: S[key];\n};\n\nexport default function hoistNonReactStatics<\n T extends OmniComponent,\n S extends OmniComponent,\n C extends ExcludeList = {},\n>(targetComponent: T, sourceComponent: S, excludelist?: C | undefined) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n\n if (objectPrototype) {\n const inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, excludelist);\n }\n }\n\n let keys: (String | Symbol)[] = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n const targetStatics = getStatics(targetComponent);\n const sourceStatics = getStatics(sourceComponent);\n\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i] as unknown as string;\n if (\n !(key in KNOWN_STATICS) &&\n !(excludelist && excludelist[key]) &&\n !(sourceStatics && key in sourceStatics) &&\n !(targetStatics && key in targetStatics)\n ) {\n const descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor!);\n } catch (e) {\n /* ignore */\n }\n }\n }\n }\n\n return targetComponent as T & NonReactStatics;\n}\n","export default function isFunction(test: any): test is Function {\n return typeof test === 'function';\n}\n","import { StyledComponentBrand } from '../types';\n\nexport default function isStyledComponent(target: any): target is StyledComponentBrand {\n return typeof target === 'object' && 'styledComponentId' in target;\n}\n","/**\n * Convenience function for joining strings to form className chains\n */\nexport function joinStrings(a?: string | undefined, b?: string | undefined): string {\n return a && b ? `${a} ${b}` : a || b || '';\n}\n\nexport function joinStringArray(arr: string[], sep?: string | undefined): string {\n if (arr.length === 0) {\n return '';\n }\n\n let result = arr[0];\n for (let i = 1; i < arr.length; i++) {\n result += sep ? sep + arr[i] : arr[i];\n }\n return result;\n}\n","export default function isPlainObject(x: any): x is Record {\n return (\n x !== null &&\n typeof x === 'object' &&\n x.constructor.name === Object.name &&\n /* check for reasonable markers that the object isn't an element for react & preact/compat */\n !('props' in x && x.$$typeof)\n );\n}\n","import isPlainObject from './isPlainObject';\n\nfunction mixinRecursively(target: any, source: any, forceMerge = false) {\n /* only merge into POJOs, Arrays, but for top level objects only\n * allow to merge into anything by passing forceMerge = true */\n if (!forceMerge && !isPlainObject(target) && !Array.isArray(target)) {\n return source;\n }\n\n if (Array.isArray(source)) {\n for (let key = 0; key < source.length; key++) {\n target[key] = mixinRecursively(target[key], source[key]);\n }\n } else if (isPlainObject(source)) {\n for (const key in source) {\n target[key] = mixinRecursively(target[key], source[key]);\n }\n }\n\n return target;\n}\n\n/**\n * Arrays & POJOs merged recursively, other objects and value types are overridden\n * If target is not a POJO or an Array, it will get source properties injected via shallow merge\n * Source objects applied left to right. Mutates & returns target. Similar to lodash merge.\n */\nexport default function mixinDeep(target: any, ...sources: any[]) {\n for (const source of sources) {\n mixinRecursively(target, source, true);\n }\n\n return target;\n}\n","/**\n * If the Object prototype is frozen, the \"toString\" property is non-writable. This means that any objects which inherit this property\n * cannot have the property changed using a \"=\" assignment operator. If using strict mode, attempting that will cause an error. If not using\n * strict mode, attempting that will be silently ignored.\n *\n * If the Object prototype is frozen, inherited non-writable properties can still be shadowed using one of two mechanisms:\n *\n * 1. ES6 class methods: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes#methods\n * 2. Using the `Object.defineProperty()` static method:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty\n *\n * However, this project uses Babel to transpile ES6 classes, and transforms ES6 class methods to use the assignment operator instead:\n * https://babeljs.io/docs/babel-plugin-transform-class-properties#options\n *\n * Therefore, the most compatible way to shadow the prototype's \"toString\" property is to define a new \"toString\" property on this object.\n */\nexport function setToString(object: object, toStringFn: () => string) {\n Object.defineProperty(object, 'toString', { value: toStringFn });\n}\n","import { Dict } from '../types';\nimport errorMap from './errors';\n\nconst ERRORS: Dict = process.env.NODE_ENV !== 'production' ? errorMap : {};\n\n/**\n * super basic version of sprintf\n */\nfunction format(...args: [string, ...any]) {\n let a = args[0];\n const b = [];\n\n for (let c = 1, len = args.length; c < len; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(d => {\n a = a.replace(/%[a-z]/, d);\n });\n\n return a;\n}\n\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n */\nexport default function throwStyledComponentsError(\n code: string | number,\n ...interpolations: any[]\n) {\n if (process.env.NODE_ENV === 'production') {\n return new Error(\n `An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#${code} for more information.${\n interpolations.length > 0 ? ` Args: ${interpolations.join(', ')}` : ''\n }`\n );\n } else {\n return new Error(format(ERRORS[code], ...interpolations).trim());\n }\n}\n","import { SPLITTER } from '../constants';\nimport styledError from '../utils/error';\nimport { GroupedTag, Tag } from './types';\n\n/** Create a GroupedTag with an underlying Tag implementation */\nexport const makeGroupedTag = (tag: Tag) => {\n return new DefaultGroupedTag(tag);\n};\n\nconst BASE_SIZE = 1 << 9;\n\nconst DefaultGroupedTag = class DefaultGroupedTag implements GroupedTag {\n groupSizes: Uint32Array;\n length: number;\n tag: Tag;\n\n constructor(tag: Tag) {\n this.groupSizes = new Uint32Array(BASE_SIZE);\n this.length = BASE_SIZE;\n this.tag = tag;\n }\n\n indexOfGroup(group: number) {\n let index = 0;\n for (let i = 0; i < group; i++) {\n index += this.groupSizes[i];\n }\n\n return index;\n }\n\n insertRules(group: number, rules: string[]) {\n if (group >= this.groupSizes.length) {\n const oldBuffer = this.groupSizes;\n const oldSize = oldBuffer.length;\n\n let newSize = oldSize;\n while (group >= newSize) {\n newSize <<= 1;\n if (newSize < 0) {\n throw styledError(16, `${group}`);\n }\n }\n\n this.groupSizes = new Uint32Array(newSize);\n this.groupSizes.set(oldBuffer);\n this.length = newSize;\n\n for (let i = oldSize; i < newSize; i++) {\n this.groupSizes[i] = 0;\n }\n }\n\n let ruleIndex = this.indexOfGroup(group + 1);\n\n for (let i = 0, l = rules.length; i < l; i++) {\n if (this.tag.insertRule(ruleIndex, rules[i])) {\n this.groupSizes[group]++;\n ruleIndex++;\n }\n }\n }\n\n clearGroup(group: number) {\n if (group < this.length) {\n const length = this.groupSizes[group];\n const startIndex = this.indexOfGroup(group);\n const endIndex = startIndex + length;\n\n this.groupSizes[group] = 0;\n\n for (let i = startIndex; i < endIndex; i++) {\n this.tag.deleteRule(startIndex);\n }\n }\n }\n\n getGroup(group: number) {\n let css = '';\n if (group >= this.length || this.groupSizes[group] === 0) {\n return css;\n }\n\n const length = this.groupSizes[group];\n const startIndex = this.indexOfGroup(group);\n const endIndex = startIndex + length;\n\n for (let i = startIndex; i < endIndex; i++) {\n css += `${this.tag.getRule(i)}${SPLITTER}`;\n }\n\n return css;\n }\n};\n","import styledError from '../utils/error';\n\nconst MAX_SMI = 1 << (31 - 1);\n\nlet groupIDRegister: Map = new Map();\nlet reverseRegister: Map = new Map();\nlet nextFreeGroup = 1;\n\nexport const resetGroupIds = () => {\n groupIDRegister = new Map();\n reverseRegister = new Map();\n nextFreeGroup = 1;\n};\n\nexport const getGroupForId = (id: string): number => {\n if (groupIDRegister.has(id)) {\n return groupIDRegister.get(id) as any;\n }\n\n while (reverseRegister.has(nextFreeGroup)) {\n nextFreeGroup++;\n }\n\n const group = nextFreeGroup++;\n\n if (process.env.NODE_ENV !== 'production' && ((group | 0) < 0 || group > MAX_SMI)) {\n throw styledError(16, `${group}`);\n }\n\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n return group;\n};\n\nexport const getIdForGroup = (group: number): void | string => {\n return reverseRegister.get(group);\n};\n\nexport const setGroupForId = (id: string, group: number) => {\n // move pointer\n nextFreeGroup = group + 1;\n\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n};\n","import { SC_ATTR, SC_ATTR_ACTIVE, SC_ATTR_VERSION, SC_VERSION, SPLITTER } from '../constants';\nimport { getIdForGroup, setGroupForId } from './GroupIDAllocator';\nimport { Sheet } from './types';\n\nconst SELECTOR = `style[${SC_ATTR}][${SC_ATTR_VERSION}=\"${SC_VERSION}\"]`;\nconst MARKER_RE = new RegExp(`^${SC_ATTR}\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)`);\n\nexport const outputSheet = (sheet: Sheet) => {\n const tag = sheet.getTag();\n const { length } = tag;\n\n let css = '';\n for (let group = 0; group < length; group++) {\n const id = getIdForGroup(group);\n if (id === undefined) continue;\n\n const names = sheet.names.get(id);\n const rules = tag.getGroup(group);\n if (names === undefined || rules.length === 0) continue;\n\n const selector = `${SC_ATTR}.g${group}[id=\"${id}\"]`;\n\n let content = '';\n if (names !== undefined) {\n names.forEach(name => {\n if (name.length > 0) {\n content += `${name},`;\n }\n });\n }\n\n // NOTE: It's easier to collect rules and have the marker\n // after the actual rules to simplify the rehydration\n css += `${rules}${selector}{content:\"${content}\"}${SPLITTER}`;\n }\n\n return css;\n};\n\nconst rehydrateNamesFromContent = (sheet: Sheet, id: string, content: string) => {\n const names = content.split(',');\n let name;\n\n for (let i = 0, l = names.length; i < l; i++) {\n if ((name = names[i])) {\n sheet.registerName(id, name);\n }\n }\n};\n\nconst rehydrateSheetFromTag = (sheet: Sheet, style: HTMLStyleElement) => {\n const parts = (style.textContent ?? '').split(SPLITTER);\n const rules: string[] = [];\n\n for (let i = 0, l = parts.length; i < l; i++) {\n const part = parts[i].trim();\n if (!part) continue;\n\n const marker = part.match(MARKER_RE);\n\n if (marker) {\n const group = parseInt(marker[1], 10) | 0;\n const id = marker[2];\n\n if (group !== 0) {\n // Rehydrate componentId to group index mapping\n setGroupForId(id, group);\n // Rehydrate names and rules\n // looks like: data-styled.g11[id=\"idA\"]{content:\"nameA,\"}\n rehydrateNamesFromContent(sheet, id, marker[3]);\n sheet.getTag().insertRules(group, rules);\n }\n\n rules.length = 0;\n } else {\n rules.push(part);\n }\n }\n};\n\nexport const rehydrateSheet = (sheet: Sheet) => {\n const nodes = document.querySelectorAll(SELECTOR);\n\n for (let i = 0, l = nodes.length; i < l; i++) {\n const node = nodes[i] as any as HTMLStyleElement;\n if (node && node.getAttribute(SC_ATTR) !== SC_ATTR_ACTIVE) {\n rehydrateSheetFromTag(sheet, node);\n\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n }\n }\n};\n","declare let __webpack_nonce__: string;\n\nexport default function getNonce() {\n return typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n}\n","import { SC_ATTR, SC_ATTR_ACTIVE, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport styledError from '../utils/error';\nimport getNonce from '../utils/nonce';\n\n/** Find last style element if any inside target */\nconst findLastStyleTag = (target: HTMLElement): void | HTMLStyleElement => {\n const arr = Array.from(target.querySelectorAll(`style[${SC_ATTR}]`));\n\n return arr[arr.length - 1];\n};\n\n/** Create a style element inside `target` or after the last */\nexport const makeStyleTag = (target?: HTMLElement | undefined): HTMLStyleElement => {\n const head = document.head;\n const parent = target || head;\n const style = document.createElement('style');\n const prevStyle = findLastStyleTag(parent);\n const nextSibling = prevStyle !== undefined ? prevStyle.nextSibling : null;\n\n style.setAttribute(SC_ATTR, SC_ATTR_ACTIVE);\n style.setAttribute(SC_ATTR_VERSION, SC_VERSION);\n\n const nonce = getNonce();\n\n if (nonce) style.setAttribute('nonce', nonce);\n\n parent.insertBefore(style, nextSibling);\n\n return style;\n};\n\n/** Get the CSSStyleSheet instance for a given style element */\nexport const getSheet = (tag: HTMLStyleElement): CSSStyleSheet => {\n if (tag.sheet) {\n return tag.sheet as any as CSSStyleSheet;\n }\n\n // Avoid Firefox quirk where the style element might not have a sheet property\n const { styleSheets } = document;\n for (let i = 0, l = styleSheets.length; i < l; i++) {\n const sheet = styleSheets[i];\n if (sheet.ownerNode === tag) {\n return sheet as any as CSSStyleSheet;\n }\n }\n\n throw styledError(17);\n};\n","import { getSheet, makeStyleTag } from './dom';\nimport { SheetOptions, Tag } from './types';\n\n/** Create a CSSStyleSheet-like tag depending on the environment */\nexport const makeTag = ({ isServer, useCSSOMInjection, target }: SheetOptions) => {\n if (isServer) {\n return new VirtualTag(target);\n } else if (useCSSOMInjection) {\n return new CSSOMTag(target);\n } else {\n return new TextTag(target);\n }\n};\n\nexport const CSSOMTag = class CSSOMTag implements Tag {\n element: HTMLStyleElement;\n\n sheet: CSSStyleSheet;\n\n length: number;\n\n constructor(target?: HTMLElement | undefined) {\n this.element = makeStyleTag(target);\n\n // Avoid Edge bug where empty style elements don't create sheets\n this.element.appendChild(document.createTextNode(''));\n\n this.sheet = getSheet(this.element);\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n try {\n this.sheet.insertRule(rule, index);\n this.length++;\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.sheet.deleteRule(index);\n this.length--;\n }\n\n getRule(index: number): string {\n const rule = this.sheet.cssRules[index];\n\n // Avoid IE11 quirk where cssText is inaccessible on some invalid rules\n if (rule && rule.cssText) {\n return rule.cssText;\n } else {\n return '';\n }\n }\n};\n\n/** A Tag that emulates the CSSStyleSheet API but uses text nodes */\nexport const TextTag = class TextTag implements Tag {\n element: HTMLStyleElement;\n nodes: NodeListOf;\n length: number;\n\n constructor(target?: HTMLElement | undefined) {\n this.element = makeStyleTag(target);\n this.nodes = this.element.childNodes;\n this.length = 0;\n }\n\n insertRule(index: number, rule: string) {\n if (index <= this.length && index >= 0) {\n const node = document.createTextNode(rule);\n const refNode = this.nodes[index];\n this.element.insertBefore(node, refNode || null);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number) {\n this.element.removeChild(this.nodes[index]);\n this.length--;\n }\n\n getRule(index: number) {\n if (index < this.length) {\n return this.nodes[index].textContent as string;\n } else {\n return '';\n }\n }\n};\n\n/** A completely virtual (server-side) Tag that doesn't manipulate the DOM */\nexport const VirtualTag = class VirtualTag implements Tag {\n rules: string[];\n\n length: number;\n\n constructor(_target?: HTMLElement | undefined) {\n this.rules = [];\n this.length = 0;\n }\n\n insertRule(index: number, rule: string) {\n if (index <= this.length) {\n this.rules.splice(index, 0, rule);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number) {\n this.rules.splice(index, 1);\n this.length--;\n }\n\n getRule(index: number) {\n if (index < this.length) {\n return this.rules[index];\n } else {\n return '';\n }\n }\n};\n","import { DISABLE_SPEEDY, IS_BROWSER } from '../constants';\nimport { EMPTY_OBJECT } from '../utils/empties';\nimport { setToString } from '../utils/setToString';\nimport { makeGroupedTag } from './GroupedTag';\nimport { getGroupForId } from './GroupIDAllocator';\nimport { outputSheet, rehydrateSheet } from './Rehydration';\nimport { makeTag } from './Tag';\nimport { GroupedTag, Sheet, SheetOptions } from './types';\n\nlet SHOULD_REHYDRATE = IS_BROWSER;\n\ntype SheetConstructorArgs = {\n isServer?: boolean;\n useCSSOMInjection?: boolean;\n target?: HTMLElement | undefined;\n};\n\ntype GlobalStylesAllocationMap = {\n [key: string]: number;\n};\ntype NamesAllocationMap = Map>;\n\nconst defaultOptions: SheetOptions = {\n isServer: !IS_BROWSER,\n useCSSOMInjection: !DISABLE_SPEEDY,\n};\n\n/** Contains the main stylesheet logic for stringification and caching */\nexport default class StyleSheet implements Sheet {\n gs: GlobalStylesAllocationMap;\n names: NamesAllocationMap;\n options: SheetOptions;\n server: boolean;\n tag?: GroupedTag | undefined;\n\n /** Register a group ID to give it an index */\n static registerId(id: string): number {\n return getGroupForId(id);\n }\n\n constructor(\n options: SheetConstructorArgs = EMPTY_OBJECT as Object,\n globalStyles: GlobalStylesAllocationMap = {},\n names?: NamesAllocationMap | undefined\n ) {\n this.options = {\n ...defaultOptions,\n ...options,\n };\n\n this.gs = globalStyles;\n this.names = new Map(names as NamesAllocationMap);\n this.server = !!options.isServer;\n\n // We rehydrate only once and use the sheet that is created first\n if (!this.server && IS_BROWSER && SHOULD_REHYDRATE) {\n SHOULD_REHYDRATE = false;\n rehydrateSheet(this);\n }\n\n setToString(this, () => outputSheet(this));\n }\n\n reconstructWithOptions(options: SheetConstructorArgs, withNames = true) {\n return new StyleSheet(\n { ...this.options, ...options },\n this.gs,\n (withNames && this.names) || undefined\n );\n }\n\n allocateGSInstance(id: string) {\n return (this.gs[id] = (this.gs[id] || 0) + 1);\n }\n\n /** Lazily initialises a GroupedTag for when it's actually needed */\n getTag() {\n return this.tag || (this.tag = makeGroupedTag(makeTag(this.options)));\n }\n\n /** Check whether a name is known for caching */\n hasNameForId(id: string, name: string): boolean {\n return this.names.has(id) && (this.names.get(id) as any).has(name);\n }\n\n /** Mark a group's name as known for caching */\n registerName(id: string, name: string) {\n getGroupForId(id);\n\n if (!this.names.has(id)) {\n const groupNames = new Set();\n groupNames.add(name);\n this.names.set(id, groupNames);\n } else {\n (this.names.get(id) as any).add(name);\n }\n }\n\n /** Insert new rules which also marks the name as known */\n insertRules(id: string, name: string, rules: string | string[]) {\n this.registerName(id, name);\n this.getTag().insertRules(getGroupForId(id), rules);\n }\n\n /** Clears all cached names for a given group ID */\n clearNames(id: string) {\n if (this.names.has(id)) {\n (this.names.get(id) as any).clear();\n }\n }\n\n /** Clears all rules for a given group ID */\n clearRules(id: string) {\n this.getTag().clearGroup(getGroupForId(id));\n this.clearNames(id);\n }\n\n /** Clears the entire tag which deletes all rules but not its names */\n clearTag() {\n // NOTE: This does not clear the names, since it's only used during SSR\n // so that we can continuously output only new rules\n this.tag = undefined;\n }\n}\n","import * as stylis from 'stylis';\nimport { Stringifier } from '../types';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from './empties';\nimport throwStyledError from './error';\nimport { phash, SEED } from './hash';\n\nconst AMP_REGEX = /&/g;\nconst COMMENT_REGEX = /^\\s*\\/\\/.*$/gm;\n\nexport type ICreateStylisInstance = {\n options?: { namespace?: string | undefined; prefix?: boolean | undefined } | undefined;\n plugins?: stylis.Middleware[] | undefined;\n};\n\n/**\n * Takes an element and recurses through it's rules added the namespace to the start of each selector.\n * Takes into account media queries by recursing through child rules if they are present.\n */\nfunction recursivelySetNamepace(compiled: stylis.Element[], namespace: String): stylis.Element[] {\n return compiled.map(rule => {\n if (rule.type === 'rule') {\n // add the namespace to the start\n rule.value = `${namespace} ${rule.value}`;\n // add the namespace after each comma for subsequent selectors.\n // @ts-expect-error we target modern browsers but intentionally transpile to ES5 for speed\n rule.value = rule.value.replaceAll(',', `,${namespace} `);\n rule.props = (rule.props as string[]).map(prop => {\n return `${namespace} ${prop}`;\n });\n }\n\n if (Array.isArray(rule.children) && rule.type !== '@keyframes') {\n rule.children = recursivelySetNamepace(rule.children, namespace);\n }\n return rule;\n });\n}\n\nexport default function createStylisInstance(\n {\n options = EMPTY_OBJECT as object,\n plugins = EMPTY_ARRAY as unknown as stylis.Middleware[],\n }: ICreateStylisInstance = EMPTY_OBJECT as object\n) {\n let _componentId: string;\n let _selector: string;\n let _selectorRegexp: RegExp;\n\n const selfReferenceReplacer: Parameters[1] = (match, offset, string) => {\n if (\n /**\n * We only want to refer to the static class directly in the following scenarios:\n *\n * 1. The selector is alone on the line `& { color: red; }`\n * 2. The selector is part of a self-reference selector `& + & { color: red; }`\n */\n string === _selector ||\n (string.startsWith(_selector) &&\n string.endsWith(_selector) &&\n string.replaceAll(_selector, '').length > 0)\n ) {\n return `.${_componentId}`;\n }\n\n return match;\n };\n\n /**\n * When writing a style like\n *\n * & + & {\n * color: red;\n * }\n *\n * The second ampersand should be a reference to the static component class. stylis\n * has no knowledge of static class so we have to intelligently replace the base selector.\n *\n * https://github.com/thysultan/stylis.js/tree/v4.0.2#abstract-syntax-structure\n */\n const selfReferenceReplacementPlugin: stylis.Middleware = element => {\n if (element.type === stylis.RULESET && element.value.includes('&')) {\n (element.props as string[])[0] = element.props[0]\n // catch any hanging references that stylis missed\n .replace(AMP_REGEX, _selector)\n .replace(_selectorRegexp, selfReferenceReplacer);\n }\n };\n\n const middlewares = plugins.slice();\n\n middlewares.push(selfReferenceReplacementPlugin);\n\n /**\n * Enables automatic vendor-prefixing for styles.\n */\n if (options.prefix) {\n middlewares.push(stylis.prefixer);\n }\n\n middlewares.push(stylis.stringify);\n\n const stringifyRules: Stringifier = (\n css: string,\n selector = '',\n /**\n * This \"prefix\" referes to a _selector_ prefix.\n */\n prefix = '',\n componentId = '&'\n ) => {\n // stylis has no concept of state to be passed to plugins\n // but since JS is single-threaded, we can rely on that to ensure\n // these properties stay in sync with the current stylis run\n _componentId = componentId;\n _selector = selector;\n _selectorRegexp = new RegExp(`\\\\${_selector}\\\\b`, 'g');\n\n const flatCSS = css.replace(COMMENT_REGEX, '');\n let compiled = stylis.compile(\n prefix || selector ? `${prefix} ${selector} { ${flatCSS} }` : flatCSS\n );\n\n if (options.namespace) {\n compiled = recursivelySetNamepace(compiled, options.namespace);\n }\n\n const stack: string[] = [];\n\n stylis.serialize(\n compiled,\n stylis.middleware(middlewares.concat(stylis.rulesheet(value => stack.push(value))))\n );\n\n return stack;\n };\n\n stringifyRules.hash = plugins.length\n ? plugins\n .reduce((acc, plugin) => {\n if (!plugin.name) {\n throwStyledError(15);\n }\n\n return phash(acc, plugin.name);\n }, SEED)\n .toString()\n : '';\n\n return stringifyRules;\n}\n","import React, { useContext, useEffect, useMemo, useState } from 'react';\nimport shallowequal from 'shallowequal';\nimport type stylis from 'stylis';\nimport StyleSheet from '../sheet';\nimport { ShouldForwardProp, Stringifier } from '../types';\nimport createStylisInstance from '../utils/stylis';\n\nexport const mainSheet: StyleSheet = new StyleSheet();\nexport const mainStylis: Stringifier = createStylisInstance();\n\nexport type IStyleSheetContext = {\n shouldForwardProp?: ShouldForwardProp<'web'> | undefined;\n styleSheet: StyleSheet;\n stylis: Stringifier;\n};\n\nexport const StyleSheetContext = React.createContext({\n shouldForwardProp: undefined,\n styleSheet: mainSheet,\n stylis: mainStylis,\n});\n\nexport const StyleSheetConsumer = StyleSheetContext.Consumer;\n\nexport type IStylisContext = Stringifier | void;\nexport const StylisContext = React.createContext(undefined);\nexport const StylisConsumer = StylisContext.Consumer;\n\nexport function useStyleSheetContext() {\n return useContext(StyleSheetContext);\n}\n\nexport type IStyleSheetManager = React.PropsWithChildren<{\n /**\n * If desired, you can pass this prop to disable \"speedy\" insertion mode, which\n * uses the browser [CSSOM APIs](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet).\n * When disabled, rules are inserted as simple text into style blocks.\n */\n disableCSSOMInjection?: undefined | boolean;\n /**\n * If you are working exclusively with modern browsers, vendor prefixes can often be omitted\n * to reduce the weight of CSS on the page.\n */\n enableVendorPrefixes?: undefined | boolean;\n /**\n * Provide an optional selector to be prepended to all generated style rules.\n */\n namespace?: undefined | string;\n /**\n * Create and provide your own `StyleSheet` if necessary for advanced SSR scenarios.\n */\n sheet?: undefined | StyleSheet;\n /**\n * Starting in v6, styled-components no longer does its own prop validation\n * and recommends use of transient props \"$prop\" to pass style-only props to\n * components. If for some reason you are not able to use transient props, a\n * prop validation function can be provided via `StyleSheetManager`, such as\n * `@emotion/is-prop-valid`.\n *\n * When the return value is `true`, props will be forwarded to the DOM/underlying\n * component. If return value is `false`, the prop will be discarded after styles\n * are calculated.\n *\n * Manually composing `styled.{element}.withConfig({shouldForwardProp})` will\n * override this default.\n */\n shouldForwardProp?: undefined | IStyleSheetContext['shouldForwardProp'];\n /**\n * An array of plugins to be run by stylis (style processor) during compilation.\n * Check out [what's available on npm*](https://www.npmjs.com/search?q=keywords%3Astylis).\n *\n * \\* The plugin(s) must be compatible with stylis v4 or above.\n */\n stylisPlugins?: undefined | stylis.Middleware[];\n /**\n * Provide an alternate DOM node to host generated styles; useful for iframes.\n */\n target?: undefined | HTMLElement;\n}>;\n\nexport function StyleSheetManager(props: IStyleSheetManager): JSX.Element {\n const [plugins, setPlugins] = useState(props.stylisPlugins);\n const { styleSheet } = useStyleSheetContext();\n\n const resolvedStyleSheet = useMemo(() => {\n let sheet = styleSheet;\n\n if (props.sheet) {\n sheet = props.sheet;\n } else if (props.target) {\n sheet = sheet.reconstructWithOptions({ target: props.target }, false);\n }\n\n if (props.disableCSSOMInjection) {\n sheet = sheet.reconstructWithOptions({ useCSSOMInjection: false });\n }\n\n return sheet;\n }, [props.disableCSSOMInjection, props.sheet, props.target, styleSheet]);\n\n const stylis = useMemo(\n () =>\n createStylisInstance({\n options: { namespace: props.namespace, prefix: props.enableVendorPrefixes },\n plugins,\n }),\n [props.enableVendorPrefixes, props.namespace, plugins]\n );\n\n useEffect(() => {\n if (!shallowequal(plugins, props.stylisPlugins)) setPlugins(props.stylisPlugins);\n }, [props.stylisPlugins]);\n\n const styleSheetContextValue = useMemo(\n () => ({\n shouldForwardProp: props.shouldForwardProp,\n styleSheet: resolvedStyleSheet,\n stylis,\n }),\n [props.shouldForwardProp, resolvedStyleSheet, stylis]\n );\n\n return (\n \n {props.children}\n \n );\n}\n","import StyleSheet from '../sheet';\nimport { Keyframes as KeyframesType, Stringifier } from '../types';\nimport styledError from '../utils/error';\nimport { setToString } from '../utils/setToString';\nimport { mainStylis } from './StyleSheetManager';\n\nexport default class Keyframes implements KeyframesType {\n id: string;\n name: string;\n rules: string;\n\n constructor(name: string, rules: string) {\n this.name = name;\n this.id = `sc-keyframes-${name}`;\n this.rules = rules;\n\n setToString(this, () => {\n throw styledError(12, String(this.name));\n });\n }\n\n inject = (styleSheet: StyleSheet, stylisInstance: Stringifier = mainStylis): void => {\n const resolvedName = this.name + stylisInstance.hash;\n\n if (!styleSheet.hasNameForId(this.id, resolvedName)) {\n styleSheet.insertRules(\n this.id,\n resolvedName,\n stylisInstance(this.rules, resolvedName, '@keyframes')\n );\n }\n };\n\n getName(stylisInstance: Stringifier = mainStylis): string {\n return this.name + stylisInstance.hash;\n }\n}\n","const isUpper = (c: string) => c >= 'A' && c <= 'Z';\n\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n */\nexport default function hyphenateStyleName(string: string): string {\n let output = '';\n\n for (let i = 0; i < string.length; i++) {\n const c = string[i];\n // Check for CSS variable prefix\n if (i === 1 && c === '-' && string[0] === '-') {\n return string;\n }\n\n if (isUpper(c)) {\n output += '-' + c.toLowerCase();\n } else {\n output += c;\n }\n }\n\n return output.startsWith('ms-') ? '-' + output : output;\n}\n","import Keyframes from '../models/Keyframes';\nimport StyleSheet from '../sheet';\nimport {\n AnyComponent,\n Dict,\n ExecutionContext,\n Interpolation,\n IStyledComponent,\n RuleSet,\n Stringifier,\n StyledObject,\n} from '../types';\nimport addUnitIfNeeded from './addUnitIfNeeded';\nimport { EMPTY_ARRAY } from './empties';\nimport getComponentName from './getComponentName';\nimport hyphenate from './hyphenateStyleName';\nimport isFunction from './isFunction';\nimport isPlainObject from './isPlainObject';\nimport isStatelessFunction from './isStatelessFunction';\nimport isStyledComponent from './isStyledComponent';\n\n/**\n * It's falsish not falsy because 0 is allowed.\n */\nconst isFalsish = (chunk: any): chunk is undefined | null | false | '' =>\n chunk === undefined || chunk === null || chunk === false || chunk === '';\n\nexport const objToCssArray = (obj: Dict): string[] => {\n const rules = [];\n\n for (const key in obj) {\n const val = obj[key];\n if (!obj.hasOwnProperty(key) || isFalsish(val)) continue;\n\n // @ts-expect-error Property 'isCss' does not exist on type 'any[]'\n if ((Array.isArray(val) && val.isCss) || isFunction(val)) {\n rules.push(`${hyphenate(key)}:`, val, ';');\n } else if (isPlainObject(val)) {\n rules.push(`${key} {`, ...objToCssArray(val), '}');\n } else {\n rules.push(`${hyphenate(key)}: ${addUnitIfNeeded(key, val)};`);\n }\n }\n\n return rules;\n};\n\nexport default function flatten(\n chunk: Interpolation,\n executionContext?: (ExecutionContext & Props) | undefined,\n styleSheet?: StyleSheet | undefined,\n stylisInstance?: Stringifier | undefined\n): RuleSet {\n if (isFalsish(chunk)) {\n return [];\n }\n\n /* Handle other components */\n if (isStyledComponent(chunk)) {\n return [`.${(chunk as unknown as IStyledComponent<'web', any>).styledComponentId}`];\n }\n\n /* Either execute or defer the function */\n if (isFunction(chunk)) {\n if (isStatelessFunction(chunk) && executionContext) {\n const result = chunk(executionContext);\n\n if (\n process.env.NODE_ENV !== 'production' &&\n typeof result === 'object' &&\n !Array.isArray(result) &&\n !(result instanceof Keyframes) &&\n !isPlainObject(result) &&\n result !== null\n ) {\n console.error(\n `${getComponentName(\n chunk as AnyComponent\n )} is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.`\n );\n }\n\n return flatten(result, executionContext, styleSheet, stylisInstance);\n } else {\n return [chunk as unknown as IStyledComponent<'web'>];\n }\n }\n\n if (chunk instanceof Keyframes) {\n if (styleSheet) {\n chunk.inject(styleSheet, stylisInstance);\n return [chunk.getName(stylisInstance)];\n } else {\n return [chunk];\n }\n }\n\n /* Handle objects */\n if (isPlainObject(chunk)) {\n return objToCssArray(chunk as StyledObject);\n }\n\n if (!Array.isArray(chunk)) {\n return [chunk.toString()];\n }\n\n return flatMap(chunk, chunklet =>\n flatten(chunklet, executionContext, styleSheet, stylisInstance)\n );\n}\n\nfunction flatMap(array: T[], transform: (value: T, index: number, array: T[]) => U[]): U[] {\n return Array.prototype.concat.apply(EMPTY_ARRAY, array.map(transform));\n}\n","import unitless from '@emotion/unitless';\n\n// Taken from https://github.com/facebook/react/blob/b87aabdfe1b7461e7331abb3601d9e6bb27544bc/packages/react-dom/src/shared/dangerousStyleValue.js\nexport default function addUnitIfNeeded(name: string, value: any) {\n // https://github.com/amilajack/eslint-plugin-flowtype-errors/issues/133\n if (value == null || typeof value === 'boolean' || value === '') {\n return '';\n }\n\n if (typeof value === 'number' && value !== 0 && !(name in unitless) && !name.startsWith('--')) {\n return `${value}px`; // Presumes implicit 'px' suffix for unitless numbers except for CSS variables\n }\n\n return String(value).trim();\n}\n","import isFunction from './isFunction';\n\nexport default function isStatelessFunction(test: any): test is Function {\n return isFunction(test) && !(test.prototype && test.prototype.isReactComponent);\n}\n","import { RuleSet } from '../types';\nimport isFunction from './isFunction';\nimport isStyledComponent from './isStyledComponent';\n\nexport default function isStaticRules(rules: RuleSet) {\n for (let i = 0; i < rules.length; i += 1) {\n const rule = rules[i];\n\n if (isFunction(rule) && !isStyledComponent(rule)) {\n // functions are allowed to be static if they're just being\n // used to get the classname of a nested styled component\n return false;\n }\n }\n\n return true;\n}\n","import { SC_VERSION } from '../constants';\nimport StyleSheet from '../sheet';\nimport { ExecutionContext, RuleSet, Stringifier } from '../types';\nimport flatten from '../utils/flatten';\nimport generateName from '../utils/generateAlphabeticName';\nimport { hash, phash } from '../utils/hash';\nimport isStaticRules from '../utils/isStaticRules';\nimport { joinStringArray, joinStrings } from '../utils/joinStrings';\n\nconst SEED = hash(SC_VERSION);\n\n/**\n * ComponentStyle is all the CSS-specific stuff, not the React-specific stuff.\n */\nexport default class ComponentStyle {\n baseHash: number;\n baseStyle: ComponentStyle | null | undefined;\n componentId: string;\n isStatic: boolean;\n rules: RuleSet;\n staticRulesId: string;\n\n constructor(rules: RuleSet, componentId: string, baseStyle?: ComponentStyle | undefined) {\n this.rules = rules;\n this.staticRulesId = '';\n this.isStatic =\n process.env.NODE_ENV === 'production' &&\n (baseStyle === undefined || baseStyle.isStatic) &&\n isStaticRules(rules);\n this.componentId = componentId;\n this.baseHash = phash(SEED, componentId);\n this.baseStyle = baseStyle;\n\n // NOTE: This registers the componentId, which ensures a consistent order\n // for this component's styles compared to others\n StyleSheet.registerId(componentId);\n }\n\n generateAndInjectStyles(\n executionContext: ExecutionContext,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ): string {\n let names = this.baseStyle\n ? this.baseStyle.generateAndInjectStyles(executionContext, styleSheet, stylis)\n : '';\n\n // force dynamic classnames if user-supplied stylis plugins are in use\n if (this.isStatic && !stylis.hash) {\n if (this.staticRulesId && styleSheet.hasNameForId(this.componentId, this.staticRulesId)) {\n names = joinStrings(names, this.staticRulesId);\n } else {\n const cssStatic = joinStringArray(\n flatten(this.rules, executionContext, styleSheet, stylis) as string[]\n );\n const name = generateName(phash(this.baseHash, cssStatic) >>> 0);\n\n if (!styleSheet.hasNameForId(this.componentId, name)) {\n const cssStaticFormatted = stylis(cssStatic, `.${name}`, undefined, this.componentId);\n styleSheet.insertRules(this.componentId, name, cssStaticFormatted);\n }\n\n names = joinStrings(names, name);\n this.staticRulesId = name;\n }\n } else {\n let dynamicHash = phash(this.baseHash, stylis.hash);\n let css = '';\n\n for (let i = 0; i < this.rules.length; i++) {\n const partRule = this.rules[i];\n\n if (typeof partRule === 'string') {\n css += partRule;\n\n if (process.env.NODE_ENV !== 'production') dynamicHash = phash(dynamicHash, partRule);\n } else if (partRule) {\n const partString = joinStringArray(\n flatten(partRule, executionContext, styleSheet, stylis) as string[]\n );\n // The same value can switch positions in the array, so we include \"i\" in the hash.\n dynamicHash = phash(dynamicHash, partString + i);\n css += partString;\n }\n }\n\n if (css) {\n const name = generateName(dynamicHash >>> 0);\n\n if (!styleSheet.hasNameForId(this.componentId, name)) {\n styleSheet.insertRules(\n this.componentId,\n name,\n stylis(css, `.${name}`, undefined, this.componentId)\n );\n }\n\n names = joinStrings(names, name);\n }\n }\n\n return names;\n }\n}\n","import React, { useContext, useMemo } from 'react';\nimport styledError from '../utils/error';\nimport isFunction from '../utils/isFunction';\n\n/**\n * Override DefaultTheme to get accurate typings for your project.\n *\n * ```\n * // create styled-components.d.ts in your project source\n * // if it isn't being picked up, check tsconfig compilerOptions.types\n * import type { CSSProp } from \"styled-components\";\n * import Theme from './theme';\n *\n * type ThemeType = typeof Theme;\n *\n * declare module \"styled-components\" {\n * export interface DefaultTheme extends ThemeType {}\n * }\n *\n * declare module \"react\" {\n * interface DOMAttributes {\n * css?: CSSProp;\n * }\n * }\n * ```\n */\nexport interface DefaultTheme {\n [key: string]: any;\n}\n\ntype ThemeFn = (outerTheme?: DefaultTheme | undefined) => DefaultTheme;\ntype ThemeArgument = DefaultTheme | ThemeFn;\n\ntype Props = {\n children?: React.ReactNode;\n theme: ThemeArgument;\n};\n\nexport const ThemeContext = React.createContext(undefined);\n\nexport const ThemeConsumer = ThemeContext.Consumer;\n\nfunction mergeTheme(theme: ThemeArgument, outerTheme?: DefaultTheme | undefined): DefaultTheme {\n if (!theme) {\n throw styledError(14);\n }\n\n if (isFunction(theme)) {\n const themeFn = theme as ThemeFn;\n const mergedTheme = themeFn(outerTheme);\n\n if (\n process.env.NODE_ENV !== 'production' &&\n (mergedTheme === null || Array.isArray(mergedTheme) || typeof mergedTheme !== 'object')\n ) {\n throw styledError(7);\n }\n\n return mergedTheme;\n }\n\n if (Array.isArray(theme) || typeof theme !== 'object') {\n throw styledError(8);\n }\n\n return outerTheme ? { ...outerTheme, ...theme } : theme;\n}\n\n/**\n * Returns the current theme (as provided by the closest ancestor `ThemeProvider`.)\n *\n * If no `ThemeProvider` is found, the function will error. If you need access to the theme in an\n * uncertain composition scenario, `React.useContext(ThemeContext)` will not emit an error if there\n * is no `ThemeProvider` ancestor.\n */\nexport function useTheme(): DefaultTheme {\n const theme = useContext(ThemeContext);\n\n if (!theme) {\n throw styledError(18);\n }\n\n return theme;\n}\n\n/**\n * Provide a theme to an entire react component tree via context\n */\nexport default function ThemeProvider(props: Props): JSX.Element | null {\n const outerTheme = React.useContext(ThemeContext);\n const themeContext = useMemo(\n () => mergeTheme(props.theme, outerTheme),\n [props.theme, outerTheme]\n );\n\n if (!props.children) {\n return null;\n }\n\n return {props.children};\n}\n","import isPropValid from '@emotion/is-prop-valid';\nimport React, { createElement, Ref, useDebugValue } from 'react';\nimport { SC_VERSION } from '../constants';\nimport type {\n AnyComponent,\n Attrs,\n BaseObject,\n Dict,\n ExecutionContext,\n ExecutionProps,\n IStyledComponent,\n IStyledComponentFactory,\n IStyledStatics,\n OmitNever,\n RuleSet,\n StyledOptions,\n WebTarget,\n} from '../types';\nimport { checkDynamicCreation } from '../utils/checkDynamicCreation';\nimport createWarnTooManyClasses from '../utils/createWarnTooManyClasses';\nimport determineTheme from '../utils/determineTheme';\nimport domElements from '../utils/domElements';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from '../utils/empties';\nimport escape from '../utils/escape';\nimport generateComponentId from '../utils/generateComponentId';\nimport generateDisplayName from '../utils/generateDisplayName';\nimport hoist from '../utils/hoist';\nimport isFunction from '../utils/isFunction';\nimport isStyledComponent from '../utils/isStyledComponent';\nimport isTag from '../utils/isTag';\nimport { joinStrings } from '../utils/joinStrings';\nimport merge from '../utils/mixinDeep';\nimport { setToString } from '../utils/setToString';\nimport ComponentStyle from './ComponentStyle';\nimport { useStyleSheetContext } from './StyleSheetManager';\nimport { DefaultTheme, ThemeContext } from './ThemeProvider';\n\nconst identifiers: { [key: string]: number } = {};\n\n/* We depend on components having unique IDs */\nfunction generateId(\n displayName?: string | undefined,\n parentComponentId?: string | undefined\n): string {\n const name = typeof displayName !== 'string' ? 'sc' : escape(displayName);\n // Ensure that no displayName can lead to duplicate componentIds\n identifiers[name] = (identifiers[name] || 0) + 1;\n\n const componentId = `${name}-${generateComponentId(\n // SC_VERSION gives us isolation between multiple runtimes on the page at once\n // this is improved further with use of the babel plugin \"namespace\" feature\n SC_VERSION + name + identifiers[name]\n )}`;\n\n return parentComponentId ? `${parentComponentId}-${componentId}` : componentId;\n}\n\nfunction useInjectedStyle(\n componentStyle: ComponentStyle,\n resolvedAttrs: T\n) {\n const ssc = useStyleSheetContext();\n\n const className = componentStyle.generateAndInjectStyles(\n resolvedAttrs,\n ssc.styleSheet,\n ssc.stylis\n );\n\n if (process.env.NODE_ENV !== 'production') useDebugValue(className);\n\n return className;\n}\n\nfunction resolveContext(\n attrs: Attrs & Props>[],\n props: React.HTMLAttributes & ExecutionProps & Props,\n theme: DefaultTheme\n) {\n const context: React.HTMLAttributes &\n ExecutionContext &\n Props & { [key: string]: any; class?: string; ref?: React.Ref } = {\n ...props,\n // unset, add `props.className` back at the end so props always \"wins\"\n className: undefined,\n theme,\n };\n let attrDef;\n\n for (let i = 0; i < attrs.length; i += 1) {\n attrDef = attrs[i];\n const resolvedAttrDef = isFunction(attrDef) ? attrDef(context) : attrDef;\n\n for (const key in resolvedAttrDef) {\n context[key as keyof typeof context] =\n key === 'className'\n ? joinStrings(context[key] as string | undefined, resolvedAttrDef[key] as string)\n : key === 'style'\n ? { ...context[key], ...resolvedAttrDef[key] }\n : resolvedAttrDef[key as keyof typeof resolvedAttrDef];\n }\n }\n\n if (props.className) {\n context.className = joinStrings(context.className, props.className);\n }\n\n return context;\n}\n\nlet seenUnknownProps = new Set();\n\nfunction useStyledComponentImpl(\n forwardedComponent: IStyledComponent<'web', Props>,\n props: ExecutionProps & Props,\n forwardedRef: Ref\n) {\n const {\n attrs: componentAttrs,\n componentStyle,\n defaultProps,\n foldedComponentIds,\n styledComponentId,\n target,\n } = forwardedComponent;\n\n const contextTheme = React.useContext(ThemeContext);\n const ssc = useStyleSheetContext();\n const shouldForwardProp = forwardedComponent.shouldForwardProp || ssc.shouldForwardProp;\n\n if (process.env.NODE_ENV !== 'production') useDebugValue(styledComponentId);\n\n // NOTE: the non-hooks version only subscribes to this when !componentStyle.isStatic,\n // but that'd be against the rules-of-hooks. We could be naughty and do it anyway as it\n // should be an immutable value, but behave for now.\n const theme = determineTheme(props, contextTheme, defaultProps) || EMPTY_OBJECT;\n\n const context = resolveContext(componentAttrs, props, theme);\n const elementToBeCreated: WebTarget = context.as || target;\n const propsForElement: Dict = {};\n\n for (const key in context) {\n if (context[key] === undefined) {\n // Omit undefined values from props passed to wrapped element.\n // This enables using .attrs() to remove props, for example.\n } else if (key[0] === '$' || key === 'as' || key === 'theme') {\n // Omit transient props and execution props.\n } else if (key === 'forwardedAs') {\n propsForElement.as = context.forwardedAs;\n } else if (!shouldForwardProp || shouldForwardProp(key, elementToBeCreated)) {\n propsForElement[key] = context[key];\n\n if (\n !shouldForwardProp &&\n process.env.NODE_ENV === 'development' &&\n !isPropValid(key) &&\n !seenUnknownProps.has(key) &&\n // Only warn on DOM Element.\n domElements.has(elementToBeCreated as any)\n ) {\n seenUnknownProps.add(key);\n console.warn(\n `styled-components: it looks like an unknown prop \"${key}\" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via \\`\\` (connect an API like \\`@emotion/is-prop-valid\\`) or consider using transient props (\\`$\\` prefix for automatic filtering.)`\n );\n }\n }\n }\n\n const generatedClassName = useInjectedStyle(componentStyle, context);\n\n if (process.env.NODE_ENV !== 'production' && forwardedComponent.warnTooManyClasses) {\n forwardedComponent.warnTooManyClasses(generatedClassName);\n }\n\n let classString = joinStrings(foldedComponentIds, styledComponentId);\n if (generatedClassName) {\n classString += ' ' + generatedClassName;\n }\n if (context.className) {\n classString += ' ' + context.className;\n }\n\n propsForElement[\n // handle custom elements which React doesn't properly alias\n isTag(elementToBeCreated) &&\n !domElements.has(elementToBeCreated as Extract)\n ? 'class'\n : 'className'\n ] = classString;\n\n propsForElement.ref = forwardedRef;\n\n return createElement(elementToBeCreated, propsForElement);\n}\n\nfunction createStyledComponent<\n Target extends WebTarget,\n OuterProps extends object,\n Statics extends object = BaseObject,\n>(\n target: Target,\n options: StyledOptions<'web', OuterProps>,\n rules: RuleSet\n): ReturnType> {\n const isTargetStyledComp = isStyledComponent(target);\n const styledComponentTarget = target as IStyledComponent<'web', OuterProps>;\n const isCompositeComponent = !isTag(target);\n\n const {\n attrs = EMPTY_ARRAY,\n componentId = generateId(options.displayName, options.parentComponentId),\n displayName = generateDisplayName(target),\n } = options;\n\n const styledComponentId =\n options.displayName && options.componentId\n ? `${escape(options.displayName)}-${options.componentId}`\n : options.componentId || componentId;\n\n // fold the underlying StyledComponent attrs up (implicit extend)\n const finalAttrs =\n isTargetStyledComp && styledComponentTarget.attrs\n ? styledComponentTarget.attrs.concat(attrs as unknown as Attrs[]).filter(Boolean)\n : (attrs as Attrs[]);\n\n let { shouldForwardProp } = options;\n\n if (isTargetStyledComp && styledComponentTarget.shouldForwardProp) {\n const shouldForwardPropFn = styledComponentTarget.shouldForwardProp;\n\n if (options.shouldForwardProp) {\n const passedShouldForwardPropFn = options.shouldForwardProp;\n\n // compose nested shouldForwardProp calls\n shouldForwardProp = (prop, elementToBeCreated) =>\n shouldForwardPropFn(prop, elementToBeCreated) &&\n passedShouldForwardPropFn(prop, elementToBeCreated);\n } else {\n shouldForwardProp = shouldForwardPropFn;\n }\n }\n\n const componentStyle = new ComponentStyle(\n rules,\n styledComponentId,\n isTargetStyledComp ? (styledComponentTarget.componentStyle as ComponentStyle) : undefined\n );\n\n function forwardRefRender(props: ExecutionProps & OuterProps, ref: Ref) {\n return useStyledComponentImpl(WrappedStyledComponent, props, ref);\n }\n\n forwardRefRender.displayName = displayName;\n\n /**\n * forwardRef creates a new interim component, which we'll take advantage of\n * instead of extending ParentComponent to create _another_ interim class\n */\n let WrappedStyledComponent = React.forwardRef(forwardRefRender) as unknown as IStyledComponent<\n 'web',\n any\n > &\n Statics;\n WrappedStyledComponent.attrs = finalAttrs;\n WrappedStyledComponent.componentStyle = componentStyle;\n WrappedStyledComponent.displayName = displayName;\n WrappedStyledComponent.shouldForwardProp = shouldForwardProp;\n\n // this static is used to preserve the cascade of static classes for component selector\n // purposes; this is especially important with usage of the css prop\n WrappedStyledComponent.foldedComponentIds = isTargetStyledComp\n ? joinStrings(styledComponentTarget.foldedComponentIds, styledComponentTarget.styledComponentId)\n : '';\n\n WrappedStyledComponent.styledComponentId = styledComponentId;\n\n // fold the underlying StyledComponent target up since we folded the styles\n WrappedStyledComponent.target = isTargetStyledComp ? styledComponentTarget.target : target;\n\n Object.defineProperty(WrappedStyledComponent, 'defaultProps', {\n get() {\n return this._foldedDefaultProps;\n },\n\n set(obj) {\n this._foldedDefaultProps = isTargetStyledComp\n ? merge({}, styledComponentTarget.defaultProps, obj)\n : obj;\n },\n });\n\n if (process.env.NODE_ENV !== 'production') {\n checkDynamicCreation(displayName, styledComponentId);\n\n WrappedStyledComponent.warnTooManyClasses = createWarnTooManyClasses(\n displayName,\n styledComponentId\n );\n }\n\n setToString(WrappedStyledComponent, () => `.${WrappedStyledComponent.styledComponentId}`);\n\n if (isCompositeComponent) {\n const compositeComponentTarget = target as AnyComponent;\n\n hoist(\n WrappedStyledComponent,\n compositeComponentTarget,\n {\n // all SC-specific things should not be hoisted\n attrs: true,\n componentStyle: true,\n displayName: true,\n foldedComponentIds: true,\n shouldForwardProp: true,\n styledComponentId: true,\n target: true,\n } as { [key in keyof OmitNever>]: true }\n );\n }\n\n return WrappedStyledComponent;\n}\n\nexport default createStyledComponent;\n","import { StyledTarget } from '../types';\nimport getComponentName from './getComponentName';\nimport isTag from './isTag';\n\nexport default function generateDisplayName(target: StyledTarget) {\n return isTag(target) ? `styled.${target}` : `Styled(${getComponentName(target)})`;\n}\n","import { Interpolation } from '../types';\n\nexport default function interleave(\n strings: readonly string[],\n interpolations: Interpolation[]\n): Interpolation[] {\n const result: Interpolation[] = [strings[0]];\n\n for (let i = 0, len = interpolations.length; i < len; i += 1) {\n result.push(interpolations[i], strings[i + 1]);\n }\n\n return result;\n}\n","import {\n BaseObject,\n Interpolation,\n NoInfer,\n RuleSet,\n StyledObject,\n StyleFunction,\n Styles,\n} from '../types';\nimport { EMPTY_ARRAY } from '../utils/empties';\nimport flatten from '../utils/flatten';\nimport interleave from '../utils/interleave';\nimport isFunction from '../utils/isFunction';\nimport isPlainObject from '../utils/isPlainObject';\n\n/**\n * Used when flattening object styles to determine if we should\n * expand an array of styles.\n */\nconst addTag = >(arg: T): T & { isCss: true } =>\n Object.assign(arg, { isCss: true } as const);\n\nfunction css(styles: Styles, ...interpolations: Interpolation[]): RuleSet;\nfunction css(\n styles: Styles>,\n ...interpolations: Interpolation>[]\n): RuleSet>;\nfunction css(\n styles: Styles>,\n ...interpolations: Interpolation>[]\n): RuleSet> {\n if (isFunction(styles) || isPlainObject(styles)) {\n const styleFunctionOrObject = styles as StyleFunction | StyledObject;\n\n return addTag(\n flatten(\n interleave(EMPTY_ARRAY, [\n styleFunctionOrObject,\n ...interpolations,\n ]) as Interpolation\n )\n );\n }\n\n const styleStringArray = styles as TemplateStringsArray;\n\n if (\n interpolations.length === 0 &&\n styleStringArray.length === 1 &&\n typeof styleStringArray[0] === 'string'\n ) {\n return flatten(styleStringArray);\n }\n\n return addTag(\n flatten(interleave(styleStringArray, interpolations) as Interpolation)\n );\n}\n\nexport default css;\n","import {\n Attrs,\n BaseObject,\n ExecutionProps,\n Interpolation,\n IStyledComponent,\n IStyledComponentFactory,\n KnownTarget,\n NoInfer,\n Runtime,\n StyledOptions,\n StyledTarget,\n Styles,\n Substitute,\n} from '../types';\nimport { EMPTY_OBJECT } from '../utils/empties';\nimport styledError from '../utils/error';\nimport css from './css';\n\ntype AttrsResult> = T extends (...args: any) => infer P\n ? P extends object\n ? P\n : never\n : T extends object\n ? T\n : never;\n\n/**\n * Based on Attrs being a simple object or function that returns\n * a prop object, inspect the attrs result and attempt to extract\n * any \"as\" prop usage to modify the runtime target.\n */\ntype AttrsTarget<\n R extends Runtime,\n T extends Attrs,\n FallbackTarget extends StyledTarget,\n Result extends ExecutionProps = AttrsResult,\n> = Result extends { as: infer RuntimeTarget }\n ? RuntimeTarget extends KnownTarget\n ? RuntimeTarget\n : FallbackTarget\n : FallbackTarget;\n\nexport interface Styled<\n R extends Runtime,\n Target extends StyledTarget,\n OuterProps extends object,\n OuterStatics extends object = BaseObject,\n> {\n (\n initialStyles: Styles>>,\n ...interpolations: Interpolation>>[]\n ): IStyledComponent> &\n OuterStatics &\n Statics &\n (R extends 'web' ? (Target extends string ? {} : Target) : {});\n\n attrs: <\n Props extends object = BaseObject,\n PrivateMergedProps extends object = Substitute,\n PrivateAttrsArg extends Attrs = Attrs,\n PrivateResolvedTarget extends StyledTarget = AttrsTarget,\n >(\n attrs: PrivateAttrsArg\n ) => Styled<\n R,\n PrivateResolvedTarget,\n PrivateResolvedTarget extends KnownTarget\n ? Substitute<\n Substitute>,\n Props\n >\n : PrivateMergedProps,\n OuterStatics\n >;\n\n withConfig: (config: StyledOptions) => Styled;\n}\n\nexport default function constructWithOptions<\n R extends Runtime,\n Target extends StyledTarget,\n OuterProps extends object = Target extends KnownTarget\n ? React.ComponentPropsWithRef\n : BaseObject,\n OuterStatics extends object = BaseObject,\n>(\n componentConstructor: IStyledComponentFactory, object, any>,\n tag: StyledTarget,\n options: StyledOptions = EMPTY_OBJECT\n): Styled {\n /**\n * We trust that the tag is a valid component as long as it isn't\n * falsish. Typically the tag here is a string or function (i.e.\n * class or pure function component), however a component may also be\n * an object if it uses another utility, e.g. React.memo. React will\n * output an appropriate warning however if the `tag` isn't valid.\n */\n if (!tag) {\n throw styledError(1, tag);\n }\n\n /* This is callable directly as a template function */\n const templateFunction = (\n initialStyles: Styles>,\n ...interpolations: Interpolation>[]\n ) =>\n componentConstructor, Statics>(\n tag,\n options as StyledOptions>,\n css>(initialStyles, ...interpolations)\n );\n\n /**\n * Attrs allows for accomplishing two goals:\n *\n * 1. Backfilling props at runtime more expressively than defaultProps\n * 2. Amending the prop interface of a wrapped styled component\n */\n templateFunction.attrs = <\n Props extends object = BaseObject,\n PrivateMergedProps extends object = Substitute,\n PrivateAttrsArg extends Attrs = Attrs,\n PrivateResolvedTarget extends StyledTarget = AttrsTarget,\n >(\n attrs: PrivateAttrsArg\n ) =>\n constructWithOptions<\n R,\n PrivateResolvedTarget,\n PrivateResolvedTarget extends KnownTarget\n ? Substitute<\n Substitute>,\n Props\n >\n : PrivateMergedProps,\n OuterStatics\n >(componentConstructor, tag, {\n ...options,\n attrs: Array.prototype.concat(options.attrs, attrs).filter(Boolean),\n });\n\n /**\n * If config methods are called, wrap up a new template function\n * and merge options.\n */\n templateFunction.withConfig = (config: StyledOptions) =>\n constructWithOptions(componentConstructor, tag, {\n ...options,\n ...config,\n });\n\n return templateFunction;\n}\n","import createStyledComponent from '../models/StyledComponent';\nimport { WebTarget } from '../types';\nimport domElements, { SupportedHTMLElements } from '../utils/domElements';\nimport constructWithOptions, { Styled } from './constructWithOptions';\n\nconst baseStyled = (tag: Target) =>\n constructWithOptions<'web', Target>(createStyledComponent, tag);\n\nconst styled = baseStyled as typeof baseStyled & {\n [E in SupportedHTMLElements]: Styled<'web', E, JSX.IntrinsicElements[E]>;\n};\n\n// Shorthands for all valid HTML Elements\ndomElements.forEach(domElement => {\n // @ts-expect-error some react typing bs\n styled[domElement] = baseStyled(domElement);\n});\n\nexport default styled;\n","import StyleSheet from '../sheet';\nimport { ExecutionContext, RuleSet, Stringifier } from '../types';\nimport flatten from '../utils/flatten';\nimport isStaticRules from '../utils/isStaticRules';\nimport { joinStringArray } from '../utils/joinStrings';\n\nexport default class GlobalStyle {\n componentId: string;\n isStatic: boolean;\n rules: RuleSet;\n\n constructor(rules: RuleSet, componentId: string) {\n this.rules = rules;\n this.componentId = componentId;\n this.isStatic = isStaticRules(rules);\n\n // pre-register the first instance to ensure global styles\n // load before component ones\n StyleSheet.registerId(this.componentId + 1);\n }\n\n createStyles(\n instance: number,\n executionContext: ExecutionContext & Props,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ): void {\n const flatCSS = joinStringArray(\n flatten(this.rules as RuleSet, executionContext, styleSheet, stylis) as string[]\n );\n const css = stylis(flatCSS, '');\n const id = this.componentId + instance;\n\n // NOTE: We use the id as a name as well, since these rules never change\n styleSheet.insertRules(id, id, css);\n }\n\n removeStyles(instance: number, styleSheet: StyleSheet): void {\n styleSheet.clearRules(this.componentId + instance);\n }\n\n renderStyles(\n instance: number,\n executionContext: ExecutionContext & Props,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ): void {\n if (instance > 2) StyleSheet.registerId(this.componentId + instance);\n\n // NOTE: Remove old styles, then inject the new ones\n this.removeStyles(instance, styleSheet);\n this.createStyles(instance, executionContext, styleSheet, stylis);\n }\n}\n","import Keyframes from '../models/Keyframes';\nimport { Interpolation, Styles } from '../types';\nimport generateComponentId from '../utils/generateComponentId';\nimport { joinStringArray } from '../utils/joinStrings';\nimport css from './css';\n\nexport default function keyframes(\n strings: Styles,\n ...interpolations: Array>\n): Keyframes {\n /* Warning if you've used keyframes on React Native */\n if (\n process.env.NODE_ENV !== 'production' &&\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative'\n ) {\n console.warn(\n '`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.'\n );\n }\n\n const rules = joinStringArray(css(strings, ...interpolations) as string[]);\n const name = generateComponentId(rules);\n return new Keyframes(name, rules);\n}\n","import React from 'react';\nimport type * as streamInternal from 'stream';\nimport { Readable } from 'stream';\nimport { IS_BROWSER, SC_ATTR, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport StyleSheet from '../sheet';\nimport styledError from '../utils/error';\nimport { joinStringArray } from '../utils/joinStrings';\nimport getNonce from '../utils/nonce';\nimport { StyleSheetManager } from './StyleSheetManager';\n\ndeclare const __SERVER__: boolean;\n\nconst CLOSING_TAG_R = /^\\s*<\\/[a-z]/i;\n\nexport default class ServerStyleSheet {\n instance: StyleSheet;\n sealed: boolean;\n\n constructor() {\n this.instance = new StyleSheet({ isServer: true });\n this.sealed = false;\n }\n\n _emitSheetCSS = (): string => {\n const css = this.instance.toString();\n const nonce = getNonce();\n const attrs = [\n nonce && `nonce=\"${nonce}\"`,\n `${SC_ATTR}=\"true\"`,\n `${SC_ATTR_VERSION}=\"${SC_VERSION}\"`,\n ];\n const htmlAttr = joinStringArray(attrs.filter(Boolean) as string[], ' ');\n\n return ``;\n };\n\n collectStyles(children: any): JSX.Element {\n if (this.sealed) {\n throw styledError(2);\n }\n\n return {children};\n }\n\n getStyleTags = (): string => {\n if (this.sealed) {\n throw styledError(2);\n }\n\n return this._emitSheetCSS();\n };\n\n getStyleElement = () => {\n if (this.sealed) {\n throw styledError(2);\n }\n\n const props = {\n [SC_ATTR]: '',\n [SC_ATTR_VERSION]: SC_VERSION,\n dangerouslySetInnerHTML: {\n __html: this.instance.toString(),\n },\n };\n\n const nonce = getNonce();\n if (nonce) {\n (props as any).nonce = nonce;\n }\n\n // v4 returned an array for this fn, so we'll do the same for v5 for backward compat\n return [\n\n';class o extends HTMLElement{static get observedAttributes(){return["style","z-index","target","height","width","href","color","fill","position","top","left","right","bottom","transform"]}constructor(){super(),this.right="0",this.shadow=this.attachShadow({mode:"open"}),this.shadow.appendChild(this.ownerDocument.importNode(s.content,!0)),this.update()}setAttr(e,t){const r=this.shadow.querySelector("svg");/(href)/.test(e.toLocaleLowerCase())?r.lastElementChild.setAttribute("xlink:href",t):/(color|fill)/.test(e.toLocaleLowerCase())?r.firstElementChild.style[e]=t:/(z-index|position|top|left|right|bottom|transform)/.test(e.toLocaleLowerCase())?r.style[e]=t:r.setAttribute(e,t)}update(){[...this.getAttributeNames(),"right"].forEach((e=>{const t=this.getAttribute(e)||this[e]||"";this.setAttr(e,t)}))}attributeChangedCallback(e,t,r){t!==r&&this.setAttr(e,r)}}customElements.define("github-corners",o);var c=r(4760),d=["size","fixed","bottom","zIndex","className","style","bgColor","color","position"];function L(e){var{size:t=80,fixed:r=!1,bottom:C,zIndex:i,style:a,bgColor:s="#151513",color:o="#fff",position:L="right"}=e,u=(0,l.Z)(e,d),h="left"===L?{left:0,right:"initial",transform:"scale(-1, 1)"}:{right:0,left:"initial",transform:"scale(1, 1)"};return C?(h.bottom=0,h.top="initial",h.transform="left"===L?"scale(-1, -1)":"scale(1, -1)"):(h.bottom="initial",h.top=0),(0,c.jsx)("github-corners",(0,n.Z)({target:"__blank",width:t,height:t,href:e.href,position:r?"fixed":"absolute","z-index":i,style:a,fill:s,color:o},h,u))}var u=["className","prefixCls","element","top","size","strokeWidth","smooth","hideProgress","children"],h={position:"sticky",bottom:15,right:15,visibility:"visible",opacity:0,transition:"visibility 0.3s linear 0s, opacity 0.3s linear 0s",cursor:"pointer",userSelect:"none"},p={display:"block",transform:"rotate(-90deg)"},m={transition:"stroke-dashoffset 0.3s linear 0s"},f={position:"absolute",top:0,display:"flex",height:"100%",width:"100%",alignItems:"center",justifyContent:"center",color:"#fff",fontSize:12},v=document.documentElement;function Z(e){void 0===e&&(e={});var{className:t,prefixCls:r="w-back-to-up",element:C=v,top:a=120,size:s=35,strokeWidth:o=3,smooth:d=!0,hideProgress:L=!1,children:Z}=e,x=(0,l.Z)(e,u),g=(0,i.useRef)(null),y=[t,r].filter(Boolean).join(" "),M=Object.assign({},h,{position:C===v?"fixed":"sticky"},x.style,{width:s,height:s,opacity:0===a?1:0}),w=(0,i.useMemo)((()=>s/2),[s]),b=(0,i.useMemo)((()=>s/2-o/2),[s,o]),j=(0,i.useMemo)((()=>Math.PI*b*2),[b]),[N,k]=(0,i.useState)(j||0),S=e=>{var{clientHeight:t,scrollHeight:r,scrollTop:n}=C||v;k(j-j*(n/(r-t))||0),g.current&&a>0&&(g.current.style.opacity=n>a?"1":"0")};(0,i.useEffect)((()=>{var e=C===v?document:C;return e&&e.addEventListener("scroll",S,{passive:!0}),()=>{e&&e.removeEventListener("scroll",S)}}),[C]);return(0,c.jsxs)("div",(0,n.Z)({className:y,ref:g},x,{onClick:e=>{C.scrollTo({top:0,behavior:d?"smooth":"auto"})},style:M,children:[!L&&(0,c.jsxs)("svg",{viewBox:"0 0 "+s+" "+s,width:s,height:s,focusable:"false",style:p,children:[(0,c.jsx)("circle",{fill:"rgb(0 0 0 / 75%)",stroke:"rgb(200 200 200 / 85%)",strokeWidth:o,r:b,cx:w,cy:w}),(0,c.jsx)("circle",{fill:"none",stroke:"rgb(0 0 0 / 50%)",strokeWidth:o,r:b,cx:w,cy:w,strokeDasharray:j,strokeDashoffset:N||0,style:m})]}),Z&&(0,c.jsx)("div",{style:f,children:Z})]}))}var x={corners:{fixed:!0,target:"__blank",zIndex:10},darkMode:{permanent:!0,dark:"Dark",light:"Light"},example:null},g=[],y={setCorners(e){x=(0,n.Z)({},x,{corners:(0,n.Z)({},x.corners,e)}),b()},setDarkMode(e){x=(0,n.Z)({},x,{darkMode:(0,n.Z)({},x.darkMode,e)}),console.log("globalStore:",x),b()},setExample(e){x=(0,n.Z)({},x,{example:e}),b()}};function M(){return x}function w(e){return g=[...g,e],()=>{g=g.filter((t=>t!==e))}}function b(){for(var e of g)e()}var j=r(6320),N=r(8563),k=r(3607),S=r(7336),E=r(7530),B=r(3376),D=r.n(B);function R(e){if(!e)return null;var t=e;return t.dataset.code&&t.classList.contains("copied")?t:t.parentElement?R(t.parentElement):null}function O(e){var t=e=>{var t=R(e.target);t&&(t.classList.add("active"),D()(t.dataset.code,(function(){setTimeout((()=>{t.classList.remove("active")}),2e3)})))};(0,i.useEffect)((()=>{var r,n;return null==(r=e.current)||r.removeEventListener("click",t,!1),null==(n=e.current)||n.addEventListener("click",t,!1),()=>{var r;null==(r=e.current)||r.removeEventListener("click",t,!1)}}),[e])}var z=["prefixCls","className","source","style","disableCopy","skipHtml","onScroll","onMouseOver","pluginsFilter","rehypeRewrite","wrapperElement","warpperElement"];const P=i.forwardRef(((e,t)=>{var{prefixCls:r="wmde-markdown wmde-markdown-color",className:C,source:a,style:s,disableCopy:o=!1,skipHtml:d=!0,onScroll:L,onMouseOver:u,pluginsFilter:h,wrapperElement:p={},warpperElement:m={}}=e,f=(0,l.Z)(e,z),v=i.useRef(null);(0,i.useImperativeHandle)(t,(()=>(0,n.Z)({},e,{mdp:v})),[v,e]);var Z=(r||"")+" "+(C||"");O(v);var x=[...f.rehypePlugins||[]],g={allowElement:(e,t,r)=>f.allowElement?f.allowElement(e,t,r):/^[A-Za-z0-9]+$/.test(e.tagName)};d&&x.push(E.Z);var y=[...f.remarkPlugins||[],S.Z],M=(0,n.Z)({},m,p);return(0,c.jsx)("div",(0,n.Z)({ref:v,onScroll:L,onMouseOver:u},M,{className:Z,style:s,children:(0,c.jsx)(k.D,(0,n.Z)({},g,f,{skipHtml:d,rehypePlugins:h?h("rehype",x):x,remarkPlugins:h?h("remark",y):y,children:a||""}))}))}));var A=r(3973),I=r(204),H=r(7666),T=r(655),W=function(e){return void 0===e&&(e={}),e=>{(0,T.Vn)(e,(e=>{"element"===e.type&&"code"===e.tagName&&e.data&&e.data.meta&&(e.properties=(0,n.Z)({},e.properties,{"data-meta":String(e.data.meta)}))}))}},F=r(9599),Y=r(9508),V=r(2393),K={type:"element",tagName:"svg",properties:{className:"octicon octicon-link",viewBox:"0 0 16 16",version:"1.1",width:"16",height:"16",ariaHidden:"true"},children:[{type:"element",tagName:"path",children:[],properties:{fillRule:"evenodd",d:"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"}}]};var q=[F.Z,Y.Z,V.Z];const $=i.forwardRef(((e,t)=>{var r,l,C,i=[W,[A.ZP,{ignoreMissing:!0}],...q,[I.Z,{rewrite:(l=null!=(r=e.disableCopy)&&r,C=e.rehypeRewrite,(e,t,r)=>{if("element"===e.type&&r&&"root"===r.type&&/h(1|2|3|4|5|6)/.test(e.tagName)){var i=e.children&&e.children[0];i&&i.properties&&"true"===i.properties.ariaHidden&&(i.properties=(0,n.Z)({class:"anchor"},i.properties),i.children=[K])}if("element"===e.type&&"pre"===e.tagName&&!l){var a=(0,I.U)(e.children);e.children.push((void 0===(s=a)&&(s=""),{type:"element",tagName:"div",properties:{class:"copied","data-code":s},children:[{type:"element",tagName:"svg",properties:{className:"octicon-copy",ariaHidden:"true",viewBox:"0 0 16 16",fill:"currentColor",height:12,width:12},children:[{type:"element",tagName:"path",properties:{fillRule:"evenodd",d:"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"},children:[]},{type:"element",tagName:"path",properties:{fillRule:"evenodd",d:"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"},children:[]}]},{type:"element",tagName:"svg",properties:{className:"octicon-check",ariaHidden:"true",viewBox:"0 0 16 16",fill:"currentColor",height:12,width:12},children:[{type:"element",tagName:"path",properties:{fillRule:"evenodd",d:"M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"},children:[]}]}]}))}var s;C&&C(e,t,r)})}],[H.Z,{properties:"attr"}],...e.rehypePlugins||[]];return(0,c.jsx)(P,(0,n.Z)({},e,{rehypePlugins:i,ref:t}))}));var U,J,X,_=["inline","node","components","data"],G=["data-meta","data-md"],Q=["source","components","data","rehypeRewrite"],ee=j.ZP.Preview,te=j.ZP.Code,re=j.ZP.Toolbar,ne=(0,a.ZP)($)(U||(U=(0,C.Z)(["\n margin: 0 auto;\n box-shadow:\n rgb(8 15 41 / 8%) 0.5rem 0.5rem 2rem 0px,\n rgb(8 15 41 / 8%) 0px 0px 1px 0px;\n border: 1px solid var(--color-border-default, #30363d);\n text-align: left;\n max-width: 56rem;\n overflow: auto;\n padding: 2rem;\n border-radius: 0.55rem;\n"]))),le=e=>{var t,{inline:r,node:C,components:i,data:a}=e,s=(0,l.Z)(e,_),o=s,{"data-md":d}=o,L=(0,l.Z)(o,G);if(r||!(0,N.pN)(d))return(0,c.jsx)("code",(0,n.Z)({},s));var u=null==(t=C.position)?void 0:t.start.line,h=(0,N.Mx)(d)||String(u),p=i[""+h];if(h&&"function"===typeof p){var m=a[h].value||"",{title:f,boreder:v=1,checkered:Z=1,code:x=1,toolbar:g=1}=(0,N.aE)(d);return(0,c.jsxs)(j.ZP,{bordered:!!Number(v),disableCheckered:!Number(Z),style:{marginBottom:16},children:[(0,c.jsx)(ee,{children:(0,c.jsx)(p,{})}),!!Number(g)&&(0,c.jsx)(re,{text:m,visibleButton:!!Number(x),children:f||"Code Example"}),!!Number(x)&&(0,c.jsx)(te,{tagName:"pre",style:{marginBottom:0},children:(0,c.jsx)("code",(0,n.Z)({},L))})]})}return(0,c.jsx)("code",(0,n.Z)({},L))};function Ce(e){var{components:t,data:r,rehypeRewrite:C}=e,i=(0,l.Z)(e,Q);return(0,c.jsx)(ne,(0,n.Z)({disableCopy:!0,rehypePlugins:[V.Z,...i.rehypePlugins||[]]},i,{rehypeRewrite:(e,t,r)=>{if("element"===e.type&&"pre"===e.tagName&&/(pre|code)/.test(e.tagName)&&e.children[0]){var n,l,i=e.children[0],a=(null==(n=i.data)?void 0:n.meta)||(null==(l=i.properties)?void 0:l.dataMeta);(0,N.pN)(a)&&(e.tagName="div",e.properties||(e.properties={}),e.properties["data-md"]=a,e.properties["data-meta"]="preview")}C&&C(e,t,r)},source:r.source,components:(0,n.Z)({},t,{div:e=>(0,c.jsx)(le,(0,n.Z)({},e,{components:r.components,data:r.data}))})}))}var ie,ae,se,oe,ce,de=(0,a.F4)(J||(J=(0,C.Z)(["\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n"]))),Le=a.zo.svg(X||(X=(0,C.Z)(["\n color: var(--rmpe-logo-color, #61dafb);\n height: 8rem;\n margin-bottom: 3rem;\n pointer-events: none;\n animation: "," infinite 20s linear;\n"])),de),ue=(0,c.jsxs)(Le,{width:"100%",height:"100%",viewBox:"-10.5 -9.45 21 18.9",fill:"none",children:[(0,c.jsx)("circle",{cx:"0",cy:"0",r:"2",fill:"currentColor"}),(0,c.jsxs)("g",{stroke:"currentColor",strokeWidth:"1",fill:"none",children:[(0,c.jsx)("ellipse",{rx:"10",ry:"4.5"}),(0,c.jsx)("ellipse",{rx:"10",ry:"4.5",transform:"rotate(60)"}),(0,c.jsx)("ellipse",{rx:"10",ry:"4.5",transform:"rotate(120)"})]})]}),he=["version","title","description","source","logo","components","data","markdownProps","exampleProps","className","children","disableCorners","disableDarkMode","disableHeader","disableBackToUp"],pe=a.zo.div(ie||(ie=(0,C.Z)(["\n max-width: 56rem;\n margin: 0 auto;\n padding: 2.3rem 3rem;\n display: flex;\n justify-content: center;\n"]))),me=a.zo.div(ae||(ae=(0,C.Z)(["\n padding-bottom: 12rem;\n"]))),fe=a.zo.header(se||(se=(0,C.Z)(["\n padding: 6rem 0 2rem 0;\n text-align: center;\n h1 {\n font-weight: 900;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif,\n 'Apple Color Emoji', 'Segoe UI Emoji';\n }\n"]))),ve=a.zo.sup(oe||(oe=(0,C.Z)(["\n font-weight: 200;\n font-size: 0.78rem;\n margin-left: 0.5em;\n margin-top: -0.3em;\n position: absolute;\n"]))),Ze=a.zo.p(ce||(ce=(0,C.Z)(["\n max-width: 460px;\n margin: 0 auto;\n color: var(--color-fg-subtle, #6e7781);\n"]))),xe=(0,i.forwardRef)(((e,t)=>{var{version:r,title:C,description:a,source:s,logo:o=ue,components:d,data:u,markdownProps:h,exampleProps:p,className:m="",children:f,disableCorners:v=!1,disableDarkMode:x=!1,disableHeader:g=!1,disableBackToUp:y=!1}=e,b=(0,l.Z)(e,he),j=(0,i.useSyncExternalStore)(w,M);return(0,c.jsxs)(me,(0,n.Z)({className:"wmde-markdown-var "+m},b,{children:[!x&&(0,c.jsx)("dark-mode",(0,n.Z)({permanent:!0,style:{position:"fixed",top:8,left:12,zIndex:99,fontSize:28}},j.darkMode)),!v&&(0,c.jsx)(L,(0,n.Z)({fixed:!0,target:"__blank",zIndex:10},j.corners)),!g&&(0,c.jsxs)(fe,{children:[o,C&&(0,c.jsxs)("h1",{children:[C,r&&(0,c.jsx)(ve,{children:r})]}),a&&(0,c.jsx)(Ze,{children:a})]}),(0,c.jsx)("div",{}),j.example&&(0,c.jsx)(pe,(0,n.Z)({},p,{children:j.example})),(0,c.jsx)(Ce,(0,n.Z)({},h,{source:s,data:{data:u,components:d,source:s}})),f,!y&&(0,c.jsx)(Z,{children:"Top"})]}))})),ge=xe;ge.Github=function(e){return(0,i.useEffect)((()=>y.setCorners((0,n.Z)({},e))),[e]),null},ge.Corners=function(e){return(0,i.useEffect)((()=>y.setDarkMode((0,n.Z)({},e))),[e]),null},ge.Example=function(e){var{children:t}=e;return(0,i.useEffect)((()=>y.setExample(t)),[t]),null};const ye=ge},4768:(e,t,r)=>{"use strict";r.d(t,{R:()=>u,sN:()=>d,Wd:()=>f,Ni:()=>Z,ZP:()=>M});var n=r(5773),l=r(808),C=r(8573),i=r(6252),a=r(4760),s=["prefixCls","className","tagName","children","disabled","multiline","icon","text","active","addonAfter","isSubMenuItem"],o={href:void 0,onClick:void 0,onMouseDown:void 0,onMouseEnter:void 0,onMouseLeave:void 0,tabIndex:-1};function c(e,t){var{prefixCls:r="w-menu-item",className:c,tagName:d="a",disabled:L=!1,multiline:u=!1,icon:h,text:p,active:m=!1,addonAfter:f,isSubMenuItem:v}=e,Z=(0,l.Z)(e,s),x=[r,m?"active":null,L?"w-disabled":null,c].filter(Boolean).join(" ").trim(),g=C.createElement(d,(0,n.Z)({},Z,L?o:{},{className:x,ref:t}),(0,a.jsxs)(C.Fragment,{children:[(0,a.jsx)(i.Z,{className:r+"-icon",type:h}),(0,a.jsx)("div",{className:[r&&r+"-text",!u&&r+"-multiline"].filter(Boolean).join(" ").trim(),children:p}),f]}));return v?g:(0,a.jsxs)("li",{children:[" ",g," "]})}var d=C.forwardRef(c);d.displayName="uiw.MenuItem";var L=["prefixCls","className","title"],u=C.forwardRef(((e,t)=>{var{prefixCls:r="w-menu-divider",className:C,title:i}=e,s=(0,l.Z)(e,L),o=[r,C].filter(Boolean).join(" ").trim();return i?(0,a.jsx)("li",(0,n.Z)({},s,{ref:t,className:o,"data-menu":"divider",children:(0,a.jsx)("strong",{children:i})})):(0,a.jsx)("li",(0,n.Z)({},s,{ref:t,className:o}))}));u.displayName="uiw.MenuDivider";var h=r(9769),p=["prefixCls","className","disabled","overlayProps","children","collapse","inlineIndent","inlineCollapsed"];function m(e){var{prefixCls:t,collapse:r,isOpen:n}=e;return(0,C.useMemo)((()=>(0,a.jsx)(i.Z,{type:"caret-right",className:[t?t+"-collapse-icon":null,!r&&n?"w-open":null,r||n?null:"w-close"].filter(Boolean).join(" ").trim()})),[t,r,n])}var f=C.forwardRef((function(e,t){var{prefixCls:r="w-menu-subitem",className:i,disabled:s,overlayProps:o={},children:c,collapse:L=!1,inlineIndent:u}=e,f=(0,l.Z)(e,p),v={},g={bordered:!0,children:c,inlineIndent:u,className:[r?r+"-overlay":null].filter(Boolean).join(" ").trim()},y=C.useRef(null),M=C.useRef(),w=C.useRef(),[b,j]=(0,C.useState)(!!o.isOpen),{height:N,setContextHeight:k,ele:S}=(0,C.useContext)(Z);return C.useEffect((()=>{if(M.current&&M.current.style&&S===w.current){var e=Number(M.current.style.height.substr(0,M.current.style.height.length-2));M.current.getBoundingClientRect().height{L&&j(!1)}),[L]),L?(v.className=r+"-popup",v.trigger="hover",v.usePortal=!0,g.onClick=function(e){var t=e.currentTarget,r=e.relatedTarget||e.nativeEvent.target;t.children.length<1||function(e){var t=!1;if(e)do{e.dataset.menu||(t=!0),e.dataset.menu&&/^(subitem|divider)$/.test(e.dataset.menu)&&(t=!1)}while(!e.dataset.menu&&(e=e.parentNode));return t}(r)&&y.current&&y.current.hide()}):(delete g.onClick,g.bordered=!1,v.className=r+"-collapse",v.appear=!1,v.isOutside=!0,v.isClickOutside=!1,v.unmountOnExit=!1,v.trigger="click",v.transitionName=""+r,v.onExit=function(e){e.style.height=e.scrollHeight+"px",j(!1)},v.onExiting=function(e){e.style.height="0px",y.current&&y.current.overlayDom.current&&k({height:-y.current.overlayDom.current.getBoundingClientRect().height,ele:w.current})},v.onEnter=function(e){e.style.height="0px",M.current=e,j(!0),y.current&&y.current.overlayDom.current&&k({height:y.current.overlayDom.current.getBoundingClientRect().height,ele:w.current})},v.onEntered=function(e){y.current&&y.current.overlayDom.current&&(e.style.height=y.current.overlayDom.current.getBoundingClientRect().height+"px")},v.onEntering=function(e){e.style.height=e.scrollHeight+"px"}),(0,a.jsx)("li",{"data-menu":"subitem",ref:t,onClick:e=>{L?e.stopPropagation():w.current=e.target},children:(0,a.jsx)(h.Z,(0,n.Z)({placement:"rightTop",autoAdjustOverflow:!0,disabled:s,isOpen:b,usePortal:!1,isOutside:!0},v,o,{ref:y,overlay:(0,a.jsx)(x,(0,n.Z)({},g,{style:L?{}:{paddingLeft:u}})),children:(0,a.jsx)(d,(0,n.Z)({},f,{ref:null,disabled:s,isSubMenuItem:!0,addonAfter:(0,a.jsx)(m,{collapse:L,prefixCls:r,isOpen:b}),className:[r?r+"-title":null,L?null:r+"-collapse-title",i].filter(Boolean).join(" ").trim()}))}))})}));f.displayName="uiw.SubMenu";var v=["prefixCls","className","children","bordered","theme","inlineIndent","inlineCollapsed"],Z=(0,C.createContext)({}),x=C.forwardRef(((e,t)=>{var{prefixCls:r="w-menu",className:i,children:s,bordered:o,theme:c="light",inlineIndent:d=10,inlineCollapsed:L}=e,u=(0,l.Z)(e,v),h=(0,C.useMemo)((()=>[r,o?"w-bordered":null,L?r+"-inline-collapsed":null,c?r+"-"+c:null,i].filter(Boolean).join(" ").trim()),[r,o,L,c,i]);return(0,a.jsx)("ul",(0,n.Z)({},u,{ref:t,className:h,"data-menu":"menu",children:C.Children.map(s,((e,t)=>{if(!C.isValidElement(e))return e;var r={};return e.props.children&&e.type===f&&(r.inlineIndent=d),C.cloneElement(e,Object.assign((0,n.Z)({},r),e.props,{key:""+t}))}))}))})),g=(e,t)=>{var[r,l]=C.useState({height:0,ele:null});return(0,a.jsx)(Z.Provider,{value:(0,n.Z)({},r,{setContextHeight:l}),children:(0,a.jsx)(x,(0,n.Z)({},e,{ref:t}))})},y=C.forwardRef(g);x.displayName="uiw.Menu",y.displayName="uiw.Menu",y.Item=d,y.SubMenu=f,y.Divider=u;const M=y},6704:(e,t,r)=>{"use strict";r.d(t,{Z:()=>d});var n=r(5773),l=r(808),C=r(8573),i=r(4441),a=r(6252),s=r(3612),o=r(4760),c=["prefixCls","className","type","title","description","showIcon","icon","rounded","isCloseButtonShown"];class d extends C.Component{constructor(e){super(e),this.handleClosed=e=>{var{onClose:t}=this.props;this.setState({isOpen:!1}),t&&t(e)},this.renderIcon=()=>{var{type:e,showIcon:t}=this.props,r=this.props.icon;if(!r&&t)switch(e){case"success":r="circle-check";break;case"warning":r="warning";break;case"info":r="information";break;case"error":r="circle-close"}return r},this.state={isOpen:!0}}render(){var e=this.props,{prefixCls:t,className:r,type:C,title:d,description:L,showIcon:u,rounded:h,isCloseButtonShown:p}=e,m=(0,l.Z)(e,c),f=L||this.props.children,v=[t,r,t+"-"+C,h?t+"-rounded":null,u?t+"-icon":null,u?t+(d?"-title":"")+(f?"-description":""):null].filter(Boolean).join(" ").trim(),Z=(0,o.jsxs)("div",(0,n.Z)({className:v},m,{children:[p&&(0,o.jsx)(s.Z,{basic:!0,onClick:this.handleClosed,icon:"close",type:"light"}),u&&(0,o.jsx)(a.Z,{type:this.renderIcon()}),(0,o.jsx)("span",{className:t+"-title",children:d}),(0,o.jsx)("span",{className:t+"-description",children:f})]}));return p?(0,o.jsx)(i.Z,{in:this.state.isOpen,unmountOnExit:!0,timeout:300,classNames:t,children:Z}):Z}}d.defaultProps={prefixCls:"w-message",rounded:!0,isCloseButtonShown:!1}},764:(e,t,r)=>{"use strict";r.d(t,{Z:()=>m});var n=r(5773),l=r(7791),C=r(808),i=r(8573),a=r(7572),s=r(3612),o=r(6252),c=r(7408),d=r(6836),L=r(4760),u=["title","children"];var h=["prefixCls","className","children","useButton","usePortal","autoFocus","isOpen","title","cancelText","cancelButtonProps","confirmButtonProps","content","confirmText","type","icon","maxWidth","minWidth","width","isCloseButtonShown","onCancel","onConfirm","bodyStyle"],p=i.forwardRef(((e,t)=>{var{prefixCls:r="w-modal",className:d,children:u,useButton:p=!0,usePortal:m=!0,autoFocus:f=!1,isOpen:v=!1,title:Z,cancelText:x,cancelButtonProps:g,confirmButtonProps:y,content:M,confirmText:w="\u786e\u8ba4",type:b="light",icon:j,maxWidth:N=500,minWidth:k=320,width:S,isCloseButtonShown:E=!0,onCancel:B=c.Z,onConfirm:D=c.Z,bodyStyle:R}=e,O=(0,C.Z)(e,h),[z,P]=(0,i.useState)(e.isOpen);(0,i.useEffect)((()=>{e.isOpen!==z&&P(e.isOpen)}),[e.isOpen]);var[A,I]=(0,i.useState)(!1),H=[r,d,b?""+b:null].filter(Boolean).join(" ").trim();function T(e){return W.apply(this,arguments)}function W(){return(W=(0,l.Z)((function*(e){I(!0);try{B&&(yield B(e))}catch(e){}P(!1),I(!1)}))).apply(this,arguments)}function F(){return(F=(0,l.Z)((function*(e){I(!0);try{D&&(yield D(e))}catch(e){}P(!1),I(!1)}))).apply(this,arguments)}return(0,L.jsx)(a.Z,(0,n.Z)({usePortal:m,isOpen:z},O,{onClose:function(){P(!1)},className:H,children:(0,L.jsx)("div",{className:r+"-container",children:(0,L.jsxs)("div",{className:[r+"-inner",Z?r+"-shown-title":null,j?r+"-shown-icon":null].filter(Boolean).join(" ").trim(),style:{maxWidth:N,minWidth:k,width:S},children:[(Z||j)&&(0,L.jsxs)("div",{className:r+"-header",children:[j&&(0,L.jsx)(o.Z,{type:j}),Z&&(0,L.jsx)("h4",{children:Z}),E&&(0,L.jsx)(s.Z,{basic:!0,onClick:e=>T(e),icon:"close",type:"light"})]}),(0,L.jsx)("div",{className:r+"-body",style:R,children:u||M}),p&&(0,L.jsxs)("div",{className:r+"-footer",children:[(0,L.jsx)(s.Z,(0,n.Z)({autoFocus:f,type:b,loading:A,disabled:A},y,{onClick:e=>function(e){return F.apply(this,arguments)}(e),children:w})),x&&(0,L.jsx)(s.Z,(0,n.Z)({},g,{onClick:e=>T(e),children:x}))]})]})})}))}));p.show=function(e){var t=e||{},{title:r="\u63d0\u793a\u6846",children:l}=t,i=(0,C.Z)(t,u),a=document.createElement("div");a.id="uiw-modal-call-show-element",document.body.appendChild(a),d.render((0,L.jsx)(m,(0,n.Z)({},i,{title:r,isOpen:!0,onClosed:()=>{a.remove()},children:l})),a)};const m=p},4295:(e,t,r)=>{"use strict";r.d(t,{Z:()=>h});var n=r(5773),l=r(808),C=r(8573),i=r(6647),a=r(6658),s=r(3612),o=r(371),c=r(4665),d=r(4760),L=["prefixCls","format","onChange","className","popoverProps","pickerCaptionProps","allowClear","monthLabel"],u=["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"];function h(e){var{prefixCls:t="w-monthpicker",format:r="YYYY/MM",onChange:h=(()=>{}),className:p,popoverProps:m,pickerCaptionProps:f={},allowClear:v=!0,monthLabel:Z=u}=e,x=(0,l.Z)(e,L),[g,y]=(0,C.useState)(!1),[M,w]=(0,C.useState)(new Date),[b,j]=(0,C.useState)("month"),[N,k]=(0,C.useState)(e.value);function S(e,t,n){var l=new Date(new Date(M)[e](t));n||j("month");var C=(0,o.Z)(r,new Date(l));k(C),w(l),h&&h(l,C),"setMonth"===e&&y(!1)}return(0,C.useEffect)((()=>k(e.value)),[e.value]),x.value=(0,C.useMemo)((()=>"string"===typeof N?N:N?(0,o.Z)(r,N):""),[r,N]),v&&x.value&&(x.addonAfter=(0,d.jsx)(s.Z,{className:t+"-close-btn",icon:"close",onClick:()=>{k(""),h&&h()},size:x.size,basic:!0,type:"light"})),(0,d.jsx)(a.Z,(0,n.Z)({trigger:"focus",placement:"bottomLeft",autoAdjustOverflow:!0,isOpen:g},m,{onVisibleChange:e=>y(e),content:(0,d.jsxs)("div",{className:t+"-popover",children:[(0,d.jsx)(c.sl,(0,n.Z)({panelDate:M,monthLabel:Z},f,{onSelected:e=>{if(/^(month|year)$/.test(e))j(e);else{var t=new Date(M).getFullYear(),r=new Date(new Date(M).setFullYear("next"===e?t+1:t-1));w(r)}}})),"month"===b&&(0,d.jsx)(c.x$,{panelDate:M,monthLabel:Z,onSelected:(e,t)=>S("setMonth",e,t)}),"year"===b&&(0,d.jsx)(c.Pk,{panelDate:M,onSelected:(e,t)=>S("setFullYear",e,t)})]}),children:(0,d.jsx)(i.Z,(0,n.Z)({placeholder:"\u8bf7\u8f93\u5165\u65e5\u671f",readOnly:!0},x,{className:[t,p].filter(Boolean).join(" ").trim()}))}))}},8118:(e,t,r)=>{"use strict";r.d(t,{Z:()=>m});var n=r(5773),l=r(8573),C=r(6836);var i=r(808),a=r(9079),s=r(4760),o=["description","isOpen"],c={},d={};class L extends l.Component{constructor(){super(...arguments),this.state={notifys:{}}}create(e){var{placement:t,key:r}=e;c[t]||(c[t]={}),e.isOpen=!1,c[t][r]=e,e.duration&&(d[r]=setTimeout((()=>{this.closed(r,t)}),e.duration)),this.setState({notifys:c,placement:t},(()=>{c[t][r].isOpen=!0,this.setState({notifys:c})}))}closed(e,t){if(e&&t&&c[t][e]){c[t][e].isOpen=!1;var r=c[t][e];this.setState({notifys:c},(()=>{clearTimeout(d[e]),delete d[e],delete c[t][e],r&&r.willUnmount&&r.willUnmount(r,c)}))}}render(){var{prefixCls:e}=this.props,{placement:t}=this.state;return(0,s.jsx)(l.Fragment,{children:t&&Object.keys(this.state.notifys[t]).map((r=>{var l=this.state.notifys[t][r],{description:C,isOpen:c}=l,d=(0,i.Z)(l,o);return"open"===d.type&&delete d.type,(0,s.jsx)(a.Z,(0,n.Z)({className:e,useButton:!1,width:320},d,{usePortal:!1,hasBackdrop:!1,isOpen:c,content:C}),r)}))})}}L.defaultProps={prefixCls:"w-notify",placement:"topRight"};var u={},h={};function p(e,t){if(void 0===t&&(t="open"),e.placement||(e.placement="topRight"),e.type=t,!e.icon&&null!==e.icon)switch(e.type){case"success":e.icon="circle-check";break;case"warning":e.icon="warning";break;case"info":e.icon="information";break;case"error":e.icon="circle-close"}switch(e.type){case"info":e.type="primary";break;case"error":e.type="danger"}if(e.placement&&!u[e.placement]){var r=document.createElement("div");document.body.appendChild(r),r.className=["w-notify-warpper",e.placement].filter(Boolean).join(" ").trim(),h[e.placement]=r,u[e.placement]=C.render((0,s.jsx)(L,{}),r)}null!==e.duration&&(e.duration=1e3*(e.duration||4.5)),u[e.placement]&&u[e.placement].create((0,n.Z)({},e,{duration:e.duration,key:parseInt(String(1e15*Math.random()),10).toString(36),willUnmount(t,r){t&&(t.onClose&&t.onClose(),0===Object.keys(r[e.placement]).length&&u[e.placement]&&(delete u[e.placement],h[e.placement]&&document.body.removeChild(h[e.placement])))}}))}["open","success","warning","info","error"].forEach((e=>{p[e]=function(t){return void 0===t&&(t={}),p(t,e)}}));const m=p},9769:(e,t,r)=>{"use strict";r.d(t,{Z:()=>w});var n=r(5773),l=r(808),C=r(8573),i=r(7408),a=r(7572);function s(e,t){if(t)do{if(t===e)return!0}while(t=t.parentNode);return!1}function o(e){return"function"===typeof HTMLElement?e instanceof HTMLElement:e&&"object"===typeof e&&1===e.nodeType&&"string"===typeof e.nodeName}const c=!("undefined"===typeof window||!window.document||!window.document.createElement)?function(e,t){return e&&e.contains&&"function"===typeof e.contains&&o(t)?e.contains(t):e&&e.compareDocumentPosition&&o(t)?e===t||!!e.compareDocumentPosition(t):s(e,t)}:s;var d=r(7277);function L(e,t){var r="x"===t?"Left":"Top",n="Left"===r?"Right":"Bottom";return parseFloat(e["border"+r+"Width"])+parseFloat(e["border"+n+"Width"])}const u="undefined"!==typeof window&&"undefined"!==typeof document;var h=u&&!(!window.MSInputMethodContext||!document.documentMode),p=u&&/MSIE 10/.test(navigator.userAgent);function m(e){return 11===e?h:10===e?p:h||p}function f(e,t,r,n){return Math.max(t["offset"+e],t["scroll"+e],r["client"+e],r["offset"+e],r["scroll"+e],m(10)?parseInt(r["offset"+e],10)+parseInt(n["margin"+("Height"===e?"Top":"Left")],10)+parseInt(n["margin"+("Height"===e?"Bottom":"Right")],10):0)}function v(e){var t={};try{if(m(10)){t=e.getBoundingClientRect();var r=(0,d.O)(e,!0),l=(0,d.O)(e);t.top+=r,t.left+=l,t.bottom+=r,t.right+=l}else t=e.getBoundingClientRect()}catch(p){}var C,i={left:t.left,top:t.top,width:t.right-t.left,height:t.bottom-t.top},a="HTML"===e.nodeName?function(e){var t=e.body,r=e.documentElement,n=getComputedStyle(r);return{height:f("Height",t,r,n),width:f("Width",t,r,n)}}(e.ownerDocument):{},s=a.width||e.clientWidth||i.right-i.left,o=a.height||e.clientHeight||i.bottom-i.top,c=e.offsetWidth-s,u=e.offsetHeight-o;if(i.offsetLeft=e.offsetLeft||e.scrollLeft||0,i.offsetTop=e.offsetTop||e.offsetTop||0,c||u){var h=function(e,t){if(1!==e.nodeType)return[];var r=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?r[t]:r}(e);c-=L(h,"x"),u-=L(h,"y"),i.width-=c,i.height-=u}return C=i,(0,n.Z)({},C,{right:C.left+C.width,bottom:C.top+C.height})}function Z(e){var t=e.getBoundingClientRect();return{width:e.offsetWidth||e.scrollWidth||t.width||0,height:e.offsetHeight||e.scrollHeight||t.height||0}}function x(e){var{trigger:t,popup:r,placement:l,usePortal:C,autoAdjustOverflow:i}=e||{},a={left:0,top:0,placement:l};if(!t||!r||!document)return a;var s=Math.max(document.documentElement.clientHeight,window.innerHeight||0),o=Math.max(document.documentElement.clientWidth,window.innerWidth||0);a.placement=l;var c=(0,d.O)(t.ownerDocument.documentElement,!0),L=(0,d.O)(t.ownerDocument.documentElement),u=(0,n.Z)({},v(t),Z(t)),h=(0,n.Z)({},v(r),Z(r)),p=s-u.bottom,m=o-u.left-u.width;switch(a.top=u.top+c,a.left=u.left,C||(a.top=u.offsetTop,a.left=u.offsetLeft),l&&/^(top)/.test(l)&&(a.top-=h.height),l&&/^(right)/.test(l)&&(a.left+=u.width),l&&/^(bottom)/.test(l)&&(a.top+=u.height),l&&/^(left)/.test(l)&&(a.left-=h.width),a.placement){case"bottomLeft":case"topLeft":case"rightTop":case"leftTop":default:break;case"bottom":case"top":a.left=a.left-(h.width-u.width)/2;break;case"bottomRight":case"topRight":a.left=a.left+L+u.width-h.width;break;case"right":case"left":a.top=a.top-(h.height-u.height)/2;break;case"rightBottom":case"leftBottom":a.top=a.top-h.height+u.height}return i&&(l&&/^(top)/.test(l)&&u.toph.height&&(a.placement=l.replace(/^top/,"bottom"),a.top=a.top+h.height+u.height),l&&/^(bottom)/.test(l)&&ph.height&&(a.placement=l.replace(/^bottom/,"top"),a.top=a.top-h.height-u.height),l&&/^(right)/.test(l)&&me&&"object"===typeof e?e:{show:e,hide:e};const w=C.forwardRef(((e,t)=>{var r,{className:s,prefixCls:o="w-overlay-trigger",usePortal:d=!0,isOutside:L=!1,isClickOutside:u=!0,disabled:h=!1,isOpen:p=!1,trigger:m="hover",placement:f="top",autoAdjustOverflow:v,transitionName:Z,children:w,overlay:b,onVisibleChange:j=i.Z,onEnter:N=i.Z}=e,k=(0,l.Z)(e,y),S=(0,C.useRef)(999),E=(0,C.useRef)(),B=(0,C.useRef)(),D=(0,C.useRef)([]),R=(0,C.useRef)(null),[O,z]=(0,C.useState)(!!e.isOpen),[P,A]=(0,C.useState)({placement:f,top:0,bottom:0,left:0,right:0,zIndex:S.current});(0,C.useImperativeHandle)(t,(()=>({hide:()=>$(),show:()=>U(),overlayDom:B})));var I=C.Children.only(w),H=(0,n.Z)({},k,{placement:f,isOpen:O,dialogProps:{}}),T={};(0,C.useEffect)((()=>(u&&O&&(document&&document.addEventListener("mousedown",F),window.addEventListener("resize",W)),()=>{document&&u&&document.removeEventListener("mousedown",F),window.removeEventListener("resize",W)})),[O]),(0,C.useEffect)((()=>{e.isOpen!==O&&z(!!e.isOpen)}),[e.isOpen]),(0,C.useEffect)((()=>{var e=x({placement:P.placement||f,trigger:E.current,popup:B.current,usePortal:d,autoAdjustOverflow:v});A((0,n.Z)({},e,{zIndex:S.current})),j(O)}),[O]);var W=()=>{O&&(S.current-=1,z(!1),j&&j(!1))},F=e=>{var t=B.current,r=E.current;t&&r&&e.target&&!c(t,e.target)&&!c(r,e.target)&&(S.current-=1,z(!1),j&&j(!1))};function Y(){if(D.current.length>0){for(var e of D.current)window.clearTimeout(e);D.current=[]}}function V(){var t;Y(),R.current="show";var r=M(e.delay);if(r.show||null!=(t=e.children)&&t.props.disabled){var n=window.setTimeout((()=>{"show"===R.current&&U()}),r.show);clearTimeout(n),D.current.push(n)}else U()}function K(t){if(Y(),t||!e.isOutside){R.current="hide";var r=M(e.delay);if(r.hide){var n=window.setTimeout((()=>{"hide"===R.current&&$()}),r.hide);D.current.push(n)}else $()}}function q(e,t,r){var n=t.currentTarget,l=t.relatedTarget||t.nativeEvent[r],C=!0;(B.current&&c(B.current,l)||E.current&&c(E.current,l))&&(C=!1),l&&l===n||c(n,l)||e(C,t)}function $(){O&&(S.current<=999?S.current=999:S.current-=1,z(!1))}function U(){var e;if(!O){var t=null==(e=E.current)?void 0:e.style.zIndex;t?S.current=Number(t)+1:S.current+=1,z(!0)}}return"click"!==m||h||(T.onClick=e=>{var{onClick:t}=I&&C.isValidElement(I)?I.props:{};O?$():U(),t&&t(e,!O)}),"focus"!==m||h||(T.onFocus=()=>V()),"hover"!==m||h||(T.onMouseOver=T.onMouseEnter=e=>{q(V,e,"fromElement")},T.onMouseOut=T.onMouseLeave=e=>{q(K,e,"toElement")},H.dialogProps&&(H.dialogProps.onMouseLeave=e=>{q(K,e,"toElement")})),H.style=(0,n.Z)({},H.style,P),(0,g.jsxs)(C.Fragment,{children:[(0,C.cloneElement)(I,Object.assign({},I.props,(0,n.Z)({},T,{ref:E,style:(0,n.Z)({},null==(r=I.props)?void 0:r.style,{zIndex:S.current}),className:[I.props.className,h?o+"-disabled":null].filter(Boolean).join(" ").trim()}))),(0,g.jsx)(a.Z,(0,n.Z)({},H,{style:(0,n.Z)({},H.style,P),onEnter:function(e,t){N&&N(e,t);var r=x({placement:P.placement||f,trigger:E.current,popup:B.current,usePortal:d,autoAdjustOverflow:v});A((0,n.Z)({},r,{zIndex:S.current}))},className:[o,s,P.placement].filter(Boolean).join(" ").trim(),usePortal:d,transitionName:Z,isOpen:O,hasBackdrop:!1,children:(0,C.cloneElement)(b,Object.assign((0,n.Z)({},b.props,{ref:B,className:[b.props&&b.props.className,f].filter(Boolean).join(" ").trim()})))}))]})}))},7572:(e,t,r)=>{"use strict";r.d(t,{Z:()=>d});var n=r(5773),l=r(808),C=r(8573),i=r(4441),a=r(7824),s=r(7408),o=r(4760),c=["className","style","isOpen","prefixCls","usePortal","maskClosable","backdropProps","portalProps","hasBackdrop","unmountOnExit","timeout","transitionName","onOpening","onOpened","onClosing","onClosed","onClose","onEnter","onExiting","onEntering","onEntered","onExit","children","dialogProps"];function d(e){var{className:t,style:r,isOpen:d=!1,prefixCls:L="w-overlay",usePortal:u=!0,maskClosable:h=!0,backdropProps:p={},portalProps:m={},hasBackdrop:f=!0,unmountOnExit:v=!0,timeout:Z=300,transitionName:x="w-overlay",onOpening:g=s.Z,onOpened:y=s.Z,onClosing:M=s.Z,onClosed:w=s.Z,onClose:b=s.Z,onEnter:j=s.Z,onExiting:N=s.Z,onEntering:k=s.Z,onEntered:S=s.Z,onExit:E=s.Z,children:B,dialogProps:D={}}=e,R=(0,l.Z)(e,c),[O,z]=(0,C.useState)(),[P,A]=(0,C.useState)(!1),I=(0,C.useRef)(null),H=(0,C.useRef)(null);(0,C.useEffect)((()=>{O!==e.isOpen&&e.isOpen&&A(!0),O===e.isOpen||e.isOpen||(F(),z(!1))}),[e.isOpen]),(0,C.useEffect)((()=>{P&&(f&&u&&document.body.classList.add(L+"-open"),z(!0))}),[P]);var T="object"===typeof B?(0,C.cloneElement)(B,(0,n.Z)({},D,{style:(0,n.Z)({},B.props.style,D.style),className:[B.props.className,L+"-content"].filter(Boolean).join(" ").trim(),tabIndex:0})):(0,o.jsx)("span",(0,n.Z)({},D,{className:L+"-content",children:B}));function W(e){e.target!==I.current&&u||(h&&f&&(F(),z(!1),b&&b(e)),p&&p.onMouseDown&&p.onMouseDown(e))}function F(){f&&u&&document.body.classList.remove(L+"-open")}var Y=(0,o.jsx)(i.Z,(0,n.Z)({classNames:x,unmountOnExit:v,timeout:Z,in:O,onEnter:e=>{j(H.current,e)},onEntering:e=>{g(H.current,e),k(H.current)},onEntered:e=>{y(H.current,e),S(H.current)},onExiting:()=>{M(H.current),N(H.current)},onExited:()=>{var e;e=H.current,A(!1),w&&w(e),E(H.current)},nodeRef:H},R,{children:e=>(0,o.jsxs)("div",{style:r,ref:H,className:[L,t,u?null:L+"-inline",O?L+"-enter-done":null].filter(Boolean).join(" ").trim(),children:[f&&(0,C.cloneElement)((0,o.jsx)("div",{}),(0,n.Z)({},p,{onMouseDown:W,className:[L+"-backdrop",p.className].filter(Boolean).join(" ").trim(),tabIndex:h?0:null})),u?(0,o.jsx)("div",{ref:I,onMouseDown:W,className:L+"-container",children:(0,C.cloneElement)(T,{"data-status":e})}):(0,C.cloneElement)(T,{"data-status":e})]})}));return P&&u?(0,o.jsx)(a.Z,(0,n.Z)({},(0,n.Z)({},m),{children:Y})):Y}},8024:(e,t,r)=>{"use strict";r.d(t,{Z:()=>o});var n=r(5773),l=r(808),C=r(8573),i=r(3781),a=r(4760),s=["className","style","prefixCls","alignment","size","total","pageSize","pageSizeOptions","current","onChange","onShowSizeChange","divider"];function o(e){var{className:t,style:r,prefixCls:o="w-pagination",alignment:c="left",size:d="default",total:L=0,pageSize:u=10,pageSizeOptions:h=[],current:p=1,onChange:m=(()=>null),onShowSizeChange:f,divider:v}=e,Z=(0,l.Z)(e,s),[x,g]=(0,C.useState)(p);(0,C.useEffect)((()=>g(p)),[p]);var y=[o,t,v?"divider":null,d].filter(Boolean).join(" ").trim(),M=(0,C.useMemo)((()=>{var e=[{type:"prev",disabled:1===x}],t=Math.ceil(L/u),r=t<=5?t:5,n=0,l=0;for(x>3&&t>5&&e.push({label:1}),x>4&&t>6&&e.push({type:"jumpPrev",label:"\u2022\u2022\u2022",goto:5});n3&&t>5&&(l=x-3);var C=(n+=1)+l;t-x===0&&t>5&&(C-=2),t-x===1&&t>5&&(C-=1),C<=t&&e.push({label:C,active:x===C})}return x+36&&e.push({type:"jumpNext",label:"\u2022\u2022\u2022",goto:5}),x+25&&e.push({label:t}),e.push({type:"next",disabled:x===t}),e}),[x,L,u]);return(0,a.jsxs)("ul",(0,n.Z)({className:y,style:(0,n.Z)({},r,{textAlign:c})},Z,{children:[M.map(((e,t)=>{var r=(0,a.jsx)("a",{children:e.label});return/^(prev|next)$/.test(e.type)&&(r=(0,a.jsx)("a",{className:"arrow "+e.type})),(0,a.jsx)("li",{className:[e.active?"active":null,e.disabled?"disabled":null].filter(Boolean).join(" ").trim(),onClick:()=>function(e){if(!e.active&&!e.disabled){var t=Math.ceil(L/u),r={};e.label&&(r.current=e.label),"prev"===e.type&&(r.current=x-1>0?x-1:1),"next"===e.type&&(r.current=x+1<=t?x+1:t),/^(jumpPrev|jumpNext)/.test(e.type)&&e.goto&&(r.current="jumpPrev"===e.type?x-e.goto:x+e.goto,r.current>t&&(r.current=t),r.current<1&&(r.current=1)),g(r.current),m&&m(r.current,L,u)}}(e),children:r},t)})),h.length>0&&(0,a.jsx)("li",{className:o+"-options",children:(0,a.jsx)(i.Z,{size:d,defaultValue:u,onChange:e=>{var t=Number(e.target.value),r=Math.ceil(L/t);f&&f(x>r?r:x,t)},children:h.map(((e,t)=>(0,a.jsxs)(i.Z.Option,{value:e,children:[e,"\u6761/\u9875"]},t)))})})]}))}},5186:(e,t,r)=>{"use strict";r.d(t,{Z:()=>d});var n=r(5773),l=r(808),C=r(8573),i=r(7408),a=r(6647),s=r(4760),o=["prefixCls","placeholder","value","autoFocus","className","size","style","disabled","onChange","onBlur","onFocus"];function c(e,t){void 0===e&&(e={});var{prefixCls:r="w-pin-code",placeholder:c="\u25cb",value:d=[],autoFocus:L,className:u,size:h="default",style:p,disabled:m,onChange:f=i.Z,onBlur:v=i.Z,onFocus:Z=i.Z}=e,x=(0,l.Z)(e,o),[g]=(0,C.useState)({}),[y,M]=(0,C.useState)(c),[w,b]=(0,C.useState)(d),j=[r,u,h?r+"-"+h:null,m?"disabled":null].filter(Boolean).join(" ").trim();return(0,C.useEffect)((()=>{w!==d&&f(w)}),[w]),(0,s.jsx)("div",(0,n.Z)({className:j,style:p},x,{ref:t,children:[...w].map(((e,t)=>{var l={min:0,type:"text",inputMode:"numeric",autoComplete:"off",value:e,onChange:e=>function(e,t){var r=e.target.value;r=r.charAt(r.length-1);var n=[...w];Number(r)>-1&&r?(e.currentTarget.value=r,n[t]=r,g[t+1]&&g[t+1].focus(),b(n)):r||(n[t]="",b(n))}(e,t),onKeyDown:e=>function(e,t){var r=e.currentTarget.value,n=e.key.toLocaleLowerCase();!r&&g[t-1]&&/(backspace|delete)/.test(n)&&g[t-1].focus()}(e,t),onBlur:e=>{return t=e,M(c),void v(t);var t},onFocus:e=>{return t=e,M(""),void Z(t);var t},className:r+"-inner",placeholder:y,disabled:m,size:h};return L&&0===t&&(l.autoFocus=!0),(0,C.createElement)(a.Z,(0,n.Z)({ref:e=>{e&&(g[t]=e)}},l,{key:t}))}))}))}const d=C.forwardRef(c)},6658:(e,t,r)=>{"use strict";r.d(t,{Z:()=>d});var n=r(5773),l=r(808),C=r(8573),i=r(9769),a=r(3612),s=r(6252),o=r(4760);var c=["prefixCls","className","content","visibleArrow"];class d extends C.Component{constructor(){super(...arguments),this.renderArrow=()=>{var{prefixCls:e}=this.props;return(0,o.jsx)("div",{className:e+"-arrow",children:(0,o.jsxs)("svg",{viewBox:"0 0 30 30",children:[(0,o.jsx)("path",{fillOpacity:"0.2",d:"M8.11 6.302c1.015-.936 1.887-2.922 1.887-4.297v26c0-1.378-.868-3.357-1.888-4.297L.925 17.09c-1.237-1.14-1.233-3.034 0-4.17L8.11 6.302z"}),(0,o.jsx)("path",{fill:"#fff",d:"M8.787 7.036c1.22-1.125 2.21-3.376 2.21-5.03V0v30-2.005c0-1.654-.983-3.9-2.21-5.03l-7.183-6.616c-.81-.746-.802-1.96 0-2.7l7.183-6.614z"})]})})}}render(){var e=this.props,{prefixCls:t,className:r,visibleArrow:C}=e,a=(0,l.Z)(e,c),s=[t,r,C?null:"no-arrow"].filter(Boolean).join(" ").trim();return(0,o.jsx)(i.Z,(0,n.Z)({},a,{overlay:(0,o.jsxs)("div",{className:s,children:[C&&this.renderArrow(),(0,o.jsx)("div",{className:t+"-inner",children:this.props.content})]}),children:"object"===typeof this.props.children&&"Icon"!==this.props.children.type.name?this.props.children:(0,o.jsx)("span",{style:{display:"block",writingMode:"vertical-rl"},children:this.props.children})}))}}d.Confirm=function(e){var{trigger:t="click",placement:r="top",confirmText:n="Yes",title:l,cancelText:i="No",visibleArrow:c,children:L,onConfirm:u}=e,[h,p]=(0,C.useState)(!1);return(0,o.jsx)(d,{isOpen:h,visibleArrow:c,content:(0,o.jsxs)("div",{style:{padding:"12px 16px",position:"relative"},children:[(0,o.jsx)(s.Z,{type:"information",style:{position:"absolute",top:13.5,fontSize:14,transform:"rotate(180deg)",color:"#faad14"}}),(0,o.jsxs)("div",{style:{paddingLeft:20},children:[(0,o.jsx)("div",{style:{fontSize:14},children:l}),(0,o.jsxs)("div",{style:{position:"relative",bottom:0,marginTop:12,display:"flex",justifyContent:"end"},children:[(0,o.jsx)(a.Z,{size:"small",onClick:()=>p(!1),children:i}),(0,o.jsx)(a.Z,{size:"small",type:"primary",style:{marginLeft:10},onClick:()=>{null==u||u(),p(!1)},children:n})]})]})]}),trigger:t,placement:r,children:(0,o.jsx)("div",{onClick:()=>p(!0),children:L})})},d.defaultProps={prefixCls:"w-popover",placement:"top",usePortal:!0,isOpen:!1,visibleArrow:!0}},7824:(e,t,r)=>{"use strict";r.d(t,{N:()=>C,Z:()=>i});var n=r(8573),l=r(6836),C=!("undefined"===typeof window||!window.document||!window.document.createElement);function i(e){var{container:t}=e,r=(0,n.useRef)(),i=(0,n.useRef)(t);return(0,n.useEffect)((()=>()=>{r.current&&i.current&&(i.current.removeChild(r.current),r.current=void 0)}),[]),C?(i.current||(i.current=document.body),r.current||(r.current=document.createElement("div"),i.current.appendChild(r.current)),l.createPortal(e.children,r.current)):null}},8125:(e,t,r)=>{"use strict";r.d(t,{Cd:()=>c,x1:()=>L,ZP:()=>u});var n=r(5773),l=r(808),C=r(8573),i=r(6252),a=r(4760);function s(e){return(0,a.jsx)(i.Z,{type:e.type})}var o=["prefixCls","style","type","className","showText","percent","format","strokeWidth","width","status"];class c extends C.Component{relativeStrokeWidth(e,t){var{strokeWidth:r,percent:n}=this.props;if(t&&t.parentNode){var{width:l}=t.parentNode.getBoundingClientRect(),C=(r/l*100).toFixed(1),i=parseInt((50-parseFloat(C)/2).toString(),10);if(t.setAttribute("stroke-width",C),t.setAttribute("d","M 50 50 m 0 -"+i+" a "+i+" "+i+" 0 1 1 0 "+2*i+" a "+i+" "+i+" 0 1 1 0 -"+2*i),"track"===e){var a=2*Math.PI*i;t.setAttribute("style","stroke-dasharray:"+a+"px,"+a+"px;stroke-dashoffset:"+(1-n/100)*a+"px;transition: stroke-dashoffset 0.6s ease 0s, stroke 0.6s ease;")}}}render(){var e,t=this.props,{prefixCls:r,style:C,className:i,showText:c,percent:d,format:L,width:u,status:h}=t,p=(0,l.Z)(t,o),m=[r,i,r+"-circle",c?r+"-show-text":null,h?r+"-status-"+h:null,parseInt(d.toString(),10)>=100?r+"-status-success":null].filter(Boolean).join(" ").trim(),f=parseInt(d.toString(),10)>=100&&!("status"in this.props)?"success":h;if(c){var v=d+"%";"exception"===f?v=(0,a.jsx)(s,{type:"close"}):"success"===f&&(v=(0,a.jsx)(s,{type:"check"})),e=(0,a.jsx)("span",{className:r+"-text",style:{fontSize:.16*u+6},children:L?L(d):v})}return(0,a.jsxs)("div",(0,n.Z)({className:m,style:C},p,{children:[(0,a.jsxs)("svg",{viewBox:"0 0 100 100",width:""+u,children:[(0,a.jsx)("path",{ref:this.relativeStrokeWidth.bind(this,"bg"),className:r+"-trail",fill:"none"}),(0,a.jsx)("path",{ref:this.relativeStrokeWidth.bind(this,"track"),strokeLinecap:"round",className:r+"-stroke",fill:"none"})]}),e]}))}}c.defaultProps={prefixCls:"w-progress",showText:!0,percent:0,width:126,strokeWidth:6};var d=["prefixCls","style","className","showText","percent","format","strokeWidth","width","status"];class L extends C.Component{render(){var e,t=this.props,{prefixCls:r,style:C,className:i,showText:o,percent:c,format:L,strokeWidth:u,status:h}=t,p=(0,l.Z)(t,d),m=[r,i,r+"-line",o?r+"-show-text":null,h?r+"-status-"+h:null,parseInt(c.toString(),10)>=100?r+"-status-success":null].filter(Boolean).join(" ").trim();if(o){var f=parseInt(c.toString(),10)>=100&&!("status"in this.props)?"success":h,v=c+"%";"exception"===f?v=(0,a.jsx)(s,{type:"circle-close"}):"success"===f&&(v=(0,a.jsx)(s,{type:"circle-check"})),e=(0,a.jsx)("span",{className:r+"-text",children:L?L(c):v})}var Z={width:c+"%",height:u};return(0,a.jsxs)("div",(0,n.Z)({className:m,style:C},p,{children:[(0,a.jsx)("div",{className:r+"-bar",children:(0,a.jsx)("div",{className:r+"-inner",children:(0,a.jsx)("div",{className:r+"-bg",style:Z})})}),e]}))}}L.defaultProps={prefixCls:"w-progress",showText:!0,percent:0,width:126,strokeWidth:6};const u={Line:L,Circle:c}},2266:(e,t,r)=>{"use strict";r.d(t,{Y8:()=>o,Rw:()=>s,EU:()=>m,Ee:()=>L});var n=r(5773),l=r(8573),C=r(808),i=r(4760),a=["prefixCls","type","disabled","value","className","style","children","size","checked","onChange"],s=l.forwardRef(((e,t)=>{var{prefixCls:r="w-radio",type:s="radio",disabled:o=!1,value:c="",className:d,style:L,children:u,size:h,checked:p=!1,onChange:m}=e,f=(0,C.Z)(e,a),[v,Z]=(0,l.useState)(p),[x,g]=(0,l.useState)();p!==x&&g(p),(0,l.useMemo)((()=>{p!==x&&Z(p)}),[x]);var y=[r,d,o?"disabled":null,h?r+"-"+h:null].filter(Boolean).join(" ").trim();(0,l.useMemo)((()=>{v!==e.checked&&Z(!!e.checked)}),[e.checked]);var M=u||c;return(0,i.jsxs)("label",{className:y,style:L,children:[(0,i.jsx)("input",(0,n.Z)({},(0,n.Z)({},f,{type:s,disabled:o,value:c}),{checked:v,onChange:function(e){e.persist(),Z(e.target.checked),m&&m(e)},ref:t})),M&&(0,i.jsx)("div",{className:r+"-text",children:M})]})}));const o=l.forwardRef(((e,t)=>(0,i.jsx)(s,(0,n.Z)({ref:t},e))));var c=r(7002),d=["prefixCls","className","name","value","onChange","children"];const L=l.forwardRef(((e,t)=>{var{prefixCls:r="w-radio-group",className:a,name:s,value:o,onChange:L,children:u}=e,h=(0,C.Z)(e,d);return(0,i.jsx)("div",(0,n.Z)({},h,{ref:t,className:[r,a].filter(Boolean).join(" ").trim(),children:(0,i.jsx)(c.Z,{children:l.Children.toArray(u).map((e=>{if(e)return l.isValidElement(e)?l.cloneElement(e,(0,n.Z)({},e.props||{},{checked:e.props.value===o,name:s,onChange:L})):e}))})}))}));var u=r(3612),h=["prefixCls","type","disabled","value","className","style","children","size","checked","onChange"],p=l.forwardRef(((e,t)=>{var{prefixCls:r="w-radio",type:a="button",disabled:s=!1,value:o="",className:c,style:d,children:L,size:p="small",checked:m=!1,onChange:f}=e,v=(0,C.Z)(e,h),[Z,x]=(0,l.useState)(m),[g,y]=(0,l.useState)();m!==g&&y(m),(0,l.useMemo)((()=>{m!==g&&x(m)}),[g]);var M=[r,c,s?"disabled":null,p?r+"-"+p:null].filter(Boolean).join(" ").trim();(0,l.useMemo)((()=>{Z!==e.checked&&x(!!e.checked)}),[e.checked]),console.log("props.checked",e.checked);var w=L||o;return(0,i.jsx)(u.Z,(0,n.Z)({},(0,n.Z)({},v,{className:M,style:d,disabled:s,value:o}),{type:Z?"primary":"light",ref:t,onClick:function(e){e.persist(),Z||(x(!Z),f&&f(o))},children:w}))}));const m=p},2717:(e,t,r)=>{"use strict";r.d(t,{Z:()=>o});var n=r(5773),l=r(808),C=r(8573),i=r(7408),a=r(4760),s=["prefixCls","count","value","className","allowHalf","character","readOnly","disabled","onChange","onHoverChange","color"];function o(e){void 0===e&&(e={});var{prefixCls:t="w-rate",count:r=5,value:o=0,className:c,allowHalf:d,character:L="\u2605",readOnly:u=!1,disabled:h,onChange:p=i.Z,onHoverChange:m=i.Z,color:f}=e,v=(0,l.Z)(e,s),[Z,x]=(0,C.useState)(o),[g,y]=(0,C.useState)(-1),M=[t,c,h?"disabled":null].filter(Boolean).join(" ").trim(),[w,b]=(0,C.useState)();function j(e,t){e.persist();var r=t,n=e.clientX-e.currentTarget.getBoundingClientRect().left<=e.currentTarget.getBoundingClientRect().width/2;return d?(e.persist(),r=n?t+.5:t+1):r=t+1,r}return o!==w&&b(o),(0,C.useMemo)((()=>{Z!==w&&x(o)}),[w]),(0,a.jsx)("div",(0,n.Z)({},v,{className:M,onMouseLeave:()=>{y(-1)},children:[...Array(r)].map(((e,r)=>{var l=Z<=r+.5&&Math.ceil(Z)-1===r&&-1===g||g===r+.5,C=[t+"-hight",r+1<=Z&&-1===g?"star-on":null,r+1<=g?"hover-on":null,l?"half-on":null].filter(Boolean).join(" ").trim(),i={};return u||(i.onClick=e=>function(e,t){if(!u){var r=j(e,t);x(r),p(r)}}(e,r),i.onMouseMove=e=>function(e,t){var r=j(e,t);g!==r&&(y(r),m(r))}(e,r)),(0,a.jsxs)("span",(0,n.Z)({},i,{children:[(0,a.jsx)("span",{style:{color:f},className:C,children:L}),(0,a.jsx)("span",{className:t+"-bg",children:L})]}),r)}))}))}},5271:(e,t,r)=>{"use strict";r.d(t,{Z:()=>h});var n=r(5773),l=r(808),C=r(8573),i=r(4463),a=r(6252),s=r(4768),o=r(6647),c=r(8321),d=r(4760),L=["allowClear","disabled","valueAmount","size","option","maxTagCount","loading","labelInValue","prefixCls","className","mode","style","isOpen","value","defaultValue","showSearch","tagProps","placeholder","onSearch","onChange","onSelect"],u={large:25,default:20,small:17};function h(e){var t,{allowClear:r=!1,disabled:h=!1,valueAmount:p,size:m="default",option:f=[],maxTagCount:v,loading:Z=!1,labelInValue:x=!1,prefixCls:g="w-search-select",className:y,mode:M="single",style:w,value:b,defaultValue:j,showSearch:N=!1,tagProps:k={},placeholder:S,onSearch:E,onChange:B,onSelect:D}=e,R=(0,l.Z)(e,L),O=[g,y].filter(Boolean).join(" ").trim(),z=(0,C.useMemo)((()=>"multiple"===M),[M]),[P,A]=(0,C.useState)(!1),[I,H]=(0,C.useState)([]),[T,W]=(0,C.useState)(""),[F,Y]=(0,C.useState)(""),V=(0,C.useRef)(null),K=(0,C.useMemo)((()=>v&&I.length>v?I.length-v:0),[I.length]),q=(0,C.useRef)(null),$=(0,C.useRef)(null),[U,J]=C.useState(180),X=e=>void 0!==e&&""!==e,_=(0,C.useRef)();_.current=(0,C.useMemo)((()=>I),[I]),(0,C.useEffect)((()=>{!X(b)&&X(j)&&Q(j)}),[]),(0,C.useEffect)((()=>{h&&A(!1)}),[h]),(0,C.useEffect)((()=>{X(b)?Q(b):(H([]),W(""))}),[JSON.stringify(b)]);var G=(e,t)=>e.find((e=>e.value===t));function Q(e){var t=[];if(x)Array.isArray(e)?t=e:t.push(e);else if(Array.isArray(e))t=e.map((e=>G(f,e))).filter((e=>!!e));else{var r=G(f,e);r&&(W(r.label),t.push(r))}!z&&t.length>0&&W(t[0].label||""),H(t.slice(0,p))}var ee=e=>{W(e),N&&(null==E||E(e))};function te(e,t){var r=-1!==e?function(e){var t=_.current;return t.splice(e,1),[...t]}(e):[...I.slice(0,p?p-1:void 0),t],n=r.map((e=>e.value));re(n,r)}function re(e,t){W(""),D&&D(e),ie(e,t),void 0===b&&H(t)}function ne(e){var t;t="enter"===e&&r&&(I.length>0||T)?"close":"",Y(t)}function le(e){A(!0),Y(N&&e?"loading":""),ee(e)}function Ce(e){var t;e.stopPropagation(),null==(t=V.current)||t.focus(),H([]),le(""),A(!1),ie("",[])}function ie(e,t){B&&B(x?t:e)}return C.useEffect((()=>{var e,t;null!=(e=$.current)&&e.clientWidth&&J(null==(t=$.current)?void 0:t.clientWidth)}),[$.current]),(0,d.jsx)(i.Z,(0,n.Z)({className:O,trigger:"click",style:{marginTop:5},overlayStyl:{width:100},disabled:h},R,{onVisibleChange:function(e){var t=_.current;A(e),e||ee(""),!z&&t.length>0&&W(t[0].label)},isOpen:P,menu:(0,d.jsx)(s.ZP,{bordered:!0,style:{minHeight:25,maxHeight:280,minWidth:null!=(t=null==w?void 0:w.width)?t:200,overflowY:"scroll",width:null==w?void 0:w.width},children:f&&0!==f.length?f.map((e=>{var t=I.findIndex((t=>t.value===e.value));return(0,d.jsx)(s.ZP.Item,{active:-1!==t,text:e.label,onClick:()=>z?te(t,e):function(e){A(!1);var t=[e];W(e.label),re(e.value,t)}(e)},t)})):(0,d.jsx)("div",{style:{color:"#c7c7c7",fontSize:12},children:Z?"\u6b63\u5728\u52a0\u8f7d\u6570\u636e...":"\u6ca1\u6709\u6570\u636e"})}),children:(0,d.jsx)("div",{ref:q,onMouseOver:()=>ne("enter"),onMouseLeave:()=>ne("leave"),onClick:()=>{var e;return null==(e=V.current)?void 0:e.focus()},style:(0,n.Z)({width:"100%",maxWidth:"none"},w),children:z?(0,d.jsxs)("div",{className:[g+"-inner",g+"-search-"+N,g+"-"+m].filter(Boolean).join(" ").trim(),children:[(0,d.jsxs)("div",{ref:$,className:[g+"-tag-content",h&&g+"-tag-content-disabled"].filter(Boolean).join(" ").trim(),children:[z&&I.slice(0,v).map(((e,t)=>(0,d.jsx)(c.Z,(0,n.Z)({style:(0,n.Z)({height:u[m],margin:1,display:"flex",alignItems:"center"},k.style),color:"#393E48"},k,{closable:!0,disabled:h,onClose:r=>{r.stopPropagation(),te(t,e)},children:(0,d.jsx)("span",{style:{maxWidth:U-63,textOverflow:"ellipsis",overflow:"auto"},children:e.label})}),t))),!!K&&(0,d.jsxs)(c.Z,{style:{height:20,margin:1,display:"flex",alignItems:"center"},disabled:!0,children:["+",K," \u2026"," "]}),(0,d.jsx)(o.Z,{style:{flex:1,width:N?0:50},className:g+"-input-contents",readOnly:!N,size:m,ref:V,disabled:h,onKeyDown:function(e){z&&I.length>0&&!T&&8===e.keyCode&&te(I.length-1)},onChange:e=>le(e.target.value),value:T,placeholder:I.length?"":S})]}),!h&&("close"===F||"loading"===F&&Z)&&(0,d.jsx)(a.Z,{className:g+"-multiple-colse",type:F,spin:Z&&"loading"===F,onClick:Ce})]}):(0,d.jsx)(o.Z,{className:g+"-search-"+N,readOnly:!N,size:m,ref:V,disabled:h,onChange:e=>le(e.target.value),value:T,placeholder:S,addonAfter:!h&&("close"===F||"loading"===F&&Z)&&(0,d.jsx)(a.Z,{type:F,className:g+"-singe-colse",color:"#393e48",spin:Z&&"loading"===F,onClick:Ce})})})}))}},6855:(e,t,r)=>{"use strict";r.d(t,{Z:()=>x});var n=r(808),l=r(5773),C=r(8573),i=r(4463),a=r(6252),s=r(6647),o=r(8321),c=r(3739),d=r(2485),L=r(4760),u={large:25,default:20,small:17};const h=function(e){var{prefixCls:t="w-search-tree",size:r="default",disabled:n=!1,allowClear:h=!1,loading:p=!1,selectCloseDrop:m=!1,className:f,style:v,placeholder:Z,tagProps:x={},content:g,options:y,values:M,onChange:w,onSearch:b,emptyOption:j}=e,N=[t,f].filter(Boolean).join(" ").trim(),[k,S]=(0,C.useState)(!1),[E,B]=(0,C.useState)(M),D=(0,C.useRef)(),[R,O]=(0,C.useState)("");D.current=(0,C.useMemo)((()=>E),[E]);var[z,P]=(0,C.useState)(""),A=(0,C.useRef)(null);function I(e){var t="enter"===e&&h&&(E.length||R)?"close":"";P(t)}(0,C.useEffect)((()=>{B(M)}),[JSON.stringify(M)]);var H=function(e,t,r){void 0===r&&(r=!0),B(e),F(""),null==w||w(e,t,r)},T=e=>{var t=D.current,r=t[e];t.splice(e,1),H([...t],r,!1)};function W(e){S(!0),F(e),P(e?"loading":"")}var F=e=>{O(e),null==b||b(e)},Y=(0,C.useMemo)((()=>{if(j)return"boolean"===typeof j?(0,L.jsx)(d.Z,{style:{minWidth:200,width:null==v?void 0:v.width}}):j;var e=(0,l.Z)({},g.props,{onSelected:function(e,t,r){void 0===r&&(r=!0),S(!m),H(e,t,r)},values:E,options:y});return C.cloneElement(g,e)}),[JSON.parse(JSON.stringify(E)),y,j]);return(0,L.jsx)(i.Z,{className:N,trigger:"click",onVisibleChange:e=>{S(e),e||F("")},disabled:n,isOpen:k,menu:(0,L.jsx)(c.Z,{bodyStyle:!0===j?{padding:0}:void 0,children:Y}),children:(0,L.jsx)("div",{onMouseOver:()=>I("enter"),onMouseLeave:()=>I("leave"),onClick:()=>{var e;return null==(e=A.current)?void 0:e.focus()},style:(0,l.Z)({minWidth:(null==v?void 0:v.width)||200,maxWidth:"none"},v),children:(0,L.jsxs)("div",{className:[t+"-inner",t+"-"+r].filter(Boolean).join(" ").trim(),children:[(0,L.jsxs)("div",{style:{display:"flex",flexFlow:"wrap",width:"100%"},children:[E.map(((e,C)=>(0,L.jsx)(o.Z,(0,l.Z)({style:{height:u[r],margin:1,display:"flex",alignItems:"center"},className:t+"-tag",closable:!0,color:"#393E48"},x,{disabled:n,onClose:e=>{e.stopPropagation(),T(C)},children:e.label}),C))),(0,L.jsx)(s.Z,{ref:A,className:t+"-input-contents",size:r,disabled:n,onKeyDown:function(e){E.length>0&&!R&&8===e.keyCode&&T(E.length-1)},onChange:e=>W(e.target.value),value:R,placeholder:E.length?"":Z})]}),!n&&(0,L.jsx)("span",{style:{height:25,width:14},className:t+"-close-tag-contents",children:("close"===z||"loading"===z&&p)&&(0,L.jsx)(a.Z,{type:z,spin:p&&"loading"===z,onClick:function(e){var t;e.stopPropagation(),null==(t=A.current)||t.focus(),W(""),S(!1),B([]),H([])}})})]})})})};var p=r(7941),m=r(8043),f=["onChange","onSearch","multiple","options","value","emptyOption","treeProps"];function v(e){var[t,r]=(0,C.useState)({}),[n,i]=(0,C.useState)([]);(0,C.useEffect)((()=>{var t,n={},l=null==(t=e.values)?void 0:t.map((e=>(n[e.key]=e.label,e.key)));r(n),i(l||[])}),[e.values]);var a=(e,t,r)=>{var n=(e,r,n)=>{n?t[e]=r:delete t[e]},l=e=>{if(e.parent){var r=e.parent.children.filter((e=>!t[e.key])).length;n(e.parent.key,e.parent.label,0===r),l(e.parent)}};return e.forEach((e=>{var C,i;null!=(C=e.children)&&C.length&&(t=a(e.children,t,r)),n(e.key,null==(i=e.label)?void 0:i.toString(),r),l(e)})),t};return(0,L.jsx)(m.Z,(0,l.Z)({defaultExpandAll:!0},e,{data:e.options,selectedKeys:n,onSelected:(r,n,l,C)=>{var i=a([C],t,l),s=!1;"number"===typeof n&&(s=!0);var o=Object.entries(i).map((e=>{var[t,r]=e;return{key:s?Number.parseInt(t):t,label:r}}));null==e.onSelected||e.onSelected(o,{key:C.key,label:C.label},l)}}))}function Z(e){var[t,r]=(0,C.useState)([]);(0,C.useEffect)((()=>{var t,n=[];null!=(t=e.values)&&t.length&&(n[0]=e.values[0].key),r(n)}),[e.values]);return(0,L.jsx)(p.Z,(0,l.Z)({defaultExpandAll:!0},e,{multiple:!1,data:e.options,selectedKeys:t,onSelected:(t,r,n,l)=>{var{key:C,label:i}=l,a={key:C,label:i};null==e.onSelected||e.onSelected(n?[a]:[],a,n)}}))}const x=function(e){var{onChange:t,multiple:r=!0,options:i=[],value:a=[],emptyOption:s=!i.length,treeProps:o}=e,c=(0,n.Z)(e,f),[d,u]=(0,C.useState)(Array.isArray(a)?a:[a]),[p,m]=(0,C.useState)(i),[x,g]=(0,C.useState)(s);return(0,C.useEffect)((()=>{u(Array.isArray(a)?a:[])}),[JSON.stringify(a)]),(0,L.jsx)(h,(0,l.Z)({},c,{emptyOption:x,selectCloseDrop:!r,onSearch:e=>{!function t(r,n){void 0===n&&(n=!0),r.forEach((r=>{var l,C=!r.label.includes(e.trim())&&n;if(null!=(l=r.children)&&l.length){t(r.children,C);var i=r.children.find((e=>!e.hideNode));r.hideNode=C&&!i}else r.hideNode=C}))}(i),m([...i]);var t=!0;i.forEach((e=>t=t&&!!e.hideNode)),g("boolean"===typeof s&&t?t:s)},onChange:(e,r,n)=>{u(e),null==t||t(r,e,n)},values:d,options:p,content:r?(0,L.jsx)(v,(0,l.Z)({},o)):(0,L.jsx)(Z,(0,l.Z)({},o))}))}},3781:(e,t,r)=>{"use strict";r.d(t,{Z:()=>L});var n=r(5773),l=r(808),C=r(8573),i=r(4760);const a=C.forwardRef(((e,t)=>(0,i.jsx)("option",(0,n.Z)({},e,{ref:t})))),s=C.forwardRef(((e,t)=>(0,i.jsx)("optgroup",(0,n.Z)({},e,{ref:t}))));var o=["prefixCls","className","size"],c=(e,t)=>{var{prefixCls:r="w-select",className:C,size:a="default"}=e,s=(0,l.Z)(e,o);return(0,i.jsx)("select",(0,n.Z)({},s,{ref:t,className:[r,C,a?r+"-"+a:null].filter(Boolean).join(" ").trim()}))},d=C.forwardRef(c);d.Option=a,d.Group=s;const L=d},9477:(e,t,r)=>{"use strict";r.d(t,{Z:()=>o});var n=r(5773),l=r(808),C=r(8573),i=r(4760);function a(e){var{prefixCls:t,data:r,step:n,min:l,vertical:C,marks:a,markRender:s}=e;return(0,i.jsx)("div",{className:t+"-dots",children:r.map(((e,r)=>{var o=r*n+l;return(0,i.jsxs)("div",{style:{[C?"top":"left"]:e+"%"},className:[t+"-mark",a&&!0!==a&&!a[o]?"no-marks":null].filter(Boolean).join(" ").trim(),children:[!0===a&&s&&s(o),!0!==a&&a&&a[o]&&s&&s(o,a[o])]},r)}))})}var s=["prefixCls","value","min","max","dots","step","disabled","progress","tooltip","className","marks","renderMarks","vertical","onChange"];function o(e){var{prefixCls:t="w-slider",value:r=0,min:o=0,max:c=100,dots:d=!1,step:L=1,disabled:u=!1,progress:h=!0,tooltip:p=!1,className:m,marks:f,renderMarks:v,vertical:Z,onChange:x}=e,g=(0,l.Z)(e,s),y=C.useRef(null),M=C.useRef(null),w=C.useRef(),b=C.useRef(),j=C.useRef(),N=C.useRef(),k=C.useRef(),S=C.useRef(),[E,B]=(0,C.useState)(Array.isArray(r)?r:[r]);function D(e){B([...e]),x&&x(1===E.length?e[0]:e)}function R(e){var t=(c-o)/L,r=0;M.current&&(r=e/M.current[Z?"clientHeight":"clientWidth"]*100),r<=0&&(r=0),r>=100&&(r=100);var n=t*(r/100)+.5;return Math.floor(n)*L+o}function O(e){if(S.current){var t=[...E],r=R(e[Z?"clientY":"clientX"]-b.current+N.current);if(r!==j.current){t[w.current]=r;var n=A(t);y.current&&(y.current.style[Z?"top":"left"]=n.left,y.current.style[Z?"bottom":"right"]=n.right),D(t),j.current=r}}}function z(){S.current=void 0,window.removeEventListener("mousemove",O,!1),window.removeEventListener("mouseup",z,!1)}(0,C.useEffect)((()=>B(Array.isArray(r)?r:[r])),[r]),g.onClick=e=>{if(void 0===S.current){var t=M.current.getBoundingClientRect();D(function(e){if(!Array.isArray(r))return Array.isArray(e)?e:[e];var t=[...E],n=t[0],l=t[1];(ne||n>l&&nl&&l>e)&&(t[1]=e);if(n>e&&l=e&&(t[1]=e),Ce&&n=e&&(t[0]=e),ie[1]?e[1]:e[0],l=e[0]>e[1]?e[0]:e[1];t.left=P(n)+"%",t.right=100-P(l)+"%"}else t.right=100-P(e[0])+"%";return t}function I(e){return f&&!0!==f&&f[e]&&f[e].label?f[e].label:f&&!0!==f&&f[e]&&"string"===typeof f[e]?f[e]:v&&"function"===typeof v&&v(e)?v(e):e}var H=A();return u&&delete g.onClick,(0,i.jsxs)("div",(0,n.Z)({ref:M,className:[t,m,u?"disabled":null,f?t+"-with-marks":null,Z?t+"-vertical":null].filter(Boolean).join(" ").trim()},g,{children:[(0,i.jsx)("div",{ref:y,className:t+"-bar",style:(0,n.Z)({[Z?"top":"left"]:H.left,[Z?"bottom":"right"]:H.right},!0!==h?{backgroundColor:h||"initial"}:{})}),[...E].map(((e,n)=>{var l=P(e);return(0,i.jsx)("div",{className:t+"-handle",onMouseDown:e=>function(e,t){if(!u){w.current=e,S.current=!0,b.current=t[Z?"clientY":"clientX"],y.current&&(N.current=y.current[Z?"clientHeight":"clientWidth"],k.current=y.current[Z?"offsetTop":"offsetLeft"]);var n=[...E];Array.isArray(r)&&(N.current=1===w.current&&n[1]>n[0]||1!==w.current&&n[0]>n[1]?N.current+k.current:k.current),window.addEventListener("mousemove",O),window.addEventListener("mouseup",z)}}(n,e),style:{[Z?"top":"left"]:l+"%"},children:(p||!1===p)&&(0,i.jsx)("div",{className:[t+"-tooltip",p?"open":null].filter(Boolean).join(" ").trim(),children:I(e)})},n)})),d&&(0,i.jsx)(a,{prefixCls:t,min:o,step:L,marks:f,vertical:!!Z,data:(()=>{for(var e=(c-o)/L,t=100*L/(c-o),r=[0],n=1;n{"use strict";r.d(t,{Z:()=>d});var n=r(5773),l=r(808),C=r(8573),i=r(6252),a=r(4760),s=["prefixCls","className","style","status","itemWidth","icon","adjustMarginRight","stepNumber","title","description","progressDot"];var o=["prefixCls","style","className","children","current","status","progressDot","direction"];function c(e){var{prefixCls:t="w-steps",style:r={},children:i,current:s,status:c="process",progressDot:d=!1,direction:L="horizontal"}=e,u=(0,l.Z)(e,o),h=(0,C.useRef)(null),[p,m]=(0,C.useState)(0),f=C.Children.toArray(i).filter((e=>!!e)),v=f.length-1,Z=[t,t+"-"+L,d?t+"-dot":null].filter(Boolean).join(" ").trim();return(0,C.useEffect)((()=>function(){var e=h.current;if(e&&e.lastChild){var t=(e.lastChild.offsetWidth||0)+1;if(t===p||Math.abs(t-p)<=3)return;m(t)}}())),(0,a.jsx)("div",(0,n.Z)({className:Z,style:r},u,{ref:h,children:C.Children.map(i,((e,r)=>{var l=(0,n.Z)({stepNumber:""+(r+1),prefixCls:t,progressDot:d},e.props);return r!==v&&"vertical"!==L&&(l.itemWidth=100/v+"%",l.adjustMarginRight=-Math.round(p/v+1)),d&&"vertical"!==L&&(l.itemWidth=100/f.length+"%",l.adjustMarginRight=0),"error"===c&&r===s-1&&(l.className=t+"-next-error"),e.props.status||(l.status=r===s?c:r{"use strict";r.d(t,{Z:()=>o});var n=r(5773),l=r(808),C=r(8573),i=r(2266),a=r(4760),s=["prefixCls"];const o=C.forwardRef(((e,t)=>{var{prefixCls:r="w-switch"}=e,C=(0,l.Z)(e,s);return(0,a.jsx)(i.Rw,(0,n.Z)({prefixCls:r},(0,n.Z)({},C,{type:"checkbox"}),{ref:t}))}))},241:(e,t,r)=>{"use strict";r.d(t,{Z:()=>y});var n=r(5773),l=r(808),C=r(8573),i=r(7408),a=r(6252);function s(e,t){void 0===e&&(e=[]),void 0===t&&(t=1);for(var r=[],n=0;n0&&(t=s(r,t+1)),t}function o(e,t){void 0===e&&(e=[]),void 0===t&&(t=[]);for(var r=[],n=0;n0&&(r=r.concat(o(e[n].children,t))):r.push(e[n]);return r}function c(e,t){t||(t={header:[],render:{}}),t&&!t.header&&(t.header=[]),t&&!t.render&&(t.render={});for(var r=[],n=[],l=0;l0&&(e[l].colSpan=o(e[l].children).length),n.push(e[l])),e[l]&&e[l].children&&(r=r.concat(e[l].children.map((e=>(e.children&&e.children.length>0&&(e.colSpan=o(e.children).length),e)))));if(0===t.header.length){var C=s(n);t.header.push(n.map((e=>(1===C||(!e.children||e.children&&0===e.children.length)&&(e.rowSpan=C),e))))}if(r&&r.length>0){var i=s(r);t.header.push(r.map((e=>(1===i||(!e.children||e.children&&0===e.children.length)&&(e.rowSpan=i),e)))),t=c(r,t)}return t}function d(e,t){void 0===t&&(t=[]);for(var r=0;rnull==a?void 0:a(C,e,s,t),children:i}),e)}}var m=["prefixCls","className","data","onCellHead","locationWidth","updateLocation"],f=["title","key","render","children","ellipsis","fixed"];function v(e){void 0===e&&(e={});var{prefixCls:t="w-table",className:r,data:C=[],onCellHead:a=i.Z,locationWidth:s,updateLocation:o}=e,c=(0,l.Z)(e,m),d=0;return(0,u.jsx)("thead",(0,n.Z)({className:[t,r].filter(Boolean).join(" ").trim()},c,{children:C&&C.length>0&&C.map(((e,r)=>(0,u.jsx)("tr",{children:(e||[]).map(((e,n)=>{var{title:C,ellipsis:i,fixed:c=!1}=e,L=(0,l.Z)(e,f),h=(0,u.jsx)("span",{className:i?(L.className||"")+" "+t+"-ellipsis":void 0,children:"function"===typeof C?C(e,n,r):C});return 0===L.colSpan?null:("right"===c&&(d+=1),(0,u.jsx)(p,{colNum:n,rightNum:d,item:e,prefixCls:t,onCellHead:a,rowNum:r,titleNode:h,locationWidth:s,updateLocation:o},n))}))},r)))}))}function Z(e){var{defaultExpand:t,onClick:r,expandIcon:n}=e,[l,i]=(0,C.useState)(t);return(0,u.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center"},onClick:()=>{i(!l),r(l)},children:n(l)})}function x(e){var{rowKey:t,data:r,keys:l,render:s,ellipsis:o,prefixCls:c,onCell:d=i.Z,isExpandedDom:h,hierarchy:p,indentSize:m,childrenColumnName:f,locationWidth:v,header:Z}=e,[g,y]=(0,C.useState)(!1),[M,w]=(0,C.useState)(0),[b,j]=(0,C.useState)([]);(0,C.useEffect)((()=>{y(!(null==r||!r.find((e=>e[f])))),w(-1===(null==l?void 0:l.findIndex((e=>"uiw-expanded"===e.key)))?0:1)}),[r]);var N=(0,C.useMemo)((()=>(e,t)=>{var r=b.includes(e);return(0,u.jsx)(a.Z,{type:r?"minus-square-o":"plus-square-o",style:{marginRight:10,opacity:t?1:0,marginLeft:p*m,float:"left",marginTop:3.24},onClick:()=>{j(r?b.filter((t=>t!==e)):[...b,e])}})}),[b]),k=e=>{var t=0;return""+Z.findIndex((r=>(t=r.findIndex((t=>t.key===e)))>-1))+t};return Array.isArray(r)&&r.length?(0,u.jsx)(C.Fragment,{children:r.map(((r,i)=>{var a=t?r[t]:i,Z=0;return(0,u.jsxs)(C.Fragment,{children:[(0,u.jsx)("tr",{children:l.map(((e,t)=>{var l={children:r[e.key]};if(s[e.key]){var h=s[e.key](r[e.key],e.key,r,i,t);if(C.isValidElement(h))l.children=h;else{if(h.props&&(l=(0,n.Z)({},h.props,{children:l.children}),0===h.props.rowSpan||0===h.props.colSpan))return null;h.children&&(l.children=h.children)}}var x=Array.isArray(r[f]);if(t===M&&(g||p||x)&&(l.children=(0,u.jsxs)(u.Fragment,{children:[N(a,x),(0,u.jsx)("span",{style:{paddingLeft:p*m}}),l.children]})),e.fixed)if("right"===e.fixed){var y=1===(Z+=1)?c+"-fixed-right-first":"";l.className=c+"-fixed-right "+y}else l.className=c+"-fixed-true";return(0,C.createElement)("td",(0,n.Z)({},l,{style:e.fixed?(0,n.Z)({},L(e.fixed,v,""+k(e.key||"undefined"))):{},children:(0,u.jsx)("span",{className:o&&o[e.key]?c+"-ellipsis":void 0,children:l.children}),key:t,className:[c+"-tr-children-"+(e.align||"left"),e.className,l.className].filter((e=>e)).join(" ").trim(),onClick:n=>d(r,{rowNum:i,colNum:t,keyName:e.key},n)}))}))},a),h(r,i),b.includes(a)&&(0,u.jsx)(x,(0,n.Z)({},e,{data:r[f],hierarchy:p+1}))]},i)}))}):null}var g=["prefixCls","className","columns","data","title","footer","bordered","onCell","onCellHead","empty","children","expandable","rowKey","scroll"];function y(e){void 0===e&&(e={});var{prefixCls:t="w-table",className:r,columns:s=[],data:o=[],title:L,footer:h,bordered:p,onCell:m=i.Z,onCellHead:f=i.Z,empty:y,expandable:M,rowKey:w,scroll:b}=e,j=(0,l.Z)(e,g),[N,k]=(0,C.useState)([]),[S,E]=(0,C.useState)({}),B=(0,C.useRef)({}),D=(e,t)=>{var r=0,n=0,l=[];e.forEach(((C,i)=>{var a=""+t+n;if("number"===typeof e[i])return r=e[i]+r,void l.push(e[i]);B.current[a]&&(B.current[a].left=r,r=B.current[a].width+r,Array.isArray(e[i].children)?l.push(...e[i].children):l.push(B.current[a].width)),n+=1})),r=0,n=I[t].length-1;for(var C=e.length-1;C>=0;C--){var i=""+t+n;"number"!==typeof e[C]?(B.current[i]&&(B.current[i].right=r,r=B.current[i].width+r),n-=1):r=e[C]+r}l.filter((e=>"number"!==typeof e)).length&&D(l,t+1)},R=()=>(D(s,0),B.current);(0,C.useEffect)((()=>{var e=(null==M?void 0:M.childrenColumnName)||"children",t=r=>{var n=[],l=r.map(((r,l)=>(Array.isArray(r[e])&&n.push(...t(r[e])),w?r[w]:l)));return[...n,...l]};if(M){if(M.defaultExpandAllRows)return void k(t(o));if(M.defaultExpandedRowKeys)return void k(M.defaultExpandedRowKeys)}}),[]),(0,C.useEffect)((()=>{M&&M.expandedRowKeys&&JSON.stringify(M.expandedRowKeys)!==JSON.stringify(N)&&k(M.expandedRowKeys)}),[null==M?void 0:M.expandedRowKeys]);var O=(0,C.useMemo)((()=>(e,t)=>{if(!M)return!1;if(!M.expandedRowRender)return!1;var r=!0;return M.rowExpandable&&(r=M.rowExpandable(e)),r&&(0,u.jsx)("tr",{style:N.includes(w?e[w]:t)?{}:{display:"none"},children:(0,u.jsx)("td",{style:{paddingLeft:16},colSpan:s.length+1,children:M.expandedRowRender(e,t,!0)})})}),[M,N]),z=(0,C.useMemo)((()=>{var e=d(s),t=[];return null!=M&&M.expandedRowRender?(e=[{key:"uiw-expanded",align:"center"},...e],t=[{title:"",key:"uiw-expanded",width:50,align:"center",render:(e,t,r,n)=>{var l;return(0,u.jsx)(Z,{defaultExpand:void 0===M.defaultExpandAllRows?!(null==(l=M.defaultExpandedRowKeys)||!l.includes(w?r[w]:n)):!!M.defaultExpandAllRows,onClick:e=>{if(null==M.onExpand||M.onExpand(e,r,n),e){var t=N.filter((e=>w?e!==r[w]:e!==n));M.onExpandedRowsChange?M.onExpandedRowsChange(t):k(t)}else{var l=[...N,w?r[w]:n];M.onExpandedRowsChange?M.onExpandedRowsChange(l):k(l)}},expandIcon:e=>!M.rowExpandable||null!=M.rowExpandable&&M.rowExpandable(r)?M.expandIcon?M.expandIcon(e,r,n):e?(0,u.jsx)(a.Z,{type:"minus-square-o"}):(0,u.jsx)(a.Z,{type:"plus-square-o"}):null})}},...s]):t=[...s],{keys:e,selfColumns:t}}),[s,N]),P=(0,C.useMemo)((()=>{var e={table:{},div:{}};return b&&(void 0!==b.x&&(e.table.minWidth="100%",e.table.width=b.x,e.div.overflowX="auto",e.div.overflowY="hidden"),void 0!==b.y&&(e.div.maxHeight=b.y,e.div.overflowY="scroll")),e}),[b]),A=[t,r,p?t+"-bordered":null].filter(Boolean).join(" ").trim(),{header:I,render:H,ellipsis:T}=c(z.selfColumns);return(0,u.jsxs)(C.Fragment,{children:[(0,u.jsx)("div",(0,n.Z)({className:A},j,{style:(0,n.Z)({},j.style,P.div),children:(0,u.jsxs)("table",{style:(0,n.Z)({tableLayout:T?"fixed":"auto"},P.table),children:[L&&(0,u.jsx)("caption",{children:L}),s&&s.length>0&&(0,u.jsx)(v,{onCellHead:f,data:I,locationWidth:S,updateLocation:function(e,t,r,l){void 0===l&&(l=0),B.current=(0,n.Z)({},B.current,{[t]:(0,n.Z)({},B.current[t],e,{key:r,colSpan:l})}),t===""+(I.length-1)+(I[I.length-1].length-1)&&E(R())}}),o&&o.length>0&&(0,u.jsx)("tbody",{children:(0,u.jsx)(x,{rowKey:w,locationWidth:S,data:o,header:I,keys:z.keys,render:H,ellipsis:T,prefixCls:t,onCell:m,hierarchy:0,isExpandedDom:O,indentSize:"number"===typeof(null==M?void 0:M.indentSize)?null==M?void 0:M.indentSize:16,childrenColumnName:(null==M?void 0:M.childrenColumnName)||"children"})}),o&&0===o.length&&y&&(0,u.jsx)("tbody",{children:(0,u.jsx)("tr",{children:(0,u.jsx)("td",{colSpan:z.keys.length,style:{position:"relative",left:0},children:y})})}),e.children]})})),h&&(0,u.jsx)("div",{className:t+"-footer",children:h})]})}},491:(e,t,r)=>{"use strict";r.d(t,{Z:()=>c});var n=r(5773),l=r(808),C=r(8573),i=r(4760),a=["prefixCls","className","label"];var s=r(6658),o=["prefixCls","className","children","type","activeKey","onTabClick"];function c(e){var t,{prefixCls:r="w-tabs",className:a,children:c,type:d="default",onTabClick:L}=e,u=(0,l.Z)(e,o),[h,p]=(0,C.useState)(e.activeKey),[m,f]=(0,C.useState)({width:0,left:0}),v=(0,C.useRef)(),Z=[r,a,d?r+"-"+d:null].filter(Boolean).join(" ").trim(),[x,g]=(0,C.useState)({content:0,nav:[],flowLeft:-1,displayStart:0,displayEnd:0}),[y,M]=(0,C.useState)([]),[w,b]=(0,C.useState)(),j=(0,C.useCallback)((e=>{null!==e&&(b(w),e.addEventListener("scroll",(e=>{var{clientWidth:t,scrollLeft:r}=e.target;x.displayStart=r,x.displayEnd=t+r,g((0,n.Z)({},x))})),x.displayEnd=e.getBoundingClientRect().width,g((0,n.Z)({},x)))}),[]),N=(0,C.useCallback)(((e,t,r,n)=>{null!==e&&(k(e.getBoundingClientRect().width,t),r===n&&(v.current=e))}),[]),k=(e,t)=>{var r=0;x.nav.slice(0,t+1).forEach((e=>r+=e.width)),x.nav[t]={width:e,curWidth:Math.floor(r),index:t},g(x)};(0,C.useEffect)((()=>{S()}),[x.displayEnd>(null==(t=x.nav[x.nav.length-1])?void 0:t.curWidth)]);var S=()=>{var e=[];x.nav.length>0&&(x.nav.forEach((t=>{var r=t.curWidth-15;(x.displayStart>0||x.displayEnd>0)&&(rx.displayEnd)&&e.push(t.index)})),M(e))};function E(){v.current&&"line"===d&&f({width:v.current.clientWidth,left:v.current.offsetLeft})}return(0,C.useEffect)((()=>p((null==e?void 0:e.activeKey)||"")),[e.activeKey]),(0,C.useEffect)((()=>E()),[h]),(0,i.jsxs)("div",(0,n.Z)({className:Z},u,{children:[(0,i.jsxs)("div",{style:{display:"flex"},children:[(0,i.jsx)("div",{style:{overflow:"hidden"},children:(0,i.jsx)("div",{className:r+"-bar",ref:j,children:(0,i.jsxs)("div",{className:r+"-nav",style:{width:"max-content"},children:[B(c),(0,i.jsx)("div",{style:m,className:r+"-slide"})]})})}),y.length>0&&(0,i.jsx)(s.Z,{trigger:"click",placement:"bottomRight",visibleArrow:!1,content:(0,i.jsx)("div",{className:r+"-nav-hidden",children:B(y.map((e=>c[e])))}),children:(0,i.jsx)("div",{onClick:S,className:r+"-flow-content",children:(0,i.jsx)("span",{children:"\u2026"})})})]}),C.Children.map(c,(e=>e&&h===e.key?C.cloneElement(e,Object.assign({},e.props,{})):null))]}));function B(e){return C.Children.map(e,((e,t)=>{if(!e)return null;var l={className:[r+"-item",e.key===h?"active":null,e.props.disabled?"disabled":null].filter(Boolean).join(" ").trim(),children:e.props.label};return e.props.disabled||(l.onClick=t=>{p(e.key),L&&L(e.key,e,t),E()}),(0,i.jsx)("div",(0,n.Z)({ref:r=>N(r,t,e.key,h)},l),t)}))}}c.Pane=function(e){void 0===e&&(e={});var{prefixCls:t="w-tabs-pane",className:r}=e,C=(0,l.Z)(e,a);return(0,i.jsx)("div",(0,n.Z)({className:[t,r].filter(Boolean).join(" ").trim()},C))}},8321:(e,t,r)=>{"use strict";r.d(t,{Z:()=>a});var n=r(5773),l=r(808),C=(r(8573),r(4760)),i=["prefixCls","className","style","title","children","visible","color","disabled","bordered","closable","light","onClose"];const a=function(e){void 0===e&&(e={});var{prefixCls:t="w-tag",className:r,style:a,title:s="",children:o,visible:c=!0,color:d="#6E6E6E",disabled:L=!1,bordered:u=!0,closable:h,light:p=!1,onClose:m}=e,f=(0,l.Z)(e,i),v=[t,r,p?t+"-light":null,L?"disabled":null].filter(Boolean).join(" ").trim(),Z=(0,n.Z)({},a);if(p?(Z.color=d,Z.borderColor=d,u&&p&&(Z.boxShadow="inset 0 0 0 1px "+d)):(Z.color="#fff",Z.backgroundColor=d),!c)return null;var x=!L&&h&&(0,C.jsx)("svg",{onClick:m,className:t+"-close",width:"15",height:"15",viewBox:"0 0 16 16",children:(0,C.jsx)("path",{d:"M9.41 8l2.29-2.29c.19-.18.3-.43.3-.71a1.003 1.003 0 0 0-1.71-.71L8 6.59l-2.29-2.3a1.003 1.003 0 0 0-1.42 1.42L6.59 8 4.3 10.29c-.19.18-.3.43-.3.71a1.003 1.003 0 0 0 1.71.71L8 9.41l2.29 2.29c.18.19.43.3.71.3a1.003 1.003 0 0 0 .71-1.71L9.41 8z"})});return(0,C.jsxs)("span",(0,n.Z)({className:v,style:Z},f,{children:[s||o,x]}))}},8981:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});var n=r(5773),l=r(808),C=r(8573),i=r(4760),a=["prefixCls","className"];const s=C.forwardRef(((e,t)=>{var{prefixCls:r="w-textarea",className:C}=e,s=(0,l.Z)(e,a);return(0,i.jsx)("textarea",(0,n.Z)({className:[r,C].filter(Boolean).join(" ").trim()},s,{ref:t,children:e.children}))}))},2190:(e,t,r)=>{"use strict";r.d(t,{z:()=>h,Z:()=>m});var n=r(5773),l=r(808),C=r(8573),i=r(6658),a=r(6647),s=r(3612),o=r(371),c=r(4760),d=["prefixCls","className","count","date","type","disabledHours","disabledMinutes","disabledSeconds","hideDisabled","onSelected"];function L(e){var{prefixCls:t="w-timepicker",count:r=24,date:i,type:a="Hours",hideDisabled:s,onSelected:o}=e,L=(0,l.Z)(e,d),u=(0,C.useRef)([]);function h(t){var r=e["disabled"+a];return!!r&&r(t,a,new Date(i))}var p=(0,C.useMemo)((()=>[...Array(r)].map(((e,t)=>(h(t)&&u.current.push(t),{count:t,disabled:h(t)}))).filter((e=>!s||!e.disabled))),[s]);return(0,c.jsx)("div",(0,n.Z)({className:t+"-spinner"},L,{children:(0,c.jsx)("ul",{children:p.map(((e,t)=>{var r={};e.disabled||(r.onClick=t=>function(e,t){if(i){var r=new Date(i);r["set"+a](e),o&&o(a,e,u.current,r)}}(e.count));var l=i&&a?new Date(i)["get"+a]():0;return(0,c.jsx)("li",(0,n.Z)({"data-index":l===e.count?t:void 0,ref:e=>e&&function(e){if(e&&e.parentNode&&e.dataset.index){var t=Number(e.dataset.index)*e.clientHeight;e.parentNode.parentNode&&(e.parentNode.parentNode.scrollTop=t)}}(e)},r,{className:[e.disabled?"disabled":null,l===e.count?"selected":null,s&&e.disabled?"hide":null].filter(Boolean).join(" ").trim(),children:e.count<10?"0"+e.count:e.count}),t)}))})}))}var u=["prefixCls","className","precision"];function h(e){var{prefixCls:t="w-timepicker",className:r,precision:C="second"}=e,i=(0,l.Z)(e,u);return(0,c.jsxs)("div",{className:[t,r].filter(Boolean).join(" ").trim(),children:[/^(second|minute|hour)$/.test(C)&&(0,c.jsx)(L,(0,n.Z)({type:"Hours",count:24},i)),/^(second|minute)$/.test(C)&&(0,c.jsx)(L,(0,n.Z)({type:"Minutes",count:60},i)),/^(second)$/.test(C)&&(0,c.jsx)(L,(0,n.Z)({type:"Seconds",count:60},i))]})}var p=["prefixCls","className","disabled","value","format","popoverProps","allowClear","onChange","disabledHours","disabledMinutes","disabledSeconds","hideDisabled","precision"];function m(e){var{prefixCls:t="w-timepicker",className:r,disabled:d,format:L="HH:mm:ss",popoverProps:u,allowClear:m=!0,onChange:f,disabledHours:v,disabledMinutes:Z,disabledSeconds:x,hideDisabled:g,precision:y}=e,M=(0,l.Z)(e,p),[w,b]=(0,C.useState)(e.value);(0,C.useEffect)((()=>b(e.value)),[e.value]);var j={disabledHours:v,disabledMinutes:Z,disabledSeconds:x,hideDisabled:g,precision:y},N=w?(0,o.Z)(L,new Date(w)):"",k=w||new Date,S=(0,n.Z)({},M,{value:N});return m&&""!==N&&N&&(S.addonAfter=(0,c.jsx)(s.Z,{className:t+"-close-btn",icon:"close",disabled:e.disabled,onClick:()=>{b(void 0),f&&f()},size:e.size,basic:!0,type:"light"})),(0,c.jsx)(i.Z,(0,n.Z)({trigger:"focus",placement:"bottomLeft",autoAdjustOverflow:!0,visibleArrow:!1},u,{content:(0,c.jsx)(h,(0,n.Z)({className:t+"-popover"},j,{date:k,onSelected:(e,t,r,n)=>{b(new Date(n));var l=n?(0,o.Z)(L,n):"";f&&f(l,n,e,t,r)}})),children:(0,c.jsx)(a.Z,(0,n.Z)({placeholder:"\u8bf7\u9009\u62e9\u65f6\u95f4",readOnly:!0,disabled:d},S,{className:[t+"-input",r].filter(Boolean).join(" ").trim()}))}))}},4245:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});var n=r(5773),l=r(808),C=(r(8573),r(9769)),i=r(4760),a=["prefixCls","className","placement","isOpen","trigger","delay","usePortal","visibleArrow","onVisibleChange"];const s=function(e){void 0===e&&(e={});var{prefixCls:t="w-tooltip",className:r,placement:s="top",isOpen:o=!1,trigger:c,delay:d,usePortal:L=!0,visibleArrow:u=!0,onVisibleChange:h}=e,p=(0,l.Z)(e,a),m=[t,r,u?null:"no-arrow"].filter(Boolean).join(" ").trim();return(0,i.jsx)(C.Z,(0,n.Z)({usePortal:L,isOpen:o,trigger:c,delay:d,onVisibleChange:h,placement:s},p,{overlay:(0,i.jsxs)("div",{className:m,children:[u&&(0,i.jsx)("div",{className:t+"-arrow"}),(0,i.jsx)("div",{className:t+"-inner",children:e.content})]}),children:"object"===typeof e.children?e.children:(0,i.jsx)("span",{children:e.children})}))}},2061:(e,t,r)=>{"use strict";r.d(t,{Z:()=>L});var n=r(5773),l=r(8573),C=r(3739),i=r(6252),a=r(6647),s=r(8043),o=r(6173),c=r(4760),d=function(e){return e[e.UnChecked=0]="UnChecked",e[e.AllChecked=1]="AllChecked",e[e.Indeterminate=2]="Indeterminate",e}(d||{});const L=function(e){var{placeholder:t,options:r,value:L=[],showSearch:u=!1,selectedAll:h=!1,bodyStyle:p,style:m,className:f,prefixCls:v="w-transfer"}=e,Z=[v,f].filter(Boolean).join(" ").trim(),[x,g]=(0,l.useState)(""),[y,M]=(0,l.useState)(""),[w,b]=(0,l.useState)(r||[]),j=(0,l.useRef)(0),[N,k]=(0,l.useState)(new Map),[S,E]=(0,l.useState)(new Map),[B,D]=(0,l.useState)([]),[R,O]=(0,l.useState)([]),[z,P]=(0,l.useState)([]),[A,I]=(0,l.useState)({left:d.UnChecked,right:d.UnChecked});(0,l.useEffect)((()=>{L&&(P(L||[]),null==L||L.forEach((e=>N.set(e.key,e.label))),H((e=>!(null==L||!L.find((t=>e.key===t.key))))))}),[JSON.stringify(L)]);var H=e=>{j.current=0;var t=r=>{r.forEach((r=>{var n,l=e(r);if(null!=(n=r.children)&&n.length){t(r.children);var C=r.children.find((e=>!e.hideNode));r.hideNode=l&&!C}else r.hideNode=l;r.hideNode||j.current++}))};t(w),b([...w])},T=(e,t,r)=>{var n=(e,r,n)=>{n?t.set(e,r):t.delete(e)},l=e=>{if(e.parent){var r=e.parent.children.filter((e=>!t.get(e.key)&&!e.hideNode)).length;n(e.parent.key,e.parent.label,0===r),l(e.parent)}};return e.forEach((e=>{var C,i;null!=(C=e.children)&&C.length&&(t=T(e.children,t,r)),n(e.key,null==(i=e.label)?void 0:i.toString(),r),l(e)})),t},W=t=>{"left"===t?(S.forEach(((e,t)=>{N.set(t,e)})),E(new Map),D([])):(R.forEach((e=>{N.delete(e)})),O([])),k(N);var r=[];N.forEach(((e,t)=>r.push({key:t,label:e}))),null==e.onChange||e.onChange(t,r)},F=e=>(0,c.jsx)(i.Z,{onClick:()=>e.click(),type:"down-square-o",className:v+"-arrow",style:(0,n.Z)({fontSize:20,stroke:"#e9e9e9",fill:"#333"},e.style)});return(0,c.jsxs)("div",{className:Z,style:(0,n.Z)({width:400},m),children:[(0,c.jsxs)(C.Z,{bodyStyle:{padding:"5px 9px"},title:(0,c.jsxs)("div",{children:[h&&(0,c.jsx)(o.Z,{indeterminate:B.length=j.current&&!!B.length,onChange:e=>{var t=e.target.checked;if(A.left=t?1:0,t){var r=[],n=e=>{e.forEach((e=>{var t;null!=(t=e.children)&&t.length&&n(e.children),e.hideNode||(S.set(e.key,e.label),r.push(e.key))}))};n(w),E(S),D(r)}else D([]),E(new Map);I(A)}}),(0,c.jsxs)("label",{style:{marginLeft:3},children:[B.length,"/",j.current]})]}),className:v+"-card",children:[u&&(0,c.jsx)(a.Z,{placeholder:t,value:x,onChange:t=>{return r=t.target.value,H((e=>{var t=!e.label.includes(r.trim());return t||(t=!!z.find((t=>t.key===e.key))),t})),g(r),void(null==e.onSearch||e.onSearch("left",r));var r}}),(0,c.jsx)("div",{className:v+"-cheked-content",children:(0,c.jsx)(s.Z,{defaultExpandAll:!0,placeholder:t||"\u641c\u7d22\u9009\u9879",data:w,selectedKeys:B,onSelected:(e,t,r,n)=>{D(e);var l=T([n],S,r);E(l)}})})]}),(0,c.jsxs)("div",{className:v+"-arrow-content",children:[(0,c.jsx)(F,{click:()=>W("left"),style:{transform:"rotate(-90deg)",background:B.length>0?"#393E48":"none"}}),(0,c.jsx)(F,{click:()=>W("right"),style:{transform:"rotate(90deg)",background:R.length>0?"#393E48":"none"}})]}),(0,c.jsxs)(C.Z,{bodyStyle:{padding:"5px 9px"},className:v+"-card",title:(0,c.jsxs)("div",{children:[h&&(0,c.jsx)(o.Z,{indeterminate:R.length{var t=e.target.checked;if(A.right=t?1:0,t){var r=z.map((e=>e.key));O(r)}else O([]);I(A)}}),(0,c.jsxs)("label",{style:{marginLeft:3},children:[R.length,"/",z.length]})]}),children:[u&&(0,c.jsx)(a.Z,{placeholder:t,value:y,onChange:t=>{return r=t.target.value,M(r),z.forEach((e=>{var t=!e.label.includes(r.trim());e.hideNode=t})),P(z),void(null==e.onSearch||e.onSearch("right",r));var r}}),(0,c.jsx)("div",{className:v+"-cheked-content",style:p,children:(0,c.jsx)(s.Z,{data:z,selectedKeys:R,onSelected:e=>{O(e)}})})]})]})}},8043:(e,t,r)=>{"use strict";r.d(t,{Z:()=>c});var n=r(5773),l=r(808),C=r(8573),i=r(7941),a=r(6173),s=r(4760),o=["prefixCls"];function c(e){var{prefixCls:t="w-treechecked"}=e,r=(0,l.Z)(e,o);return r.className=[t,r.className].filter(Boolean).join(" ").trim(),r.checkStrictly=!0,r.isSelected=!1,r.multiple=!0,(0,s.jsx)(i.Z,(0,n.Z)({renderTitle:(e,r)=>{var l={};return r.isHalfChecked&&(l.indeterminate=!0),r.selected?l.checked=!0:l.checked=!1,(0,s.jsxs)(C.Fragment,{children:[(0,s.jsx)(a.Z,(0,n.Z)({className:t+"-checked",disabled:r.disabled},l)),e.label&&(0,s.jsx)("span",{className:r.disabledClass,children:e.label})]})}},r))}},7941:(e,t,r)=>{"use strict";r.d(t,{Z:()=>v,$:()=>p});var n=r(5773),l=r(808),C=r(8573),i=r(7408),a=r(4441),s=r(6252),o=r(4760),c=["prefixCls","renderTitle","icon","iconAnimation","isSelected","openKeys","selectedKeys","data","level","parent","onItemClick","onItemSelected"],d=e=>{var{label:t,className:r}=e;return(0,C.useMemo)((()=>(0,o.jsx)("span",{className:r,children:t})),[t])};function L(e){var{prefixCls:t,renderTitle:r,icon:u,iconAnimation:h,isSelected:m,openKeys:f,selectedKeys:v,data:Z,level:x,parent:g,onItemClick:y=i.Z,onItemSelected:M=i.Z}=e,w=(0,l.Z)(e,c),b=!1,j=C.useRef(null);g&&(g.key||0===g.key)&&(b=!!(f&&f.indexOf(g.key)>-1));var N=(0,C.useCallback)((()=>{j.current.style.height=j.current.scrollHeight+"px"}),[]),k=(0,C.useCallback)((()=>{j.current.style.height="1px"}),[]),S=(0,C.useCallback)((()=>{j.current.style.height="1px"}),[]),E=(0,C.useCallback)((()=>{j.current.style.height=j.current.scrollHeight+"px"}),[]),B=(0,C.useCallback)((()=>{j.current.style.height="initial"}),[]);return(0,o.jsx)(a.Z,{nodeRef:j,classNames:t,in:b,timeout:200,onExit:N,onExiting:k,onEnter:S,onEntered:B,onEntering:E,children:(0,o.jsx)("ul",{ref:j,className:[1!==x&&b?[t+"-open"]:null,1===x||b?null:[t+"-close"]].filter(Boolean).join(" ").trim(),children:Z.map(((e,l)=>{e.parent=g;var C=!!(v&&v.indexOf(e.key)>-1),i=!e.children,a=f&&f.indexOf(e.key)>-1&&!!e.children,c="function"===typeof u?u(e,{isOpen:!!a,noChild:i,openKeys:f,selectedKeys:v}):u,Z=i?[]:p(e.children),b=v?v.filter((e=>Z.indexOf(e)>-1)):[],j=b.length>0&&Z.length!==b.length,N={onClick:M,disabled:null,disabledMouse:null,disabledClass:void 0,disabledStyle:void 0};return e.disabled&&(N.onClick=void 0,N.disabled="disabled",N.disabledMouse=t+"-disabled-mouse",N.disabledClass=t+"-disabled-ele",N.disabledStyle={color:"#00000040"}),(0,o.jsxs)("li",{style:{display:e.hideNode?"none":"block"},children:[(0,o.jsxs)("div",{className:t+"-label",children:[(0,o.jsx)("span",{style:{display:i?"none":"auto"},className:t+"-switcher",onClick:t=>y(e,t),children:(0,o.jsx)(s.Z,{type:c||"caret-right",className:["function"===typeof u?t+"-switcher-noop":null,i?"no-child":null,h?null:"no-animation",a?"open":null].filter(Boolean).join(" ").trim()})}),(0,o.jsx)("div",{onClick:t=>null==N.onClick?void 0:N.onClick(e,t),className:[t+"-title",C&&m?"selected":null,N.disabled,N.disabledMouse].filter(Boolean).join(" ").trim(),children:r?r(e,{selected:C,noChild:i,openKeys:f,isHalfChecked:j,selectedKeys:v,disabled:e.disabled,disabledClass:N.disabledClass,disabledStyle:N.disabledStyle}):(0,o.jsx)(d,{label:e.label,className:N.disabledClass})})]}),e.children&&(0,o.jsx)(L,(0,n.Z)({},w,{prefixCls:t,icon:u,iconAnimation:h,isSelected:m,openKeys:f,selectedKeys:v,onItemClick:y,onItemSelected:M,renderTitle:r,prefixCls:t,data:e.children,level:x+1,parent:e}))]},l)}))})})}var u=["prefixCls","icon","data","openKeys","selectedKeys","defaultExpandAll","showLine","iconAnimation","isSelected","checkStrictly","multiple","onExpand","onSelected","className","autoExpandParent","renderTitle","onChange","value"],h=(e,t)=>{if(!(e instanceof Array)||!(t instanceof Array))return!1;if(e.length{t.hideNode||r.push(t.key),("number"!==typeof n||n-1)&&t.children&&t.children.length>0&&(r=r.concat(e(t.children,void 0,n?n-1:void 0)))})),r},m=function e(t,r){return void 0===t&&(t={}),void 0===r&&(r=[]),t.key&&r.push(t.key),t.parent&&(r=e(t.parent,r)),r},f=function e(t,r,n){return void 0===t&&(t={}),void 0===r&&(r=[]),void 0===n&&(n=[]),t.key&&t.children&&h(r,p(t.children,void 0,1))&&(n.push(t.key),t.parent&&!t.parent.parent&&(h(r,p(t.children))&&(r=r.concat(n)),h(r,p(t.parent.children))&&n.push(t.parent.key))),t.parent&&(n=e(t.parent,r,n)),n};function v(e){var{prefixCls:t="w-tree",icon:r="caret-right",data:a=[],openKeys:s=[],selectedKeys:c=[],defaultExpandAll:d=!1,showLine:h=!1,iconAnimation:v=!0,isSelected:Z=!0,checkStrictly:x=!1,multiple:g=!1,onExpand:y=i.Z,onSelected:M=i.Z,className:w,autoExpandParent:b=!0,renderTitle:j,onChange:N,value:k}=e,S=(0,l.Z)(e,u),[E,B]=(0,C.useState)(s),[D,R]=(0,C.useState)(k||c);(0,C.useEffect)((()=>{R(e.value||e.selectedKeys||[])}),[JSON.stringify(e.selectedKeys),JSON.stringify(e.value)]),(0,C.useEffect)((()=>{B(s)}),[JSON.stringify(s)]),(0,C.useEffect)((()=>{var e=[...E];d?e=p(a):b&&e.push(...p(a||[],void 0,1)),B(e)}),[]);var O=[w,t,h?t+"-line":null].filter(Boolean).join(" ").trim();return(0,o.jsx)("div",(0,n.Z)({className:O},S,{children:(0,o.jsx)(L,{icon:r,iconAnimation:v,isSelected:Z,openKeys:E,selectedKeys:D,prefixCls:t,renderTitle:j,onItemClick:function(e,t){if(e.children){var r=[...E],n=r.find((t=>t===e.key)),l=t.currentTarget.className.replace(/(\s)open/g,""),C=!1;!n&&e.key?(r.push(e.key),t.currentTarget.className=[l,"open"].filter(Boolean).join(" ").trim(),C=!0):(r=r.filter((t=>t!==e.key)),t.currentTarget.className=l),B(r),y&&y(e.key,C,e,t)}},onItemSelected:function(e,t){var r=[...D],n=r.find((t=>t===e.key)),l=!1;n||0===n?r=r.filter((t=>t!==e.key)):(l=!0,r.push(e.key)),x&&(n?r=(r=r.filter((t=>-1===p(e.children).indexOf(t)))).filter((t=>-1===m(e.parent).indexOf(t))):(r=(r=r.concat(p(e.children).filter((e=>-1===r.indexOf(e))))).concat(f(e,r)),r=Array.from(new Set(r)))),g||(r=n?[]:[e.key]),R(r),M&&M(r,e.key,l,e,t),null==N||N(e.key,r)},data:a,level:1})}))}},7277:(e,t,r)=>{"use strict";function n(e,t){if("undefined"===typeof window)return 0;var r=t?"scrollTop":"scrollLeft",n=e===window,l=n?e[t?"pageYOffset":"pageXOffset"]:e[r];return n&&"number"!==typeof l&&(l=document.documentElement[r]),l}r.d(t,{O:()=>n})},7408:(e,t,r)=>{"use strict";function n(){}r.d(t,{Z:()=>n})},5411:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});var n=r(2785),l=r(126),C=r(8573),i=r(4760),a=["prefixCls","className","children","mode","visiable","renderBar","lineBar","disable","onDragEnd","onDragging"];class s extends C.Component{constructor(e){super(e),this.state={dragging:!1},this.warpper=void 0,this.paneNumber=void 0,this.startX=void 0,this.startY=void 0,this.move=void 0,this.target=void 0,this.boxWidth=void 0,this.boxHeight=void 0,this.preWidth=void 0,this.nextWidth=void 0,this.preHeight=void 0,this.nextHeight=void 0,this.preSize=void 0,this.nextSize=void 0,this.onDragEnd=this.onDragEnd.bind(this),this.onDragging=this.onDragging.bind(this)}componentWillUnmount(){this.removeEvent()}removeEvent(){window.removeEventListener("mousemove",this.onDragging,!1),window.removeEventListener("mouseup",this.onDragEnd,!1)}onMouseDown(e,t){if(t.target&&this.warpper){this.paneNumber=e,this.startX=t.clientX,this.startY=t.clientY,this.move=!0,this.target=t.target.parentNode;var r=this.target.previousElementSibling,n=this.target.nextElementSibling;this.boxWidth=this.warpper.clientWidth,this.boxHeight=this.warpper.clientHeight,r&&(this.preWidth=r.clientWidth,this.preHeight=r.clientHeight),n&&(this.nextWidth=n.clientWidth,this.nextHeight=n.clientHeight),window.addEventListener("mousemove",this.onDragging),window.addEventListener("mouseup",this.onDragEnd,!1),this.setState({dragging:!0})}}onDragging(e){if(this.move){this.state.dragging||this.setState({dragging:!0});var{mode:t,onDragging:r}=this.props,n=this.target.nextElementSibling,l=this.target.previousElementSibling,C=e.clientX-this.startX,i=e.clientY-this.startY;if(this.preSize=0,this.nextSize=0,"horizontal"===t){if(this.preSize=this.preWidth+C>-1?this.preWidth+C:0,this.nextSize=this.nextWidth-C>-1?this.nextWidth-C:0,0===this.preSize||0===this.nextSize)return;this.preSize=100*(this.preSize/this.boxWidth>=1?1:this.preSize/this.boxWidth),this.nextSize=100*(this.nextSize/this.boxWidth>=1?1:this.nextSize/this.boxWidth),l&&n&&(l.style.width=this.preSize+"%",n.style.width=this.nextSize+"%")}if("vertical"===t&&this.preHeight+i>-1&&this.nextHeight-i>-1){if(this.preSize=this.preHeight+i>-1?this.preHeight+i:0,this.nextSize=this.nextHeight-i>-1?this.nextHeight-i:0,this.preSize=100*(this.preSize/this.boxHeight>=1?1:this.preSize/this.boxHeight),this.nextSize=100*(this.nextSize/this.boxHeight>=1?1:this.nextSize/this.boxHeight),0===this.preSize||0===this.nextSize)return;l&&n&&(l.style.height=this.preSize+"%",n.style.height=this.nextSize+"%")}r&&r(this.preSize,this.nextSize,this.paneNumber)}}onDragEnd(){var{onDragEnd:e}=this.props;this.move=!1,e&&e(this.preSize,this.nextSize,this.paneNumber),this.removeEvent(),this.setState({dragging:!1})}render(){var e=this.props,{prefixCls:t,className:r,children:s,mode:o,visiable:c,renderBar:d,lineBar:L,disable:u}=e,h=(0,l.Z)(e,a),{dragging:p}=this.state,m=[t,r,t+"-"+o,p?"dragging":null].filter(Boolean).join(" ").trim(),f=C.Children.toArray(s);return(0,i.jsx)("div",(0,n.Z)({className:m},h,{ref:e=>this.warpper=e,children:C.Children.map(f,((e,r)=>{var l=Object.assign({},e.props,{className:[t+"-pane",e.props.className].filter(Boolean).join(" ").trim(),style:(0,n.Z)({},e.props.style)}),a=!0===c||c&&c.includes(r+1)||!1,s={className:[t+"-bar",L?t+"-line-bar":null,L?null:t+"-large-bar"].filter(Boolean).join(" ").trim()};(!0===u||u&&u.includes(r+1))&&(s.className=[s.className,u?"disable":null].filter(Boolean).join(" ").trim());var o=null;return 0!==r&&a&&d?o=d((0,n.Z)({},s,{onMouseDown:this.onMouseDown.bind(this,r+1)})):0!==r&&a&&(o=C.createElement("div",(0,n.Z)({},s),(0,i.jsx)("div",{onMouseDown:this.onMouseDown.bind(this,r+1)}))),(0,i.jsxs)(C.Fragment,{children:[o,C.cloneElement(e,(0,n.Z)({},l))]},r)}))}))}}s.defaultProps={prefixCls:"w-split",visiable:!0,mode:"horizontal"}},371:(e,t,r)=>{"use strict";r.d(t,{Z:()=>C});var n=/(?=(YYYY|YY|MM|DD|HH|mm|ss|ms))\1([:/]*)/g,l={YYYY:["getFullYear",4],YY:["getFullYear",2],MM:["getMonth",2,1],DD:["getDate",2],HH:["getHours",2],mm:["getMinutes",2],ss:["getSeconds",2],ms:["getMilliseconds",3]};function C(e,t,r){return"string"!==typeof e&&(t=e,e="YYYY-MM-DD"),e.replace(n,(function(e,n,C){var i=l[n],a=i[1],s=i[0];return!0===r&&(s="getUTC".concat(String(s).slice(3))),t||(t=new Date),"00".concat(String(t[s]()+(i[2]||0))).slice(-a)+(C||"")}))}C.utc=function(e,t){return C(e,t,!0)}}}]); +//# sourceMappingURL=uiw-vendor.50e35bef.js.map \ No newline at end of file diff --git a/static/js/uiw-vendor.6ef1d37e.js.LICENSE.txt b/static/js/uiw-vendor.50e35bef.js.LICENSE.txt similarity index 93% rename from static/js/uiw-vendor.6ef1d37e.js.LICENSE.txt rename to static/js/uiw-vendor.50e35bef.js.LICENSE.txt index 9b1bee96..3c2f9123 100644 --- a/static/js/uiw-vendor.6ef1d37e.js.LICENSE.txt +++ b/static/js/uiw-vendor.50e35bef.js.LICENSE.txt @@ -1,5 +1,5 @@ /**! - * @uiw/copy-to-clipboard v1.0.15 + * @uiw/copy-to-clipboard v1.0.16 * Copy to clipboard. * * Copyright (c) 2023 Kenny Wang diff --git a/static/js/uiw-vendor.50e35bef.js.map b/static/js/uiw-vendor.50e35bef.js.map new file mode 100644 index 00000000..0add4ec6 --- /dev/null +++ b/static/js/uiw-vendor.50e35bef.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/uiw-vendor.50e35bef.js","mappings":"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","sources":["../../src/main.js","../../node_modules/@uiw/react-affix/esm/utils.js","../../node_modules/@uiw/react-affix/esm/index.js","../../node_modules/@uiw/react-alert/esm/index.js","../../node_modules/@uiw/react-auto-link/esm/index.js","../../node_modules/@uiw/react-avatar/esm/index.js","../../node_modules/@uiw/react-back-top/esm/utils.js","../../node_modules/@uiw/react-back-top/esm/index.js","../../node_modules/@uiw/react-badge/esm/index.js","../../node_modules/@uiw/react-breadcrumb/esm/Item.js","../../node_modules/@uiw/react-breadcrumb/esm/Breadcrumb.js","../../node_modules/@uiw/react-breadcrumb/esm/index.js","../../node_modules/@uiw/react-button-group/esm/index.js","../../node_modules/@uiw/react-button/esm/index.js","../../node_modules/@uiw/react-calendar/esm/DayLabel.js","../../node_modules/@uiw/react-calendar/esm/index.js","../../node_modules/@uiw/react-card/esm/index.js","../../node_modules/@uiw/react-carousel/esm/index.js","../../node_modules/@uiw/react-cascader/esm/index.js","../../node_modules/@uiw/react-checkbox/esm/Group.js","../../node_modules/@uiw/react-checkbox/esm/Checkbox.js","../../node_modules/@uiw/react-checkbox/esm/index.js","../../node_modules/@uiw/react-collapse/esm/Panel.js","../../node_modules/@uiw/react-collapse/esm/Collapse.js","../../node_modules/@uiw/react-collapse/esm/index.js","../../node_modules/@uiw/react-copy-to-clipboard/esm/index.js","../../node_modules/@uiw/react-date-input/esm/DateInputRange.js","../../node_modules/@uiw/react-date-input/esm/index.js","../../node_modules/@uiw/react-date-picker/esm/DatePickerDay.js","../../node_modules/@uiw/react-date-picker/esm/DatePickerMonth.js","../../node_modules/@uiw/react-date-picker/esm/DatePickerYear.js","../../node_modules/@uiw/react-date-picker/esm/DatePickerCaption.js","../../node_modules/@uiw/react-date-picker/esm/index.js","../../node_modules/@uiw/react-descriptions/esm/DescriptionsItem.js","../../node_modules/@uiw/react-descriptions/esm/Cell.js","../../node_modules/@uiw/react-descriptions/esm/Row.js","../../node_modules/@uiw/react-descriptions/esm/index.js","../../node_modules/@uiw/react-divider/esm/index.js","../../node_modules/@uiw/react-drawer/esm/index.js","../../node_modules/@uiw/react-dropdown/esm/index.js","../../node_modules/@uiw/react-empty/esm/index.js","../../node_modules/@uiw/react-file-input/esm/Input.js","../../node_modules/@uiw/react-file-input/esm/List.js","../../node_modules/@uiw/react-file-input/esm/Card.js","../../node_modules/@uiw/react-file-input/esm/utils.js","../../node_modules/@uiw/react-file-input/esm/FileList.js","../../node_modules/@uiw/react-file-input/esm/index.js","../../node_modules/@uiw/react-form/esm/FormItem.js","../../node_modules/@uiw/react-form/esm/Form.js","../../node_modules/@uiw/react-form/esm/index.js","../../node_modules/@uiw/react-grid/esm/Col.js","../../node_modules/@uiw/react-grid/esm/Row.js","../../node_modules/@uiw/react-icon/esm/index.js","../../node_modules/@uiw/react-input/esm/InputNumber.js","../../node_modules/@uiw/react-input/esm/index.js","../../node_modules/@uiw/react-layout/esm/Layout.js","../../node_modules/@uiw/react-layout/esm/Header.js","../../node_modules/@uiw/react-layout/esm/Footer.js","../../node_modules/@uiw/react-layout/esm/Sider.js","../../node_modules/@uiw/react-layout/esm/Content.js","../../node_modules/@uiw/react-layout/esm/index.js","../../node_modules/@uiw/react-list/esm/Item.js","../../node_modules/@uiw/react-list/esm/index.js","../../node_modules/@uiw/react-loader/esm/index.js","../../node_modules/@uiw/github-corners/src/index.ts","../../node_modules/@uiw/react-github-corners/esm/index.js","../../node_modules/@uiw/react-back-to-top/esm/index.js","../../node_modules/@uiw/react-markdown-preview-example/esm/store.js","../../node_modules/@uiw/react-markdown-preview/esm/plugins/useCopied.js","../../node_modules/@uiw/react-markdown-preview/esm/preview.js","../../node_modules/@uiw/react-markdown-preview/esm/plugins/reservedMeta.js","../../node_modules/@uiw/react-markdown-preview/esm/nodes/octiconLink.js","../../node_modules/@uiw/react-markdown-preview/esm/rehypePlugins.js","../../node_modules/@uiw/react-markdown-preview/esm/index.js","../../node_modules/@uiw/react-markdown-preview/esm/nodes/copy.js","../../node_modules/@uiw/react-markdown-preview-example/esm/Markdown.js","../../node_modules/@uiw/react-markdown-preview-example/esm/Logo.js","../../node_modules/@uiw/react-markdown-preview-example/esm/index.js","../../node_modules/@uiw/react-markdown-preview-example/esm/Github.js","../../node_modules/@uiw/react-markdown-preview-example/esm/Corners.js","../../node_modules/@uiw/react-markdown-preview-example/esm/Example.js","../../node_modules/@uiw/react-menu/esm/MenuItem.js","../../node_modules/@uiw/react-menu/esm/Divider.js","../../node_modules/@uiw/react-menu/esm/SubMenu.js","../../node_modules/@uiw/react-menu/esm/Menu.js","../../node_modules/@uiw/react-menu/esm/index.js","../../node_modules/@uiw/react-message/esm/index.js","../../node_modules/@uiw/react-modal/esm/CallShow.js","../../node_modules/@uiw/react-modal/esm/index.js","../../node_modules/@uiw/react-month-picker/esm/index.js","../../node_modules/@uiw/react-notify/esm/Container.js","../../node_modules/@uiw/react-notify/esm/index.js","../../node_modules/@uiw/utils/esm/randomid.js","../../node_modules/@uiw/react-overlay-trigger/esm/utils.js","../../node_modules/@uiw/react-overlay-trigger/esm/util/getBordersSize.js","../../node_modules/@uiw/react-overlay-trigger/esm/util/isBrowser.js","../../node_modules/@uiw/react-overlay-trigger/esm/util/isIE.js","../../node_modules/@uiw/react-overlay-trigger/esm/util/getWindowSizes.js","../../node_modules/@uiw/react-overlay-trigger/esm/util/getBoundingClientRect.js","../../node_modules/@uiw/react-overlay-trigger/esm/util/getClientRect.js","../../node_modules/@uiw/react-overlay-trigger/esm/util/getStyleComputedProperty.js","../../node_modules/@uiw/react-overlay-trigger/esm/util/getOuterSizes.js","../../node_modules/@uiw/react-overlay-trigger/esm/getStyle.js","../../node_modules/@uiw/react-overlay-trigger/esm/index.js","../../node_modules/@uiw/react-overlay/esm/index.js","../../node_modules/@uiw/react-pagination/esm/index.js","../../node_modules/@uiw/react-pin-code/esm/index.js","../../node_modules/@uiw/react-popover/esm/index.js","../../node_modules/@uiw/react-popover/esm/Confirm.js","../../node_modules/@uiw/react-portal/esm/index.js","../../node_modules/@uiw/react-progress/esm/utils.js","../../node_modules/@uiw/react-progress/esm/Circle.js","../../node_modules/@uiw/react-progress/esm/Line.js","../../node_modules/@uiw/react-progress/esm/index.js","../../node_modules/@uiw/react-radio/esm/RadioAbstract.js","../../node_modules/@uiw/react-radio/esm/Radio.js","../../node_modules/@uiw/react-radio/esm/RadioGroup.js","../../node_modules/@uiw/react-radio/esm/RadioButton.js","../../node_modules/@uiw/react-rate/esm/index.js","../../node_modules/@uiw/react-search-select/esm/index.js","../../node_modules/@uiw/react-search-tree/esm/SearchTagInput.js","../../node_modules/@uiw/react-search-tree/esm/index.js","../../node_modules/@uiw/react-select/esm/Option.js","../../node_modules/@uiw/react-select/esm/Group.js","../../node_modules/@uiw/react-select/esm/index.js","../../node_modules/@uiw/react-slider/esm/Dots.js","../../node_modules/@uiw/react-slider/esm/index.js","../../node_modules/@uiw/react-steps/esm/Step.js","../../node_modules/@uiw/react-steps/esm/Steps.js","../../node_modules/@uiw/react-steps/esm/index.js","../../node_modules/@uiw/react-switch/esm/index.js","../../node_modules/@uiw/react-table/esm/util.js","../../node_modules/@uiw/react-table/esm/ThComponent.js","../../node_modules/@uiw/react-table/esm/Thead.js","../../node_modules/@uiw/react-table/esm/Expandable.js","../../node_modules/@uiw/react-table/esm/TableTr.js","../../node_modules/@uiw/react-table/esm/index.js","../../node_modules/@uiw/react-tabs/esm/Pane.js","../../node_modules/@uiw/react-tabs/esm/index.js","../../node_modules/@uiw/react-tag/esm/index.js","../../node_modules/@uiw/react-textarea/esm/index.js","../../node_modules/@uiw/react-time-picker/esm/Panel.js","../../node_modules/@uiw/react-time-picker/esm/Time.js","../../node_modules/@uiw/react-time-picker/esm/index.js","../../node_modules/@uiw/react-tooltip/esm/index.js","../../node_modules/@uiw/react-transfer/esm/index.js","../../node_modules/@uiw/react-tree-checked/esm/index.js","../../node_modules/@uiw/react-tree/esm/TreeNode.js","../../node_modules/@uiw/react-tree/esm/index.js","../../node_modules/@uiw/utils/esm/getScroll.js","../../node_modules/@uiw/utils/esm/noop.js","../../node_modules/uiw/node_modules/@uiw/react-split/src/index.tsx","../../node_modules/@uiw/formatter/src/index.ts"],"sourcesContent":["/**\n * *** This styling is an extra step which is likely not required. ***\n * https://github.com/w3c/clipboard-apis/blob/master/explainer.adoc#writing-to-the-clipboard\n * \n * Why is it here? To ensure:\n * \n * 1. the element is able to have focus and selection.\n * 2. if element was to flash render it has minimal visual impact.\n * 3. less flakyness with selection and copying which **might** occur if\n * the textarea element is not visible.\n *\n * The likelihood is the element won't even render, not even a flash,\n * so some of these are just precautions. However in IE the element\n * is visible whilst the popup box asking the user for permission for\n * the web page to copy to the clipboard.\n * \n * Place in top-left corner of screen regardless of scroll position.\n *\n * @typedef CopyTextToClipboard\n * @property {(text: string, method?: (isCopy: boolean) => void) => void} void\n * @returns {void}\n * \n * @param {string} text \n * @param {CopyTextToClipboard} cb \n */\nexport default function copyTextToClipboard(text, cb) {\n if (typeof document === \"undefined\") return;\n const el = document.createElement('textarea');\n el.value = text;\n el.setAttribute('readonly', '');\n el.style = {\n position: 'absolute',\n left: '-9999px',\n }\n document.body.appendChild(el);\n const selected = document.getSelection().rangeCount > 0 ? document.getSelection().getRangeAt(0) : false;\n el.select();\n let isCopy = false;\n try {\n const successful = document.execCommand('copy');\n isCopy = !!successful;\n } catch (err) {\n isCopy = false;\n }\n document.body.removeChild(el);\n if (selected && document.getSelection) {\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(selected);\n }\n cb && cb(isCopy);\n};\n","import { getScroll } from '@uiw/utils';\nexport var getTargetRect = target => {\n return target !== window ? target.getBoundingClientRect() : {\n top: 0,\n left: 0,\n bottom: 0\n };\n};\nexport var getOffset = (element, target) => {\n var elemRect = element.getBoundingClientRect();\n var targetRect = getTargetRect(target);\n var scrollTop = getScroll(target, true);\n var scrollLeft = getScroll(target);\n var docElem = window.document.body;\n var clientTop = docElem.clientTop || 0;\n var clientLeft = docElem.clientLeft || 0;\n return {\n top: elemRect.top - targetRect.top + scrollTop - clientTop,\n left: elemRect.left - targetRect.left + scrollLeft - clientLeft,\n width: elemRect.width,\n height: elemRect.height\n };\n};\nexport var getDefaultTarget = () => typeof window !== 'undefined' ? window : null;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\", \"offsetTop\", \"offsetBottom\", \"target\", \"onChange\"];\nimport React from 'react';\nimport { noop } from '@uiw/utils';\nimport { getDefaultTarget, getOffset } from './utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default class Affix extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n placeholderStyle: undefined,\n affixStyle: undefined\n };\n this.box = void 0;\n this.target = void 0;\n this.events = ['resize', 'scroll', 'touchstart', 'touchmove', 'touchend', 'pageshow', 'load'];\n this.eventHandlers = {};\n this.timeout = void 0;\n this.getInstance = node => {\n if (node) {\n this.box = node;\n }\n };\n this.updatePosition = this.updatePosition.bind(this);\n }\n componentDidMount() {\n var target = this.props.target || getDefaultTarget;\n // Wait for parent component ref has its value\n this.timeout = window.setTimeout(() => {\n this.target = target();\n this.setTargetEventListeners();\n });\n }\n componentWillUnmount() {\n this.clearEventListeners();\n clearTimeout(this.timeout);\n }\n updatePosition() {\n var {\n offsetTop\n } = this.props;\n var {\n offsetBottom\n } = this.props;\n if (!this.box || !this.box.offsetParent) {\n return;\n }\n var elemSize = {\n width: this.box.clientWidth,\n height: this.box.clientHeight\n };\n var offsetMode = {\n top: true,\n bottom: false\n };\n if (typeof offsetTop !== 'number' && typeof offsetBottom !== 'number') {\n offsetMode.top = true;\n offsetTop = 0;\n }\n if (typeof offsetBottom === 'number') {\n offsetMode.top = false;\n offsetMode.bottom = true;\n }\n var elemOffset = getOffset(this.box, this.target);\n var box = this.box.getBoundingClientRect();\n var bottom = document.documentElement.clientHeight - box.y - elemOffset.height;\n if (offsetMode.top && box.y < 0) {\n this.setPlaceholderStyle(_extends({}, elemSize));\n this.setAffixStyle({\n position: 'fixed',\n top: offsetTop || 0,\n left: elemOffset.left,\n width: elemOffset.width\n });\n } else if (offsetMode.bottom && bottom < 0) {\n this.setPlaceholderStyle(_extends({}, elemSize));\n this.setAffixStyle({\n position: 'fixed',\n bottom: offsetBottom || 0,\n left: elemOffset.left,\n width: elemOffset.width\n });\n } else {\n this.setPlaceholderStyle();\n this.setAffixStyle();\n }\n }\n setAffixStyle(affixStyle) {\n var {\n onChange\n } = this.props;\n var affixed = !!this.state.affixStyle;\n this.setState({\n affixStyle\n }, () => {\n onChange && onChange(affixed);\n });\n }\n setPlaceholderStyle(placeholderStyle) {\n this.setState({\n placeholderStyle\n });\n }\n // 设置监听事件\n setTargetEventListeners() {\n this.clearEventListeners();\n this.events.forEach(eventName => {\n this.eventHandlers[eventName] = this.updatePosition;\n this.target && this.target.addEventListener(eventName, this.updatePosition, false);\n });\n }\n clearEventListeners() {\n this.events.forEach(eventName => {\n var handler = this.eventHandlers[eventName];\n this.target && this.target.removeEventListener(eventName, handler, false);\n });\n }\n render() {\n var _this$props = this.props,\n {\n prefixCls,\n className,\n children\n } = _this$props,\n resetProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var cls = [className, prefixCls].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(\"div\", _extends({}, resetProps, {\n ref: this.getInstance,\n style: _extends({}, this.state.placeholderStyle, this.props.style),\n children: /*#__PURE__*/_jsx(\"div\", {\n className: cls,\n style: this.state.affixStyle,\n children: children\n })\n }));\n }\n}\nAffix.defaultProps = {\n prefixCls: 'w-affix',\n onChange: noop\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"width\"];\nimport React from 'react';\nimport Modal from '@uiw/react-modal';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default (function (props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-alert',\n className,\n width = 400\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(Modal, _extends({}, other, {\n width: width,\n className: cls,\n children: props.children\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"text\"];\nimport React, { Fragment } from 'react';\nimport { createElement as _createElement } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar delimiter = /((?:https?:\\/\\/)?(?:(?:[a-z0-9]?(?:[a-z0-9\\-]{1,61}[a-z0-9])?\\.[^\\.|\\s])+[a-z\\.]*[a-z]+|(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})(?::\\d{1,5})*[a-z0-9.,_\\/~#&=;%+?\\-\\\\(\\\\)]*)/gi;\nexport default (function (props) {\n if (props === void 0) {\n props = {};\n }\n var {\n text = ''\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/_jsx(Fragment, {\n children: text.split(delimiter).map((word, idx) => {\n var match = word.match(delimiter);\n if (match && match[0]) {\n var url = match[0];\n return /*#__PURE__*/_createElement(\"a\", _extends({}, other, {\n key: idx,\n href: url.startsWith('http') ? url : \"http://\" + url\n }), url);\n }\n return /*#__PURE__*/_jsx(Fragment, {\n children: word\n }, idx);\n })\n });\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"shape\", \"size\", \"className\", \"src\", \"alt\", \"icon\", \"onError\"];\nimport React from 'react';\nimport Icon from '@uiw/react-icon';\nimport { noop } from '@uiw/utils';\nimport \"./style/index.css\";\nimport { useState } from 'react';\nimport { useEffect } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-avatar',\n shape = 'circle',\n size = 'default',\n className,\n src,\n alt,\n icon,\n onError: _onError = noop\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n var children = props.children;\n var [isImgExist, setIsImgExist] = useState(true);\n var cls = [prefixCls, className, size ? prefixCls + \"-\" + size : null, shape ? prefixCls + \"-\" + shape : null, src ? prefixCls + \"-image\" : null].filter(Boolean).join(' ').trim();\n useEffect(() => {\n setIsImgExist(true);\n }, [props.src]);\n if (isImgExist && src) {\n children = /*#__PURE__*/_jsx(\"img\", {\n src: src,\n alt: alt,\n onError: evn => {\n var errorFlag = _onError ? _onError(evn) : undefined;\n if (errorFlag !== false) {\n setIsImgExist(false);\n }\n }\n });\n } else if (icon && typeof icon === 'string') {\n children = /*#__PURE__*/_jsx(Icon, {\n type: icon\n });\n } else if (icon && /*#__PURE__*/React.isValidElement(icon)) {\n children = icon;\n }\n return /*#__PURE__*/_jsx(\"span\", _extends({}, resetProps, {\n className: cls,\n ref: ref,\n children: children\n }));\n});","/**\n * 获取当前滚动条所在位置\n */\nexport function getScrollTop() {\n var scrollTop = 0;\n if (document && document.documentElement && document.documentElement.scrollTop) {\n scrollTop = document.documentElement.scrollTop;\n } else if (document.body) {\n scrollTop = document.body.scrollTop;\n }\n return scrollTop;\n}\n\n/**\n * TODO\n * @param {*} position 滚动到何处\n * @param {*} step 步长\n * @param {*} current 滚动条当前位置\n */\nexport function scrollToAnimate(position, step, current) {\n if (position === void 0) {\n position = 0;\n }\n if (step === void 0) {\n step = 100;\n }\n if (current === void 0) {\n current = 0;\n }\n var start = 0;\n var timer = setInterval(() => {\n if (current - start >= position) {\n start += step;\n if (current - start >= position) {\n window.scrollTo(0, current - start);\n } else {\n window.scrollTo(0, position);\n }\n } else {\n clearInterval(timer);\n }\n }, 0);\n}\n/**\n * 获取滚动条位置百分比\n */\nexport function getScrollPercent(offsetTop) {\n if (offsetTop === void 0) {\n offsetTop = 0;\n }\n var percent = 0;\n if (offsetTop < getScrollTop()) {\n percent = Math.round((getScrollTop() - offsetTop) / (document.body.scrollHeight - offsetTop - window.innerHeight) * 100);\n }\n return percent > 100 ? 100 : percent;\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"content\", \"children\", \"offsetTop\", \"fixed\", \"speed\", \"showBelow\", \"clickable\"];\nimport React, { useState, useEffect } from 'react';\nimport { getScrollPercent, getScrollTop, scrollToAnimate } from './utils';\nimport \"./style/index.css\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-back-top',\n className,\n content,\n children,\n offsetTop = 0,\n fixed = true,\n speed = 100,\n showBelow = 1,\n clickable = true\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var topShowBelow = !fixed ? 0 : showBelow || 0;\n var [percent, setPercent] = useState(0);\n var [current, setCurrent] = useState(0);\n var visible = percent >= topShowBelow;\n var cls = [prefixCls, className, !fixed ? 'no-fixed' : null, visible ? prefixCls + \"-show\" : null, !visible ? prefixCls + \"-hide\" : null].filter(Boolean).join(' ').trim();\n useEffect(() => {\n window && window.addEventListener('scroll', onScroll);\n return function () {\n window && window.removeEventListener('scroll', onScroll);\n };\n });\n function onScroll() {\n setPercent(getScrollPercent(offsetTop));\n setCurrent(getScrollTop());\n }\n function scrollToTop() {\n if (typeof offsetTop === 'number' && typeof speed === 'number' && typeof current === 'number') {\n scrollToAnimate(offsetTop, speed, current);\n }\n }\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n onClick: () => clickable && scrollToTop(),\n className: cls\n }, other, {\n ref: ref,\n children: [content, typeof children !== 'function' ? children : children({\n percent,\n current,\n scrollToTop: scrollToTop\n })]\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"color\", \"max\", \"dot\", \"processing\", \"count\", \"children\"];\nimport React from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-badge',\n className,\n style = {},\n color,\n max = 99,\n dot = false,\n processing = false,\n count,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var supProps = {\n className: [!dot ? prefixCls + \"-count\" : null, dot ? 'dot' : null].filter(Boolean).join(' ').trim(),\n style: {}\n };\n var cls = [className, prefixCls, !children ? 'nowrap' : null, !children ? prefixCls + \"-status\" : null, processing ? prefixCls + \"-processing\" : null].filter(Boolean).join(' ').trim();\n var warpperProps = {};\n if (count || count === 0) {\n supProps.style = _extends({\n backgroundColor: color\n }, style);\n } else {\n warpperProps.style = style || {};\n }\n return /*#__PURE__*/_jsxs(\"span\", _extends({\n className: cls\n }, other, warpperProps, {\n ref: ref,\n children: [color && /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-dot\",\n style: {\n backgroundColor: color\n }\n }), children, count !== 0 && !color && /*#__PURE__*/_jsx(\"sup\", _extends({}, supProps, {\n children: !dot && count && max && count > max ? max + \"+\" : count\n }))]\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"tagName\", \"active\", \"separator\"];\nimport React, { Fragment } from 'react';\nimport \"./style/item.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar BreadcrumbItem = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-breadcrumb',\n className,\n tagName: TagName = 'span',\n active,\n separator\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var isElm = /*#__PURE__*/React.isValidElement(separator);\n var cls = [prefixCls + \"-item\", className, active ? 'active' : null, !separator ? 'no-separator' : null, isElm ? 'no-before' : null].filter(Boolean).join(' ').trim();\n var otherProps = _extends({\n className: cls\n }, other);\n if (!isElm) {\n otherProps['data-separator'] = separator;\n }\n return /*#__PURE__*/React.createElement(TagName, _extends({}, otherProps, {\n ref\n }), /*#__PURE__*/_jsxs(Fragment, {\n children: [isElm && /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-separator\",\n children: separator\n }), props.children]\n }));\n});\nexport default BreadcrumbItem;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"separator\"];\nimport React from 'react';\nimport Item from './Item';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar Breadcrumb = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-breadcrumb',\n className,\n separator = '/'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(\"div\", _extends({}, _extends({\n className: cls\n }, other), {\n ref: ref,\n children: React.Children.map(props.children, element => {\n return /*#__PURE__*/React.cloneElement(element, Object.assign({\n separator\n }, element.props, {}));\n })\n }));\n});\nBreadcrumb.Item = Item;\nexport default Breadcrumb;\nexport { Breadcrumb };","import Breadcrumb from './Breadcrumb';\nexport * from './Item';\nexport * from './Breadcrumb';\nexport default Breadcrumb;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"vertical\", \"children\", \"className\"];\nimport React from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-btn-group',\n vertical = false,\n children,\n className\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className, vertical && prefixCls + \"-vertical\"].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: cls\n }, resetProps, {\n ref: ref,\n children: children\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"disabled\", \"active\", \"loading\", \"block\", \"basic\", \"htmlType\", \"type\", \"size\", \"icon\", \"className\", \"children\"];\nimport React from 'react';\nimport Icon from '@uiw/react-icon';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-btn',\n disabled = false,\n active = false,\n loading = false,\n block = false,\n basic = false,\n htmlType = 'button',\n type = 'light',\n size = 'default',\n icon,\n className,\n children\n } = props,\n others = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [className, prefixCls, size ? prefixCls + \"-size-\" + size : null, type ? prefixCls + \"-\" + type : null, basic ? prefixCls + \"-basic\" : null, loading ? prefixCls + \"-loading\" : null, disabled || loading ? 'disabled' : null, active ? 'active' : null, block ? 'block' : null].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsxs(\"button\", _extends({}, others, {\n ref: ref,\n type: htmlType,\n disabled: disabled || loading,\n className: cls,\n children: [icon && /*#__PURE__*/_jsx(Icon, {\n type: icon\n }), children && React.Children.map(children, child => {\n if (!child) return child;\n if ( /*#__PURE__*/React.isValidElement(child)) return child;\n return /*#__PURE__*/_jsx(\"span\", {\n children: child\n });\n })]\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"date\", \"label\"];\nimport React, { useMemo } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function RenderDay(props) {\n var {\n prefixCls,\n day,\n data,\n currentDate\n } = props;\n var dayData = useMemo(() => (data || []).filter(item => {\n var arr = (item.date && item.date.split('/') || []).map(num => Number(num));\n if (arr.length === 1) {\n return day === arr[0];\n }\n if (currentDate && arr.length === 2) {\n return currentDate.getMonth() + 1 === arr[0] && day === arr[1];\n }\n if (currentDate && arr.length === 3) {\n return currentDate.getFullYear() === arr[0] && currentDate.getMonth() + 1 === arr[1] && day === arr[2];\n }\n return false;\n }), [currentDate, day, data]);\n return useMemo(() => /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-inner\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-day\",\n children: day\n }), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-panel\",\n children: dayData && dayData.length > 0 && dayData.map((item, idx) => {\n var {\n label\n } = item,\n other = _objectWithoutPropertiesLoose(item, _excluded);\n return /*#__PURE__*/_jsx(\"div\", _extends({}, other, {\n children: label\n }), idx);\n })\n })]\n }), [dayData, day]);\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"today\", \"date\", \"data\", \"monthLabel\", \"titleFormat\", \"todayLabel\", \"panelDate\", \"onPaging\", \"onSelectDay\"];\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { DatePickerDay } from '@uiw/react-date-picker';\nimport Icon from '@uiw/react-icon';\nimport formatter from '@uiw/formatter';\nimport RenderDay from './DayLabel';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar MONTH_LABEL = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'];\nexport default function Calendar(props) {\n var {\n prefixCls = 'w-calendar',\n className,\n style,\n today = new Date(),\n date,\n data,\n monthLabel = MONTH_LABEL,\n titleFormat = 'YYYY/MM',\n todayLabel = '今天',\n onPaging,\n onSelectDay: _onSelectDay\n } = props,\n otherProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n var [panelDate, setPanelDate] = useState(props.panelDate || new Date());\n useEffect(() => {\n if (props.panelDate !== panelDate) {\n setPanelDate(panelDate);\n }\n }, [props.panelDate]);\n function handlePaging(type) {\n var currentDate = new Date();\n if (type === 'today') {\n currentDate = today || new Date();\n } else {\n var _month = panelDate.getMonth();\n if (panelDate && type === 'prev') {\n panelDate.setMonth(_month - 1);\n }\n if (panelDate && type === 'next') {\n panelDate.setMonth(_month + 1);\n }\n currentDate = panelDate;\n }\n setPanelDate(new Date(currentDate));\n onPaging && onPaging(type, currentDate.getMonth() + 1, currentDate);\n }\n var titleLable = useMemo(() => /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-title\",\n children: formatter(titleFormat, panelDate)\n }), [prefixCls, titleFormat, panelDate]);\n var btngroup = useMemo(() => /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-btn-group\",\n children: [/*#__PURE__*/_jsx(Icon, {\n type: \"down\",\n onClick: () => handlePaging('prev')\n }), /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-btn\",\n onClick: () => handlePaging('today'),\n children: todayLabel\n }), /*#__PURE__*/_jsx(Icon, {\n type: \"down\",\n onClick: () => handlePaging('next')\n })]\n }), [prefixCls, todayLabel]);\n return /*#__PURE__*/_jsxs(\"div\", {\n className: cls,\n style: style,\n children: [/*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-caption\",\n children: [titleLable, btngroup]\n }), /*#__PURE__*/_jsx(DatePickerDay, _extends({\n onSelectDay: (currentDate, dateSource) => {\n setPanelDate(currentDate);\n _onSelectDay && _onSelectDay(currentDate, dateSource);\n },\n renderDay: (day, propsNext) => /*#__PURE__*/_jsx(RenderDay, {\n prefixCls: prefixCls,\n day: day,\n data: data,\n currentDate: propsNext.date\n }),\n date: date,\n today: today,\n panelDate: panelDate || new Date()\n }, otherProps))]\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"title\", \"extra\", \"footer\", \"bordered\", \"noHover\", \"active\", \"bodyStyle\", \"bodyClassName\", \"children\"];\nimport React, { useMemo } from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-card',\n className,\n title,\n extra,\n footer,\n bordered = true,\n noHover = false,\n active = false,\n bodyStyle,\n bodyClassName,\n children\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = useMemo(() => [prefixCls, className, bordered ? prefixCls + \"-bordered\" : null, noHover ? prefixCls + \"-no-hover\" : null, active ? 'active' : null].filter(Boolean).join(' ').trim(), [prefixCls, className, bordered, noHover]);\n return /*#__PURE__*/_jsxs(\"div\", _extends({}, resetProps, {\n className: cls,\n ref: ref,\n children: [(title || extra) && /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-head\",\n children: [title && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-head-title\",\n children: title\n }), extra && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-extra\",\n children: extra\n })]\n }), children && /*#__PURE__*/_jsx(\"div\", {\n className: [prefixCls + \"-body\", bodyClassName].filter(Boolean).join(' ').trim(),\n style: bodyStyle,\n children: children\n }), footer && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-footer\",\n children: footer\n })]\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction Carousel(props, ref) {\n var {\n position = 0,\n direction = 'horizontal',\n width = 400,\n height = 200,\n palyTime = 2000,\n scrollTime = 200,\n autoPlay = true,\n afterChange,\n beforeChange,\n prefixCls = 'w-carousel',\n className,\n style\n } = props;\n var cls = useMemo(() => [prefixCls, className].filter(Boolean).join(' ').trim(), [prefixCls, className]);\n var [currentPosition, currentPositionSet] = useState(position);\n var [transitionInner, transitionInnerSet] = useState(scrollTime * 0.001 + \"s ease-in-out\");\n var positionRef = useRef(currentPosition);\n var childCount = React.Children.count(props.children) + 1;\n var _stopPlay = useRef({\n stop: () => {},\n after: afterChange,\n before: beforeChange\n });\n React.useImperativeHandle(ref, () => ({\n gotoSlide,\n prevSlide: () => gotoSlide(positionRef.current - 1),\n nextSlide: () => gotoSlide(positionRef.current + 1),\n stopPlay: () => _stopPlay.current.stop()\n }), [ref]);\n var gotoSlide = slidNumber => {\n _stopPlay.current.stop();\n var maxSlid = childCount - 1;\n var slidNumberTemp = slidNumber > maxSlid ? maxSlid : slidNumber;\n slidNumberTemp = slidNumber < 0 ? 0 : slidNumberTemp;\n positionRef.current = slidNumberTemp;\n currentPositionSet(slidNumberTemp);\n play();\n };\n var play = function play(ms) {\n if (ms === void 0) {\n ms = palyTime;\n }\n if (autoPlay) {\n var time = setInterval(() => {\n _stopPlay.current.after == null || _stopPlay.current.after(positionRef.current);\n positionRef.current++;\n if (positionRef.current >= childCount) {\n positionRef.current = 0;\n }\n currentPositionSet(positionRef.current);\n _stopPlay.current.before == null || _stopPlay.current.before(positionRef.current);\n }, ms);\n _stopPlay.current.stop = () => {\n clearInterval(time);\n };\n }\n };\n useEffect(() => {\n play();\n return () => {\n _stopPlay.current.stop();\n };\n }, [autoPlay]);\n useEffect(() => {\n var time;\n if (childCount === currentPosition + 1) {\n time = setTimeout(() => {\n _stopPlay.current.before = () => {\n transitionInnerSet(scrollTime * 0.001 + \"s ease-in-out\");\n _stopPlay.current.before = props.beforeChange;\n };\n transitionInnerSet('none');\n gotoSlide(0);\n }, scrollTime);\n }\n return () => {\n clearTimeout(time);\n };\n }, [currentPosition]);\n var childrens = React.Children.map(props.children, child => {\n return /*#__PURE__*/_jsx(\"div\", {\n style: _extends({\n width,\n height\n }, style),\n children: child\n });\n });\n var innerStyle = useMemo(() => {\n var style = {\n transform: '',\n display: ''\n };\n switch (direction) {\n case 'horizontal':\n style.transform = \"translate3d(\" + -(currentPosition * width) + \"px, 0px, 0px)\";\n style.display = 'flex';\n break;\n case 'vertical':\n style.transform = \"translate3d(0px, \" + -(currentPosition * height) + \"px, 0px)\";\n style.display = 'block';\n break;\n default:\n break;\n }\n return style;\n }, [direction, currentPosition, width, height]);\n return /*#__PURE__*/_jsx(\"div\", {\n className: cls,\n style: {\n width,\n height\n },\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: cls + \"-content\",\n style: _extends({\n width: width * childCount,\n transition: transitionInner\n }, innerStyle),\n children: [childrens, /*#__PURE__*/_jsx(\"div\", {\n style: _extends({\n width,\n height\n }, style),\n children: childrens == null ? void 0 : childrens[0]\n })]\n })\n });\n}\nexport default /*#__PURE__*/React.forwardRef(Carousel);","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { useState, useEffect, useMemo } from 'react';\nimport Input from '@uiw/react-input';\nimport Dropdown from '@uiw/react-dropdown';\nimport Menu from '@uiw/react-menu';\nimport Icon from '@uiw/react-icon';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction Cascader(props) {\n var {\n value,\n onChange,\n onSearch,\n expandTrigger = 'click',\n size,\n disabled,\n allowClear,\n placeholder,\n prefixCls = 'w-cascader',\n className,\n style = {\n width: 200\n },\n option = [],\n others,\n inputProps\n } = props;\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n var [innerIsOpen, setInnerIsOpen] = useState(false);\n var [selectedValue, setSelectedValue] = useState([]);\n var [selectIconType, setSelectIconType] = useState('');\n var [searchText, setSearchText] = useState('');\n var [searchOn, setSearchOn] = useState(false);\n var [inputValue, setInputValue] = useState('');\n var [searchOption, setSearchOption] = useState();\n useEffect(() => {\n if (onSearch) {\n var tempOptions = [];\n iteratorOption(option, opt => {\n var label = opt.map(m => m.label).join(' / ');\n tempOptions.push({\n label,\n options: opt\n });\n });\n setSearchOption(tempOptions);\n }\n }, [onSearch]);\n var iteratorOption = function iteratorOption(options, cb, opts) {\n if (opts === void 0) {\n opts = [];\n }\n options.map(opt => {\n var optsTemp = [...opts, opt];\n if (opt.children) {\n iteratorOption(opt.children, cb, optsTemp);\n } else {\n cb == null || cb(optsTemp);\n }\n });\n };\n useEffect(() => {\n if (value) {\n var valueTemp = [];\n var optChildren = option;\n value == null || value.map(item => {\n var findOpt = optChildren.find(opt => opt.value === item);\n optChildren = (findOpt == null ? void 0 : findOpt.children) || [];\n valueTemp.push(_extends({\n label: item,\n value: item\n }, findOpt));\n });\n setSelectedValue(valueTemp);\n }\n }, [value]);\n function onVisibleChange(isOpen) {\n setInnerIsOpen(isOpen);\n }\n function renderSelectIcon(type) {\n var selectIconType;\n if (type === 'enter' && allowClear && selectedValue.length > 0) {\n selectIconType = 'close';\n } else {\n selectIconType = '';\n }\n setSelectIconType(selectIconType);\n }\n var searchItemClick = options => {\n setSearchText('');\n setInnerIsOpen(false);\n handelChange(false, options);\n };\n var handleItemClick = (optionsItem, level) => {\n selectedValue.splice(level, selectedValue.length - level, optionsItem);\n if (!optionsItem.children) setInnerIsOpen(false);\n handelChange(true, selectedValue);\n };\n var handelChange = (isSeleted, selectedValue) => {\n setSelectedValue([...selectedValue]);\n var value = selectedValue.map(item => item.value);\n onChange == null || onChange(isSeleted, value, selectedValue);\n };\n var onClear = e => {\n e.stopPropagation();\n handelChange(false, []);\n };\n var handelSearch = searchText => {\n setSearchText(searchText);\n };\n var inputChange = e => {\n if (!innerIsOpen) {\n setInnerIsOpen(!innerIsOpen);\n }\n var value = e.target.value;\n onSearch && handelSearch(value);\n };\n var widths = (style == null ? void 0 : style.width) * 0.7 || undefined;\n var trigger = useMemo(() => {\n return (cb, click) => {\n var triggers = {\n onClick: () => {},\n onMouseOver: () => {}\n };\n var callback = () => {\n cb();\n };\n if (expandTrigger === 'click' || click) {\n triggers.onClick = callback;\n } else if (expandTrigger === 'hover') {\n triggers.onMouseOver = callback;\n }\n return triggers;\n };\n }, []);\n var OptionIter = function OptionIter(option, level) {\n if (level === void 0) {\n level = 0;\n }\n if (!option) return;\n return /*#__PURE__*/_jsx(Menu, {\n bordered: true,\n style: {\n minHeight: 25,\n minWidth: widths,\n overflowY: 'scroll',\n width: widths\n },\n children: !option || option.length === 0 ? /*#__PURE__*/_jsx(\"div\", {\n style: {\n color: '#c7c7c7',\n fontSize: 12\n },\n children: '没有数据'\n }) : option.map((opt, index) => {\n var _selectedValue$level, _opt$children;\n var active = ((_selectedValue$level = selectedValue[level]) == null ? void 0 : _selectedValue$level.value) === opt.value;\n return /*#__PURE__*/_jsx(Menu.Item, _extends({\n active: active,\n text: opt.label,\n addonAfter: opt.children ? /*#__PURE__*/_jsx(Icon, {\n type: \"right\"\n }) : undefined\n }, trigger(() => {\n handleItemClick(opt, level);\n }, !((_opt$children = opt.children) != null && _opt$children.length))), index);\n })\n }, level);\n };\n useEffect(() => {\n var inputValue = selectedValue.map(opt => opt.label).join(' / ');\n setInputValue(inputValue);\n }, [selectedValue]);\n return /*#__PURE__*/_jsx(Dropdown, _extends({\n className: cls,\n trigger: \"click\",\n style: {\n marginTop: 5\n },\n overlayStyl: {\n width: 100\n },\n disabled: disabled\n }, others, {\n onVisibleChange: onVisibleChange,\n isOpen: innerIsOpen,\n menu: !searchText ? /*#__PURE__*/_jsx(\"div\", {\n style: {\n display: 'flex'\n },\n children: new Array(selectedValue.length + 1).fill(0).map((_, index) => {\n var _selectedValue;\n var options = index ? (_selectedValue = selectedValue[index - 1]) == null ? void 0 : _selectedValue.children : option;\n return OptionIter(options, index);\n }).filter(m => !!m)\n }) : /*#__PURE__*/_jsx(Menu, {\n bordered: true,\n style: {\n minHeight: 25,\n minWidth: style == null ? void 0 : style.width,\n overflowY: 'scroll',\n width: style == null ? void 0 : style.width\n },\n children: !searchOption || searchOption.length === 0 ? /*#__PURE__*/_jsx(\"div\", {\n style: {\n color: '#c7c7c7',\n fontSize: 12\n },\n children: '没有数据'\n }) : searchOption.filter(opt => opt.label.includes(searchText.trim())).map((opt, index) => {\n return /*#__PURE__*/_jsx(Menu.Item, {\n text: opt.label,\n onClick: () => searchItemClick(opt.options)\n }, index);\n })\n }),\n children: /*#__PURE__*/_jsx(\"span\", {\n onMouseLeave: () => renderSelectIcon('leave'),\n onMouseOver: () => renderSelectIcon('enter'),\n children: /*#__PURE__*/_jsx(Input, _extends({}, inputProps, {\n value: searchOn ? searchText : inputValue,\n onChange: inputChange,\n size: size,\n disabled: disabled,\n placeholder: searchOn ? inputValue : placeholder,\n style: style,\n onFocus: () => onSearch && setSearchOn(true),\n onBlur: () => onSearch && setSearchOn(false),\n readOnly: !onSearch,\n addonAfter: /*#__PURE__*/_jsx(\"span\", {\n style: {\n width: 'auto'\n },\n children: !disabled && selectIconType === 'close' && /*#__PURE__*/_jsx(Icon, {\n type: selectIconType,\n onClick: onClear,\n className: prefixCls + \"-close\"\n })\n })\n }))\n })\n }));\n}\nexport default Cascader;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"name\", \"value\", \"onChange\"];\nimport React, { useMemo, useRef } from 'react';\nimport \"./style/group.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var CheckboxGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-checkbox-group',\n className,\n name,\n value,\n onChange: _onChange\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var valueRef = useRef([]);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n var childs = React.Children.toArray(props.children);\n useMemo(() => valueRef.current = value || [], [value]);\n return /*#__PURE__*/_jsx(\"div\", _extends({}, other, {\n className: cls,\n ref: ref,\n children: React.Children.map(childs, element => {\n if (! /*#__PURE__*/React.isValidElement(element)) return;\n if (Array.isArray(value) && element && element.props && element.props.value && value.includes(element.props.value)) {\n if (!valueRef.current.includes(element.props.value)) {\n valueRef.current.push(element.props.value);\n }\n }\n return /*#__PURE__*/React.cloneElement(element, Object.assign({}, element.props, {\n name,\n checked: valueRef.current.includes(element.props.value),\n onChange: e => {\n if (e.target.type && e.target.type !== 'checkbox') return;\n var checked = e.target.checked;\n var include = valueRef.current.includes(element.props.value);\n if (!include && checked) {\n valueRef.current.push(element.props.value);\n } else if (include && !checked) {\n valueRef.current = valueRef.current.filter(val => val !== element.props.value);\n }\n _onChange && _onChange(e, valueRef.current);\n }\n }));\n })\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"prefixCls\", \"type\", \"indeterminate\", \"disabled\", \"value\"];\nimport React from 'react';\nimport { RadioAbstract } from '@uiw/react-radio';\nimport { CheckboxGroup } from './Group';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction InternalCheckbox(props, ref) {\n var {\n className,\n prefixCls = 'w-checkbox',\n type = 'checkbox',\n indeterminate = false,\n disabled = false,\n value = ''\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [className, indeterminate && 'indeterminate'].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(RadioAbstract, _extends({\n ref: ref\n }, other, {\n type: type,\n prefixCls: prefixCls,\n disabled: disabled,\n value: value,\n className: cls\n }));\n}\nvar Checkbox = /*#__PURE__*/React.forwardRef(InternalCheckbox);\nCheckbox.Group = CheckboxGroup;\nexport default Checkbox;","import Checkbox from './Checkbox';\nexport * from './Checkbox';\nexport * from './Group';\nexport default Checkbox;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"icon\", \"children\", \"isActive\", \"onItemClick\", \"disabled\", \"showArrow\", \"header\", \"extra\"];\nimport React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport Icon from '@uiw/react-icon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Panel(props) {\n var {\n prefixCls = 'w-collapse',\n className,\n icon = 'down',\n children: _children,\n isActive,\n onItemClick,\n disabled = false,\n showArrow,\n header,\n extra\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls ? prefixCls + \"-item\" : null, className, isActive ? prefixCls + \"-active\" : null, disabled ? prefixCls + \"-disabled\" : null].filter(Boolean).join(' ').trim();\n var iconRender = typeof icon === 'string' ? /*#__PURE__*/_jsx(Icon, {\n type: icon\n }) : icon;\n var childStyle = child => {\n return Object.assign({}, child && child.props ? child.props.style : {}, {\n transitionDuration: '300ms'\n });\n };\n function getInstance(status, instance) {\n if (!instance) {\n return;\n }\n if (status === 'exited' || status === 'exiting') {\n instance.style.height = '1px';\n }\n if (status === 'entered' || status === 'entering') {\n // instance.style.height = `${instance.scrollHeight}px`;\n instance.style.height = getElementHeight(instance) + \"px\";\n }\n }\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls\n }, resetProps, {\n children: [/*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-header\",\n onClick: onItemClick,\n children: [showArrow && iconRender, /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-title\",\n children: header\n }), /*#__PURE__*/_jsx(Extra, {\n prefixCls: prefixCls,\n children: extra\n })]\n }), /*#__PURE__*/_jsx(CSSTransition, {\n in: isActive,\n unmountOnExit: false,\n timeout: 300,\n classNames: prefixCls + \"-panel\",\n children: status => {\n return /*#__PURE__*/React.cloneElement( /*#__PURE__*/_jsx(\"div\", {\n children: _children\n }), {\n className: prefixCls + \"-panel\",\n style: childStyle(_children),\n ref: e => getInstance(status, e)\n });\n }\n })]\n }));\n}\nfunction Extra(_ref) {\n var {\n children,\n prefixCls\n } = _ref;\n if (!children) return null;\n return /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-extra\",\n children: children\n });\n}\nfunction getElementHeight(elm) {\n var childNodes = elm.children;\n var totalHeight = 0;\n var beforeElmStyle = getComputedStyle(elm, '::before');\n var afterElmStyle = getComputedStyle(elm, '::after');\n var beforeHeight = parseInt(beforeElmStyle.height) || 0;\n var afterHeight = parseInt(afterElmStyle.height) || 0;\n totalHeight += beforeHeight + afterHeight;\n if (childNodes.length === 0) {\n return totalHeight;\n }\n for (var i = 0; i < childNodes.length; i++) {\n var childNode = childNodes[i];\n var computedStyle = getComputedStyle(childNode);\n var height = childNode.offsetHeight + +parseInt(computedStyle.marginTop) + parseInt(computedStyle.marginBottom) + parseInt(computedStyle.borderTopWidth) + parseInt(computedStyle.borderBottomWidth);\n totalHeight += height;\n var beforeStyle = getComputedStyle(childNode, '::before');\n var afterStyle = getComputedStyle(childNode, '::after');\n var _beforeHeight = parseInt(beforeStyle.height) || 0;\n var _afterHeight = parseInt(afterStyle.height) || 0;\n totalHeight += _beforeHeight + _afterHeight;\n }\n return totalHeight;\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\", \"accordion\", \"bordered\", \"showArrow\", \"activeKey\", \"onChange\"];\nimport React, { useState, useMemo } from 'react';\nimport Panel from './Panel';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction toArray(activeKey) {\n var currentActiveKey = activeKey;\n if (!Array.isArray(currentActiveKey)) {\n currentActiveKey = currentActiveKey ? [currentActiveKey] : [];\n }\n return currentActiveKey;\n}\nfunction InternalCollapse(props, ref) {\n var {\n prefixCls = 'w-collapse',\n className,\n children,\n accordion = false,\n bordered,\n showArrow = true,\n activeKey: propsActiveKey,\n onChange\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n var [activeKey, setActiveKey] = useState(toArray(propsActiveKey));\n var cls = [prefixCls, className, bordered ? 'w-noborder' : null].filter(Boolean).join(' ').trim();\n function onItemClick(key) {\n var keys = activeKey;\n if (accordion) {\n keys = keys[0] === key ? [] : [key];\n } else {\n keys = [...keys];\n var index = keys.indexOf(key);\n var isActive = index > -1;\n if (isActive) {\n keys.splice(index, 1);\n } else {\n keys.push(key);\n }\n }\n setActiveKey(keys);\n }\n useMemo(() => {\n if (propsActiveKey !== activeKey) {\n setActiveKey(toArray(propsActiveKey));\n }\n }, [propsActiveKey]);\n useMemo(() => {\n if (propsActiveKey !== activeKey) {\n onChange && onChange(activeKey);\n }\n }, [activeKey, propsActiveKey]);\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: cls\n }, resetProps, {\n ref: ref,\n children: React.Children.map(children, (child, index) => {\n // 如果没有密钥提供,请使用面板顺序作为默认密钥\n var key = child.key || String(index);\n var {\n disabled\n } = child.props;\n var isActive = false;\n if (accordion) {\n // 手风琴模式下默认选择第一个\n isActive = activeKey[0] === key;\n } else {\n isActive = activeKey.indexOf(key) > -1;\n }\n var childProps = _extends({\n prefixCls,\n isActive,\n disabled,\n showArrow,\n onItemClick: disabled ? () => {} : () => onItemClick(key)\n }, child.props);\n return /*#__PURE__*/React.cloneElement(child, childProps);\n })\n }));\n}\nvar Collapse = /*#__PURE__*/React.forwardRef(InternalCollapse);\nCollapse.displayName = 'Collapse';\nCollapse.Panel = Panel;\nexport default Collapse;","import Collapse from './Collapse';\nexport * from './Collapse';\nexport * from './Panel';\nexport default Collapse;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"text\", \"children\", \"onClick\"];\nimport React from 'react';\nimport copy from '@uiw/copy-to-clipboard';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function CopyToClipboard(props) {\n var {\n prefixCls = 'w-copy-to-clipboard',\n className,\n text = '',\n children,\n onClick = () => null\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n function handleClick(e) {\n if (!text) {\n return onClick('', false, e);\n }\n copy(text, isCopy => {\n onClick(text, isCopy, e);\n });\n }\n var otherProps = _extends({}, resetProps, {\n className: [prefixCls, className].filter(Boolean).join(' ').trim(),\n onClick: handleClick\n });\n return /*#__PURE__*/_jsxs(\"span\", _extends({}, otherProps, {\n children: [/*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-select\",\n children: text\n }), children]\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"bodyStyle\", \"className\", \"popoverProps\", \"datePickerProps\", \"allowClear\", \"format\", \"onChange\", \"value\"];\nimport React, { useEffect, useState } from 'react';\nimport Input from '@uiw/react-input';\nimport Popover from '@uiw/react-popover';\nimport DatePicker from '@uiw/react-date-picker';\nimport Icon from '@uiw/react-icon';\nimport formatter from '@uiw/formatter';\nimport \"./style/date-input-range.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport function DateInputRange(props) {\n var {\n prefixCls = 'w-dateinputrange',\n bodyStyle = undefined,\n className,\n popoverProps,\n datePickerProps,\n allowClear = true,\n format = 'YYYY/MM/DD',\n onChange,\n value\n } = props,\n inputProps = _objectWithoutPropertiesLoose(props, _excluded);\n var [dateRange, setDateRange] = useState([]);\n useEffect(() => {\n var valueTemp = [];\n var propsValue = value;\n if (Array.isArray(propsValue) && !!(propsValue != null && propsValue.length)) {\n propsValue.forEach((date, index) => {\n valueTemp[index] = typeof propsValue[index] === 'string' ? new Date(date) : date;\n });\n }\n setDateRange(valueTemp);\n }, [JSON.stringify(value)]);\n function handleChange(cdate, idx) {\n var changeValue = [...dateRange];\n changeValue[idx] = cdate;\n setDateRange(changeValue);\n onChange && onChange(cdate, changeValue);\n }\n function clearDateRange() {\n setDateRange([]);\n onChange && onChange(undefined, []);\n }\n return /*#__PURE__*/_jsxs(\"div\", {\n className: [prefixCls + \"-contents\", prefixCls + \"-inner\"].filter(Boolean).join(' ').trim(),\n style: _extends({\n width: 300\n }, bodyStyle),\n children: [/*#__PURE__*/_jsx(Popover, _extends({\n trigger: \"focus\",\n placement: \"bottomLeft\",\n autoAdjustOverflow: true\n }, popoverProps, {\n content: /*#__PURE__*/_jsx(DatePicker, _extends({\n date: dateRange[0],\n className: prefixCls + \"-popover\"\n }, datePickerProps, {\n onChange: selectedDate => handleChange(selectedDate, 0)\n })),\n children: /*#__PURE__*/_jsx(Input, _extends({\n placeholder: \"\\u8BF7\\u9009\\u62E9\\u65E5\\u671F\",\n readOnly: true\n }, inputProps, {\n // onChange={(v) => console.log('v', v)}\n value: dateRange[0] ? formatter(format, dateRange[0]) : '',\n className: [prefixCls, className].filter(Boolean).join(' ').trim()\n }))\n })), /*#__PURE__*/_jsx(Icon, {\n type: \"swap-right\",\n verticalAlign: \"baseline\",\n style: {\n fontSize: 21,\n top: -1,\n margin: '0px 8px 0px 5px'\n }\n }), /*#__PURE__*/_jsx(Popover, _extends({\n trigger: \"focus\",\n placement: \"bottomLeft\",\n autoAdjustOverflow: true\n }, popoverProps, {\n content: /*#__PURE__*/_jsx(DatePicker, _extends({\n date: dateRange[1],\n className: prefixCls + \"-popover\"\n }, datePickerProps, {\n onChange: selectedDate => handleChange(selectedDate, 1)\n })),\n children: /*#__PURE__*/_jsx(Input, _extends({\n placeholder: \"\\u8BF7\\u9009\\u62E9\\u65E5\\u671F\",\n readOnly: true\n }, inputProps, {\n value: dateRange[1] ? formatter(format, dateRange[1]) : ''\n // onChange={(v) => console.log('v2', v)}\n ,\n className: [prefixCls, className].filter(Boolean).join(' ').trim()\n }))\n })), allowClear && dateRange.length > 0 && /*#__PURE__*/_jsx(Icon, {\n className: prefixCls + \"-close-btn\",\n color: \"#a5a5a5\",\n onClick: () => clearDateRange(),\n type: \"close\"\n })]\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"popoverProps\", \"datePickerProps\", \"allowClear\", \"autoClose\", \"format\", \"onChange\"];\nimport React, { useEffect, useState } from 'react';\nimport Input from '@uiw/react-input';\nimport Popover from '@uiw/react-popover';\nimport DatePicker from '@uiw/react-date-picker';\nimport Icon from '@uiw/react-icon';\nimport formatter from '@uiw/formatter';\nexport * from './DateInputRange';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function DateInput(props) {\n var {\n prefixCls = 'w-dateinput',\n className,\n popoverProps,\n datePickerProps,\n allowClear = true,\n autoClose = false,\n format = 'YYYY/MM/DD',\n onChange\n } = props,\n inputProps = _objectWithoutPropertiesLoose(props, _excluded);\n var [date, setDate] = useState(props.value);\n var value = date || '';\n inputProps.value = typeof value === 'string' ? value : formatter(format, value);\n useEffect(() => {\n if (props.value !== date) {\n setDate(props.value);\n }\n }, [props.value]);\n function handleChange(cdate) {\n autoClose && setIsOpen(false);\n setDate(cdate);\n onChange && onChange(cdate);\n }\n if (allowClear && inputProps.value) {\n inputProps.addonAfter = /*#__PURE__*/_jsx(Icon, {\n className: prefixCls + \"-close-btn\",\n onClick: () => handleChange(undefined),\n type: \"close\"\n });\n }\n var [isOpen, setIsOpen] = useState(false);\n return /*#__PURE__*/_jsx(Popover, _extends({\n trigger: \"focus\",\n placement: \"bottomLeft\",\n autoAdjustOverflow: true,\n isOpen: isOpen,\n onVisibleChange: open => setIsOpen(open)\n }, popoverProps, {\n content: /*#__PURE__*/_jsx(DatePicker, _extends({\n date: value && new Date(value) || undefined,\n className: prefixCls + \"-popover\"\n }, datePickerProps, {\n onChange: selectedDate => handleChange(selectedDate)\n })),\n children: /*#__PURE__*/_jsx(Input, _extends({\n placeholder: \"\\u8BF7\\u9009\\u62E9\\u65E5\\u671F\",\n readOnly: true\n }, inputProps, {\n className: [prefixCls, className].filter(Boolean).join(' ').trim()\n }))\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"date\", \"row\", \"col\", \"index\", \"today\", \"panelDate\", \"disabledDate\", \"renderDay\", \"onSelectDay\"],\n _excluded2 = [\"prefixCls\", \"className\", \"weekday\", \"weekTitle\", \"date\", \"today\", \"panelDate\", \"disabledDate\", \"renderDay\", \"onSelectDay\"];\nimport React, { useMemo } from 'react';\nimport \"./style/day.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction isValidDate(date) {\n return date instanceof Date && !isNaN(date.getTime());\n}\nfunction classnames(obj) {\n return Object.keys(obj || {}).map(keyName => obj[keyName] ? keyName : null).filter(Boolean).join(' ').trim();\n}\nexport function DayRect(props) {\n var {\n date: selectedDate,\n col,\n index,\n today,\n panelDate,\n disabledDate,\n renderDay,\n onSelectDay\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = {\n end: col === 0 || col === 6,\n prev: false,\n today: false,\n selected: false,\n next: false,\n disabled: false\n };\n var date = panelDate;\n if (!date || !isValidDate(date)) date = new Date();\n var year = date.getFullYear();\n var month = date.getMonth();\n var week = useMemo(() => new Date(new Date(date).setDate(1)).getDay(), [date.toDateString()]);\n var lastDay = useMemo(() => new Date(year, month === 0 ? 12 : month + 1, 0).getDate(), [date.toDateString()]);\n var day = index;\n if (date) {\n day = day - week + 1;\n if (day < 1) {\n cls.prev = true;\n }\n if (day > lastDay) {\n cls.next = true;\n }\n }\n var cellDate = new Date(new Date(date).setDate(day));\n if (today && today.toDateString() === cellDate.toDateString()) {\n cls.today = true;\n }\n if (selectedDate && selectedDate.toDateString() === cellDate.toDateString()) {\n cls.selected = true;\n }\n var divProps = {\n onClick: () => {\n var cellMonth = cellDate.getMonth();\n onSelectDay && onSelectDay(cellDate, {\n year: cellDate.getFullYear(),\n month: cellMonth === 0 ? 12 : cellMonth + 1,\n day: cellDate.getDate()\n });\n }\n };\n if (disabledDate && disabledDate(cellDate, _extends({}, props, cls))) {\n cls.disabled = true;\n delete divProps.onClick;\n }\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: classnames(cls)\n }, other, divProps, {\n children: renderDay ? renderDay(cellDate.getDate(), _extends({}, props, cls, {\n date: cellDate\n })) : /*#__PURE__*/_jsx(\"div\", {\n children: cellDate.getDate()\n })\n }));\n}\nvar WEEKTITLE = ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];\nvar WEEKDAY = ['日', '一', '二', '三', '四', '五', '六'];\nexport function DatePickerDay(props) {\n var {\n prefixCls = 'w-datepicker',\n className,\n weekday = WEEKDAY,\n weekTitle = WEEKTITLE,\n date,\n today,\n panelDate,\n disabledDate,\n renderDay,\n onSelectDay: _onSelectDay\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n var weekdayLabel = useMemo(() => /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-weekday\",\n children: (weekday || []).map((week, idx) => /*#__PURE__*/_jsx(\"div\", {\n className: classnames({\n end: idx === 0 || idx === 6\n }),\n title: weekTitle && weekTitle[idx],\n children: week\n }, idx))\n }), [prefixCls, weekday, weekTitle]);\n return /*#__PURE__*/_jsxs(\"div\", _extends({}, other, {\n className: [prefixCls ? prefixCls + \"-body\" : null, className].filter(Boolean).join(' ').trim(),\n children: [weekdayLabel, /*#__PURE__*/_jsx(\"div\", {\n className: [prefixCls ? prefixCls + \"-day-body\" : null].filter(Boolean).join(' ').trim(),\n children: [...Array(6)].map((_, idx) => /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-week\",\n children: [...Array(7)].map((_, col) => /*#__PURE__*/_jsx(DayRect, {\n date: date,\n today: today,\n disabledDate: disabledDate,\n renderDay: renderDay,\n panelDate: panelDate,\n col: col,\n row: idx,\n onSelectDay: (curDate, data) => {\n _onSelectDay && _onSelectDay(curDate, data);\n },\n index: idx * 7 + col\n }, col))\n }, idx))\n })]\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"panelDate\", \"monthLabel\", \"onSelected\"];\nimport React from 'react';\nimport { noop } from '@uiw/utils';\nimport \"./style/year-month.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function DatePickerMonth(props) {\n var {\n prefixCls = 'w-datepicker',\n className,\n panelDate = new Date(),\n monthLabel,\n onSelected = noop\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: [prefixCls ? prefixCls + \"-month\" : null, className].filter(Boolean).join(' ').trim()\n }, other, {\n children: [...Array(12)].map((_, idx) => {\n var selectedMonth = panelDate.getMonth();\n return /*#__PURE__*/_jsx(\"div\", {\n className: [selectedMonth === idx ? 'selected' : null].filter(Boolean).join(' ').trim(),\n children: /*#__PURE__*/_jsx(\"span\", {\n onClick: () => onSelected(idx, false),\n children: monthLabel && monthLabel[idx] || idx\n })\n }, idx);\n })\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"panelNum\", \"className\", \"panelDate\", \"onSelected\"];\nimport React, { useState } from 'react';\nimport { noop } from '@uiw/utils';\nimport \"./style/year-month.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function DatePickerYear(props) {\n var {\n prefixCls = 'w-datepicker',\n panelNum = [-7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n className,\n onSelected = noop\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [activeYear, setActiveYear] = useState(props.panelDate);\n function handleSelected(year, idx) {\n if (idx === 0 || idx === panelNum.length - 1) {\n var date = new Date(activeYear);\n date.setFullYear(year);\n setActiveYear(date);\n } else {\n onSelected(year);\n }\n }\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: [prefixCls ? prefixCls + \"-year\" : null, className].filter(Boolean).join(' ').trim()\n }, other, {\n children: panelNum && panelNum.map((_, idx) => {\n var selectedYear = activeYear.getFullYear();\n var year = selectedYear + panelNum[idx];\n return /*#__PURE__*/_jsx(\"div\", {\n className: [selectedYear === year ? 'selected' : null, idx === 0 || idx === panelNum.length - 1 ? 'paging' : null].filter(Boolean).join(' ').trim(),\n children: /*#__PURE__*/_jsx(\"span\", {\n onClick: () => handleSelected(year, idx),\n children: year\n })\n }, idx);\n })\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"panelDate\", \"monthLabel\", \"onSelected\", \"todayButton\"];\nimport React, { useMemo } from 'react';\nimport { noop } from '@uiw/utils';\nimport \"./style/caption.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction classnames() {\n for (var _len = arguments.length, arg = new Array(_len), _key = 0; _key < _len; _key++) {\n arg[_key] = arguments[_key];\n }\n return [...arg].filter(Boolean).join(' ').trim();\n}\nexport function DatePickerCaption(props) {\n var {\n prefixCls = 'w-datepicker',\n className,\n panelDate = new Date(),\n monthLabel,\n onSelected = noop,\n todayButton\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var renderMonth = useMemo(() => {\n var month = panelDate.getMonth();\n return monthLabel && monthLabel[month] || month + 1;\n }, [panelDate.toDateString(), monthLabel]);\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: classnames(prefixCls ? prefixCls + \"-caption\" : null, className)\n }, other, {\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: classnames(prefixCls ? prefixCls + \"-caption-pane\" : null, 'prev'),\n onClick: () => onSelected('prev')\n }), /*#__PURE__*/_jsx(\"div\", {\n className: classnames(prefixCls ? prefixCls + \"-caption-pane\" : null, 'month'),\n onClick: () => onSelected('month'),\n children: renderMonth\n }), /*#__PURE__*/_jsx(\"div\", {\n className: classnames(prefixCls ? prefixCls + \"-caption-pane\" : null, 'year'),\n onClick: () => onSelected('year'),\n children: panelDate.getFullYear()\n }), todayButton && /*#__PURE__*/_jsx(\"div\", {\n className: classnames(prefixCls ? prefixCls + \"-caption-today\" : null),\n onClick: () => onSelected('today'),\n title: todayButton\n }), /*#__PURE__*/_jsx(\"div\", {\n className: classnames(prefixCls ? prefixCls + \"-caption-pane\" : null, 'next'),\n onClick: () => onSelected('next')\n })]\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"weekday\", \"weekTitle\", \"monthLabel\", \"date\", \"today\", \"todayButton\", \"panelDate\", \"disabledDate\", \"renderDay\", \"onChange\", \"onPanelChange\", \"showTime\"];\nimport React, { useEffect, useMemo, useState } from 'react';\nimport formatter from '@uiw/formatter';\nimport { noop } from '@uiw/utils';\nimport { TimePickerTime } from '@uiw/react-time-picker';\nimport { DatePickerDay } from './DatePickerDay';\nimport { DatePickerMonth } from './DatePickerMonth';\nimport { DatePickerYear } from './DatePickerYear';\nimport { DatePickerCaption } from './DatePickerCaption';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport * from './DatePickerDay';\nexport * from './DatePickerMonth';\nexport * from './DatePickerYear';\nexport * from './DatePickerCaption';\nvar MONTH_LABEL = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'];\nexport default function DatePicker(props) {\n var {\n prefixCls = 'w-datepicker',\n className,\n weekday,\n weekTitle,\n monthLabel = MONTH_LABEL,\n date,\n today = new Date(),\n todayButton,\n panelDate = new Date(),\n disabledDate,\n renderDay,\n onChange = noop,\n onPanelChange = noop,\n showTime\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [type, setType] = useState('day');\n var [selectDate, setSelectDate] = useState(date);\n var [selectPanelDate, setSelectPanelDate] = useState(panelDate);\n useEffect(() => {\n if (date) {\n setSelectDate(date);\n setSelectPanelDate(date);\n }\n }, [date]);\n var format = useMemo(() => showTime && showTime.format ? showTime.format : 'HH:mm:ss', [showTime]);\n function handleSelected(curType) {\n if (curType && /^(year|month|time)$/.test(curType)) {\n if (type === 'time') {\n curType = 'day';\n }\n setType(curType);\n } else {\n var currentDate = new Date(selectPanelDate);\n var month = currentDate.getMonth();\n if (curType === 'prev') {\n month -= 1;\n }\n if (curType === 'next') {\n month += 1;\n }\n currentDate.setMonth(month);\n if (curType === 'prev' || curType === 'next') {\n onPanelChange && onPanelChange(new Date(currentDate), curType);\n }\n setSelectPanelDate(curType === 'today' ? today : currentDate);\n curType === 'today' && setSelectDate(today);\n setType('day');\n }\n }\n function onSelectedTime(type, num) {\n (selectPanelDate || new Date())[\"set\" + type](num);\n setSelectPanelDate(new Date(selectPanelDate));\n onChange && onChange(new Date(selectPanelDate));\n }\n function onSelectedDate(type, month, paging) {\n (selectPanelDate || new Date())[type](month);\n setSelectPanelDate(new Date(selectPanelDate));\n setType('day');\n onChange && onChange(new Date(selectPanelDate));\n }\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: [prefixCls, className].filter(Boolean).join(' ').trim()\n }, other, {\n children: [/*#__PURE__*/_jsx(DatePickerCaption, {\n todayButton: todayButton,\n panelDate: selectPanelDate,\n monthLabel: monthLabel,\n onSelected: handleSelected\n }), type === 'day' && /*#__PURE__*/_jsx(DatePickerDay, {\n prefixCls: prefixCls,\n disabledDate: disabledDate,\n onSelectDay: (selectedDate, dateSource) => {\n setSelectPanelDate(selectedDate);\n onChange(selectedDate, dateSource);\n },\n renderDay: renderDay,\n date: selectDate,\n today: today || new Date(),\n panelDate: selectPanelDate,\n weekday: weekday,\n weekTitle: weekTitle\n }), type === 'month' && /*#__PURE__*/_jsx(DatePickerMonth, {\n panelDate: selectPanelDate,\n monthLabel: monthLabel,\n prefixCls: prefixCls,\n onSelected: num => onSelectedDate('setMonth', num)\n }), type === 'year' && /*#__PURE__*/_jsx(DatePickerYear, {\n prefixCls: prefixCls,\n panelDate: selectDate || selectPanelDate,\n onSelected: num => onSelectedDate('setFullYear', num)\n }), type === 'time' && /*#__PURE__*/_jsx(TimePickerTime, _extends({\n date: selectPanelDate\n }, showTime, {\n className: prefixCls + \"-timepicker\",\n onSelected: onSelectedTime\n })), showTime && format && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-time-btn\",\n onClick: () => handleSelected('time'),\n children: formatter(format, selectDate || selectPanelDate)\n })]\n }));\n}","var DescriptionsItem = _ref => {\n var {\n children\n } = _ref;\n return children;\n};\nexport default DescriptionsItem;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"tagName\", \"layout\", \"bordered\", \"label\", \"isLastCell\", \"colon\", \"span\", \"children\", \"column\"];\nimport React, { Fragment } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction Cell(props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls,\n className,\n tagName: TagName = 'td',\n layout,\n bordered,\n label,\n colon,\n span,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var labelProps = {\n className: [prefixCls ? prefixCls + \"-item-label\" : null, className, colon ? prefixCls + \"-item-colon\" : null, !label ? prefixCls + \"-item-no-label\" : null].filter(Boolean).join(' ').trim()\n };\n if (layout === 'horizontal') {\n if (!bordered) {\n return /*#__PURE__*/_jsxs(TagName, _extends({}, other, {\n colSpan: span,\n children: [/*#__PURE__*/_jsx(\"span\", _extends({}, labelProps, {\n children: label\n })), /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls ? prefixCls + \"-item-content\" : '',\n children: children\n })]\n }));\n }\n return /*#__PURE__*/_jsxs(Fragment, {\n children: [/*#__PURE__*/_jsx(\"th\", _extends({}, labelProps, {\n children: label\n })), /*#__PURE__*/_jsx(TagName, _extends({}, other, {\n colSpan: span ? span * 2 - 1 : span,\n className: prefixCls ? prefixCls + \"-item-content\" : '',\n children: children\n }))]\n });\n }\n return /*#__PURE__*/_jsx(TagName, {\n colSpan: span,\n className: prefixCls + \"-item-\" + (TagName === 'td' ? 'content' : 'label'),\n children: children\n });\n}\nexport default Cell;","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { Fragment } from 'react';\nimport Cell from './Cell';\nimport { createElement as _createElement } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Row(props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls,\n layout,\n bordered,\n column,\n colon,\n children = []\n } = props;\n function handleCell(isHead) {\n return children.map((child, index) => /*#__PURE__*/_createElement(Cell, _extends({}, child.props, {\n prefixCls: prefixCls,\n key: index,\n column: column,\n tagName: isHead ? 'th' : 'td',\n isLastCell: children.length - 1 === index,\n layout: layout,\n colon: colon,\n bordered: bordered\n }), isHead ? child.props.label : child.props.children));\n }\n var cls = prefixCls ? prefixCls + \"-row\" : '';\n return /*#__PURE__*/_jsxs(Fragment, {\n children: [layout === 'vertical' && /*#__PURE__*/_jsx(\"tr\", {\n className: cls,\n children: handleCell(true)\n }), /*#__PURE__*/_jsx(\"tr\", {\n className: cls,\n children: handleCell()\n })]\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"title\", \"bordered\", \"column\", \"size\", \"colon\", \"children\", \"layout\"];\nimport React from 'react';\nimport DescriptionsItem from './DescriptionsItem';\nimport Row from './Row';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport * from './DescriptionsItem';\nvar generateChildrenRows = (children, column) => {\n var rows = [];\n var columns = null;\n var leftSpans;\n children.forEach((node, index) => {\n var itemNode = node;\n if (!columns) {\n leftSpans = column;\n columns = [];\n rows.push(columns);\n }\n\n // Always set last span to align the end of Descriptions\n var lastItem = index === children.length - 1;\n if (lastItem) {\n itemNode = /*#__PURE__*/React.cloneElement(itemNode, {\n span: leftSpans\n });\n }\n // Calculate left fill span\n var {\n span = 1\n } = itemNode.props;\n columns.push(itemNode);\n leftSpans -= span;\n if (leftSpans <= 0) {\n columns = null;\n }\n });\n return rows;\n};\nfunction InternalDescriptions(props, ref) {\n var {\n prefixCls = 'w-descriptions',\n className,\n title,\n bordered,\n column = 3,\n size,\n colon = true,\n children,\n layout = 'horizontal'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className, prefixCls && layout ? prefixCls + \"-\" + layout : null, bordered ? prefixCls + \"-bordered\" : null, size ? prefixCls + \"-\" + size : null].filter(Boolean).join(' ').trim();\n var cloneChildren = React.Children.toArray(children);\n var childs = generateChildrenRows(cloneChildren, column);\n return /*#__PURE__*/_jsx(\"div\", {\n className: cls,\n ref: ref,\n children: /*#__PURE__*/_jsxs(\"table\", _extends({}, other, {\n children: [title && /*#__PURE__*/_jsx(\"caption\", {\n className: prefixCls + \"-title\",\n children: title\n }), /*#__PURE__*/_jsx(\"tbody\", {\n className: prefixCls + \"-tbody\",\n children: childs.map((child, index) => /*#__PURE__*/_jsx(Row, {\n prefixCls: prefixCls,\n bordered: bordered,\n colon: colon,\n column: column,\n layout: layout,\n children: child\n }, index))\n })]\n }))\n });\n}\nvar Descriptions = /*#__PURE__*/React.forwardRef(InternalDescriptions);\nDescriptions.Item = DescriptionsItem;\nexport default Descriptions;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\", \"dashed\", \"type\", \"align\"];\nimport React from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-divider',\n className,\n children,\n dashed = false,\n type = 'horizontal',\n align = 'center'\n } = props,\n restProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [className, prefixCls, prefixCls && type ? prefixCls + \"-\" + type : null, prefixCls && align ? prefixCls + \"-\" + align : null, children ? prefixCls + \"-with-text\" : null, !!dashed ? prefixCls + \"-dashed\" : null].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: cls\n }, restProps, {\n ref: ref,\n children: children && /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-inner-text\",\n children: children\n })\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"placement\", \"size\", \"title\", \"footer\", \"icon\", \"isCloseButtonShown\", \"bodyProps\", \"timeout\", \"isOpen\", \"maskClosable\"];\nimport React, { useMemo } from 'react';\nimport Overlay from '@uiw/react-overlay';\nimport Icon from '@uiw/react-icon';\nimport Button from '@uiw/react-button';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default (function (props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-drawer',\n className,\n style,\n placement = 'right',\n size = 260,\n title,\n footer,\n icon,\n isCloseButtonShown = true,\n bodyProps,\n timeout = 300,\n isOpen = false,\n maskClosable = true\n } = props,\n overlayProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [className, prefixCls, placement].filter(Boolean).join(' ').trim();\n var bodyCls = [bodyProps ? bodyProps.className : null, prefixCls ? prefixCls + \"-body-inner\" : null].filter(Boolean).join(' ').trim();\n var styl = _extends({}, style, {\n [/^(top|bottom)$/.test(placement) ? 'height' : 'width']: size\n });\n var footerView = useMemo(() => footer ? /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-footer\",\n children: footer\n }) : null, [footer]);\n var iconView = useMemo(() => icon ? /*#__PURE__*/_jsx(Icon, {\n type: icon\n }) : null, [icon]);\n var titleView = useMemo(() => title ? /*#__PURE__*/_jsx(\"h4\", {\n children: title\n }) : null, [title]);\n return /*#__PURE__*/_jsx(Overlay, _extends({\n className: cls,\n timeout: timeout,\n isOpen: isOpen,\n maskClosable: maskClosable\n }, overlayProps, {\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-wrapper\",\n style: styl,\n children: [(title || icon) && /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-header\",\n children: [iconView, titleView, title && isCloseButtonShown && /*#__PURE__*/_jsx(Button, {\n basic: true,\n onClick: props.onClose,\n icon: \"close\",\n type: \"light\"\n })]\n }), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-body\",\n children: /*#__PURE__*/_jsx(\"div\", _extends({}, bodyProps, {\n className: bodyCls,\n children: props.children\n }))\n }), footerView]\n })\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"placement\", \"className\", \"menu\", \"children\", \"disabled\"];\nimport React from 'react';\nimport OverlayTrigger from '@uiw/react-overlay-trigger';\nimport { useMemo } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function Dropdown(props) {\n var {\n prefixCls = 'w-dropdown',\n placement = 'bottomLeft',\n className,\n menu,\n children,\n disabled\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = useMemo(() => [prefixCls, className].filter(Boolean).join(' ').trim(), [prefixCls, className]);\n return /*#__PURE__*/_jsx(OverlayTrigger, _extends({\n isOutside: true,\n autoAdjustOverflow: true,\n className: cls,\n disabled: disabled,\n placement: placement\n }, other, {\n overlay: menu,\n children: /*#__PURE__*/React.cloneElement(children, Object.assign({}, children.props))\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"icon\", \"iconProps\", \"size\", \"description\", \"children\"];\nimport React from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar Empty = props => {\n var {\n prefixCls = 'w-empty',\n className,\n icon,\n iconProps,\n size = 64,\n description = '暂无数据',\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls\n }, other, {\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-icon\",\n children: icon ? icon : /*#__PURE__*/_jsxs(\"svg\", _extends({\n viewBox: \"0 0 1024 1024\",\n width: size,\n height: size\n }, iconProps, {\n children: [/*#__PURE__*/_jsx(\"path\", {\n d: \"M20.48 860.16a491.52 102.4 0 1 0 983.04 0 491.52 102.4 0 1 0-983.04 0Z\",\n fill: \"#F5F5F5\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M225.28 409.6l573.44-8.06912 112.78336 183.296H102.4z\",\n fill: \"#C4C5C7\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M266.24 61.44h491.52a40.96 40.96 0 0 1 40.96 40.96v532.48a40.96 40.96 0 0 1-40.96 40.96H266.24a40.96 40.96 0 0 1-40.96-40.96V102.4a40.96 40.96 0 0 1 40.96-40.96z\",\n fill: \"#F5F5F7\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M348.16 143.36h327.68a40.96 40.96 0 0 1 40.96 40.96v122.88a40.96 40.96 0 0 1-40.96 40.96H348.16a40.96 40.96 0 0 1-40.96-40.96V184.32a40.96 40.96 0 0 1 40.96-40.96zM327.68 409.6h368.64a20.48 20.48 0 0 1 0 40.96H327.68a20.48 20.48 0 0 1 0-40.96zM327.68 491.52h368.64a20.48 20.48 0 0 1 0 40.96H327.68a20.48 20.48 0 0 1 0-40.96z\",\n fill: \"#EBECEC\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M673.44384 607.58016v13.43488c0 25.14944-20.0704 45.52704-44.8512 45.52704H382.95552l-2.2528-0.06144c-23.7568-1.16736-42.63936-21.07392-42.63936-45.4656v-13.45536c0-12.55424-10.0352-22.7328-22.44608-22.7328H102.4v250.30656C102.4 860.2624 122.49088 880.64 147.29216 880.64h719.31904c24.7808 0 44.89216-20.3776 44.89216-45.50656V584.82688H695.88992c-12.3904 0-22.44608 10.17856-22.44608 22.7328z\",\n fill: \"#E0E0E0\"\n })]\n }))\n }), description && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-description\",\n children: description\n }), children && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-footer\",\n children: children\n })]\n }));\n};\nexport default Empty;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"dataLabel\", \"prefixCls\"];\nimport React from 'react';\nimport Input from '@uiw/react-input';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n className,\n dataLabel = 'Browse',\n prefixCls = 'w-fileinput'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(Input, _extends({\n ref: ref,\n \"data-label\": dataLabel,\n className: cls\n }, other, {\n type: \"file\"\n }));\n});","import React from 'react';\nimport Icon from '@uiw/react-icon';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar Picture = props => {\n var {\n className,\n prefixCls = 'w-fileinput-list',\n dataList = [],\n uploadType,\n size = 'middle',\n shape = 'round',\n readonly,\n children,\n showFileIcon = {\n showPreviewIcon: true,\n showRemoveIcon: true\n },\n onPreview,\n onAdd,\n onRemove\n } = props;\n var cls = [prefixCls, prefixCls + \"-size-\" + size, prefixCls + \"-shape-\" + shape, className].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsxs(\"div\", {\n className: cls,\n children: [children && !readonly && /*#__PURE__*/React.isValidElement(children) && /*#__PURE__*/React.cloneElement(children, {\n onClick: onAdd\n }), /*#__PURE__*/_jsx(\"div\", {\n children: dataList.map((item, index) => /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-\" + uploadType,\n children: [uploadType === 'picture' && /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-info \" + prefixCls + \"-\" + uploadType + \"-info\",\n children: [/*#__PURE__*/_jsx(\"img\", {\n src: item['dataURL'],\n alt: \"\"\n }), (showFileIcon == null ? void 0 : showFileIcon.showPreviewIcon) && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-actions\",\n children: /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-actions-search\",\n onClick: () => onPreview == null ? void 0 : onPreview(item),\n children: /*#__PURE__*/_jsx(Icon, {\n type: \"search\",\n style: {\n color: '#fff',\n fontSize: 16\n }\n })\n })\n })]\n }), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-\" + uploadType + \"-text\",\n children: item.name\n }), (showFileIcon == null ? void 0 : showFileIcon.showRemoveIcon) && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-\" + uploadType + \"-icon\",\n onClick: () => onRemove == null ? void 0 : onRemove(index),\n children: /*#__PURE__*/_jsx(Icon, {\n type: \"delete\",\n style: {\n color: '#999'\n }\n })\n })]\n }, index))\n })]\n });\n};\nexport default Picture;","import React from 'react';\nimport Icon from '@uiw/react-icon';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar Card = props => {\n var {\n className,\n prefixCls = 'w-fileinput-card',\n dataList = [],\n maxNumber = 3,\n shape = 'round',\n size = 'middle',\n readonly,\n children,\n showFileIcon = {\n showPreviewIcon: true,\n showRemoveIcon: true\n },\n onAdd,\n onPreview,\n onRemove\n } = props;\n var cls = [prefixCls, prefixCls + \"-size-\" + size, prefixCls + \"-shape-\" + shape, className].filter(Boolean).join(' ').trim();\n var isAction = showFileIcon.showPreviewIcon || showFileIcon.showRemoveIcon ? true : false;\n return /*#__PURE__*/_jsxs(\"div\", {\n className: cls,\n children: [dataList.map((item, index) => /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-box\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-box-info\",\n children: /*#__PURE__*/_jsx(\"img\", {\n src: item['dataURL'],\n alt: \"\"\n })\n }), /*#__PURE__*/_jsxs(\"div\", {\n className: isAction ? prefixCls + \"-actions\" : '',\n children: [(showFileIcon == null ? void 0 : showFileIcon.showPreviewIcon) && /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-actions-remove\",\n onClick: () => onPreview == null ? void 0 : onPreview(item),\n children: /*#__PURE__*/_jsx(Icon, {\n type: \"search\",\n style: {\n color: '#fff',\n fontSize: 16\n }\n })\n }), (showFileIcon == null ? void 0 : showFileIcon.showRemoveIcon) && /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-actions-remove\",\n onClick: () => onRemove == null ? void 0 : onRemove(index),\n children: /*#__PURE__*/_jsx(Icon, {\n type: \"delete\",\n style: {\n color: '#fff',\n fontSize: 16\n }\n })\n })]\n })]\n }, index)), maxNumber > dataList.length && !readonly && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-box \" + prefixCls + \"-btn\",\n onClick: onAdd,\n children: children\n })]\n });\n};\nexport default Card;","export var openFileDialog = inputRef => {\n if (inputRef.current) inputRef.current.click();\n};\nexport var getAcceptTypeString = accept => {\n return accept && accept.length > 0 ? accept.map(item => \".\" + item).join(', ') : 'image/*';\n};\nexport var getBase64 = file => {\n var reader = new FileReader();\n return new Promise(resolve => {\n reader.addEventListener('load', () => resolve(String(reader.result)));\n reader.readAsDataURL(file);\n });\n};\nexport var getListFiles = (files, dataURLKey) => {\n var promiseFiles = [];\n for (var i = 0; i < files.length; i += 1) {\n promiseFiles.push(getBase64(files[i]));\n }\n return Promise.all(promiseFiles).then(fileListBase64 => {\n var fileList = fileListBase64.map((base64, index) => ({\n [dataURLKey]: base64,\n file: files[index],\n name: files[index].name\n }));\n return fileList;\n });\n};\nexport var isUploadType = type => {\n return ['picture', 'text', 'card'].includes(type);\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport React, { useRef, useCallback, useEffect, useState } from 'react';\nimport List from './List';\nimport Card from './Card';\nimport { openFileDialog, getListFiles } from './utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport var FileList = props => {\n var {\n uploadType,\n value = [],\n multiple = false,\n maxNumber = 3,\n onChange\n } = props;\n var inputRef = useRef(null);\n var inValue = value || [];\n var [fileList, setFileList] = useState([]);\n useEffect(() => {\n setFileList(inValue);\n }, [value]);\n var handleClickInput = useCallback(() => openFileDialog(inputRef), [inputRef]);\n var onFileUpload = useCallback(() => {\n if (inputRef.current) inputRef.current.value = '';\n handleClickInput();\n }, [handleClickInput]);\n var onInputChange = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (e) {\n var files = e.target.files;\n if (!files) return;\n var updatedFileList = yield getListFiles(files, 'dataURL');\n var updatedList = [...fileList, ...updatedFileList];\n if (maxNumber < updatedList.length) {\n updatedList = updatedList.slice(0, maxNumber);\n }\n setFileList(updatedList);\n onChange == null || onChange(updatedList);\n });\n return function onInputChange(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n var onRemove = index => {\n var updatedList = [...fileList];\n updatedList.splice(index, 1);\n setFileList(updatedList);\n onChange == null || onChange(updatedList);\n };\n var Comp;\n if (uploadType === 'card') {\n Comp = Card;\n }\n if (uploadType === 'picture' || uploadType === 'text') {\n Comp = List;\n }\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"input\", {\n type: \"file\",\n ref: inputRef,\n multiple: multiple,\n style: {\n display: 'none'\n },\n onChange: onInputChange\n }), Comp && /*#__PURE__*/_jsx(Comp, _extends({}, props, {\n maxNumber: maxNumber || 3,\n dataList: fileList,\n onAdd: onFileUpload,\n onRemove: onRemove\n }))]\n });\n};\nexport default FileList;","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport Input from './Input';\nimport FileList from './FileList';\nimport { isUploadType } from './utils';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction Upload(props) {\n var {\n uploadType = 'input'\n } = props;\n if (uploadType === 'input') {\n return /*#__PURE__*/_jsx(Input, _extends({}, props));\n }\n if (isUploadType(uploadType)) {\n return /*#__PURE__*/_jsx(FileList, _extends({}, props));\n }\n return null;\n}\nexport default Upload;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"required\", \"style\", \"label\", \"labelFor\", \"labelClassName\", \"labelStyle\", \"help\", \"inline\", \"initialValue\", \"validator\", \"hasError\"];\nimport React from 'react';\nimport { Col, Row } from '@uiw/react-grid';\nimport \"./style/form-item.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default class FormItem extends React.PureComponent {\n render() {\n var _this$props = this.props,\n {\n prefixCls,\n className,\n required,\n style,\n label,\n labelFor,\n labelClassName,\n labelStyle,\n help,\n inline,\n hasError\n } = _this$props,\n otherProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var cls = [prefixCls, className, hasError ? prefixCls + \"-error\" : null].filter(Boolean).join(' ').trim();\n var labelCls = ['w-form-label', labelClassName].filter(Boolean).join(' ').trim();\n if (inline) {\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls,\n style: style\n }, otherProps, {\n children: [/*#__PURE__*/_jsxs(Row, {\n children: [/*#__PURE__*/_jsxs(Col, {\n fixed: true,\n className: labelCls,\n children: [required && /*#__PURE__*/_jsx(\"label\", {\n style: {\n color: 'red'\n },\n children: \"*\"\n }), /*#__PURE__*/_jsx(\"label\", {\n style: labelStyle,\n htmlFor: labelFor,\n children: label\n })]\n }), /*#__PURE__*/_jsx(Col, {\n className: \"w-form-row\",\n children: this.props.children\n })]\n }), help && /*#__PURE__*/_jsx(Row, {\n children: /*#__PURE__*/_jsx(Col, {\n className: \"w-form-help\",\n children: help\n })\n })]\n }));\n }\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls,\n style: style\n }, otherProps, {\n children: [label && /*#__PURE__*/_jsxs(React.Fragment, {\n children: [required && /*#__PURE__*/_jsx(\"label\", {\n style: {\n color: 'red'\n },\n children: \"*\"\n }), /*#__PURE__*/_jsx(\"label\", {\n className: labelCls,\n style: labelStyle,\n htmlFor: labelFor,\n children: label\n })]\n }), /*#__PURE__*/_jsx(Col, {\n className: \"w-form-row\",\n children: this.props.children\n }), help && /*#__PURE__*/_jsx(\"div\", {\n className: \"w-form-help\",\n children: help\n })]\n }));\n }\n}\nFormItem.defaultProps = {\n prefixCls: 'w-form-item'\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nvar _excluded = [\"prefixCls\", \"className\", \"fields\", \"children\", \"resetOnSubmit\", \"onSubmitError\", \"onChange\", \"onSubmit\", \"afterSubmit\"],\n _excluded2 = [\"children\", \"validator\", \"name\", \"help\", \"label\", \"labelFor\", \"labelClassName\", \"labelStyle\", \"inline\", \"initialValue\"];\nimport React, { useState, useImperativeHandle, useMemo } from 'react';\nimport FormItem from './FormItem';\nimport \"./style/form.css\";\nimport { createElement as _createElement } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction newFormState(fields, cb) {\n var state = {\n initial: {},\n current: {},\n submitting: false,\n errors: {}\n };\n for (var name in fields) {\n var props = fields[name];\n if (!props) continue;\n var {\n initialValue,\n currentValue: _currentValue\n } = cb(_extends({}, props, {\n name\n }));\n state.initial[name] = Array.isArray(initialValue) ? [...initialValue] : initialValue;\n state.current[name] = _currentValue;\n }\n return state;\n}\nfunction newInitialValue(value) {\n return value === null || value === undefined ? '' : value;\n}\nvar isPromise = promise => promise && typeof promise.then === 'function';\nfunction Form(props, ref) {\n var {\n prefixCls = 'w-form',\n className,\n fields,\n children,\n resetOnSubmit,\n onSubmitError,\n onChange,\n onSubmit,\n afterSubmit\n } = props,\n others = _objectWithoutPropertiesLoose(props, _excluded);\n var initData = useMemo(() => newFormState(fields, _ref => {\n var {\n initialValue\n } = _ref;\n initialValue = newInitialValue(initialValue);\n return {\n initialValue,\n currentValue: initialValue\n };\n }), []);\n var [data, setData] = useState(initData);\n useImperativeHandle(ref, () => ({\n onSubmit: handleSubmit,\n resetForm: handleReset,\n getFieldValues: () => data.current,\n getError: () => data.errors,\n setFields: setFields,\n setFieldValue: setFieldValue\n }), [data]);\n var formUnits = {};\n for (var name in fields) {\n var itemProps = fields[name];\n if (!itemProps) continue;\n var error = data.errors[name];\n if (typeof itemProps.initialValue === 'boolean') {\n itemProps.checked = itemProps.initialValue;\n }\n var childField = controlField(_extends({}, itemProps, {\n name\n }));\n var help = error || itemProps.help;\n var labelFor = itemProps.labelFor;\n formUnits[name] = /*#__PURE__*/_createElement(FormItem, _extends({}, itemProps, {\n key: name,\n children: childField,\n help: help,\n labelFor: labelFor,\n name: name,\n hasError: !!error\n }));\n }\n function setFields(fields) {\n var tempData = _extends({}, data, {\n current: fields\n });\n setData(tempData);\n }\n function setFieldValue(fieldName, value) {\n var tempData = _extends({}, data, {\n current: _extends({}, data.current, {\n [fieldName]: value\n })\n });\n setData(tempData);\n }\n function handleChange(name, validator, element, cb) {\n return (env, list) => {\n var value = env && env.target && 'value' in env.target ? env.target.value : env;\n // 控件 Checkbox.Group 多选值的处理\n value = list || value;\n // 控件 Checkbox 值的处理\n if (!list && element && env && env.target && /(radio)/.test(env.target.type)) {\n // 控件 Switch/Radio/Checkbox 值的处理\n value = env.target.value ? env.target.value : env.target.checked;\n }\n if (!list && element && env && env.target && /(checkbox)/.test(env.target.type)) {\n // 控件 Switch/Radio/Checkbox 值的处理\n value = env.target.checked;\n }\n var nextState = {\n current: _extends({}, data.current, {\n [name]: value\n })\n };\n var error = validator && validator(value);\n if (!error) {\n nextState.errors = _extends({}, data.errors);\n delete nextState.errors[name];\n }\n if (env && env.persist && typeof env.persist === 'function') env.persist();\n setData(_extends({}, data, nextState));\n if (cb) {\n cb(env);\n }\n onChange && onChange(_extends({}, data, nextState));\n };\n }\n function handleSubmit(e) {\n e && e.preventDefault();\n var {\n initial,\n current\n } = data;\n setData(_extends({}, data, {\n submitting: true\n }));\n var nextState = {\n submitting: false\n };\n var onError = evn => setData(_extends({}, data, nextState, {\n errors: onSubmitError && onSubmitError(evn) || {}\n }));\n var onSuccess = response => {\n if (resetOnSubmit) {\n nextState.current = initial;\n }\n setData(_extends({}, data, nextState, {\n errors: {}\n }));\n afterSubmit && afterSubmit({\n state: data,\n response,\n reset: handleReset\n });\n };\n try {\n var afterSubmitPromise = onSubmit ? onSubmit({\n initial,\n current\n }, e) : undefined;\n if (afterSubmitPromise && isPromise(afterSubmitPromise)) {\n return afterSubmitPromise.then(onSuccess).catch(onError);\n } else {\n return onSuccess(afterSubmitPromise);\n }\n } catch (evn) {\n onError(evn);\n }\n }\n function canSubmit() {\n var {\n submitting,\n current = {}\n } = data;\n var passesValidators = true;\n for (var _name in fields) {\n if (Object.prototype.hasOwnProperty.call(fields, _name)) {\n var fieldsProps = fields[_name];\n if (!fieldsProps) continue;\n if (fieldsProps.validator && fieldsProps.validator(current[_name])) {\n passesValidators = false;\n break;\n }\n }\n }\n return !submitting && passesValidators;\n }\n function handleReset() {\n var {\n initial\n } = data;\n var initials = _extends({}, initial);\n Object.entries(initials).map(_ref2 => {\n var [key, value] = _ref2;\n if (Array.isArray(value)) {\n initials[key] = [...value];\n }\n });\n setData(_extends({}, data, {\n initial,\n current: initials,\n errors: {}\n }));\n }\n function controlField(_ref3) {\n var {\n children,\n validator,\n name\n } = _ref3,\n other = _objectWithoutPropertiesLoose(_ref3, _excluded2);\n var element = typeof children !== 'function' ? children : children({\n onChange: handleChange(name, validator),\n onSubmit: handleSubmit,\n canSubmit: canSubmit\n });\n if (!element || React.Children.count(element) !== 1 || !name) return element;\n var props = _extends({\n name: element.props.name || name\n }, other);\n var hasCurrentValue = Object.prototype.hasOwnProperty.call(data.current, name);\n props.id = element.props.id;\n props.value = hasCurrentValue ? data.current && data.current[name] : props.value;\n // : element.props.value;\n\n var type = element.props.type;\n if (type === 'checkbox' || type === 'switch' || typeof props.value === 'boolean') {\n props.checked = !!props.value;\n delete props.value;\n }\n props.onChange = handleChange(name, validator, element, element.props.onChange);\n return /*#__PURE__*/React.cloneElement(element, props);\n }\n return /*#__PURE__*/_jsx(\"form\", _extends({}, others, {\n className: [prefixCls, className].filter(Boolean).join(' ').trim(),\n onSubmit: handleSubmit,\n children: /*#__PURE__*/_jsx(\"fieldset\", {\n disabled: data.submitting,\n children: typeof children === 'function' ? children({\n fields: formUnits,\n state: data,\n resetForm: handleReset,\n canSubmit: canSubmit\n }) : children\n })\n }));\n}\nexport default /*#__PURE__*/React.forwardRef(Form);","import Form from './Form';\nexport * from './Form';\nexport * from './FormItem';\nexport { default as FormItem } from './FormItem';\nexport default Form;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"fixed\", \"span\", \"grow\", \"align\"];\nimport React from 'react';\nimport \"./style/col.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function Col(props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-col',\n className,\n fixed,\n span,\n grow,\n align\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className, span ? prefixCls + \"-\" + span : null, fixed ? prefixCls + \"-fixed\" : null, align ? prefixCls + \"-align-\" + align : null, fixed ? prefixCls + \"-grow-\" + grow : null].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: cls\n }, other, {\n children: props.children\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"gutter\", \"justify\", \"align\"];\nimport React from 'react';\nimport \"./style/row.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function Row(props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-row',\n className,\n gutter = 0,\n justify,\n align\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className, align ? prefixCls + \"-align-\" + align : null, justify ? prefixCls + \"-justify-\" + justify : null].filter(Boolean).join(' ').trim();\n var gutterStyl = !gutter ? {} : {\n paddingLeft: gutter / 2,\n paddingRight: gutter / 2\n };\n return /*#__PURE__*/_jsx(\"div\", _extends({}, other, {\n className: cls,\n children: React.Children.toArray(props.children).map(child => {\n if (! /*#__PURE__*/React.isValidElement(child)) return child;\n return /*#__PURE__*/React.cloneElement(child, Object.assign({}, child.props, {\n style: _extends({}, child.props.style, gutterStyl)\n }));\n })\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"prefixCls\", \"verticalAlign\", \"tagName\", \"color\", \"type\", \"spin\", \"style\"];\nimport React from 'react';\nimport svgPaths from '@uiw/icons/fonts/w-icon.json';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar Icon = props => {\n var {\n className,\n prefixCls = 'w-icon',\n verticalAlign = 'middle',\n tagName: Element = 'span',\n color,\n type,\n spin = false,\n style\n } = props,\n reset = _objectWithoutPropertiesLoose(props, _excluded);\n var svg = null;\n if (typeof type === 'string') {\n svg = /*#__PURE__*/_jsx(\"svg\", {\n fill: color || props.fill,\n viewBox: \"0 0 20 20\",\n children: (svgPaths[type] || []).map((d, i) => /*#__PURE__*/_jsx(\"path\", {\n d: d,\n fillRule: \"evenodd\"\n }, i))\n });\n }\n var initStyle = _extends({\n fill: 'currentColor'\n }, style);\n var cls = [prefixCls, className, prefixCls && verticalAlign ? prefixCls + \"-\" + verticalAlign : null, spin && prefixCls ? prefixCls + \"-spin\" : null].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(Element, _extends({\n className: cls\n }, reset, {\n style: initStyle,\n children: svg\n }));\n};\nexport default Icon;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"min\", \"max\", \"step\", \"overLimitColor\", \"keyboard\", \"formatter\", \"prefixCls\"];\nimport React, { useState, useMemo } from 'react';\nimport Input from './';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n className,\n min,\n max,\n step,\n overLimitColor,\n keyboard = false,\n prefixCls = 'w-input-number'\n } = props,\n otherProps = _objectWithoutPropertiesLoose(props, _excluded);\n var value = useMemo(() => {\n var _ref;\n return Number.parseFloat((_ref = props.value || 0) == null ? void 0 : _ref.toString());\n }, [props.value]);\n var [isOverLimit, isOverLimitSet] = useState(overLimitComp(value));\n function overLimitComp(value) {\n if (typeof min === 'number' && value < min) return true;\n if (typeof max === 'number' && value > max) return true;\n return false;\n }\n var onChange = v => {\n var isOverLimit = overLimitComp(Number.parseFloat(v.target.value));\n isOverLimitSet(isOverLimit);\n props.onChange == null || props.onChange(v);\n };\n var overLimitProps = useMemo(() => {\n if (!overLimitColor) return {\n min,\n max\n };\n }, []);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n var inputStyle = useMemo(() => isOverLimit ? {\n color: overLimitColor == null ? void 0 : overLimitColor.toString()\n } : undefined, [isOverLimit]);\n return /*#__PURE__*/_jsx(Input, _extends({}, otherProps, {\n className: cls,\n type: \"number\",\n inputStyle: inputStyle,\n onChange: onChange,\n step: step\n }, overLimitProps));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"size\", \"type\", \"preIcon\", \"addonAfter\", \"inputStyle\"];\nimport React, { useEffect, useImperativeHandle } from 'react';\nimport Icon from '@uiw/react-icon';\nimport \"./style/input.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport * from './InputNumber';\nexport { default as InputNumber } from './InputNumber';\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-input',\n className,\n style,\n size = 'default',\n type = 'text',\n preIcon = null,\n addonAfter,\n inputStyle\n } = props,\n otherProps = _objectWithoutPropertiesLoose(props, _excluded);\n var inputRef = React.useRef(null);\n var addonRef = React.useRef(null);\n useImperativeHandle(ref, () => inputRef.current);\n var cls = [prefixCls, className, size ? prefixCls + \"-\" + size : null, addonAfter ? prefixCls + \"-addon\" : null, props.disabled ? 'disabled' : null].filter(Boolean).join(' ').trim();\n useEffect(() => {\n computedInputPadding();\n });\n function computedInputPadding() {\n if (addonRef.current && inputRef.current) {\n var input = window && window.getComputedStyle(addonRef.current, null);\n inputRef.current.style.paddingRight = addonRef.current.clientWidth + parseInt(input.right, 10) * 2 + \"px\";\n }\n }\n return /*#__PURE__*/_jsxs(\"div\", {\n className: cls,\n style: style,\n children: [/*#__PURE__*/_jsx(Icon, {\n type: preIcon\n }), /*#__PURE__*/_jsx(\"input\", _extends({\n ref: inputRef,\n type: type,\n autoComplete: \"off\"\n }, otherProps, {\n style: inputStyle,\n className: prefixCls + \"-inner\"\n })), addonAfter && /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-addon-after\",\n ref: addonRef,\n children: addonAfter\n })]\n });\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"hasSider\", \"children\"];\nimport React, { useState } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var LayoutContext = /*#__PURE__*/React.createContext({\n addSider: () => null,\n removeSider: () => null\n});\nvar Layout = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-layout',\n className,\n hasSider,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [siders, setSiders] = useState([]);\n var addSider = id => {\n setSiders(state => [...state, id]);\n };\n var removeSider = id => {\n setSiders(state => [...state.filter(currentId => currentId !== id)]);\n };\n var cls = [prefixCls, className, typeof hasSider === 'boolean' && hasSider || siders.length > 0 ? prefixCls + \"-has-sider\" : null].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(LayoutContext.Provider, {\n value: {\n addSider,\n removeSider\n },\n children: /*#__PURE__*/_jsx(\"section\", _extends({\n ref: ref,\n className: cls\n }, other, {\n children: children\n }))\n });\n});\nLayout.displayName = 'Layout';\nexport default Layout;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\"];\nimport React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var LayoutHeader = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _ref = props || {},\n {\n prefixCls = 'w-layout-header',\n className,\n children\n } = _ref,\n other = _objectWithoutPropertiesLoose(_ref, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(\"header\", _extends({\n ref: ref,\n className: cls\n }, other, {\n children: children\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\"];\nimport React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var LayoutFooter = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-layout-footer',\n className,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(\"footer\", _extends({\n ref: ref,\n className: cls\n }, other, {\n children: children\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"children\", \"width\", \"collapsedWidth\", \"collapsed\", \"addSider\", \"removeSider\"];\nimport React, { useEffect, useState, useMemo } from 'react';\nimport { LayoutContext } from './Layout';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function randomid() {\n return parseInt(String(Math.random() * 1e15), 10).toString(36);\n}\nvar Sider = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _ref = props,\n {\n prefixCls = 'w-layout-sider',\n className,\n style,\n children,\n width = 200,\n collapsedWidth = 80,\n collapsed = false,\n addSider,\n removeSider\n } = _ref,\n other = _objectWithoutPropertiesLoose(_ref, _excluded);\n var [sliderId] = useState(\"w-layout-\" + randomid());\n var [rawWidth, setRawWidth] = useState(collapsed ? collapsedWidth : width);\n useEffect(() => {\n if (addSider) {\n addSider(sliderId);\n }\n return () => {\n if (removeSider) {\n removeSider(sliderId);\n }\n };\n }, []);\n useMemo(() => setRawWidth(collapsed ? collapsedWidth : width), [width, collapsedWidth, collapsed]);\n var divStyle = _extends({}, style, {\n flex: \"0 0 \" + rawWidth,\n maxWidth: rawWidth,\n minWidth: rawWidth,\n width: rawWidth\n });\n return /*#__PURE__*/_jsx(\"div\", _extends({\n ref: ref,\n className: [prefixCls, className].filter(Boolean).join(' ').trim(),\n style: divStyle\n }, other, {\n children: children\n }));\n});\nexport var LayoutSider = /*#__PURE__*/React.forwardRef((props, ref) => {\n return /*#__PURE__*/_jsx(LayoutContext.Consumer, {\n children: context => /*#__PURE__*/_jsx(Sider, _extends({\n ref: ref\n }, props, context))\n });\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\"];\nimport React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var LayoutContent = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-layout-content',\n className,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(\"main\", _extends({\n ref: ref,\n className: cls\n }, other, {\n children: children\n }));\n});","import Layout from './Layout';\nimport { LayoutHeader } from './Header';\nimport { LayoutFooter } from './Footer';\nimport { LayoutSider } from './Sider';\nimport { LayoutContent } from './Content';\nimport \"./style/index.css\";\nLayout.Header = LayoutHeader;\nLayout.Footer = LayoutFooter;\nLayout.Sider = LayoutSider;\nLayout.Content = LayoutContent;\nexport * from './Layout';\nexport * from './Header';\nexport * from './Footer';\nexport * from './Sider';\nexport * from './Content';\nexport default Layout;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\", \"extra\", \"tagName\", \"active\"];\nimport React, { Fragment } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport var ListItem = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-list-item',\n className,\n children,\n extra,\n tagName = 'div',\n active = false\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className, props.disabled ? 'w-disabled' : null, active ? 'w-active' : null].filter(Boolean).join(' ').trim();\n var TagName = props.href && typeof tagName === 'string' ? 'a' : tagName;\n return /*#__PURE__*/React.createElement(TagName, _extends({}, resetProps, {\n className: cls,\n ref\n }), !extra || resetProps.href ? children : /*#__PURE__*/_jsxs(Fragment, {\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-main\",\n children: children\n }), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-extra\",\n children: extra\n })]\n }));\n});\nListItem.displayName = 'List.Item';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"bordered\", \"striped\", \"noHover\", \"active\", \"size\", \"renderItem\", \"className\", \"children\", \"header\", \"footer\", \"dataSource\"];\nimport React from 'react';\nimport { ListItem } from './Item';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport * from './Item';\nfunction InternalList(props, ref) {\n var {\n prefixCls = 'w-list',\n bordered = true,\n striped = false,\n noHover = false,\n active = false,\n size = 'default',\n renderItem,\n className,\n children,\n header,\n footer,\n dataSource = []\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n var items;\n if (dataSource && dataSource.length > 0) {\n items = dataSource.map((item, index) => renderItem && renderItem(item, index));\n } else {\n items = children;\n }\n var childrenList = React.Children.map(items, (child, index) => /*#__PURE__*/React.isValidElement(child) && /*#__PURE__*/React.cloneElement(child, {\n key: index\n }));\n var classString = [prefixCls, className, striped ? prefixCls + \"-striped\" : null, noHover ? prefixCls + \"-no-hover\" : null, active ? prefixCls + \"-active\" : null, bordered ? prefixCls + \"-bordered\" : null, size && size !== 'default' ? prefixCls + \"-size-\" + size : null].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: classString\n }, resetProps, {\n ref: ref,\n children: [header && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-header\",\n children: header\n }), childrenList, footer && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-footer\",\n children: footer\n })]\n }));\n}\nvar List = /*#__PURE__*/React.forwardRef(InternalList);\nList.Item = ListItem;\nexport default List;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"size\", \"loading\", \"tip\", \"vertical\", \"color\", \"bgColor\", \"children\", \"indicator\", \"fullscreen\"];\nimport React, { useMemo } from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default (function (props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-loader',\n className,\n size = 'default',\n loading = true,\n tip,\n vertical,\n color,\n bgColor,\n children,\n indicator,\n fullscreen = false\n } = props,\n otherProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className, size ? prefixCls + \"-\" + size : null].filter(Boolean).join(' ').trim();\n var indicatorView = useMemo(() => /*#__PURE__*/_jsx(\"svg\", {\n viewBox: \"25 25 50 50\",\n children: /*#__PURE__*/_jsx(\"circle\", {\n cx: \"50\",\n cy: \"50\",\n r: \"20\",\n fill: \"none\",\n strokeWidth: \"5\",\n strokeMiterlimit: \"10\"\n })\n }), []);\n var tipsView = useMemo(() => /*#__PURE__*/_jsx(\"div\", {\n className: [prefixCls + \"-tips\", fullscreen ? prefixCls + \"-fullscreen\" : null].filter(Boolean).join(' ').trim(),\n style: {\n color,\n backgroundColor: bgColor\n },\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-tips-nested\",\n children: [indicator || indicatorView, tip && /*#__PURE__*/_jsx(\"div\", {\n className: [prefixCls + \"-text\", vertical ? prefixCls + \"-vertical\" : null].filter(Boolean).join(' ').trim(),\n children: tip\n })]\n })\n }), [fullscreen, bgColor, prefixCls, vertical, tip]);\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls\n }, otherProps, {\n children: [(loading || fullscreen) && tipsView, children && /*#__PURE__*/React.cloneElement(children, Object.assign({}, children.props, {\n className: [prefixCls + \"-warp\", loading ? prefixCls + \"-blur\" : null].filter(Boolean).join(' ').trim()\n }))]\n }));\n});","// @ts-ignore\ndeclare global {\n interface HTMLElementTagNameMap {\n 'github-corners': GithubCorners;\n }\n namespace JSX {\n interface IntrinsicElements {\n 'github-corners': Partial | {\n style?: Partial | React.CSSProperties;\n };\n }\n }\n}\n\nconst GITHUB_CORNERS_TEMPLATE = document.createElement(\"template\");\nGITHUB_CORNERS_TEMPLATE.innerHTML = `\n\n\n \n \n \n \n \n \n \n\n`;\n\nexport class GithubCorners extends HTMLElement {\n /** Sets the z-order of a positioned element and its descendants or flex items. */\n 'z-index'?: string;\n height?: string | number;\n width?: string | number;\n href?: string;\n color?: string;\n fill?: string;\n position?: string;\n target?: string;\n top?: string;\n left?: string;\n right?: string = '0';\n bottom?: string;\n transform?: string;\n private shadow: ShadowRoot\n static get observedAttributes(): string[] {\n return ['style', 'z-index', 'target', 'height', 'width', 'href', 'color', 'fill', 'position', 'top', 'left', 'right', 'bottom', 'transform'];\n }\n constructor() {\n super();\n this.shadow = this.attachShadow({ mode: 'open' });\n this.shadow.appendChild(this.ownerDocument.importNode(GITHUB_CORNERS_TEMPLATE.content, true));\n this.update()\n }\n private setAttr(name: string, value: string) {\n const svg = this.shadow.querySelector('svg');\n if (/(href)/.test(name.toLocaleLowerCase())) {\n svg.lastElementChild.setAttribute('xlink:href', value);\n } else if (/(color|fill)/.test(name.toLocaleLowerCase())) {\n (svg.firstElementChild as HTMLAnchorElement).style[name as any] = value;\n } else if (/(z-index|position|top|left|right|bottom|transform)/.test(name.toLocaleLowerCase())) {\n svg.style[name as any] = value;\n } else {\n svg.setAttribute(name, value);\n }\n }\n private update() {\n ;[...this.getAttributeNames(), 'right'].forEach((name) => {\n const value = this.getAttribute(name) || this[name as keyof GithubCorners] as any || '';\n this.setAttr(name, value);\n });\n }\n attributeChangedCallback(name: string, oldValue: string, newValue: string) {\n if (oldValue !== newValue) {\n this.setAttr(name, newValue);\n }\n }\n}\n\ncustomElements.define('github-corners', GithubCorners);","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"size\", \"fixed\", \"bottom\", \"zIndex\", \"className\", \"style\", \"bgColor\", \"color\", \"position\"];\nimport React from 'react';\nimport '@uiw/github-corners';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function githubCorners(props) {\n var {\n size = 80,\n fixed = false,\n bottom,\n zIndex,\n style,\n bgColor = '#151513',\n color = '#fff',\n position = 'right'\n } = props,\n otherProps = _objectWithoutPropertiesLoose(props, _excluded);\n var styl = position === 'left' ? {\n left: 0,\n right: 'initial',\n transform: 'scale(-1, 1)'\n } : {\n right: 0,\n left: 'initial',\n transform: 'scale(1, 1)'\n };\n if (bottom) {\n styl.bottom = 0;\n styl.top = 'initial';\n styl.transform = position === 'left' ? 'scale(-1, -1)' : 'scale(1, -1)';\n } else {\n styl.bottom = 'initial';\n styl.top = 0;\n }\n return /*#__PURE__*/_jsx(\"github-corners\", _extends({\n target: \"__blank\",\n width: size,\n height: size,\n href: props.href,\n position: fixed ? 'fixed' : 'absolute',\n \"z-index\": zIndex,\n style: style,\n fill: bgColor,\n color: color\n }, styl, otherProps));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"prefixCls\", \"element\", \"top\", \"size\", \"strokeWidth\", \"smooth\", \"hideProgress\", \"children\"];\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar warpperStyle = {\n position: 'sticky',\n bottom: 15,\n right: 15,\n visibility: 'visible',\n opacity: 0,\n transition: 'visibility 0.3s linear 0s, opacity 0.3s linear 0s',\n cursor: 'pointer',\n userSelect: 'none'\n};\nvar svgStyle = {\n display: 'block',\n transform: 'rotate(-90deg)'\n};\nvar circleStyle = {\n transition: 'stroke-dashoffset 0.3s linear 0s'\n};\nvar childStyle = {\n position: 'absolute',\n top: 0,\n display: 'flex',\n height: '100%',\n width: '100%',\n alignItems: 'center',\n justifyContent: 'center',\n color: '#fff',\n fontSize: 12\n};\nvar documentElement = document.documentElement;\nexport default function BackToUp(props) {\n if (props === void 0) {\n props = {};\n }\n var {\n className,\n prefixCls = 'w-back-to-up',\n element = documentElement,\n top = 120,\n size = 35,\n strokeWidth = 3,\n smooth = true,\n hideProgress = false,\n children\n } = props,\n others = _objectWithoutPropertiesLoose(props, _excluded);\n var $dom = useRef(null);\n var cls = [className, prefixCls].filter(Boolean).join(' ');\n var style = Object.assign({}, warpperStyle, {\n position: element === documentElement ? 'fixed' : 'sticky'\n }, others.style, {\n width: size,\n height: size,\n opacity: top === 0 ? 1 : 0\n });\n var center = useMemo(() => size / 2, [size]);\n var radius = useMemo(() => size / 2 - strokeWidth / 2, [size, strokeWidth]);\n var dasharray = useMemo(() => Math.PI * radius * 2, [radius]);\n var [progress, setProgress] = useState(dasharray || 0);\n var handleScroll = ev => {\n var {\n clientHeight,\n scrollHeight,\n scrollTop\n } = element || documentElement;\n var percentage = scrollTop / (scrollHeight - clientHeight);\n setProgress(dasharray - dasharray * percentage || 0);\n if ($dom.current && top > 0) {\n $dom.current.style.opacity = scrollTop > top ? '1' : '0';\n }\n };\n useEffect(() => {\n var scrollElement = element === documentElement ? document : element;\n if (scrollElement) {\n scrollElement.addEventListener('scroll', handleScroll, {\n passive: true\n });\n }\n return () => {\n if (scrollElement) {\n scrollElement.removeEventListener('scroll', handleScroll);\n }\n };\n }, [element]);\n var goToUp = ev => {\n element.scrollTo({\n top: 0,\n behavior: smooth ? 'smooth' : 'auto'\n });\n };\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls,\n ref: $dom\n }, others, {\n onClick: goToUp,\n style: style,\n children: [!hideProgress && /*#__PURE__*/_jsxs(\"svg\", {\n viewBox: \"0 0 \" + size + \" \" + size,\n width: size,\n height: size,\n focusable: \"false\",\n style: svgStyle,\n children: [/*#__PURE__*/_jsx(\"circle\", {\n fill: \"rgb(0 0 0 / 75%)\",\n stroke: \"rgb(200 200 200 / 85%)\",\n strokeWidth: strokeWidth,\n r: radius,\n cx: center,\n cy: center\n }), /*#__PURE__*/_jsx(\"circle\", {\n fill: \"none\",\n stroke: \"rgb(0 0 0 / 50%)\",\n strokeWidth: strokeWidth,\n r: radius,\n cx: center,\n cy: center,\n strokeDasharray: dasharray,\n strokeDashoffset: progress || 0,\n style: circleStyle\n })]\n }), children && /*#__PURE__*/_jsx(\"div\", {\n style: childStyle,\n children: children\n })]\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useSyncExternalStore } from 'react';\nvar globalStore = {\n corners: {\n fixed: true,\n target: '__blank',\n zIndex: 10\n },\n darkMode: {\n permanent: true,\n dark: 'Dark',\n light: 'Light'\n },\n example: null\n};\nvar listeners = [];\nexport var store = {\n setCorners(opts) {\n globalStore = _extends({}, globalStore, {\n corners: _extends({}, globalStore.corners, opts)\n });\n emitChange();\n },\n setDarkMode(opts) {\n globalStore = _extends({}, globalStore, {\n darkMode: _extends({}, globalStore.darkMode, opts)\n });\n console.log('globalStore:', globalStore);\n emitChange();\n },\n setExample(example) {\n globalStore = _extends({}, globalStore, {\n example\n });\n emitChange();\n }\n};\nfunction getSnapshot() {\n return globalStore;\n}\nfunction subscribe(listener) {\n listeners = [...listeners, listener];\n return () => {\n listeners = listeners.filter(l => l !== listener);\n };\n}\nfunction emitChange() {\n for (var listener of listeners) {\n listener();\n }\n}\nexport function useStores() {\n return useSyncExternalStore(subscribe, getSnapshot);\n}","import copyTextToClipboard from '@uiw/copy-to-clipboard';\nimport { useEffect } from 'react';\nfunction getParentElement(target) {\n if (!target) return null;\n var dom = target;\n if (dom.dataset.code && dom.classList.contains('copied')) {\n return dom;\n }\n if (dom.parentElement) {\n return getParentElement(dom.parentElement);\n }\n return null;\n}\nexport function useCopied(container) {\n var handle = event => {\n var target = getParentElement(event.target);\n if (!target) return;\n target.classList.add('active');\n copyTextToClipboard(target.dataset.code, function () {\n setTimeout(() => {\n target.classList.remove('active');\n }, 2000);\n });\n };\n useEffect(() => {\n var _container$current, _container$current2;\n (_container$current = container.current) == null || _container$current.removeEventListener('click', handle, false);\n (_container$current2 = container.current) == null || _container$current2.addEventListener('click', handle, false);\n return () => {\n var _container$current3;\n (_container$current3 = container.current) == null || _container$current3.removeEventListener('click', handle, false);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [container]);\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"source\", \"style\", \"disableCopy\", \"skipHtml\", \"onScroll\", \"onMouseOver\", \"pluginsFilter\", \"rehypeRewrite\", \"wrapperElement\", \"warpperElement\"];\nimport React, { useImperativeHandle } from 'react';\nimport ReactMarkdown from 'react-markdown';\nimport gfm from 'remark-gfm';\nimport raw from 'rehype-raw';\nimport { useCopied } from './plugins/useCopied';\nimport \"./styles/markdown.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport * from './preview';\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'wmde-markdown wmde-markdown-color',\n className,\n source,\n style,\n disableCopy = false,\n skipHtml = true,\n onScroll,\n onMouseOver,\n pluginsFilter,\n wrapperElement = {},\n warpperElement = {}\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var mdp = React.useRef(null);\n useImperativeHandle(ref, () => _extends({}, props, {\n mdp\n }), [mdp, props]);\n var cls = (prefixCls || '') + \" \" + (className || '');\n useCopied(mdp);\n var rehypePlugins = [...(other.rehypePlugins || [])];\n var customProps = {\n allowElement: (element, index, parent) => {\n if (other.allowElement) {\n return other.allowElement(element, index, parent);\n }\n return /^[A-Za-z0-9]+$/.test(element.tagName);\n }\n };\n if (skipHtml) {\n rehypePlugins.push(raw);\n }\n var remarkPlugins = [...(other.remarkPlugins || []), gfm];\n var wrapperProps = _extends({}, warpperElement, wrapperElement);\n return /*#__PURE__*/_jsx(\"div\", _extends({\n ref: mdp,\n onScroll: onScroll,\n onMouseOver: onMouseOver\n }, wrapperProps, {\n className: cls,\n style: style,\n children: /*#__PURE__*/_jsx(ReactMarkdown, _extends({}, customProps, other, {\n skipHtml: skipHtml,\n rehypePlugins: pluginsFilter ? pluginsFilter('rehype', rehypePlugins) : rehypePlugins,\n remarkPlugins: pluginsFilter ? pluginsFilter('remark', remarkPlugins) : remarkPlugins,\n children: source || ''\n }))\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport { visit } from 'unist-util-visit';\nexport var reservedMeta = function reservedMeta(options) {\n if (options === void 0) {\n options = {};\n }\n return tree => {\n visit(tree, node => {\n if (node.type === 'element' && node.tagName === 'code' && node.data && node.data.meta) {\n node.properties = _extends({}, node.properties, {\n 'data-meta': String(node.data.meta)\n });\n }\n });\n };\n};","export var octiconLink = {\n type: 'element',\n tagName: 'svg',\n properties: {\n className: 'octicon octicon-link',\n viewBox: '0 0 16 16',\n version: '1.1',\n width: '16',\n height: '16',\n ariaHidden: 'true'\n },\n children: [{\n type: 'element',\n tagName: 'path',\n children: [],\n properties: {\n fillRule: 'evenodd',\n d: 'M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'\n }\n }]\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport slug from 'rehype-slug';\nimport headings from 'rehype-autolink-headings';\nimport rehypeIgnore from 'rehype-ignore';\nimport { getCodeString } from 'rehype-rewrite';\nimport { octiconLink } from './nodes/octiconLink';\nimport { copyElement } from './nodes/copy';\nexport var rehypeRewriteHandle = (disableCopy, rewrite) => (node, index, parent) => {\n if (node.type === 'element' && parent && parent.type === 'root' && /h(1|2|3|4|5|6)/.test(node.tagName)) {\n var child = node.children && node.children[0];\n if (child && child.properties && child.properties.ariaHidden === 'true') {\n child.properties = _extends({\n class: 'anchor'\n }, child.properties);\n child.children = [octiconLink];\n }\n }\n if (node.type === 'element' && node.tagName === 'pre' && !disableCopy) {\n var code = getCodeString(node.children);\n node.children.push(copyElement(code));\n }\n rewrite && rewrite(node, index, parent);\n};\nexport var defaultRehypePlugins = [slug, headings, rehypeIgnore];","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport MarkdownPreview from './preview';\nimport rehypePrism from 'rehype-prism-plus';\nimport rehypeRewrite from 'rehype-rewrite';\nimport rehypeAttrs from 'rehype-attr';\nimport { reservedMeta } from './plugins/reservedMeta';\nimport { rehypeRewriteHandle, defaultRehypePlugins } from './rehypePlugins';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport * from './preview';\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var _props$disableCopy;\n var rehypePlugins = [reservedMeta, [rehypePrism, {\n ignoreMissing: true\n }], ...defaultRehypePlugins, [rehypeRewrite, {\n rewrite: rehypeRewriteHandle((_props$disableCopy = props.disableCopy) != null ? _props$disableCopy : false, props.rehypeRewrite)\n }], [rehypeAttrs, {\n properties: 'attr'\n }], ...(props.rehypePlugins || [])];\n return /*#__PURE__*/_jsx(MarkdownPreview, _extends({}, props, {\n rehypePlugins: rehypePlugins,\n ref: ref\n }));\n});","export function copyElement(str) {\n if (str === void 0) {\n str = '';\n }\n return {\n type: 'element',\n tagName: 'div',\n properties: {\n class: 'copied',\n 'data-code': str\n },\n children: [{\n type: 'element',\n tagName: 'svg',\n properties: {\n className: 'octicon-copy',\n ariaHidden: 'true',\n viewBox: '0 0 16 16',\n fill: 'currentColor',\n height: 12,\n width: 12\n },\n children: [{\n type: 'element',\n tagName: 'path',\n properties: {\n fillRule: 'evenodd',\n d: 'M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z'\n },\n children: []\n }, {\n type: 'element',\n tagName: 'path',\n properties: {\n fillRule: 'evenodd',\n d: 'M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z'\n },\n children: []\n }]\n }, {\n type: 'element',\n tagName: 'svg',\n properties: {\n className: 'octicon-check',\n ariaHidden: 'true',\n viewBox: '0 0 16 16',\n fill: 'currentColor',\n height: 12,\n width: 12\n },\n children: [{\n type: 'element',\n tagName: 'path',\n properties: {\n fillRule: 'evenodd',\n d: 'M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z'\n },\n children: []\n }]\n }]\n };\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _taggedTemplateLiteralLoose from \"@babel/runtime/helpers/taggedTemplateLiteralLoose\";\nvar _excluded = [\"inline\", \"node\", \"components\", \"data\"],\n _excluded2 = [\"data-meta\", \"data-md\"],\n _excluded3 = [\"source\", \"components\", \"data\", \"rehypeRewrite\"];\nvar _templateObject;\nimport CodeLayout from 'react-code-preview-layout';\nimport { getMetaId, isMeta, getURLParameters } from 'markdown-react-code-preview-loader';\nimport MarkdownPreview from '@uiw/react-markdown-preview';\nimport styled from 'styled-components';\nimport rehypeIgnore from 'rehype-ignore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar Preview = CodeLayout.Preview;\nvar Code = CodeLayout.Code;\nvar Toolbar = CodeLayout.Toolbar;\nvar MarkdownStyle = styled(MarkdownPreview)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([\"\\n margin: 0 auto;\\n box-shadow:\\n rgb(8 15 41 / 8%) 0.5rem 0.5rem 2rem 0px,\\n rgb(8 15 41 / 8%) 0px 0px 1px 0px;\\n border: 1px solid var(--color-border-default, #30363d);\\n text-align: left;\\n max-width: 56rem;\\n overflow: auto;\\n padding: 2rem;\\n border-radius: 0.55rem;\\n\"])));\nvar CodePreview = _ref => {\n var _node$position;\n var {\n inline,\n node,\n components,\n data\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n var _ref2 = props,\n {\n 'data-md': metaData\n } = _ref2,\n rest = _objectWithoutPropertiesLoose(_ref2, _excluded2);\n if (inline || !isMeta(metaData)) {\n return /*#__PURE__*/_jsx(\"code\", _extends({}, props));\n }\n var line = (_node$position = node.position) == null ? void 0 : _node$position.start.line;\n var metaId = getMetaId(metaData) || String(line);\n var Child = components[\"\" + metaId];\n if (metaId && typeof Child === 'function') {\n var code = data[metaId].value || '';\n var {\n title,\n boreder = 1,\n checkered = 1,\n code: codeNum = 1,\n toolbar = 1\n } = getURLParameters(metaData);\n return /*#__PURE__*/_jsxs(CodeLayout, {\n bordered: !!Number(boreder),\n disableCheckered: !Number(checkered),\n style: {\n marginBottom: 16\n },\n children: [/*#__PURE__*/_jsx(Preview, {\n children: /*#__PURE__*/_jsx(Child, {})\n }), !!Number(toolbar) && /*#__PURE__*/_jsx(Toolbar, {\n text: code,\n visibleButton: !!Number(codeNum),\n children: title || 'Code Example'\n }), !!Number(codeNum) && /*#__PURE__*/_jsx(Code, {\n tagName: \"pre\",\n style: {\n marginBottom: 0\n },\n children: /*#__PURE__*/_jsx(\"code\", _extends({}, rest))\n })]\n });\n }\n return /*#__PURE__*/_jsx(\"code\", _extends({}, rest));\n};\nexport default function Markdown(props) {\n var {\n components,\n data,\n rehypeRewrite: _rehypeRewrite\n } = props,\n reset = _objectWithoutPropertiesLoose(props, _excluded3);\n return /*#__PURE__*/_jsx(MarkdownStyle, _extends({\n disableCopy: true,\n rehypePlugins: [rehypeIgnore, ...(reset.rehypePlugins || [])]\n }, reset, {\n rehypeRewrite: (node, index, parent) => {\n if (node.type === 'element' && node.tagName === 'pre' && /(pre|code)/.test(node.tagName) && node.children[0]) {\n var _child$data, _child$properties;\n var child = node.children[0];\n var meta = ((_child$data = child.data) == null ? void 0 : _child$data.meta) || ((_child$properties = child.properties) == null ? void 0 : _child$properties.dataMeta);\n if (isMeta(meta)) {\n node.tagName = 'div';\n if (!node.properties) {\n node.properties = {};\n }\n node.properties['data-md'] = meta;\n node.properties['data-meta'] = 'preview';\n }\n }\n _rehypeRewrite && _rehypeRewrite(node, index, parent);\n },\n source: data.source,\n components: _extends({}, components, {\n div: rest => /*#__PURE__*/_jsx(CodePreview, _extends({}, rest, {\n components: data.components,\n data: data.data\n }))\n })\n }));\n}","import _taggedTemplateLiteralLoose from \"@babel/runtime/helpers/taggedTemplateLiteralLoose\";\nvar _templateObject, _templateObject2;\nimport { keyframes, styled } from 'styled-components';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar rotate = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([\"\\n from {\\n transform: rotate(0deg);\\n }\\n\\n to {\\n transform: rotate(360deg);\\n }\\n\"])));\nvar SVG = styled.svg(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose([\"\\n color: var(--rmpe-logo-color, #61dafb);\\n height: 8rem;\\n margin-bottom: 3rem;\\n pointer-events: none;\\n animation: \", \" infinite 20s linear;\\n\"])), rotate);\nexport var Logo = /*#__PURE__*/_jsxs(SVG, {\n width: \"100%\",\n height: \"100%\",\n viewBox: \"-10.5 -9.45 21 18.9\",\n fill: \"none\",\n children: [/*#__PURE__*/_jsx(\"circle\", {\n cx: \"0\",\n cy: \"0\",\n r: \"2\",\n fill: \"currentColor\"\n }), /*#__PURE__*/_jsxs(\"g\", {\n stroke: \"currentColor\",\n strokeWidth: \"1\",\n fill: \"none\",\n children: [/*#__PURE__*/_jsx(\"ellipse\", {\n rx: \"10\",\n ry: \"4.5\"\n }), /*#__PURE__*/_jsx(\"ellipse\", {\n rx: \"10\",\n ry: \"4.5\",\n transform: \"rotate(60)\"\n }), /*#__PURE__*/_jsx(\"ellipse\", {\n rx: \"10\",\n ry: \"4.5\",\n transform: \"rotate(120)\"\n })]\n })]\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _taggedTemplateLiteralLoose from \"@babel/runtime/helpers/taggedTemplateLiteralLoose\";\nvar _excluded = [\"version\", \"title\", \"description\", \"source\", \"logo\", \"components\", \"data\", \"markdownProps\", \"exampleProps\", \"className\", \"children\", \"disableCorners\", \"disableDarkMode\", \"disableHeader\", \"disableBackToUp\"];\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;\nimport { forwardRef } from 'react';\nimport '@wcj/dark-mode';\nimport { styled } from 'styled-components';\nimport GitHubCorners from '@uiw/react-github-corners';\nimport BackToUp from '@uiw/react-back-to-top';\nimport { Github } from './Github';\nimport { Corners } from './Corners';\nimport { Example } from './Example';\nimport { useStores } from './store';\nimport Markdown from './Markdown';\nimport { Logo } from './Logo';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar ExampleWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([\"\\n max-width: 56rem;\\n margin: 0 auto;\\n padding: 2.3rem 3rem;\\n display: flex;\\n justify-content: center;\\n\"])));\nvar Wrappper = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose([\"\\n padding-bottom: 12rem;\\n\"])));\nvar Header = styled.header(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose([\"\\n padding: 6rem 0 2rem 0;\\n text-align: center;\\n h1 {\\n font-weight: 900;\\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif,\\n 'Apple Color Emoji', 'Segoe UI Emoji';\\n }\\n\"])));\nvar SupVersion = styled.sup(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose([\"\\n font-weight: 200;\\n font-size: 0.78rem;\\n margin-left: 0.5em;\\n margin-top: -0.3em;\\n position: absolute;\\n\"])));\nvar Description = styled.p(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose([\"\\n max-width: 460px;\\n margin: 0 auto;\\n color: var(--color-fg-subtle, #6e7781);\\n\"])));\nvar InternalMarkdownPreviewExample = /*#__PURE__*/forwardRef((props, ref) => {\n var {\n version,\n title,\n description,\n source,\n logo = Logo,\n components,\n data,\n markdownProps,\n exampleProps,\n className = '',\n children,\n disableCorners = false,\n disableDarkMode = false,\n disableHeader = false,\n disableBackToUp = false\n } = props,\n reset = _objectWithoutPropertiesLoose(props, _excluded);\n var store = useStores();\n return /*#__PURE__*/_jsxs(Wrappper, _extends({\n className: \"wmde-markdown-var \" + className\n }, reset, {\n children: [!disableDarkMode && /*#__PURE__*/_jsx(\"dark-mode\", _extends({\n permanent: true,\n style: {\n position: 'fixed',\n top: 8,\n left: 12,\n zIndex: 99,\n fontSize: 28\n }\n }, store.darkMode)), !disableCorners && /*#__PURE__*/_jsx(GitHubCorners, _extends({\n fixed: true,\n target: \"__blank\",\n zIndex: 10\n }, store.corners)), !disableHeader && /*#__PURE__*/_jsxs(Header, {\n children: [logo, title && /*#__PURE__*/_jsxs(\"h1\", {\n children: [title, version && /*#__PURE__*/_jsx(SupVersion, {\n children: version\n })]\n }), description && /*#__PURE__*/_jsx(Description, {\n children: description\n })]\n }), /*#__PURE__*/_jsx(\"div\", {}), store.example && /*#__PURE__*/_jsx(ExampleWrapper, _extends({}, exampleProps, {\n children: store.example\n })), /*#__PURE__*/_jsx(Markdown, _extends({}, markdownProps, {\n source: source,\n data: {\n data,\n components,\n source\n }\n })), children, !disableBackToUp && /*#__PURE__*/_jsx(BackToUp, {\n children: \"Top\"\n })]\n }));\n});\nvar MarkdownPreviewExample = InternalMarkdownPreviewExample;\nMarkdownPreviewExample.Github = Github;\nMarkdownPreviewExample.Corners = Corners;\nMarkdownPreviewExample.Example = Example;\nexport default MarkdownPreviewExample;","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useEffect } from 'react';\nimport { store } from './store';\nexport function Github(props) {\n useEffect(() => store.setCorners(_extends({}, props)), [props]);\n return null;\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useEffect } from 'react';\nimport { store } from './store';\nexport function Corners(props) {\n useEffect(() => store.setDarkMode(_extends({}, props)), [props]);\n return null;\n}","import { useEffect } from 'react';\nimport { store } from './store';\nexport function Example(_ref) {\n var {\n children\n } = _ref;\n useEffect(() => store.setExample(children), [children]);\n return null;\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"tagName\", \"children\", \"disabled\", \"multiline\", \"icon\", \"text\", \"active\", \"addonAfter\", \"isSubMenuItem\"];\nimport React, { Fragment } from 'react';\nimport Icon from '@uiw/react-icon';\nimport \"./style/item.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar disabledProps = {\n href: undefined,\n onClick: undefined,\n onMouseDown: undefined,\n onMouseEnter: undefined,\n onMouseLeave: undefined,\n tabIndex: -1\n};\nfunction Internal(props, ref) {\n var {\n prefixCls = 'w-menu-item',\n className,\n tagName: TagName = 'a',\n disabled = false,\n multiline = false,\n icon,\n text,\n active = false,\n addonAfter,\n isSubMenuItem\n } = props,\n htmlProps = _objectWithoutPropertiesLoose(props, _excluded);\n var anchorCls = [prefixCls, active ? 'active' : null, disabled ? 'w-disabled' : null, className].filter(Boolean).join(' ').trim();\n var tagComp = /*#__PURE__*/React.createElement(TagName, _extends({}, htmlProps, disabled ? disabledProps : {}, {\n className: anchorCls,\n ref\n }), /*#__PURE__*/_jsxs(Fragment, {\n children: [/*#__PURE__*/_jsx(Icon, {\n className: prefixCls + \"-icon\",\n type: icon\n }), /*#__PURE__*/_jsx(\"div\", {\n className: [prefixCls && prefixCls + \"-text\", !multiline && prefixCls + \"-multiline\"].filter(Boolean).join(' ').trim(),\n children: text\n }), addonAfter]\n }));\n if (isSubMenuItem) {\n return tagComp;\n }\n return /*#__PURE__*/_jsxs(\"li\", {\n children: [\" \", tagComp, \" \"]\n });\n}\nexport var MenuItem = /*#__PURE__*/React.forwardRef(Internal);\nMenuItem.displayName = 'uiw.MenuItem';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"title\"];\nimport React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var MenuDivider = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-menu-divider',\n className,\n title\n } = props,\n htmlProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n if (!title) {\n return /*#__PURE__*/_jsx(\"li\", _extends({}, htmlProps, {\n ref: ref,\n className: cls\n }));\n }\n return /*#__PURE__*/_jsx(\"li\", _extends({}, htmlProps, {\n ref: ref,\n className: cls,\n \"data-menu\": \"divider\",\n children: /*#__PURE__*/_jsx(\"strong\", {\n children: title\n })\n }));\n});\nMenuDivider.displayName = 'uiw.MenuDivider';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"disabled\", \"overlayProps\", \"children\", \"collapse\", \"inlineIndent\", \"inlineCollapsed\"];\nimport React, { useMemo, useState, useContext } from 'react';\nimport OverlayTrigger from '@uiw/react-overlay-trigger';\nimport Icon from '@uiw/react-icon';\nimport { MenuItem } from './MenuItem';\nimport { Menu, ThemeContext } from './Menu';\nimport \"./style/submenu.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction checkedMenuItem(node) {\n var isCheck = false;\n if (node) {\n // eslint-disable-next-line\n do {\n if (!node.dataset.menu) {\n isCheck = true;\n }\n if (node.dataset.menu && /^(subitem|divider)$/.test(node.dataset.menu)) {\n isCheck = false;\n }\n } while (!node.dataset.menu && (node = node.parentNode));\n }\n return isCheck;\n}\nfunction IconView(_ref) {\n var {\n prefixCls,\n collapse,\n isOpen\n } = _ref;\n return useMemo(() => /*#__PURE__*/_jsx(Icon, {\n type: \"caret-right\",\n className: [prefixCls ? prefixCls + \"-collapse-icon\" : null, !collapse && isOpen ? 'w-open' : null, !collapse && !isOpen ? 'w-close' : null].filter(Boolean).join(' ').trim()\n }), [prefixCls, collapse, isOpen]);\n}\nexport var SubMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var {\n prefixCls = 'w-menu-subitem',\n className,\n disabled,\n overlayProps = {},\n children,\n collapse = false,\n inlineIndent\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var overlayTriggerProps = {};\n var menuProps = {\n bordered: true,\n children,\n inlineIndent,\n className: [prefixCls ? prefixCls + \"-overlay\" : null].filter(Boolean).join(' ').trim()\n };\n var popupRef = React.useRef(null);\n var refNode = React.useRef();\n var elementSource = React.useRef();\n var [isOpen, setIsOpen] = useState(!!overlayProps.isOpen);\n var {\n height,\n setContextHeight,\n ele\n } = useContext(ThemeContext);\n React.useEffect(() => {\n if (refNode.current && refNode.current.style && ele === elementSource.current) {\n var currentHeight = Number(refNode.current.style.height.substr(0, refNode.current.style.height.length - 2));\n // 设置的高度 < '已有展开的高度',\n if (refNode.current.getBoundingClientRect().height < currentHeight) {\n refNode.current.style.height = currentHeight + 'px';\n } else {\n refNode.current.style.height = currentHeight + height + 'px';\n }\n }\n }, [height, ele]);\n useMemo(() => {\n if (collapse) setIsOpen(false);\n }, [collapse]);\n function onClick(e) {\n var target = e.currentTarget;\n var related = e.relatedTarget || e.nativeEvent.target;\n if (target.children.length < 1) return;\n if (checkedMenuItem(related)) {\n if (popupRef.current) {\n popupRef.current.hide();\n }\n }\n }\n function onEnter(node) {\n node.style.height = '0px';\n refNode.current = node;\n setIsOpen(true);\n if (popupRef.current && popupRef.current.overlayDom.current) {\n setContextHeight({\n height: popupRef.current.overlayDom.current.getBoundingClientRect().height,\n ele: elementSource.current\n });\n }\n }\n function onEntering(node) {\n node.style.height = node.scrollHeight + \"px\";\n }\n function onEntered(node) {\n // node.style.height = 'initial';\n if (popupRef.current && popupRef.current.overlayDom.current) {\n node.style.height = popupRef.current.overlayDom.current.getBoundingClientRect().height + 'px';\n }\n }\n function onExiting(node) {\n node.style.height = '0px';\n if (popupRef.current && popupRef.current.overlayDom.current) {\n setContextHeight({\n height: -popupRef.current.overlayDom.current.getBoundingClientRect().height,\n ele: elementSource.current\n });\n }\n }\n function onExit(node) {\n node.style.height = node.scrollHeight + \"px\";\n setIsOpen(false);\n }\n if (!collapse) {\n delete menuProps.onClick;\n menuProps.bordered = false;\n overlayTriggerProps.className = prefixCls + \"-collapse\";\n overlayTriggerProps.appear = false;\n overlayTriggerProps.isOutside = true;\n overlayTriggerProps.isClickOutside = false;\n overlayTriggerProps.unmountOnExit = false;\n overlayTriggerProps.trigger = 'click';\n overlayTriggerProps.transitionName = \"\" + prefixCls;\n overlayTriggerProps.onExit = onExit;\n overlayTriggerProps.onExiting = onExiting;\n overlayTriggerProps.onEnter = onEnter;\n overlayTriggerProps.onEntered = onEntered;\n overlayTriggerProps.onEntering = onEntering;\n } else {\n overlayTriggerProps.className = prefixCls + \"-popup\";\n overlayTriggerProps.trigger = 'hover';\n overlayTriggerProps.usePortal = true;\n menuProps.onClick = onClick;\n }\n return /*#__PURE__*/_jsx(\"li\", {\n \"data-menu\": \"subitem\",\n ref: ref,\n onClick: e => {\n if (collapse) {\n e.stopPropagation();\n return;\n }\n elementSource.current = e.target;\n },\n children: /*#__PURE__*/_jsx(OverlayTrigger, _extends({\n placement: \"rightTop\",\n autoAdjustOverflow: true,\n disabled: disabled,\n isOpen: isOpen,\n usePortal: false,\n isOutside: true\n }, overlayTriggerProps, overlayProps, {\n ref: popupRef,\n overlay: /*#__PURE__*/_jsx(Menu, _extends({}, menuProps, {\n style: !collapse ? {\n paddingLeft: inlineIndent\n } : {}\n })),\n children: /*#__PURE__*/_jsx(MenuItem, _extends({}, other, {\n ref: null,\n disabled: disabled,\n isSubMenuItem: true,\n addonAfter: /*#__PURE__*/_jsx(IconView, {\n collapse: collapse,\n prefixCls: prefixCls,\n isOpen: isOpen\n }),\n className: [prefixCls ? prefixCls + \"-title\" : null, !collapse ? prefixCls + \"-collapse-title\" : null, className].filter(Boolean).join(' ').trim()\n }))\n }))\n });\n});\nSubMenu.displayName = 'uiw.SubMenu';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\", \"bordered\", \"theme\", \"inlineIndent\", \"inlineCollapsed\"];\nimport React, { useMemo, createContext } from 'react';\nimport { MenuItem } from './MenuItem';\nimport { MenuDivider } from './Divider';\nimport { SubMenu } from './SubMenu';\nimport \"./style/menu.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var ThemeContext = /*#__PURE__*/createContext({});\nexport var Menu = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-menu',\n className,\n children,\n bordered,\n theme = 'light',\n inlineIndent = 10,\n inlineCollapsed\n } = props,\n htmlProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = useMemo(() => [prefixCls, bordered ? 'w-bordered' : null, inlineCollapsed ? prefixCls + \"-inline-collapsed\" : null, theme ? prefixCls + \"-\" + theme : null, className].filter(Boolean).join(' ').trim(), [prefixCls, bordered, inlineCollapsed, theme, className]);\n return /*#__PURE__*/_jsx(\"ul\", _extends({}, htmlProps, {\n ref: ref,\n className: cls,\n \"data-menu\": \"menu\",\n children: React.Children.map(children, (child, key) => {\n if (! /*#__PURE__*/React.isValidElement(child)) return child;\n var props = {};\n // Sub Menu\n if (child.props.children && child.type === SubMenu) {\n props.inlineIndent = inlineIndent;\n }\n return /*#__PURE__*/React.cloneElement(child, Object.assign(_extends({}, props), child.props, {\n key: \"\" + key\n }));\n })\n }));\n});\nvar InternalContextMenu = (props, ref) => {\n var [contextHeight, setContextHeight] = React.useState({\n height: 0,\n ele: null\n });\n return /*#__PURE__*/_jsx(ThemeContext.Provider, {\n value: _extends({}, contextHeight, {\n setContextHeight\n }),\n children: /*#__PURE__*/_jsx(Menu, _extends({}, props, {\n ref: ref\n }))\n });\n};\nvar ContextMenu = /*#__PURE__*/React.forwardRef(InternalContextMenu);\nMenu.displayName = 'uiw.Menu';\nContextMenu.displayName = 'uiw.Menu';\nContextMenu.Item = MenuItem;\nContextMenu.SubMenu = SubMenu;\nContextMenu.Divider = MenuDivider;\nexport default ContextMenu;","import Menu from './Menu';\nexport * from './Menu';\nexport * from './MenuItem';\nexport * from './SubMenu';\nexport * from './Divider';\nexport default Menu;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"type\", \"title\", \"description\", \"showIcon\", \"icon\", \"rounded\", \"isCloseButtonShown\"];\nimport React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport Icon from '@uiw/react-icon';\nimport Button from '@uiw/react-button';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default class Message extends React.Component {\n constructor(props) {\n super(props);\n this.handleClosed = e => {\n var {\n onClose\n } = this.props;\n this.setState({\n isOpen: false\n });\n onClose && onClose(e);\n };\n this.renderIcon = () => {\n var {\n type,\n showIcon\n } = this.props;\n var icon = this.props.icon;\n if (!icon && showIcon) {\n switch (type) {\n case 'success':\n icon = 'circle-check';\n break;\n case 'warning':\n icon = 'warning';\n break;\n case 'info':\n icon = 'information';\n break;\n case 'error':\n icon = 'circle-close';\n break;\n default:\n break;\n }\n }\n return icon;\n };\n this.state = {\n isOpen: true\n };\n }\n render() {\n var _this$props = this.props,\n {\n prefixCls,\n className,\n type,\n title,\n description,\n showIcon,\n rounded,\n isCloseButtonShown\n } = _this$props,\n elementProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var children = description || this.props.children;\n var cls = [prefixCls, className, prefixCls + \"-\" + type, rounded ? prefixCls + \"-rounded\" : null, showIcon ? prefixCls + \"-icon\" : null, showIcon ? \"\" + prefixCls + (title ? '-title' : '') + (children ? '-description' : '') : null].filter(Boolean).join(' ').trim();\n var Child = /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls\n }, elementProps, {\n children: [isCloseButtonShown && /*#__PURE__*/_jsx(Button, {\n basic: true,\n onClick: this.handleClosed,\n icon: \"close\",\n type: \"light\"\n }), showIcon && /*#__PURE__*/_jsx(Icon, {\n type: this.renderIcon()\n }), /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-title\",\n children: title\n }), /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-description\",\n children: children\n })]\n }));\n if (!isCloseButtonShown) {\n return Child;\n }\n return /*#__PURE__*/_jsx(CSSTransition, {\n in: this.state.isOpen,\n unmountOnExit: true,\n timeout: 300,\n classNames: prefixCls,\n children: Child\n });\n }\n}\nMessage.defaultProps = {\n prefixCls: 'w-message',\n rounded: true,\n isCloseButtonShown: false\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"title\", \"children\"];\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport Modal from './';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function CallShow(props) {\n var _ref = props || {},\n {\n title = '提示框',\n children\n } = _ref,\n other = _objectWithoutPropertiesLoose(_ref, _excluded);\n var dv = document.createElement('div');\n dv.id = 'uiw-modal-call-show-element';\n document.body.appendChild(dv);\n ReactDOM.render( /*#__PURE__*/_jsx(Modal, _extends({}, other, {\n title: title,\n isOpen: true,\n onClosed: () => {\n dv.remove();\n },\n children: children\n })), dv);\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\", \"useButton\", \"usePortal\", \"autoFocus\", \"isOpen\", \"title\", \"cancelText\", \"cancelButtonProps\", \"confirmButtonProps\", \"content\", \"confirmText\", \"type\", \"icon\", \"maxWidth\", \"minWidth\", \"width\", \"isCloseButtonShown\", \"onCancel\", \"onConfirm\", \"bodyStyle\"];\nimport React, { useState, useEffect } from 'react';\nimport Overlay from '@uiw/react-overlay';\nimport Button from '@uiw/react-button';\nimport Icon from '@uiw/react-icon';\nimport { noop } from '@uiw/utils';\nimport \"./style/index.css\";\nimport CallShow from './CallShow';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar Modal = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-modal',\n className,\n children,\n useButton = true,\n usePortal = true,\n autoFocus = false,\n isOpen: _ = false,\n title,\n cancelText,\n cancelButtonProps,\n confirmButtonProps,\n content,\n confirmText = '确认',\n type = 'light',\n icon,\n maxWidth = 500,\n minWidth = 320,\n width,\n isCloseButtonShown = true,\n onCancel = noop,\n onConfirm = noop,\n bodyStyle\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [isOpen, setIsOpen] = useState(props.isOpen);\n useEffect(() => {\n if (props.isOpen !== isOpen) {\n setIsOpen(props.isOpen);\n }\n }, [props.isOpen]);\n var [loading, setLoading] = useState(false);\n var cls = [prefixCls, className, type ? \"\" + type : null].filter(Boolean).join(' ').trim();\n function onClose() {\n setIsOpen(false);\n }\n function handleCancel(_x) {\n return _handleCancel.apply(this, arguments);\n }\n function _handleCancel() {\n _handleCancel = _asyncToGenerator(function* (e) {\n setLoading(true);\n try {\n onCancel && (yield onCancel(e));\n } catch (e) {}\n setIsOpen(false);\n setLoading(false);\n });\n return _handleCancel.apply(this, arguments);\n }\n function handleConfirm(_x2) {\n return _handleConfirm.apply(this, arguments);\n }\n function _handleConfirm() {\n _handleConfirm = _asyncToGenerator(function* (e) {\n setLoading(true);\n try {\n onConfirm && (yield onConfirm(e));\n } catch (e) {}\n setIsOpen(false);\n setLoading(false);\n });\n return _handleConfirm.apply(this, arguments);\n }\n return /*#__PURE__*/_jsx(Overlay, _extends({\n usePortal: usePortal,\n isOpen: isOpen\n }, other, {\n onClose: onClose,\n className: cls,\n children: /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-container\",\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: [prefixCls + \"-inner\", title ? prefixCls + \"-shown-title\" : null, icon ? prefixCls + \"-shown-icon\" : null].filter(Boolean).join(' ').trim(),\n style: {\n maxWidth,\n minWidth,\n width\n },\n children: [(title || icon) && /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-header\",\n children: [icon && /*#__PURE__*/_jsx(Icon, {\n type: icon\n }), title && /*#__PURE__*/_jsx(\"h4\", {\n children: title\n }), isCloseButtonShown && /*#__PURE__*/_jsx(Button, {\n basic: true,\n onClick: e => handleCancel(e),\n icon: \"close\",\n type: \"light\"\n })]\n }), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-body\",\n style: bodyStyle,\n children: children || content\n }), useButton && /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-footer\",\n children: [/*#__PURE__*/_jsx(Button, _extends({\n autoFocus: autoFocus,\n type: type,\n loading: loading,\n disabled: loading\n }, confirmButtonProps, {\n onClick: e => handleConfirm(e),\n children: confirmText\n })), cancelText && /*#__PURE__*/_jsx(Button, _extends({}, cancelButtonProps, {\n onClick: e => handleCancel(e),\n children: cancelText\n }))]\n })]\n })\n })\n }));\n});\nModal.show = CallShow;\nexport default Modal;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"format\", \"onChange\", \"className\", \"popoverProps\", \"pickerCaptionProps\", \"allowClear\", \"monthLabel\"];\nimport React, { useEffect, useMemo, useState } from 'react';\nimport Input from '@uiw/react-input';\nimport Popover from '@uiw/react-popover';\nimport Button from '@uiw/react-button';\nimport formatter from '@uiw/formatter';\nimport { DatePickerMonth, DatePickerYear, DatePickerCaption } from '@uiw/react-date-picker';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar MONTH_LABEL = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'];\nexport default function MonthPicker(props) {\n var {\n prefixCls = 'w-monthpicker',\n format = 'YYYY/MM',\n onChange = () => {},\n className,\n popoverProps,\n pickerCaptionProps = {},\n allowClear = true,\n monthLabel = MONTH_LABEL\n } = props,\n inputProps = _objectWithoutPropertiesLoose(props, _excluded);\n var [isOpen, setIsOpen] = useState(false);\n var [panelDate, setPanelDate] = useState(new Date());\n var [type, setType] = useState('month');\n var [date, setDate] = useState(props.value);\n useEffect(() => setDate(props.value), [props.value]);\n inputProps.value = useMemo(() => typeof date === 'string' ? date : date ? formatter(format, date) : '', [format, date]);\n if (allowClear && inputProps.value) {\n inputProps.addonAfter = /*#__PURE__*/_jsx(Button, {\n className: prefixCls + \"-close-btn\",\n icon: \"close\",\n onClick: () => {\n setDate('');\n onChange && onChange();\n },\n size: inputProps.size,\n basic: true,\n type: \"light\"\n });\n }\n function handleSelectedDate(type, num, paging) {\n var curPanelDate = new Date(new Date(panelDate)[type](num));\n if (!paging) {\n setType('month');\n }\n var curDate = formatter(format, new Date(curPanelDate));\n setDate(curDate);\n setPanelDate(curPanelDate);\n onChange && onChange(curPanelDate, curDate);\n if (type === 'setMonth') {\n setIsOpen(false);\n }\n }\n return /*#__PURE__*/_jsx(Popover, _extends({\n trigger: \"focus\",\n placement: \"bottomLeft\",\n autoAdjustOverflow: true,\n isOpen: isOpen\n }, popoverProps, {\n onVisibleChange: open => setIsOpen(open),\n content: /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-popover\",\n children: [/*#__PURE__*/_jsx(DatePickerCaption, _extends({\n panelDate: panelDate,\n monthLabel: monthLabel\n }, pickerCaptionProps, {\n onSelected: captionType => {\n if (/^(month|year)$/.test(captionType)) {\n setType(captionType);\n } else {\n var year = new Date(panelDate).getFullYear();\n var curPanelDate = new Date(new Date(panelDate).setFullYear(captionType === 'next' ? year + 1 : year - 1));\n setPanelDate(curPanelDate);\n }\n }\n })), type === 'month' && /*#__PURE__*/_jsx(DatePickerMonth, {\n panelDate: panelDate,\n monthLabel: monthLabel,\n onSelected: (month, paging) => handleSelectedDate('setMonth', month, paging)\n }), type === 'year' && /*#__PURE__*/_jsx(DatePickerYear, {\n panelDate: panelDate,\n onSelected: (year, paging) => handleSelectedDate('setFullYear', year, paging)\n })]\n }),\n children: /*#__PURE__*/_jsx(Input, _extends({\n placeholder: \"\\u8BF7\\u8F93\\u5165\\u65E5\\u671F\",\n readOnly: true\n }, inputProps, {\n className: [prefixCls, className].filter(Boolean).join(' ').trim()\n }))\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"description\", \"isOpen\"];\nimport React from 'react';\nimport Alert from '@uiw/react-alert';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar notifys = {};\nvar timer = {};\nexport default class Container extends React.Component {\n constructor() {\n super(...arguments);\n this.state = {\n notifys: {}\n };\n }\n create(props) {\n var {\n placement,\n key\n } = props;\n if (!notifys[placement]) {\n notifys[placement] = {};\n }\n props.isOpen = false;\n notifys[placement][key] = props;\n if (props.duration) {\n timer[key] = setTimeout(() => {\n this.closed(key, placement);\n }, props.duration);\n }\n this.setState({\n notifys,\n placement\n }, () => {\n notifys[placement][key].isOpen = true;\n this.setState({\n notifys\n });\n });\n }\n closed(key, placement) {\n if (!key || !placement || !notifys[placement][key]) {\n return;\n }\n notifys[placement][key].isOpen = false;\n var props = notifys[placement][key];\n this.setState({\n notifys\n }, () => {\n clearTimeout(timer[key]);\n delete timer[key];\n delete notifys[placement][key];\n if (props && props.willUnmount) {\n props.willUnmount(props, notifys);\n }\n });\n }\n render() {\n var {\n prefixCls\n } = this.props;\n var {\n placement\n } = this.state;\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: placement && Object.keys(this.state.notifys[placement]).map(key => {\n var _this$state$notifys$p = this.state.notifys[placement][key],\n {\n description,\n isOpen\n } = _this$state$notifys$p,\n alertProps = _objectWithoutPropertiesLoose(_this$state$notifys$p, _excluded);\n if (alertProps.type === 'open') {\n delete alertProps.type;\n }\n return /*#__PURE__*/_jsx(Alert, _extends({\n className: prefixCls,\n useButton: false,\n width: 320\n }, alertProps, {\n usePortal: false,\n hasBackdrop: false,\n isOpen: isOpen,\n content: description\n }), key);\n })\n });\n }\n}\nContainer.defaultProps = {\n prefixCls: 'w-notify',\n placement: 'topRight'\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { randomid } from '@uiw/utils';\nimport Container from './Container';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar notifys = {};\nvar notifysDom = {};\nfunction NotificationCreate(props, type) {\n if (type === void 0) {\n type = 'open';\n }\n if (!props.placement) {\n props.placement = 'topRight';\n }\n props.type = type;\n if (!props.icon && props.icon !== null) {\n switch (props.type) {\n case 'success':\n props.icon = 'circle-check';\n break;\n case 'warning':\n props.icon = 'warning';\n break;\n case 'info':\n props.icon = 'information';\n break;\n case 'error':\n props.icon = 'circle-close';\n break;\n default:\n break;\n }\n }\n switch (props.type) {\n case 'info':\n props.type = 'primary';\n break;\n case 'error':\n props.type = 'danger';\n break;\n default:\n break;\n }\n if (props.placement && !notifys[props.placement]) {\n var div = document.createElement('div');\n document.body.appendChild(div);\n div.className = ['w-notify-warpper', props.placement].filter(Boolean).join(' ').trim();\n notifysDom[props.placement] = div;\n notifys[props.placement] = ReactDOM.render( /*#__PURE__*/_jsx(Container, {}), div);\n }\n if (props.duration !== null) {\n props.duration = (props.duration || 4.5) * 1000;\n }\n if (notifys[props.placement]) {\n notifys[props.placement].create(_extends({}, props, {\n duration: props.duration,\n key: randomid(),\n willUnmount(nprops, notifysChild) {\n if (!nprops) return;\n nprops.onClose && nprops.onClose();\n var keys = Object.keys(notifysChild[props.placement]);\n if (keys.length === 0 && notifys[props.placement]) {\n delete notifys[props.placement];\n if (notifysDom[props.placement]) {\n document.body.removeChild(notifysDom[props.placement]);\n }\n }\n }\n }));\n }\n}\n['open', 'success', 'warning', 'info', 'error'].forEach(type => {\n NotificationCreate[type] = function (options) {\n if (options === void 0) {\n options = {};\n }\n return NotificationCreate(options, type);\n };\n});\nexport default NotificationCreate;","/**\n * Returns a random text\n */\nexport function randomid() {\n return parseInt(String(Math.random() * 1e15), 10).toString(36);\n}","var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction fallback(context, node) {\n if (node) {\n do {\n if (node === context) return true;\n } while (node = node.parentNode);\n }\n return false;\n}\nfunction isDOM(item) {\n return typeof HTMLElement === 'function' ? item instanceof HTMLElement : item && typeof item === 'object' && item.nodeType === 1 && typeof item.nodeName === 'string';\n}\nvar contains = (() => {\n // HTML DOM and SVG DOM may have different support levels,\n // so we need to check on context instead of a document root element.\n return canUseDOM ? function (context, node) {\n if (context && context.contains && typeof context.contains === 'function' && isDOM(node)) {\n return context.contains(node);\n }\n if (context && context.compareDocumentPosition && isDOM(node)) {\n return context === node || !!(context.compareDocumentPosition(node) && 16);\n }\n return fallback(context, node);\n } : fallback;\n})();\nexport default contains;","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n return parseFloat(styles[\"border\" + sideA + \"Width\"]) + parseFloat(styles[\"border\" + sideB + \"Width\"]);\n}","export default typeof window !== 'undefined' && typeof document !== 'undefined';","import isBrowser from './isBrowser';\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}","import isIE from './isIE';\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body[\"offset\" + axis], body[\"scroll\" + axis], html[\"client\" + axis], html[\"offset\" + axis], html[\"scroll\" + axis], isIE(10) ? parseInt(html[\"offset\" + axis], 10) + parseInt(computedStyle[\"margin\" + (axis === 'Height' ? 'Top' : 'Left')], 10) + parseInt(computedStyle[\"margin\" + (axis === 'Height' ? 'Bottom' : 'Right')], 10) : 0);\n}\nexport default function getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = getComputedStyle(html);\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}","import { getScroll } from '@uiw/utils';\nimport getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, true);\n var scrollLeft = getScroll(element);\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n // eslint-disable-next-line\n } catch (e) {}\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n result.offsetLeft = element.offsetLeft || element.scrollLeft || 0;\n result.offsetTop = element.offsetTop || element.offsetTop || 0;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n return getClientRect(result);\n}","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n var rect = element.getBoundingClientRect();\n // const window = element.ownerDocument.defaultView;\n // const styles = window.getComputedStyle(element);\n // const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n // const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth || element.scrollWidth || rect.width || 0,\n height: element.offsetHeight || element.scrollHeight || rect.height || 0\n };\n return result;\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport { getScroll } from '@uiw/utils';\nimport getBoundingClientRect from './util/getBoundingClientRect';\nimport getOuterSizes from './util/getOuterSizes';\nexport function getStyle(options) {\n var {\n trigger: triggerDom,\n popup: popupDom,\n placement,\n usePortal,\n autoAdjustOverflow\n } = options || {};\n var sty = {\n left: 0,\n top: 0,\n placement\n };\n if (!triggerDom || !popupDom || !document) {\n return sty;\n }\n var winSizeHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n var winSizeWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n sty.placement = placement;\n var scrollTop = getScroll(triggerDom.ownerDocument.documentElement, true);\n var scrollLeft = getScroll(triggerDom.ownerDocument.documentElement);\n var trigger = _extends({}, getBoundingClientRect(triggerDom), getOuterSizes(triggerDom));\n var popup = _extends({}, getBoundingClientRect(popupDom), getOuterSizes(popupDom));\n var bottom = winSizeHeight - trigger.bottom;\n var right = winSizeWidth - trigger.left - trigger.width;\n sty.top = trigger.top + scrollTop;\n sty.left = trigger.left;\n if (!usePortal) {\n sty.top = trigger.offsetTop;\n sty.left = trigger.offsetLeft;\n }\n if (placement && /^(top)/.test(placement)) {\n sty.top -= popup.height;\n }\n if (placement && /^(right)/.test(placement)) {\n sty.left += trigger.width;\n }\n if (placement && /^(bottom)/.test(placement)) {\n sty.top += trigger.height;\n }\n if (placement && /^(left)/.test(placement)) {\n sty.left -= popup.width;\n }\n switch (sty.placement) {\n case 'bottomLeft':\n case 'topLeft':\n break;\n case 'bottom':\n // eslint-disable-next-line\n case 'top':\n sty.left = sty.left - (popup.width - trigger.width) / 2;\n break;\n case 'bottomRight':\n case 'topRight':\n sty.left = sty.left + scrollLeft + trigger.width - popup.width;\n break;\n case 'rightTop':\n case 'leftTop':\n break;\n case 'right':\n // eslint-disable-next-line\n case 'left':\n sty.top = sty.top - (popup.height - trigger.height) / 2;\n break;\n case 'rightBottom':\n case 'leftBottom':\n sty.top = sty.top - popup.height + trigger.height;\n break;\n default:\n break;\n }\n if (autoAdjustOverflow) {\n if (placement && /^(top)/.test(placement) && trigger.top < popup.height && bottom > popup.height) {\n sty.placement = placement.replace(/^top/, 'bottom');\n sty.top = sty.top + popup.height + trigger.height;\n }\n if (placement && /^(bottom)/.test(placement) && bottom < popup.height && trigger.top > popup.height) {\n sty.placement = placement.replace(/^bottom/, 'top');\n sty.top = sty.top - popup.height - trigger.height;\n }\n if (placement && /^(right)/.test(placement) && right < popup.width) {\n sty.placement = placement.replace(/^right/, 'left');\n sty.left = sty.left - trigger.width - popup.width;\n }\n if (placement && /^(left)/.test(placement) && trigger.left < popup.width) {\n sty.placement = placement.replace(/^left/, 'right');\n sty.left = sty.left + trigger.width + popup.width;\n }\n if (placement && /^(left|right)/.test(placement) && usePortal) {\n // Top\n if (/(Top)$/.test(placement) && trigger.top < 0 || /(right|left)$/.test(placement) && trigger.top + trigger.height / 2 < popup.height / 2 || /(Bottom)$/.test(placement) && trigger.top + trigger.height < popup.height) {\n sty.top = scrollTop;\n }\n } else {\n // Top\n if (placement && /(Top)$/.test(placement) && trigger.top < 0) {\n sty.top -= trigger.top;\n }\n if (placement && /(Bottom)$/.test(placement) && trigger.bottom < popup.height) {\n // eslint-disable-next-line\n sty.top = sty.top + (popup.height - trigger.bottom);\n }\n if (placement && /(right|left)$/.test(placement) && trigger.bottom - trigger.height / 2 < popup.height / 2) {\n sty.top = sty.top + popup.height / 2 - (trigger.bottom - trigger.height / 2);\n }\n }\n // Bottom Public Part\n if (placement && /^(left|right)/.test(placement)) {\n if (/(Top)$/.test(placement) && bottom + trigger.height < popup.height) {\n sty.top = sty.top - (popup.height - bottom - trigger.height); // eslint-disable-line\n }\n\n if (/(right|left)$/.test(placement) && bottom + trigger.height / 2 < popup.height / 2) {\n sty.top = sty.top - (popup.height / 2 - bottom - trigger.height / 2); // eslint-disable-line\n }\n\n if (/(Bottom)$/.test(placement) && bottom < 0) {\n sty.top = sty.top + bottom; // eslint-disable-line\n }\n }\n\n if (placement && /^(top|bottom)/.test(placement) && usePortal) {\n // left\n if (/(Left)$/.test(placement) && trigger.left < 0 || /(top|bottom)$/.test(placement) && trigger.left + trigger.width / 2 < popup.width / 2 || /(Right)$/.test(placement) && trigger.left + trigger.width < popup.width) {\n sty.left = scrollLeft;\n }\n // right\n if (/(top|bottom)$/.test(placement) && right + trigger.width / 2 < popup.width / 2) {\n sty.left = trigger.left + trigger.width + right - popup.width;\n }\n } else if (placement && /(top|bottom)$/.test(placement) && right + trigger.width / 2 < popup.width / 2) {\n sty.left = sty.left + (right + trigger.width / 2 - popup.width / 2); // eslint-disable-line\n }\n\n if (placement && /^(top|bottom)/.test(placement)) {\n if (/(Left)$/.test(placement) && trigger.width + right < popup.width) {\n sty.left = sty.left - (popup.width - trigger.width - right);\n }\n if (/(Right)$/.test(placement) && right < 0) {\n sty.left = sty.left + right; // eslint-disable-line\n }\n }\n }\n\n return sty;\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"prefixCls\", \"usePortal\", \"isOutside\", \"isClickOutside\", \"disabled\", \"isOpen\", \"trigger\", \"placement\", \"autoAdjustOverflow\", \"transitionName\", \"children\", \"overlay\", \"onVisibleChange\", \"onEnter\"];\nimport React, { cloneElement, useEffect, useRef, useState, useImperativeHandle } from 'react';\nimport { noop } from '@uiw/utils';\nimport Overlay from '@uiw/react-overlay';\nimport contains from './utils';\nimport { getStyle } from './getStyle';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar normalizeDelay = delay => delay && typeof delay === 'object' ? delay : {\n show: delay,\n hide: delay\n};\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var _child$props;\n var {\n className,\n prefixCls = 'w-overlay-trigger',\n usePortal = true,\n isOutside = false,\n isClickOutside = true,\n disabled = false,\n isOpen: _ = false,\n trigger = 'hover',\n placement = 'top',\n autoAdjustOverflow,\n transitionName,\n children,\n overlay,\n onVisibleChange = noop,\n onEnter = noop\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var zIndex = useRef(999);\n var triggerRef = useRef();\n var popupRef = useRef();\n var timeoutRef = useRef([]);\n var hoverStateRef = useRef(null);\n var [isOpen, setIsOpen] = useState(!!props.isOpen);\n var [overlayStyl, setOverlayStyl] = useState({\n placement,\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: zIndex.current\n });\n useImperativeHandle(ref, () => ({\n hide: () => _hide(),\n show: () => _show(),\n overlayDom: popupRef\n }));\n var child = React.Children.only(children);\n var overlayProps = _extends({}, other, {\n placement,\n isOpen,\n dialogProps: {}\n });\n var triggerProps = {};\n function getChildProps() {\n if (child && /*#__PURE__*/React.isValidElement(child)) {\n return child.props;\n }\n return {};\n }\n useEffect(() => {\n if (isClickOutside && isOpen) {\n document && document.addEventListener('mousedown', handleClickOutside);\n window.addEventListener('resize', handleResize);\n }\n return () => {\n document && isClickOutside && document.removeEventListener('mousedown', handleClickOutside);\n window.removeEventListener('resize', handleResize);\n };\n }, [isOpen]);\n useEffect(() => {\n if (props.isOpen !== isOpen) {\n setIsOpen(!!props.isOpen);\n }\n }, [props.isOpen]);\n useEffect(() => {\n var styls = getStyle({\n placement: overlayStyl.placement || placement,\n trigger: triggerRef.current,\n popup: popupRef.current,\n usePortal,\n autoAdjustOverflow\n });\n setOverlayStyl(_extends({}, styls, {\n zIndex: zIndex.current\n }));\n onVisibleChange(isOpen);\n }, [isOpen]);\n var handleResize = () => {\n if (isOpen) {\n zIndex.current -= 1;\n setIsOpen(false);\n onVisibleChange && onVisibleChange(false);\n }\n };\n var handleClickOutside = e => {\n var popNode = popupRef.current;\n var childNode = triggerRef.current;\n if (popNode && childNode && e.target && !contains(popNode, e.target) && !contains(childNode, e.target)) {\n zIndex.current -= 1;\n setIsOpen(false);\n onVisibleChange && onVisibleChange(false);\n }\n };\n function clearTimeouts() {\n if (timeoutRef.current.length > 0) {\n for (var timeoutId of timeoutRef.current) {\n window.clearTimeout(timeoutId);\n }\n timeoutRef.current = [];\n }\n }\n function handleShow() {\n var _props$children;\n clearTimeouts();\n hoverStateRef.current = 'show';\n var delay = normalizeDelay(props.delay);\n if (!delay.show && !((_props$children = props.children) != null && _props$children.props.disabled)) {\n _show();\n return;\n }\n var handle = window.setTimeout(() => {\n if (hoverStateRef.current === 'show') _show();\n }, delay.show);\n clearTimeout(handle);\n timeoutRef.current.push(handle);\n }\n function handleHide(isOutside) {\n clearTimeouts();\n if (!isOutside && props.isOutside) return;\n hoverStateRef.current = 'hide';\n var delay = normalizeDelay(props.delay);\n if (!delay.hide) {\n _hide();\n return;\n }\n var handle = window.setTimeout(() => {\n if (hoverStateRef.current === 'hide') _hide();\n }, delay.hide);\n timeoutRef.current.push(handle);\n }\n\n // Simple implementation of mouseEnter and mouseLeave.\n // React's built version is broken: https://github.com/facebook/react/issues/4251\n // for cases when the trigger is disabled and mouseOut/Over can cause flicker\n // moving from one child element to another.\n function handleMouseOverOut(handler, e, relatedNative) {\n var target = e.currentTarget;\n var related = e.relatedTarget || e.nativeEvent[relatedNative];\n var isOutside = true;\n if (popupRef.current && contains(popupRef.current, related) || triggerRef.current && contains(triggerRef.current, related)) {\n isOutside = false;\n }\n if ((!related || related !== target) && !contains(target, related)) {\n handler(isOutside, e);\n }\n }\n function _hide() {\n if (!isOpen) return;\n if (zIndex.current <= 999) {\n zIndex.current = 999;\n } else {\n zIndex.current -= 1;\n }\n setIsOpen(false);\n }\n function _show() {\n var _triggerRef$current;\n if (isOpen) return;\n var nodeIndex = (_triggerRef$current = triggerRef.current) == null ? void 0 : _triggerRef$current.style.zIndex;\n if (nodeIndex) {\n zIndex.current = Number(nodeIndex) + 1;\n } else {\n zIndex.current += 1;\n }\n setIsOpen(true);\n }\n function handleEnter(node, isAppearing) {\n onEnter && onEnter(node, isAppearing);\n var styls = getStyle({\n placement: overlayStyl.placement || placement,\n trigger: triggerRef.current,\n popup: popupRef.current,\n usePortal,\n autoAdjustOverflow\n });\n setOverlayStyl(_extends({}, styls, {\n zIndex: zIndex.current\n }));\n }\n if (trigger === 'click' && !disabled) {\n triggerProps.onClick = e => {\n var {\n onClick\n } = getChildProps();\n isOpen ? _hide() : _show();\n if (onClick) onClick(e, !isOpen);\n };\n }\n if (trigger === 'focus' && !disabled) {\n triggerProps.onFocus = () => handleShow();\n }\n if (trigger === 'hover' && !disabled) {\n triggerProps.onMouseOver = triggerProps.onMouseEnter = e => {\n handleMouseOverOut(handleShow, e, 'fromElement');\n };\n triggerProps.onMouseOut = triggerProps.onMouseLeave = e => {\n handleMouseOverOut(handleHide, e, 'toElement');\n };\n if (overlayProps.dialogProps) {\n overlayProps.dialogProps.onMouseLeave = e => {\n handleMouseOverOut(handleHide, e, 'toElement');\n };\n }\n }\n overlayProps.style = _extends({}, overlayProps.style, overlayStyl);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/cloneElement(child, Object.assign({}, child.props, _extends({}, triggerProps, {\n ref: triggerRef,\n style: _extends({}, (_child$props = child.props) == null ? void 0 : _child$props.style, {\n zIndex: zIndex.current\n }),\n className: [child.props.className, disabled ? prefixCls + \"-disabled\" : null].filter(Boolean).join(' ').trim()\n }))), /*#__PURE__*/_jsx(Overlay, _extends({}, overlayProps, {\n style: _extends({}, overlayProps.style, overlayStyl),\n onEnter: handleEnter,\n className: [prefixCls, className, overlayStyl.placement].filter(Boolean).join(' ').trim(),\n usePortal: usePortal,\n transitionName: transitionName,\n isOpen: isOpen,\n hasBackdrop: false,\n children: /*#__PURE__*/cloneElement(overlay, Object.assign(_extends({}, overlay.props, {\n ref: popupRef,\n className: [overlay.props && overlay.props.className, placement].filter(Boolean).join(' ').trim()\n })))\n }))]\n });\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"style\", \"isOpen\", \"prefixCls\", \"usePortal\", \"maskClosable\", \"backdropProps\", \"portalProps\", \"hasBackdrop\", \"unmountOnExit\", \"timeout\", \"transitionName\", \"onOpening\", \"onOpened\", \"onClosing\", \"onClosed\", \"onClose\", \"onEnter\", \"onExiting\", \"onEntering\", \"onEntered\", \"onExit\", \"children\", \"dialogProps\"];\n/**\n * Overlay 组件\n * ---------------\n * 动画库 react-transition-group 文档\n * 老的文档\n * https://facebook.github.io/react/docs/animation.html\n * 新的文档\n * https://reactcommunity.org/react-transition-group/\n * 动画效果\n * https://daneden.github.io/animate.css/\n */\nimport React, { cloneElement, useEffect, useRef, useState } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport Portal from '@uiw/react-portal';\nimport { noop } from '@uiw/utils';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Overlay(props) {\n var {\n className,\n style,\n isOpen: _ = false,\n prefixCls = 'w-overlay',\n usePortal = true,\n maskClosable = true,\n backdropProps = {},\n portalProps = {},\n hasBackdrop = true,\n unmountOnExit = true,\n // 设置 true 销毁根节点\n timeout = 300,\n transitionName = 'w-overlay',\n // onEnter = noop,\n onOpening = noop,\n onOpened = noop,\n onClosing = noop,\n onClosed = noop,\n onClose = noop,\n onEnter: _onEnter = noop,\n onExiting: _onExiting = noop,\n onEntering: _onEntering = noop,\n onEntered: _onEntered = noop,\n onExit = noop,\n children,\n dialogProps = {}\n } = props,\n otherProps = _objectWithoutPropertiesLoose(props, _excluded);\n var [isOpen, setIsOpen] = useState();\n // const [isOpen, setIsOpen] = useState(props.isOpen || false);\n var [visible, setVisible] = useState(false);\n var container = useRef(null);\n var overlay = useRef(null);\n useEffect(() => {\n if (isOpen !== props.isOpen && props.isOpen) {\n setVisible(true);\n }\n if (isOpen !== props.isOpen && !props.isOpen) {\n overlayWillClose();\n setIsOpen(false);\n }\n }, [props.isOpen]);\n useEffect(() => {\n if (visible) {\n overlayWillOpen();\n setIsOpen(true);\n }\n }, [visible]);\n var decoratedChild = typeof children === 'object' ? /*#__PURE__*/cloneElement(children, _extends({}, dialogProps, {\n style: _extends({}, children.props.style, dialogProps.style),\n className: [children.props.className, prefixCls + \"-content\"].filter(Boolean).join(' ').trim(),\n tabIndex: 0\n })) : /*#__PURE__*/_jsx(\"span\", _extends({}, dialogProps, {\n className: prefixCls + \"-content\",\n children: children\n }));\n function handleClosed(node) {\n setVisible(false);\n onClosed && onClosed(node);\n }\n function handleBackdropMouseDown(e) {\n if (e.target !== container.current && usePortal) {\n return;\n }\n if (maskClosable && hasBackdrop) {\n overlayWillClose();\n setIsOpen(false);\n onClose && onClose(e);\n }\n backdropProps && backdropProps.onMouseDown && backdropProps.onMouseDown(e);\n }\n function overlayWillOpen() {\n if (hasBackdrop && usePortal) {\n document.body.classList.add(prefixCls + \"-open\");\n }\n }\n function overlayWillClose() {\n if (hasBackdrop && usePortal) {\n document.body.classList.remove(prefixCls + \"-open\");\n }\n // if (unmountOnExit) {\n // setVisible(false)\n // }\n }\n\n var TransitionGroupComp = /*#__PURE__*/_jsx(CSSTransition, _extends({\n classNames: transitionName,\n unmountOnExit: unmountOnExit,\n timeout: timeout,\n in: isOpen,\n onEnter: isAppearing => {\n _onEnter(overlay.current, isAppearing);\n },\n onEntering: isAppearing => {\n onOpening(overlay.current, isAppearing);\n _onEntering(overlay.current);\n },\n onEntered: isAppearing => {\n onOpened(overlay.current, isAppearing);\n _onEntered(overlay.current);\n },\n onExiting: () => {\n onClosing(overlay.current);\n _onExiting(overlay.current);\n },\n onExited: () => {\n handleClosed(overlay.current);\n onExit(overlay.current);\n },\n nodeRef: overlay\n }, otherProps, {\n children: status => {\n return /*#__PURE__*/_jsxs(\"div\", {\n style: style,\n ref: overlay,\n className: [prefixCls, className, !usePortal ? prefixCls + \"-inline\" : null, isOpen ? prefixCls + \"-enter-done\" : null].filter(Boolean).join(' ').trim(),\n children: [hasBackdrop && /*#__PURE__*/cloneElement( /*#__PURE__*/_jsx(\"div\", {}), _extends({}, backdropProps, {\n onMouseDown: handleBackdropMouseDown,\n className: [prefixCls + \"-backdrop\", backdropProps.className].filter(Boolean).join(' ').trim(),\n tabIndex: maskClosable ? 0 : null\n })), usePortal ? /*#__PURE__*/_jsx(\"div\", {\n ref: container,\n onMouseDown: handleBackdropMouseDown,\n className: prefixCls + \"-container\",\n children: /*#__PURE__*/cloneElement(decoratedChild, {\n 'data-status': status\n })\n }) : /*#__PURE__*/cloneElement(decoratedChild, {\n 'data-status': status\n })]\n });\n }\n }));\n if (visible && usePortal) {\n return /*#__PURE__*/_jsx(Portal, _extends({}, _extends({}, portalProps), {\n children: TransitionGroupComp\n }));\n } else {\n return TransitionGroupComp;\n }\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"style\", \"prefixCls\", \"alignment\", \"size\", \"total\", \"pageSize\", \"pageSizeOptions\", \"current\", \"onChange\", \"onShowSizeChange\", \"divider\"];\nimport React, { useEffect, useMemo, useState } from 'react';\nimport Select from '@uiw/react-select';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Pagination(props) {\n var {\n className,\n style,\n prefixCls = 'w-pagination',\n alignment = 'left',\n size = 'default',\n total = 0,\n pageSize = 10,\n // The number of pages displayed.\n pageSizeOptions = [],\n current: currentNumber = 1,\n onChange = () => null,\n onShowSizeChange,\n divider\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [current, setCurrent] = useState(currentNumber);\n useEffect(() => setCurrent(currentNumber), [currentNumber]);\n var cls = [prefixCls, className, divider ? 'divider' : null, size].filter(Boolean).join(' ').trim();\n var initPageSoure = useMemo(() => {\n var data = [{\n type: 'prev',\n disabled: current === 1\n }];\n var count = Math.ceil(total / pageSize);\n var itemCount = count <= 5 ? count : 5;\n var num = 0;\n var basic = 0;\n if (current > 3 && count > 5) {\n data.push({\n label: 1\n });\n }\n if (current > 4 && count > 6) {\n data.push({\n type: 'jumpPrev',\n label: '•••',\n goto: 5\n });\n }\n while (num < itemCount) {\n num += 1;\n if (current > 3 && count > 5) {\n basic = current - 3;\n }\n var label = num + basic;\n if (count - current === 0 && count > 5) {\n label -= 2;\n }\n if (count - current === 1 && count > 5) {\n label -= 1;\n }\n if (label <= count) {\n data.push({\n label,\n active: current === label\n });\n }\n }\n if (current + 3 < count && count > 6) {\n data.push({\n type: 'jumpNext',\n label: '•••',\n goto: 5\n });\n }\n if (current + 2 < count && count > 5) {\n data.push({\n label: count\n });\n }\n data.push({\n type: 'next',\n disabled: current === count\n });\n return data;\n // return [\n // { type: 'prev', disabled: true },\n // { type: 'jumpPrev', label: '•••', goto: 5 },\n // { label: 1 },\n // { label: 2, active: true },\n // { label: 3 },\n // { label: 4 },\n // { type: 'jumpPrev', label: '•••', goto: 5 },\n // { type: 'next' },\n // ];\n }, [current, total, pageSize]);\n function handleClick(item) {\n if (item.active || item.disabled) {\n return;\n }\n var count = Math.ceil(total / pageSize);\n var state = {};\n if (item.label) {\n state.current = item.label;\n }\n if (item.type === 'prev') {\n state.current = current - 1 > 0 ? current - 1 : 1;\n }\n if (item.type === 'next') {\n state.current = current + 1 <= count ? current + 1 : count;\n }\n if (/^(jumpPrev|jumpNext)/.test(item.type) && item.goto) {\n state.current = item.type === 'jumpPrev' ? current - item.goto : current + item.goto;\n if (state.current > count) {\n state.current = count;\n }\n if (state.current < 1) {\n state.current = 1;\n }\n }\n setCurrent(state.current);\n onChange && onChange(state.current, total, pageSize);\n }\n var onSizeChange = e => {\n var sizeCount = Number(e.target.value);\n var count = Math.ceil(total / sizeCount);\n var newCurrent = current > count ? count : current;\n onShowSizeChange && onShowSizeChange(newCurrent, sizeCount);\n };\n return /*#__PURE__*/_jsxs(\"ul\", _extends({\n className: cls,\n style: _extends({}, style, {\n textAlign: alignment\n })\n }, other, {\n children: [initPageSoure.map((item, idx) => {\n // eslint-disable-next-line jsx-a11y/anchor-is-valid\n var label = /*#__PURE__*/_jsx(\"a\", {\n children: item.label\n });\n if (/^(prev|next)$/.test(item.type)) {\n // eslint-disable-next-line jsx-a11y/anchor-is-valid\n label = /*#__PURE__*/_jsx(\"a\", {\n className: \"arrow \" + item.type\n });\n }\n return /*#__PURE__*/_jsx(\"li\", {\n className: [item.active ? 'active' : null, item.disabled ? 'disabled' : null].filter(Boolean).join(' ').trim(),\n onClick: () => handleClick(item),\n children: label\n }, idx);\n }), pageSizeOptions.length > 0 && /*#__PURE__*/_jsx(\"li\", {\n className: prefixCls + \"-options\",\n children: /*#__PURE__*/_jsx(Select, {\n size: size,\n defaultValue: pageSize,\n onChange: onSizeChange,\n children: pageSizeOptions.map((item, index) => /*#__PURE__*/_jsxs(Select.Option, {\n value: item,\n children: [item, \"\\u6761/\\u9875\"]\n }, index))\n })\n })]\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"placeholder\", \"value\", \"autoFocus\", \"className\", \"size\", \"style\", \"disabled\", \"onChange\", \"onBlur\", \"onFocus\"];\nimport React, { useEffect, useState } from 'react';\nimport { noop } from '@uiw/utils';\nimport Input from '@uiw/react-input';\nimport \"./style/input.css\";\nimport { createElement as _createElement } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction InternalPinCode(props, ref) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-pin-code',\n placeholder = '○',\n value = [],\n autoFocus,\n className,\n size = 'default',\n style,\n disabled,\n onChange = noop,\n onBlur = noop,\n onFocus = noop\n } = props,\n otherProps = _objectWithoutPropertiesLoose(props, _excluded);\n var [input] = useState({});\n var [placehold, setPlacehold] = useState(placeholder);\n var [values, setValues] = useState(value);\n var cls = [prefixCls, className, size ? prefixCls + \"-\" + size : null, disabled ? 'disabled' : null].filter(Boolean).join(' ').trim();\n function handleChange(e, idx) {\n var val = e.target.value;\n val = val.charAt(val.length - 1);\n var arr = [...values];\n if (Number(val) > -1 && val) {\n e.currentTarget.value = val;\n arr[idx] = val;\n if (input[idx + 1]) {\n input[idx + 1].focus();\n }\n setValues(arr);\n } else if (!val) {\n arr[idx] = '';\n setValues(arr);\n }\n }\n function handleKeyDown(e, idx) {\n var val = e.currentTarget.value;\n var key = e.key.toLocaleLowerCase();\n if (!val && input[idx - 1] && /(backspace|delete)/.test(key)) {\n input[idx - 1].focus();\n }\n }\n useEffect(() => {\n if (values !== value) {\n onChange(values);\n }\n }, [values]);\n function handleBlur(event) {\n setPlacehold(placeholder);\n onBlur(event);\n }\n function handleFocus(event) {\n setPlacehold('');\n onFocus(event);\n }\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: cls,\n style: style\n }, otherProps, {\n ref: ref,\n children: [...values].map((val, key) => {\n var inpProps = {\n min: 0,\n type: 'text',\n inputMode: 'numeric',\n autoComplete: 'off',\n value: val,\n onChange: e => handleChange(e, key),\n onKeyDown: e => handleKeyDown(e, key),\n onBlur: e => handleBlur(e),\n onFocus: e => handleFocus(e),\n className: prefixCls + \"-inner\",\n placeholder: placehold,\n disabled,\n size\n };\n if (autoFocus && key === 0) {\n inpProps.autoFocus = true;\n }\n var child = /*#__PURE__*/_createElement(Input, _extends({\n ref: instance => {\n if (instance) {\n input[key] = instance;\n }\n }\n }, inpProps, {\n key: key\n }));\n return child;\n })\n }));\n}\nexport default /*#__PURE__*/React.forwardRef(InternalPinCode);","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"content\", \"visibleArrow\"];\nimport React from 'react';\nimport OverlayTrigger from '@uiw/react-overlay-trigger';\nimport Confirm from './Confirm';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default class Popover extends React.Component {\n constructor() {\n super(...arguments);\n this.renderArrow = () => {\n var {\n prefixCls\n } = this.props;\n return /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-arrow\",\n children: /*#__PURE__*/_jsxs(\"svg\", {\n viewBox: \"0 0 30 30\",\n children: [/*#__PURE__*/_jsx(\"path\", {\n fillOpacity: \"0.2\",\n d: \"M8.11 6.302c1.015-.936 1.887-2.922 1.887-4.297v26c0-1.378-.868-3.357-1.888-4.297L.925 17.09c-1.237-1.14-1.233-3.034 0-4.17L8.11 6.302z\"\n }), /*#__PURE__*/_jsx(\"path\", {\n fill: \"#fff\",\n d: \"M8.787 7.036c1.22-1.125 2.21-3.376 2.21-5.03V0v30-2.005c0-1.654-.983-3.9-2.21-5.03l-7.183-6.616c-.81-.746-.802-1.96 0-2.7l7.183-6.614z\"\n })]\n })\n });\n };\n }\n render() {\n var _this$props = this.props,\n {\n prefixCls,\n className,\n visibleArrow\n } = _this$props,\n other = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var cls = [prefixCls, className, !visibleArrow ? 'no-arrow' : null].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(OverlayTrigger, _extends({}, other, {\n overlay: /*#__PURE__*/_jsxs(\"div\", {\n className: cls,\n children: [visibleArrow && this.renderArrow(), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-inner\",\n children: this.props.content\n })]\n }),\n children: typeof this.props.children === 'object' && this.props.children.type.name !== 'Icon' ? this.props.children : /*#__PURE__*/_jsx(\"span\", {\n style: {\n display: 'block',\n writingMode: 'vertical-rl'\n },\n children: this.props.children\n })\n }));\n }\n}\nPopover.Confirm = Confirm;\nPopover.defaultProps = {\n prefixCls: 'w-popover',\n placement: 'top',\n usePortal: true,\n isOpen: false,\n visibleArrow: true\n};","import React, { useState } from 'react';\nimport Popover from './';\nimport \"./style/index.css\";\nimport Button from '@uiw/react-button';\nimport Icon from '@uiw/react-icon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Confirm(props) {\n var {\n trigger = 'click',\n placement = 'top',\n confirmText = 'Yes',\n title,\n cancelText = 'No',\n visibleArrow,\n children,\n onConfirm\n } = props;\n var [isOpen, setIsOpen] = useState(false);\n return /*#__PURE__*/_jsx(Popover, {\n isOpen: isOpen,\n visibleArrow: visibleArrow,\n content: /*#__PURE__*/_jsxs(\"div\", {\n style: {\n padding: '12px 16px',\n position: 'relative'\n },\n children: [/*#__PURE__*/_jsx(Icon, {\n type: \"information\",\n style: {\n position: 'absolute',\n top: 13.5,\n fontSize: 14,\n transform: 'rotate(180deg)',\n color: '#faad14'\n }\n }), /*#__PURE__*/_jsxs(\"div\", {\n style: {\n paddingLeft: 20\n },\n children: [/*#__PURE__*/_jsx(\"div\", {\n style: {\n fontSize: 14\n },\n children: title\n }), /*#__PURE__*/_jsxs(\"div\", {\n style: {\n position: 'relative',\n bottom: 0,\n marginTop: 12,\n display: 'flex',\n justifyContent: 'end'\n },\n children: [/*#__PURE__*/_jsx(Button, {\n size: \"small\",\n onClick: () => setIsOpen(false),\n children: cancelText\n }), /*#__PURE__*/_jsx(Button, {\n size: \"small\",\n type: \"primary\",\n style: {\n marginLeft: 10\n },\n onClick: () => {\n onConfirm == null || onConfirm();\n setIsOpen(false);\n },\n children: confirmText\n })]\n })]\n })]\n }),\n trigger: trigger,\n placement: placement,\n children: /*#__PURE__*/_jsx(\"div\", {\n onClick: () => setIsOpen(true),\n children: children\n })\n });\n}","import { useEffect, useRef } from 'react';\nimport ReactDOM from 'react-dom';\nexport var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport default function Portal(props) {\n var {\n container\n } = props;\n var defaultNode = useRef();\n var containerRef = useRef(container);\n useEffect(() => {\n return () => {\n if (defaultNode.current && containerRef.current) {\n containerRef.current.removeChild(defaultNode.current);\n defaultNode.current = undefined;\n }\n };\n }, []);\n if (!canUseDOM) {\n return null;\n }\n if (!containerRef.current) {\n containerRef.current = document.body;\n }\n if (!defaultNode.current) {\n defaultNode.current = document.createElement('div');\n containerRef.current.appendChild(defaultNode.current);\n }\n return /*#__PURE__*/ReactDOM.createPortal(props.children, defaultNode.current);\n}","import React from 'react';\nimport Icon from '@uiw/react-icon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function IconProgress(props) {\n return /*#__PURE__*/_jsx(Icon, {\n type: props.type\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"style\", \"type\", \"className\", \"showText\", \"percent\", \"format\", \"strokeWidth\", \"width\", \"status\"];\nimport React from 'react';\nimport { IconProgress } from './utils';\nimport \"./style/index.css\";\nimport \"./style/circle.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default class Circle extends React.Component {\n relativeStrokeWidth(type, elm) {\n var {\n strokeWidth,\n percent\n } = this.props;\n if (elm && elm.parentNode) {\n var {\n width\n } = elm.parentNode.getBoundingClientRect();\n var _strokeWidth = (strokeWidth / width * 100).toFixed(1);\n var radius = parseInt((50 - parseFloat(_strokeWidth) / 2).toString(), 10);\n elm.setAttribute('stroke-width', _strokeWidth);\n elm.setAttribute('d', \"M 50 50 m 0 -\" + radius + \" a \" + radius + \" \" + radius + \" 0 1 1 0 \" + radius * 2 + \" a \" + radius + \" \" + radius + \" 0 1 1 0 -\" + radius * 2);\n if (type === 'track') {\n // 计算周长\n var perimeter = 2 * Math.PI * radius;\n elm.setAttribute('style', \"stroke-dasharray:\" + perimeter + \"px,\" + perimeter + \"px;stroke-dashoffset:\" + (1 - percent / 100) * perimeter + \"px;transition: stroke-dashoffset 0.6s ease 0s, stroke 0.6s ease;\");\n }\n }\n }\n render() {\n var _this$props = this.props,\n {\n prefixCls,\n style,\n className,\n showText,\n percent,\n format,\n width,\n status\n } = _this$props,\n resetProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var cls = [prefixCls, className, prefixCls + \"-circle\", showText ? prefixCls + \"-show-text\" : null, status ? prefixCls + \"-status-\" + status : null, parseInt(percent.toString(), 10) >= 100 ? prefixCls + \"-status-success\" : null].filter(Boolean).join(' ').trim();\n var progressInfo;\n var progressStatus = parseInt(percent.toString(), 10) >= 100 && !('status' in this.props) ? 'success' : status;\n if (showText) {\n var percentView = percent + \"%\";\n if (progressStatus === 'exception') {\n percentView = /*#__PURE__*/_jsx(IconProgress, {\n type: \"close\"\n });\n } else if (progressStatus === 'success') {\n percentView = /*#__PURE__*/_jsx(IconProgress, {\n type: \"check\"\n });\n }\n progressInfo = /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-text\",\n style: {\n fontSize: width * 0.16 + 6\n },\n children: format ? format(percent) : percentView\n });\n }\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls,\n style: style\n }, resetProps, {\n children: [/*#__PURE__*/_jsxs(\"svg\", {\n viewBox: \"0 0 100 100\",\n width: \"\" + width,\n children: [/*#__PURE__*/_jsx(\"path\", {\n ref: this.relativeStrokeWidth.bind(this, 'bg'),\n className: prefixCls + \"-trail\",\n fill: \"none\"\n }), /*#__PURE__*/_jsx(\"path\", {\n ref: this.relativeStrokeWidth.bind(this, 'track'),\n strokeLinecap: \"round\",\n className: prefixCls + \"-stroke\",\n fill: \"none\"\n })]\n }), progressInfo]\n }));\n }\n}\nCircle.defaultProps = {\n prefixCls: 'w-progress',\n showText: true,\n percent: 0,\n // 百分比(必填)\n width: 126,\n // 圆圈进度条画布宽度\n strokeWidth: 6 // 进度条大小设置\n};\n\nexport { Circle };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"style\", \"className\", \"showText\", \"percent\", \"format\", \"strokeWidth\", \"width\", \"status\"];\nimport React from 'react';\nimport { IconProgress } from './utils';\nimport \"./style/index.css\";\nimport \"./style/line.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default class Line extends React.Component {\n render() {\n var _this$props = this.props,\n {\n prefixCls,\n style,\n className,\n showText,\n percent,\n format,\n strokeWidth,\n status\n } = _this$props,\n resetProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var cls = [prefixCls, className, prefixCls + \"-line\", showText ? prefixCls + \"-show-text\" : null, status ? prefixCls + \"-status-\" + status : null, parseInt(percent.toString(), 10) >= 100 ? prefixCls + \"-status-success\" : null].filter(Boolean).join(' ').trim();\n var progressInfo;\n if (showText) {\n var progressStatus = parseInt(percent.toString(), 10) >= 100 && !('status' in this.props) ? 'success' : status;\n var percentView = percent + \"%\";\n if (progressStatus === 'exception') {\n percentView = /*#__PURE__*/_jsx(IconProgress, {\n type: \"circle-close\"\n });\n } else if (progressStatus === 'success') {\n percentView = /*#__PURE__*/_jsx(IconProgress, {\n type: \"circle-check\"\n });\n }\n progressInfo = /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-text\",\n children: format ? format(percent) : percentView\n });\n }\n var percentStyle = {\n width: percent + \"%\",\n height: strokeWidth\n };\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls,\n style: style\n }, resetProps, {\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-bar\",\n children: /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-inner\",\n children: /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-bg\",\n style: percentStyle\n })\n })\n }), progressInfo]\n }));\n }\n}\nLine.defaultProps = {\n prefixCls: 'w-progress',\n showText: true,\n // 是否显示进度条文字内容\n percent: 0,\n // 百分比(必填)\n width: 126,\n // 圆圈进度条画布宽度\n strokeWidth: 6 // 进度条大小设置\n};\n\nexport { Line };","import Circle from './Circle';\nimport Line from './Line';\nexport * from './Circle';\nexport * from './Line';\nexport default {\n Line,\n Circle\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"type\", \"disabled\", \"value\", \"className\", \"style\", \"children\", \"size\", \"checked\", \"onChange\"];\nimport React, { useState, useMemo } from 'react';\n\n/**\n * Constructs a type by picking all properties from `HTMLInputProps` and then removing `size`.\n * Omit: https://www.typescriptlang.org/docs/handbook/utility-types.html#omittk\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport var RadioAbstract = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-radio',\n type = 'radio',\n disabled = false,\n value = '',\n className,\n style,\n children,\n size,\n checked: prChecked = false,\n onChange\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [checked, setChecked] = useState(prChecked);\n var [prevChecked, setPrevChecked] = useState();\n if (prChecked !== prevChecked) {\n setPrevChecked(prChecked);\n }\n useMemo(() => {\n if (prChecked !== prevChecked) {\n setChecked(prChecked);\n }\n }, [prevChecked]);\n var cls = [prefixCls, className, disabled ? 'disabled' : null, size ? prefixCls + \"-\" + size : null].filter(Boolean).join(' ').trim();\n useMemo(() => {\n if (checked !== props.checked) {\n setChecked(!!props.checked);\n }\n }, [props.checked]);\n function handleChange(e) {\n e.persist();\n setChecked(e.target.checked);\n onChange && onChange(e);\n }\n var label = children || value;\n return /*#__PURE__*/_jsxs(\"label\", {\n className: cls,\n style,\n children: [/*#__PURE__*/_jsx(\"input\", _extends({}, _extends({}, other, {\n type,\n disabled,\n value\n }), {\n checked: checked,\n onChange: handleChange,\n ref: ref\n })), label && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-text\",\n children: label\n })]\n });\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport { RadioAbstract } from './RadioAbstract';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var Radio = /*#__PURE__*/React.forwardRef((props, ref) => {\n return /*#__PURE__*/_jsx(RadioAbstract, _extends({\n ref: ref\n }, props));\n});\nexport default Radio;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"name\", \"value\", \"onChange\", \"children\"];\nimport React from 'react';\nimport ButtonGroup from '@uiw/react-button-group';\nimport \"./style/group.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var RadioGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-radio-group',\n className,\n name,\n value,\n onChange,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/_jsx(\"div\", _extends({}, other, {\n ref: ref,\n className: [prefixCls, className].filter(Boolean).join(' ').trim(),\n children: /*#__PURE__*/_jsx(ButtonGroup, {\n children: React.Children.toArray(children).map(child => {\n if (!child) return;\n if (! /*#__PURE__*/React.isValidElement(child)) return child;\n return /*#__PURE__*/React.cloneElement(child, _extends({}, child.props || {}, {\n checked: child.props.value === value,\n name,\n onChange\n }));\n })\n })\n }));\n});\nexport default RadioGroup;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"type\", \"disabled\", \"value\", \"className\", \"style\", \"children\", \"size\", \"checked\", \"onChange\"];\nimport React, { useState, useMemo } from 'react';\nimport Button from '@uiw/react-button';\n\n/**\n * Constructs a type by picking all properties from `HTMLInputProps` and then removing `size`.\n * Omit: https://www.typescriptlang.org/docs/handbook/utility-types.html#omittk\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var RadioButton = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-radio',\n type = 'button',\n disabled = false,\n value = '',\n className,\n style,\n children,\n size = 'small',\n checked: prChecked = false,\n onChange\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [checked, setChecked] = useState(prChecked);\n var [prevChecked, setPrevChecked] = useState();\n if (prChecked !== prevChecked) {\n setPrevChecked(prChecked);\n }\n useMemo(() => {\n if (prChecked !== prevChecked) {\n setChecked(prChecked);\n }\n }, [prevChecked]);\n var cls = [prefixCls, className, disabled ? 'disabled' : null, size ? prefixCls + \"-\" + size : null].filter(Boolean).join(' ').trim();\n useMemo(() => {\n if (checked !== props.checked) {\n setChecked(!!props.checked);\n }\n }, [props.checked]);\n console.log('props.checked', props.checked);\n function handleChange(e) {\n e.persist();\n if (!checked) {\n setChecked(!checked);\n onChange && onChange(value);\n }\n }\n var label = children || value;\n return /*#__PURE__*/_jsx(Button, _extends({}, _extends({}, other, {\n className: cls,\n style,\n disabled,\n value\n }), {\n type: checked ? 'primary' : 'light',\n ref: ref,\n onClick: handleChange,\n children: label\n }));\n});\nexport default RadioButton;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"count\", \"value\", \"className\", \"allowHalf\", \"character\", \"readOnly\", \"disabled\", \"onChange\", \"onHoverChange\", \"color\"];\nimport React, { useState, useMemo } from 'react';\nimport { noop } from '@uiw/utils';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Rate(props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-rate',\n count = 5,\n value: defValue = 0,\n className,\n allowHalf,\n character = '★',\n readOnly = false,\n disabled,\n onChange = noop,\n onHoverChange = noop,\n color\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [value, setValue] = useState(defValue);\n var [hoverCount, setHoverCount] = useState(-1);\n var cls = [prefixCls, className, disabled ? 'disabled' : null].filter(Boolean).join(' ').trim();\n var [prevValue, setPrevValue] = useState();\n if (defValue !== prevValue) {\n setPrevValue(defValue);\n }\n useMemo(() => {\n if (value !== prevValue) {\n setValue(defValue);\n }\n }, [prevValue]);\n function _onMouseLeave() {\n setHoverCount(-1);\n }\n function getValue(e, key) {\n e.persist();\n var currentValue = key;\n var isLeft = e.clientX - e.currentTarget.getBoundingClientRect().left <= e.currentTarget.getBoundingClientRect().width / 2;\n if (allowHalf) {\n e.persist();\n currentValue = isLeft ? key + 0.5 : key + 1;\n } else {\n currentValue = key + 1;\n }\n return currentValue;\n }\n function onMouseMove(e, key) {\n var currentValue = getValue(e, key);\n if (hoverCount !== currentValue) {\n setHoverCount(currentValue);\n onHoverChange(currentValue);\n }\n }\n function onClick(e, key) {\n if (readOnly) return;\n var currentValue = getValue(e, key);\n setValue(currentValue);\n onChange(currentValue);\n }\n return /*#__PURE__*/_jsx(\"div\", _extends({}, other, {\n className: cls,\n onMouseLeave: () => _onMouseLeave(),\n children: [...Array(count)].map((_, idx) => {\n var halfon = value <= idx + 0.5 && Math.ceil(value) - 1 === idx && hoverCount === -1 || hoverCount === idx + 0.5;\n var activeCls = [prefixCls + \"-hight\", idx + 1 <= value && hoverCount === -1 ? 'star-on' : null, idx + 1 <= hoverCount ? 'hover-on' : null, halfon ? 'half-on' : null].filter(Boolean).join(' ').trim();\n var props = {};\n if (!readOnly) {\n props.onClick = e => onClick(e, idx);\n props.onMouseMove = e => onMouseMove(e, idx);\n }\n return /*#__PURE__*/_jsxs(\"span\", _extends({}, props, {\n children: [/*#__PURE__*/_jsx(\"span\", {\n style: {\n color\n },\n className: activeCls,\n children: character\n }), /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-bg\",\n children: character\n })]\n }), idx);\n })\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"allowClear\", \"disabled\", \"valueAmount\", \"size\", \"option\", \"maxTagCount\", \"loading\", \"labelInValue\", \"prefixCls\", \"className\", \"mode\", \"style\", \"isOpen\", \"value\", \"defaultValue\", \"showSearch\", \"tagProps\", \"placeholder\", \"onSearch\", \"onChange\", \"onSelect\"];\nimport React, { useMemo } from 'react';\nimport Dropdown from '@uiw/react-dropdown';\nimport Icon from '@uiw/react-icon';\nimport Menu from '@uiw/react-menu';\nimport Input from '@uiw/react-input';\nimport Tag from '@uiw/react-tag';\nimport { useState } from 'react';\nimport { useRef } from 'react';\nimport { useEffect } from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar TagSize = {\n large: 25,\n default: 20,\n small: 17\n};\nexport default function SearchSelect(props) {\n var _style$width;\n var {\n allowClear = false,\n disabled = false,\n valueAmount,\n size = 'default',\n option = [],\n maxTagCount,\n loading = false,\n labelInValue = false,\n prefixCls = 'w-search-select',\n className,\n mode = 'single',\n style,\n value,\n defaultValue,\n showSearch = false,\n tagProps = {},\n placeholder,\n onSearch,\n onChange,\n onSelect\n } = props,\n others = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n var isMultiple = useMemo(() => mode === 'multiple', [mode]);\n var [innerIsOpen, setInnerIsOpen] = useState(false);\n var [selectedValue, setSelectedValue] = useState([]);\n var [selectedLabel, setSelectedLabel] = useState('');\n var [selectIconType, setSelectIconType] = useState('');\n var inputRef = useRef(null);\n var omitTagCount = useMemo(() => maxTagCount && selectedValue.length > maxTagCount ? selectedValue.length - maxTagCount : 0, [selectedValue.length]);\n var divRef = useRef(null);\n var tagContentRef = useRef(null);\n var [tagClientWidth, setTagClientWidth] = React.useState(180);\n var valueVerify = value => {\n return value !== undefined && value !== '';\n };\n var valueRef = useRef();\n valueRef.current = useMemo(() => selectedValue, [selectedValue]);\n useEffect(() => {\n if (!valueVerify(value) && valueVerify(defaultValue)) {\n selectedValueChange(defaultValue);\n }\n }, []);\n useEffect(() => {\n if (disabled) {\n setInnerIsOpen(false);\n }\n }, [disabled]);\n useEffect(() => {\n if (valueVerify(value)) {\n selectedValueChange(value);\n } else {\n setSelectedValue([]);\n setSelectedLabel('');\n }\n }, [JSON.stringify(value)]);\n var getSelectOption = (option, value) => {\n var findResult = option.find(item => item.value === value);\n return findResult;\n };\n function selectedValueChange(changeValue) {\n var opts = [];\n if (labelInValue) {\n if (Array.isArray(changeValue)) {\n opts = changeValue;\n } else {\n opts.push(changeValue);\n }\n } else {\n if (Array.isArray(changeValue)) {\n opts = changeValue.map(v => getSelectOption(option, v)).filter(m => !!m);\n } else {\n var findResult = getSelectOption(option, changeValue);\n if (findResult) {\n setSelectedLabel(findResult.label);\n opts.push(findResult);\n }\n }\n }\n if (!isMultiple && opts.length > 0) setSelectedLabel(opts[0].label || '');\n setSelectedValue(opts.slice(0, valueAmount));\n }\n function removeSelectItem(index) {\n var selectedValue = valueRef.current;\n selectedValue.splice(index, 1);\n var values = [...selectedValue];\n return values;\n }\n var selectedLabelChange = value => {\n setSelectedLabel(value);\n showSearch && (onSearch == null ? void 0 : onSearch(value));\n };\n function handleItemClick(item) {\n setInnerIsOpen(false);\n var values = [item];\n setSelectedLabel(item.label);\n var resultValue = item.value;\n handleChange(resultValue, values);\n }\n function handleItemsClick(index, item) {\n var values = index !== -1 ? removeSelectItem(index) : [...selectedValue.slice(0, valueAmount ? valueAmount - 1 : undefined), item];\n var resultValue = values.map(item => item.value);\n handleChange(resultValue, values);\n }\n function handleChange(resultValue, values) {\n setSelectedLabel('');\n onSelect && onSelect(resultValue);\n handleSelectChange(resultValue, values); // 支持form组件\n\n value === undefined && setSelectedValue(values); // 如果受控于父组件则不需要内部维护状态\n }\n\n // 渲染icon\n function renderSelectIcon(type) {\n var selectIconType;\n if (type === 'enter' && allowClear && (selectedValue.length > 0 || selectedLabel)) {\n selectIconType = 'close';\n } else {\n selectIconType = '';\n }\n setSelectIconType(selectIconType);\n }\n // handle change\n function handleInputChange(value) {\n setInnerIsOpen(true);\n setSelectIconType(showSearch && value ? 'loading' : '');\n // setSelectedLabel(value);\n // showSearch && onSearch && onSearch(value);\n selectedLabelChange(value);\n }\n // 清除选中的值\n function resetSelectedValue(e) {\n var _inputRef$current;\n e.stopPropagation();\n (_inputRef$current = inputRef.current) == null || _inputRef$current.focus();\n setSelectedValue([]);\n handleInputChange('');\n setInnerIsOpen(false);\n handleSelectChange('', []);\n }\n function handleSelectChange(value, options) {\n if (!onChange) return;\n onChange(labelInValue ? options : value);\n }\n function inputKeyDown(e) {\n if (isMultiple && selectedValue.length > 0 && !selectedLabel && e.keyCode === 8) {\n handleItemsClick(selectedValue.length - 1);\n }\n }\n function onVisibleChange(isOpen) {\n var selectedValue = valueRef.current;\n setInnerIsOpen(isOpen);\n if (!isOpen) selectedLabelChange('');\n if (!isMultiple && selectedValue.length > 0) {\n setSelectedLabel(selectedValue[0].label);\n }\n }\n React.useEffect(() => {\n var _tagContentRef$curren;\n if ((_tagContentRef$curren = tagContentRef.current) != null && _tagContentRef$curren.clientWidth) {\n var _tagContentRef$curren2;\n setTagClientWidth((_tagContentRef$curren2 = tagContentRef.current) == null ? void 0 : _tagContentRef$curren2.clientWidth);\n }\n }, [tagContentRef.current]);\n return /*#__PURE__*/_jsx(Dropdown, _extends({\n className: cls,\n trigger: \"click\",\n style: {\n marginTop: 5\n },\n overlayStyl: {\n width: 100\n },\n disabled: disabled\n }, others, {\n onVisibleChange: onVisibleChange,\n isOpen: innerIsOpen,\n menu: /*#__PURE__*/_jsx(Menu, {\n bordered: true,\n style: {\n minHeight: 25,\n maxHeight: 280,\n minWidth: (_style$width = style == null ? void 0 : style.width) != null ? _style$width : 200,\n overflowY: 'scroll',\n width: style == null ? void 0 : style.width\n },\n children: !option || option.length === 0 ? /*#__PURE__*/_jsx(\"div\", {\n style: {\n color: '#c7c7c7',\n fontSize: 12\n },\n children: loading ? '正在加载数据...' : '没有数据'\n }) : option.map(item => {\n var index = selectedValue.findIndex(finds => finds.value === item.value);\n return /*#__PURE__*/_jsx(Menu.Item, {\n active: index !== -1,\n text: item.label,\n onClick: () => isMultiple ? handleItemsClick(index, item) : handleItemClick(item)\n }, index);\n })\n }),\n children: /*#__PURE__*/_jsx(\"div\", {\n ref: divRef,\n onMouseOver: () => renderSelectIcon('enter'),\n onMouseLeave: () => renderSelectIcon('leave'),\n onClick: () => {\n var _inputRef$current2;\n return (_inputRef$current2 = inputRef.current) == null ? void 0 : _inputRef$current2.focus();\n },\n style: _extends({\n width: '100%',\n maxWidth: 'none'\n }, style),\n children: isMultiple ? /*#__PURE__*/_jsxs(\"div\", {\n className: [prefixCls + \"-inner\", prefixCls + \"-search-\" + showSearch, prefixCls + \"-\" + size].filter(Boolean).join(' ').trim(),\n children: [/*#__PURE__*/_jsxs(\"div\", {\n ref: tagContentRef,\n className: [prefixCls + \"-tag-content\", disabled && prefixCls + \"-tag-content-disabled\"].filter(Boolean).join(' ').trim(),\n children: [isMultiple && selectedValue.slice(0, maxTagCount).map((item, index) => {\n return /*#__PURE__*/_jsx(Tag, _extends({\n style: _extends({\n height: TagSize[size],\n margin: 1,\n display: 'flex',\n alignItems: 'center'\n }, tagProps.style),\n color: \"#393E48\"\n }, tagProps, {\n closable: true,\n disabled: disabled,\n onClose: e => {\n e.stopPropagation();\n handleItemsClick(index, item);\n },\n children: /*#__PURE__*/_jsx(\"span\", {\n style: {\n maxWidth: tagClientWidth - 63,\n textOverflow: 'ellipsis',\n overflow: 'auto'\n },\n children: item.label\n })\n }), index);\n }), !!omitTagCount && /*#__PURE__*/_jsxs(Tag, {\n style: {\n height: 20,\n margin: 1,\n display: 'flex',\n alignItems: 'center'\n },\n disabled: true,\n children: [\"+\", omitTagCount, \" \\u2026\", ' ']\n }), /*#__PURE__*/_jsx(Input, {\n style: {\n flex: 1,\n width: showSearch ? 0 : 50\n },\n className: prefixCls + \"-input-contents\",\n readOnly: !showSearch,\n size: size,\n ref: inputRef,\n disabled: disabled,\n onKeyDown: inputKeyDown,\n onChange: e => handleInputChange(e.target.value),\n value: selectedLabel,\n placeholder: selectedValue.length ? '' : placeholder\n })]\n }), !disabled && (selectIconType === 'close' || selectIconType === 'loading' && loading) && /*#__PURE__*/_jsx(Icon, {\n className: prefixCls + \"-multiple-colse\",\n type: selectIconType,\n spin: loading && selectIconType === 'loading',\n onClick: resetSelectedValue\n })]\n }) : /*#__PURE__*/_jsx(Input, {\n className: prefixCls + \"-search-\" + showSearch,\n readOnly: !showSearch,\n size: size,\n ref: inputRef,\n disabled: disabled,\n onChange: e => handleInputChange(e.target.value),\n value: selectedLabel,\n placeholder: placeholder,\n addonAfter: !disabled && (selectIconType === 'close' || selectIconType === 'loading' && loading) && /*#__PURE__*/_jsx(Icon, {\n type: selectIconType,\n className: prefixCls + \"-singe-colse\",\n color: \"#393e48\",\n spin: loading && selectIconType === 'loading',\n onClick: resetSelectedValue\n })\n })\n })\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { useMemo, useState, useRef, useEffect } from 'react';\nimport Dropdown from '@uiw/react-dropdown';\nimport Icon from '@uiw/react-icon';\nimport Input from '@uiw/react-input';\nimport Tag from '@uiw/react-tag';\nimport Card from '@uiw/react-card';\nimport Empty from '@uiw/react-empty';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar TagSize = {\n large: 25,\n default: 20,\n small: 17\n};\nfunction SearchTagInput(props) {\n var {\n prefixCls = 'w-search-tree',\n size = 'default',\n disabled = false,\n allowClear = false,\n loading = false,\n selectCloseDrop = false,\n className,\n style,\n placeholder,\n tagProps = {},\n content,\n options,\n values,\n onChange,\n onSearch,\n emptyOption\n // ...others\n } = props;\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n var [innerIsOpen, setInnerIsOpen] = useState(false);\n var [selectedOption, setSelectedOption] = useState(values);\n var optionRef = useRef();\n var [searchValue, searchValueSet] = useState('');\n optionRef.current = useMemo(() => selectedOption, [selectedOption]);\n var [selectIconType, setSelectIconType] = useState('');\n var inputRef = useRef(null);\n useEffect(() => {\n setSelectedOption(values);\n }, [JSON.stringify(values)]);\n function renderSelectIcon(type) {\n var selectIconType = type === 'enter' && allowClear && (!!selectedOption.length || searchValue) ? 'close' : '';\n setSelectIconType(selectIconType);\n }\n var handleSelectChange = function handleSelectChange(selectedAll, selectd, isChecked) {\n if (isChecked === void 0) {\n isChecked = true;\n }\n setSelectedOption(selectedAll);\n searchValueChange('');\n onChange == null || onChange(selectedAll, selectd, isChecked);\n };\n var removeSelectItem = index => {\n var selectedOption = optionRef.current;\n var curreentItem = selectedOption[index];\n selectedOption.splice(index, 1);\n handleSelectChange([...selectedOption], curreentItem, false);\n };\n function handleInputChange(value) {\n setInnerIsOpen(true);\n searchValueChange(value);\n setSelectIconType(value ? 'loading' : '');\n }\n var searchValueChange = value => {\n searchValueSet(value);\n onSearch == null || onSearch(value);\n };\n\n // 清除选中的值\n function resetSelectedValue(e) {\n var _inputRef$current;\n e.stopPropagation();\n (_inputRef$current = inputRef.current) == null || _inputRef$current.focus();\n handleInputChange('');\n setInnerIsOpen(false);\n setSelectedOption([]);\n handleSelectChange([]);\n }\n function inputKeyDown(e) {\n if (selectedOption.length > 0 && !searchValue && e.keyCode === 8) {\n removeSelectItem(selectedOption.length - 1);\n }\n }\n var newContent = useMemo(() => {\n if (emptyOption) {\n return typeof emptyOption === 'boolean' ? /*#__PURE__*/_jsx(Empty, {\n style: {\n minWidth: 200,\n width: style == null ? void 0 : style.width\n }\n }) : emptyOption;\n }\n var newProps = _extends({}, content.props, {\n onSelected: function onSelected(selectedAll, selectd, isChecked) {\n if (isChecked === void 0) {\n isChecked = true;\n }\n setInnerIsOpen(!selectCloseDrop);\n handleSelectChange(selectedAll, selectd, isChecked);\n },\n values: selectedOption,\n options\n });\n return /*#__PURE__*/React.cloneElement(content, newProps);\n }, [JSON.parse(JSON.stringify(selectedOption)), options, emptyOption]);\n return /*#__PURE__*/_jsx(Dropdown, {\n className: cls,\n trigger: \"click\",\n onVisibleChange: isOpen => {\n setInnerIsOpen(isOpen);\n if (!isOpen) searchValueChange('');\n },\n disabled: disabled,\n isOpen: innerIsOpen,\n menu: /*#__PURE__*/_jsx(Card, {\n bodyStyle: emptyOption === true ? {\n padding: 0\n } : undefined,\n children: newContent\n }),\n children: /*#__PURE__*/_jsx(\"div\", {\n onMouseOver: () => renderSelectIcon('enter'),\n onMouseLeave: () => renderSelectIcon('leave'),\n onClick: () => {\n var _inputRef$current2;\n return (_inputRef$current2 = inputRef.current) == null ? void 0 : _inputRef$current2.focus();\n },\n style: _extends({\n minWidth: (style == null ? void 0 : style.width) || 200,\n maxWidth: 'none'\n }, style),\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: [prefixCls + \"-inner\", prefixCls + \"-\" + size].filter(Boolean).join(' ').trim(),\n children: [/*#__PURE__*/_jsxs(\"div\", {\n style: {\n display: 'flex',\n flexFlow: 'wrap',\n width: '100%'\n },\n children: [selectedOption.map((item, index) => {\n return /*#__PURE__*/_jsx(Tag, _extends({\n style: {\n height: TagSize[size],\n margin: 1,\n display: 'flex',\n alignItems: 'center'\n },\n className: prefixCls + \"-tag\",\n closable: true,\n color: \"#393E48\"\n }, tagProps, {\n disabled: disabled,\n onClose: e => {\n e.stopPropagation();\n removeSelectItem(index);\n },\n children: item.label\n }), index);\n }), /*#__PURE__*/_jsx(Input, {\n ref: inputRef,\n className: prefixCls + \"-input-contents\",\n size: size,\n disabled: disabled,\n onKeyDown: inputKeyDown,\n onChange: e => handleInputChange(e.target.value),\n value: searchValue,\n placeholder: selectedOption.length ? '' : placeholder\n })]\n }), !disabled && /*#__PURE__*/_jsx(\"span\", {\n style: {\n height: 25,\n width: 14\n },\n className: prefixCls + \"-close-tag-contents\",\n children: (selectIconType === 'close' || selectIconType === 'loading' && loading) && /*#__PURE__*/_jsx(Icon, {\n type: selectIconType,\n spin: loading && selectIconType === 'loading',\n onClick: resetSelectedValue\n })\n })]\n })\n })\n });\n}\nexport default SearchTagInput;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nvar _excluded = [\"onChange\", \"onSearch\", \"multiple\", \"options\", \"value\", \"emptyOption\", \"treeProps\"];\nimport React, { useState, useEffect } from 'react';\nimport SearchTagInput from './SearchTagInput';\nimport Tree from '@uiw/react-tree';\nimport TreeChecked from '@uiw/react-tree-checked';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n// type TreeCheckedsProps = TreeCheckedProps & Partial>\nfunction TreeCheckeds(props) {\n var [selectOption, selectOptionSet] = useState({});\n var [keys, keysSet] = useState([]);\n useEffect(() => {\n var _props$values;\n var selectOption = {};\n var keys = (_props$values = props.values) == null ? void 0 : _props$values.map(opt => {\n selectOption[opt.key] = opt.label;\n return opt.key;\n });\n selectOptionSet(selectOption);\n keysSet(keys || []);\n }, [props.values]);\n var onSelected = (_, item, isChecked, evn) => {\n var curSelectOption = getOptionsRecursion([evn], selectOption, isChecked);\n var isNumberKey = false;\n if (typeof item === 'number') isNumberKey = true;\n var option = Object.entries(curSelectOption).map(_ref => {\n var [key, label] = _ref;\n return {\n key: isNumberKey ? Number.parseInt(key) : key,\n label\n };\n });\n props.onSelected == null || props.onSelected(option, {\n key: evn.key,\n label: evn.label\n }, isChecked);\n };\n var getOptionsRecursion = (childrens, selectOption, isAdd) => {\n var addOrDel = (key, label, isAdd) => {\n if (isAdd) {\n selectOption[key] = label;\n } else {\n delete selectOption[key];\n }\n };\n var iteratorParent = child => {\n // 向上迭代\n if (child.parent) {\n var selectCount = child.parent.children.filter(child => !selectOption[child.key]).length;\n addOrDel(child.parent.key, child.parent.label, selectCount === 0);\n iteratorParent(child.parent);\n }\n };\n childrens.forEach(child => {\n var _child$children, _child$label;\n if (!!((_child$children = child.children) != null && _child$children.length)) {\n selectOption = getOptionsRecursion(child.children, selectOption, isAdd);\n }\n addOrDel(child.key, (_child$label = child.label) == null ? void 0 : _child$label.toString(), isAdd);\n iteratorParent(child);\n });\n return selectOption;\n };\n return /*#__PURE__*/_jsx(TreeChecked, _extends({\n defaultExpandAll: true\n }, props, {\n data: props.options,\n selectedKeys: keys,\n onSelected: onSelected\n }));\n}\nfunction SingeTree(props) {\n var [keys, keysSet] = useState([]);\n useEffect(() => {\n var _props$values2;\n var keys = [];\n if ((_props$values2 = props.values) != null && _props$values2.length) keys[0] = props.values[0].key;\n keysSet(keys);\n }, [props.values]);\n var onSelected = (_1, _2, isChecked, evn) => {\n var {\n key,\n label\n } = evn;\n var cur = {\n key,\n label\n };\n props.onSelected == null || props.onSelected(isChecked ? [cur] : [], cur, isChecked);\n };\n return /*#__PURE__*/_jsx(Tree, _extends({\n defaultExpandAll: true\n }, props, {\n multiple: false,\n data: props.options,\n selectedKeys: keys,\n onSelected: onSelected\n }));\n}\nfunction SearchTree(props) {\n var {\n onChange,\n multiple = true,\n options = [],\n value = [],\n emptyOption = !options.length,\n treeProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [selectedValues, selectedValuesSet] = useState(Array.isArray(value) ? value : [value]);\n var [selectedOptions, selectedOptionSet] = useState(options);\n var [isEmpty, isEmptySet] = useState(emptyOption);\n useEffect(() => {\n selectedValuesSet(Array.isArray(value) ? value : []);\n }, [JSON.stringify(value)]);\n var selectedChange = (resultValue, cur, isChecked) => {\n selectedValuesSet(resultValue);\n onChange == null || onChange(cur, resultValue, isChecked);\n };\n var selectedSearch = searchValue => {\n var hiddenNodeForSeach = function hiddenNodeForSeach(childrens, parentIsHide) {\n if (parentIsHide === void 0) {\n parentIsHide = true;\n }\n childrens.forEach(child => {\n var _child$children2;\n var isHide = !child.label.includes(searchValue.trim()) && parentIsHide;\n if (!!((_child$children2 = child.children) != null && _child$children2.length)) {\n hiddenNodeForSeach(child.children, isHide);\n var find = child.children.find(item => !item.hideNode);\n child.hideNode = isHide && !find;\n } else {\n child.hideNode = isHide;\n }\n });\n };\n hiddenNodeForSeach(options);\n selectedOptionSet([...options]);\n var isEmpt = true;\n options.forEach(opt => isEmpt = isEmpt && !!opt.hideNode);\n isEmptySet(typeof emptyOption === 'boolean' && isEmpt ? isEmpt : emptyOption);\n };\n return /*#__PURE__*/_jsx(SearchTagInput, _extends({}, other, {\n emptyOption: isEmpty,\n selectCloseDrop: !multiple,\n onSearch: selectedSearch,\n onChange: selectedChange,\n values: selectedValues,\n options: selectedOptions,\n content: multiple ? /*#__PURE__*/_jsx(TreeCheckeds, _extends({}, treeProps)) : /*#__PURE__*/_jsx(SingeTree, _extends({}, treeProps))\n }));\n}\nexport default SearchTree;","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(\"option\", _extends({}, props, {\n ref: ref\n})));","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(\"optgroup\", _extends({}, props, {\n ref: ref\n})));","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"size\"];\nimport React from 'react';\nimport Option from './Option';\nimport Group from './Group';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar InternalSelect = (props, ref) => {\n var {\n prefixCls = 'w-select',\n className,\n size = 'default'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/_jsx(\"select\", _extends({}, other, {\n ref: ref,\n className: [prefixCls, className, size ? prefixCls + \"-\" + size : null].filter(Boolean).join(' ').trim()\n }));\n};\nvar Select = /*#__PURE__*/React.forwardRef(InternalSelect);\nSelect.Option = Option;\nSelect.Group = Group;\nexport default Select;","import React from 'react';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function Dots(props) {\n var {\n prefixCls,\n data,\n step,\n min,\n vertical,\n marks,\n markRender\n } = props;\n return /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-dots\",\n children: data.map((val, idx) => {\n var stepValue = idx * step + min;\n return /*#__PURE__*/_jsxs(\"div\", {\n style: {\n [vertical ? 'top' : 'left']: val + \"%\"\n },\n className: [prefixCls + \"-mark\", marks && marks !== true && !marks[stepValue] ? 'no-marks' : null].filter(Boolean).join(' ').trim(),\n children: [marks === true && markRender && markRender(stepValue), marks !== true && marks && marks[stepValue] && markRender && markRender(stepValue, marks[stepValue])]\n }, idx);\n })\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"value\", \"min\", \"max\", \"dots\", \"step\", \"disabled\", \"progress\", \"tooltip\", \"className\", \"marks\", \"renderMarks\", \"vertical\", \"onChange\"];\nimport React, { useEffect, useState } from 'react';\nimport Dots from './Dots';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Slider(props) {\n var {\n prefixCls = 'w-slider',\n value = 0,\n min = 0,\n max = 100,\n dots = false,\n step = 1,\n disabled = false,\n progress = true,\n tooltip = false,\n className,\n marks,\n renderMarks,\n vertical,\n onChange\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var bar = React.useRef(null);\n var slider = React.useRef(null);\n var indexBar = React.useRef();\n var startX = React.useRef();\n var curValue = React.useRef();\n var barWidth = React.useRef();\n var barOffsetLeft = React.useRef();\n var move = React.useRef();\n var [arrValue, setArrValue] = useState(Array.isArray(value) ? value : [value]);\n useEffect(() => setArrValue(Array.isArray(value) ? value : [value]), [value]);\n other.onClick = evn => {\n if (move.current !== undefined) {\n return;\n }\n var markOffset = slider.current.getBoundingClientRect();\n var vals = getWidthToValue(evn[vertical ? 'clientY' : 'clientX'] - markOffset[vertical ? 'y' : 'x']);\n var curr = getRangeValue(vals);\n handleChange(curr);\n };\n function getRangeValue(val) {\n if (!Array.isArray(value)) {\n return Array.isArray(val) ? val : [val];\n }\n var newData = [...arrValue];\n var val1 = newData[0];\n var val2 = newData[1];\n if (val1 < val2 && val1 > val || val1 > val2 && val1 < val) {\n newData[0] = val;\n }\n if (val1 < val2 && val2 < val || val1 > val2 && val2 > val) {\n newData[1] = val;\n }\n if (val1 > val && val2 < val) {\n var half = val2 + (val1 - val2) / 2;\n if (half >= val) {\n newData[1] = val;\n }\n if (half < val) {\n newData[0] = val;\n }\n }\n if (val2 > val && val1 < val) {\n var _half = val1 + (val2 - val1) / 2;\n if (_half >= val) {\n newData[0] = val;\n }\n if (_half < val) {\n newData[1] = val;\n }\n }\n return newData;\n }\n function handleChange(val) {\n setArrValue([...val]);\n onChange && onChange(arrValue.length === 1 ? val[0] : val);\n }\n function getWidthToValue(width) {\n var equal = (max - min) / step;\n var percent = 0;\n if (slider.current) {\n percent = width / slider.current[vertical ? 'clientHeight' : 'clientWidth'] * 100;\n }\n if (percent <= 0) {\n percent = 0;\n }\n if (percent >= 100) {\n percent = 100;\n }\n var num = equal * (percent / 100) + 0.5;\n var numFloor = Math.floor(num);\n var vals = numFloor * step + min;\n return vals;\n }\n function onHandleBtnDown(idx, env) {\n if (disabled) {\n return;\n }\n indexBar.current = idx;\n move.current = true;\n startX.current = env[vertical ? 'clientY' : 'clientX'];\n if (bar.current) {\n barWidth.current = bar.current[vertical ? 'clientHeight' : 'clientWidth'];\n barOffsetLeft.current = bar.current[vertical ? 'offsetTop' : 'offsetLeft'];\n }\n var vals = [...arrValue];\n if (Array.isArray(value)) {\n barWidth.current = indexBar.current === 1 && vals[1] > vals[0] || indexBar.current !== 1 && vals[0] > vals[1] ? barWidth.current + barOffsetLeft.current : barOffsetLeft.current;\n }\n window.addEventListener('mousemove', onDragging);\n window.addEventListener('mouseup', onDragEnd);\n }\n function onDragging(env) {\n if (!move.current) {\n return;\n }\n var vals = [...arrValue];\n var valueToWidth = getWidthToValue(env[vertical ? 'clientY' : 'clientX'] - startX.current + barWidth.current);\n if (valueToWidth !== curValue.current) {\n vals[indexBar.current] = valueToWidth;\n var _barStyl = getStyle(vals);\n if (bar.current) {\n bar.current.style[vertical ? 'top' : 'left'] = _barStyl.left;\n bar.current.style[vertical ? 'bottom' : 'right'] = _barStyl.right;\n }\n handleChange(vals);\n curValue.current = valueToWidth;\n }\n }\n function onDragEnd() {\n move.current = undefined;\n window.removeEventListener('mousemove', onDragging, false);\n window.removeEventListener('mouseup', onDragEnd, false);\n }\n var stepArray = () => {\n var equal = (max - min) / step;\n var stepWidth = 100 * step / (max - min);\n var result = [0];\n for (var i = 1; i < equal; i += 1) {\n result.push(i * stepWidth);\n }\n result.push(100);\n return result;\n };\n function getValueToPercent(vals) {\n return (vals - min) * 100 / (max - min);\n }\n function getStyle(val) {\n val = val || arrValue;\n var barStyl = {\n left: '0%',\n right: '100%'\n };\n if (!Array.isArray(value)) {\n barStyl.right = 100 - getValueToPercent(val[0]) + \"%\";\n } else {\n var leftValue = val[0] > val[1] ? val[1] : val[0];\n var rightValue = val[0] > val[1] ? val[0] : val[1];\n barStyl.left = getValueToPercent(leftValue) + \"%\";\n barStyl.right = 100 - getValueToPercent(rightValue) + \"%\";\n }\n return barStyl;\n }\n function getLabelValue(val) {\n if (marks && marks !== true && marks[val] && marks[val].label) {\n return marks[val].label;\n } else if (marks && marks !== true && marks[val] && typeof marks[val] === 'string') {\n return marks[val];\n } else if (renderMarks && typeof renderMarks === 'function' && renderMarks(val)) {\n return renderMarks(val);\n }\n // if (marks && typeof marks !== 'boolean' && marks[val].label) {\n // return marks[val].label;\n // } else if (marks && typeof marks !== 'boolean' && typeof marks[val] === 'string') {\n // return marks[val] as ReactElement;\n // } else if (renderMarks && typeof renderMarks === 'function' && renderMarks(val)) {\n // return renderMarks(val);\n // }\n return val;\n }\n var barStyl = getStyle();\n if (disabled) {\n delete other.onClick;\n }\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n ref: slider,\n className: [prefixCls, className, disabled ? 'disabled' : null, marks ? prefixCls + \"-with-marks\" : null, vertical ? prefixCls + \"-vertical\" : null].filter(Boolean).join(' ').trim()\n }, other, {\n children: [/*#__PURE__*/_jsx(\"div\", {\n ref: bar,\n className: prefixCls + \"-bar\",\n style: _extends({\n [vertical ? 'top' : 'left']: barStyl.left,\n [vertical ? 'bottom' : 'right']: barStyl.right\n }, progress !== true ? {\n backgroundColor: progress || 'initial'\n } : {})\n }), [...arrValue].map((item, idx) => {\n var lleftPostion = getValueToPercent(item);\n return /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-handle\",\n onMouseDown: evn => onHandleBtnDown(idx, evn),\n style: {\n [vertical ? 'top' : 'left']: lleftPostion + \"%\"\n },\n children: (tooltip || tooltip === false) && /*#__PURE__*/_jsx(\"div\", {\n className: [prefixCls + \"-tooltip\", tooltip ? 'open' : null].filter(Boolean).join(' ').trim(),\n children: getLabelValue(item)\n })\n }, idx);\n }), dots && /*#__PURE__*/_jsx(Dots, {\n prefixCls: prefixCls,\n min: min,\n step: step,\n marks: marks,\n vertical: !!vertical,\n data: stepArray(),\n markRender: function markRender(stepValue, mark) {\n if (mark === void 0) {\n mark = {};\n }\n if (!mark) {\n return /*#__PURE__*/_jsxs(\"div\", {\n children: [\" \", getLabelValue(stepValue), \" \"]\n });\n }\n var other = typeof mark === 'object' ? mark : {};\n delete other.label;\n return /*#__PURE__*/_jsxs(\"div\", _extends({}, other, {\n children: [\" \", getLabelValue(stepValue), \" \"]\n }));\n }\n })]\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"status\", \"itemWidth\", \"icon\", \"adjustMarginRight\", \"stepNumber\", \"title\", \"description\", \"progressDot\"];\nimport React from 'react';\nimport Icon from '@uiw/react-icon';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Step(props) {\n var {\n prefixCls = 'w-steps',\n className,\n style,\n status,\n itemWidth,\n icon,\n adjustMarginRight,\n stepNumber,\n title,\n description,\n progressDot\n } = props,\n restProps = _objectWithoutPropertiesLoose(props, _excluded);\n var classString = [prefixCls + \"-item\", prefixCls + \"-item-\" + status, className, icon ? prefixCls + \"-custom\" : null].filter(Boolean).join(' ').trim();\n var stepItemStyle = _extends({}, style);\n var stepItemDotStyle = {};\n if (itemWidth) {\n stepItemStyle.width = itemWidth;\n }\n if (adjustMarginRight) {\n stepItemStyle.marginRight = adjustMarginRight;\n if (progressDot) {\n stepItemDotStyle.paddingRight = Math.abs(adjustMarginRight);\n }\n }\n var iconNode = null;\n if (progressDot && !icon) {\n iconNode = /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-dot\"\n });\n } else if (icon && typeof icon !== 'string') {\n iconNode = /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-icon\",\n children: icon\n });\n } else if (icon && typeof icon === 'string' || status === 'finish' || status === 'error') {\n iconNode = /*#__PURE__*/_jsx(Icon, {\n type: [icon && typeof icon === 'string' ? \"\" + icon : null, !icon && status === 'finish' ? 'check' : null, !icon && status === 'error' ? 'close' : null].filter(Boolean).join(' ').trim()\n });\n } else {\n iconNode = /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-icon\",\n children: stepNumber\n });\n }\n return /*#__PURE__*/_jsxs(\"div\", _extends({}, restProps, {\n className: classString,\n style: stepItemStyle,\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-item-tail\",\n style: stepItemDotStyle,\n children: /*#__PURE__*/_jsx(\"i\", {\n style: {\n paddingRight: '100%'\n }\n })\n }), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-item-head\",\n children: /*#__PURE__*/_jsx(\"div\", {\n className: [prefixCls + \"-item-inner\", !!icon && 'is-icon'].filter(Boolean).join(' ').trim(),\n children: iconNode\n })\n }), /*#__PURE__*/_jsxs(\"div\", {\n className: [prefixCls + \"-item-main\", !!icon && 'is-icon-main'].filter(Boolean).join(' ').trim(),\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-item-title\",\n children: title\n }), description && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-item-description\",\n children: description\n })]\n })]\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"style\", \"className\", \"children\", \"current\", \"status\", \"progressDot\", \"direction\"];\nimport React, { useEffect, useRef, useState } from 'react';\nimport Step from './Step';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction InternalSteps(props) {\n var {\n prefixCls = 'w-steps',\n style = {},\n children,\n current,\n status = 'process',\n progressDot = false,\n direction = 'horizontal'\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n var warpRef = useRef(null);\n var [lastStepOffsetWidth, setLastStepOffsetWidth] = useState(0);\n var filteredChildren = React.Children.toArray(children).filter(c => !!c);\n var lastIndex = filteredChildren.length - 1; // 最后一个节点的索引数字\n var classString = [prefixCls, prefixCls + \"-\" + direction, !!progressDot ? prefixCls + \"-dot\" : null].filter(Boolean).join(' ').trim();\n useEffect(() => calcStepOffsetWidth());\n\n // 计算每一步的宽度\n function calcStepOffsetWidth() {\n var domNode = warpRef.current;\n if (domNode && domNode.lastChild) {\n var width = (domNode.lastChild.offsetWidth || 0) + 1;\n if (width === lastStepOffsetWidth || Math.abs(width - lastStepOffsetWidth) <= 3) {\n return;\n }\n setLastStepOffsetWidth(width);\n }\n }\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: classString,\n style: style\n }, resetProps, {\n ref: warpRef,\n children: React.Children.map(children, (child, index) => {\n var childProps = _extends({\n stepNumber: \"\" + (index + 1),\n prefixCls,\n progressDot\n }, child.props);\n if (index !== lastIndex && direction !== 'vertical') {\n childProps.itemWidth = 100 / lastIndex + \"%\";\n childProps.adjustMarginRight = -Math.round(lastStepOffsetWidth / lastIndex + 1);\n }\n if (progressDot && direction !== 'vertical') {\n childProps.itemWidth = 100 / filteredChildren.length + \"%\";\n childProps.adjustMarginRight = 0;\n }\n // 错误前面\n if (status === 'error' && index === current - 1) {\n childProps.className = prefixCls + \"-next-error\";\n }\n if (!child.props.status) {\n if (index === current) {\n childProps.status = status;\n } else if (index < current) {\n childProps.status = 'finish';\n } else {\n childProps.status = 'wait';\n }\n }\n return /*#__PURE__*/React.cloneElement(child, childProps);\n })\n }));\n}\nInternalSteps.Step = Step;\nexport default InternalSteps;","import Steps from './Steps';\nexport * from './Steps';\nexport * from './Step';\nexport default Steps;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\"];\nimport React from 'react';\nimport { RadioAbstract } from '@uiw/react-radio';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-switch'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/_jsx(RadioAbstract, _extends({\n prefixCls: prefixCls\n }, _extends({}, other, {\n type: 'checkbox'\n }), {\n ref: ref\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Get colspan number\n * @param {Array} date\n */\nfunction getColspanNum(data, num) {\n if (data === void 0) {\n data = [];\n }\n if (num === void 0) {\n num = 1;\n }\n var childs = [];\n for (var i = 0; i < data.length; i += 1) {\n if (data[i].children) {\n childs = childs.concat(data[i].children || []);\n }\n }\n if (childs && childs.length > 0) {\n num = getColspanNum(childs, num + 1);\n }\n return num;\n}\n\n/**\n * Get rowspan number\n * @param {Array} date\n */\nfunction getRowspanNum(data, child) {\n if (data === void 0) {\n data = [];\n }\n if (child === void 0) {\n child = [];\n }\n var childs = [];\n for (var i = 0; i < data.length; i += 1) {\n if (!data[i].children) {\n childs.push(data[i]);\n } else if (data[i].children && data[i].children.length > 0) {\n childs = childs.concat(getRowspanNum(data[i].children, child));\n }\n }\n return childs;\n}\n/**\n * JSON Array => Array\n * @param {Array} date\n */\nexport function getLevelItems(data, result) {\n if (!result) {\n result = {\n header: [],\n render: {}\n };\n }\n if (result && !result.header) {\n result.header = [];\n }\n if (result && !result.render) {\n result.render = {};\n }\n var child = [];\n var levelTop = [];\n for (var i = 0; i < data.length; i += 1) {\n if (data[i].render && data[i].key) {\n result.render[data[i].key] = data[i].render;\n }\n if (data[i].ellipsis && data[i].key) {\n if (!result.ellipsis) result.ellipsis = {};\n result.ellipsis[data[i].key] = true;\n }\n if (result.header.length === 0) {\n // Calculation rowspan\n if (data[i].children && data[i].children && data[i].children.length > 0) {\n data[i].colSpan = getRowspanNum(data[i].children).length;\n }\n levelTop.push(data[i]);\n }\n if (data[i] && data[i].children) {\n child = child.concat(data[i].children.map(item => {\n // Calculation rowspan\n if (item.children && item.children.length > 0) {\n item.colSpan = getRowspanNum(item.children).length;\n }\n return item;\n }));\n }\n }\n // level 1\n if (result.header.length === 0) {\n var num = getColspanNum(levelTop);\n result.header.push(levelTop.map(item => {\n if (num === 1) return item;\n if (!item.children || item.children && item.children.length === 0) {\n item.rowSpan = num;\n }\n return item;\n }));\n }\n if (child && child.length > 0) {\n var _num = getColspanNum(child);\n result.header.push(child.map(item => {\n if (_num === 1) return item;\n if (!item.children || item.children && item.children.length === 0) {\n item.rowSpan = _num;\n }\n return item;\n }));\n result = getLevelItems(child, result);\n }\n return result;\n}\n\n/**\n * Get all columns keys\n * @param {Array} data\n */\nexport function getAllColumnsKeys(data, keys) {\n if (keys === void 0) {\n keys = [];\n }\n for (var i = 0; i < data.length; i += 1) {\n if (data[i].children) {\n keys = keys.concat(getAllColumnsKeys(data[i].children || []));\n } else if (data[i].key) {\n keys.push(data[i]);\n } else {\n keys.push(_extends({}, data[i], {\n key: i.toString()\n }));\n }\n }\n return keys;\n}\nexport function locationFixed(fixed, location, index) {\n var _location$index, _location$index2;\n if (!fixed) return {};\n if (fixed === 'right') return {\n right: (_location$index = location[index]) == null ? void 0 : _location$index.right\n };\n return {\n left: (_location$index2 = location[index]) == null ? void 0 : _location$index2.left\n };\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"title\", \"key\", \"render\", \"children\", \"ellipsis\", \"fixed\"];\nimport React, { Component } from 'react';\nimport { locationFixed } from './util';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default class ThComponent extends Component {\n constructor() {\n super(...arguments);\n this.wrapper = /*#__PURE__*/React.createRef();\n }\n componentDidMount() {\n this.props.updateLocation({\n width: this.wrapper.current.getBoundingClientRect().width\n }, \"\" + this.props.rowNum + this.props.colNum, this.props.item.key, this.props.item.colSpan);\n }\n render() {\n var {\n colNum,\n rightNum,\n prefixCls,\n item,\n titleNode,\n onCellHead,\n rowNum,\n locationWidth\n } = this.props;\n var {\n fixed = false\n } = item,\n thProps = _objectWithoutPropertiesLoose(item, _excluded);\n var cls = '';\n if (fixed) {\n if (fixed === 'right') {\n var rightCls = rightNum === 1 ? prefixCls + \"-fixed-right-first\" : '';\n cls = prefixCls + '-fixed-right ' + rightCls;\n } else {\n cls = prefixCls + '-fixed-true';\n }\n }\n return /*#__PURE__*/_jsx(\"th\", _extends({\n ref: this.wrapper\n }, thProps, {\n style: _extends({}, thProps.style, locationFixed(fixed, locationWidth, \"\" + rowNum + colNum)),\n className: prefixCls + \"-tr-children-\" + ((item == null ? void 0 : item.align) || 'left') + \" \" + (item.className || '') + \" \" + cls,\n onClick: evn => onCellHead == null ? void 0 : onCellHead(item, colNum, rowNum, evn),\n children: titleNode\n }), colNum);\n }\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"data\", \"onCellHead\", \"locationWidth\", \"updateLocation\"],\n _excluded2 = [\"title\", \"key\", \"render\", \"children\", \"ellipsis\", \"fixed\"];\nimport React from 'react';\nimport { noop } from '@uiw/utils';\nimport \"./style/index.css\";\nimport ThComponentProps from './ThComponent';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function TheadComponent(props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-table',\n className,\n data = [],\n onCellHead = noop,\n locationWidth,\n updateLocation\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var rightFixedNum = 0;\n return /*#__PURE__*/_jsx(\"thead\", _extends({\n className: [prefixCls, className].filter(Boolean).join(' ').trim()\n }, other, {\n children: data && data.length > 0 && data.map((tds, rowNum) => /*#__PURE__*/_jsx(\"tr\", {\n children: (tds || []).map((item, colNum) => {\n var {\n title,\n ellipsis,\n fixed = false\n } = item,\n thProps = _objectWithoutPropertiesLoose(item, _excluded2);\n var titleNode = /*#__PURE__*/_jsx(\"span\", {\n className: ellipsis ? (thProps.className || '') + \" \" + prefixCls + \"-ellipsis\" : undefined,\n children: typeof title === 'function' ? title(item, colNum, rowNum) : title\n });\n if (thProps.colSpan === 0) {\n return null;\n }\n if (fixed === 'right') {\n rightFixedNum = rightFixedNum + 1;\n }\n return /*#__PURE__*/_jsx(ThComponentProps, {\n colNum: colNum,\n rightNum: rightFixedNum,\n item: item,\n prefixCls: prefixCls,\n onCellHead: onCellHead,\n rowNum: rowNum,\n titleNode: titleNode,\n locationWidth: locationWidth,\n updateLocation: updateLocation\n }, colNum);\n })\n }, rowNum))\n }));\n}","import React, { useState } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * 可展开配置\n */\nexport default function ExpandableComponent(_ref) {\n var {\n defaultExpand,\n onClick: _onClick,\n expandIcon\n } = _ref;\n var [expand, setExpand] = useState(defaultExpand);\n return /*#__PURE__*/_jsx(\"div\", {\n style: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n },\n onClick: () => {\n setExpand(!expand);\n _onClick(expand);\n // record: T, index: number, expanded: boolean\n },\n\n children: expandIcon(expand)\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { useMemo, useState, useEffect } from 'react';\nimport Icon from '@uiw/react-icon';\nimport \"./style/index.css\";\nimport { noop } from '@uiw/utils';\nimport { locationFixed } from './util';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { createElement as _createElement } from \"react\";\nexport default function TableTr(props) {\n var {\n rowKey,\n data,\n keys,\n render,\n ellipsis,\n prefixCls,\n onCell = noop,\n isExpandedDom,\n hierarchy,\n indentSize,\n childrenColumnName,\n locationWidth,\n header\n } = props;\n var [isOpacity, setIsOpacity] = useState(false);\n var [childrenIndex, setChildrenIndex] = useState(0);\n var [expandIndex, setExpandIndex] = useState([]);\n useEffect(() => {\n setIsOpacity(!!(data != null && data.find(it => it[childrenColumnName])));\n setChildrenIndex((keys == null ? void 0 : keys.findIndex(it => it.key === 'uiw-expanded')) === -1 ? 0 : 1);\n }, [data]);\n var IconDom = useMemo(() => {\n return (key, isOpacity) => {\n var flag = expandIndex.includes(key);\n return /*#__PURE__*/_jsx(Icon, {\n type: flag ? 'minus-square-o' : 'plus-square-o',\n style: {\n marginRight: 10,\n opacity: isOpacity ? 1 : 0,\n marginLeft: hierarchy * indentSize,\n float: 'left',\n marginTop: 3.24\n },\n onClick: () => {\n setExpandIndex(flag ? expandIndex.filter(it => it !== key) : [...expandIndex, key]);\n }\n });\n };\n }, [expandIndex]);\n var getIndex = key => {\n var j = 0;\n var i = header.findIndex(it => {\n j = it.findIndex(item => item.key === key);\n return j > -1;\n });\n return \"\" + i + j;\n };\n if (!Array.isArray(data) || !data.length) {\n return null;\n }\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: data.map((trData, rowNum) => {\n var key = rowKey ? trData[rowKey] : rowNum;\n var rightFixedNum = 0;\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"tr\", {\n children: keys.map((keyName, colNum) => {\n var objs = {\n children: trData[keyName.key]\n };\n if (render[keyName.key]) {\n var child = render[keyName.key](trData[keyName.key], keyName.key, trData, rowNum, colNum);\n if ( /*#__PURE__*/React.isValidElement(child)) {\n objs.children = child;\n } else {\n if (child.props) {\n objs = _extends({}, child.props, {\n children: objs.children\n });\n if (child.props.rowSpan === 0 || child.props.colSpan === 0) return null;\n }\n if (child.children) {\n objs.children = child.children;\n }\n }\n }\n var isHasChildren = Array.isArray(trData[childrenColumnName]);\n if (colNum === childrenIndex && (isOpacity || hierarchy || isHasChildren)) {\n objs.children = /*#__PURE__*/_jsxs(_Fragment, {\n children: [IconDom(key, isHasChildren), /*#__PURE__*/_jsx(\"span\", {\n style: {\n paddingLeft: hierarchy * indentSize\n }\n }), objs.children]\n });\n }\n if (keyName.fixed) {\n if (keyName.fixed === 'right') {\n rightFixedNum = rightFixedNum + 1;\n var cls = rightFixedNum === 1 ? prefixCls + \"-fixed-right-first\" : '';\n objs.className = prefixCls + \"-fixed-right \" + cls;\n } else {\n objs.className = prefixCls + \"-fixed-true\";\n }\n }\n return /*#__PURE__*/_createElement(\"td\", _extends({}, objs, {\n style: keyName.fixed ? _extends({}, locationFixed(keyName.fixed, locationWidth, \"\" + getIndex(keyName.key || 'undefined'))) : {},\n children: /*#__PURE__*/_jsx(\"span\", {\n className: ellipsis && ellipsis[keyName.key] ? prefixCls + \"-ellipsis\" : undefined,\n children: objs.children\n }),\n key: colNum,\n className: [prefixCls + '-tr-children-' + (keyName.align || 'left'), keyName.className, objs.className].filter(it => it).join(' ').trim(),\n onClick: evn => onCell(trData, {\n rowNum,\n colNum,\n keyName: keyName.key\n }, evn)\n }));\n })\n }, key), isExpandedDom(trData, rowNum), expandIndex.includes(key) && /*#__PURE__*/_jsx(TableTr, _extends({}, props, {\n data: trData[childrenColumnName],\n hierarchy: hierarchy + 1\n }))]\n }, rowNum);\n })\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"columns\", \"data\", \"title\", \"footer\", \"bordered\", \"onCell\", \"onCellHead\", \"empty\", \"children\", \"expandable\", \"rowKey\", \"scroll\"];\nimport React, { useMemo, useState, useEffect, useRef } from 'react';\nimport { noop } from '@uiw/utils';\nimport Icon from '@uiw/react-icon';\nimport Thead from './Thead';\nimport { getLevelItems, getAllColumnsKeys } from './util';\nimport ExpandableComponent from './Expandable';\nimport TableTr from './TableTr';\nimport \"./style/index.css\";\n\n// 展开配置\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Table(props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-table',\n className,\n columns = [],\n data = [],\n title,\n footer,\n bordered,\n onCell = noop,\n onCellHead = noop,\n empty,\n expandable,\n rowKey,\n scroll\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [expandIndex, setExpandIndex] = useState([]);\n var [locationWidth, setLocationWidth] = useState({});\n var finalLocationWidth = useRef({});\n var updateLocation = function updateLocation(params, index, key, colSpan) {\n if (colSpan === void 0) {\n colSpan = 0;\n }\n finalLocationWidth.current = _extends({}, finalLocationWidth.current, {\n [index]: _extends({}, finalLocationWidth.current[index], params, {\n key: key,\n colSpan\n })\n });\n if (index === \"\" + (header.length - 1) + (header[header.length - 1].length - 1)) {\n setLocationWidth(computed());\n }\n };\n var deepClumnsLocation = (params, fistIndex) => {\n var initialValue = 0,\n headerIndex = 0,\n deepParams = [];\n params.forEach((_, index) => {\n var i = \"\" + fistIndex + headerIndex;\n if (typeof params[index] === 'number') {\n initialValue = params[index] + initialValue;\n deepParams.push(params[index]);\n return;\n }\n if (finalLocationWidth.current[i]) {\n finalLocationWidth.current[i].left = initialValue;\n initialValue = finalLocationWidth.current[i].width + initialValue;\n if (Array.isArray(params[index].children)) {\n deepParams.push(...params[index].children);\n } else {\n deepParams.push(finalLocationWidth.current[i].width);\n }\n }\n headerIndex += 1;\n });\n initialValue = 0, headerIndex = header[fistIndex].length - 1;\n for (var _index = params.length - 1; _index >= 0; _index--) {\n var i = \"\" + fistIndex + headerIndex;\n if (typeof params[_index] === 'number') {\n initialValue = params[_index] + initialValue;\n continue;\n }\n if (finalLocationWidth.current[i]) {\n finalLocationWidth.current[i].right = initialValue;\n initialValue = finalLocationWidth.current[i].width + initialValue;\n }\n headerIndex -= 1;\n }\n if (deepParams.filter(it => typeof it !== 'number').length) deepClumnsLocation(deepParams, fistIndex + 1);\n };\n var computed = () => {\n deepClumnsLocation(columns, 0);\n return finalLocationWidth.current;\n };\n useEffect(() => {\n var childKey = (expandable == null ? void 0 : expandable.childrenColumnName) || 'children';\n var deep = params => {\n var arr1 = [];\n var arr = params.map((it, index) => {\n if (Array.isArray(it[childKey])) {\n arr1.push(...deep(it[childKey]));\n }\n return rowKey ? it[rowKey] : index;\n });\n return [...arr1, ...arr];\n };\n if (expandable) {\n if (expandable.defaultExpandAllRows) {\n setExpandIndex(deep(data));\n return;\n }\n if (expandable.defaultExpandedRowKeys) {\n setExpandIndex(expandable.defaultExpandedRowKeys);\n return;\n }\n }\n }, []);\n useEffect(() => {\n if (expandable) {\n if (expandable.expandedRowKeys && JSON.stringify(expandable.expandedRowKeys) !== JSON.stringify(expandIndex)) {\n setExpandIndex(expandable.expandedRowKeys);\n }\n }\n }, [expandable == null ? void 0 : expandable.expandedRowKeys]);\n var isExpandedDom = useMemo(() => {\n return (record, index) => {\n if (!expandable) {\n return false;\n }\n if (!expandable.expandedRowRender) {\n return false;\n }\n var flag = true;\n if (expandable.rowExpandable) {\n flag = expandable.rowExpandable(record);\n }\n return flag && /*#__PURE__*/_jsx(\"tr\", {\n style: expandIndex.includes(rowKey ? record[rowKey] : index) ? {} : {\n display: 'none'\n },\n children: /*#__PURE__*/_jsx(\"td\", {\n style: {\n paddingLeft: 16\n },\n colSpan: columns.length + 1,\n children: expandable.expandedRowRender(record, index, true)\n })\n });\n };\n }, [expandable, expandIndex]);\n var self = useMemo(() => {\n var keys = getAllColumnsKeys(columns);\n var selfColumns = [];\n if (expandable != null && expandable.expandedRowRender) {\n keys = [{\n key: 'uiw-expanded',\n align: 'center'\n }, ...keys];\n selfColumns = [{\n title: '',\n key: 'uiw-expanded',\n width: 50,\n align: 'center',\n render: (text, key, record, index) => {\n var _expandable$defaultEx;\n return /*#__PURE__*/_jsx(ExpandableComponent, {\n defaultExpand: expandable.defaultExpandAllRows === undefined ? !!((_expandable$defaultEx = expandable.defaultExpandedRowKeys) != null && _expandable$defaultEx.includes(rowKey ? record[rowKey] : index)) : !!expandable.defaultExpandAllRows,\n onClick: expand => {\n expandable.onExpand == null || expandable.onExpand(expand, record, index);\n if (expand) {\n var result = expandIndex.filter(it => rowKey ? it !== record[rowKey] : it !== index);\n expandable.onExpandedRowsChange ? expandable.onExpandedRowsChange(result) : setExpandIndex(result);\n } else {\n var _result = [...expandIndex, rowKey ? record[rowKey] : index];\n expandable.onExpandedRowsChange ? expandable.onExpandedRowsChange(_result) : setExpandIndex(_result);\n }\n },\n expandIcon: expand => {\n if (expandable.rowExpandable && !(expandable.rowExpandable != null && expandable.rowExpandable(record))) {\n return null;\n }\n if (expandable.expandIcon) {\n return expandable.expandIcon(expand, record, index);\n }\n return expand ? /*#__PURE__*/_jsx(Icon, {\n type: \"minus-square-o\"\n }) : /*#__PURE__*/_jsx(Icon, {\n type: \"plus-square-o\"\n });\n }\n });\n }\n }, ...columns];\n } else {\n selfColumns = [...columns];\n }\n return {\n keys,\n selfColumns\n };\n }, [columns, expandIndex]);\n var style = useMemo(() => {\n var style = {\n table: {},\n div: {}\n };\n if (scroll) {\n if (scroll.x !== undefined) {\n style.table.minWidth = '100%';\n style.table.width = scroll.x;\n style.div.overflowX = 'auto';\n style.div.overflowY = 'hidden';\n }\n if (scroll.y !== undefined) {\n style.div.maxHeight = scroll.y;\n style.div.overflowY = 'scroll';\n }\n }\n return style;\n }, [scroll]);\n var cls = [prefixCls, className, bordered ? prefixCls + \"-bordered\" : null].filter(Boolean).join(' ').trim();\n var {\n header,\n render,\n ellipsis\n } = getLevelItems(self.selfColumns);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"div\", _extends({\n className: cls\n }, other, {\n style: _extends({}, other.style, style.div),\n children: /*#__PURE__*/_jsxs(\"table\", {\n style: _extends({\n tableLayout: ellipsis ? 'fixed' : 'auto'\n }, style.table),\n children: [title && /*#__PURE__*/_jsx(\"caption\", {\n children: title\n }), columns && columns.length > 0 && /*#__PURE__*/_jsx(Thead, {\n onCellHead: onCellHead,\n data: header,\n locationWidth: locationWidth,\n updateLocation: updateLocation\n }), data && data.length > 0 && /*#__PURE__*/_jsx(\"tbody\", {\n children: /*#__PURE__*/_jsx(TableTr, {\n rowKey: rowKey,\n locationWidth: locationWidth,\n data: data,\n header: header,\n keys: self.keys,\n render: render,\n ellipsis: ellipsis,\n prefixCls: prefixCls,\n onCell: onCell,\n hierarchy: 0,\n isExpandedDom: isExpandedDom,\n indentSize: typeof (expandable == null ? void 0 : expandable.indentSize) === 'number' ? expandable == null ? void 0 : expandable.indentSize : 16,\n childrenColumnName: (expandable == null ? void 0 : expandable.childrenColumnName) || 'children'\n })\n }), data && data.length === 0 && empty && /*#__PURE__*/_jsx(\"tbody\", {\n children: /*#__PURE__*/_jsx(\"tr\", {\n children: /*#__PURE__*/_jsx(\"td\", {\n colSpan: self.keys.length,\n style: {\n position: 'relative',\n left: 0\n },\n children: empty\n })\n })\n }), props.children]\n })\n })), footer && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-footer\",\n children: footer\n })]\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"label\"];\nimport React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default (function (props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-tabs-pane',\n className\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: [prefixCls, className].filter(Boolean).join(' ').trim()\n }, resetProps));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\", \"type\", \"activeKey\", \"onTabClick\"];\nimport React, { useEffect, useState, useRef, useCallback } from 'react';\nimport Pane from './Pane';\nimport \"./style/index.css\";\nimport Popover from '@uiw/react-popover';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport * from './Pane';\nTabs.Pane = Pane;\nexport default function Tabs(props) {\n var _flowNav$nav;\n var {\n prefixCls = 'w-tabs',\n className,\n children,\n type = 'default',\n onTabClick\n } = props,\n elementProps = _objectWithoutPropertiesLoose(props, _excluded);\n var [activeKey, setActiveKey] = useState(props.activeKey);\n var [slideStyle, setSlideStyle] = useState({\n width: 0,\n left: 0\n });\n var activeItem = useRef();\n var cls = [prefixCls, className, type ? prefixCls + \"-\" + type : null].filter(Boolean).join(' ').trim();\n var [flowNav, flowNavSet] = useState({\n content: 0,\n nav: [],\n flowLeft: -1,\n displayStart: 0,\n displayEnd: 0\n });\n var [hiddenNav, hiddenNavSet] = useState([]);\n var deviation = 15;\n var [nodes, nodesSet] = useState();\n var divContentRef = useCallback(node => {\n if (node !== null) {\n nodesSet(nodes);\n node.addEventListener('scroll', e => {\n var {\n clientWidth,\n scrollLeft\n } = e.target;\n flowNav.displayStart = scrollLeft;\n flowNav.displayEnd = clientWidth + scrollLeft;\n flowNavSet(_extends({}, flowNav));\n });\n flowNav.displayEnd = node.getBoundingClientRect().width;\n flowNavSet(_extends({}, flowNav));\n }\n }, []);\n var divNavRef = useCallback((node, key, itemKey, activeKey) => {\n if (node !== null) {\n // node.addEventListener('click', (e: any) => {\n // activeItem.current = node;\n // });\n divNavWidthChange(node.getBoundingClientRect().width, key);\n if (itemKey === activeKey) {\n activeItem.current = node;\n }\n }\n }, []);\n var divNavWidthChange = (width, index) => {\n var curWidth = 0;\n flowNav.nav.slice(0, index + 1).forEach(nav => curWidth += nav.width);\n flowNav.nav[index] = {\n width,\n curWidth: Math.floor(curWidth),\n index\n };\n flowNavSet(flowNav);\n };\n useEffect(() => {\n showHideenNav();\n }, [flowNav.displayEnd > ((_flowNav$nav = flowNav.nav[flowNav.nav.length - 1]) == null ? void 0 : _flowNav$nav.curWidth)]);\n var showHideenNav = () => {\n var hiddenNav = [];\n if (flowNav.nav.length > 0) {\n flowNav.nav.forEach(item => {\n var curWidth = item.curWidth - deviation;\n if (flowNav.displayStart > 0 || flowNav.displayEnd > 0) {\n if (curWidth < flowNav.displayStart || curWidth > flowNav.displayEnd) {\n hiddenNav.push(item.index);\n }\n }\n });\n hiddenNavSet(hiddenNav);\n }\n };\n useEffect(() => setActiveKey((props == null ? void 0 : props.activeKey) || ''), [props.activeKey]);\n useEffect(() => calcSlideStyle(), [activeKey]);\n function calcSlideStyle() {\n if (activeItem.current && type === 'line') {\n setSlideStyle({\n width: activeItem.current.clientWidth,\n left: activeItem.current.offsetLeft\n });\n }\n }\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls\n }, elementProps, {\n children: [/*#__PURE__*/_jsxs(\"div\", {\n style: {\n display: 'flex'\n },\n children: [/*#__PURE__*/_jsx(\"div\", {\n style: {\n overflow: 'hidden'\n },\n children: /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-bar\",\n ref: divContentRef,\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-nav\",\n style: {\n width: 'max-content'\n },\n children: [renderNav(children), /*#__PURE__*/_jsx(\"div\", {\n style: slideStyle,\n className: prefixCls + \"-slide\"\n })]\n })\n })\n }), hiddenNav.length > 0 && /*#__PURE__*/_jsx(Popover, {\n trigger: \"click\",\n placement: \"bottomRight\",\n visibleArrow: false,\n content: /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-nav-hidden\",\n children: renderNav(hiddenNav.map(idx => children[idx]))\n }),\n children: /*#__PURE__*/_jsx(\"div\", {\n onClick: showHideenNav,\n className: prefixCls + \"-flow-content\",\n children: /*#__PURE__*/_jsx(\"span\", {\n children: \"\\u2026\"\n })\n })\n })]\n }), React.Children.map(children, item => {\n if (!item || activeKey !== item.key) {\n return null;\n }\n return /*#__PURE__*/React.cloneElement(item, Object.assign({}, item.props, {}));\n })]\n }));\n function renderNav(children) {\n return React.Children.map(children, (item, key) => {\n if (!item) {\n return null;\n }\n var divProps = {\n className: [prefixCls + \"-item\", item.key === activeKey ? 'active' : null, item.props.disabled ? 'disabled' : null].filter(Boolean).join(' ').trim(),\n children: item.props.label\n };\n if (!item.props.disabled) {\n divProps.onClick = e => {\n setActiveKey(item.key);\n onTabClick && onTabClick(item.key, item, e);\n calcSlideStyle();\n };\n }\n return /*#__PURE__*/_jsx(\"div\", _extends({\n ref: _ref => divNavRef(_ref, key, item.key, activeKey)\n }, divProps), key);\n });\n }\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"title\", \"children\", \"visible\", \"color\", \"disabled\", \"bordered\", \"closable\", \"light\", \"onClose\"];\nimport React from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default (function (props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-tag',\n className,\n style,\n title = '',\n children,\n visible = true,\n color = '#6E6E6E',\n disabled = false,\n bordered = true,\n closable,\n light = false,\n onClose\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className, light ? prefixCls + \"-light\" : null, disabled ? 'disabled' : null].filter(Boolean).join(' ').trim();\n var styl = _extends({}, style);\n if (!light) {\n styl.color = '#fff';\n styl.backgroundColor = color;\n } else {\n styl.color = color;\n styl.borderColor = color;\n if (bordered && light) {\n styl.boxShadow = \"inset 0 0 0 1px \" + color;\n }\n }\n if (!visible) {\n return null;\n }\n var iconClose = !disabled && closable && /*#__PURE__*/_jsx(\"svg\", {\n onClick: onClose,\n className: prefixCls + \"-close\",\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 16 16\",\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M9.41 8l2.29-2.29c.19-.18.3-.43.3-.71a1.003 1.003 0 0 0-1.71-.71L8 6.59l-2.29-2.3a1.003 1.003 0 0 0-1.42 1.42L6.59 8 4.3 10.29c-.19.18-.3.43-.3.71a1.003 1.003 0 0 0 1.71.71L8 9.41l2.29 2.29c.18.19.43.3.71.3a1.003 1.003 0 0 0 .71-1.71L9.41 8z\"\n })\n });\n return /*#__PURE__*/_jsxs(\"span\", _extends({\n className: cls,\n style: styl\n }, other, {\n children: [title || children, iconClose]\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\"];\nimport React from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-textarea',\n className\n } = props,\n restProps = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/_jsx(\"textarea\", _extends({\n className: [prefixCls, className].filter(Boolean).join(' ').trim()\n }, restProps, {\n ref: ref,\n children: props.children\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"count\", \"date\", \"type\", \"disabledHours\", \"disabledMinutes\", \"disabledSeconds\", \"hideDisabled\", \"onSelected\"];\nimport React, { useMemo, useRef } from 'react';\nimport \"./style/time-picker.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function TimePickerPanel(props) {\n var {\n prefixCls = 'w-timepicker',\n count = 24,\n date,\n type = 'Hours',\n hideDisabled,\n onSelected\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var disableds = useRef([]);\n function getMaybeNumber() {\n if (date && type) {\n return new Date(date)[\"get\" + type]();\n }\n return 0;\n }\n function handleClick(num, e) {\n if (!date) return;\n var currentDate = new Date(date);\n currentDate[\"set\" + type](num);\n onSelected && onSelected(type, num, disableds.current, currentDate);\n }\n function getDisabledItem(num) {\n var disabled = props[\"disabled\" + type];\n if (disabled) {\n return disabled(num, type, new Date(date));\n }\n return false;\n }\n function getItemInstance(tag) {\n if (tag && tag.parentNode && tag.dataset['index']) {\n var offsetTop = Number(tag.dataset['index']) * tag.clientHeight;\n if (tag.parentNode.parentNode) {\n tag.parentNode.parentNode.scrollTop = offsetTop;\n }\n }\n }\n var data = useMemo(() => {\n return [...Array(count)].map((_, idx) => {\n var disabled = getDisabledItem(idx);\n if (disabled) disableds.current.push(idx);\n return {\n count: idx,\n disabled: getDisabledItem(idx)\n };\n }).filter(item => hideDisabled && item.disabled ? false : true);\n }, [hideDisabled]);\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: prefixCls + \"-spinner\"\n }, other, {\n children: /*#__PURE__*/_jsx(\"ul\", {\n children: data.map((item, idx) => {\n var liProps = {};\n if (!item.disabled) {\n liProps.onClick = e => handleClick(item.count, e);\n }\n var currentCount = getMaybeNumber();\n return /*#__PURE__*/_jsx(\"li\", _extends({\n \"data-index\": currentCount === item.count ? idx : undefined,\n ref: tag => tag && getItemInstance(tag)\n }, liProps, {\n className: [item.disabled ? 'disabled' : null, currentCount === item.count ? 'selected' : null, hideDisabled && item.disabled ? 'hide' : null].filter(Boolean).join(' ').trim(),\n children: item.count < 10 ? \"0\" + item.count : item.count\n }), idx);\n })\n })\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"precision\"];\nimport React from 'react';\nimport TimePanel from './Panel';\nimport \"./style/time-picker.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport function TimePickerTime(props) {\n var {\n prefixCls = 'w-timepicker',\n className,\n precision = 'second'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/_jsxs(\"div\", {\n className: [prefixCls, className].filter(Boolean).join(' ').trim(),\n children: [/^(second|minute|hour)$/.test(precision) && /*#__PURE__*/_jsx(TimePanel, _extends({\n type: \"Hours\",\n count: 24\n }, other)), /^(second|minute)$/.test(precision) && /*#__PURE__*/_jsx(TimePanel, _extends({\n type: \"Minutes\",\n count: 60\n }, other)), /^(second)$/.test(precision) && /*#__PURE__*/_jsx(TimePanel, _extends({\n type: \"Seconds\",\n count: 60\n }, other))]\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"disabled\", \"value\", \"format\", \"popoverProps\", \"allowClear\", \"onChange\", \"disabledHours\", \"disabledMinutes\", \"disabledSeconds\", \"hideDisabled\", \"precision\"];\nimport React, { useEffect, useState } from 'react';\nimport Popover from '@uiw/react-popover';\nimport Input from '@uiw/react-input';\nimport Button from '@uiw/react-button';\nimport formatter from '@uiw/formatter';\nimport { TimePickerTime } from './Time';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport * from './Panel';\nexport * from './Time';\nexport default function TimePicker(props) {\n var {\n prefixCls = 'w-timepicker',\n className,\n disabled,\n format = 'HH:mm:ss',\n popoverProps,\n allowClear = true,\n onChange,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n hideDisabled,\n precision\n } = props,\n inputProps = _objectWithoutPropertiesLoose(props, _excluded);\n var [date, setDate] = useState(props.value);\n useEffect(() => setDate(props.value), [props.value]);\n var timeProps = {\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n hideDisabled,\n precision\n };\n var inputValue = date ? formatter(format, new Date(date)) : '';\n var datePickerTime = date || new Date();\n var _props = _extends({}, inputProps, {\n value: inputValue\n });\n if (allowClear && inputValue !== '' && !!inputValue) {\n _props.addonAfter = /*#__PURE__*/_jsx(Button, {\n className: prefixCls + \"-close-btn\",\n icon: \"close\",\n disabled: props.disabled,\n onClick: () => {\n setDate(undefined);\n onChange && onChange();\n },\n size: props.size,\n basic: true,\n type: \"light\"\n });\n }\n return /*#__PURE__*/_jsx(Popover, _extends({\n trigger: \"focus\",\n placement: \"bottomLeft\",\n autoAdjustOverflow: true,\n visibleArrow: false\n }, popoverProps, {\n content: /*#__PURE__*/_jsx(TimePickerTime, _extends({\n className: prefixCls + \"-popover\"\n }, timeProps, {\n date: datePickerTime,\n onSelected: (type, num, disableds, currentDate) => {\n setDate(new Date(currentDate));\n var dataStr = currentDate ? formatter(format, currentDate) : '';\n onChange && onChange(dataStr, currentDate, type, num, disableds);\n }\n })),\n children: /*#__PURE__*/_jsx(Input, _extends({\n placeholder: \"\\u8BF7\\u9009\\u62E9\\u65F6\\u95F4\",\n readOnly: true,\n disabled: disabled\n }, _props, {\n className: [prefixCls + \"-input\", className].filter(Boolean).join(' ').trim()\n }))\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"placement\", \"isOpen\", \"trigger\", \"delay\", \"usePortal\", \"visibleArrow\", \"onVisibleChange\"];\nimport React from 'react';\nimport OverlayTrigger from '@uiw/react-overlay-trigger';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default (function (props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-tooltip',\n className,\n placement = 'top',\n isOpen = false,\n trigger,\n delay,\n usePortal = true,\n visibleArrow = true,\n onVisibleChange\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className, !visibleArrow ? 'no-arrow' : null].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(OverlayTrigger, _extends({\n usePortal: usePortal,\n isOpen: isOpen,\n trigger: trigger,\n delay: delay,\n onVisibleChange: onVisibleChange,\n placement: placement\n }, other, {\n overlay: /*#__PURE__*/_jsxs(\"div\", {\n className: cls,\n children: [visibleArrow && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-arrow\"\n }), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-inner\",\n children: props.content\n })]\n }),\n children: typeof props.children === 'object' ? props.children : /*#__PURE__*/_jsx(\"span\", {\n children: props.children\n })\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { useEffect, useRef, useState } from 'react';\nimport Card from '@uiw/react-card';\nimport Icon from '@uiw/react-icon';\nimport Input from '@uiw/react-input';\nimport TreeChecked from '@uiw/react-tree-checked';\nimport \"./style/index.css\";\nimport Checkbox from '@uiw/react-checkbox';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar CheckedStatus = /*#__PURE__*/function (CheckedStatus) {\n CheckedStatus[CheckedStatus[\"UnChecked\"] = 0] = \"UnChecked\";\n CheckedStatus[CheckedStatus[\"AllChecked\"] = 1] = \"AllChecked\";\n CheckedStatus[CheckedStatus[\"Indeterminate\"] = 2] = \"Indeterminate\";\n return CheckedStatus;\n}(CheckedStatus || {});\nfunction Transfer(props) {\n var {\n placeholder,\n options,\n value = [],\n showSearch = false,\n selectedAll = false,\n bodyStyle,\n style,\n className,\n prefixCls = 'w-transfer'\n } = props;\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n var [searchValueLeft, searchValueLeftSet] = useState('');\n var [searchValueRight, searchValueRightSet] = useState('');\n var [selectedOptions, selectedOptionSet] = useState(options || []);\n var selectedOptionsShowCount = useRef(0);\n var [selectOption, selectOptionSet] = useState(new Map());\n var [leftSelectOption, leftSelectOptionSet] = useState(new Map());\n var [leftSelectedKeys, leftSelectedKeySet] = useState([]);\n var [rightSelectedKeys, rightSelectedKeySet] = useState([]);\n var [rightOpions, rightOpionSet] = useState([]);\n var [selectAllChecked, selectAllCheckedSet] = useState({\n left: CheckedStatus.UnChecked,\n right: CheckedStatus.UnChecked\n });\n useEffect(() => {\n if (value) {\n rightOpionSet(value || []);\n value == null || value.forEach(selectd => selectOption.set(selectd.key, selectd.label));\n hiddenNode(child => !!(value != null && value.find(selectd => child.key === selectd.key)));\n }\n }, [JSON.stringify(value)]);\n var hiddenNode = callBackfn => {\n selectedOptionsShowCount.current = 0;\n var hiddenNodeForSeach = childrens => {\n childrens.forEach(child => {\n var _child$children;\n var isHide = callBackfn(child); // && parentIsHide;\n if (!!((_child$children = child.children) != null && _child$children.length)) {\n hiddenNodeForSeach(child.children);\n var find = child.children.find(item => !item.hideNode);\n child.hideNode = isHide && !find;\n } else {\n child.hideNode = isHide;\n }\n if (!child.hideNode) {\n selectedOptionsShowCount.current++;\n }\n });\n };\n hiddenNodeForSeach(selectedOptions);\n selectedOptionSet([...selectedOptions]);\n };\n var getOptionsRecursion = (childrens, selectOption, isAdd) => {\n var addOrDel = (key, label, isAdd) => {\n if (isAdd) {\n selectOption.set(key, label);\n } else {\n selectOption.delete(key);\n }\n };\n var iteratorParent = child => {\n if (child.parent) {\n var selectCount = child.parent.children.filter(child => !selectOption.get(child.key) && !child.hideNode).length;\n addOrDel(child.parent.key, child.parent.label, selectCount === 0);\n iteratorParent(child.parent);\n }\n };\n childrens.forEach(child => {\n var _child$children2, _child$label;\n if (!!((_child$children2 = child.children) != null && _child$children2.length)) {\n selectOption = getOptionsRecursion(child.children, selectOption, isAdd);\n }\n addOrDel(child.key, (_child$label = child.label) == null ? void 0 : _child$label.toString(), isAdd);\n iteratorParent(child);\n });\n return selectOption;\n };\n var leftTreeOnSelected = (selectedKeys, _1, isChecked, evn) => {\n leftSelectedKeySet(selectedKeys);\n var selectOptionTemp = getOptionsRecursion([evn], leftSelectOption, isChecked);\n leftSelectOptionSet(selectOptionTemp);\n };\n var rightTreeOnSelected = selectedKeys => {\n rightSelectedKeySet(selectedKeys);\n };\n var transferClick = transferType => {\n if (transferType === 'left') {\n leftSelectOption.forEach((value, key) => {\n selectOption.set(key, value);\n });\n leftSelectOptionSet(new Map());\n leftSelectedKeySet([]);\n } else {\n rightSelectedKeys.forEach(key => {\n selectOption.delete(key);\n });\n rightSelectedKeySet([]);\n }\n selectOptionSet(selectOption);\n var option = [];\n selectOption.forEach((label, key) => option.push({\n key,\n label\n }));\n props.onChange == null || props.onChange(transferType, option);\n };\n var searchValueLeftChange = searchValue => {\n hiddenNode(child => {\n var searchIsMatch = !child.label.includes(searchValue.trim());\n if (!searchIsMatch) {\n var isSekected = rightOpions.find(selected => selected.key === child.key);\n searchIsMatch = !!isSekected;\n }\n return searchIsMatch;\n });\n searchValueLeftSet(searchValue);\n props.onSearch == null || props.onSearch('left', searchValue);\n };\n var searchValueRightChange = searchValue => {\n searchValueRightSet(searchValue);\n rightOpions.forEach(option => {\n var isHide = !option.label.includes(searchValue.trim());\n option.hideNode = isHide;\n });\n rightOpionSet(rightOpions);\n props.onSearch == null || props.onSearch('right', searchValue);\n };\n var selectAllLeftChange = e => {\n var isChecked = e.target.checked;\n selectAllChecked.left = isChecked ? 1 : 0;\n if (isChecked) {\n var keys = [];\n var selectedOptionsRecursion = selectedOptions => {\n selectedOptions.forEach(child => {\n var _child$children3;\n if ((_child$children3 = child.children) != null && _child$children3.length) {\n selectedOptionsRecursion(child.children);\n }\n if (!child.hideNode) {\n leftSelectOption.set(child.key, child.label);\n keys.push(child.key);\n }\n });\n };\n selectedOptionsRecursion(selectedOptions);\n leftSelectOptionSet(leftSelectOption);\n leftSelectedKeySet(keys);\n } else {\n leftSelectedKeySet([]);\n leftSelectOptionSet(new Map());\n }\n selectAllCheckedSet(selectAllChecked);\n };\n var selectAllRightChange = e => {\n var isChecked = e.target.checked;\n selectAllChecked.right = isChecked ? 1 : 0;\n if (isChecked) {\n var keys = rightOpions.map(child => child.key);\n rightSelectedKeySet(keys);\n } else {\n rightSelectedKeySet([]);\n }\n selectAllCheckedSet(selectAllChecked);\n };\n var Arrow = props => /*#__PURE__*/_jsx(Icon, {\n onClick: () => props.click(),\n type: \"down-square-o\",\n className: prefixCls + \"-arrow\",\n style: _extends({\n fontSize: 20,\n stroke: '#e9e9e9',\n fill: '#333'\n }, props.style)\n });\n return /*#__PURE__*/_jsxs(\"div\", {\n className: cls,\n style: _extends({\n width: 400\n }, style),\n children: [/*#__PURE__*/_jsxs(Card, {\n bodyStyle: {\n padding: '5px 9px'\n },\n title: /*#__PURE__*/_jsxs(\"div\", {\n children: [selectedAll && /*#__PURE__*/_jsx(Checkbox, {\n indeterminate: leftSelectedKeys.length < selectedOptionsShowCount.current && !!leftSelectedKeys.length,\n checked: leftSelectedKeys.length >= selectedOptionsShowCount.current && !!leftSelectedKeys.length,\n onChange: selectAllLeftChange\n }), /*#__PURE__*/_jsxs(\"label\", {\n style: {\n marginLeft: 3\n },\n children: [leftSelectedKeys.length, \"/\", selectedOptionsShowCount.current]\n })]\n }),\n className: prefixCls + \"-card\",\n children: [showSearch && /*#__PURE__*/_jsx(Input, {\n placeholder: placeholder,\n value: searchValueLeft,\n onChange: e => searchValueLeftChange(e.target.value)\n }), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-cheked-content\",\n children: /*#__PURE__*/_jsx(TreeChecked, {\n defaultExpandAll: true,\n placeholder: placeholder || '搜索选项',\n data: selectedOptions,\n selectedKeys: leftSelectedKeys,\n onSelected: leftTreeOnSelected\n })\n })]\n }), /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-arrow-content\",\n children: [/*#__PURE__*/_jsx(Arrow, {\n click: () => transferClick('left'),\n style: {\n transform: 'rotate(-90deg)',\n background: leftSelectedKeys.length > 0 ? '#393E48' : 'none'\n }\n }), /*#__PURE__*/_jsx(Arrow, {\n click: () => transferClick('right'),\n style: {\n transform: 'rotate(90deg)',\n background: rightSelectedKeys.length > 0 ? '#393E48' : 'none'\n }\n })]\n }), /*#__PURE__*/_jsxs(Card, {\n bodyStyle: {\n padding: '5px 9px'\n },\n className: prefixCls + \"-card\",\n title: /*#__PURE__*/_jsxs(\"div\", {\n children: [selectedAll && /*#__PURE__*/_jsx(Checkbox, {\n indeterminate: rightSelectedKeys.length < rightOpions.length && !!rightSelectedKeys.length,\n checked: rightSelectedKeys.length === rightOpions.length && !!rightSelectedKeys.length,\n onChange: selectAllRightChange\n }), /*#__PURE__*/_jsxs(\"label\", {\n style: {\n marginLeft: 3\n },\n children: [rightSelectedKeys.length, \"/\", rightOpions.length]\n })]\n }),\n children: [showSearch && /*#__PURE__*/_jsx(Input, {\n placeholder: placeholder,\n value: searchValueRight,\n onChange: e => searchValueRightChange(e.target.value)\n }), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-cheked-content\",\n style: bodyStyle,\n children: /*#__PURE__*/_jsx(TreeChecked, {\n data: rightOpions,\n selectedKeys: rightSelectedKeys,\n onSelected: rightTreeOnSelected\n })\n })]\n })]\n });\n}\nexport default Transfer;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\"];\nimport React, { Fragment } from 'react';\nimport Tree from '@uiw/react-tree';\nimport Checkbox from '@uiw/react-checkbox';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function TreeChecked(_ref) {\n var {\n prefixCls = 'w-treechecked'\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n props.className = [prefixCls, props.className].filter(Boolean).join(' ').trim();\n props.checkStrictly = true;\n props.isSelected = false;\n props.multiple = true;\n return /*#__PURE__*/_jsx(Tree, _extends({\n renderTitle: (item, node) => {\n var checkedProps = {};\n if (node.isHalfChecked) {\n checkedProps.indeterminate = true;\n }\n if (node.selected) {\n checkedProps.checked = true;\n } else {\n checkedProps.checked = false;\n }\n return /*#__PURE__*/_jsxs(Fragment, {\n children: [/*#__PURE__*/_jsx(Checkbox, _extends({\n className: prefixCls + \"-checked\",\n disabled: node.disabled\n }, checkedProps)), item.label && /*#__PURE__*/_jsx(\"span\", {\n className: node.disabledClass,\n children: item.label\n })]\n });\n }\n }, props));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"renderTitle\", \"icon\", \"iconAnimation\", \"isSelected\", \"openKeys\", \"selectedKeys\", \"data\", \"level\", \"parent\", \"onItemClick\", \"onItemSelected\"];\nimport React, { useCallback, useMemo } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport Icon from '@uiw/react-icon';\nimport { noop } from '@uiw/utils';\nimport { getChildKeys } from './';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar Label = _ref => {\n var {\n label,\n className\n } = _ref;\n return useMemo(() => /*#__PURE__*/_jsx(\"span\", {\n className: className,\n children: label\n }), [label]);\n};\nexport default function TreeNode(props) {\n var {\n prefixCls,\n renderTitle,\n icon,\n iconAnimation,\n isSelected,\n openKeys,\n selectedKeys,\n data,\n level,\n parent,\n onItemClick = noop,\n onItemSelected = noop\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var isOpen = false;\n var node = React.useRef(null);\n if (parent && (parent.key || parent.key === 0)) {\n isOpen = !!(openKeys && openKeys.indexOf(parent.key) > -1);\n }\n var onExit = useCallback(() => {\n node.current.style.height = node.current.scrollHeight + \"px\";\n }, []);\n var onExiting = useCallback(() => {\n node.current.style.height = '1px';\n }, []);\n var onEnter = useCallback(() => {\n node.current.style.height = '1px';\n }, []);\n var onEntering = useCallback(() => {\n node.current.style.height = node.current.scrollHeight + \"px\";\n }, []);\n var onEntered = useCallback(() => {\n node.current.style.height = 'initial';\n }, []);\n return /*#__PURE__*/_jsx(CSSTransition, {\n nodeRef: node,\n classNames: prefixCls,\n in: isOpen,\n timeout: 200,\n onExit: onExit,\n onExiting: onExiting,\n onEnter: onEnter,\n onEntered: onEntered,\n onEntering: onEntering,\n children: /*#__PURE__*/_jsx(\"ul\", {\n ref: node,\n className: [level !== 1 && isOpen ? [prefixCls + \"-open\"] : null, level !== 1 && !isOpen ? [prefixCls + \"-close\"] : null].filter(Boolean).join(' ').trim(),\n children: data.map((item, idx) => {\n item.parent = parent;\n var selected = !!(selectedKeys && selectedKeys.indexOf(item.key) > -1);\n var noChild = !item.children;\n var itemIsOpen = openKeys && openKeys.indexOf(item.key) > -1 && !!item.children;\n var iconItem = typeof icon === 'function' ? icon(item, {\n isOpen: !!itemIsOpen,\n noChild,\n openKeys,\n selectedKeys\n }) : icon;\n var childKeys = noChild ? [] : getChildKeys(item.children);\n var checkedKeys = selectedKeys ? selectedKeys.filter(key => childKeys.indexOf(key) > -1) : [];\n var isHalfChecked = checkedKeys.length > 0 && childKeys.length !== checkedKeys.length;\n var disabledObj = {\n onClick: onItemSelected,\n disabled: null,\n disabledMouse: null,\n disabledClass: undefined,\n disabledStyle: undefined\n };\n if (item.disabled) {\n disabledObj.onClick = undefined;\n disabledObj.disabled = 'disabled';\n disabledObj.disabledMouse = prefixCls + \"-disabled-mouse\";\n disabledObj.disabledClass = prefixCls + \"-disabled-ele\";\n disabledObj.disabledStyle = {\n color: '#00000040'\n };\n }\n return /*#__PURE__*/_jsxs(\"li\", {\n style: {\n display: item.hideNode ? 'none' : 'block'\n },\n children: [/*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-label\",\n children: [/*#__PURE__*/_jsx(\"span\", {\n style: {\n display: noChild ? 'none' : 'auto'\n },\n className: prefixCls + \"-switcher\",\n onClick: evn => onItemClick(item, evn),\n children: /*#__PURE__*/_jsx(Icon, {\n type: iconItem || 'caret-right',\n className: [typeof icon === 'function' ? prefixCls + \"-switcher-noop\" : null, noChild ? 'no-child' : null, !iconAnimation ? 'no-animation' : null, itemIsOpen ? 'open' : null].filter(Boolean).join(' ').trim()\n })\n }), /*#__PURE__*/_jsx(\"div\", {\n onClick: evn => disabledObj.onClick == null ? void 0 : disabledObj.onClick(item, evn),\n className: [prefixCls + \"-title\", selected && isSelected ? 'selected' : null, disabledObj.disabled, disabledObj.disabledMouse].filter(Boolean).join(' ').trim(),\n children: renderTitle ? renderTitle(item, {\n selected,\n noChild,\n openKeys,\n isHalfChecked,\n selectedKeys,\n disabled: item.disabled,\n disabledClass: disabledObj.disabledClass,\n disabledStyle: disabledObj.disabledStyle\n }) : /*#__PURE__*/_jsx(Label, {\n label: item.label,\n className: disabledObj.disabledClass\n })\n })]\n }), item.children && /*#__PURE__*/_jsx(TreeNode, _extends({}, other, {\n prefixCls,\n icon,\n iconAnimation,\n isSelected,\n openKeys,\n selectedKeys,\n onItemClick,\n onItemSelected,\n renderTitle,\n prefixCls: prefixCls,\n data: item.children,\n level: level + 1,\n parent: item\n }))]\n }, idx);\n })\n })\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"icon\", \"data\", \"openKeys\", \"selectedKeys\", \"defaultExpandAll\", \"showLine\", \"iconAnimation\", \"isSelected\", \"checkStrictly\", \"multiple\", \"onExpand\", \"onSelected\", \"className\", \"autoExpandParent\", \"renderTitle\", \"onChange\", \"value\"];\nimport React, { useEffect, useState } from 'react';\nimport { noop } from '@uiw/utils';\nimport TreeNode from './TreeNode';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * a contains b\n * @param {Array} a\n * @param {Array} b\n */\nvar isContained = (a, b) => {\n if (!(a instanceof Array) || !(b instanceof Array)) return false;\n if (a.length < b.length) return false;\n var aStr = a.toString();\n for (var i = 0, len = b.length; i < len; i += 1) {\n if (aStr.indexOf(b[i]) === -1) return false;\n }\n return true;\n};\nexport var getChildKeys = function getChildKeys(childs, result, depth) {\n if (childs === void 0) {\n childs = [];\n }\n if (result === void 0) {\n result = [];\n }\n childs.forEach(item => {\n if (!item.hideNode) {\n result.push(item.key);\n }\n if (typeof depth === 'number' && !(depth - 1)) return;\n if (item.children && item.children.length > 0) {\n result = result.concat(getChildKeys(item.children, undefined, depth ? depth - 1 : undefined));\n }\n });\n return result;\n};\nvar getParentKeys = function getParentKeys(childs, result) {\n if (childs === void 0) {\n childs = {};\n }\n if (result === void 0) {\n result = [];\n }\n if (childs.key) {\n result.push(childs.key);\n }\n if (childs.parent) {\n result = getParentKeys(childs.parent, result);\n }\n return result;\n};\nvar getParentSelectKeys = function getParentSelectKeys(childs, selectedKeys, result) {\n if (childs === void 0) {\n childs = {};\n }\n if (selectedKeys === void 0) {\n selectedKeys = [];\n }\n if (result === void 0) {\n result = [];\n }\n if (childs.key && childs.children && isContained(selectedKeys, getChildKeys(childs.children, undefined, 1))) {\n result.push(childs.key);\n if (childs.parent && !childs.parent.parent) {\n if (isContained(selectedKeys, getChildKeys(childs.children))) {\n selectedKeys = selectedKeys.concat(result);\n }\n if (isContained(selectedKeys, getChildKeys(childs.parent.children))) {\n result.push(childs.parent.key);\n }\n }\n }\n if (childs.parent) {\n result = getParentSelectKeys(childs.parent, selectedKeys, result);\n }\n return result;\n};\nexport default function Tree(props) {\n var {\n prefixCls = 'w-tree',\n icon = 'caret-right',\n data = [],\n openKeys = [],\n selectedKeys = [],\n defaultExpandAll = false,\n showLine = false,\n iconAnimation = true,\n isSelected = true,\n checkStrictly = false,\n multiple = false,\n onExpand = noop,\n onSelected = noop,\n className,\n autoExpandParent = true,\n renderTitle,\n onChange,\n value\n } = props,\n elementProps = _objectWithoutPropertiesLoose(props, _excluded);\n var [curOpenKeys, setCurOpenKeys] = useState(openKeys);\n var [curSelectedKeys, setCurSelectedKeys] = useState(value || selectedKeys);\n useEffect(() => {\n setCurSelectedKeys(props.value || props.selectedKeys || []);\n }, [JSON.stringify(props.selectedKeys), JSON.stringify(props.value)]);\n useEffect(() => {\n setCurOpenKeys(openKeys);\n }, [JSON.stringify(openKeys)]);\n useEffect(() => {\n var arrOpenKeys = [...curOpenKeys];\n if (defaultExpandAll) {\n arrOpenKeys = getChildKeys(data);\n } else if (autoExpandParent) {\n arrOpenKeys.push(...getChildKeys(data || [], undefined, 1));\n }\n setCurOpenKeys(arrOpenKeys);\n }, []);\n var cls = [className, prefixCls, showLine ? prefixCls + \"-line\" : null].filter(Boolean).join(' ').trim();\n function onItemClick(item, evn) {\n if (!item.children) {\n return;\n }\n // const { onExpand } = this.props;\n // const { openKeys } = this.state;\n var currentKeys = [...curOpenKeys];\n var key = currentKeys.find(v => v === item.key);\n var cls = evn.currentTarget.className.replace(/(\\s)open/g, '');\n var expanded = false;\n if (!key && item.key) {\n currentKeys.push(item.key);\n evn.currentTarget.className = [cls, 'open'].filter(Boolean).join(' ').trim();\n expanded = true;\n } else {\n currentKeys = currentKeys.filter(v => v !== item.key);\n evn.currentTarget.className = cls;\n }\n setCurOpenKeys(currentKeys);\n onExpand && onExpand(item.key, expanded, item, evn);\n }\n function onItemSelected(item, evn) {\n // const { onSelected, multiple, checkStrictly } = this.props;\n var selKeys = [...curSelectedKeys];\n var findKey = selKeys.find(v => v === item.key);\n var selected = false;\n if (!findKey && findKey !== 0) {\n selected = true;\n selKeys.push(item.key);\n } else {\n selKeys = selKeys.filter(v => v !== item.key);\n }\n if (checkStrictly) {\n if (!findKey) {\n selKeys = selKeys.concat(getChildKeys(item.children).filter(val => selKeys.indexOf(val) === -1));\n selKeys = selKeys.concat(getParentSelectKeys(item, selKeys));\n selKeys = Array.from(new Set(selKeys)); // Remove duplicates.\n } else {\n selKeys = selKeys.filter(val => getChildKeys(item.children).indexOf(val) === -1);\n selKeys = selKeys.filter(val => getParentKeys(item.parent).indexOf(val) === -1);\n }\n }\n if (!multiple) {\n selKeys = !findKey ? [item.key] : [];\n }\n setCurSelectedKeys(selKeys);\n onSelected && onSelected(selKeys, item.key, selected, item, evn);\n onChange == null || onChange(item.key, selKeys);\n }\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: cls\n }, elementProps, {\n children: /*#__PURE__*/_jsx(TreeNode, {\n icon,\n iconAnimation,\n isSelected,\n openKeys: curOpenKeys,\n selectedKeys: curSelectedKeys,\n prefixCls,\n renderTitle,\n onItemClick: onItemClick,\n onItemSelected: onItemSelected,\n data: data,\n level: 1\n })\n }));\n}","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} top `true` or `false`\n * @returns {number} amount of scrolled pixels\n */\nexport function getScroll(target, top) {\n if (typeof window === 'undefined') {\n return 0;\n }\n var prop = top ? 'pageYOffset' : 'pageXOffset';\n var method = top ? 'scrollTop' : 'scrollLeft';\n var isWindow = target === window;\n var ret = isWindow ? target[prop] : target[method];\n if (isWindow && typeof ret !== 'number') {\n ret = document.documentElement[method];\n }\n return ret;\n}","export function noop() {}","import React from 'react';\nimport './style/index.less';\n\nexport interface SplitProps extends Omit, 'onDragEnd'> {\n style?: React.CSSProperties;\n className?: string;\n prefixCls?: string;\n /**\n * Drag width/height change callback function,\n * the width or height is determined according to the mode parameter\n */\n onDragging?: (preSize: number, nextSize: number, paneNumber: number) => void;\n /** Callback function for dragging end */\n onDragEnd?: (preSize: number, nextSize: number, paneNumber: number) => void;\n /** Support custom drag and drop toolbar */\n renderBar?: (props: React.HTMLAttributes) => JSX.Element;\n /** Set the drag and drop toolbar as a line style. */\n lineBar?: boolean;\n /** Set the dragged toolbar, whether it is visible or not */\n visiable?: boolean | number[];\n /**\n * Set the drag and drop toolbar, disable\n */\n disable?: boolean | number[];\n /**\n * type, optional `horizontal` or `vertical`\n */\n mode?: 'horizontal' | 'vertical';\n}\nexport interface SplitState {\n dragging: boolean;\n}\n\nexport default class Split extends React.Component {\n public static defaultProps: SplitProps = {\n prefixCls: 'w-split',\n visiable: true,\n mode: 'horizontal',\n }\n public state: SplitState = {\n dragging: false,\n }\n public warpper!: HTMLDivElement | null;\n public paneNumber!: number;\n public startX!: number;\n public startY!: number;\n public move!: boolean;\n public target!: HTMLDivElement;\n\n public boxWidth!: number;\n public boxHeight!: number;\n public preWidth!: number;\n public nextWidth!: number;\n public preHeight!: number;\n public nextHeight!: number;\n\n public preSize!: number;\n public nextSize!: number;\n constructor(props: SplitProps) {\n super(props);\n this.onDragEnd = this.onDragEnd.bind(this);\n this.onDragging = this.onDragging.bind(this);\n }\n public componentWillUnmount() {\n this.removeEvent();\n }\n private removeEvent() {\n window.removeEventListener('mousemove', this.onDragging, false);\n window.removeEventListener('mouseup', this.onDragEnd, false);\n }\n onMouseDown(paneNumber: number, env: React.MouseEvent) {\n if (!env.target || !this.warpper) {\n return;\n }\n this.paneNumber = paneNumber;\n this.startX = env.clientX;\n this.startY = env.clientY;\n this.move = true;\n this.target = (env.target as HTMLDivElement).parentNode as HTMLDivElement;\n const prevTarget = this.target.previousElementSibling;\n const nextTarget = this.target.nextElementSibling;\n this.boxWidth = this.warpper.clientWidth;\n this.boxHeight = this.warpper.clientHeight;\n if (prevTarget) {\n this.preWidth = prevTarget.clientWidth;\n this.preHeight = prevTarget.clientHeight;\n }\n if (nextTarget) {\n this.nextWidth = nextTarget.clientWidth;\n this.nextHeight = nextTarget.clientHeight;\n }\n window.addEventListener('mousemove', this.onDragging);\n window.addEventListener('mouseup', this.onDragEnd, false);\n this.setState({ dragging: true });\n }\n onDragging(env: Event) {\n if (!this.move) {\n return;\n }\n if (!this.state.dragging) {\n this.setState({ dragging: true });\n }\n const { mode, onDragging } = this.props;\n const nextTarget = this.target.nextElementSibling as HTMLDivElement;\n const prevTarget = this.target.previousElementSibling as HTMLDivElement;\n const x = (env as MouseEvent).clientX - this.startX;\n const y = (env as MouseEvent).clientY - this.startY;\n this.preSize = 0;\n this.nextSize = 0;\n if (mode === 'horizontal') {\n this.preSize = this.preWidth + x > -1 ? this.preWidth + x : 0;\n this.nextSize = this.nextWidth - x > -1 ? this.nextWidth - x : 0;\n if (this.preSize === 0 || this.nextSize === 0) {\n return;\n }\n this.preSize = (this.preSize / this.boxWidth >= 1 ? 1 : this.preSize / this.boxWidth) * 100;\n this.nextSize = (this.nextSize / this.boxWidth >= 1 ? 1 : this.nextSize / this.boxWidth) * 100;\n if (prevTarget && nextTarget) {\n prevTarget.style.width = `${this.preSize}%`;\n nextTarget.style.width = `${this.nextSize}%`;\n }\n }\n if (mode === 'vertical' && this.preHeight + y > -1 && this.nextHeight - y > -1) {\n this.preSize = this.preHeight + y > -1 ? this.preHeight + y : 0;\n this.nextSize = this.nextHeight - y > -1 ? this.nextHeight - y : 0;\n this.preSize = (this.preSize / this.boxHeight >= 1 ? 1 : this.preSize / this.boxHeight) * 100;\n this.nextSize = (this.nextSize / this.boxHeight >= 1 ? 1 : this.nextSize / this.boxHeight) * 100;\n if (this.preSize === 0 || this.nextSize === 0) {\n return;\n }\n if (prevTarget && nextTarget) {\n prevTarget.style.height = `${this.preSize}%`;\n nextTarget.style.height = `${this.nextSize}%`;\n }\n }\n onDragging && onDragging(this.preSize, this.nextSize, this.paneNumber);\n }\n onDragEnd() {\n const { onDragEnd } = this.props;\n this.move = false;\n onDragEnd && onDragEnd(this.preSize, this.nextSize, this.paneNumber);\n this.removeEvent();\n this.setState({ dragging: false });\n }\n render() {\n const { prefixCls, className, children, mode, visiable, renderBar, lineBar, disable, onDragEnd, onDragging, ...other } = this.props;\n const { dragging } = this.state;\n const cls = [prefixCls, className, `${prefixCls}-${mode}`, dragging ? 'dragging' : null].filter(Boolean)\n .join(' ')\n .trim();\n const child = React.Children.toArray(children);\n return (\n
this.warpper = node}>\n {React.Children.map(child, (element: any, idx: number) => {\n const props = Object.assign({}, element.props, {\n className: [`${prefixCls}-pane`, element.props.className].filter(Boolean)\n .join(' ')\n .trim(),\n style: { ...element.props.style },\n });\n const visiableBar = (visiable === true || (visiable && visiable.includes((idx + 1) as never))) || false;\n const barProps = {\n className: [`${prefixCls}-bar`, \n lineBar ? `${prefixCls}-line-bar` : null,\n !lineBar ? `${prefixCls}-large-bar` : null].filter(Boolean)\n .join(' ')\n .trim(),\n };\n if (disable === true || (disable && disable.includes((idx + 1) as never))) {\n barProps.className = [barProps.className, disable ? 'disable' : null].filter(Boolean)\n .join(' ')\n .trim();\n }\n let BarCom = null;\n if (idx !== 0 && visiableBar && renderBar) {\n BarCom = renderBar({ ...barProps, onMouseDown: this.onMouseDown.bind(this, idx + 1) });\n } else if (idx !== 0 && visiableBar) {\n BarCom = React.createElement('div', { ...barProps },
)\n }\n return (\n \n {BarCom}\n {React.cloneElement(element, { ...props })}\n \n );\n })}\n
\n );\n }\n}\n","\nconst dateRegex = /(?=(YYYY|YY|MM|DD|HH|mm|ss|ms))\\1([:/]*)/g;\nconst timespan = {\n YYYY: ['getFullYear', 4],\n YY: ['getFullYear', 2],\n MM: ['getMonth', 2, 1], // getMonth is zero-based, thus the extra increment field\n DD: ['getDate', 2],\n HH: ['getHours', 2],\n mm: ['getMinutes', 2],\n ss: ['getSeconds', 2],\n ms: ['getMilliseconds', 3],\n};\n\nfunction formatter(str?: string, date?: Date, utc?: boolean): string {\n if (typeof str !== 'string') {\n date = str;\n str = 'YYYY-MM-DD';\n }\n\n return str.replace(dateRegex, (match: string, key: keyof typeof timespan, rest?: string) => {\n const args = timespan[key];\n const chars = args[1];\n let name = args[0] as keyof Date;\n if (utc === true) {\n name = `getUTC${String(name).slice(3)}` as keyof Date;\n }\n if (!date) {\n date = new Date();\n }\n const val = `00${String((date[name] as typeof Date)() + (args[2] || 0))}`;\n return val.slice(-chars) + (rest || '');\n });\n}\n\nformatter.utc = (str?: string, date?: Date): string => {\n return formatter(str, date, true);\n};\n\nexport default formatter;\n"],"names":["copyTextToClipboard","text","cb","document","el","createElement","value","setAttribute","style","position","left","body","appendChild","selected","getSelection","rangeCount","getRangeAt","select","isCopy","execCommand","err","removeChild","removeAllRanges","addRange","getOffset","element","target","elemRect","getBoundingClientRect","targetRect","window","top","bottom","getTargetRect","scrollTop","getScroll","scrollLeft","docElem","clientTop","clientLeft","width","height","getDefaultTarget","_excluded","Affix","React","constructor","props","super","this","state","placeholderStyle","undefined","affixStyle","box","events","eventHandlers","timeout","getInstance","node","updatePosition","bind","componentDidMount","setTimeout","setTargetEventListeners","componentWillUnmount","clearEventListeners","clearTimeout","offsetTop","offsetBottom","offsetParent","elemSize","clientWidth","clientHeight","offsetMode","elemOffset","documentElement","y","setPlaceholderStyle","_extends","setAffixStyle","onChange","affixed","setState","forEach","eventName","addEventListener","handler","removeEventListener","render","_this$props","prefixCls","className","children","resetProps","_objectWithoutPropertiesLoose","cls","filter","Boolean","join","trim","_jsx","ref","defaultProps","noop","other","Modal","delimiter","Fragment","split","map","word","idx","match","url","_createElement","key","href","startsWith","shape","size","src","alt","icon","onError","_onError","isImgExist","setIsImgExist","useState","useEffect","evn","Icon","type","getScrollTop","content","fixed","speed","showBelow","clickable","topShowBelow","percent","setPercent","current","setCurrent","visible","onScroll","Math","round","scrollHeight","innerHeight","getScrollPercent","scrollToTop","step","start","timer","setInterval","scrollTo","clearInterval","scrollToAnimate","_jsxs","onClick","color","max","dot","processing","count","supProps","warpperProps","backgroundColor","tagName","TagName","active","separator","isElm","otherProps","Breadcrumb","Object","assign","Item","vertical","disabled","loading","block","basic","htmlType","others","child","RenderDay","day","data","currentDate","dayData","useMemo","item","arr","date","num","Number","length","getMonth","getFullYear","label","MONTH_LABEL","Calendar","today","Date","monthLabel","titleFormat","todayLabel","onPaging","onSelectDay","_onSelectDay","panelDate","setPanelDate","handlePaging","_month","setMonth","titleLable","formatter","btngroup","DatePickerDay","dateSource","renderDay","propsNext","title","extra","footer","bordered","noHover","bodyStyle","bodyClassName","Carousel","direction","palyTime","scrollTime","autoPlay","afterChange","beforeChange","currentPosition","currentPositionSet","transitionInner","transitionInnerSet","positionRef","useRef","childCount","_stopPlay","stop","after","before","gotoSlide","prevSlide","nextSlide","stopPlay","slidNumber","maxSlid","slidNumberTemp","play","ms","time","childrens","innerStyle","transform","display","transition","onSearch","expandTrigger","allowClear","placeholder","option","inputProps","innerIsOpen","setInnerIsOpen","selectedValue","setSelectedValue","selectIconType","setSelectIconType","searchText","setSearchText","searchOn","setSearchOn","inputValue","setInputValue","searchOption","setSearchOption","tempOptions","iteratorOption","opt","m","push","options","opts","optsTemp","renderSelectIcon","valueTemp","optChildren","findOpt","find","handelChange","isSeleted","widths","trigger","click","triggers","onMouseOver","callback","OptionIter","level","Menu","minHeight","minWidth","overflowY","index","_selectedValue$level","_opt$children","addonAfter","handleItemClick","optionsItem","splice","fontSize","Dropdown","marginTop","overlayStyl","onVisibleChange","isOpen","menu","includes","searchItemClick","Array","fill","_","_selectedValue","onMouseLeave","Input","e","handelSearch","onFocus","onBlur","readOnly","stopPropagation","CheckboxGroup","name","_onChange","valueRef","childs","toArray","isArray","checked","include","val","InternalCheckbox","indeterminate","RadioAbstract","Checkbox","Group","Extra","_ref","activeKey","currentActiveKey","InternalCollapse","accordion","showArrow","propsActiveKey","setActiveKey","String","isActive","indexOf","childProps","onItemClick","keys","Collapse","displayName","Panel","_children","header","iconRender","status","instance","elm","childNodes","totalHeight","beforeElmStyle","getComputedStyle","afterElmStyle","beforeHeight","parseInt","afterHeight","i","childNode","computedStyle","offsetHeight","marginBottom","borderTopWidth","borderBottomWidth","beforeStyle","afterStyle","getElementHeight","CSSTransition","in","unmountOnExit","classNames","transitionDuration","CopyToClipboard","copy","DateInputRange","popoverProps","datePickerProps","format","dateRange","setDateRange","handleChange","cdate","changeValue","propsValue","JSON","stringify","Popover","placement","autoAdjustOverflow","DatePicker","selectedDate","verticalAlign","margin","DateInput","autoClose","setDate","setIsOpen","open","_excluded2","classnames","obj","keyName","DayRect","col","disabledDate","end","prev","next","isNaN","getTime","isValidDate","year","month","week","getDay","toDateString","lastDay","getDate","cellDate","divProps","cellMonth","WEEKTITLE","WEEKDAY","weekday","weekTitle","weekdayLabel","row","curDate","DatePickerMonth","onSelected","selectedMonth","DatePickerYear","panelNum","activeYear","setActiveYear","selectedYear","setFullYear","handleSelected","_len","arguments","arg","_key","DatePickerCaption","todayButton","renderMonth","onPanelChange","showTime","setType","selectDate","setSelectDate","selectPanelDate","setSelectPanelDate","curType","test","onSelectedDate","paging","TimePickerTime","layout","colon","span","labelProps","colSpan","Row","column","handleCell","isHead","Cell","isLastCell","InternalDescriptions","generateChildrenRows","leftSpans","rows","columns","itemNode","Descriptions","DescriptionsItem","dashed","align","restProps","isCloseButtonShown","bodyProps","maskClosable","overlayProps","bodyCls","styl","footerView","iconView","titleView","Overlay","Button","onClose","OverlayTrigger","isOutside","overlay","iconProps","description","viewBox","d","dataLabel","dataList","uploadType","readonly","showFileIcon","showPreviewIcon","showRemoveIcon","onPreview","onAdd","onRemove","maxNumber","isAction","getBase64","file","reader","FileReader","Promise","resolve","result","readAsDataURL","multiple","inputRef","inValue","fileList","setFileList","Comp","handleClickInput","useCallback","openFileDialog","onFileUpload","onInputChange","_asyncToGenerator","files","updatedFileList","getListFiles","dataURLKey","promiseFiles","all","then","fileListBase64","base64","updatedList","slice","_x","apply","Card","List","FileList","FormItem","required","labelFor","labelClassName","labelStyle","help","inline","hasError","labelCls","Col","htmlFor","Form","fields","resetOnSubmit","onSubmitError","onSubmit","afterSubmit","initData","initial","submitting","errors","initialValue","currentValue","_currentValue","newFormState","setData","useImperativeHandle","handleSubmit","resetForm","handleReset","getFieldValues","getError","setFields","setFieldValue","formUnits","itemProps","error","childField","controlField","tempData","fieldName","validator","env","list","nextState","persist","preventDefault","promise","onSuccess","response","reset","afterSubmitPromise","catch","canSubmit","passesValidators","_name","prototype","hasOwnProperty","call","fieldsProps","initials","entries","_ref2","_ref3","hasCurrentValue","id","grow","gutter","justify","gutterStyl","paddingLeft","paddingRight","Element","spin","svg","svgPaths","fillRule","initStyle","min","overLimitColor","keyboard","parseFloat","toString","isOverLimit","isOverLimitSet","overLimitComp","overLimitProps","inputStyle","v","preIcon","addonRef","input","right","computedInputPadding","autoComplete","LayoutContext","addSider","removeSider","Layout","hasSider","siders","setSiders","Provider","currentId","LayoutHeader","LayoutFooter","randomid","random","Sider","collapsedWidth","collapsed","sliderId","rawWidth","setRawWidth","divStyle","flex","maxWidth","LayoutSider","Consumer","context","LayoutContent","Header","Footer","Content","ListItem","InternalList","items","striped","renderItem","dataSource","childrenList","classString","tip","bgColor","indicator","fullscreen","indicatorView","cx","cy","r","strokeWidth","strokeMiterlimit","tipsView","GITHUB_CORNERS_TEMPLATE","innerHTML","GithubCorners","HTMLElement","observedAttributes","shadow","attachShadow","mode","ownerDocument","importNode","update","setAttr","querySelector","toLocaleLowerCase","lastElementChild","firstElementChild","getAttributeNames","getAttribute","attributeChangedCallback","oldValue","newValue","customElements","define","githubCorners","zIndex","warpperStyle","visibility","opacity","cursor","userSelect","svgStyle","circleStyle","childStyle","alignItems","justifyContent","BackToUp","smooth","hideProgress","$dom","center","radius","dasharray","PI","progress","setProgress","handleScroll","ev","scrollElement","passive","behavior","focusable","stroke","strokeDasharray","strokeDashoffset","globalStore","corners","darkMode","permanent","dark","light","example","listeners","store","setCorners","emitChange","setDarkMode","console","log","setExample","getSnapshot","subscribe","listener","l","getParentElement","dom","dataset","code","classList","contains","parentElement","useCopied","container","handle","event","add","remove","_container$current","_container$current2","_container$current3","source","disableCopy","skipHtml","pluginsFilter","wrapperElement","warpperElement","mdp","rehypePlugins","customProps","allowElement","parent","raw","remarkPlugins","gfm","wrapperProps","ReactMarkdown","reservedMeta","tree","visit","meta","properties","octiconLink","version","ariaHidden","defaultRehypePlugins","slug","headings","rehypeIgnore","_props$disableCopy","rewrite","rehypePrism","ignoreMissing","rehypeRewrite","class","getCodeString","str","rehypeAttrs","MarkdownPreview","_templateObject","_templateObject2","_excluded3","Preview","CodeLayout","Code","Toolbar","MarkdownStyle","styled","_taggedTemplateLiteralLoose","CodePreview","_node$position","components","metaData","rest","isMeta","line","metaId","getMetaId","Child","boreder","checkered","codeNum","toolbar","getURLParameters","disableCheckered","visibleButton","Markdown","_rehypeRewrite","_child$data","_child$properties","dataMeta","div","_templateObject3","_templateObject4","_templateObject5","rotate","keyframes","SVG","Logo","rx","ry","ExampleWrapper","Wrappper","SupVersion","sup","Description","p","InternalMarkdownPreviewExample","forwardRef","logo","markdownProps","exampleProps","disableCorners","disableDarkMode","disableHeader","disableBackToUp","useSyncExternalStore","GitHubCorners","MarkdownPreviewExample","Github","Corners","Example","disabledProps","onMouseDown","onMouseEnter","tabIndex","Internal","multiline","isSubMenuItem","htmlProps","anchorCls","tagComp","MenuItem","MenuDivider","IconView","collapse","SubMenu","inlineIndent","overlayTriggerProps","menuProps","popupRef","refNode","elementSource","setContextHeight","ele","useContext","ThemeContext","currentHeight","substr","usePortal","currentTarget","related","relatedTarget","nativeEvent","isCheck","parentNode","checkedMenuItem","hide","appear","isClickOutside","transitionName","onExit","onExiting","overlayDom","onEnter","onEntered","onEntering","createContext","theme","inlineCollapsed","InternalContextMenu","contextHeight","ContextMenu","Divider","Message","handleClosed","renderIcon","showIcon","rounded","elementProps","useButton","autoFocus","cancelText","cancelButtonProps","confirmButtonProps","confirmText","onCancel","onConfirm","setLoading","handleCancel","_handleCancel","_handleConfirm","_x2","handleConfirm","show","dv","ReactDOM","onClosed","MonthPicker","pickerCaptionProps","handleSelectedDate","curPanelDate","captionType","notifys","Container","create","duration","closed","willUnmount","_this$state$notifys$p","alertProps","Alert","hasBackdrop","notifysDom","NotificationCreate","nprops","notifysChild","fallback","isDOM","nodeType","nodeName","compareDocumentPosition","getBordersSize","styles","axis","sideA","sideB","isIE11","isBrowser","MSInputMethodContext","documentMode","isIE10","navigator","userAgent","isIE","getSize","html","rect","offsets","sizes","getWindowSizes","horizScrollbar","offsetWidth","vertScrollbar","offsetLeft","property","css","defaultView","getStyleComputedProperty","getOuterSizes","scrollWidth","getStyle","triggerDom","popup","popupDom","sty","winSizeHeight","winSizeWidth","innerWidth","replace","normalizeDelay","delay","_child$props","triggerRef","timeoutRef","hoverStateRef","setOverlayStyl","_hide","_show","only","dialogProps","triggerProps","handleClickOutside","handleResize","styls","popNode","clearTimeouts","timeoutId","handleShow","_props$children","handleHide","handleMouseOverOut","relatedNative","_triggerRef$current","nodeIndex","onMouseOut","cloneElement","isAppearing","backdropProps","portalProps","onOpening","onOpened","onClosing","_onEnter","_onExiting","_onEntering","_onEntered","setVisible","overlayWillClose","decoratedChild","handleBackdropMouseDown","TransitionGroupComp","onExited","nodeRef","Portal","Pagination","alignment","total","pageSize","pageSizeOptions","currentNumber","onShowSizeChange","divider","initPageSoure","ceil","itemCount","goto","textAlign","handleClick","Select","defaultValue","sizeCount","Option","InternalPinCode","placehold","setPlacehold","values","setValues","inpProps","inputMode","charAt","focus","onKeyDown","handleKeyDown","handleBlur","handleFocus","renderArrow","fillOpacity","visibleArrow","writingMode","Confirm","padding","marginLeft","canUseDOM","defaultNode","containerRef","IconProgress","Circle","relativeStrokeWidth","_strokeWidth","toFixed","perimeter","progressInfo","showText","progressStatus","percentView","strokeLinecap","Line","percentStyle","prChecked","setChecked","prevChecked","setPrevChecked","ButtonGroup","RadioButton","Rate","defValue","allowHalf","character","onHoverChange","setValue","hoverCount","setHoverCount","prevValue","setPrevValue","getValue","isLeft","clientX","halfon","activeCls","onMouseMove","TagSize","large","default","small","SearchSelect","_style$width","valueAmount","maxTagCount","labelInValue","showSearch","tagProps","onSelect","isMultiple","selectedLabel","setSelectedLabel","omitTagCount","divRef","tagContentRef","tagClientWidth","setTagClientWidth","valueVerify","selectedValueChange","getSelectOption","findResult","selectedLabelChange","handleItemsClick","removeSelectItem","resultValue","handleSelectChange","handleInputChange","resetSelectedValue","_inputRef$current","_tagContentRef$curren","_tagContentRef$curren2","maxHeight","findIndex","finds","_inputRef$current2","Tag","closable","textOverflow","overflow","keyCode","selectCloseDrop","emptyOption","selectedOption","setSelectedOption","optionRef","searchValue","searchValueSet","selectedAll","selectd","isChecked","searchValueChange","curreentItem","newContent","Empty","newProps","parse","flexFlow","TreeCheckeds","selectOption","selectOptionSet","keysSet","_props$values","getOptionsRecursion","isAdd","addOrDel","iteratorParent","selectCount","_child$children","_child$label","TreeChecked","defaultExpandAll","selectedKeys","curSelectOption","isNumberKey","SingeTree","_props$values2","Tree","_1","_2","cur","treeProps","selectedValues","selectedValuesSet","selectedOptions","selectedOptionSet","isEmpty","isEmptySet","SearchTagInput","hiddenNodeForSeach","parentIsHide","_child$children2","isHide","hideNode","isEmpt","selectedChange","InternalSelect","Dots","marks","markRender","stepValue","Slider","dots","tooltip","renderMarks","bar","slider","indexBar","startX","curValue","barWidth","barOffsetLeft","move","arrValue","setArrValue","getWidthToValue","equal","floor","onDragging","vals","valueToWidth","_barStyl","onDragEnd","markOffset","newData","val1","val2","half","_half","getRangeValue","getValueToPercent","barStyl","leftValue","rightValue","getLabelValue","lleftPostion","onHandleBtnDown","stepArray","stepWidth","mark","InternalSteps","progressDot","warpRef","lastStepOffsetWidth","setLastStepOffsetWidth","filteredChildren","c","lastIndex","domNode","lastChild","abs","calcStepOffsetWidth","stepNumber","itemWidth","adjustMarginRight","Step","stepItemStyle","stepItemDotStyle","marginRight","iconNode","getColspanNum","concat","getRowspanNum","getLevelItems","levelTop","ellipsis","rowSpan","_num","getAllColumnsKeys","locationFixed","location","_location$index","_location$index2","ThComponent","Component","wrapper","updateLocation","rowNum","colNum","rightNum","titleNode","onCellHead","locationWidth","thProps","TheadComponent","rightFixedNum","tds","ThComponentProps","ExpandableComponent","defaultExpand","_onClick","expandIcon","expand","setExpand","TableTr","rowKey","onCell","isExpandedDom","hierarchy","indentSize","childrenColumnName","isOpacity","setIsOpacity","childrenIndex","setChildrenIndex","expandIndex","setExpandIndex","it","IconDom","flag","float","getIndex","j","trData","objs","isHasChildren","_Fragment","Table","empty","expandable","scroll","setLocationWidth","finalLocationWidth","deepClumnsLocation","params","fistIndex","headerIndex","deepParams","_index","computed","childKey","deep","arr1","defaultExpandAllRows","defaultExpandedRowKeys","expandedRowKeys","record","expandedRowRender","rowExpandable","self","selfColumns","_expandable$defaultEx","onExpand","onExpandedRowsChange","_result","table","x","overflowX","tableLayout","Thead","Tabs","_flowNav$nav","onTabClick","slideStyle","setSlideStyle","activeItem","flowNav","flowNavSet","nav","flowLeft","displayStart","displayEnd","hiddenNav","hiddenNavSet","nodes","nodesSet","divContentRef","divNavRef","itemKey","divNavWidthChange","curWidth","showHideenNav","calcSlideStyle","renderNav","Pane","borderColor","boxShadow","iconClose","TimePickerPanel","hideDisabled","disableds","getDisabledItem","liProps","currentCount","tag","getItemInstance","precision","TimePanel","TimePicker","disabledHours","disabledMinutes","disabledSeconds","timeProps","datePickerTime","_props","dataStr","CheckedStatus","searchValueLeft","searchValueLeftSet","searchValueRight","searchValueRightSet","selectedOptionsShowCount","Map","leftSelectOption","leftSelectOptionSet","leftSelectedKeys","leftSelectedKeySet","rightSelectedKeys","rightSelectedKeySet","rightOpions","rightOpionSet","selectAllChecked","selectAllCheckedSet","UnChecked","set","hiddenNode","callBackfn","delete","get","transferClick","transferType","Arrow","selectedOptionsRecursion","_child$children3","searchValueLeftChange","searchIsMatch","leftTreeOnSelected","selectOptionTemp","background","searchValueRightChange","checkStrictly","isSelected","renderTitle","checkedProps","isHalfChecked","disabledClass","Label","TreeNode","iconAnimation","openKeys","onItemSelected","noChild","itemIsOpen","iconItem","childKeys","getChildKeys","checkedKeys","disabledObj","disabledMouse","disabledStyle","isContained","a","b","aStr","len","depth","getParentKeys","getParentSelectKeys","showLine","autoExpandParent","curOpenKeys","setCurOpenKeys","curSelectedKeys","setCurSelectedKeys","arrOpenKeys","currentKeys","expanded","selKeys","findKey","from","Set","method","isWindow","ret","Split","dragging","warpper","paneNumber","startY","boxWidth","boxHeight","preWidth","nextWidth","preHeight","nextHeight","preSize","nextSize","removeEvent","clientY","prevTarget","previousElementSibling","nextTarget","nextElementSibling","visiable","renderBar","lineBar","disable","visiableBar","barProps","BarCom","dateRegex","timespan","YYYY","YY","MM","DD","HH","mm","ss","utc","args","chars"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/uiw-vendor.6ef1d37e.js b/static/js/uiw-vendor.6ef1d37e.js deleted file mode 100644 index 77d343b1..00000000 --- a/static/js/uiw-vendor.6ef1d37e.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see uiw-vendor.6ef1d37e.js.LICENSE.txt */ -(self.webpackChunkwww=self.webpackChunkwww||[]).push([[382],{3376:function(e){e.exports=function(){"use strict";function e(e,t){if("undefined"!==typeof document){var n=document.createElement("textarea");n.value=e,n.setAttribute("readonly",""),n.style={position:"absolute",left:"-9999px"},document.body.appendChild(n);var r=document.getSelection().rangeCount>0&&document.getSelection().getRangeAt(0);n.select();var i=!1;try{i=!!document.execCommand("copy")}catch(o){i=!1}document.body.removeChild(n),r&&document.getSelection&&(document.getSelection().removeAllRanges(),document.getSelection().addRange(r)),t&&t(i)}}return e}()},7185:function(e,t,n){"use strict";n.d(t,{Z:function(){return v}});var r=n(2951),i=n(1976),o=n(7169),l=n(7591),C=n(9616),a=n(808),s=n(5773),c=n(8573),d=n(7408),u=n(7277),L=function(e,t){var n=e.getBoundingClientRect(),r=function(e){return e!==window?e.getBoundingClientRect():{top:0,left:0,bottom:0}}(t),i=(0,u.O)(t,!0),o=(0,u.O)(t),l=window.document.body,C=l.clientTop||0,a=l.clientLeft||0;return{top:n.top-r.top+i-C,left:n.left-r.left+o-a,width:n.width,height:n.height}},f=function(){return"undefined"!==typeof window?window:null},h=n(4760),p=["prefixCls","className","children","offsetTop","offsetBottom","target","onChange"],v=function(e){(0,l.Z)(n,e);var t=(0,C.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).state={placeholderStyle:void 0,affixStyle:void 0},i.box=void 0,i.target=void 0,i.events=["resize","scroll","touchstart","touchmove","touchend","pageshow","load"],i.eventHandlers={},i.timeout=void 0,i.getInstance=function(e){e&&(i.box=e)},i.updatePosition=i.updatePosition.bind((0,o.Z)(i)),i}return(0,i.Z)(n,[{key:"componentDidMount",value:function(){var e=this,t=this.props.target||f;this.timeout=window.setTimeout((function(){e.target=t(),e.setTargetEventListeners()}))}},{key:"componentWillUnmount",value:function(){this.clearEventListeners(),clearTimeout(this.timeout)}},{key:"updatePosition",value:function(){var e=this.props.offsetTop,t=this.props.offsetBottom;if(this.box&&this.box.offsetParent){var n={width:this.box.clientWidth,height:this.box.clientHeight},r={top:!0,bottom:!1};"number"!==typeof e&&"number"!==typeof t&&(r.top=!0,e=0),"number"===typeof t&&(r.top=!1,r.bottom=!0);var i=L(this.box,this.target),o=this.box.getBoundingClientRect(),l=document.documentElement.clientHeight-o.y-i.height;r.top&&o.y<0?(this.setPlaceholderStyle((0,s.Z)({},n)),this.setAffixStyle({position:"fixed",top:e||0,left:i.left,width:i.width})):r.bottom&&l<0?(this.setPlaceholderStyle((0,s.Z)({},n)),this.setAffixStyle({position:"fixed",bottom:t||0,left:i.left,width:i.width})):(this.setPlaceholderStyle(),this.setAffixStyle())}}},{key:"setAffixStyle",value:function(e){var t=this.props.onChange,n=!!this.state.affixStyle;this.setState({affixStyle:e},(function(){t&&t(n)}))}},{key:"setPlaceholderStyle",value:function(e){this.setState({placeholderStyle:e})}},{key:"setTargetEventListeners",value:function(){var e=this;this.clearEventListeners(),this.events.forEach((function(t){e.eventHandlers[t]=e.updatePosition,e.target&&e.target.addEventListener(t,e.updatePosition,!1)}))}},{key:"clearEventListeners",value:function(){var e=this;this.events.forEach((function(t){var n=e.eventHandlers[t];e.target&&e.target.removeEventListener(t,n,!1)}))}},{key:"render",value:function(){var e=this.props,t=e.prefixCls,n=e.className,r=e.children,i=(0,a.Z)(e,p),o=[n,t].filter(Boolean).join(" ").trim();return(0,h.jsx)("div",(0,s.Z)({},i,{ref:this.getInstance,style:(0,s.Z)({},this.state.placeholderStyle,this.props.style),children:(0,h.jsx)("div",{className:o,style:this.state.affixStyle,children:r})}))}}]),n}(c.Component);v.defaultProps={prefixCls:"w-affix",onChange:d.Z}},9079:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(5773),i=n(808),o=(n(8573),n(764)),l=n(4760),C=["prefixCls","className","width"],a=function(e){void 0===e&&(e={});var t=e,n=t.prefixCls,a=void 0===n?"w-alert":n,s=t.className,c=t.width,d=void 0===c?400:c,u=(0,i.Z)(e,C),L=[a,s].filter(Boolean).join(" ").trim();return(0,l.jsx)(o.Z,(0,r.Z)({},u,{width:d,className:L,children:e.children}))}},2862:function(e,t,n){"use strict";var r=n(5773),i=n(808),o=n(8573),l=n(4760),C=["text"],a=/((?:https?:\/\/)?(?:(?:[a-z0-9]?(?:[a-z0-9\-]{1,61}[a-z0-9])?\.[^\.|\s])+[a-z\.]*[a-z]+|(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})(?::\d{1,5})*[a-z0-9.,_\/~#&=;%+?\-\\(\\)]*)/gi;t.Z=function(e){void 0===e&&(e={});var t=e.text,n=void 0===t?"":t,s=(0,i.Z)(e,C);return(0,l.jsx)(o.Fragment,{children:n.split(a).map((function(e,t){var n=e.match(a);if(n&&n[0]){var i=n[0];return(0,o.createElement)("a",(0,r.Z)({},s,{key:t,href:i.startsWith("http")?i:"http://"+i}),i)}return(0,l.jsx)(o.Fragment,{children:e},t)}))})}},899:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(1026),i=n(5773),o=n(808),l=n(8573),C=n(6252),a=n(7408),s=n(4760),c=["prefixCls","shape","size","className","src","alt","icon","onError"],d=l.forwardRef((function(e,t){var n=e.prefixCls,d=void 0===n?"w-avatar":n,u=e.shape,L=void 0===u?"circle":u,f=e.size,h=void 0===f?"default":f,p=e.className,v=e.src,m=e.alt,Z=e.icon,x=e.onError,g=void 0===x?a.Z:x,y=(0,o.Z)(e,c),M=e.children,w=(0,l.useState)(!0),b=(0,r.Z)(w,2),j=b[0],N=b[1],k=[d,p,h?d+"-"+h:null,L?d+"-"+L:null,v?d+"-image":null].filter(Boolean).join(" ").trim();return(0,l.useEffect)((function(){N(!0)}),[e.src]),j&&v?M=(0,s.jsx)("img",{src:v,alt:m,onError:function(e){!1!==(g?g(e):void 0)&&N(!1)}}):Z&&"string"===typeof Z?M=(0,s.jsx)(C.Z,{type:Z}):Z&&l.isValidElement(Z)&&(M=Z),(0,s.jsx)("span",(0,i.Z)({},y,{className:k,ref:t,children:M}))}))},5375:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});var r=n(1026),i=n(5773),o=n(808),l=n(8573);function C(){var e=0;return document&&document.documentElement&&document.documentElement.scrollTop?e=document.documentElement.scrollTop:document.body&&(e=document.body.scrollTop),e}var a=n(4760),s=["prefixCls","className","content","children","offsetTop","fixed","speed","showBelow","clickable"],c=l.forwardRef((function(e,t){var n=e.prefixCls,c=void 0===n?"w-back-top":n,d=e.className,u=e.content,L=e.children,f=e.offsetTop,h=void 0===f?0:f,p=e.fixed,v=void 0===p||p,m=e.speed,Z=void 0===m?100:m,x=e.showBelow,g=void 0===x?1:x,y=e.clickable,M=void 0===y||y,w=(0,o.Z)(e,s),b=v&&g||0,j=(0,l.useState)(0),N=(0,r.Z)(j,2),k=N[0],S=N[1],E=(0,l.useState)(0),B=(0,r.Z)(E,2),D=B[0],R=B[1],O=k>=b,z=[c,d,v?null:"no-fixed",O?c+"-show":null,O?null:c+"-hide"].filter(Boolean).join(" ").trim();function P(){S(function(e){void 0===e&&(e=0);var t=0;return e100?100:t}(h)),R(C())}function A(){"number"===typeof h&&"number"===typeof Z&&"number"===typeof D&&function(e,t,n){void 0===e&&(e=0),void 0===t&&(t=100),void 0===n&&(n=0);var r=0,i=setInterval((function(){n-r>=e?n-(r+=t)>=e?window.scrollTo(0,n-r):window.scrollTo(0,e):clearInterval(i)}),0)}(h,Z,D)}return(0,l.useEffect)((function(){return window&&window.addEventListener("scroll",P),function(){window&&window.removeEventListener("scroll",P)}})),(0,a.jsxs)("div",(0,i.Z)({onClick:function(){return M&&A()},className:z},w,{ref:t,children:[u,"function"!==typeof L?L:L({percent:k,current:D,scrollToTop:A})]}))}))},9128:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(5773),i=n(808),o=n(8573),l=n(4760),C=["prefixCls","className","style","color","max","dot","processing","count","children"],a=o.forwardRef((function(e,t){var n=e.prefixCls,o=void 0===n?"w-badge":n,a=e.className,s=e.style,c=void 0===s?{}:s,d=e.color,u=e.max,L=void 0===u?99:u,f=e.dot,h=void 0!==f&&f,p=e.processing,v=void 0!==p&&p,m=e.count,Z=e.children,x=(0,i.Z)(e,C),g={className:[h?null:o+"-count",h?"dot":null].filter(Boolean).join(" ").trim(),style:{}},y=[a,o,Z?null:"nowrap",Z?null:o+"-status",v?o+"-processing":null].filter(Boolean).join(" ").trim(),M={};return m||0===m?g.style=(0,r.Z)({backgroundColor:d},c):M.style=c||{},(0,l.jsxs)("span",(0,r.Z)({className:y},x,M,{ref:t,children:[d&&(0,l.jsx)("span",{className:o+"-dot",style:{backgroundColor:d}}),Z,0!==m&&!d&&(0,l.jsx)("sup",(0,r.Z)({},g,{children:!h&&m&&L&&m>L?L+"+":m}))]}))}))},9745:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(5773),i=n(808),o=n(8573),l=n(4760),C=["prefixCls","className","tagName","active","separator"],a=o.forwardRef((function(e,t){var n=e.prefixCls,a=void 0===n?"w-breadcrumb":n,s=e.className,c=e.tagName,d=void 0===c?"span":c,u=e.active,L=e.separator,f=(0,i.Z)(e,C),h=o.isValidElement(L),p=[a+"-item",s,u?"active":null,L?null:"no-separator",h?"no-before":null].filter(Boolean).join(" ").trim(),v=(0,r.Z)({className:p},f);return h||(v["data-separator"]=L),o.createElement(d,(0,r.Z)({},v,{ref:t}),(0,l.jsxs)(o.Fragment,{children:[h&&(0,l.jsx)("span",{className:a+"-separator",children:L}),e.children]}))})),s=["prefixCls","className","separator"],c=o.forwardRef((function(e,t){var n=e.prefixCls,C=void 0===n?"w-breadcrumb":n,a=e.className,c=e.separator,d=void 0===c?"/":c,u=(0,i.Z)(e,s),L=[C,a].filter(Boolean).join(" ").trim();return(0,l.jsx)("div",(0,r.Z)({},(0,r.Z)({className:L},u),{ref:t,children:o.Children.map(e.children,(function(e){return o.cloneElement(e,Object.assign({separator:d},e.props,{}))}))}))}));c.Item=a;var d=c},7002:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(5773),i=n(808),o=n(8573),l=n(4760),C=["prefixCls","vertical","children","className"],a=o.forwardRef((function(e,t){var n=e.prefixCls,o=void 0===n?"w-btn-group":n,a=e.vertical,s=void 0!==a&&a,c=e.children,d=e.className,u=(0,i.Z)(e,C),L=[o,d,s&&o+"-vertical"].filter(Boolean).join(" ").trim();return(0,l.jsx)("div",(0,r.Z)({className:L},u,{ref:t,children:c}))}))},3612:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});var r=n(5773),i=n(808),o=n(8573),l=n(6252),C=n(4760),a=["prefixCls","disabled","active","loading","block","basic","htmlType","type","size","icon","className","children"],s=o.forwardRef((function(e,t){var n=e.prefixCls,s=void 0===n?"w-btn":n,c=e.disabled,d=void 0!==c&&c,u=e.active,L=void 0!==u&&u,f=e.loading,h=void 0!==f&&f,p=e.block,v=void 0!==p&&p,m=e.basic,Z=void 0!==m&&m,x=e.htmlType,g=void 0===x?"button":x,y=e.type,M=void 0===y?"light":y,w=e.size,b=void 0===w?"default":w,j=e.icon,N=e.className,k=e.children,S=(0,i.Z)(e,a),E=[N,s,b?s+"-size-"+b:null,M?s+"-"+M:null,Z?s+"-basic":null,h?s+"-loading":null,d||h?"disabled":null,L?"active":null,v?"block":null].filter(Boolean).join(" ").trim();return(0,C.jsxs)("button",(0,r.Z)({},S,{ref:t,type:g,disabled:d||h,className:E,children:[j&&(0,C.jsx)(l.Z,{type:j}),k&&o.Children.map(k,(function(e){return e?o.isValidElement(e)?e:(0,C.jsx)("span",{children:e}):e}))]}))}))},8219:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});var r=n(1026),i=n(5773),o=n(808),l=n(8573),C=n(4665),a=n(6252),s=n(371),c=n(4760),d=["date","label"];function u(e){var t=e.prefixCls,n=e.day,r=e.data,C=e.currentDate,a=(0,l.useMemo)((function(){return(r||[]).filter((function(e){var t=(e.date&&e.date.split("/")||[]).map((function(e){return Number(e)}));return 1===t.length?n===t[0]:C&&2===t.length?C.getMonth()+1===t[0]&&n===t[1]:!(!C||3!==t.length)&&(C.getFullYear()===t[0]&&C.getMonth()+1===t[1]&&n===t[2])}))}),[C,n,r]);return(0,l.useMemo)((function(){return(0,c.jsxs)("div",{className:t+"-inner",children:[(0,c.jsx)("div",{className:t+"-day",children:n}),(0,c.jsx)("div",{className:t+"-panel",children:a&&a.length>0&&a.map((function(e,t){var n=e.label,r=(0,o.Z)(e,d);return(0,c.jsx)("div",(0,i.Z)({},r,{children:n}),t)}))})]})}),[a,n])}var L=["prefixCls","className","style","today","date","data","monthLabel","titleFormat","todayLabel","panelDate","onPaging","onSelectDay"];function f(e){var t=e.prefixCls,n=void 0===t?"w-calendar":t,d=e.className,f=e.style,h=e.today,p=void 0===h?new Date:h,v=e.date,m=e.data,Z=(e.monthLabel,e.titleFormat),x=void 0===Z?"YYYY/MM":Z,g=e.todayLabel,y=void 0===g?"\u4eca\u5929":g,M=e.onPaging,w=e.onSelectDay,b=(0,o.Z)(e,L),j=[n,d].filter(Boolean).join(" ").trim(),N=(0,l.useState)(e.panelDate||new Date),k=(0,r.Z)(N,2),S=k[0],E=k[1];function B(e){var t=new Date;if("today"===e)t=p||new Date;else{var n=S.getMonth();S&&"prev"===e&&S.setMonth(n-1),S&&"next"===e&&S.setMonth(n+1),t=S}E(new Date(t)),M&&M(e,t.getMonth()+1,t)}(0,l.useEffect)((function(){e.panelDate!==S&&E(S)}),[e.panelDate]);var D=(0,l.useMemo)((function(){return(0,c.jsx)("div",{className:n+"-title",children:(0,s.Z)(x,S)})}),[n,x,S]),R=(0,l.useMemo)((function(){return(0,c.jsxs)("div",{className:n+"-btn-group",children:[(0,c.jsx)(a.Z,{type:"down",onClick:function(){return B("prev")}}),(0,c.jsx)("span",{className:n+"-btn",onClick:function(){return B("today")},children:y}),(0,c.jsx)(a.Z,{type:"down",onClick:function(){return B("next")}})]})}),[n,y]);return(0,c.jsxs)("div",{className:j,style:f,children:[(0,c.jsxs)("div",{className:n+"-caption",children:[D,R]}),(0,c.jsx)(C.Ql,(0,i.Z)({onSelectDay:function(e,t){E(e),w&&w(e,t)},renderDay:function(e,t){return(0,c.jsx)(u,{prefixCls:n,day:e,data:m,currentDate:t.date})},date:v,today:p,panelDate:S||new Date},b))]})}},3739:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(5773),i=n(808),o=n(8573),l=n(4760),C=["prefixCls","className","title","extra","footer","bordered","noHover","active","bodyStyle","bodyClassName","children"],a=o.forwardRef((function(e,t){var n=e.prefixCls,a=void 0===n?"w-card":n,s=e.className,c=e.title,d=e.extra,u=e.footer,L=e.bordered,f=void 0===L||L,h=e.noHover,p=void 0!==h&&h,v=e.active,m=void 0!==v&&v,Z=e.bodyStyle,x=e.bodyClassName,g=e.children,y=(0,i.Z)(e,C),M=(0,o.useMemo)((function(){return[a,s,f?a+"-bordered":null,p?a+"-no-hover":null,m?"active":null].filter(Boolean).join(" ").trim()}),[a,s,f,p]);return(0,l.jsxs)("div",(0,r.Z)({},y,{className:M,ref:t,children:[(c||d)&&(0,l.jsxs)("div",{className:a+"-head",children:[c&&(0,l.jsx)("div",{className:a+"-head-title",children:c}),d&&(0,l.jsx)("div",{className:a+"-extra",children:d})]}),g&&(0,l.jsx)("div",{className:[a+"-body",x].filter(Boolean).join(" ").trim(),style:Z,children:g}),u&&(0,l.jsx)("div",{className:a+"-footer",children:u})]}))}))},9768:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(1026),i=n(5773),o=n(8573),l=n(4760);function C(e,t){var n=e.position,C=void 0===n?0:n,a=e.direction,s=void 0===a?"horizontal":a,c=e.width,d=void 0===c?400:c,u=e.height,L=void 0===u?200:u,f=e.palyTime,h=void 0===f?2e3:f,p=e.scrollTime,v=void 0===p?200:p,m=e.autoPlay,Z=void 0===m||m,x=e.afterChange,g=e.beforeChange,y=e.prefixCls,M=void 0===y?"w-carousel":y,w=e.className,b=e.style,j=(0,o.useMemo)((function(){return[M,w].filter(Boolean).join(" ").trim()}),[M,w]),N=(0,o.useState)(C),k=(0,r.Z)(N,2),S=k[0],E=k[1],B=(0,o.useState)(.001*v+"s ease-in-out"),D=(0,r.Z)(B,2),R=D[0],O=D[1],z=(0,o.useRef)(S),P=o.Children.count(e.children)+1,A=(0,o.useRef)({stop:function(){},after:x,before:g});o.useImperativeHandle(t,(function(){return{gotoSlide:H,prevSlide:function(){return H(z.current-1)},nextSlide:function(){return H(z.current+1)},stopPlay:function(){return A.current.stop()}}}),[t]);var H=function(e){A.current.stop();var t=P-1,n=e>t?t:e;n=e<0?0:n,z.current=n,E(n),I()},I=function(e){if(void 0===e&&(e=h),Z){var t=setInterval((function(){null==A.current.after||A.current.after(z.current),z.current++,z.current>=P&&(z.current=0),E(z.current),null==A.current.before||A.current.before(z.current)}),e);A.current.stop=function(){clearInterval(t)}}};(0,o.useEffect)((function(){return I(),function(){A.current.stop()}}),[Z]),(0,o.useEffect)((function(){var t;return P===S+1&&(t=setTimeout((function(){A.current.before=function(){O(.001*v+"s ease-in-out"),A.current.before=e.beforeChange},O("none"),H(0)}),v)),function(){clearTimeout(t)}}),[S]);var T=o.Children.map(e.children,(function(e){return(0,l.jsx)("div",{style:(0,i.Z)({width:d,height:L},b),children:e})})),W=(0,o.useMemo)((function(){var e={transform:"",display:""};switch(s){case"horizontal":e.transform="translate3d("+-S*d+"px, 0px, 0px)",e.display="flex";break;case"vertical":e.transform="translate3d(0px, "+-S*L+"px, 0px)",e.display="block"}return e}),[s,S,d,L]);return(0,l.jsx)("div",{className:j,style:{width:d,height:L},children:(0,l.jsxs)("div",{className:j+"-content",style:(0,i.Z)({width:d*P,transition:R},W),children:[T,(0,l.jsx)("div",{style:(0,i.Z)({width:d,height:L},b),children:null==T?void 0:T[0]})]})})}var a=o.forwardRef(C)},1010:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(649),i=n(1026),o=n(5773),l=n(8573),C=n(6647),a=n(4463),s=n(4768),c=n(6252),d=n(4760);var u=function(e){var t=e.value,n=e.onChange,u=e.onSearch,L=e.expandTrigger,f=void 0===L?"click":L,h=e.size,p=e.disabled,v=e.allowClear,m=e.placeholder,Z=e.prefixCls,x=void 0===Z?"w-cascader":Z,g=e.className,y=e.style,M=void 0===y?{width:200}:y,w=e.option,b=void 0===w?[]:w,j=e.others,N=e.inputProps,k=[x,g].filter(Boolean).join(" ").trim(),S=(0,l.useState)(!1),E=(0,i.Z)(S,2),B=E[0],D=E[1],R=(0,l.useState)([]),O=(0,i.Z)(R,2),z=O[0],P=O[1],A=(0,l.useState)(""),H=(0,i.Z)(A,2),I=H[0],T=H[1],W=(0,l.useState)(""),F=(0,i.Z)(W,2),Y=F[0],V=F[1],K=(0,l.useState)(!1),q=(0,i.Z)(K,2),$=q[0],U=q[1],J=(0,l.useState)(""),X=(0,i.Z)(J,2),_=X[0],G=X[1],Q=(0,l.useState)(),ee=(0,i.Z)(Q,2),te=ee[0],ne=ee[1];(0,l.useEffect)((function(){if(u){var e=[];re(b,(function(t){var n=t.map((function(e){return e.label})).join(" / ");e.push({label:n,options:t})})),ne(e)}}),[u]);var re=function e(t,n,i){void 0===i&&(i=[]),t.map((function(t){var o=[].concat((0,r.Z)(i),[t]);t.children?e(t.children,n,o):null==n||n(o)}))};function ie(e){var t;t="enter"===e&&v&&z.length>0?"close":"",T(t)}(0,l.useEffect)((function(){if(t){var e=[],n=b;null==t||t.map((function(t){var r=n.find((function(e){return e.value===t}));n=(null==r?void 0:r.children)||[],e.push((0,o.Z)({label:t,value:t},r))})),P(e)}}),[t]);var oe=function(e,t){P((0,r.Z)(t));var i=t.map((function(e){return e.value}));null==n||n(e,i,t)},le=.7*(null==M?void 0:M.width)||void 0,Ce=(0,l.useMemo)((function(){return function(e,t){var n={onClick:function(){},onMouseOver:function(){}},r=function(){e()};return"click"===f||t?n.onClick=r:"hover"===f&&(n.onMouseOver=r),n}}),[]),ae=function(e,t){if(void 0===t&&(t=0),e)return(0,d.jsx)(s.ZP,{bordered:!0,style:{minHeight:25,minWidth:le,overflowY:"scroll",width:le},children:e&&0!==e.length?e.map((function(e,n){var r,i,l=(null==(r=z[t])?void 0:r.value)===e.value;return(0,d.jsx)(s.ZP.Item,(0,o.Z)({active:l,text:e.label,addonAfter:e.children?(0,d.jsx)(c.Z,{type:"right"}):void 0},Ce((function(){!function(e,t){z.splice(t,z.length-t,e),e.children||D(!1),oe(!0,z)}(e,t)}),!(null!=(i=e.children)&&i.length))),n)})):(0,d.jsx)("div",{style:{color:"#c7c7c7",fontSize:12},children:"\u6ca1\u6709\u6570\u636e"})},t)};return(0,l.useEffect)((function(){var e=z.map((function(e){return e.label})).join(" / ");G(e)}),[z]),(0,d.jsx)(a.Z,(0,o.Z)({className:k,trigger:"click",style:{marginTop:5},overlayStyl:{width:100},disabled:p},j,{onVisibleChange:function(e){D(e)},isOpen:B,menu:Y?(0,d.jsx)(s.ZP,{bordered:!0,style:{minHeight:25,minWidth:null==M?void 0:M.width,overflowY:"scroll",width:null==M?void 0:M.width},children:te&&0!==te.length?te.filter((function(e){return e.label.includes(Y.trim())})).map((function(e,t){return(0,d.jsx)(s.ZP.Item,{text:e.label,onClick:function(){return t=e.options,V(""),D(!1),void oe(!1,t);var t}},t)})):(0,d.jsx)("div",{style:{color:"#c7c7c7",fontSize:12},children:"\u6ca1\u6709\u6570\u636e"})}):(0,d.jsx)("div",{style:{display:"flex"},children:new Array(z.length+1).fill(0).map((function(e,t){var n,r=t?null==(n=z[t-1])?void 0:n.children:b;return ae(r,t)})).filter((function(e){return!!e}))}),children:(0,d.jsx)("span",{onMouseLeave:function(){return ie("leave")},onMouseOver:function(){return ie("enter")},children:(0,d.jsx)(C.Z,(0,o.Z)({},N,{value:$?Y:_,onChange:function(e){B||D(!B);var t=e.target.value;u&&function(e){V(e)}(t)},size:h,disabled:p,placeholder:$?_:m,style:M,onFocus:function(){return u&&U(!0)},onBlur:function(){return u&&U(!1)},readOnly:!u,addonAfter:(0,d.jsx)("span",{style:{width:"auto"},children:!p&&"close"===I&&(0,d.jsx)(c.Z,{type:I,onClick:function(e){e.stopPropagation(),oe(!1,[])},className:x+"-close"})})}))})}))}},6173:function(e,t,n){"use strict";n.d(t,{c:function(){return s},Z:function(){return L}});var r=n(5773),i=n(808),o=n(8573),l=n(2266),C=n(4760),a=["prefixCls","className","name","value","onChange"],s=o.forwardRef((function(e,t){var n=e.prefixCls,l=void 0===n?"w-checkbox-group":n,s=e.className,c=e.name,d=e.value,u=e.onChange,L=(0,i.Z)(e,a),f=(0,o.useRef)([]),h=[l,s].filter(Boolean).join(" ").trim(),p=o.Children.toArray(e.children);return(0,o.useMemo)((function(){return f.current=d||[]}),[d]),(0,C.jsx)("div",(0,r.Z)({},L,{className:h,ref:t,children:o.Children.map(p,(function(e){if(o.isValidElement(e))return Array.isArray(d)&&e&&e.props&&e.props.value&&d.includes(e.props.value)&&(f.current.includes(e.props.value)||f.current.push(e.props.value)),o.cloneElement(e,Object.assign({},e.props,{name:c,checked:f.current.includes(e.props.value),onChange:function(t){if(!t.target.type||"checkbox"===t.target.type){var n=t.target.checked,r=f.current.includes(e.props.value);!r&&n?f.current.push(e.props.value):r&&!n&&(f.current=f.current.filter((function(t){return t!==e.props.value}))),u&&u(t,f.current)}}}))}))}))})),c=["className","prefixCls","type","indeterminate","disabled","value"];function d(e,t){var n=e.className,o=e.prefixCls,a=void 0===o?"w-checkbox":o,s=e.type,d=void 0===s?"checkbox":s,u=e.indeterminate,L=void 0!==u&&u,f=e.disabled,h=void 0!==f&&f,p=e.value,v=void 0===p?"":p,m=(0,i.Z)(e,c),Z=[n,L&&"indeterminate"].filter(Boolean).join(" ").trim();return(0,C.jsx)(l.Rw,(0,r.Z)({ref:t},m,{type:d,prefixCls:a,disabled:h,value:v,className:Z}))}var u=o.forwardRef(d);u.Group=s;var L=u},7135:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(649),i=n(1026),o=n(5773),l=n(808),C=n(8573),a=n(4366),s=n(6252),c=n(4760),d=["prefixCls","className","icon","children","isActive","onItemClick","disabled","showArrow","header","extra"];var u=["prefixCls","className","children","accordion","bordered","showArrow","activeKey","onChange"];function L(e){var t=e;return Array.isArray(t)||(t=t?[t]:[]),t}function f(e,t){var n=e.prefixCls,a=void 0===n?"w-collapse":n,s=e.className,d=e.children,f=e.accordion,h=void 0!==f&&f,p=e.bordered,v=e.showArrow,m=void 0===v||v,Z=e.activeKey,x=e.onChange,g=(0,l.Z)(e,u),y=(0,C.useState)(L(Z)),M=(0,i.Z)(y,2),w=M[0],b=M[1],j=[a,s,p?"w-noborder":null].filter(Boolean).join(" ").trim();return(0,C.useMemo)((function(){Z!==w&&b(L(Z))}),[Z]),(0,C.useMemo)((function(){Z!==w&&x&&x(w)}),[w,Z]),(0,c.jsx)("div",(0,o.Z)({className:j},g,{ref:t,children:C.Children.map(d,(function(e,t){var n=e.key||String(t),i=e.props.disabled,l=!1;l=h?w[0]===n:w.indexOf(n)>-1;var s=(0,o.Z)({prefixCls:a,isActive:l,disabled:i,showArrow:m,onItemClick:i?function(){}:function(){return function(e){var t=w;if(h)t=t[0]===e?[]:[e];else{var n=(t=(0,r.Z)(t)).indexOf(e);n>-1?t.splice(n,1):t.push(e)}b(t)}(n)}},e.props);return C.cloneElement(e,s)}))}))}var h=C.forwardRef(f);h.displayName="Collapse",h.Panel=function(e){var t=e.prefixCls,n=void 0===t?"w-collapse":t,r=e.className,i=e.icon,u=void 0===i?"down":i,L=e.children,f=e.isActive,h=e.onItemClick,p=e.disabled,v=void 0!==p&&p,m=e.showArrow,Z=e.header,x=e.extra,g=(0,l.Z)(e,d),y=[n?n+"-item":null,r,f?n+"-active":null,v?n+"-disabled":null].filter(Boolean).join(" ").trim(),M="string"===typeof u?(0,c.jsx)(s.Z,{type:u}):u;return(0,c.jsxs)("div",(0,o.Z)({className:y},g,{children:[(0,c.jsxs)("div",{className:n+"-header",onClick:h,children:[m&&M,(0,c.jsx)("span",{className:n+"-title",children:Z}),x&&(0,c.jsx)("div",{className:n+"-extra",children:x})]}),(0,c.jsx)(a.Z,{in:f,unmountOnExit:!1,timeout:300,classNames:n+"-panel",children:function(e){return C.cloneElement((0,c.jsx)("div",{children:L}),{className:n+"-panel",style:(t=L,Object.assign({},t&&t.props?t.props.style:{},{transitionDuration:"300ms"})),ref:function(t){return function(e,t){t&&("exited"!==e&&"exiting"!==e||(t.style.height="1px"),"entered"!==e&&"entering"!==e||(t.style.height=t.scrollHeight+"px"))}(e,t)}});var t}})]}))};var p=h},9284:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});var r=n(5773),i=n(808),o=(n(8573),n(3376)),l=n.n(o),C=n(4760),a=["prefixCls","className","text","children","onClick"];function s(e){var t=e.prefixCls,n=void 0===t?"w-copy-to-clipboard":t,o=e.className,s=e.text,c=void 0===s?"":s,d=e.children,u=e.onClick,L=void 0===u?function(){return null}:u,f=(0,i.Z)(e,a);var h=(0,r.Z)({},f,{className:[n,o].filter(Boolean).join(" ").trim(),onClick:function(e){if(!c)return L("",!1,e);l()(c,(function(t){L(c,t,e)}))}});return(0,C.jsxs)("span",(0,r.Z)({},h,{children:[(0,C.jsx)("span",{className:n+"-select",children:c}),d]}))}},6782:function(e,t,n){"use strict";n.d(t,{x:function(){return h},Z:function(){return v}});var r=n(1026),i=n(5773),o=n(808),l=n(8573),C=n(6647),a=n(6658),s=n(4665),c=n(6252),d=n(371),u=n(649),L=n(4760),f=["prefixCls","bodyStyle","className","popoverProps","datePickerProps","allowClear","format","onChange","value"];function h(e){var t=e.prefixCls,n=void 0===t?"w-dateinputrange":t,h=e.bodyStyle,p=void 0===h?void 0:h,v=e.className,m=e.popoverProps,Z=e.datePickerProps,x=e.allowClear,g=void 0===x||x,y=e.format,M=void 0===y?"YYYY/MM/DD":y,w=e.onChange,b=e.value,j=(0,o.Z)(e,f),N=(0,l.useState)([]),k=(0,r.Z)(N,2),S=k[0],E=k[1];function B(e,t){var n=(0,u.Z)(S);n[t]=e,E(n),w&&w(e,n)}return(0,l.useEffect)((function(){var e=[],t=b;Array.isArray(t)&&null!=t&&t.length&&t.forEach((function(n,r){e[r]="string"===typeof t[r]?new Date(n):n})),E(e)}),[JSON.stringify(b)]),(0,L.jsxs)("div",{className:[n+"-contents",n+"-inner"].filter(Boolean).join(" ").trim(),style:(0,i.Z)({width:300},p),children:[(0,L.jsx)(a.Z,(0,i.Z)({trigger:"focus",placement:"bottomLeft",autoAdjustOverflow:!0},m,{content:(0,L.jsx)(s.ZP,(0,i.Z)({date:S[0],className:n+"-popover"},Z,{onChange:function(e){return B(e,0)}})),children:(0,L.jsx)(C.Z,(0,i.Z)({placeholder:"\u8bf7\u9009\u62e9\u65e5\u671f",readOnly:!0},j,{value:S[0]?(0,d.Z)(M,S[0]):"",className:[n,v].filter(Boolean).join(" ").trim()}))})),(0,L.jsx)(c.Z,{type:"swap-right",verticalAlign:"baseline",style:{fontSize:21,top:-1,margin:"0px 8px 0px 5px"}}),(0,L.jsx)(a.Z,(0,i.Z)({trigger:"focus",placement:"bottomLeft",autoAdjustOverflow:!0},m,{content:(0,L.jsx)(s.ZP,(0,i.Z)({date:S[1],className:n+"-popover"},Z,{onChange:function(e){return B(e,1)}})),children:(0,L.jsx)(C.Z,(0,i.Z)({placeholder:"\u8bf7\u9009\u62e9\u65e5\u671f",readOnly:!0},j,{value:S[1]?(0,d.Z)(M,S[1]):"",className:[n,v].filter(Boolean).join(" ").trim()}))})),g&&S.length>0&&(0,L.jsx)(c.Z,{className:n+"-close-btn",color:"#a5a5a5",onClick:function(){return E([]),void(w&&w(void 0,[]))},type:"close"})]})}var p=["prefixCls","className","popoverProps","datePickerProps","allowClear","autoClose","format","onChange"];function v(e){var t=e.prefixCls,n=void 0===t?"w-dateinput":t,u=e.className,f=e.popoverProps,h=e.datePickerProps,v=e.allowClear,m=void 0===v||v,Z=e.autoClose,x=void 0!==Z&&Z,g=e.format,y=void 0===g?"YYYY/MM/DD":g,M=e.onChange,w=(0,o.Z)(e,p),b=(0,l.useState)(e.value),j=(0,r.Z)(b,2),N=j[0],k=j[1],S=N||"";function E(e){x&&O(!1),k(e),M&&M(e)}w.value="string"===typeof S?S:(0,d.Z)(y,S),(0,l.useEffect)((function(){e.value!==N&&k(e.value)}),[e.value]),m&&w.value&&(w.addonAfter=(0,L.jsx)(c.Z,{className:n+"-close-btn",onClick:function(){return E(void 0)},type:"close"}));var B=(0,l.useState)(!1),D=(0,r.Z)(B,2),R=D[0],O=D[1];return(0,L.jsx)(a.Z,(0,i.Z)({trigger:"focus",placement:"bottomLeft",autoAdjustOverflow:!0,isOpen:R,onVisibleChange:function(e){return O(e)}},f,{content:(0,L.jsx)(s.ZP,(0,i.Z)({date:S&&new Date(S)||void 0,className:n+"-popover"},h,{onChange:function(e){return E(e)}})),children:(0,L.jsx)(C.Z,(0,i.Z)({placeholder:"\u8bf7\u9009\u62e9\u65e5\u671f",readOnly:!0},w,{className:[n,u].filter(Boolean).join(" ").trim()}))}))}},4665:function(e,t,n){"use strict";n.d(t,{sl:function(){return b},Ql:function(){return m},x$:function(){return x},Pk:function(){return y},pq:function(){return h},ZP:function(){return k}});var r=n(1026),i=n(5773),o=n(808),l=n(8573),C=n(371),a=n(7408),s=n(2190),c=n(649),d=n(4760),u=["date","row","col","index","today","panelDate","disabledDate","renderDay","onSelectDay"],L=["prefixCls","className","weekday","weekTitle","date","today","panelDate","disabledDate","renderDay","onSelectDay"];function f(e){return Object.keys(e||{}).map((function(t){return e[t]?t:null})).filter(Boolean).join(" ").trim()}function h(e){var t=e.date,n=e.col,r=e.index,C=e.today,a=e.panelDate,s=e.disabledDate,c=e.renderDay,L=e.onSelectDay,h=(0,o.Z)(e,u),p={end:0===n||6===n,prev:!1,today:!1,selected:!1,next:!1,disabled:!1},v=a;v&&function(e){return e instanceof Date&&!isNaN(e.getTime())}(v)||(v=new Date);var m=v.getFullYear(),Z=v.getMonth(),x=(0,l.useMemo)((function(){return new Date(new Date(v).setDate(1)).getDay()}),[v.toDateString()]),g=(0,l.useMemo)((function(){return new Date(m,0===Z?12:Z+1,0).getDate()}),[v.toDateString()]),y=r;v&&((y=y-x+1)<1&&(p.prev=!0),y>g&&(p.next=!0));var M=new Date(new Date(v).setDate(y));C&&C.toDateString()===M.toDateString()&&(p.today=!0),t&&t.toDateString()===M.toDateString()&&(p.selected=!0);var w={onClick:function(){var e=M.getMonth();L&&L(M,{year:M.getFullYear(),month:0===e?12:e+1,day:M.getDate()})}};return s&&s(M,(0,i.Z)({},e,p))&&(p.disabled=!0,delete w.onClick),(0,d.jsx)("div",(0,i.Z)({className:f(p)},h,w,{children:c?c(M.getDate(),(0,i.Z)({},e,p,{date:M})):(0,d.jsx)("div",{children:M.getDate()})}))}var p=["\u661f\u671f\u5929","\u661f\u671f\u4e00","\u661f\u671f\u4e8c","\u661f\u671f\u4e09","\u661f\u671f\u56db","\u661f\u671f\u4e94","\u661f\u671f\u516d"],v=["\u65e5","\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d"];function m(e){var t=e.prefixCls,n=void 0===t?"w-datepicker":t,r=e.className,C=e.weekday,a=void 0===C?v:C,s=e.weekTitle,u=void 0===s?p:s,m=e.date,Z=e.today,x=e.panelDate,g=e.disabledDate,y=e.renderDay,M=e.onSelectDay,w=(0,o.Z)(e,L),b=(0,l.useMemo)((function(){return(0,d.jsx)("div",{className:n+"-weekday",children:(a||[]).map((function(e,t){return(0,d.jsx)("div",{className:f({end:0===t||6===t}),title:u&&u[t],children:e},t)}))})}),[n,a,u]);return(0,d.jsxs)("div",(0,i.Z)({},w,{className:[n?n+"-body":null,r].filter(Boolean).join(" ").trim(),children:[b,(0,d.jsx)("div",{className:[n?n+"-day-body":null].filter(Boolean).join(" ").trim(),children:(0,c.Z)(Array(6)).map((function(e,t){return(0,d.jsx)("div",{className:n+"-week",children:(0,c.Z)(Array(7)).map((function(e,n){return(0,d.jsx)(h,{date:m,today:Z,disabledDate:g,renderDay:y,panelDate:x,col:n,row:t,onSelectDay:function(e,t){M&&M(e,t)},index:7*t+n},n)}))},t)}))})]}))}var Z=["prefixCls","className","panelDate","monthLabel","onSelected"];function x(e){var t=e.prefixCls,n=void 0===t?"w-datepicker":t,r=e.className,l=e.panelDate,C=void 0===l?new Date:l,s=e.monthLabel,u=e.onSelected,L=void 0===u?a.Z:u,f=(0,o.Z)(e,Z);return(0,d.jsx)("div",(0,i.Z)({className:[n?n+"-month":null,r].filter(Boolean).join(" ").trim()},f,{children:(0,c.Z)(Array(12)).map((function(e,t){var n=C.getMonth();return(0,d.jsx)("div",{className:[n===t?"selected":null].filter(Boolean).join(" ").trim(),children:(0,d.jsx)("span",{onClick:function(){return L(t,!1)},children:s&&s[t]||t})},t)}))}))}var g=["prefixCls","panelNum","className","panelDate","onSelected"];function y(e){var t=e.prefixCls,n=void 0===t?"w-datepicker":t,C=e.panelNum,s=void 0===C?[-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10]:C,c=e.className,u=e.onSelected,L=void 0===u?a.Z:u,f=(0,o.Z)(e,g),h=(0,l.useState)(e.panelDate),p=(0,r.Z)(h,2),v=p[0],m=p[1];return(0,d.jsx)("div",(0,i.Z)({className:[n?n+"-year":null,c].filter(Boolean).join(" ").trim()},f,{children:s&&s.map((function(e,t){var n=v.getFullYear(),r=n+s[t];return(0,d.jsx)("div",{className:[n===r?"selected":null,0===t||t===s.length-1?"paging":null].filter(Boolean).join(" ").trim(),children:(0,d.jsx)("span",{onClick:function(){return function(e,t){if(0===t||t===s.length-1){var n=new Date(v);n.setFullYear(e),m(n)}else L(e)}(r,t)},children:r})},t)}))}))}var M=["prefixCls","className","panelDate","monthLabel","onSelected","todayButton"];function w(){for(var e=arguments.length,t=new Array(e),n=0;no.length&&!L&&(0,C.jsx)("div",{className:r+"-box "+r+"-btn",onClick:m,children:h})]})},v=n(4649),m=function(e){var t=new FileReader;return new Promise((function(n){t.addEventListener("load",(function(){return n(String(t.result))})),t.readAsDataURL(e)}))},Z=function(e,t){for(var n=[],r=0;rc}var M=(0,o.useMemo)((function(){if(!L)return{min:l,max:c}}),[]),w=[h,n].filter(Boolean).join(" ").trim(),b=(0,o.useMemo)((function(){return x?{color:null==L?void 0:L.toString()}:void 0}),[x]);return(0,C.jsx)(u,(0,r.Z)({},p,{className:w,type:"number",inputStyle:b,onChange:function(t){var n=y(Number.parseFloat(t.target.value));g(n),null==e.onChange||e.onChange(t)},step:d},M))})),d=["prefixCls","className","style","size","type","preIcon","addonAfter","inputStyle"],u=o.forwardRef((function(e,t){var n=e.prefixCls,a=void 0===n?"w-input":n,s=e.className,c=e.style,u=e.size,L=void 0===u?"default":u,f=e.type,h=void 0===f?"text":f,p=e.preIcon,v=void 0===p?null:p,m=e.addonAfter,Z=e.inputStyle,x=(0,i.Z)(e,d),g=o.useRef(null),y=o.useRef(null);(0,o.useImperativeHandle)(t,(function(){return g.current}));var M=[a,s,L?a+"-"+L:null,m?a+"-addon":null,e.disabled?"disabled":null].filter(Boolean).join(" ").trim();return(0,o.useEffect)((function(){!function(){if(y.current&&g.current){var e=window&&window.getComputedStyle(y.current,null);g.current.style.paddingRight=y.current.clientWidth+2*parseInt(e.right,10)+"px"}}()})),(0,C.jsxs)("div",{className:M,style:c,children:[(0,C.jsx)(l.Z,{type:v}),(0,C.jsx)("input",(0,r.Z)({ref:g,type:h,autoComplete:"off"},x,{style:Z,className:a+"-inner"})),m&&(0,C.jsx)("span",{className:a+"-addon-after",ref:y,children:m})]})}))},6394:function(e,t,n){"use strict";n.d(t,{bU:function(){return y},VY:function(){return c},D4:function(){return p},NC:function(){return f},Ju:function(){return x},ZP:function(){return M},SH:function(){return m}});var r=n(649),i=n(1026),o=n(5773),l=n(808),C=n(8573),a=n(4760),s=["prefixCls","className","hasSider","children"],c=C.createContext({addSider:function(){return null},removeSider:function(){return null}}),d=C.forwardRef((function(e,t){var n=e.prefixCls,d=void 0===n?"w-layout":n,u=e.className,L=e.hasSider,f=e.children,h=(0,l.Z)(e,s),p=(0,C.useState)([]),v=(0,i.Z)(p,2),m=v[0],Z=v[1],x=[d,u,"boolean"===typeof L&&L||m.length>0?d+"-has-sider":null].filter(Boolean).join(" ").trim();return(0,a.jsx)(c.Provider,{value:{addSider:function(e){Z((function(t){return[].concat((0,r.Z)(t),[e])}))},removeSider:function(e){Z((function(t){return(0,r.Z)(t.filter((function(t){return t!==e})))}))}},children:(0,a.jsx)("section",(0,o.Z)({ref:t,className:x},h,{children:f}))})}));d.displayName="Layout";var u=d,L=["prefixCls","className","children"],f=C.forwardRef((function(e,t){var n=e||{},r=n.prefixCls,i=void 0===r?"w-layout-header":r,C=n.className,s=n.children,c=(0,l.Z)(n,L),d=[i,C].filter(Boolean).join(" ").trim();return(0,a.jsx)("header",(0,o.Z)({ref:t,className:d},c,{children:s}))})),h=["prefixCls","className","children"],p=C.forwardRef((function(e,t){var n=e.prefixCls,r=void 0===n?"w-layout-footer":n,i=e.className,C=e.children,s=(0,l.Z)(e,h),c=[r,i].filter(Boolean).join(" ").trim();return(0,a.jsx)("footer",(0,o.Z)({ref:t,className:c},s,{children:C}))})),v=["prefixCls","className","style","children","width","collapsedWidth","collapsed","addSider","removeSider"];function m(){return parseInt(String(1e15*Math.random()),10).toString(36)}var Z=C.forwardRef((function(e,t){var n=e,r=n.prefixCls,s=void 0===r?"w-layout-sider":r,c=n.className,d=n.style,u=n.children,L=n.width,f=void 0===L?200:L,h=n.collapsedWidth,p=void 0===h?80:h,Z=n.collapsed,x=void 0!==Z&&Z,g=n.addSider,y=n.removeSider,M=(0,l.Z)(n,v),w=(0,C.useState)("w-layout-"+m()),b=(0,i.Z)(w,1)[0],j=(0,C.useState)(x?p:f),N=(0,i.Z)(j,2),k=N[0],S=N[1];(0,C.useEffect)((function(){return g&&g(b),function(){y&&y(b)}}),[]),(0,C.useMemo)((function(){return S(x?p:f)}),[f,p,x]);var E=(0,o.Z)({},d,{flex:"0 0 "+k,maxWidth:k,minWidth:k,width:k});return(0,a.jsx)("div",(0,o.Z)({ref:t,className:[s,c].filter(Boolean).join(" ").trim(),style:E},M,{children:u}))})),x=C.forwardRef((function(e,t){return(0,a.jsx)(c.Consumer,{children:function(n){return(0,a.jsx)(Z,(0,o.Z)({ref:t},e,n))}})})),g=["prefixCls","className","children"],y=C.forwardRef((function(e,t){var n=e.prefixCls,r=void 0===n?"w-layout-content":n,i=e.className,C=e.children,s=(0,l.Z)(e,g),c=[r,i].filter(Boolean).join(" ").trim();return(0,a.jsx)("main",(0,o.Z)({ref:t,className:c},s,{children:C}))}));u.Header=f,u.Footer=p,u.Sider=x,u.Content=y;var M=u},3871:function(e,t,n){"use strict";n.d(t,{H:function(){return a},Z:function(){return u}});var r=n(5773),i=n(808),o=n(8573),l=n(4760),C=["prefixCls","className","children","extra","tagName","active"],a=o.forwardRef((function(e,t){var n=e.prefixCls,a=void 0===n?"w-list-item":n,s=e.className,c=e.children,d=e.extra,u=e.tagName,L=void 0===u?"div":u,f=e.active,h=void 0!==f&&f,p=(0,i.Z)(e,C),v=[a,s,e.disabled?"w-disabled":null,h?"w-active":null].filter(Boolean).join(" ").trim(),m=e.href&&"string"===typeof L?"a":L;return o.createElement(m,(0,r.Z)({},p,{className:v,ref:t}),!d||p.href?c:(0,l.jsxs)(o.Fragment,{children:[(0,l.jsx)("div",{className:a+"-main",children:c}),(0,l.jsx)("div",{className:a+"-extra",children:d})]}))}));a.displayName="List.Item";var s=["prefixCls","bordered","striped","noHover","active","size","renderItem","className","children","header","footer","dataSource"];function c(e,t){var n,C=e.prefixCls,a=void 0===C?"w-list":C,c=e.bordered,d=void 0===c||c,u=e.striped,L=void 0!==u&&u,f=e.noHover,h=void 0!==f&&f,p=e.active,v=void 0!==p&&p,m=e.size,Z=void 0===m?"default":m,x=e.renderItem,g=e.className,y=e.children,M=e.header,w=e.footer,b=e.dataSource,j=void 0===b?[]:b,N=(0,i.Z)(e,s);n=j&&j.length>0?j.map((function(e,t){return x&&x(e,t)})):y;var k=o.Children.map(n,(function(e,t){return o.isValidElement(e)&&o.cloneElement(e,{key:t})})),S=[a,g,L?a+"-striped":null,h?a+"-no-hover":null,v?a+"-active":null,d?a+"-bordered":null,Z&&"default"!==Z?a+"-size-"+Z:null].filter(Boolean).join(" ").trim();return(0,l.jsxs)("div",(0,r.Z)({className:S},N,{ref:t,children:[M&&(0,l.jsx)("div",{className:a+"-header",children:M}),k,w&&(0,l.jsx)("div",{className:a+"-footer",children:w})]}))}var d=o.forwardRef(c);d.Item=a;var u=d},1810:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(5773),i=n(808),o=n(8573),l=n(4760),C=["prefixCls","className","size","loading","tip","vertical","color","bgColor","children","indicator","fullscreen"],a=function(e){void 0===e&&(e={});var t=e,n=t.prefixCls,a=void 0===n?"w-loader":n,s=t.className,c=t.size,d=void 0===c?"default":c,u=t.loading,L=void 0===u||u,f=t.tip,h=t.vertical,p=t.color,v=t.bgColor,m=t.children,Z=t.indicator,x=t.fullscreen,g=void 0!==x&&x,y=(0,i.Z)(e,C),M=[a,s,d?a+"-"+d:null].filter(Boolean).join(" ").trim(),w=(0,o.useMemo)((function(){return(0,l.jsx)("svg",{viewBox:"25 25 50 50",children:(0,l.jsx)("circle",{cx:"50",cy:"50",r:"20",fill:"none",strokeWidth:"5",strokeMiterlimit:"10"})})}),[]),b=(0,o.useMemo)((function(){return(0,l.jsx)("div",{className:[a+"-tips",g?a+"-fullscreen":null].filter(Boolean).join(" ").trim(),style:{color:p,backgroundColor:v},children:(0,l.jsxs)("div",{className:a+"-tips-nested",children:[Z||w,f&&(0,l.jsx)("div",{className:[a+"-text",h?a+"-vertical":null].filter(Boolean).join(" ").trim(),children:f})]})})}),[g,v,a,h,f]);return(0,l.jsxs)("div",(0,r.Z)({className:M},y,{children:[(L||g)&&b,m&&o.cloneElement(m,Object.assign({},m.props,{className:[a+"-warp",L?a+"-blur":null].filter(Boolean).join(" ").trim()}))]}))}},7334:function(e,t,n){"use strict";n.d(t,{Z:function(){return Ee}});var r=n(5773),i=n(808),o=n(6732),l=n(8573),C=(n(6155),n(645)),a=n(649),s=n(2951),c=n(1976),d=n(7591),u=n(9616),L=n(7373),f=document.createElement("template");f.innerHTML='\n\n\n';var h=function(e){(0,d.Z)(n,e);var t=(0,u.Z)(n);function n(){var e;return(0,s.Z)(this,n),(e=t.call(this)).right="0",e.shadow=e.attachShadow({mode:"open"}),e.shadow.appendChild(e.ownerDocument.importNode(f.content,!0)),e.update(),e}return(0,c.Z)(n,[{key:"setAttr",value:function(e,t){var n=this.shadow.querySelector("svg");/(href)/.test(e.toLocaleLowerCase())?n.lastElementChild.setAttribute("xlink:href",t):/(color|fill)/.test(e.toLocaleLowerCase())?n.firstElementChild.style[e]=t:/(z-index|position|top|left|right|bottom|transform)/.test(e.toLocaleLowerCase())?n.style[e]=t:n.setAttribute(e,t)}},{key:"update",value:function(){var e=this;[].concat((0,a.Z)(this.getAttributeNames()),["right"]).forEach((function(t){var n=e.getAttribute(t)||e[t]||"";e.setAttr(t,n)}))}},{key:"attributeChangedCallback",value:function(e,t,n){t!==n&&this.setAttr(e,n)}}],[{key:"observedAttributes",get:function(){return["style","z-index","target","height","width","href","color","fill","position","top","left","right","bottom","transform"]}}]),n}((0,L.Z)(HTMLElement));customElements.define("github-corners",h);var p=n(4760),v=["size","fixed","bottom","zIndex","className","style","bgColor","color","position"];function m(e){var t=e.size,n=void 0===t?80:t,o=e.fixed,l=void 0!==o&&o,C=e.bottom,a=e.zIndex,s=e.style,c=e.bgColor,d=void 0===c?"#151513":c,u=e.color,L=void 0===u?"#fff":u,f=e.position,h=void 0===f?"right":f,m=(0,i.Z)(e,v),Z="left"===h?{left:0,right:"initial",transform:"scale(-1, 1)"}:{right:0,left:"initial",transform:"scale(1, 1)"};return C?(Z.bottom=0,Z.top="initial",Z.transform="left"===h?"scale(-1, -1)":"scale(1, -1)"):(Z.bottom="initial",Z.top=0),(0,p.jsx)("github-corners",(0,r.Z)({target:"__blank",width:n,height:n,href:e.href,position:l?"fixed":"absolute","z-index":a,style:s,fill:d,color:L},Z,m))}var Z=n(1026),x=["className","prefixCls","element","top","size","strokeWidth","smooth","hideProgress","children"],g={position:"sticky",bottom:15,right:15,visibility:"visible",opacity:0,transition:"visibility 0.3s linear 0s, opacity 0.3s linear 0s",cursor:"pointer",userSelect:"none"},y={display:"block",transform:"rotate(-90deg)"},M={transition:"stroke-dashoffset 0.3s linear 0s"},w={position:"absolute",top:0,display:"flex",height:"100%",width:"100%",alignItems:"center",justifyContent:"center",color:"#fff",fontSize:12},b=document.documentElement;function j(e){void 0===e&&(e={});var t=e,n=t.className,o=t.prefixCls,C=void 0===o?"w-back-to-up":o,a=t.element,s=void 0===a?b:a,c=t.top,d=void 0===c?120:c,u=t.size,L=void 0===u?35:u,f=t.strokeWidth,h=void 0===f?3:f,v=t.smooth,m=void 0===v||v,j=t.hideProgress,N=void 0!==j&&j,k=t.children,S=(0,i.Z)(e,x),E=(0,l.useRef)(null),B=[n,C].filter(Boolean).join(" "),D=Object.assign({},g,{position:s===b?"fixed":"sticky"},S.style,{width:L,height:L,opacity:0===d?1:0}),R=(0,l.useMemo)((function(){return L/2}),[L]),O=(0,l.useMemo)((function(){return L/2-h/2}),[L,h]),z=(0,l.useMemo)((function(){return Math.PI*O*2}),[O]),P=(0,l.useState)(z||0),A=(0,Z.Z)(P,2),H=A[0],I=A[1],T=function(e){var t=s||b,n=t.clientHeight,r=t.scrollHeight,i=t.scrollTop;I(z-z*(i/(r-n))||0),E.current&&d>0&&(E.current.style.opacity=i>d?"1":"0")};(0,l.useEffect)((function(){var e=s===b?document:s;return e&&e.addEventListener("scroll",T,{passive:!0}),function(){e&&e.removeEventListener("scroll",T)}}),[s]);return(0,p.jsxs)("div",(0,r.Z)({className:B,ref:E},S,{onClick:function(e){s.scrollTo({top:0,behavior:m?"smooth":"auto"})},style:D,children:[!N&&(0,p.jsxs)("svg",{viewBox:"0 0 "+L+" "+L,width:L,height:L,focusable:"false",style:y,children:[(0,p.jsx)("circle",{fill:"rgb(0 0 0 / 75%)",stroke:"rgb(200 200 200 / 85%)",strokeWidth:h,r:O,cx:R,cy:R}),(0,p.jsx)("circle",{fill:"none",stroke:"rgb(0 0 0 / 50%)",strokeWidth:h,r:O,cx:R,cy:R,strokeDasharray:z,strokeDashoffset:H||0,style:M})]}),k&&(0,p.jsx)("div",{style:w,children:k})]}))}var N=n(726),k={corners:{fixed:!0,target:"__blank",zIndex:10},darkMode:{permanent:!0,dark:"Dark",light:"Light"},example:null},S=[],E=function(e){k=(0,r.Z)({},k,{corners:(0,r.Z)({},k.corners,e)}),z()},B=function(e){k=(0,r.Z)({},k,{darkMode:(0,r.Z)({},k.darkMode,e)}),console.log("globalStore:",k),z()},D=function(e){k=(0,r.Z)({},k,{example:e}),z()};function R(){return k}function O(e){return S=[].concat((0,a.Z)(S),[e]),function(){S=S.filter((function(t){return t!==e}))}}function z(){var e,t=(0,N.Z)(S);try{for(t.s();!(e=t.n()).done;){(0,e.value)()}}catch(n){t.e(n)}finally{t.f()}}var P=n(6320),A=n(8563),H=n(1681),I=n(7336),T=n(7530),W=n(9599),F=n(9508),Y=n(7666),V=n(2393),K=n(3973),q=n(204),$={type:"element",tagName:"svg",properties:{className:"octicon octicon-link",viewBox:"0 0 16 16",version:"1.1",width:"16",height:"16",ariaHidden:"true"},children:[{type:"element",tagName:"path",children:[],properties:{fillRule:"evenodd",d:"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"}}]};var U=n(3376),J=n.n(U);function X(e){if(!e)return null;var t=e;return t.dataset.code&&t.classList.contains("copied")?t:t.parentElement?X(t.parentElement):null}function _(e){var t=function(e){var t=X(e.target);t&&(t.classList.add("active"),J()(t.dataset.code,(function(){setTimeout((function(){t.classList.remove("active")}),2e3)})))};(0,l.useEffect)((function(){var n,r;return null==(n=e.current)||n.removeEventListener("click",t,!1),null==(r=e.current)||r.addEventListener("click",t,!1),function(){var n;null==(n=e.current)||n.removeEventListener("click",t,!1)}}),[e])}var G,Q,ee,te=n(655),ne=function(e){return void 0===e&&(e={}),function(e){(0,te.Vn)(e,(function(e){"element"===e.type&&"code"===e.tagName&&e.data&&e.data.meta&&(e.properties=(0,r.Z)({},e.properties,{"data-meta":String(e.data.meta)}))}))}},re=["prefixCls","className","source","style","disableCopy","skipHtml","onScroll","onMouseOver","pluginsFilter","rehypeRewrite","wrapperElement","warpperElement"],ie=l.forwardRef((function(e,t){var n=e.prefixCls,o=void 0===n?"wmde-markdown wmde-markdown-color":n,C=e.className,s=e.source,c=e.style,d=e.disableCopy,u=void 0!==d&&d,L=e.skipHtml,f=void 0===L||L,h=e.onScroll,v=e.onMouseOver,m=e.pluginsFilter,Z=e.rehypeRewrite,x=e.wrapperElement,g=void 0===x?{}:x,y=e.warpperElement,M=void 0===y?{}:y,w=(0,i.Z)(e,re),b=l.useRef(null);(0,l.useImperativeHandle)(t,(function(){return(0,r.Z)({},e,{mdp:b})}),[b,e]);var j=(o||"")+" "+(C||"");_(b);var N=[ne,[K.ZP,{ignoreMissing:!0}],W.Z,F.Z,V.Z,[q.Z,{rewrite:function(e,t,n){if("element"===e.type&&n&&"root"===n.type&&/h(1|2|3|4|5|6)/.test(e.tagName)){var i=e.children&&e.children[0];i&&i.properties&&"true"===i.properties.ariaHidden&&(i.properties=(0,r.Z)({class:"anchor"},i.properties),i.children=[$])}if("element"===e.type&&"pre"===e.tagName&&!u){var o=(0,q.U)(e.children);e.children.push((void 0===(l=o)&&(l=""),{type:"element",tagName:"div",properties:{class:"copied","data-code":l},children:[{type:"element",tagName:"svg",properties:{className:"octicon-copy",ariaHidden:"true",viewBox:"0 0 16 16",fill:"currentColor",height:12,width:12},children:[{type:"element",tagName:"path",properties:{fillRule:"evenodd",d:"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"},children:[]},{type:"element",tagName:"path",properties:{fillRule:"evenodd",d:"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"},children:[]}]},{type:"element",tagName:"svg",properties:{className:"octicon-check",ariaHidden:"true",viewBox:"0 0 16 16",fill:"currentColor",height:12,width:12},children:[{type:"element",tagName:"path",properties:{fillRule:"evenodd",d:"M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"},children:[]}]}]}))}var l;Z&&Z(e,t,n)}}],[Y.Z,{properties:"attr"}]].concat((0,a.Z)(w.rehypePlugins||[])),k={allowElement:function(e,t,n){return w.allowElement?w.allowElement(e,t,n):/^[A-Za-z0-9]+$/.test(e.tagName)}};f&&N.push(T.Z);var S=[].concat((0,a.Z)(w.remarkPlugins||[]),[I.Z]),E=(0,r.Z)({},M,g);return(0,p.jsx)("div",(0,r.Z)({ref:b,onScroll:h,onMouseOver:v},E,{className:j,style:c,children:(0,p.jsx)(H.D,(0,r.Z)({},k,w,{skipHtml:f,rehypePlugins:m?m("rehype",N):N,remarkPlugins:m?m("remark",S):S,children:s||""}))}))})),oe=["inline","node","components","data"],le=["data-meta","data-md"],Ce=["source","components","data","rehypeRewrite"],ae=P.ZP.Preview,se=P.ZP.Code,ce=P.ZP.Toolbar,de=(0,C.ZP)(ie)(G||(G=(0,o.Z)(["\n margin: 0 auto;\n box-shadow:\n rgb(8 15 41 / 8%) 0.5rem 0.5rem 2rem 0px,\n rgb(8 15 41 / 8%) 0px 0px 1px 0px;\n border: 1px solid var(--color-border-default, #30363d);\n text-align: left;\n max-width: 56rem;\n overflow: auto;\n padding: 2rem;\n border-radius: 0.55rem;\n"]))),ue=function(e){var t,n=e.inline,o=e.node,l=e.components,C=e.data,a=(0,i.Z)(e,oe),s=a,c=s["data-md"],d=(0,i.Z)(s,le);if(n||!(0,A.pN)(c))return(0,p.jsx)("code",(0,r.Z)({},a));var u=null==(t=o.position)?void 0:t.start.line,L=(0,A.Mx)(c)||String(u),f=l[""+L];if(L&&"function"===typeof f){var h=C[L].value||"",v=(0,A.aE)(c),m=v.title,Z=v.boreder,x=void 0===Z?1:Z,g=v.checkered,y=void 0===g?1:g,M=v.code,w=void 0===M?1:M,b=v.toolbar,j=void 0===b?1:b;return(0,p.jsxs)(P.ZP,{bordered:!!Number(x),disableCheckered:!Number(y),style:{marginBottom:16},children:[(0,p.jsx)(ae,{children:(0,p.jsx)(f,{})}),!!Number(j)&&(0,p.jsx)(ce,{text:h,visibleButton:!!Number(w),children:m||"Code Example"}),!!Number(w)&&(0,p.jsx)(se,{tagName:"pre",style:{marginBottom:0},children:(0,p.jsx)("code",(0,r.Z)({},d))})]})}return(0,p.jsx)("code",(0,r.Z)({},d))};function Le(e){var t=e.components,n=e.data,o=e.rehypeRewrite,l=(0,i.Z)(e,Ce);return(0,p.jsx)(de,(0,r.Z)({disableCopy:!0,rehypePlugins:[V.Z].concat((0,a.Z)(l.rehypePlugins||[]))},l,{rehypeRewrite:function(e,t,n){var r;if("element"===e.type&&"pre"===e.tagName&&null!=(r=e.children[0].data)&&r.meta){var i,l=null==(i=e.children[0].data)?void 0:i.meta;(0,A.pN)(l)&&(e.tagName="div",e.properties||(e.properties={}),e.properties["data-md"]=l,e.properties["data-meta"]="preview")}o&&o(e,t,n)},source:n.source,components:(0,r.Z)({},t,{div:function(e){return(0,p.jsx)(ue,(0,r.Z)({},e,{components:n.components,data:n.data}))}})}))}var fe,he,pe,ve,me,Ze=(0,C.F4)(Q||(Q=(0,o.Z)(["\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n"]))),xe=C.zo.svg(ee||(ee=(0,o.Z)(["\n color: var(--rmpe-logo-color, #61dafb);\n height: 8rem;\n margin-bottom: 3rem;\n pointer-events: none;\n animation: "," infinite 20s linear;\n"])),Ze),ge=(0,p.jsxs)(xe,{width:"100%",height:"100%",viewBox:"-10.5 -9.45 21 18.9",fill:"none",children:[(0,p.jsx)("circle",{cx:"0",cy:"0",r:"2",fill:"currentColor"}),(0,p.jsxs)("g",{stroke:"currentColor",strokeWidth:"1",fill:"none",children:[(0,p.jsx)("ellipse",{rx:"10",ry:"4.5"}),(0,p.jsx)("ellipse",{rx:"10",ry:"4.5",transform:"rotate(60)"}),(0,p.jsx)("ellipse",{rx:"10",ry:"4.5",transform:"rotate(120)"})]})]}),ye=["version","title","description","source","logo","components","data","markdownProps","exampleProps","className","children","disableCorners","disableDarkMode","disableHeader","disableBackToUp"],Me=C.zo.div(fe||(fe=(0,o.Z)(["\n max-width: 56rem;\n margin: 0 auto;\n padding: 2.3rem 3rem;\n display: flex;\n justify-content: center;\n"]))),we=C.zo.div(he||(he=(0,o.Z)(["\n padding-bottom: 12rem;\n"]))),be=C.zo.header(pe||(pe=(0,o.Z)(["\n padding: 6rem 0 2rem 0;\n text-align: center;\n h1 {\n font-weight: 900;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif,\n 'Apple Color Emoji', 'Segoe UI Emoji';\n }\n"]))),je=C.zo.sup(ve||(ve=(0,o.Z)(["\n font-weight: 200;\n font-size: 0.78rem;\n margin-left: 0.5em;\n margin-top: -0.3em;\n position: absolute;\n"]))),Ne=C.zo.p(me||(me=(0,o.Z)(["\n max-width: 460px;\n margin: 0 auto;\n color: var(--color-fg-subtle, #6e7781);\n"]))),ke=(0,l.forwardRef)((function(e,t){var n=e.version,o=e.title,C=e.description,a=e.source,s=e.logo,c=void 0===s?ge:s,d=e.components,u=e.data,L=e.markdownProps,f=e.exampleProps,h=e.className,v=void 0===h?"":h,Z=e.children,x=e.disableCorners,g=void 0!==x&&x,y=e.disableDarkMode,M=void 0!==y&&y,w=e.disableHeader,b=void 0!==w&&w,N=e.disableBackToUp,k=void 0!==N&&N,S=(0,i.Z)(e,ye),E=(0,l.useSyncExternalStore)(O,R);return(0,p.jsxs)(we,(0,r.Z)({className:"wmde-markdown-var "+v},S,{children:[!M&&(0,p.jsx)("dark-mode",(0,r.Z)({permanent:!0,style:{position:"fixed",top:8,left:12,zIndex:99,fontSize:28}},E.darkMode)),!g&&(0,p.jsx)(m,(0,r.Z)({fixed:!0,target:"__blank",zIndex:10},E.corners)),!b&&(0,p.jsxs)(be,{children:[c,o&&(0,p.jsxs)("h1",{children:[o,n&&(0,p.jsx)(je,{children:n})]}),C&&(0,p.jsx)(Ne,{children:C})]}),(0,p.jsx)("div",{}),E.example&&(0,p.jsx)(Me,(0,r.Z)({},f,{children:E.example})),(0,p.jsx)(Le,(0,r.Z)({},L,{source:a,data:{data:u,components:d,source:a}})),Z,!k&&(0,p.jsx)(j,{children:"Top"})]}))})),Se=ke;Se.Github=function(e){return(0,l.useEffect)((function(){return E((0,r.Z)({},e))}),[e]),null},Se.Corners=function(e){return(0,l.useEffect)((function(){return B((0,r.Z)({},e))}),[e]),null},Se.Example=function(e){var t=e.children;return(0,l.useEffect)((function(){return D(t)}),[t]),null};var Ee=Se},4768:function(e,t,n){"use strict";n.d(t,{R:function(){return f},sN:function(){return u},Wd:function(){return m},Ni:function(){return x},ZP:function(){return w}});var r=n(1026),i=n(5773),o=n(808),l=n(8573),C=n(6252),a=n(4760),s=["prefixCls","className","tagName","children","disabled","multiline","icon","text","active","addonAfter","isSubMenuItem"],c={href:void 0,onClick:void 0,onMouseDown:void 0,onMouseEnter:void 0,onMouseLeave:void 0,tabIndex:-1};function d(e,t){var n=e.prefixCls,r=void 0===n?"w-menu-item":n,d=e.className,u=e.tagName,L=void 0===u?"a":u,f=e.disabled,h=void 0!==f&&f,p=e.multiline,v=void 0!==p&&p,m=e.icon,Z=e.text,x=e.active,g=void 0!==x&&x,y=e.addonAfter,M=e.isSubMenuItem,w=(0,o.Z)(e,s),b=[r,g?"active":null,h?"w-disabled":null,d].filter(Boolean).join(" ").trim(),j=l.createElement(L,(0,i.Z)({},w,h?c:{},{className:b,ref:t}),(0,a.jsxs)(l.Fragment,{children:[(0,a.jsx)(C.Z,{className:r+"-icon",type:m}),(0,a.jsx)("div",{className:[r&&r+"-text",!v&&r+"-multiline"].filter(Boolean).join(" ").trim(),children:Z}),y]}));return M?j:(0,a.jsxs)("li",{children:[" ",j," "]})}var u=l.forwardRef(d);u.displayName="uiw.MenuItem";var L=["prefixCls","className","title"],f=l.forwardRef((function(e,t){var n=e.prefixCls,r=void 0===n?"w-menu-divider":n,l=e.className,C=e.title,s=(0,o.Z)(e,L),c=[r,l].filter(Boolean).join(" ").trim();return C?(0,a.jsx)("li",(0,i.Z)({},s,{ref:t,className:c,"data-menu":"divider",children:(0,a.jsx)("strong",{children:C})})):(0,a.jsx)("li",(0,i.Z)({},s,{ref:t,className:c}))}));f.displayName="uiw.MenuDivider";var h=n(9769),p=["prefixCls","className","disabled","overlayProps","children","collapse","inlineIndent","inlineCollapsed"];function v(e){var t=e.prefixCls,n=e.collapse,r=e.isOpen;return(0,l.useMemo)((function(){return(0,a.jsx)(C.Z,{type:"caret-right",className:[t?t+"-collapse-icon":null,!n&&r?"w-open":null,n||r?null:"w-close"].filter(Boolean).join(" ").trim()})}),[t,n,r])}var m=l.forwardRef((function(e,t){var n=e.prefixCls,C=void 0===n?"w-menu-subitem":n,s=e.className,c=e.disabled,d=e.overlayProps,L=void 0===d?{}:d,f=e.children,m=e.collapse,Z=void 0!==m&&m,y=e.inlineIndent,M=(0,o.Z)(e,p),w={},b={bordered:!0,children:f,inlineIndent:y,className:[C?C+"-overlay":null].filter(Boolean).join(" ").trim()},j=l.useRef(null),N=l.useRef(),k=l.useRef(),S=(0,l.useState)(!!L.isOpen),E=(0,r.Z)(S,2),B=E[0],D=E[1],R=(0,l.useContext)(x),O=R.height,z=R.setContextHeight,P=R.ele;return l.useEffect((function(){if(N.current&&N.current.style&&P===k.current){var e=Number(N.current.style.height.substr(0,N.current.style.height.length-2));N.current.getBoundingClientRect().heighth.height&&(a.placement=i.replace(/^top/,"bottom"),a.top=a.top+h.height+f.height),i&&/^(bottom)/.test(i)&&ph.height&&(a.placement=i.replace(/^bottom/,"top"),a.top=a.top-h.height-f.height),i&&/^(right)/.test(i)&&v0){var e,t=(0,r.Z)(T.current);try{for(t.s();!(e=t.n()).done;){var n=e.value;window.clearTimeout(n)}}catch(i){t.e(i)}finally{t.f()}T.current=[]}}function ne(){var t;te(),W.current="show";var n=b(e.delay);if(n.show||null!=(t=e.children)&&t.props.disabled){var r=window.setTimeout((function(){"show"===W.current&&le()}),n.show);clearTimeout(r),T.current.push(r)}else le()}function re(t){if(te(),t||!e.isOutside){W.current="hide";var n=b(e.delay);if(n.hide){var r=window.setTimeout((function(){"hide"===W.current&&oe()}),n.hide);T.current.push(r)}else oe()}}function ie(e,t,n){var r=t.currentTarget,i=t.relatedTarget||t.nativeEvent[n],o=!0;(I.current&&u(I.current,i)||H.current&&u(H.current,i))&&(o=!1),i&&i===r||u(r,i)||e(o,t)}function oe(){V&&(A.current<=999?A.current=999:A.current-=1,K(!1))}function le(){var e;if(!V){var t=null==(e=H.current)?void 0:e.style.zIndex;t?A.current=Number(t)+1:A.current+=1,K(!0)}}return"click"!==g||Z||(G.onClick=function(e){var t=(X&&C.isValidElement(X)?X.props:{}).onClick;V?oe():le(),t&&t(e,!V)}),"focus"!==g||Z||(G.onFocus=function(){return ne()}),"hover"!==g||Z||(G.onMouseOver=G.onMouseEnter=function(e){ie(ne,e,"fromElement")},G.onMouseOut=G.onMouseLeave=function(e){ie(re,e,"toElement")},_.dialogProps&&(_.dialogProps.onMouseLeave=function(e){ie(re,e,"toElement")})),_.style=(0,o.Z)({},_.style,U),(0,M.jsxs)(C.Fragment,{children:[(0,C.cloneElement)(X,Object.assign({},X.props,(0,o.Z)({},G,{ref:H,style:(0,o.Z)({},null==(n=X.props)?void 0:n.style,{zIndex:A.current}),className:[X.props.className,Z?L+"-disabled":null].filter(Boolean).join(" ").trim()}))),(0,M.jsx)(s.Z,(0,o.Z)({},_,{style:(0,o.Z)({},_.style,U),onEnter:function(e,t){z&&z(e,t);var n=y({placement:U.placement||N,trigger:H.current,popup:I.current,usePortal:h,autoAdjustOverflow:k});J((0,o.Z)({},n,{zIndex:A.current}))},className:[L,c,U.placement].filter(Boolean).join(" ").trim(),usePortal:h,transitionName:S,isOpen:V,hasBackdrop:!1,children:(0,C.cloneElement)(B,Object.assign((0,o.Z)({},B.props,{ref:I,className:[B.props&&B.props.className,N].filter(Boolean).join(" ").trim()})))}))]})}))},7572:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(1026),i=n(5773),o=n(808),l=n(8573),C=n(4366),a=n(7824),s=n(7408),c=n(4760),d=["className","style","isOpen","prefixCls","usePortal","maskClosable","backdropProps","portalProps","hasBackdrop","unmountOnExit","timeout","transitionName","onOpening","onOpened","onClosing","onClosed","onClose","onEnter","onExiting","onEntering","onEntered","onExit","children","dialogProps"];function u(e){var t=e.className,n=e.style,u=(e.isOpen,e.prefixCls),L=void 0===u?"w-overlay":u,f=e.usePortal,h=void 0===f||f,p=e.maskClosable,v=void 0===p||p,m=e.backdropProps,Z=void 0===m?{}:m,x=e.portalProps,g=void 0===x?{}:x,y=e.hasBackdrop,M=void 0===y||y,w=e.unmountOnExit,b=void 0===w||w,j=e.timeout,N=void 0===j?300:j,k=e.transitionName,S=void 0===k?"w-overlay":k,E=e.onOpening,B=void 0===E?s.Z:E,D=e.onOpened,R=void 0===D?s.Z:D,O=e.onClosing,z=void 0===O?s.Z:O,P=e.onClosed,A=void 0===P?s.Z:P,H=e.onClose,I=void 0===H?s.Z:H,T=e.onEnter,W=void 0===T?s.Z:T,F=e.onExiting,Y=void 0===F?s.Z:F,V=e.onEntering,K=void 0===V?s.Z:V,q=e.onEntered,$=void 0===q?s.Z:q,U=e.onExit,J=void 0===U?s.Z:U,X=e.children,_=e.dialogProps,G=void 0===_?{}:_,Q=(0,o.Z)(e,d),ee=(0,l.useState)(),te=(0,r.Z)(ee,2),ne=te[0],re=te[1],ie=(0,l.useState)(!1),oe=(0,r.Z)(ie,2),le=oe[0],Ce=oe[1],ae=(0,l.useRef)(null),se=(0,l.useRef)(null);(0,l.useEffect)((function(){ne!==e.isOpen&&e.isOpen&&Ce(!0),ne===e.isOpen||e.isOpen||(ue(),re(!1))}),[e.isOpen]),(0,l.useEffect)((function(){le&&(M&&h&&document.body.classList.add(L+"-open"),re(!0))}),[le]);var ce="object"===typeof X?(0,l.cloneElement)(X,(0,i.Z)({},G,{style:(0,i.Z)({},X.props.style,G.style),className:[X.props.className,L+"-content"].filter(Boolean).join(" ").trim(),tabIndex:0})):(0,c.jsx)("span",(0,i.Z)({},G,{className:L+"-content",children:X}));function de(e){e.target!==ae.current&&h||(v&&M&&(ue(),re(!1),I&&I(e)),Z&&Z.onMouseDown&&Z.onMouseDown(e))}function ue(){M&&h&&document.body.classList.remove(L+"-open")}var Le=(0,c.jsx)(C.Z,(0,i.Z)({classNames:S,unmountOnExit:b,timeout:N,in:ne,onEnter:function(e){W(se.current,e)},onEntering:function(e){B(se.current,e),K(se.current)},onEntered:function(e){R(se.current,e),$(se.current)},onExiting:function(){z(se.current),Y(se.current)},onExited:function(){var e;e=se.current,Ce(!1),A&&A(e),J(se.current)},nodeRef:se},Q,{children:function(e){return(0,c.jsxs)("div",{style:n,ref:se,className:[L,t,h?null:L+"-inline",ne?L+"-enter-done":null].filter(Boolean).join(" ").trim(),children:[M&&(0,l.cloneElement)((0,c.jsx)("div",{}),(0,i.Z)({},Z,{onMouseDown:de,className:[L+"-backdrop",Z.className].filter(Boolean).join(" ").trim(),tabIndex:v?0:null})),h?(0,c.jsx)("div",{ref:ae,onMouseDown:de,className:L+"-container",children:(0,l.cloneElement)(ce,{"data-status":e})}):(0,l.cloneElement)(ce,{"data-status":e})]})}}));return le&&h?(0,c.jsx)(a.Z,(0,i.Z)({},(0,i.Z)({},g),{children:Le})):Le}},8024:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});var r=n(1026),i=n(5773),o=n(808),l=n(8573),C=n(3781),a=n(4760),s=["className","style","prefixCls","alignment","size","total","pageSize","pageSizeOptions","current","onChange","onShowSizeChange","divider"];function c(e){var t=e.className,n=e.style,c=e.prefixCls,d=void 0===c?"w-pagination":c,u=e.alignment,L=void 0===u?"left":u,f=e.size,h=void 0===f?"default":f,p=e.total,v=void 0===p?0:p,m=e.pageSize,Z=void 0===m?10:m,x=e.pageSizeOptions,g=void 0===x?[]:x,y=e.current,M=void 0===y?1:y,w=e.onChange,b=void 0===w?function(){return null}:w,j=e.onShowSizeChange,N=e.divider,k=(0,o.Z)(e,s),S=(0,l.useState)(M),E=(0,r.Z)(S,2),B=E[0],D=E[1];(0,l.useEffect)((function(){return D(M)}),[M]);var R=[d,t,N?"divider":null,h].filter(Boolean).join(" ").trim(),O=(0,l.useMemo)((function(){var e=[{type:"prev",disabled:1===B}],t=Math.ceil(v/Z),n=t<=5?t:5,r=0,i=0;for(B>3&&t>5&&e.push({label:1}),B>4&&t>6&&e.push({type:"jumpPrev",label:"\u2022\u2022\u2022",goto:5});r3&&t>5&&(i=B-3);var o=(r+=1)+i;t-B===0&&t>5&&(o-=2),t-B===1&&t>5&&(o-=1),o<=t&&e.push({label:o,active:B===o})}return B+36&&e.push({type:"jumpNext",label:"\u2022\u2022\u2022",goto:5}),B+25&&e.push({label:t}),e.push({type:"next",disabled:B===t}),e}),[B,v,Z]);return(0,a.jsxs)("ul",(0,i.Z)({className:R,style:(0,i.Z)({},n,{textAlign:L})},k,{children:[O.map((function(e,t){var n=(0,a.jsx)("a",{children:e.label});return/^(prev|next)$/.test(e.type)&&(n=(0,a.jsx)("a",{className:"arrow "+e.type})),(0,a.jsx)("li",{className:[e.active?"active":null,e.disabled?"disabled":null].filter(Boolean).join(" ").trim(),onClick:function(){return function(e){if(!e.active&&!e.disabled){var t=Math.ceil(v/Z),n={};e.label&&(n.current=e.label),"prev"===e.type&&(n.current=B-1>0?B-1:1),"next"===e.type&&(n.current=B+1<=t?B+1:t),/^(jumpPrev|jumpNext)/.test(e.type)&&e.goto&&(n.current="jumpPrev"===e.type?B-e.goto:B+e.goto,n.current>t&&(n.current=t),n.current<1&&(n.current=1)),D(n.current),b&&b(n.current,v,Z)}}(e)},children:n},t)})),g.length>0&&(0,a.jsx)("li",{className:d+"-options",children:(0,a.jsx)(C.Z,{size:h,defaultValue:Z,onChange:function(e){var t=Number(e.target.value),n=Math.ceil(v/t);j&&j(B>n?n:B,t)},children:g.map((function(e,t){return(0,a.jsxs)(C.Z.Option,{value:e,children:[e,"\u6761/\u9875"]},t)}))})})]}))}},5186:function(e,t,n){"use strict";n.d(t,{Z:function(){return L}});var r=n(649),i=n(1026),o=n(5773),l=n(808),C=n(8573),a=n(7408),s=n(6647),c=n(4760),d=["prefixCls","placeholder","value","autoFocus","className","size","style","disabled","onChange","onBlur","onFocus"];function u(e,t){void 0===e&&(e={});var n=e,u=n.prefixCls,L=void 0===u?"w-pin-code":u,f=n.placeholder,h=void 0===f?"\u25cb":f,p=n.value,v=void 0===p?[]:p,m=n.autoFocus,Z=n.className,x=n.size,g=void 0===x?"default":x,y=n.style,M=n.disabled,w=n.onChange,b=void 0===w?a.Z:w,j=n.onBlur,N=void 0===j?a.Z:j,k=n.onFocus,S=void 0===k?a.Z:k,E=(0,l.Z)(e,d),B=(0,C.useState)({}),D=(0,i.Z)(B,1)[0],R=(0,C.useState)(h),O=(0,i.Z)(R,2),z=O[0],P=O[1],A=(0,C.useState)(v),H=(0,i.Z)(A,2),I=H[0],T=H[1],W=[L,Z,g?L+"-"+g:null,M?"disabled":null].filter(Boolean).join(" ").trim();function F(e){P(h),N(e)}function Y(e){P(""),S(e)}return(0,C.useEffect)((function(){I!==v&&b(I)}),[I]),(0,c.jsx)("div",(0,o.Z)({className:W,style:y},E,{ref:t,children:(0,r.Z)(I).map((function(e,t){var n={min:0,type:"text",inputMode:"numeric",autoComplete:"off",value:e,onChange:function(e){return function(e,t){var n=e.target.value;n=n.charAt(n.length-1);var i=(0,r.Z)(I);Number(n)>-1&&n?(e.currentTarget.value=n,i[t]=n,D[t+1]&&D[t+1].focus(),T(i)):n||(i[t]="",T(i))}(e,t)},onKeyDown:function(e){return function(e,t){var n=e.currentTarget.value,r=e.key.toLocaleLowerCase();!n&&D[t-1]&&/(backspace|delete)/.test(r)&&D[t-1].focus()}(e,t)},onBlur:function(e){return F(e)},onFocus:function(e){return Y(e)},className:L+"-inner",placeholder:z,disabled:M,size:g};return m&&0===t&&(n.autoFocus=!0),(0,C.createElement)(s.Z,(0,o.Z)({ref:function(e){e&&(D[t]=e)}},n,{key:t}))}))}))}var L=C.forwardRef(u)},6658:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(2951),i=n(1976),o=n(7591),l=n(9616),C=n(5773),a=n(808),s=n(8573),c=n(9769),d=n(1026),u=n(3612),L=n(6252),f=n(4760);var h=["prefixCls","className","content","visibleArrow"],p=function(e){(0,o.Z)(n,e);var t=(0,l.Z)(n);function n(){var e;return(0,r.Z)(this,n),(e=t.apply(this,arguments)).renderArrow=function(){var t=e.props.prefixCls;return(0,f.jsx)("div",{className:t+"-arrow",children:(0,f.jsxs)("svg",{viewBox:"0 0 30 30",children:[(0,f.jsx)("path",{fillOpacity:"0.2",d:"M8.11 6.302c1.015-.936 1.887-2.922 1.887-4.297v26c0-1.378-.868-3.357-1.888-4.297L.925 17.09c-1.237-1.14-1.233-3.034 0-4.17L8.11 6.302z"}),(0,f.jsx)("path",{fill:"#fff",d:"M8.787 7.036c1.22-1.125 2.21-3.376 2.21-5.03V0v30-2.005c0-1.654-.983-3.9-2.21-5.03l-7.183-6.616c-.81-.746-.802-1.96 0-2.7l7.183-6.614z"})]})})},e}return(0,i.Z)(n,[{key:"render",value:function(){var e=this.props,t=e.prefixCls,n=e.className,r=e.visibleArrow,i=(0,a.Z)(e,h),o=[t,n,r?null:"no-arrow"].filter(Boolean).join(" ").trim();return(0,f.jsx)(c.Z,(0,C.Z)({},i,{overlay:(0,f.jsxs)("div",{className:o,children:[r&&this.renderArrow(),(0,f.jsx)("div",{className:t+"-inner",children:this.props.content})]}),children:"object"===typeof this.props.children&&"Icon"!==this.props.children.type.name?this.props.children:(0,f.jsx)("span",{style:{display:"block",writingMode:"vertical-rl"},children:this.props.children})}))}}]),n}(s.Component);p.Confirm=function(e){var t=e.trigger,n=void 0===t?"click":t,r=e.placement,i=void 0===r?"top":r,o=e.confirmText,l=void 0===o?"Yes":o,C=e.title,a=e.cancelText,c=void 0===a?"No":a,h=e.visibleArrow,v=e.children,m=e.onConfirm,Z=(0,s.useState)(!1),x=(0,d.Z)(Z,2),g=x[0],y=x[1];return(0,f.jsx)(p,{isOpen:g,visibleArrow:h,content:(0,f.jsxs)("div",{style:{padding:"12px 16px",position:"relative"},children:[(0,f.jsx)(L.Z,{type:"information",style:{position:"absolute",top:13.5,fontSize:14,transform:"rotate(180deg)",color:"#faad14"}}),(0,f.jsxs)("div",{style:{paddingLeft:20},children:[(0,f.jsx)("div",{style:{fontSize:14},children:C}),(0,f.jsxs)("div",{style:{position:"relative",bottom:0,marginTop:12,display:"flex",justifyContent:"end"},children:[(0,f.jsx)(u.Z,{size:"small",onClick:function(){return y(!1)},children:c}),(0,f.jsx)(u.Z,{size:"small",type:"primary",style:{marginLeft:10},onClick:function(){null==m||m(),y(!1)},children:l})]})]})]}),trigger:n,placement:i,children:(0,f.jsx)("div",{onClick:function(){return y(!0)},children:v})})},p.defaultProps={prefixCls:"w-popover",placement:"top",usePortal:!0,isOpen:!1,visibleArrow:!0}},7824:function(e,t,n){"use strict";n.d(t,{N:function(){return o},Z:function(){return l}});var r=n(8573),i=n(6836),o=!("undefined"===typeof window||!window.document||!window.document.createElement);function l(e){var t=e.container,n=(0,r.useRef)(),l=(0,r.useRef)(t);return(0,r.useEffect)((function(){return function(){n.current&&l.current&&(l.current.removeChild(n.current),n.current=void 0)}}),[]),o?(l.current||(l.current=document.body),n.current||(n.current=document.createElement("div"),l.current.appendChild(n.current)),i.createPortal(e.children,n.current)):null}},8125:function(e,t,n){"use strict";n.d(t,{Cd:function(){return f},x1:function(){return p},ZP:function(){return v}});var r=n(2951),i=n(1976),o=n(7591),l=n(9616),C=n(5773),a=n(808),s=n(8573),c=n(6252),d=n(4760);function u(e){return(0,d.jsx)(c.Z,{type:e.type})}var L=["prefixCls","style","type","className","showText","percent","format","strokeWidth","width","status"],f=function(e){(0,o.Z)(n,e);var t=(0,l.Z)(n);function n(){return(0,r.Z)(this,n),t.apply(this,arguments)}return(0,i.Z)(n,[{key:"relativeStrokeWidth",value:function(e,t){var n=this.props,r=n.strokeWidth,i=n.percent;if(t&&t.parentNode){var o=(r/t.parentNode.getBoundingClientRect().width*100).toFixed(1),l=parseInt((50-parseFloat(o)/2).toString(),10);if(t.setAttribute("stroke-width",o),t.setAttribute("d","M 50 50 m 0 -"+l+" a "+l+" "+l+" 0 1 1 0 "+2*l+" a "+l+" "+l+" 0 1 1 0 -"+2*l),"track"===e){var C=2*Math.PI*l;t.setAttribute("style","stroke-dasharray:"+C+"px,"+C+"px;stroke-dashoffset:"+(1-i/100)*C+"px;transition: stroke-dashoffset 0.6s ease 0s, stroke 0.6s ease;")}}}},{key:"render",value:function(){var e,t=this.props,n=t.prefixCls,r=t.style,i=t.className,o=t.showText,l=t.percent,s=t.format,c=t.width,f=t.status,h=(0,a.Z)(t,L),p=[n,i,n+"-circle",o?n+"-show-text":null,f?n+"-status-"+f:null,parseInt(l.toString(),10)>=100?n+"-status-success":null].filter(Boolean).join(" ").trim(),v=parseInt(l.toString(),10)>=100&&!("status"in this.props)?"success":f;if(o){var m=l+"%";"exception"===v?m=(0,d.jsx)(u,{type:"close"}):"success"===v&&(m=(0,d.jsx)(u,{type:"check"})),e=(0,d.jsx)("span",{className:n+"-text",style:{fontSize:.16*c+6},children:s?s(l):m})}return(0,d.jsxs)("div",(0,C.Z)({className:p,style:r},h,{children:[(0,d.jsxs)("svg",{viewBox:"0 0 100 100",width:""+c,children:[(0,d.jsx)("path",{ref:this.relativeStrokeWidth.bind(this,"bg"),className:n+"-trail",fill:"none"}),(0,d.jsx)("path",{ref:this.relativeStrokeWidth.bind(this,"track"),strokeLinecap:"round",className:n+"-stroke",fill:"none"})]}),e]}))}}]),n}(s.Component);f.defaultProps={prefixCls:"w-progress",showText:!0,percent:0,width:126,strokeWidth:6};var h=["prefixCls","style","className","showText","percent","format","strokeWidth","width","status"],p=function(e){(0,o.Z)(n,e);var t=(0,l.Z)(n);function n(){return(0,r.Z)(this,n),t.apply(this,arguments)}return(0,i.Z)(n,[{key:"render",value:function(){var e,t=this.props,n=t.prefixCls,r=t.style,i=t.className,o=t.showText,l=t.percent,s=t.format,c=t.strokeWidth,L=t.status,f=(0,a.Z)(t,h),p=[n,i,n+"-line",o?n+"-show-text":null,L?n+"-status-"+L:null,parseInt(l.toString(),10)>=100?n+"-status-success":null].filter(Boolean).join(" ").trim();if(o){var v=parseInt(l.toString(),10)>=100&&!("status"in this.props)?"success":L,m=l+"%";"exception"===v?m=(0,d.jsx)(u,{type:"circle-close"}):"success"===v&&(m=(0,d.jsx)(u,{type:"circle-check"})),e=(0,d.jsx)("span",{className:n+"-text",children:s?s(l):m})}var Z={width:l+"%",height:c};return(0,d.jsxs)("div",(0,C.Z)({className:p,style:r},f,{children:[(0,d.jsx)("div",{className:n+"-bar",children:(0,d.jsx)("div",{className:n+"-inner",children:(0,d.jsx)("div",{className:n+"-bg",style:Z})})}),e]}))}}]),n}(s.Component);p.defaultProps={prefixCls:"w-progress",showText:!0,percent:0,width:126,strokeWidth:6};var v={Line:p,Circle:f}},2266:function(e,t,n){"use strict";n.d(t,{Y8:function(){return c},Rw:function(){return s},EU:function(){return v},Ee:function(){return L}});var r=n(5773),i=n(8573),o=n(1026),l=n(808),C=n(4760),a=["prefixCls","type","disabled","value","className","style","children","size","checked","onChange"],s=i.forwardRef((function(e,t){var n=e.prefixCls,s=void 0===n?"w-radio":n,c=e.type,d=void 0===c?"radio":c,u=e.disabled,L=void 0!==u&&u,f=e.value,h=void 0===f?"":f,p=e.className,v=e.style,m=e.children,Z=e.size,x=e.checked,g=void 0!==x&&x,y=e.onChange,M=(0,l.Z)(e,a),w=(0,i.useState)(g),b=(0,o.Z)(w,2),j=b[0],N=b[1],k=(0,i.useState)(),S=(0,o.Z)(k,2),E=S[0],B=S[1];g!==E&&B(g),(0,i.useMemo)((function(){g!==E&&N(g)}),[E]);var D=[s,p,L?"disabled":null,Z?s+"-"+Z:null].filter(Boolean).join(" ").trim();(0,i.useMemo)((function(){j!==e.checked&&N(!!e.checked)}),[e.checked]);var R=m||h;return(0,C.jsxs)("label",{className:D,style:v,children:[(0,C.jsx)("input",(0,r.Z)({},(0,r.Z)({},M,{type:d,disabled:L,value:h}),{checked:j,onChange:function(e){e.persist(),N(e.target.checked),y&&y(e)},ref:t})),R&&(0,C.jsx)("div",{className:s+"-text",children:R})]})})),c=i.forwardRef((function(e,t){return(0,C.jsx)(s,(0,r.Z)({ref:t},e))})),d=n(7002),u=["prefixCls","className","name","value","onChange","children"],L=i.forwardRef((function(e,t){var n=e.prefixCls,o=void 0===n?"w-radio-group":n,a=e.className,s=e.name,c=e.value,L=e.onChange,f=e.children,h=(0,l.Z)(e,u);return(0,C.jsx)("div",(0,r.Z)({},h,{ref:t,className:[o,a].filter(Boolean).join(" ").trim(),children:(0,C.jsx)(d.Z,{children:i.Children.toArray(f).map((function(e){if(e)return i.isValidElement(e)?i.cloneElement(e,(0,r.Z)({},e.props||{},{checked:e.props.value===c,name:s,onChange:L})):e}))})}))})),f=n(3612),h=["prefixCls","type","disabled","value","className","style","children","size","checked","onChange"],p=i.forwardRef((function(e,t){var n=e.prefixCls,a=void 0===n?"w-radio":n,s=(e.type,e.disabled),c=void 0!==s&&s,d=e.value,u=void 0===d?"":d,L=e.className,p=e.style,v=e.children,m=e.size,Z=void 0===m?"small":m,x=e.checked,g=void 0!==x&&x,y=e.onChange,M=(0,l.Z)(e,h),w=(0,i.useState)(g),b=(0,o.Z)(w,2),j=b[0],N=b[1],k=(0,i.useState)(),S=(0,o.Z)(k,2),E=S[0],B=S[1];g!==E&&B(g),(0,i.useMemo)((function(){g!==E&&N(g)}),[E]);var D=[a,L,c?"disabled":null,Z?a+"-"+Z:null].filter(Boolean).join(" ").trim();(0,i.useMemo)((function(){j!==e.checked&&N(!!e.checked)}),[e.checked]),console.log("props.checked",e.checked);var R=v||u;return(0,C.jsx)(f.Z,(0,r.Z)({},(0,r.Z)({},M,{className:D,style:p,disabled:c,value:u}),{type:j?"primary":"light",ref:t,onClick:function(e){e.persist(),j||(N(!j),y&&y(u))},children:R}))})),v=p},2717:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(649),i=n(1026),o=n(5773),l=n(808),C=n(8573),a=n(7408),s=n(4760),c=["prefixCls","count","value","className","allowHalf","character","readOnly","disabled","onChange","onHoverChange","color"];function d(e){void 0===e&&(e={});var t=e,n=t.prefixCls,d=void 0===n?"w-rate":n,u=t.count,L=void 0===u?5:u,f=t.value,h=void 0===f?0:f,p=t.className,v=t.allowHalf,m=t.character,Z=void 0===m?"\u2605":m,x=t.readOnly,g=void 0!==x&&x,y=t.disabled,M=t.onChange,w=void 0===M?a.Z:M,b=t.onHoverChange,j=void 0===b?a.Z:b,N=t.color,k=(0,l.Z)(e,c),S=(0,C.useState)(h),E=(0,i.Z)(S,2),B=E[0],D=E[1],R=(0,C.useState)(-1),O=(0,i.Z)(R,2),z=O[0],P=O[1],A=[d,p,y?"disabled":null].filter(Boolean).join(" ").trim(),H=(0,C.useState)(),I=(0,i.Z)(H,2),T=I[0],W=I[1];function F(e,t){e.persist();var n=t,r=e.clientX-e.currentTarget.getBoundingClientRect().left<=e.currentTarget.getBoundingClientRect().width/2;return v?(e.persist(),n=r?t+.5:t+1):n=t+1,n}return h!==T&&W(h),(0,C.useMemo)((function(){B!==T&&D(h)}),[T]),(0,s.jsx)("div",(0,o.Z)({},k,{className:A,onMouseLeave:function(){P(-1)},children:(0,r.Z)(Array(L)).map((function(e,t){var n=B<=t+.5&&Math.ceil(B)-1===t&&-1===z||z===t+.5,r=[d+"-hight",t+1<=B&&-1===z?"star-on":null,t+1<=z?"hover-on":null,n?"half-on":null].filter(Boolean).join(" ").trim(),i={};return g||(i.onClick=function(e){return function(e,t){if(!g){var n=F(e,t);D(n),w(n)}}(e,t)},i.onMouseMove=function(e){return function(e,t){var n=F(e,t);z!==n&&(P(n),j(n))}(e,t)}),(0,s.jsxs)("span",(0,o.Z)({},i,{children:[(0,s.jsx)("span",{style:{color:N},className:r,children:Z}),(0,s.jsx)("span",{className:d+"-bg",children:Z})]}),t)}))}))}},5271:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(649),i=n(1026),o=n(5773),l=n(808),C=n(8573),a=n(4463),s=n(6252),c=n(4768),d=n(6647),u=n(8321),L=n(4760),f=["allowClear","disabled","valueAmount","size","option","maxTagCount","loading","labelInValue","prefixCls","className","mode","style","isOpen","value","defaultValue","showSearch","tagProps","placeholder","onSearch","onChange","onSelect"],h={large:25,default:20,small:17};function p(e){var t,n=e.allowClear,p=void 0!==n&&n,v=e.disabled,m=void 0!==v&&v,Z=e.valueAmount,x=e.size,g=void 0===x?"default":x,y=e.option,M=void 0===y?[]:y,w=e.maxTagCount,b=e.loading,j=void 0!==b&&b,N=e.labelInValue,k=void 0!==N&&N,S=e.prefixCls,E=void 0===S?"w-search-select":S,B=e.className,D=e.mode,R=void 0===D?"single":D,O=e.style,z=e.value,P=e.defaultValue,A=e.showSearch,H=void 0!==A&&A,I=e.tagProps,T=void 0===I?{}:I,W=e.placeholder,F=e.onSearch,Y=e.onChange,V=e.onSelect,K=(0,l.Z)(e,f),q=[E,B].filter(Boolean).join(" ").trim(),$=(0,C.useMemo)((function(){return"multiple"===R}),[R]),U=(0,C.useState)(!1),J=(0,i.Z)(U,2),X=J[0],_=J[1],G=(0,C.useState)([]),Q=(0,i.Z)(G,2),ee=Q[0],te=Q[1],ne=(0,C.useState)(""),re=(0,i.Z)(ne,2),ie=re[0],oe=re[1],le=(0,C.useState)(""),Ce=(0,i.Z)(le,2),ae=Ce[0],se=Ce[1],ce=(0,C.useRef)(null),de=(0,C.useMemo)((function(){return w&&ee.length>w?ee.length-w:0}),[ee.length]),ue=(0,C.useRef)(null),Le=(0,C.useRef)(null),fe=C.useState(180),he=(0,i.Z)(fe,2),pe=he[0],ve=he[1],me=function(e){return void 0!==e&&""!==e},Ze=(0,C.useRef)();Ze.current=(0,C.useMemo)((function(){return ee}),[ee]),(0,C.useEffect)((function(){!me(z)&&me(P)&&ge(P)}),[]),(0,C.useEffect)((function(){m&&_(!1)}),[m]),(0,C.useEffect)((function(){me(z)?ge(z):(te([]),oe(""))}),[JSON.stringify(z)]);var xe=function(e,t){return e.find((function(e){return e.value===t}))};function ge(e){var t=[];if(k)Array.isArray(e)?t=e:t.push(e);else if(Array.isArray(e))t=e.map((function(e){return xe(M,e)})).filter((function(e){return!!e}));else{var n=xe(M,e);n&&(oe(n.label),t.push(n))}!$&&t.length>0&&oe(t[0].label||""),te(t.slice(0,Z))}var ye=function(e){oe(e),H&&(null==F||F(e))};function Me(e,t){var n=-1!==e?function(e){var t=Ze.current;return t.splice(e,1),(0,r.Z)(t)}(e):[].concat((0,r.Z)(ee.slice(0,Z?Z-1:void 0)),[t]),i=n.map((function(e){return e.value}));we(i,n)}function we(e,t){oe(""),V&&V(e),ke(e,t),void 0===z&&te(t)}function be(e){var t;t="enter"===e&&p&&(ee.length>0||ie)?"close":"",se(t)}function je(e){_(!0),se(H&&e?"loading":""),ye(e)}function Ne(e){var t;e.stopPropagation(),null==(t=ce.current)||t.focus(),te([]),je(""),_(!1),ke("",[])}function ke(e,t){Y&&Y(k?t:e)}return C.useEffect((function(){var e,t;null!=(e=Le.current)&&e.clientWidth&&ve(null==(t=Le.current)?void 0:t.clientWidth)}),[Le.current]),(0,L.jsx)(a.Z,(0,o.Z)({className:q,trigger:"click",style:{marginTop:5},overlayStyl:{width:100},disabled:m},K,{onVisibleChange:function(e){var t=Ze.current;_(e),e||ye(""),!$&&t.length>0&&oe(t[0].label)},isOpen:X,menu:(0,L.jsx)(c.ZP,{bordered:!0,style:{minHeight:25,maxHeight:280,minWidth:null!=(t=null==O?void 0:O.width)?t:200,overflowY:"scroll",width:null==O?void 0:O.width},children:M&&0!==M.length?M.map((function(e){var t=ee.findIndex((function(t){return t.value===e.value}));return(0,L.jsx)(c.ZP.Item,{active:-1!==t,text:e.label,onClick:function(){return $?Me(t,e):function(e){_(!1);var t=[e];oe(e.label),we(e.value,t)}(e)}},t)})):(0,L.jsx)("div",{style:{color:"#c7c7c7",fontSize:12},children:j?"\u6b63\u5728\u52a0\u8f7d\u6570\u636e...":"\u6ca1\u6709\u6570\u636e"})}),children:(0,L.jsx)("div",{ref:ue,onMouseOver:function(){return be("enter")},onMouseLeave:function(){return be("leave")},onClick:function(){var e;return null==(e=ce.current)?void 0:e.focus()},style:(0,o.Z)({width:"100%",maxWidth:"none"},O),children:$?(0,L.jsxs)("div",{className:[E+"-inner",E+"-search-"+H,E+"-"+g].filter(Boolean).join(" ").trim(),children:[(0,L.jsxs)("div",{ref:Le,className:[E+"-tag-content",m&&E+"-tag-content-disabled"].filter(Boolean).join(" ").trim(),children:[$&&ee.slice(0,w).map((function(e,t){return(0,L.jsx)(u.Z,(0,o.Z)({style:(0,o.Z)({height:h[g],margin:1,display:"flex",alignItems:"center"},T.style),color:"#393E48"},T,{closable:!0,disabled:m,onClose:function(n){n.stopPropagation(),Me(t,e)},children:(0,L.jsx)("span",{style:{maxWidth:pe-63,textOverflow:"ellipsis",overflow:"auto"},children:e.label})}),t)})),!!de&&(0,L.jsxs)(u.Z,{style:{height:20,margin:1,display:"flex",alignItems:"center"},disabled:!0,children:["+",de," \u2026"," "]}),(0,L.jsx)(d.Z,{style:{flex:1,width:H?0:50},className:E+"-input-contents",readOnly:!H,size:g,ref:ce,disabled:m,onKeyDown:function(e){$&&ee.length>0&&!ie&&8===e.keyCode&&Me(ee.length-1)},onChange:function(e){return je(e.target.value)},value:ie,placeholder:ee.length?"":W})]}),!m&&("close"===ae||"loading"===ae&&j)&&(0,L.jsx)(s.Z,{className:E+"-multiple-colse",type:ae,spin:j&&"loading"===ae,onClick:Ne})]}):(0,L.jsx)(d.Z,{className:E+"-search-"+H,readOnly:!H,size:g,ref:ce,disabled:m,onChange:function(e){return je(e.target.value)},value:ie,placeholder:W,addonAfter:!m&&("close"===ae||"loading"===ae&&j)&&(0,L.jsx)(s.Z,{type:ae,className:E+"-singe-colse",color:"#393e48",spin:j&&"loading"===ae,onClick:Ne})})})}))}},6855:function(e,t,n){"use strict";n.d(t,{Z:function(){return y}});var r=n(649),i=n(1026),o=n(808),l=n(5773),C=n(8573),a=n(4463),s=n(6252),c=n(6647),d=n(8321),u=n(3739),L=n(2485),f=n(4760),h={large:25,default:20,small:17};var p=function(e){var t=e.prefixCls,n=void 0===t?"w-search-tree":t,o=e.size,p=void 0===o?"default":o,v=e.disabled,m=void 0!==v&&v,Z=e.allowClear,x=void 0!==Z&&Z,g=e.loading,y=void 0!==g&&g,M=e.selectCloseDrop,w=void 0!==M&&M,b=e.className,j=e.style,N=e.placeholder,k=e.tagProps,S=void 0===k?{}:k,E=e.content,B=e.options,D=e.values,R=e.onChange,O=e.onSearch,z=e.emptyOption,P=[n,b].filter(Boolean).join(" ").trim(),A=(0,C.useState)(!1),H=(0,i.Z)(A,2),I=H[0],T=H[1],W=(0,C.useState)(D),F=(0,i.Z)(W,2),Y=F[0],V=F[1],K=(0,C.useRef)(),q=(0,C.useState)(""),$=(0,i.Z)(q,2),U=$[0],J=$[1];K.current=(0,C.useMemo)((function(){return Y}),[Y]);var X=(0,C.useState)(""),_=(0,i.Z)(X,2),G=_[0],Q=_[1],ee=(0,C.useRef)(null);function te(e){var t="enter"===e&&x&&(Y.length||U)?"close":"";Q(t)}(0,C.useEffect)((function(){V(D)}),[JSON.stringify(D)]);var ne=function(e,t,n){void 0===n&&(n=!0),V(e),oe(""),null==R||R(e,t,n)},re=function(e){var t=K.current,n=t[e];t.splice(e,1),ne((0,r.Z)(t),n,!1)};function ie(e){T(!0),oe(e),Q(e?"loading":"")}var oe=function(e){J(e),null==O||O(e)},le=(0,C.useMemo)((function(){if(z)return"boolean"===typeof z?(0,f.jsx)(L.Z,{style:{minWidth:200,width:null==j?void 0:j.width}}):z;var e=(0,l.Z)({},E.props,{onSelected:function(e,t,n){void 0===n&&(n=!0),T(!w),ne(e,t,n)},values:Y,options:B});return C.cloneElement(E,e)}),[JSON.parse(JSON.stringify(Y)),B,z]);return(0,f.jsx)(a.Z,{className:P,trigger:"click",onVisibleChange:function(e){T(e),e||oe("")},disabled:m,isOpen:I,menu:(0,f.jsx)(u.Z,{bodyStyle:!0===z?{padding:0}:void 0,children:le}),children:(0,f.jsx)("div",{onMouseOver:function(){return te("enter")},onMouseLeave:function(){return te("leave")},onClick:function(){var e;return null==(e=ee.current)?void 0:e.focus()},style:(0,l.Z)({minWidth:(null==j?void 0:j.width)||200,maxWidth:"none"},j),children:(0,f.jsxs)("div",{className:[n+"-inner",n+"-"+p].filter(Boolean).join(" ").trim(),children:[(0,f.jsxs)("div",{style:{display:"flex",flexFlow:"wrap",width:"100%"},children:[Y.map((function(e,t){return(0,f.jsx)(d.Z,(0,l.Z)({style:{height:h[p],margin:1,display:"flex",alignItems:"center"},className:n+"-tag",closable:!0,color:"#393E48"},S,{disabled:m,onClose:function(e){e.stopPropagation(),re(t)},children:e.label}),t)})),(0,f.jsx)(c.Z,{ref:ee,className:n+"-input-contents",size:p,disabled:m,onKeyDown:function(e){Y.length>0&&!U&&8===e.keyCode&&re(Y.length-1)},onChange:function(e){return ie(e.target.value)},value:U,placeholder:Y.length?"":N})]}),!m&&(0,f.jsx)("span",{style:{height:25,width:14},className:n+"-close-tag-contents",children:("close"===G||"loading"===G&&y)&&(0,f.jsx)(s.Z,{type:G,spin:y&&"loading"===G,onClick:function(e){var t;e.stopPropagation(),null==(t=ee.current)||t.focus(),ie(""),T(!1),V([]),ne([])}})})]})})})},v=n(7941),m=n(8043),Z=["onChange","onSearch","multiple","options","value","emptyOption","treeProps"];function x(e){var t=(0,C.useState)({}),n=(0,i.Z)(t,2),r=n[0],o=n[1],a=(0,C.useState)([]),s=(0,i.Z)(a,2),c=s[0],d=s[1];(0,C.useEffect)((function(){var t,n={},r=null==(t=e.values)?void 0:t.map((function(e){return n[e.key]=e.label,e.key}));o(n),d(r||[])}),[e.values]);var u=function e(t,n,r){var i=function(e,t,r){r?n[e]=t:delete n[e]},o=function e(t){if(t.parent){var r=t.parent.children.filter((function(e){return!n[e.key]})).length;i(t.parent.key,t.parent.label,0===r),e(t.parent)}};return t.forEach((function(t){var l,C;null!=(l=t.children)&&l.length&&(n=e(t.children,n,r)),i(t.key,null==(C=t.label)?void 0:C.toString(),r),o(t)})),n};return(0,f.jsx)(m.Z,(0,l.Z)({defaultExpandAll:!0},e,{data:e.options,selectedKeys:c,onSelected:function(t,n,o,l){var C=u([l],r,o),a=!1;"number"===typeof n&&(a=!0);var s=Object.entries(C).map((function(e){var t=(0,i.Z)(e,2),n=t[0],r=t[1];return{key:a?Number.parseInt(n):n,label:r}}));null==e.onSelected||e.onSelected(s,{key:l.key,label:l.label},o)}}))}function g(e){var t=(0,C.useState)([]),n=(0,i.Z)(t,2),r=n[0],o=n[1];(0,C.useEffect)((function(){var t,n=[];null!=(t=e.values)&&t.length&&(n[0]=e.values[0].key),o(n)}),[e.values]);return(0,f.jsx)(v.Z,(0,l.Z)({defaultExpandAll:!0},e,{multiple:!1,data:e.options,selectedKeys:r,onSelected:function(t,n,r,i){var o={key:i.key,label:i.label};null==e.onSelected||e.onSelected(r?[o]:[],o,r)}}))}var y=function(e){var t=e.onChange,n=e.multiple,a=void 0===n||n,s=e.options,c=void 0===s?[]:s,d=e.value,u=void 0===d?[]:d,L=e.emptyOption,h=void 0===L?!c.length:L,v=e.treeProps,m=(0,o.Z)(e,Z),y=(0,C.useState)(Array.isArray(u)?u:[u]),M=(0,i.Z)(y,2),w=M[0],b=M[1],j=(0,C.useState)(c),N=(0,i.Z)(j,2),k=N[0],S=N[1],E=(0,C.useState)(h),B=(0,i.Z)(E,2),D=B[0],R=B[1];return(0,C.useEffect)((function(){b(Array.isArray(u)?u:[])}),[JSON.stringify(u)]),(0,f.jsx)(p,(0,l.Z)({},m,{emptyOption:D,selectCloseDrop:!a,onSearch:function(e){!function t(n,r){void 0===r&&(r=!0),n.forEach((function(n){var i,o=!n.label.includes(e.trim())&&r;if(null!=(i=n.children)&&i.length){t(n.children,o);var l=n.children.find((function(e){return!e.hideNode}));n.hideNode=o&&!l}else n.hideNode=o}))}(c),S((0,r.Z)(c));var t=!0;c.forEach((function(e){return t=t&&!!e.hideNode})),R("boolean"===typeof h&&t?t:h)},onChange:function(e,n,r){b(e),null==t||t(n,e,r)},values:w,options:k,content:a?(0,f.jsx)(x,(0,l.Z)({},v)):(0,f.jsx)(g,(0,l.Z)({},v))}))}},3781:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(5773),i=n(808),o=n(8573),l=n(4760),C=o.forwardRef((function(e,t){return(0,l.jsx)("option",(0,r.Z)({},e,{ref:t}))})),a=o.forwardRef((function(e,t){return(0,l.jsx)("optgroup",(0,r.Z)({},e,{ref:t}))})),s=["prefixCls","className","size"],c=function(e,t){var n=e.prefixCls,o=void 0===n?"w-select":n,C=e.className,a=e.size,c=void 0===a?"default":a,d=(0,i.Z)(e,s);return(0,l.jsx)("select",(0,r.Z)({},d,{ref:t,className:[o,C,c?o+"-"+c:null].filter(Boolean).join(" ").trim()}))},d=o.forwardRef(c);d.Option=C,d.Group=a;var u=d},9477:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(4649),i=n(649),o=n(1026),l=n(5773),C=n(808),a=n(8573),s=n(4760);function c(e){var t=e.prefixCls,n=e.data,i=e.step,o=e.min,l=e.vertical,C=e.marks,a=e.markRender;return(0,s.jsx)("div",{className:t+"-dots",children:n.map((function(e,n){var c=n*i+o;return(0,s.jsxs)("div",{style:(0,r.Z)({},l?"top":"left",e+"%"),className:[t+"-mark",C&&!0!==C&&!C[c]?"no-marks":null].filter(Boolean).join(" ").trim(),children:[!0===C&&a&&a(c),!0!==C&&C&&C[c]&&a&&a(c,C[c])]},n)}))})}var d=["prefixCls","value","min","max","dots","step","disabled","progress","tooltip","className","marks","renderMarks","vertical","onChange"];function u(e){var t,n=e.prefixCls,u=void 0===n?"w-slider":n,L=e.value,f=void 0===L?0:L,h=e.min,p=void 0===h?0:h,v=e.max,m=void 0===v?100:v,Z=e.dots,x=void 0!==Z&&Z,g=e.step,y=void 0===g?1:g,M=e.disabled,w=void 0!==M&&M,b=e.progress,j=void 0===b||b,N=e.tooltip,k=void 0!==N&&N,S=e.className,E=e.marks,B=e.renderMarks,D=e.vertical,R=e.onChange,O=(0,C.Z)(e,d),z=a.useRef(null),P=a.useRef(null),A=a.useRef(),H=a.useRef(),I=a.useRef(),T=a.useRef(),W=a.useRef(),F=a.useRef(),Y=(0,a.useState)(Array.isArray(f)?f:[f]),V=(0,o.Z)(Y,2),K=V[0],q=V[1];function $(e){q((0,i.Z)(e)),R&&R(1===K.length?e[0]:e)}function U(e){var t=(m-p)/y,n=0;P.current&&(n=e/P.current[D?"clientHeight":"clientWidth"]*100),n<=0&&(n=0),n>=100&&(n=100);var r=t*(n/100)+.5;return Math.floor(r)*y+p}function J(e){if(F.current){var t=(0,i.Z)(K),n=U(e[D?"clientY":"clientX"]-H.current+T.current);if(n!==I.current){t[A.current]=n;var r=G(t);z.current&&(z.current.style[D?"top":"left"]=r.left,z.current.style[D?"bottom":"right"]=r.right),$(t),I.current=n}}}function X(){F.current=void 0,window.removeEventListener("mousemove",J,!1),window.removeEventListener("mouseup",X,!1)}(0,a.useEffect)((function(){return q(Array.isArray(f)?f:[f])}),[f]),O.onClick=function(e){if(void 0===F.current){var t=P.current.getBoundingClientRect();$(function(e){if(!Array.isArray(f))return Array.isArray(e)?e:[e];var t=(0,i.Z)(K),n=t[0],r=t[1];(ne||n>r&&nr&&r>e)&&(t[1]=e);if(n>e&&r=e&&(t[1]=e),oe&&n=e&&(t[0]=e),le[1]?e[1]:e[0],r=e[0]>e[1]?e[0]:e[1];t.left=_(n)+"%",t.right=100-_(r)+"%"}else t.right=100-_(e[0])+"%";return t}function Q(e){return E&&!0!==E&&E[e]&&E[e].label?E[e].label:E&&!0!==E&&E[e]&&"string"===typeof E[e]?E[e]:B&&"function"===typeof B&&B(e)?B(e):e}var ee=G();return w&&delete O.onClick,(0,s.jsxs)("div",(0,l.Z)({ref:P,className:[u,S,w?"disabled":null,E?u+"-with-marks":null,D?u+"-vertical":null].filter(Boolean).join(" ").trim()},O,{children:[(0,s.jsx)("div",{ref:z,className:u+"-bar",style:(0,l.Z)((t={},(0,r.Z)(t,D?"top":"left",ee.left),(0,r.Z)(t,D?"bottom":"right",ee.right),t),!0!==j?{backgroundColor:j||"initial"}:{})}),(0,i.Z)(K).map((function(e,t){var n=_(e);return(0,s.jsx)("div",{className:u+"-handle",onMouseDown:function(e){return function(e,t){if(!w){A.current=e,F.current=!0,H.current=t[D?"clientY":"clientX"],z.current&&(T.current=z.current[D?"clientHeight":"clientWidth"],W.current=z.current[D?"offsetTop":"offsetLeft"]);var n=(0,i.Z)(K);Array.isArray(f)&&(T.current=1===A.current&&n[1]>n[0]||1!==A.current&&n[0]>n[1]?T.current+W.current:W.current),window.addEventListener("mousemove",J),window.addEventListener("mouseup",X)}}(t,e)},style:(0,r.Z)({},D?"top":"left",n+"%"),children:(k||!1===k)&&(0,s.jsx)("div",{className:[u+"-tooltip",k?"open":null].filter(Boolean).join(" ").trim(),children:Q(e)})},t)})),x&&(0,s.jsx)(c,{prefixCls:u,min:p,step:y,marks:E,vertical:!!D,data:function(){for(var e=(m-p)/y,t=100*y/(m-p),n=[0],r=1;r0&&(t=h(n,t+1)),t}function p(e,t){void 0===e&&(e=[]),void 0===t&&(t=[]);for(var n=[],r=0;r0&&(n=n.concat(p(e[r].children,t))):n.push(e[r]);return n}function v(e,t){t||(t={header:[],render:{}}),t&&!t.header&&(t.header=[]),t&&!t.render&&(t.render={});for(var n=[],r=[],i=0;i0&&(e[i].colSpan=p(e[i].children).length),r.push(e[i])),e[i]&&e[i].children&&(n=n.concat(e[i].children.map((function(e){return e.children&&e.children.length>0&&(e.colSpan=p(e.children).length),e}))));if(0===t.header.length){var o=h(r);t.header.push(r.map((function(e){return 1===o||(!e.children||e.children&&0===e.children.length)&&(e.rowSpan=o),e})))}if(n&&n.length>0){var l=h(n);t.header.push(n.map((function(e){return 1===l||(!e.children||e.children&&0===e.children.length)&&(e.rowSpan=l),e}))),t=v(n,t)}return t}function m(e,t){void 0===t&&(t=[]);for(var n=0;n0&&a.map((function(e,t){return(0,x.jsx)("tr",{children:(e||[]).map((function(e,n){var i=e.title,o=e.ellipsis,l=e.fixed,a=void 0!==l&&l,s=(0,C.Z)(e,w),c=(0,x.jsx)("span",{className:o?(s.className||"")+" "+r+"-ellipsis":void 0,children:"function"===typeof i?i(e,n,t):i});return 0===s.colSpan?null:("right"===a&&(h+=1),(0,x.jsx)(y,{colNum:n,rightNum:h,item:e,prefixCls:r,onCellHead:d,rowNum:t,titleNode:c,locationWidth:u,updateLocation:L},n))}))},t)}))}))}function j(e){var t=e.defaultExpand,n=e.onClick,r=e.expandIcon,i=(0,a.useState)(t),l=(0,o.Z)(i,2),C=l[0],s=l[1];return(0,x.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center"},onClick:function(){s(!C),n(C)},children:r(C)})}function N(e){var t=e.rowKey,n=e.data,i=e.keys,C=e.render,d=e.ellipsis,u=e.prefixCls,L=e.onCell,f=void 0===L?s.Z:L,h=e.isExpandedDom,p=e.hierarchy,v=e.indentSize,m=e.childrenColumnName,g=e.locationWidth,y=e.header,M=(0,a.useState)(!1),w=(0,o.Z)(M,2),b=w[0],j=w[1],k=(0,a.useState)(0),S=(0,o.Z)(k,2),E=S[0],B=S[1],D=(0,a.useState)([]),R=(0,o.Z)(D,2),O=R[0],z=R[1];(0,a.useEffect)((function(){j(!(null==n||!n.find((function(e){return e[m]})))),B(-1===(null==i?void 0:i.findIndex((function(e){return"uiw-expanded"===e.key})))?0:1)}),[n]);var P=(0,a.useMemo)((function(){return function(e,t){var n=O.includes(e);return(0,x.jsx)(c.Z,{type:n?"minus-square-o":"plus-square-o",style:{marginRight:10,opacity:t?1:0,marginLeft:p*v,float:"left",marginTop:3.24},onClick:function(){z(n?O.filter((function(t){return t!==e})):[].concat((0,r.Z)(O),[e]))}})}}),[O]),A=function(e){var t=0;return""+y.findIndex((function(n){return(t=n.findIndex((function(t){return t.key===e})))>-1}))+t};return Array.isArray(n)&&n.length?(0,x.jsx)(a.Fragment,{children:n.map((function(n,r){var o=t?n[t]:r,s=0;return(0,x.jsxs)(a.Fragment,{children:[(0,x.jsx)("tr",{children:i.map((function(e,t){var i={children:n[e.key]};if(C[e.key]){var c=C[e.key](n[e.key],e.key,n,r,t);if(a.isValidElement(c))i.children=c;else{if(c.props&&(i=(0,l.Z)({},c.props,{children:i.children}),0===c.props.rowSpan||0===c.props.colSpan))return null;c.children&&(i.children=c.children)}}var L=Array.isArray(n[m]);if(t===E&&(b||p||L)&&(i.children=(0,x.jsxs)(x.Fragment,{children:[P(o,L),(0,x.jsx)("span",{style:{paddingLeft:p*v}}),i.children]})),e.fixed)if("right"===e.fixed){var h=1===(s+=1)?u+"-fixed-right-first":"";i.className=u+"-fixed-right "+h}else i.className=u+"-fixed-true";return(0,a.createElement)("td",(0,l.Z)({},i,{style:e.fixed?(0,l.Z)({},Z(e.fixed,g,""+A(e.key||"undefined"))):{},children:(0,x.jsx)("span",{className:d&&d[e.key]?u+"-ellipsis":void 0,children:i.children}),key:t,className:[u+"-tr-children-"+(e.align||"left"),e.className,i.className].filter((function(e){return e})).join(" ").trim(),onClick:function(i){return f(n,{rowNum:r,colNum:t,keyName:e.key},i)}}))}))},o),h(n,r),O.includes(o)&&(0,x.jsx)(N,(0,l.Z)({},e,{data:n[m],hierarchy:p+1}))]},r)}))}):null}var k=["prefixCls","className","columns","data","title","footer","bordered","onCell","onCellHead","empty","children","expandable","rowKey","scroll"];function S(e){void 0===e&&(e={});var t=e,n=t.prefixCls,d=void 0===n?"w-table":n,u=t.className,L=t.columns,f=void 0===L?[]:L,h=t.data,p=void 0===h?[]:h,Z=t.title,g=t.footer,y=t.bordered,M=t.onCell,w=void 0===M?s.Z:M,S=t.onCellHead,E=void 0===S?s.Z:S,B=t.empty,D=t.expandable,R=t.rowKey,O=t.scroll,z=(0,C.Z)(e,k),P=(0,a.useState)([]),A=(0,o.Z)(P,2),H=A[0],I=A[1],T=(0,a.useState)({}),W=(0,o.Z)(T,2),F=W[0],Y=W[1],V=(0,a.useRef)({}),K=function e(t,n){var i=0,o=0,l=[];t.forEach((function(e,C){var a=""+n+o;if("number"===typeof t[C])return i=t[C]+i,void l.push(t[C]);V.current[a]&&(V.current[a].left=i,i=V.current[a].width+i,Array.isArray(t[C].children)?l.push.apply(l,(0,r.Z)(t[C].children)):l.push(V.current[a].width)),o+=1})),i=0,o=G[n].length-1;for(var C=t.length-1;C>=0;C--){var a=""+n+o;"number"!==typeof t[C]?(V.current[a]&&(V.current[a].right=i,i=V.current[a].width+i),o-=1):i=t[C]+i}l.filter((function(e){return"number"!==typeof e})).length&&e(l,n+1)},q=function(){return K(f,0),V.current};(0,a.useEffect)((function(){var e=(null==D?void 0:D.childrenColumnName)||"children";if(D){if(D.defaultExpandAllRows)return void I(function t(n){var i=[],o=n.map((function(n,o){return Array.isArray(n[e])&&i.push.apply(i,(0,r.Z)(t(n[e]))),R?n[R]:o}));return[].concat(i,(0,r.Z)(o))}(p));if(D.defaultExpandedRowKeys)return void I(D.defaultExpandedRowKeys)}}),[]),(0,a.useEffect)((function(){D&&D.expandedRowKeys&&JSON.stringify(D.expandedRowKeys)!==JSON.stringify(H)&&I(D.expandedRowKeys)}),[null==D?void 0:D.expandedRowKeys]);var $=(0,a.useMemo)((function(){return function(e,t){if(!D)return!1;if(!D.expandedRowRender)return!1;var n=!0;return D.rowExpandable&&(n=D.rowExpandable(e)),n&&(0,x.jsx)("tr",{style:H.includes(R?e[R]:t)?{}:{display:"none"},children:(0,x.jsx)("td",{style:{paddingLeft:16},colSpan:f.length+1,children:D.expandedRowRender(e,t,!0)})})}}),[D,H]),U=(0,a.useMemo)((function(){var e=m(f),t=[];return null!=D&&D.expandedRowRender?(e=[{key:"uiw-expanded",align:"center"}].concat((0,r.Z)(e)),t=[{title:"",key:"uiw-expanded",width:50,align:"center",render:function(e,t,n,i){var o;return(0,x.jsx)(j,{defaultExpand:void 0===D.defaultExpandAllRows?!(null==(o=D.defaultExpandedRowKeys)||!o.includes(R?n[R]:i)):!!D.defaultExpandAllRows,onClick:function(e){if(null==D.onExpand||D.onExpand(e,n,i),e){var t=H.filter((function(e){return R?e!==n[R]:e!==i}));D.onExpandedRowsChange?D.onExpandedRowsChange(t):I(t)}else{var o=[].concat((0,r.Z)(H),[R?n[R]:i]);D.onExpandedRowsChange?D.onExpandedRowsChange(o):I(o)}},expandIcon:function(e){return!D.rowExpandable||null!=D.rowExpandable&&D.rowExpandable(n)?D.expandIcon?D.expandIcon(e,n,i):e?(0,x.jsx)(c.Z,{type:"minus-square-o"}):(0,x.jsx)(c.Z,{type:"plus-square-o"}):null}})}}].concat((0,r.Z)(f))):t=(0,r.Z)(f),{keys:e,selfColumns:t}}),[f,H]),J=(0,a.useMemo)((function(){var e={table:{},div:{}};return O&&(void 0!==O.x&&(e.table.minWidth="100%",e.table.width=O.x,e.div.overflowX="auto",e.div.overflowY="hidden"),void 0!==O.y&&(e.div.maxHeight=O.y,e.div.overflowY="scroll")),e}),[O]),X=[d,u,y?d+"-bordered":null].filter(Boolean).join(" ").trim(),_=v(U.selfColumns),G=_.header,Q=_.render,ee=_.ellipsis;return(0,x.jsxs)(a.Fragment,{children:[(0,x.jsx)("div",(0,l.Z)({className:X},z,{style:(0,l.Z)({},z.style,J.div),children:(0,x.jsxs)("table",{style:(0,l.Z)({tableLayout:ee?"fixed":"auto"},J.table),children:[Z&&(0,x.jsx)("caption",{children:Z}),f&&f.length>0&&(0,x.jsx)(b,{onCellHead:E,data:G,locationWidth:F,updateLocation:function(e,t,n,r){void 0===r&&(r=0),V.current=(0,l.Z)({},V.current,(0,i.Z)({},t,(0,l.Z)({},V.current[t],e,{key:n,colSpan:r}))),t===""+(G.length-1)+(G[G.length-1].length-1)&&Y(q())}}),p&&p.length>0&&(0,x.jsx)("tbody",{children:(0,x.jsx)(N,{rowKey:R,locationWidth:F,data:p,header:G,keys:U.keys,render:Q,ellipsis:ee,prefixCls:d,onCell:w,hierarchy:0,isExpandedDom:$,indentSize:"number"===typeof(null==D?void 0:D.indentSize)?null==D?void 0:D.indentSize:16,childrenColumnName:(null==D?void 0:D.childrenColumnName)||"children"})}),p&&0===p.length&&B&&(0,x.jsx)("tbody",{children:(0,x.jsx)("tr",{children:(0,x.jsx)("td",{colSpan:U.keys.length,style:{position:"relative",left:0},children:B})})}),e.children]})})),g&&(0,x.jsx)("div",{className:d+"-footer",children:g})]})}},491:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(1026),i=n(5773),o=n(808),l=n(8573),C=n(4760),a=["prefixCls","className","label"],s=n(6658),c=["prefixCls","className","children","type","activeKey","onTabClick"];function d(e){var t,n=e.prefixCls,a=void 0===n?"w-tabs":n,d=e.className,u=e.children,L=e.type,f=void 0===L?"default":L,h=e.onTabClick,p=(0,o.Z)(e,c),v=(0,l.useState)(e.activeKey),m=(0,r.Z)(v,2),Z=m[0],x=m[1],g=(0,l.useState)({width:0,left:0}),y=(0,r.Z)(g,2),M=y[0],w=y[1],b=(0,l.useRef)(),j=[a,d,f?a+"-"+f:null].filter(Boolean).join(" ").trim(),N=(0,l.useState)({content:0,nav:[],flowLeft:-1,displayStart:0,displayEnd:0}),k=(0,r.Z)(N,2),S=k[0],E=k[1],B=(0,l.useState)([]),D=(0,r.Z)(B,2),R=D[0],O=D[1],z=(0,l.useState)(),P=(0,r.Z)(z,2),A=P[0],H=P[1],I=(0,l.useCallback)((function(e){null!==e&&(H(A),e.addEventListener("scroll",(function(e){var t=e.target,n=t.clientWidth,r=t.scrollLeft;S.displayStart=r,S.displayEnd=n+r,E((0,i.Z)({},S))})),S.displayEnd=e.getBoundingClientRect().width,E((0,i.Z)({},S)))}),[]),T=(0,l.useCallback)((function(e,t,n,r){null!==e&&(W(e.getBoundingClientRect().width,t),n===r&&(b.current=e))}),[]),W=function(e,t){var n=0;S.nav.slice(0,t+1).forEach((function(e){return n+=e.width})),S.nav[t]={width:e,curWidth:Math.floor(n),index:t},E(S)};(0,l.useEffect)((function(){F()}),[S.displayEnd>(null==(t=S.nav[S.nav.length-1])?void 0:t.curWidth)]);var F=function(){var e=[];S.nav.length>0&&(S.nav.forEach((function(t){var n=t.curWidth-15;(S.displayStart>0||S.displayEnd>0)&&(nS.displayEnd)&&e.push(t.index)})),O(e))};function Y(){b.current&&"line"===f&&w({width:b.current.clientWidth,left:b.current.offsetLeft})}return(0,l.useEffect)((function(){return x((null==e?void 0:e.activeKey)||"")}),[e.activeKey]),(0,l.useEffect)((function(){return Y()}),[Z]),(0,C.jsxs)("div",(0,i.Z)({className:j},p,{children:[(0,C.jsxs)("div",{style:{display:"flex"},children:[(0,C.jsx)("div",{style:{overflow:"hidden"},children:(0,C.jsx)("div",{className:a+"-bar",ref:I,children:(0,C.jsxs)("div",{className:a+"-nav",style:{width:"max-content"},children:[V(u),(0,C.jsx)("div",{style:M,className:a+"-slide"})]})})}),R.length>0&&(0,C.jsx)(s.Z,{trigger:"click",placement:"bottomRight",visibleArrow:!1,content:(0,C.jsx)("div",{className:a+"-nav-hidden",children:V(R.map((function(e){return u[e]})))}),children:(0,C.jsx)("div",{onClick:F,className:a+"-flow-content",children:(0,C.jsx)("span",{children:"\u2026"})})})]}),l.Children.map(u,(function(e){return e&&Z===e.key?l.cloneElement(e,Object.assign({},e.props,{})):null}))]}));function V(e){return l.Children.map(e,(function(e,t){if(!e)return null;var n={className:[a+"-item",e.key===Z?"active":null,e.props.disabled?"disabled":null].filter(Boolean).join(" ").trim(),children:e.props.label};return e.props.disabled||(n.onClick=function(t){x(e.key),h&&h(e.key,e,t),Y()}),(0,C.jsx)("div",(0,i.Z)({ref:function(n){return T(n,t,e.key,Z)}},n),t)}))}}d.Pane=function(e){void 0===e&&(e={});var t=e,n=t.prefixCls,r=void 0===n?"w-tabs-pane":n,l=t.className,s=(0,o.Z)(e,a);return(0,C.jsx)("div",(0,i.Z)({className:[r,l].filter(Boolean).join(" ").trim()},s))}},8321:function(e,t,n){"use strict";n.d(t,{Z:function(){return C}});var r=n(5773),i=n(808),o=(n(8573),n(4760)),l=["prefixCls","className","style","title","children","visible","color","disabled","bordered","closable","light","onClose"],C=function(e){void 0===e&&(e={});var t=e,n=t.prefixCls,C=void 0===n?"w-tag":n,a=t.className,s=t.style,c=t.title,d=void 0===c?"":c,u=t.children,L=t.visible,f=void 0===L||L,h=t.color,p=void 0===h?"#6E6E6E":h,v=t.disabled,m=void 0!==v&&v,Z=t.bordered,x=void 0===Z||Z,g=t.closable,y=t.light,M=void 0!==y&&y,w=t.onClose,b=(0,i.Z)(e,l),j=[C,a,M?C+"-light":null,m?"disabled":null].filter(Boolean).join(" ").trim(),N=(0,r.Z)({},s);if(M?(N.color=p,N.borderColor=p,x&&M&&(N.boxShadow="inset 0 0 0 1px "+p)):(N.color="#fff",N.backgroundColor=p),!f)return null;var k=!m&&g&&(0,o.jsx)("svg",{onClick:w,className:C+"-close",width:"15",height:"15",viewBox:"0 0 16 16",children:(0,o.jsx)("path",{d:"M9.41 8l2.29-2.29c.19-.18.3-.43.3-.71a1.003 1.003 0 0 0-1.71-.71L8 6.59l-2.29-2.3a1.003 1.003 0 0 0-1.42 1.42L6.59 8 4.3 10.29c-.19.18-.3.43-.3.71a1.003 1.003 0 0 0 1.71.71L8 9.41l2.29 2.29c.18.19.43.3.71.3a1.003 1.003 0 0 0 .71-1.71L9.41 8z"})});return(0,o.jsxs)("span",(0,r.Z)({className:j,style:N},b,{children:[d||u,k]}))}},8981:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(5773),i=n(808),o=n(8573),l=n(4760),C=["prefixCls","className"],a=o.forwardRef((function(e,t){var n=e.prefixCls,o=void 0===n?"w-textarea":n,a=e.className,s=(0,i.Z)(e,C);return(0,l.jsx)("textarea",(0,r.Z)({className:[o,a].filter(Boolean).join(" ").trim()},s,{ref:t,children:e.children}))}))},2190:function(e,t,n){"use strict";n.d(t,{z:function(){return p},Z:function(){return m}});var r=n(1026),i=n(5773),o=n(808),l=n(8573),C=n(6658),a=n(6647),s=n(3612),c=n(371),d=n(649),u=n(4760),L=["prefixCls","className","count","date","type","disabledHours","disabledMinutes","disabledSeconds","hideDisabled","onSelected"];function f(e){var t=e.prefixCls,n=void 0===t?"w-timepicker":t,r=e.count,C=void 0===r?24:r,a=e.date,s=e.type,c=void 0===s?"Hours":s,f=e.hideDisabled,h=e.onSelected,p=(0,o.Z)(e,L),v=(0,l.useRef)([]);function m(t){var n=e["disabled"+c];return!!n&&n(t,c,new Date(a))}var Z=(0,l.useMemo)((function(){return(0,d.Z)(Array(C)).map((function(e,t){return m(t)&&v.current.push(t),{count:t,disabled:m(t)}})).filter((function(e){return!f||!e.disabled}))}),[f]);return(0,u.jsx)("div",(0,i.Z)({className:n+"-spinner"},p,{children:(0,u.jsx)("ul",{children:Z.map((function(e,t){var n={};e.disabled||(n.onClick=function(t){return function(e,t){if(a){var n=new Date(a);n["set"+c](e),h&&h(c,e,v.current,n)}}(e.count)});var r=a&&c?new Date(a)["get"+c]():0;return(0,u.jsx)("li",(0,i.Z)({"data-index":r===e.count?t:void 0,ref:function(e){return e&&function(e){if(e&&e.parentNode&&e.dataset.index){var t=Number(e.dataset.index)*e.clientHeight;e.parentNode.parentNode&&(e.parentNode.parentNode.scrollTop=t)}}(e)}},n,{className:[e.disabled?"disabled":null,r===e.count?"selected":null,f&&e.disabled?"hide":null].filter(Boolean).join(" ").trim(),children:e.count<10?"0"+e.count:e.count}),t)}))})}))}var h=["prefixCls","className","precision"];function p(e){var t=e.prefixCls,n=void 0===t?"w-timepicker":t,r=e.className,l=e.precision,C=void 0===l?"second":l,a=(0,o.Z)(e,h);return(0,u.jsxs)("div",{className:[n,r].filter(Boolean).join(" ").trim(),children:[/^(second|minute|hour)$/.test(C)&&(0,u.jsx)(f,(0,i.Z)({type:"Hours",count:24},a)),/^(second|minute)$/.test(C)&&(0,u.jsx)(f,(0,i.Z)({type:"Minutes",count:60},a)),/^(second)$/.test(C)&&(0,u.jsx)(f,(0,i.Z)({type:"Seconds",count:60},a))]})}var v=["prefixCls","className","disabled","value","format","popoverProps","allowClear","onChange","disabledHours","disabledMinutes","disabledSeconds","hideDisabled","precision"];function m(e){var t=e.prefixCls,n=void 0===t?"w-timepicker":t,d=e.className,L=e.disabled,f=e.format,h=void 0===f?"HH:mm:ss":f,m=e.popoverProps,Z=e.allowClear,x=void 0===Z||Z,g=e.onChange,y=e.disabledHours,M=e.disabledMinutes,w=e.disabledSeconds,b=e.hideDisabled,j=e.precision,N=(0,o.Z)(e,v),k=(0,l.useState)(e.value),S=(0,r.Z)(k,2),E=S[0],B=S[1];(0,l.useEffect)((function(){return B(e.value)}),[e.value]);var D={disabledHours:y,disabledMinutes:M,disabledSeconds:w,hideDisabled:b,precision:j},R=E?(0,c.Z)(h,new Date(E)):"",O=E||new Date,z=(0,i.Z)({},N,{value:R});return x&&""!==R&&R&&(z.addonAfter=(0,u.jsx)(s.Z,{className:n+"-close-btn",icon:"close",disabled:e.disabled,onClick:function(){B(void 0),g&&g()},size:e.size,basic:!0,type:"light"})),(0,u.jsx)(C.Z,(0,i.Z)({trigger:"focus",placement:"bottomLeft",autoAdjustOverflow:!0,visibleArrow:!1},m,{content:(0,u.jsx)(p,(0,i.Z)({className:n+"-popover"},D,{date:O,onSelected:function(e,t,n,r){B(new Date(r));var i=r?(0,c.Z)(h,r):"";g&&g(i,r,e,t,n)}})),children:(0,u.jsx)(a.Z,(0,i.Z)({placeholder:"\u8bf7\u9009\u62e9\u65f6\u95f4",readOnly:!0,disabled:L},z,{className:[n+"-input",d].filter(Boolean).join(" ").trim()}))}))}},4245:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(5773),i=n(808),o=(n(8573),n(9769)),l=n(4760),C=["prefixCls","className","placement","isOpen","trigger","delay","usePortal","visibleArrow","onVisibleChange"],a=function(e){void 0===e&&(e={});var t=e,n=t.prefixCls,a=void 0===n?"w-tooltip":n,s=t.className,c=t.placement,d=void 0===c?"top":c,u=t.isOpen,L=void 0!==u&&u,f=t.trigger,h=t.delay,p=t.usePortal,v=void 0===p||p,m=t.visibleArrow,Z=void 0===m||m,x=t.onVisibleChange,g=(0,i.Z)(e,C),y=[a,s,Z?null:"no-arrow"].filter(Boolean).join(" ").trim();return(0,l.jsx)(o.Z,(0,r.Z)({usePortal:v,isOpen:L,trigger:f,delay:h,onVisibleChange:x,placement:d},g,{overlay:(0,l.jsxs)("div",{className:y,children:[Z&&(0,l.jsx)("div",{className:a+"-arrow"}),(0,l.jsx)("div",{className:a+"-inner",children:e.content})]}),children:"object"===typeof e.children?e.children:(0,l.jsx)("span",{children:e.children})}))}},2061:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});var r=n(649),i=n(1026),o=n(5773),l=n(8573),C=n(3739),a=n(6252),s=n(6647),c=n(8043),d=n(6173),u=n(4760),L=function(e){return e[e.UnChecked=0]="UnChecked",e[e.AllChecked=1]="AllChecked",e[e.Indeterminate=2]="Indeterminate",e}(L||{});var f=function(e){var t=e.placeholder,n=e.options,f=e.value,h=void 0===f?[]:f,p=e.showSearch,v=void 0!==p&&p,m=e.selectedAll,Z=void 0!==m&&m,x=e.bodyStyle,g=e.style,y=e.className,M=e.prefixCls,w=void 0===M?"w-transfer":M,b=[w,y].filter(Boolean).join(" ").trim(),j=(0,l.useState)(""),N=(0,i.Z)(j,2),k=N[0],S=N[1],E=(0,l.useState)(""),B=(0,i.Z)(E,2),D=B[0],R=B[1],O=(0,l.useState)(n||[]),z=(0,i.Z)(O,2),P=z[0],A=z[1],H=(0,l.useRef)(0),I=(0,l.useState)(new Map),T=(0,i.Z)(I,2),W=T[0],F=T[1],Y=(0,l.useState)(new Map),V=(0,i.Z)(Y,2),K=V[0],q=V[1],$=(0,l.useState)([]),U=(0,i.Z)($,2),J=U[0],X=U[1],_=(0,l.useState)([]),G=(0,i.Z)(_,2),Q=G[0],ee=G[1],te=(0,l.useState)([]),ne=(0,i.Z)(te,2),re=ne[0],ie=ne[1],oe=(0,l.useState)({left:L.UnChecked,right:L.UnChecked}),le=(0,i.Z)(oe,2),Ce=le[0],ae=le[1];(0,l.useEffect)((function(){h&&(ie(h||[]),null==h||h.forEach((function(e){return W.set(e.key,e.label)})),se((function(e){return!(null==h||!h.find((function(t){return e.key===t.key})))})))}),[JSON.stringify(h)]);var se=function(e){H.current=0;!function t(n){n.forEach((function(n){var r,i=e(n);if(null!=(r=n.children)&&r.length){t(n.children);var o=n.children.find((function(e){return!e.hideNode}));n.hideNode=i&&!o}else n.hideNode=i;n.hideNode||H.current++}))}(P),A((0,r.Z)(P))},ce=function e(t,n,r){var i=function(e,t,r){r?n.set(e,t):n.delete(e)},o=function e(t){if(t.parent){var r=t.parent.children.filter((function(e){return!n.get(e.key)&&!e.hideNode})).length;i(t.parent.key,t.parent.label,0===r),e(t.parent)}};return t.forEach((function(t){var l,C;null!=(l=t.children)&&l.length&&(n=e(t.children,n,r)),i(t.key,null==(C=t.label)?void 0:C.toString(),r),o(t)})),n},de=function(t){"left"===t?(K.forEach((function(e,t){W.set(t,e)})),q(new Map),X([])):(Q.forEach((function(e){W.delete(e)})),ee([])),F(W);var n=[];W.forEach((function(e,t){return n.push({key:t,label:e})})),null==e.onChange||e.onChange(t,n)},ue=function(e){return(0,u.jsx)(a.Z,{onClick:function(){return e.click()},type:"down-square-o",className:w+"-arrow",style:(0,o.Z)({fontSize:20,stroke:"#e9e9e9",fill:"#333"},e.style)})};return(0,u.jsxs)("div",{className:b,style:(0,o.Z)({width:400},g),children:[(0,u.jsxs)(C.Z,{bodyStyle:{padding:"5px 9px"},title:(0,u.jsxs)("div",{children:[Z&&(0,u.jsx)(d.Z,{indeterminate:J.length=H.current&&!!J.length,onChange:function(e){var t=e.target.checked;if(Ce.left=t?1:0,t){var n=[];!function e(t){t.forEach((function(t){var r;null!=(r=t.children)&&r.length&&e(t.children),t.hideNode||(K.set(t.key,t.label),n.push(t.key))}))}(P),q(K),X(n)}else X([]),q(new Map);ae(Ce)}}),(0,u.jsxs)("label",{style:{marginLeft:3},children:[J.length,"/",H.current]})]}),className:w+"-card",children:[v&&(0,u.jsx)(s.Z,{placeholder:t,value:k,onChange:function(t){return n=t.target.value,se((function(e){var t=!e.label.includes(n.trim());return t||(t=!!re.find((function(t){return t.key===e.key}))),t})),S(n),void(null==e.onSearch||e.onSearch("left",n));var n}}),(0,u.jsx)("div",{className:w+"-cheked-content",children:(0,u.jsx)(c.Z,{defaultExpandAll:!0,placeholder:t||"\u641c\u7d22\u9009\u9879",data:P,selectedKeys:J,onSelected:function(e,t,n,r){X(e);var i=ce([r],K,n);q(i)}})})]}),(0,u.jsxs)("div",{className:w+"-arrow-content",children:[(0,u.jsx)(ue,{click:function(){return de("left")},style:{transform:"rotate(-90deg)",background:J.length>0?"#393E48":"none"}}),(0,u.jsx)(ue,{click:function(){return de("right")},style:{transform:"rotate(90deg)",background:Q.length>0?"#393E48":"none"}})]}),(0,u.jsxs)(C.Z,{bodyStyle:{padding:"5px 9px"},className:w+"-card",title:(0,u.jsxs)("div",{children:[Z&&(0,u.jsx)(d.Z,{indeterminate:Q.length-1));var E=(0,C.useCallback)((function(){S.current.style.height=S.current.scrollHeight+"px"}),[]),B=(0,C.useCallback)((function(){S.current.style.height="1px"}),[]),D=(0,C.useCallback)((function(){S.current.style.height="1px"}),[]),R=(0,C.useCallback)((function(){S.current.style.height=S.current.scrollHeight+"px"}),[]),O=(0,C.useCallback)((function(){S.current.style.height="initial"}),[]);return(0,u.jsx)(c.Z,{nodeRef:S,classNames:t,in:k,timeout:200,onExit:E,onExiting:B,onEnter:D,onEntered:O,onEntering:R,children:(0,u.jsx)("ul",{ref:S,className:[1!==g&&k?[t+"-open"]:null,1===g||k?null:[t+"-close"]].filter(Boolean).join(" ").trim(),children:x.map((function(e,l){var C;e.parent=y;var a=!!(Z&&Z.indexOf(e.key)>-1),c=!e.children,L=v&&v.indexOf(e.key)>-1&&!!e.children,x="function"===typeof r?r(e,{isOpen:!!L,noChild:c,openKeys:v,selectedKeys:Z}):r,M=c?[]:m(e.children),b=Z?Z.filter((function(e){return M.indexOf(e)>-1})):[],k=b.length>0&&M.length!==b.length,S={onClick:j,disabled:null,disabledMouse:null,disabledClass:void 0,disabledStyle:void 0};return e.disabled&&(S.onClick=void 0,S.disabled="disabled",S.disabledMouse=t+"-disabled-mouse",S.disabledClass=t+"-disabled-ele",S.disabledStyle={color:"#00000040"}),(0,u.jsxs)("li",{style:{display:e.hideNode?"none":"block"},children:[(0,u.jsxs)("div",{className:t+"-label",children:[(0,u.jsx)("span",{style:{display:c?"none":"auto"},className:t+"-switcher",onClick:function(t){return w(e,t)},children:(0,u.jsx)(d.Z,{type:x||"caret-right",className:["function"===typeof r?t+"-switcher-noop":null,c?"no-child":null,i?null:"no-animation",L?"open":null].filter(Boolean).join(" ").trim()})}),(0,u.jsx)("div",{onClick:function(t){return null==S.onClick?void 0:S.onClick(e,t)},className:[t+"-title",a&&p?"selected":null,S.disabled,S.disabledMouse].filter(Boolean).join(" ").trim(),children:n?n(e,{selected:a,noChild:c,openKeys:v,isHalfChecked:k,selectedKeys:Z,disabled:e.disabled,disabledClass:S.disabledClass,disabledStyle:S.disabledStyle}):(0,u.jsx)(f,{label:e.label,className:S.disabledClass})})]}),e.children&&(0,u.jsx)(h,(0,o.Z)({},N,(C={prefixCls:t,icon:r,iconAnimation:i,isSelected:p,openKeys:v,selectedKeys:Z,onItemClick:w,onItemSelected:j,renderTitle:n},(0,s.Z)(C,"prefixCls",t),(0,s.Z)(C,"data",e.children),(0,s.Z)(C,"level",g+1),(0,s.Z)(C,"parent",e),C)))]},l)}))})})}var p=["prefixCls","icon","data","openKeys","selectedKeys","defaultExpandAll","showLine","iconAnimation","isSelected","checkStrictly","multiple","onExpand","onSelected","className","autoExpandParent","renderTitle","onChange","value"],v=function(e,t){if(!(e instanceof Array)||!(t instanceof Array))return!1;if(e.length0&&(n=n.concat(e(t.children,void 0,r?r-1:void 0)))})),n},Z=function e(t,n){return void 0===t&&(t={}),void 0===n&&(n=[]),t.key&&n.push(t.key),t.parent&&(n=e(t.parent,n)),n},x=function e(t,n,r){return void 0===t&&(t={}),void 0===n&&(n=[]),void 0===r&&(r=[]),t.key&&t.children&&v(n,m(t.children,void 0,1))&&(r.push(t.key),t.parent&&!t.parent.parent&&(v(n,m(t.children))&&(n=n.concat(r)),v(n,m(t.parent.children))&&r.push(t.parent.key))),t.parent&&(r=e(t.parent,n,r)),r};function g(e){var t=e.prefixCls,n=void 0===t?"w-tree":t,s=e.icon,c=void 0===s?"caret-right":s,d=e.data,L=void 0===d?[]:d,f=e.openKeys,v=void 0===f?[]:f,g=e.selectedKeys,y=void 0===g?[]:g,M=e.defaultExpandAll,w=void 0!==M&&M,b=e.showLine,j=void 0!==b&&b,N=e.iconAnimation,k=void 0===N||N,S=e.isSelected,E=void 0===S||S,B=e.checkStrictly,D=void 0!==B&&B,R=e.multiple,O=void 0!==R&&R,z=e.onExpand,P=void 0===z?a.Z:z,A=e.onSelected,H=void 0===A?a.Z:A,I=e.className,T=e.autoExpandParent,W=void 0===T||T,F=e.renderTitle,Y=e.onChange,V=e.value,K=(0,l.Z)(e,p),q=(0,C.useState)(v),$=(0,i.Z)(q,2),U=$[0],J=$[1],X=(0,C.useState)(V||y),_=(0,i.Z)(X,2),G=_[0],Q=_[1];(0,C.useEffect)((function(){Q(e.value||e.selectedKeys||[])}),[JSON.stringify(e.selectedKeys),JSON.stringify(e.value)]),(0,C.useEffect)((function(){J(v)}),[JSON.stringify(v)]),(0,C.useEffect)((function(){var e=(0,r.Z)(U);if(w)e=m(L);else if(W){var t;(t=e).push.apply(t,(0,r.Z)(m(L||[],void 0,1)))}J(e)}),[]);var ee=[I,n,j?n+"-line":null].filter(Boolean).join(" ").trim();return(0,u.jsx)("div",(0,o.Z)({className:ee},K,{children:(0,u.jsx)(h,{icon:c,iconAnimation:k,isSelected:E,openKeys:U,selectedKeys:G,prefixCls:n,renderTitle:F,onItemClick:function(e,t){if(e.children){var n=(0,r.Z)(U),i=n.find((function(t){return t===e.key})),o=t.currentTarget.className.replace(/(\s)open/g,""),l=!1;!i&&e.key?(n.push(e.key),t.currentTarget.className=[o,"open"].filter(Boolean).join(" ").trim(),l=!0):(n=n.filter((function(t){return t!==e.key})),t.currentTarget.className=o),J(n),P&&P(e.key,l,e,t)}},onItemSelected:function(e,t){var n=(0,r.Z)(G),i=n.find((function(t){return t===e.key})),o=!1;i||0===i?n=n.filter((function(t){return t!==e.key})):(o=!0,n.push(e.key)),D&&(i?n=(n=n.filter((function(t){return-1===m(e.children).indexOf(t)}))).filter((function(t){return-1===Z(e.parent).indexOf(t)})):(n=(n=n.concat(m(e.children).filter((function(e){return-1===n.indexOf(e)})))).concat(x(e,n)),n=Array.from(new Set(n)))),O||(n=i?[]:[e.key]),Q(n),H&&H(n,e.key,o,e,t),null==Y||Y(e.key,n)},data:L,level:1})}))}},7277:function(e,t,n){"use strict";function r(e,t){if("undefined"===typeof window)return 0;var n=t?"scrollTop":"scrollLeft",r=e===window,i=r?e[t?"pageYOffset":"pageXOffset"]:e[n];return r&&"number"!==typeof i&&(i=document.documentElement[n]),i}n.d(t,{O:function(){return r}})},7408:function(e,t,n){"use strict";function r(){}n.d(t,{Z:function(){return r}})},5411:function(e,t,n){"use strict";n.d(t,{Z:function(){return L}});var r=n(2951),i=n(1976),o=n(7169),l=n(7591),C=n(9616),a=n(2785),s=n(126),c=n(8573),d=n(4760),u=["prefixCls","className","children","mode","visiable","renderBar","lineBar","disable","onDragEnd","onDragging"],L=function(e){(0,l.Z)(n,e);var t=(0,C.Z)(n);function n(e){var i;return(0,r.Z)(this,n),(i=t.call(this,e)).state={dragging:!1},i.warpper=void 0,i.paneNumber=void 0,i.startX=void 0,i.startY=void 0,i.move=void 0,i.target=void 0,i.boxWidth=void 0,i.boxHeight=void 0,i.preWidth=void 0,i.nextWidth=void 0,i.preHeight=void 0,i.nextHeight=void 0,i.preSize=void 0,i.nextSize=void 0,i.onDragEnd=i.onDragEnd.bind((0,o.Z)(i)),i.onDragging=i.onDragging.bind((0,o.Z)(i)),i}return(0,i.Z)(n,[{key:"componentWillUnmount",value:function(){this.removeEvent()}},{key:"removeEvent",value:function(){window.removeEventListener("mousemove",this.onDragging,!1),window.removeEventListener("mouseup",this.onDragEnd,!1)}},{key:"onMouseDown",value:function(e,t){if(t.target&&this.warpper){this.paneNumber=e,this.startX=t.clientX,this.startY=t.clientY,this.move=!0,this.target=t.target.parentNode;var n=this.target.previousElementSibling,r=this.target.nextElementSibling;this.boxWidth=this.warpper.clientWidth,this.boxHeight=this.warpper.clientHeight,n&&(this.preWidth=n.clientWidth,this.preHeight=n.clientHeight),r&&(this.nextWidth=r.clientWidth,this.nextHeight=r.clientHeight),window.addEventListener("mousemove",this.onDragging),window.addEventListener("mouseup",this.onDragEnd,!1),this.setState({dragging:!0})}}},{key:"onDragging",value:function(e){if(this.move){this.state.dragging||this.setState({dragging:!0});var t=this.props,n=t.mode,r=t.onDragging,i=this.target.nextElementSibling,o=this.target.previousElementSibling,l=e.clientX-this.startX,C=e.clientY-this.startY;if(this.preSize=0,this.nextSize=0,"horizontal"===n){if(this.preSize=this.preWidth+l>-1?this.preWidth+l:0,this.nextSize=this.nextWidth-l>-1?this.nextWidth-l:0,0===this.preSize||0===this.nextSize)return;this.preSize=100*(this.preSize/this.boxWidth>=1?1:this.preSize/this.boxWidth),this.nextSize=100*(this.nextSize/this.boxWidth>=1?1:this.nextSize/this.boxWidth),o&&i&&(o.style.width=this.preSize+"%",i.style.width=this.nextSize+"%")}if("vertical"===n&&this.preHeight+C>-1&&this.nextHeight-C>-1){if(this.preSize=this.preHeight+C>-1?this.preHeight+C:0,this.nextSize=this.nextHeight-C>-1?this.nextHeight-C:0,this.preSize=100*(this.preSize/this.boxHeight>=1?1:this.preSize/this.boxHeight),this.nextSize=100*(this.nextSize/this.boxHeight>=1?1:this.nextSize/this.boxHeight),0===this.preSize||0===this.nextSize)return;o&&i&&(o.style.height=this.preSize+"%",i.style.height=this.nextSize+"%")}r&&r(this.preSize,this.nextSize,this.paneNumber)}}},{key:"onDragEnd",value:function(){var e=this.props.onDragEnd;this.move=!1,e&&e(this.preSize,this.nextSize,this.paneNumber),this.removeEvent(),this.setState({dragging:!1})}},{key:"render",value:function(){var e=this,t=this.props,n=t.prefixCls,r=t.className,i=t.children,o=t.mode,l=t.visiable,C=t.renderBar,L=t.lineBar,f=t.disable,h=(0,s.Z)(t,u),p=this.state.dragging,v=[n,r,n+"-"+o,p?"dragging":null].filter(Boolean).join(" ").trim(),m=c.Children.toArray(i);return(0,d.jsx)("div",(0,a.Z)({className:v},h,{ref:function(t){return e.warpper=t},children:c.Children.map(m,(function(t,r){var i=Object.assign({},t.props,{className:[n+"-pane",t.props.className].filter(Boolean).join(" ").trim(),style:(0,a.Z)({},t.props.style)}),o=!0===l||l&&l.includes(r+1)||!1,s={className:[n+"-bar",L?n+"-line-bar":null,L?null:n+"-large-bar"].filter(Boolean).join(" ").trim()};(!0===f||f&&f.includes(r+1))&&(s.className=[s.className,f?"disable":null].filter(Boolean).join(" ").trim());var u=null;return 0!==r&&o&&C?u=C((0,a.Z)({},s,{onMouseDown:e.onMouseDown.bind(e,r+1)})):0!==r&&o&&(u=c.createElement("div",(0,a.Z)({},s),(0,d.jsx)("div",{onMouseDown:e.onMouseDown.bind(e,r+1)}))),(0,d.jsxs)(c.Fragment,{children:[u,c.cloneElement(t,(0,a.Z)({},i))]},r)}))}))}}]),n}(c.Component);L.defaultProps={prefixCls:"w-split",visiable:!0,mode:"horizontal"}},371:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=/(?=(YYYY|YY|MM|DD|HH|mm|ss|ms))\1([:/]*)/g,i={YYYY:["getFullYear",4],YY:["getFullYear",2],MM:["getMonth",2,1],DD:["getDate",2],HH:["getHours",2],mm:["getMinutes",2],ss:["getSeconds",2],ms:["getMilliseconds",3]};function o(e,t,n){return"string"!==typeof e&&(t=e,e="YYYY-MM-DD"),e.replace(r,(function(e,r,o){var l=i[r],C=l[1],a=l[0];return!0===n&&(a="getUTC".concat(String(a).slice(3))),t||(t=new Date),"00".concat(String(t[a]()+(l[2]||0))).slice(-C)+(o||"")}))}o.utc=function(e,t){return o(e,t,!0)}}}]); -//# sourceMappingURL=uiw-vendor.6ef1d37e.js.map \ No newline at end of file diff --git a/static/js/uiw-vendor.6ef1d37e.js.map b/static/js/uiw-vendor.6ef1d37e.js.map deleted file mode 100644 index eae86138..00000000 --- a/static/js/uiw-vendor.6ef1d37e.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/uiw-vendor.6ef1d37e.js","mappings":"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","sources":["../../src/main.js","../../node_modules/@uiw/react-affix/esm/utils.js","../../node_modules/@uiw/react-affix/esm/index.js","../../node_modules/@uiw/react-alert/esm/index.js","../../node_modules/@uiw/react-auto-link/esm/index.js","../../node_modules/@uiw/react-avatar/esm/index.js","../../node_modules/@uiw/react-back-top/esm/utils.js","../../node_modules/@uiw/react-back-top/esm/index.js","../../node_modules/@uiw/react-badge/esm/index.js","../../node_modules/@uiw/react-breadcrumb/esm/Item.js","../../node_modules/@uiw/react-breadcrumb/esm/Breadcrumb.js","../../node_modules/@uiw/react-breadcrumb/esm/index.js","../../node_modules/@uiw/react-button-group/esm/index.js","../../node_modules/@uiw/react-button/esm/index.js","../../node_modules/@uiw/react-calendar/esm/DayLabel.js","../../node_modules/@uiw/react-calendar/esm/index.js","../../node_modules/@uiw/react-card/esm/index.js","../../node_modules/@uiw/react-carousel/esm/index.js","../../node_modules/@uiw/react-cascader/esm/index.js","../../node_modules/@uiw/react-checkbox/esm/Group.js","../../node_modules/@uiw/react-checkbox/esm/Checkbox.js","../../node_modules/@uiw/react-checkbox/esm/index.js","../../node_modules/@uiw/react-collapse/esm/Panel.js","../../node_modules/@uiw/react-collapse/esm/Collapse.js","../../node_modules/@uiw/react-collapse/esm/index.js","../../node_modules/@uiw/react-copy-to-clipboard/esm/index.js","../../node_modules/@uiw/react-date-input/esm/DateInputRange.js","../../node_modules/@uiw/react-date-input/esm/index.js","../../node_modules/@uiw/react-date-picker/esm/DatePickerDay.js","../../node_modules/@uiw/react-date-picker/esm/DatePickerMonth.js","../../node_modules/@uiw/react-date-picker/esm/DatePickerYear.js","../../node_modules/@uiw/react-date-picker/esm/DatePickerCaption.js","../../node_modules/@uiw/react-date-picker/esm/index.js","../../node_modules/@uiw/react-descriptions/esm/DescriptionsItem.js","../../node_modules/@uiw/react-descriptions/esm/Cell.js","../../node_modules/@uiw/react-descriptions/esm/Row.js","../../node_modules/@uiw/react-descriptions/esm/index.js","../../node_modules/@uiw/react-divider/esm/index.js","../../node_modules/@uiw/react-drawer/esm/index.js","../../node_modules/@uiw/react-dropdown/esm/index.js","../../node_modules/@uiw/react-empty/esm/index.js","../../node_modules/@uiw/react-file-input/esm/Input.js","../../node_modules/@uiw/react-file-input/esm/List.js","../../node_modules/@uiw/react-file-input/esm/Card.js","../../node_modules/@uiw/react-file-input/esm/utils.js","../../node_modules/@uiw/react-file-input/esm/FileList.js","../../node_modules/@uiw/react-file-input/esm/index.js","../../node_modules/@uiw/react-form/esm/FormItem.js","../../node_modules/@uiw/react-form/esm/Form.js","../../node_modules/@uiw/react-form/esm/index.js","../../node_modules/@uiw/react-grid/esm/Col.js","../../node_modules/@uiw/react-grid/esm/Row.js","../../node_modules/@uiw/react-icon/esm/index.js","../../node_modules/@uiw/react-input/esm/InputNumber.js","../../node_modules/@uiw/react-input/esm/index.js","../../node_modules/@uiw/react-layout/esm/Layout.js","../../node_modules/@uiw/react-layout/esm/Header.js","../../node_modules/@uiw/react-layout/esm/Footer.js","../../node_modules/@uiw/react-layout/esm/Sider.js","../../node_modules/@uiw/react-layout/esm/Content.js","../../node_modules/@uiw/react-layout/esm/index.js","../../node_modules/@uiw/react-list/esm/Item.js","../../node_modules/@uiw/react-list/esm/index.js","../../node_modules/@uiw/react-loader/esm/index.js","../../node_modules/@uiw/github-corners/src/index.ts","../../node_modules/@uiw/react-github-corners/src/index.tsx","../../node_modules/@uiw/react-back-to-top/esm/index.js","../../node_modules/@uiw/react-markdown-preview-example/esm/store.js","../../node_modules/@uiw/react-markdown-preview/esm/nodes/octiconLink.js","../../node_modules/@uiw/react-markdown-preview/esm/plugins/useCopied.js","../../node_modules/@uiw/react-markdown-preview-example/esm/Markdown.js","../../node_modules/@uiw/react-markdown-preview-example/esm/Logo.js","../../node_modules/@uiw/react-markdown-preview/esm/plugins/reservedMeta.js","../../node_modules/@uiw/react-markdown-preview/esm/index.js","../../node_modules/@uiw/react-markdown-preview/esm/nodes/copy.js","../../node_modules/@uiw/react-markdown-preview-example/esm/index.js","../../node_modules/@uiw/react-markdown-preview-example/esm/Github.js","../../node_modules/@uiw/react-markdown-preview-example/esm/Corners.js","../../node_modules/@uiw/react-markdown-preview-example/esm/Example.js","../../node_modules/@uiw/react-menu/esm/MenuItem.js","../../node_modules/@uiw/react-menu/esm/Divider.js","../../node_modules/@uiw/react-menu/esm/SubMenu.js","../../node_modules/@uiw/react-menu/esm/Menu.js","../../node_modules/@uiw/react-menu/esm/index.js","../../node_modules/@uiw/react-message/esm/index.js","../../node_modules/@uiw/react-modal/esm/CallShow.js","../../node_modules/@uiw/react-modal/esm/index.js","../../node_modules/@uiw/react-month-picker/esm/index.js","../../node_modules/@uiw/react-notify/esm/Container.js","../../node_modules/@uiw/react-notify/esm/index.js","../../node_modules/@uiw/utils/esm/randomid.js","../../node_modules/@uiw/react-overlay-trigger/esm/utils.js","../../node_modules/@uiw/react-overlay-trigger/esm/util/getBordersSize.js","../../node_modules/@uiw/react-overlay-trigger/esm/util/isBrowser.js","../../node_modules/@uiw/react-overlay-trigger/esm/util/isIE.js","../../node_modules/@uiw/react-overlay-trigger/esm/util/getWindowSizes.js","../../node_modules/@uiw/react-overlay-trigger/esm/util/getBoundingClientRect.js","../../node_modules/@uiw/react-overlay-trigger/esm/util/getClientRect.js","../../node_modules/@uiw/react-overlay-trigger/esm/util/getStyleComputedProperty.js","../../node_modules/@uiw/react-overlay-trigger/esm/util/getOuterSizes.js","../../node_modules/@uiw/react-overlay-trigger/esm/getStyle.js","../../node_modules/@uiw/react-overlay-trigger/esm/index.js","../../node_modules/@uiw/react-overlay/esm/index.js","../../node_modules/@uiw/react-pagination/esm/index.js","../../node_modules/@uiw/react-pin-code/esm/index.js","../../node_modules/@uiw/react-popover/esm/index.js","../../node_modules/@uiw/react-popover/esm/Confirm.js","../../node_modules/@uiw/react-portal/esm/index.js","../../node_modules/@uiw/react-progress/esm/utils.js","../../node_modules/@uiw/react-progress/esm/Circle.js","../../node_modules/@uiw/react-progress/esm/Line.js","../../node_modules/@uiw/react-progress/esm/index.js","../../node_modules/@uiw/react-radio/esm/RadioAbstract.js","../../node_modules/@uiw/react-radio/esm/Radio.js","../../node_modules/@uiw/react-radio/esm/RadioGroup.js","../../node_modules/@uiw/react-radio/esm/RadioButton.js","../../node_modules/@uiw/react-rate/esm/index.js","../../node_modules/@uiw/react-search-select/esm/index.js","../../node_modules/@uiw/react-search-tree/esm/SearchTagInput.js","../../node_modules/@uiw/react-search-tree/esm/index.js","../../node_modules/@uiw/react-select/esm/Option.js","../../node_modules/@uiw/react-select/esm/Group.js","../../node_modules/@uiw/react-select/esm/index.js","../../node_modules/@uiw/react-slider/esm/Dots.js","../../node_modules/@uiw/react-slider/esm/index.js","../../node_modules/@uiw/react-steps/esm/Step.js","../../node_modules/@uiw/react-steps/esm/Steps.js","../../node_modules/@uiw/react-steps/esm/index.js","../../node_modules/@uiw/react-switch/esm/index.js","../../node_modules/@uiw/react-table/esm/util.js","../../node_modules/@uiw/react-table/esm/ThComponent.js","../../node_modules/@uiw/react-table/esm/Thead.js","../../node_modules/@uiw/react-table/esm/Expandable.js","../../node_modules/@uiw/react-table/esm/TableTr.js","../../node_modules/@uiw/react-table/esm/index.js","../../node_modules/@uiw/react-tabs/esm/Pane.js","../../node_modules/@uiw/react-tabs/esm/index.js","../../node_modules/@uiw/react-tag/esm/index.js","../../node_modules/@uiw/react-textarea/esm/index.js","../../node_modules/@uiw/react-time-picker/esm/Panel.js","../../node_modules/@uiw/react-time-picker/esm/Time.js","../../node_modules/@uiw/react-time-picker/esm/index.js","../../node_modules/@uiw/react-tooltip/esm/index.js","../../node_modules/@uiw/react-transfer/esm/index.js","../../node_modules/@uiw/react-tree-checked/esm/index.js","../../node_modules/@uiw/react-tree/esm/TreeNode.js","../../node_modules/@uiw/react-tree/esm/index.js","../../node_modules/@uiw/utils/esm/getScroll.js","../../node_modules/@uiw/utils/esm/noop.js","../../node_modules/uiw/node_modules/@uiw/react-split/src/index.tsx","../../node_modules/@uiw/formatter/src/index.ts"],"sourcesContent":["/**\n * *** This styling is an extra step which is likely not required. ***\n * https://github.com/w3c/clipboard-apis/blob/master/explainer.adoc#writing-to-the-clipboard\n * \n * Why is it here? To ensure:\n * \n * 1. the element is able to have focus and selection.\n * 2. if element was to flash render it has minimal visual impact.\n * 3. less flakyness with selection and copying which **might** occur if\n * the textarea element is not visible.\n *\n * The likelihood is the element won't even render, not even a flash,\n * so some of these are just precautions. However in IE the element\n * is visible whilst the popup box asking the user for permission for\n * the web page to copy to the clipboard.\n * \n * Place in top-left corner of screen regardless of scroll position.\n *\n * @typedef CopyTextToClipboard\n * @property {(text: string, method?: (isCopy: boolean) => void) => void} void\n * @returns {void}\n * \n * @param {string} text \n * @param {CopyTextToClipboard} cb \n */\nexport default function copyTextToClipboard(text, cb) {\n if (typeof document === \"undefined\") return;\n const el = document.createElement('textarea');\n el.value = text;\n el.setAttribute('readonly', '');\n el.style = {\n position: 'absolute',\n left: '-9999px',\n }\n document.body.appendChild(el);\n const selected = document.getSelection().rangeCount > 0 ? document.getSelection().getRangeAt(0) : false;\n el.select();\n let isCopy = false;\n try {\n const successful = document.execCommand('copy');\n isCopy = !!successful;\n } catch (err) {\n isCopy = false;\n }\n document.body.removeChild(el);\n if (selected && document.getSelection) {\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(selected);\n }\n cb && cb(isCopy);\n};\n","import { getScroll } from '@uiw/utils';\nexport var getTargetRect = target => {\n return target !== window ? target.getBoundingClientRect() : {\n top: 0,\n left: 0,\n bottom: 0\n };\n};\nexport var getOffset = (element, target) => {\n var elemRect = element.getBoundingClientRect();\n var targetRect = getTargetRect(target);\n var scrollTop = getScroll(target, true);\n var scrollLeft = getScroll(target);\n var docElem = window.document.body;\n var clientTop = docElem.clientTop || 0;\n var clientLeft = docElem.clientLeft || 0;\n return {\n top: elemRect.top - targetRect.top + scrollTop - clientTop,\n left: elemRect.left - targetRect.left + scrollLeft - clientLeft,\n width: elemRect.width,\n height: elemRect.height\n };\n};\nexport var getDefaultTarget = () => typeof window !== 'undefined' ? window : null;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\", \"offsetTop\", \"offsetBottom\", \"target\", \"onChange\"];\nimport React from 'react';\nimport { noop } from '@uiw/utils';\nimport { getDefaultTarget, getOffset } from './utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default class Affix extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n placeholderStyle: undefined,\n affixStyle: undefined\n };\n this.box = void 0;\n this.target = void 0;\n this.events = ['resize', 'scroll', 'touchstart', 'touchmove', 'touchend', 'pageshow', 'load'];\n this.eventHandlers = {};\n this.timeout = void 0;\n this.getInstance = node => {\n if (node) {\n this.box = node;\n }\n };\n this.updatePosition = this.updatePosition.bind(this);\n }\n componentDidMount() {\n var target = this.props.target || getDefaultTarget;\n // Wait for parent component ref has its value\n this.timeout = window.setTimeout(() => {\n this.target = target();\n this.setTargetEventListeners();\n });\n }\n componentWillUnmount() {\n this.clearEventListeners();\n clearTimeout(this.timeout);\n }\n updatePosition() {\n var {\n offsetTop\n } = this.props;\n var {\n offsetBottom\n } = this.props;\n if (!this.box || !this.box.offsetParent) {\n return;\n }\n var elemSize = {\n width: this.box.clientWidth,\n height: this.box.clientHeight\n };\n var offsetMode = {\n top: true,\n bottom: false\n };\n if (typeof offsetTop !== 'number' && typeof offsetBottom !== 'number') {\n offsetMode.top = true;\n offsetTop = 0;\n }\n if (typeof offsetBottom === 'number') {\n offsetMode.top = false;\n offsetMode.bottom = true;\n }\n var elemOffset = getOffset(this.box, this.target);\n var box = this.box.getBoundingClientRect();\n var bottom = document.documentElement.clientHeight - box.y - elemOffset.height;\n if (offsetMode.top && box.y < 0) {\n this.setPlaceholderStyle(_extends({}, elemSize));\n this.setAffixStyle({\n position: 'fixed',\n top: offsetTop || 0,\n left: elemOffset.left,\n width: elemOffset.width\n });\n } else if (offsetMode.bottom && bottom < 0) {\n this.setPlaceholderStyle(_extends({}, elemSize));\n this.setAffixStyle({\n position: 'fixed',\n bottom: offsetBottom || 0,\n left: elemOffset.left,\n width: elemOffset.width\n });\n } else {\n this.setPlaceholderStyle();\n this.setAffixStyle();\n }\n }\n setAffixStyle(affixStyle) {\n var {\n onChange\n } = this.props;\n var affixed = !!this.state.affixStyle;\n this.setState({\n affixStyle\n }, () => {\n onChange && onChange(affixed);\n });\n }\n setPlaceholderStyle(placeholderStyle) {\n this.setState({\n placeholderStyle\n });\n }\n // 设置监听事件\n setTargetEventListeners() {\n this.clearEventListeners();\n this.events.forEach(eventName => {\n this.eventHandlers[eventName] = this.updatePosition;\n this.target && this.target.addEventListener(eventName, this.updatePosition, false);\n });\n }\n clearEventListeners() {\n this.events.forEach(eventName => {\n var handler = this.eventHandlers[eventName];\n this.target && this.target.removeEventListener(eventName, handler, false);\n });\n }\n render() {\n var _this$props = this.props,\n {\n prefixCls,\n className,\n children\n } = _this$props,\n resetProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var cls = [className, prefixCls].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(\"div\", _extends({}, resetProps, {\n ref: this.getInstance,\n style: _extends({}, this.state.placeholderStyle, this.props.style),\n children: /*#__PURE__*/_jsx(\"div\", {\n className: cls,\n style: this.state.affixStyle,\n children: children\n })\n }));\n }\n}\nAffix.defaultProps = {\n prefixCls: 'w-affix',\n onChange: noop\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"width\"];\nimport React from 'react';\nimport Modal from '@uiw/react-modal';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default (function (props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-alert',\n className,\n width = 400\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(Modal, _extends({}, other, {\n width: width,\n className: cls,\n children: props.children\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"text\"];\nimport React, { Fragment } from 'react';\nimport { createElement as _createElement } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar delimiter = /((?:https?:\\/\\/)?(?:(?:[a-z0-9]?(?:[a-z0-9\\-]{1,61}[a-z0-9])?\\.[^\\.|\\s])+[a-z\\.]*[a-z]+|(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})(?::\\d{1,5})*[a-z0-9.,_\\/~#&=;%+?\\-\\\\(\\\\)]*)/gi;\nexport default (function (props) {\n if (props === void 0) {\n props = {};\n }\n var {\n text = ''\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/_jsx(Fragment, {\n children: text.split(delimiter).map((word, idx) => {\n var match = word.match(delimiter);\n if (match && match[0]) {\n var url = match[0];\n return /*#__PURE__*/_createElement(\"a\", _extends({}, other, {\n key: idx,\n href: url.startsWith('http') ? url : \"http://\" + url\n }), url);\n }\n return /*#__PURE__*/_jsx(Fragment, {\n children: word\n }, idx);\n })\n });\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"shape\", \"size\", \"className\", \"src\", \"alt\", \"icon\", \"onError\"];\nimport React from 'react';\nimport Icon from '@uiw/react-icon';\nimport { noop } from '@uiw/utils';\nimport \"./style/index.css\";\nimport { useState } from 'react';\nimport { useEffect } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-avatar',\n shape = 'circle',\n size = 'default',\n className,\n src,\n alt,\n icon,\n onError: _onError = noop\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n var children = props.children;\n var [isImgExist, setIsImgExist] = useState(true);\n var cls = [prefixCls, className, size ? prefixCls + \"-\" + size : null, shape ? prefixCls + \"-\" + shape : null, src ? prefixCls + \"-image\" : null].filter(Boolean).join(' ').trim();\n useEffect(() => {\n setIsImgExist(true);\n }, [props.src]);\n if (isImgExist && src) {\n children = /*#__PURE__*/_jsx(\"img\", {\n src: src,\n alt: alt,\n onError: evn => {\n var errorFlag = _onError ? _onError(evn) : undefined;\n if (errorFlag !== false) {\n setIsImgExist(false);\n }\n }\n });\n } else if (icon && typeof icon === 'string') {\n children = /*#__PURE__*/_jsx(Icon, {\n type: icon\n });\n } else if (icon && /*#__PURE__*/React.isValidElement(icon)) {\n children = icon;\n }\n return /*#__PURE__*/_jsx(\"span\", _extends({}, resetProps, {\n className: cls,\n ref: ref,\n children: children\n }));\n});","/**\n * 获取当前滚动条所在位置\n */\nexport function getScrollTop() {\n var scrollTop = 0;\n if (document && document.documentElement && document.documentElement.scrollTop) {\n scrollTop = document.documentElement.scrollTop;\n } else if (document.body) {\n scrollTop = document.body.scrollTop;\n }\n return scrollTop;\n}\n\n/**\n * TODO\n * @param {*} position 滚动到何处\n * @param {*} step 步长\n * @param {*} current 滚动条当前位置\n */\nexport function scrollToAnimate(position, step, current) {\n if (position === void 0) {\n position = 0;\n }\n if (step === void 0) {\n step = 100;\n }\n if (current === void 0) {\n current = 0;\n }\n var start = 0;\n var timer = setInterval(() => {\n if (current - start >= position) {\n start += step;\n if (current - start >= position) {\n window.scrollTo(0, current - start);\n } else {\n window.scrollTo(0, position);\n }\n } else {\n clearInterval(timer);\n }\n }, 0);\n}\n/**\n * 获取滚动条位置百分比\n */\nexport function getScrollPercent(offsetTop) {\n if (offsetTop === void 0) {\n offsetTop = 0;\n }\n var percent = 0;\n if (offsetTop < getScrollTop()) {\n percent = Math.round((getScrollTop() - offsetTop) / (document.body.scrollHeight - offsetTop - window.innerHeight) * 100);\n }\n return percent > 100 ? 100 : percent;\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"content\", \"children\", \"offsetTop\", \"fixed\", \"speed\", \"showBelow\", \"clickable\"];\nimport React, { useState, useEffect } from 'react';\nimport { getScrollPercent, getScrollTop, scrollToAnimate } from './utils';\nimport \"./style/index.css\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-back-top',\n className,\n content,\n children,\n offsetTop = 0,\n fixed = true,\n speed = 100,\n showBelow = 1,\n clickable = true\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var topShowBelow = !fixed ? 0 : showBelow || 0;\n var [percent, setPercent] = useState(0);\n var [current, setCurrent] = useState(0);\n var visible = percent >= topShowBelow;\n var cls = [prefixCls, className, !fixed ? 'no-fixed' : null, visible ? prefixCls + \"-show\" : null, !visible ? prefixCls + \"-hide\" : null].filter(Boolean).join(' ').trim();\n useEffect(() => {\n window && window.addEventListener('scroll', onScroll);\n return function () {\n window && window.removeEventListener('scroll', onScroll);\n };\n });\n function onScroll() {\n setPercent(getScrollPercent(offsetTop));\n setCurrent(getScrollTop());\n }\n function scrollToTop() {\n if (typeof offsetTop === 'number' && typeof speed === 'number' && typeof current === 'number') {\n scrollToAnimate(offsetTop, speed, current);\n }\n }\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n onClick: () => clickable && scrollToTop(),\n className: cls\n }, other, {\n ref: ref,\n children: [content, typeof children !== 'function' ? children : children({\n percent,\n current,\n scrollToTop: scrollToTop\n })]\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"color\", \"max\", \"dot\", \"processing\", \"count\", \"children\"];\nimport React from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-badge',\n className,\n style = {},\n color,\n max = 99,\n dot = false,\n processing = false,\n count,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var supProps = {\n className: [!dot ? prefixCls + \"-count\" : null, dot ? 'dot' : null].filter(Boolean).join(' ').trim(),\n style: {}\n };\n var cls = [className, prefixCls, !children ? 'nowrap' : null, !children ? prefixCls + \"-status\" : null, processing ? prefixCls + \"-processing\" : null].filter(Boolean).join(' ').trim();\n var warpperProps = {};\n if (count || count === 0) {\n supProps.style = _extends({\n backgroundColor: color\n }, style);\n } else {\n warpperProps.style = style || {};\n }\n return /*#__PURE__*/_jsxs(\"span\", _extends({\n className: cls\n }, other, warpperProps, {\n ref: ref,\n children: [color && /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-dot\",\n style: {\n backgroundColor: color\n }\n }), children, count !== 0 && !color && /*#__PURE__*/_jsx(\"sup\", _extends({}, supProps, {\n children: !dot && count && max && count > max ? max + \"+\" : count\n }))]\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"tagName\", \"active\", \"separator\"];\nimport React, { Fragment } from 'react';\nimport \"./style/item.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar BreadcrumbItem = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-breadcrumb',\n className,\n tagName: TagName = 'span',\n active,\n separator\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var isElm = /*#__PURE__*/React.isValidElement(separator);\n var cls = [prefixCls + \"-item\", className, active ? 'active' : null, !separator ? 'no-separator' : null, isElm ? 'no-before' : null].filter(Boolean).join(' ').trim();\n var otherProps = _extends({\n className: cls\n }, other);\n if (!isElm) {\n otherProps['data-separator'] = separator;\n }\n return /*#__PURE__*/React.createElement(TagName, _extends({}, otherProps, {\n ref\n }), /*#__PURE__*/_jsxs(Fragment, {\n children: [isElm && /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-separator\",\n children: separator\n }), props.children]\n }));\n});\nexport default BreadcrumbItem;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"separator\"];\nimport React from 'react';\nimport Item from './Item';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar Breadcrumb = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-breadcrumb',\n className,\n separator = '/'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(\"div\", _extends({}, _extends({\n className: cls\n }, other), {\n ref: ref,\n children: React.Children.map(props.children, element => {\n return /*#__PURE__*/React.cloneElement(element, Object.assign({\n separator\n }, element.props, {}));\n })\n }));\n});\nBreadcrumb.Item = Item;\nexport default Breadcrumb;\nexport { Breadcrumb };","import Breadcrumb from './Breadcrumb';\nexport * from './Item';\nexport * from './Breadcrumb';\nexport default Breadcrumb;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"vertical\", \"children\", \"className\"];\nimport React from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-btn-group',\n vertical = false,\n children,\n className\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className, vertical && prefixCls + \"-vertical\"].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: cls\n }, resetProps, {\n ref: ref,\n children: children\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"disabled\", \"active\", \"loading\", \"block\", \"basic\", \"htmlType\", \"type\", \"size\", \"icon\", \"className\", \"children\"];\nimport React from 'react';\nimport Icon from '@uiw/react-icon';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-btn',\n disabled = false,\n active = false,\n loading = false,\n block = false,\n basic = false,\n htmlType = 'button',\n type = 'light',\n size = 'default',\n icon,\n className,\n children\n } = props,\n others = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [className, prefixCls, size ? prefixCls + \"-size-\" + size : null, type ? prefixCls + \"-\" + type : null, basic ? prefixCls + \"-basic\" : null, loading ? prefixCls + \"-loading\" : null, disabled || loading ? 'disabled' : null, active ? 'active' : null, block ? 'block' : null].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsxs(\"button\", _extends({}, others, {\n ref: ref,\n type: htmlType,\n disabled: disabled || loading,\n className: cls,\n children: [icon && /*#__PURE__*/_jsx(Icon, {\n type: icon\n }), children && React.Children.map(children, child => {\n if (!child) return child;\n if ( /*#__PURE__*/React.isValidElement(child)) return child;\n return /*#__PURE__*/_jsx(\"span\", {\n children: child\n });\n })]\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"date\", \"label\"];\nimport React, { useMemo } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function RenderDay(props) {\n var {\n prefixCls,\n day,\n data,\n currentDate\n } = props;\n var dayData = useMemo(() => (data || []).filter(item => {\n var arr = (item.date && item.date.split('/') || []).map(num => Number(num));\n if (arr.length === 1) {\n return day === arr[0];\n }\n if (currentDate && arr.length === 2) {\n return currentDate.getMonth() + 1 === arr[0] && day === arr[1];\n }\n if (currentDate && arr.length === 3) {\n return currentDate.getFullYear() === arr[0] && currentDate.getMonth() + 1 === arr[1] && day === arr[2];\n }\n return false;\n }), [currentDate, day, data]);\n return useMemo(() => /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-inner\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-day\",\n children: day\n }), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-panel\",\n children: dayData && dayData.length > 0 && dayData.map((item, idx) => {\n var {\n label\n } = item,\n other = _objectWithoutPropertiesLoose(item, _excluded);\n return /*#__PURE__*/_jsx(\"div\", _extends({}, other, {\n children: label\n }), idx);\n })\n })]\n }), [dayData, day]);\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"today\", \"date\", \"data\", \"monthLabel\", \"titleFormat\", \"todayLabel\", \"panelDate\", \"onPaging\", \"onSelectDay\"];\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { DatePickerDay } from '@uiw/react-date-picker';\nimport Icon from '@uiw/react-icon';\nimport formatter from '@uiw/formatter';\nimport RenderDay from './DayLabel';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar MONTH_LABEL = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'];\nexport default function Calendar(props) {\n var {\n prefixCls = 'w-calendar',\n className,\n style,\n today = new Date(),\n date,\n data,\n monthLabel = MONTH_LABEL,\n titleFormat = 'YYYY/MM',\n todayLabel = '今天',\n onPaging,\n onSelectDay: _onSelectDay\n } = props,\n otherProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n var [panelDate, setPanelDate] = useState(props.panelDate || new Date());\n useEffect(() => {\n if (props.panelDate !== panelDate) {\n setPanelDate(panelDate);\n }\n }, [props.panelDate]);\n function handlePaging(type) {\n var currentDate = new Date();\n if (type === 'today') {\n currentDate = today || new Date();\n } else {\n var _month = panelDate.getMonth();\n if (panelDate && type === 'prev') {\n panelDate.setMonth(_month - 1);\n }\n if (panelDate && type === 'next') {\n panelDate.setMonth(_month + 1);\n }\n currentDate = panelDate;\n }\n setPanelDate(new Date(currentDate));\n onPaging && onPaging(type, currentDate.getMonth() + 1, currentDate);\n }\n var titleLable = useMemo(() => /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-title\",\n children: formatter(titleFormat, panelDate)\n }), [prefixCls, titleFormat, panelDate]);\n var btngroup = useMemo(() => /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-btn-group\",\n children: [/*#__PURE__*/_jsx(Icon, {\n type: \"down\",\n onClick: () => handlePaging('prev')\n }), /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-btn\",\n onClick: () => handlePaging('today'),\n children: todayLabel\n }), /*#__PURE__*/_jsx(Icon, {\n type: \"down\",\n onClick: () => handlePaging('next')\n })]\n }), [prefixCls, todayLabel]);\n return /*#__PURE__*/_jsxs(\"div\", {\n className: cls,\n style: style,\n children: [/*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-caption\",\n children: [titleLable, btngroup]\n }), /*#__PURE__*/_jsx(DatePickerDay, _extends({\n onSelectDay: (currentDate, dateSource) => {\n setPanelDate(currentDate);\n _onSelectDay && _onSelectDay(currentDate, dateSource);\n },\n renderDay: (day, propsNext) => /*#__PURE__*/_jsx(RenderDay, {\n prefixCls: prefixCls,\n day: day,\n data: data,\n currentDate: propsNext.date\n }),\n date: date,\n today: today,\n panelDate: panelDate || new Date()\n }, otherProps))]\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"title\", \"extra\", \"footer\", \"bordered\", \"noHover\", \"active\", \"bodyStyle\", \"bodyClassName\", \"children\"];\nimport React, { useMemo } from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-card',\n className,\n title,\n extra,\n footer,\n bordered = true,\n noHover = false,\n active = false,\n bodyStyle,\n bodyClassName,\n children\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = useMemo(() => [prefixCls, className, bordered ? prefixCls + \"-bordered\" : null, noHover ? prefixCls + \"-no-hover\" : null, active ? 'active' : null].filter(Boolean).join(' ').trim(), [prefixCls, className, bordered, noHover]);\n return /*#__PURE__*/_jsxs(\"div\", _extends({}, resetProps, {\n className: cls,\n ref: ref,\n children: [(title || extra) && /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-head\",\n children: [title && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-head-title\",\n children: title\n }), extra && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-extra\",\n children: extra\n })]\n }), children && /*#__PURE__*/_jsx(\"div\", {\n className: [prefixCls + \"-body\", bodyClassName].filter(Boolean).join(' ').trim(),\n style: bodyStyle,\n children: children\n }), footer && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-footer\",\n children: footer\n })]\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction Carousel(props, ref) {\n var {\n position = 0,\n direction = 'horizontal',\n width = 400,\n height = 200,\n palyTime = 2000,\n scrollTime = 200,\n autoPlay = true,\n afterChange,\n beforeChange,\n prefixCls = 'w-carousel',\n className,\n style\n } = props;\n var cls = useMemo(() => [prefixCls, className].filter(Boolean).join(' ').trim(), [prefixCls, className]);\n var [currentPosition, currentPositionSet] = useState(position);\n var [transitionInner, transitionInnerSet] = useState(scrollTime * 0.001 + \"s ease-in-out\");\n var positionRef = useRef(currentPosition);\n var childCount = React.Children.count(props.children) + 1;\n var _stopPlay = useRef({\n stop: () => {},\n after: afterChange,\n before: beforeChange\n });\n React.useImperativeHandle(ref, () => ({\n gotoSlide,\n prevSlide: () => gotoSlide(positionRef.current - 1),\n nextSlide: () => gotoSlide(positionRef.current + 1),\n stopPlay: () => _stopPlay.current.stop()\n }), [ref]);\n var gotoSlide = slidNumber => {\n _stopPlay.current.stop();\n var maxSlid = childCount - 1;\n var slidNumberTemp = slidNumber > maxSlid ? maxSlid : slidNumber;\n slidNumberTemp = slidNumber < 0 ? 0 : slidNumberTemp;\n positionRef.current = slidNumberTemp;\n currentPositionSet(slidNumberTemp);\n play();\n };\n var play = function play(ms) {\n if (ms === void 0) {\n ms = palyTime;\n }\n if (autoPlay) {\n var time = setInterval(() => {\n _stopPlay.current.after == null || _stopPlay.current.after(positionRef.current);\n positionRef.current++;\n if (positionRef.current >= childCount) {\n positionRef.current = 0;\n }\n currentPositionSet(positionRef.current);\n _stopPlay.current.before == null || _stopPlay.current.before(positionRef.current);\n }, ms);\n _stopPlay.current.stop = () => {\n clearInterval(time);\n };\n }\n };\n useEffect(() => {\n play();\n return () => {\n _stopPlay.current.stop();\n };\n }, [autoPlay]);\n useEffect(() => {\n var time;\n if (childCount === currentPosition + 1) {\n time = setTimeout(() => {\n _stopPlay.current.before = () => {\n transitionInnerSet(scrollTime * 0.001 + \"s ease-in-out\");\n _stopPlay.current.before = props.beforeChange;\n };\n transitionInnerSet('none');\n gotoSlide(0);\n }, scrollTime);\n }\n return () => {\n clearTimeout(time);\n };\n }, [currentPosition]);\n var childrens = React.Children.map(props.children, child => {\n return /*#__PURE__*/_jsx(\"div\", {\n style: _extends({\n width,\n height\n }, style),\n children: child\n });\n });\n var innerStyle = useMemo(() => {\n var style = {\n transform: '',\n display: ''\n };\n switch (direction) {\n case 'horizontal':\n style.transform = \"translate3d(\" + -(currentPosition * width) + \"px, 0px, 0px)\";\n style.display = 'flex';\n break;\n case 'vertical':\n style.transform = \"translate3d(0px, \" + -(currentPosition * height) + \"px, 0px)\";\n style.display = 'block';\n break;\n default:\n break;\n }\n return style;\n }, [direction, currentPosition, width, height]);\n return /*#__PURE__*/_jsx(\"div\", {\n className: cls,\n style: {\n width,\n height\n },\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: cls + \"-content\",\n style: _extends({\n width: width * childCount,\n transition: transitionInner\n }, innerStyle),\n children: [childrens, /*#__PURE__*/_jsx(\"div\", {\n style: _extends({\n width,\n height\n }, style),\n children: childrens == null ? void 0 : childrens[0]\n })]\n })\n });\n}\nexport default /*#__PURE__*/React.forwardRef(Carousel);","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { useState, useEffect, useMemo } from 'react';\nimport Input from '@uiw/react-input';\nimport Dropdown from '@uiw/react-dropdown';\nimport Menu from '@uiw/react-menu';\nimport Icon from '@uiw/react-icon';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction Cascader(props) {\n var {\n value,\n onChange,\n onSearch,\n expandTrigger = 'click',\n size,\n disabled,\n allowClear,\n placeholder,\n prefixCls = 'w-cascader',\n className,\n style = {\n width: 200\n },\n option = [],\n others,\n inputProps\n } = props;\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n var [innerIsOpen, setInnerIsOpen] = useState(false);\n var [selectedValue, setSelectedValue] = useState([]);\n var [selectIconType, setSelectIconType] = useState('');\n var [searchText, setSearchText] = useState('');\n var [searchOn, setSearchOn] = useState(false);\n var [inputValue, setInputValue] = useState('');\n var [searchOption, setSearchOption] = useState();\n useEffect(() => {\n if (onSearch) {\n var tempOptions = [];\n iteratorOption(option, opt => {\n var label = opt.map(m => m.label).join(' / ');\n tempOptions.push({\n label,\n options: opt\n });\n });\n setSearchOption(tempOptions);\n }\n }, [onSearch]);\n var iteratorOption = function iteratorOption(options, cb, opts) {\n if (opts === void 0) {\n opts = [];\n }\n options.map(opt => {\n var optsTemp = [...opts, opt];\n if (opt.children) {\n iteratorOption(opt.children, cb, optsTemp);\n } else {\n cb == null || cb(optsTemp);\n }\n });\n };\n useEffect(() => {\n if (value) {\n var valueTemp = [];\n var optChildren = option;\n value == null || value.map(item => {\n var findOpt = optChildren.find(opt => opt.value === item);\n optChildren = (findOpt == null ? void 0 : findOpt.children) || [];\n valueTemp.push(_extends({\n label: item,\n value: item\n }, findOpt));\n });\n setSelectedValue(valueTemp);\n }\n }, [value]);\n function onVisibleChange(isOpen) {\n setInnerIsOpen(isOpen);\n }\n function renderSelectIcon(type) {\n var selectIconType;\n if (type === 'enter' && allowClear && selectedValue.length > 0) {\n selectIconType = 'close';\n } else {\n selectIconType = '';\n }\n setSelectIconType(selectIconType);\n }\n var searchItemClick = options => {\n setSearchText('');\n setInnerIsOpen(false);\n handelChange(false, options);\n };\n var handleItemClick = (optionsItem, level) => {\n selectedValue.splice(level, selectedValue.length - level, optionsItem);\n if (!optionsItem.children) setInnerIsOpen(false);\n handelChange(true, selectedValue);\n };\n var handelChange = (isSeleted, selectedValue) => {\n setSelectedValue([...selectedValue]);\n var value = selectedValue.map(item => item.value);\n onChange == null || onChange(isSeleted, value, selectedValue);\n };\n var onClear = e => {\n e.stopPropagation();\n handelChange(false, []);\n };\n var handelSearch = searchText => {\n setSearchText(searchText);\n };\n var inputChange = e => {\n if (!innerIsOpen) {\n setInnerIsOpen(!innerIsOpen);\n }\n var value = e.target.value;\n onSearch && handelSearch(value);\n };\n var widths = (style == null ? void 0 : style.width) * 0.7 || undefined;\n var trigger = useMemo(() => {\n return (cb, click) => {\n var triggers = {\n onClick: () => {},\n onMouseOver: () => {}\n };\n var callback = () => {\n cb();\n };\n if (expandTrigger === 'click' || click) {\n triggers.onClick = callback;\n } else if (expandTrigger === 'hover') {\n triggers.onMouseOver = callback;\n }\n return triggers;\n };\n }, []);\n var OptionIter = function OptionIter(option, level) {\n if (level === void 0) {\n level = 0;\n }\n if (!option) return;\n return /*#__PURE__*/_jsx(Menu, {\n bordered: true,\n style: {\n minHeight: 25,\n minWidth: widths,\n overflowY: 'scroll',\n width: widths\n },\n children: !option || option.length === 0 ? /*#__PURE__*/_jsx(\"div\", {\n style: {\n color: '#c7c7c7',\n fontSize: 12\n },\n children: '没有数据'\n }) : option.map((opt, index) => {\n var _selectedValue$level, _opt$children;\n var active = ((_selectedValue$level = selectedValue[level]) == null ? void 0 : _selectedValue$level.value) === opt.value;\n return /*#__PURE__*/_jsx(Menu.Item, _extends({\n active: active,\n text: opt.label,\n addonAfter: opt.children ? /*#__PURE__*/_jsx(Icon, {\n type: \"right\"\n }) : undefined\n }, trigger(() => {\n handleItemClick(opt, level);\n }, !((_opt$children = opt.children) != null && _opt$children.length))), index);\n })\n }, level);\n };\n useEffect(() => {\n var inputValue = selectedValue.map(opt => opt.label).join(' / ');\n setInputValue(inputValue);\n }, [selectedValue]);\n return /*#__PURE__*/_jsx(Dropdown, _extends({\n className: cls,\n trigger: \"click\",\n style: {\n marginTop: 5\n },\n overlayStyl: {\n width: 100\n },\n disabled: disabled\n }, others, {\n onVisibleChange: onVisibleChange,\n isOpen: innerIsOpen,\n menu: !searchText ? /*#__PURE__*/_jsx(\"div\", {\n style: {\n display: 'flex'\n },\n children: new Array(selectedValue.length + 1).fill(0).map((_, index) => {\n var _selectedValue;\n var options = index ? (_selectedValue = selectedValue[index - 1]) == null ? void 0 : _selectedValue.children : option;\n return OptionIter(options, index);\n }).filter(m => !!m)\n }) : /*#__PURE__*/_jsx(Menu, {\n bordered: true,\n style: {\n minHeight: 25,\n minWidth: style == null ? void 0 : style.width,\n overflowY: 'scroll',\n width: style == null ? void 0 : style.width\n },\n children: !searchOption || searchOption.length === 0 ? /*#__PURE__*/_jsx(\"div\", {\n style: {\n color: '#c7c7c7',\n fontSize: 12\n },\n children: '没有数据'\n }) : searchOption.filter(opt => opt.label.includes(searchText.trim())).map((opt, index) => {\n return /*#__PURE__*/_jsx(Menu.Item, {\n text: opt.label,\n onClick: () => searchItemClick(opt.options)\n }, index);\n })\n }),\n children: /*#__PURE__*/_jsx(\"span\", {\n onMouseLeave: () => renderSelectIcon('leave'),\n onMouseOver: () => renderSelectIcon('enter'),\n children: /*#__PURE__*/_jsx(Input, _extends({}, inputProps, {\n value: searchOn ? searchText : inputValue,\n onChange: inputChange,\n size: size,\n disabled: disabled,\n placeholder: searchOn ? inputValue : placeholder,\n style: style,\n onFocus: () => onSearch && setSearchOn(true),\n onBlur: () => onSearch && setSearchOn(false),\n readOnly: !onSearch,\n addonAfter: /*#__PURE__*/_jsx(\"span\", {\n style: {\n width: 'auto'\n },\n children: !disabled && selectIconType === 'close' && /*#__PURE__*/_jsx(Icon, {\n type: selectIconType,\n onClick: onClear,\n className: prefixCls + \"-close\"\n })\n })\n }))\n })\n }));\n}\nexport default Cascader;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"name\", \"value\", \"onChange\"];\nimport React, { useMemo, useRef } from 'react';\nimport \"./style/group.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var CheckboxGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-checkbox-group',\n className,\n name,\n value,\n onChange: _onChange\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var valueRef = useRef([]);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n var childs = React.Children.toArray(props.children);\n useMemo(() => valueRef.current = value || [], [value]);\n return /*#__PURE__*/_jsx(\"div\", _extends({}, other, {\n className: cls,\n ref: ref,\n children: React.Children.map(childs, element => {\n if (! /*#__PURE__*/React.isValidElement(element)) return;\n if (Array.isArray(value) && element && element.props && element.props.value && value.includes(element.props.value)) {\n if (!valueRef.current.includes(element.props.value)) {\n valueRef.current.push(element.props.value);\n }\n }\n return /*#__PURE__*/React.cloneElement(element, Object.assign({}, element.props, {\n name,\n checked: valueRef.current.includes(element.props.value),\n onChange: e => {\n if (e.target.type && e.target.type !== 'checkbox') return;\n var checked = e.target.checked;\n var include = valueRef.current.includes(element.props.value);\n if (!include && checked) {\n valueRef.current.push(element.props.value);\n } else if (include && !checked) {\n valueRef.current = valueRef.current.filter(val => val !== element.props.value);\n }\n _onChange && _onChange(e, valueRef.current);\n }\n }));\n })\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"prefixCls\", \"type\", \"indeterminate\", \"disabled\", \"value\"];\nimport React from 'react';\nimport { RadioAbstract } from '@uiw/react-radio';\nimport { CheckboxGroup } from './Group';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction InternalCheckbox(props, ref) {\n var {\n className,\n prefixCls = 'w-checkbox',\n type = 'checkbox',\n indeterminate = false,\n disabled = false,\n value = ''\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [className, indeterminate && 'indeterminate'].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(RadioAbstract, _extends({\n ref: ref\n }, other, {\n type: type,\n prefixCls: prefixCls,\n disabled: disabled,\n value: value,\n className: cls\n }));\n}\nvar Checkbox = /*#__PURE__*/React.forwardRef(InternalCheckbox);\nCheckbox.Group = CheckboxGroup;\nexport default Checkbox;","import Checkbox from './Checkbox';\nexport * from './Checkbox';\nexport * from './Group';\nexport default Checkbox;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"icon\", \"children\", \"isActive\", \"onItemClick\", \"disabled\", \"showArrow\", \"header\", \"extra\"];\nimport React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport Icon from '@uiw/react-icon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Panel(props) {\n var {\n prefixCls = 'w-collapse',\n className,\n icon = 'down',\n children: _children,\n isActive,\n onItemClick,\n disabled = false,\n showArrow,\n header,\n extra\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls ? prefixCls + \"-item\" : null, className, isActive ? prefixCls + \"-active\" : null, disabled ? prefixCls + \"-disabled\" : null].filter(Boolean).join(' ').trim();\n var iconRender = typeof icon === 'string' ? /*#__PURE__*/_jsx(Icon, {\n type: icon\n }) : icon;\n var childStyle = child => {\n return Object.assign({}, child && child.props ? child.props.style : {}, {\n transitionDuration: '300ms'\n });\n };\n function getInstance(status, instance) {\n if (!instance) {\n return;\n }\n if (status === 'exited' || status === 'exiting') {\n instance.style.height = '1px';\n }\n if (status === 'entered' || status === 'entering') {\n instance.style.height = instance.scrollHeight + \"px\";\n }\n }\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls\n }, resetProps, {\n children: [/*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-header\",\n onClick: onItemClick,\n children: [showArrow && iconRender, /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-title\",\n children: header\n }), extra && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-extra\",\n children: extra\n })]\n }), /*#__PURE__*/_jsx(CSSTransition, {\n in: isActive,\n unmountOnExit: false,\n timeout: 300,\n classNames: prefixCls + \"-panel\",\n children: status => /*#__PURE__*/React.cloneElement( /*#__PURE__*/_jsx(\"div\", {\n children: _children\n }), {\n className: prefixCls + \"-panel\",\n style: childStyle(_children),\n ref: e => getInstance(status, e)\n })\n })]\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\", \"accordion\", \"bordered\", \"showArrow\", \"activeKey\", \"onChange\"];\nimport React, { useState, useMemo } from 'react';\nimport Panel from './Panel';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction toArray(activeKey) {\n var currentActiveKey = activeKey;\n if (!Array.isArray(currentActiveKey)) {\n currentActiveKey = currentActiveKey ? [currentActiveKey] : [];\n }\n return currentActiveKey;\n}\nfunction InternalCollapse(props, ref) {\n var {\n prefixCls = 'w-collapse',\n className,\n children,\n accordion = false,\n bordered,\n showArrow = true,\n activeKey: propsActiveKey,\n onChange\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n var [activeKey, setActiveKey] = useState(toArray(propsActiveKey));\n var cls = [prefixCls, className, bordered ? 'w-noborder' : null].filter(Boolean).join(' ').trim();\n function onItemClick(key) {\n var keys = activeKey;\n if (accordion) {\n keys = keys[0] === key ? [] : [key];\n } else {\n keys = [...keys];\n var index = keys.indexOf(key);\n var isActive = index > -1;\n if (isActive) {\n keys.splice(index, 1);\n } else {\n keys.push(key);\n }\n }\n setActiveKey(keys);\n }\n useMemo(() => {\n if (propsActiveKey !== activeKey) {\n setActiveKey(toArray(propsActiveKey));\n }\n }, [propsActiveKey]);\n useMemo(() => {\n if (propsActiveKey !== activeKey) {\n onChange && onChange(activeKey);\n }\n }, [activeKey, propsActiveKey]);\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: cls\n }, resetProps, {\n ref: ref,\n children: React.Children.map(children, (child, index) => {\n // 如果没有密钥提供,请使用面板顺序作为默认密钥\n var key = child.key || String(index);\n var {\n disabled\n } = child.props;\n var isActive = false;\n if (accordion) {\n // 手风琴模式下默认选择第一个\n isActive = activeKey[0] === key;\n } else {\n isActive = activeKey.indexOf(key) > -1;\n }\n var childProps = _extends({\n prefixCls,\n isActive,\n disabled,\n showArrow,\n onItemClick: disabled ? () => {} : () => onItemClick(key)\n }, child.props);\n return /*#__PURE__*/React.cloneElement(child, childProps);\n })\n }));\n}\nvar Collapse = /*#__PURE__*/React.forwardRef(InternalCollapse);\nCollapse.displayName = 'Collapse';\nCollapse.Panel = Panel;\nexport default Collapse;","import Collapse from './Collapse';\nexport * from './Collapse';\nexport * from './Panel';\nexport default Collapse;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"text\", \"children\", \"onClick\"];\nimport React from 'react';\nimport copy from '@uiw/copy-to-clipboard';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function CopyToClipboard(props) {\n var {\n prefixCls = 'w-copy-to-clipboard',\n className,\n text = '',\n children,\n onClick = () => null\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n function handleClick(e) {\n if (!text) {\n return onClick('', false, e);\n }\n copy(text, isCopy => {\n onClick(text, isCopy, e);\n });\n }\n var otherProps = _extends({}, resetProps, {\n className: [prefixCls, className].filter(Boolean).join(' ').trim(),\n onClick: handleClick\n });\n return /*#__PURE__*/_jsxs(\"span\", _extends({}, otherProps, {\n children: [/*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-select\",\n children: text\n }), children]\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"bodyStyle\", \"className\", \"popoverProps\", \"datePickerProps\", \"allowClear\", \"format\", \"onChange\", \"value\"];\nimport React, { useEffect, useState } from 'react';\nimport Input from '@uiw/react-input';\nimport Popover from '@uiw/react-popover';\nimport DatePicker from '@uiw/react-date-picker';\nimport Icon from '@uiw/react-icon';\nimport formatter from '@uiw/formatter';\nimport \"./style/date-input-range.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport function DateInputRange(props) {\n var {\n prefixCls = 'w-dateinputrange',\n bodyStyle = undefined,\n className,\n popoverProps,\n datePickerProps,\n allowClear = true,\n format = 'YYYY/MM/DD',\n onChange,\n value\n } = props,\n inputProps = _objectWithoutPropertiesLoose(props, _excluded);\n var [dateRange, setDateRange] = useState([]);\n useEffect(() => {\n var valueTemp = [];\n var propsValue = value;\n if (Array.isArray(propsValue) && !!(propsValue != null && propsValue.length)) {\n propsValue.forEach((date, index) => {\n valueTemp[index] = typeof propsValue[index] === 'string' ? new Date(date) : date;\n });\n }\n setDateRange(valueTemp);\n }, [JSON.stringify(value)]);\n function handleChange(cdate, idx) {\n var changeValue = [...dateRange];\n changeValue[idx] = cdate;\n setDateRange(changeValue);\n onChange && onChange(cdate, changeValue);\n }\n function clearDateRange() {\n setDateRange([]);\n onChange && onChange(undefined, []);\n }\n return /*#__PURE__*/_jsxs(\"div\", {\n className: [prefixCls + \"-contents\", prefixCls + \"-inner\"].filter(Boolean).join(' ').trim(),\n style: _extends({\n width: 300\n }, bodyStyle),\n children: [/*#__PURE__*/_jsx(Popover, _extends({\n trigger: \"focus\",\n placement: \"bottomLeft\",\n autoAdjustOverflow: true\n }, popoverProps, {\n content: /*#__PURE__*/_jsx(DatePicker, _extends({\n date: dateRange[0],\n className: prefixCls + \"-popover\"\n }, datePickerProps, {\n onChange: selectedDate => handleChange(selectedDate, 0)\n })),\n children: /*#__PURE__*/_jsx(Input, _extends({\n placeholder: \"\\u8BF7\\u9009\\u62E9\\u65E5\\u671F\",\n readOnly: true\n }, inputProps, {\n // onChange={(v) => console.log('v', v)}\n value: dateRange[0] ? formatter(format, dateRange[0]) : '',\n className: [prefixCls, className].filter(Boolean).join(' ').trim()\n }))\n })), /*#__PURE__*/_jsx(Icon, {\n type: \"swap-right\",\n verticalAlign: \"baseline\",\n style: {\n fontSize: 21,\n top: -1,\n margin: '0px 8px 0px 5px'\n }\n }), /*#__PURE__*/_jsx(Popover, _extends({\n trigger: \"focus\",\n placement: \"bottomLeft\",\n autoAdjustOverflow: true\n }, popoverProps, {\n content: /*#__PURE__*/_jsx(DatePicker, _extends({\n date: dateRange[1],\n className: prefixCls + \"-popover\"\n }, datePickerProps, {\n onChange: selectedDate => handleChange(selectedDate, 1)\n })),\n children: /*#__PURE__*/_jsx(Input, _extends({\n placeholder: \"\\u8BF7\\u9009\\u62E9\\u65E5\\u671F\",\n readOnly: true\n }, inputProps, {\n value: dateRange[1] ? formatter(format, dateRange[1]) : ''\n // onChange={(v) => console.log('v2', v)}\n ,\n className: [prefixCls, className].filter(Boolean).join(' ').trim()\n }))\n })), allowClear && dateRange.length > 0 && /*#__PURE__*/_jsx(Icon, {\n className: prefixCls + \"-close-btn\",\n color: \"#a5a5a5\",\n onClick: () => clearDateRange(),\n type: \"close\"\n })]\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"popoverProps\", \"datePickerProps\", \"allowClear\", \"autoClose\", \"format\", \"onChange\"];\nimport React, { useEffect, useState } from 'react';\nimport Input from '@uiw/react-input';\nimport Popover from '@uiw/react-popover';\nimport DatePicker from '@uiw/react-date-picker';\nimport Icon from '@uiw/react-icon';\nimport formatter from '@uiw/formatter';\nexport * from './DateInputRange';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function DateInput(props) {\n var {\n prefixCls = 'w-dateinput',\n className,\n popoverProps,\n datePickerProps,\n allowClear = true,\n autoClose = false,\n format = 'YYYY/MM/DD',\n onChange\n } = props,\n inputProps = _objectWithoutPropertiesLoose(props, _excluded);\n var [date, setDate] = useState(props.value);\n var value = date || '';\n inputProps.value = typeof value === 'string' ? value : formatter(format, value);\n useEffect(() => {\n if (props.value !== date) {\n setDate(props.value);\n }\n }, [props.value]);\n function handleChange(cdate) {\n autoClose && setIsOpen(false);\n setDate(cdate);\n onChange && onChange(cdate);\n }\n if (allowClear && inputProps.value) {\n inputProps.addonAfter = /*#__PURE__*/_jsx(Icon, {\n className: prefixCls + \"-close-btn\",\n onClick: () => handleChange(undefined),\n type: \"close\"\n });\n }\n var [isOpen, setIsOpen] = useState(false);\n return /*#__PURE__*/_jsx(Popover, _extends({\n trigger: \"focus\",\n placement: \"bottomLeft\",\n autoAdjustOverflow: true,\n isOpen: isOpen,\n onVisibleChange: open => setIsOpen(open)\n }, popoverProps, {\n content: /*#__PURE__*/_jsx(DatePicker, _extends({\n date: value && new Date(value) || undefined,\n className: prefixCls + \"-popover\"\n }, datePickerProps, {\n onChange: selectedDate => handleChange(selectedDate)\n })),\n children: /*#__PURE__*/_jsx(Input, _extends({\n placeholder: \"\\u8BF7\\u9009\\u62E9\\u65E5\\u671F\",\n readOnly: true\n }, inputProps, {\n className: [prefixCls, className].filter(Boolean).join(' ').trim()\n }))\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"date\", \"row\", \"col\", \"index\", \"today\", \"panelDate\", \"disabledDate\", \"renderDay\", \"onSelectDay\"],\n _excluded2 = [\"prefixCls\", \"className\", \"weekday\", \"weekTitle\", \"date\", \"today\", \"panelDate\", \"disabledDate\", \"renderDay\", \"onSelectDay\"];\nimport React, { useMemo } from 'react';\nimport \"./style/day.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction isValidDate(date) {\n return date instanceof Date && !isNaN(date.getTime());\n}\nfunction classnames(obj) {\n return Object.keys(obj || {}).map(keyName => obj[keyName] ? keyName : null).filter(Boolean).join(' ').trim();\n}\nexport function DayRect(props) {\n var {\n date: selectedDate,\n col,\n index,\n today,\n panelDate,\n disabledDate,\n renderDay,\n onSelectDay\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = {\n end: col === 0 || col === 6,\n prev: false,\n today: false,\n selected: false,\n next: false,\n disabled: false\n };\n var date = panelDate;\n if (!date || !isValidDate(date)) date = new Date();\n var year = date.getFullYear();\n var month = date.getMonth();\n var week = useMemo(() => new Date(new Date(date).setDate(1)).getDay(), [date.toDateString()]);\n var lastDay = useMemo(() => new Date(year, month === 0 ? 12 : month + 1, 0).getDate(), [date.toDateString()]);\n var day = index;\n if (date) {\n day = day - week + 1;\n if (day < 1) {\n cls.prev = true;\n }\n if (day > lastDay) {\n cls.next = true;\n }\n }\n var cellDate = new Date(new Date(date).setDate(day));\n if (today && today.toDateString() === cellDate.toDateString()) {\n cls.today = true;\n }\n if (selectedDate && selectedDate.toDateString() === cellDate.toDateString()) {\n cls.selected = true;\n }\n var divProps = {\n onClick: () => {\n var cellMonth = cellDate.getMonth();\n onSelectDay && onSelectDay(cellDate, {\n year: cellDate.getFullYear(),\n month: cellMonth === 0 ? 12 : cellMonth + 1,\n day: cellDate.getDate()\n });\n }\n };\n if (disabledDate && disabledDate(cellDate, _extends({}, props, cls))) {\n cls.disabled = true;\n delete divProps.onClick;\n }\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: classnames(cls)\n }, other, divProps, {\n children: renderDay ? renderDay(cellDate.getDate(), _extends({}, props, cls, {\n date: cellDate\n })) : /*#__PURE__*/_jsx(\"div\", {\n children: cellDate.getDate()\n })\n }));\n}\nvar WEEKTITLE = ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];\nvar WEEKDAY = ['日', '一', '二', '三', '四', '五', '六'];\nexport function DatePickerDay(props) {\n var {\n prefixCls = 'w-datepicker',\n className,\n weekday = WEEKDAY,\n weekTitle = WEEKTITLE,\n date,\n today,\n panelDate,\n disabledDate,\n renderDay,\n onSelectDay: _onSelectDay\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n var weekdayLabel = useMemo(() => /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-weekday\",\n children: (weekday || []).map((week, idx) => /*#__PURE__*/_jsx(\"div\", {\n className: classnames({\n end: idx === 0 || idx === 6\n }),\n title: weekTitle && weekTitle[idx],\n children: week\n }, idx))\n }), [prefixCls, weekday, weekTitle]);\n return /*#__PURE__*/_jsxs(\"div\", _extends({}, other, {\n className: [prefixCls ? prefixCls + \"-body\" : null, className].filter(Boolean).join(' ').trim(),\n children: [weekdayLabel, /*#__PURE__*/_jsx(\"div\", {\n className: [prefixCls ? prefixCls + \"-day-body\" : null].filter(Boolean).join(' ').trim(),\n children: [...Array(6)].map((_, idx) => /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-week\",\n children: [...Array(7)].map((_, col) => /*#__PURE__*/_jsx(DayRect, {\n date: date,\n today: today,\n disabledDate: disabledDate,\n renderDay: renderDay,\n panelDate: panelDate,\n col: col,\n row: idx,\n onSelectDay: (curDate, data) => {\n _onSelectDay && _onSelectDay(curDate, data);\n },\n index: idx * 7 + col\n }, col))\n }, idx))\n })]\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"panelDate\", \"monthLabel\", \"onSelected\"];\nimport React from 'react';\nimport { noop } from '@uiw/utils';\nimport \"./style/year-month.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function DatePickerMonth(props) {\n var {\n prefixCls = 'w-datepicker',\n className,\n panelDate = new Date(),\n monthLabel,\n onSelected = noop\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: [prefixCls ? prefixCls + \"-month\" : null, className].filter(Boolean).join(' ').trim()\n }, other, {\n children: [...Array(12)].map((_, idx) => {\n var selectedMonth = panelDate.getMonth();\n return /*#__PURE__*/_jsx(\"div\", {\n className: [selectedMonth === idx ? 'selected' : null].filter(Boolean).join(' ').trim(),\n children: /*#__PURE__*/_jsx(\"span\", {\n onClick: () => onSelected(idx, false),\n children: monthLabel && monthLabel[idx] || idx\n })\n }, idx);\n })\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"panelNum\", \"className\", \"panelDate\", \"onSelected\"];\nimport React, { useState } from 'react';\nimport { noop } from '@uiw/utils';\nimport \"./style/year-month.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function DatePickerYear(props) {\n var {\n prefixCls = 'w-datepicker',\n panelNum = [-7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n className,\n onSelected = noop\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [activeYear, setActiveYear] = useState(props.panelDate);\n function handleSelected(year, idx) {\n if (idx === 0 || idx === panelNum.length - 1) {\n var date = new Date(activeYear);\n date.setFullYear(year);\n setActiveYear(date);\n } else {\n onSelected(year);\n }\n }\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: [prefixCls ? prefixCls + \"-year\" : null, className].filter(Boolean).join(' ').trim()\n }, other, {\n children: panelNum && panelNum.map((_, idx) => {\n var selectedYear = activeYear.getFullYear();\n var year = selectedYear + panelNum[idx];\n return /*#__PURE__*/_jsx(\"div\", {\n className: [selectedYear === year ? 'selected' : null, idx === 0 || idx === panelNum.length - 1 ? 'paging' : null].filter(Boolean).join(' ').trim(),\n children: /*#__PURE__*/_jsx(\"span\", {\n onClick: () => handleSelected(year, idx),\n children: year\n })\n }, idx);\n })\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"panelDate\", \"monthLabel\", \"onSelected\", \"todayButton\"];\nimport React, { useMemo } from 'react';\nimport { noop } from '@uiw/utils';\nimport \"./style/caption.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction classnames() {\n for (var _len = arguments.length, arg = new Array(_len), _key = 0; _key < _len; _key++) {\n arg[_key] = arguments[_key];\n }\n return [...arg].filter(Boolean).join(' ').trim();\n}\nexport function DatePickerCaption(props) {\n var {\n prefixCls = 'w-datepicker',\n className,\n panelDate = new Date(),\n monthLabel,\n onSelected = noop,\n todayButton\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var renderMonth = useMemo(() => {\n var month = panelDate.getMonth();\n return monthLabel && monthLabel[month] || month + 1;\n }, [panelDate.toDateString(), monthLabel]);\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: classnames(prefixCls ? prefixCls + \"-caption\" : null, className)\n }, other, {\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: classnames(prefixCls ? prefixCls + \"-caption-pane\" : null, 'prev'),\n onClick: () => onSelected('prev')\n }), /*#__PURE__*/_jsx(\"div\", {\n className: classnames(prefixCls ? prefixCls + \"-caption-pane\" : null, 'month'),\n onClick: () => onSelected('month'),\n children: renderMonth\n }), /*#__PURE__*/_jsx(\"div\", {\n className: classnames(prefixCls ? prefixCls + \"-caption-pane\" : null, 'year'),\n onClick: () => onSelected('year'),\n children: panelDate.getFullYear()\n }), todayButton && /*#__PURE__*/_jsx(\"div\", {\n className: classnames(prefixCls ? prefixCls + \"-caption-today\" : null),\n onClick: () => onSelected('today'),\n title: todayButton\n }), /*#__PURE__*/_jsx(\"div\", {\n className: classnames(prefixCls ? prefixCls + \"-caption-pane\" : null, 'next'),\n onClick: () => onSelected('next')\n })]\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"weekday\", \"weekTitle\", \"monthLabel\", \"date\", \"today\", \"todayButton\", \"panelDate\", \"disabledDate\", \"renderDay\", \"onChange\", \"onPanelChange\", \"showTime\"];\nimport React, { useEffect, useMemo, useState } from 'react';\nimport formatter from '@uiw/formatter';\nimport { noop } from '@uiw/utils';\nimport { TimePickerTime } from '@uiw/react-time-picker';\nimport { DatePickerDay } from './DatePickerDay';\nimport { DatePickerMonth } from './DatePickerMonth';\nimport { DatePickerYear } from './DatePickerYear';\nimport { DatePickerCaption } from './DatePickerCaption';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport * from './DatePickerDay';\nexport * from './DatePickerMonth';\nexport * from './DatePickerYear';\nexport * from './DatePickerCaption';\nvar MONTH_LABEL = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'];\nexport default function DatePicker(props) {\n var {\n prefixCls = 'w-datepicker',\n className,\n weekday,\n weekTitle,\n monthLabel = MONTH_LABEL,\n date,\n today = new Date(),\n todayButton,\n panelDate = new Date(),\n disabledDate,\n renderDay,\n onChange = noop,\n onPanelChange = noop,\n showTime\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [type, setType] = useState('day');\n var [selectDate, setSelectDate] = useState(date);\n var [selectPanelDate, setSelectPanelDate] = useState(panelDate);\n useEffect(() => {\n if (date) {\n setSelectDate(date);\n setSelectPanelDate(date);\n }\n }, [date]);\n var format = useMemo(() => showTime && showTime.format ? showTime.format : 'HH:mm:ss', [showTime]);\n function handleSelected(curType) {\n if (curType && /^(year|month|time)$/.test(curType)) {\n if (type === 'time') {\n curType = 'day';\n }\n setType(curType);\n } else {\n var currentDate = new Date(selectPanelDate);\n var month = currentDate.getMonth();\n if (curType === 'prev') {\n month -= 1;\n }\n if (curType === 'next') {\n month += 1;\n }\n currentDate.setMonth(month);\n if (curType === 'prev' || curType === 'next') {\n onPanelChange && onPanelChange(new Date(currentDate), curType);\n }\n setSelectPanelDate(curType === 'today' ? today : currentDate);\n curType === 'today' && setSelectDate(today);\n setType('day');\n }\n }\n function onSelectedTime(type, num) {\n (selectPanelDate || new Date())[\"set\" + type](num);\n setSelectPanelDate(new Date(selectPanelDate));\n onChange && onChange(new Date(selectPanelDate));\n }\n function onSelectedDate(type, month, paging) {\n (selectPanelDate || new Date())[type](month);\n setSelectPanelDate(new Date(selectPanelDate));\n setType('day');\n onChange && onChange(new Date(selectPanelDate));\n }\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: [prefixCls, className].filter(Boolean).join(' ').trim()\n }, other, {\n children: [/*#__PURE__*/_jsx(DatePickerCaption, {\n todayButton: todayButton,\n panelDate: selectPanelDate,\n monthLabel: monthLabel,\n onSelected: handleSelected\n }), type === 'day' && /*#__PURE__*/_jsx(DatePickerDay, {\n prefixCls: prefixCls,\n disabledDate: disabledDate,\n onSelectDay: (selectedDate, dateSource) => {\n setSelectPanelDate(selectedDate);\n onChange(selectedDate, dateSource);\n },\n renderDay: renderDay,\n date: selectDate,\n today: today || new Date(),\n panelDate: selectPanelDate,\n weekday: weekday,\n weekTitle: weekTitle\n }), type === 'month' && /*#__PURE__*/_jsx(DatePickerMonth, {\n panelDate: selectPanelDate,\n monthLabel: monthLabel,\n prefixCls: prefixCls,\n onSelected: num => onSelectedDate('setMonth', num)\n }), type === 'year' && /*#__PURE__*/_jsx(DatePickerYear, {\n prefixCls: prefixCls,\n panelDate: selectDate || selectPanelDate,\n onSelected: num => onSelectedDate('setFullYear', num)\n }), type === 'time' && /*#__PURE__*/_jsx(TimePickerTime, _extends({\n date: selectPanelDate\n }, showTime, {\n className: prefixCls + \"-timepicker\",\n onSelected: onSelectedTime\n })), showTime && format && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-time-btn\",\n onClick: () => handleSelected('time'),\n children: formatter(format, selectDate || selectPanelDate)\n })]\n }));\n}","var DescriptionsItem = _ref => {\n var {\n children\n } = _ref;\n return children;\n};\nexport default DescriptionsItem;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"tagName\", \"layout\", \"bordered\", \"label\", \"isLastCell\", \"colon\", \"span\", \"children\", \"column\"];\nimport React, { Fragment } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction Cell(props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls,\n className,\n tagName: TagName = 'td',\n layout,\n bordered,\n label,\n colon,\n span,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var labelProps = {\n className: [prefixCls ? prefixCls + \"-item-label\" : null, className, colon ? prefixCls + \"-item-colon\" : null, !label ? prefixCls + \"-item-no-label\" : null].filter(Boolean).join(' ').trim()\n };\n if (layout === 'horizontal') {\n if (!bordered) {\n return /*#__PURE__*/_jsxs(TagName, _extends({}, other, {\n colSpan: span,\n children: [/*#__PURE__*/_jsx(\"span\", _extends({}, labelProps, {\n children: label\n })), /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls ? prefixCls + \"-item-content\" : '',\n children: children\n })]\n }));\n }\n return /*#__PURE__*/_jsxs(Fragment, {\n children: [/*#__PURE__*/_jsx(\"th\", _extends({}, labelProps, {\n children: label\n })), /*#__PURE__*/_jsx(TagName, _extends({}, other, {\n colSpan: span ? span * 2 - 1 : span,\n className: prefixCls ? prefixCls + \"-item-content\" : '',\n children: children\n }))]\n });\n }\n return /*#__PURE__*/_jsx(TagName, {\n colSpan: span,\n className: prefixCls + \"-item-\" + (TagName === 'td' ? 'content' : 'label'),\n children: children\n });\n}\nexport default Cell;","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { Fragment } from 'react';\nimport Cell from './Cell';\nimport { createElement as _createElement } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Row(props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls,\n layout,\n bordered,\n column,\n colon,\n children = []\n } = props;\n function handleCell(isHead) {\n return children.map((child, index) => /*#__PURE__*/_createElement(Cell, _extends({}, child.props, {\n prefixCls: prefixCls,\n key: index,\n column: column,\n tagName: isHead ? 'th' : 'td',\n isLastCell: children.length - 1 === index,\n layout: layout,\n colon: colon,\n bordered: bordered\n }), isHead ? child.props.label : child.props.children));\n }\n var cls = prefixCls ? prefixCls + \"-row\" : '';\n return /*#__PURE__*/_jsxs(Fragment, {\n children: [layout === 'vertical' && /*#__PURE__*/_jsx(\"tr\", {\n className: cls,\n children: handleCell(true)\n }), /*#__PURE__*/_jsx(\"tr\", {\n className: cls,\n children: handleCell()\n })]\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"title\", \"bordered\", \"column\", \"size\", \"colon\", \"children\", \"layout\"];\nimport React from 'react';\nimport DescriptionsItem from './DescriptionsItem';\nimport Row from './Row';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport * from './DescriptionsItem';\nvar generateChildrenRows = (children, column) => {\n var rows = [];\n var columns = null;\n var leftSpans;\n children.forEach((node, index) => {\n var itemNode = node;\n if (!columns) {\n leftSpans = column;\n columns = [];\n rows.push(columns);\n }\n\n // Always set last span to align the end of Descriptions\n var lastItem = index === children.length - 1;\n if (lastItem) {\n itemNode = /*#__PURE__*/React.cloneElement(itemNode, {\n span: leftSpans\n });\n }\n // Calculate left fill span\n var {\n span = 1\n } = itemNode.props;\n columns.push(itemNode);\n leftSpans -= span;\n if (leftSpans <= 0) {\n columns = null;\n }\n });\n return rows;\n};\nfunction InternalDescriptions(props, ref) {\n var {\n prefixCls = 'w-descriptions',\n className,\n title,\n bordered,\n column = 3,\n size,\n colon = true,\n children,\n layout = 'horizontal'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className, prefixCls && layout ? prefixCls + \"-\" + layout : null, bordered ? prefixCls + \"-bordered\" : null, size ? prefixCls + \"-\" + size : null].filter(Boolean).join(' ').trim();\n var cloneChildren = React.Children.toArray(children);\n var childs = generateChildrenRows(cloneChildren, column);\n return /*#__PURE__*/_jsx(\"div\", {\n className: cls,\n ref: ref,\n children: /*#__PURE__*/_jsxs(\"table\", _extends({}, other, {\n children: [title && /*#__PURE__*/_jsx(\"caption\", {\n className: prefixCls + \"-title\",\n children: title\n }), /*#__PURE__*/_jsx(\"tbody\", {\n className: prefixCls + \"-tbody\",\n children: childs.map((child, index) => /*#__PURE__*/_jsx(Row, {\n prefixCls: prefixCls,\n bordered: bordered,\n colon: colon,\n column: column,\n layout: layout,\n children: child\n }, index))\n })]\n }))\n });\n}\nvar Descriptions = /*#__PURE__*/React.forwardRef(InternalDescriptions);\nDescriptions.Item = DescriptionsItem;\nexport default Descriptions;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\", \"dashed\", \"type\", \"align\"];\nimport React from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-divider',\n className,\n children,\n dashed = false,\n type = 'horizontal',\n align = 'center'\n } = props,\n restProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [className, prefixCls, prefixCls && type ? prefixCls + \"-\" + type : null, prefixCls && align ? prefixCls + \"-\" + align : null, children ? prefixCls + \"-with-text\" : null, !!dashed ? prefixCls + \"-dashed\" : null].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: cls\n }, restProps, {\n ref: ref,\n children: children && /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-inner-text\",\n children: children\n })\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"placement\", \"size\", \"title\", \"footer\", \"icon\", \"isCloseButtonShown\", \"bodyProps\", \"timeout\", \"isOpen\", \"maskClosable\"];\nimport React, { useMemo } from 'react';\nimport Overlay from '@uiw/react-overlay';\nimport Icon from '@uiw/react-icon';\nimport Button from '@uiw/react-button';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default (function (props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-drawer',\n className,\n style,\n placement = 'right',\n size = 260,\n title,\n footer,\n icon,\n isCloseButtonShown = true,\n bodyProps,\n timeout = 300,\n isOpen = false,\n maskClosable = true\n } = props,\n overlayProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [className, prefixCls, placement].filter(Boolean).join(' ').trim();\n var bodyCls = [bodyProps ? bodyProps.className : null, prefixCls ? prefixCls + \"-body-inner\" : null].filter(Boolean).join(' ').trim();\n var styl = _extends({}, style, {\n [/^(top|bottom)$/.test(placement) ? 'height' : 'width']: size\n });\n var footerView = useMemo(() => footer ? /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-footer\",\n children: footer\n }) : null, [footer]);\n var iconView = useMemo(() => icon ? /*#__PURE__*/_jsx(Icon, {\n type: icon\n }) : null, [icon]);\n var titleView = useMemo(() => title ? /*#__PURE__*/_jsx(\"h4\", {\n children: title\n }) : null, [title]);\n return /*#__PURE__*/_jsx(Overlay, _extends({\n className: cls,\n timeout: timeout,\n isOpen: isOpen,\n maskClosable: maskClosable\n }, overlayProps, {\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-wrapper\",\n style: styl,\n children: [(title || icon) && /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-header\",\n children: [iconView, titleView, title && isCloseButtonShown && /*#__PURE__*/_jsx(Button, {\n basic: true,\n onClick: props.onClose,\n icon: \"close\",\n type: \"light\"\n })]\n }), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-body\",\n children: /*#__PURE__*/_jsx(\"div\", _extends({}, bodyProps, {\n className: bodyCls,\n children: props.children\n }))\n }), footerView]\n })\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"placement\", \"className\", \"menu\", \"children\", \"disabled\"];\nimport React from 'react';\nimport OverlayTrigger from '@uiw/react-overlay-trigger';\nimport { useMemo } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function Dropdown(props) {\n var {\n prefixCls = 'w-dropdown',\n placement = 'bottomLeft',\n className,\n menu,\n children,\n disabled\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = useMemo(() => [prefixCls, className].filter(Boolean).join(' ').trim(), [prefixCls, className]);\n return /*#__PURE__*/_jsx(OverlayTrigger, _extends({\n isOutside: true,\n autoAdjustOverflow: true,\n className: cls,\n disabled: disabled,\n placement: placement\n }, other, {\n overlay: menu,\n children: /*#__PURE__*/React.cloneElement(children, Object.assign({}, children.props))\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"icon\", \"iconProps\", \"size\", \"description\", \"children\"];\nimport React from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar Empty = props => {\n var {\n prefixCls = 'w-empty',\n className,\n icon,\n iconProps,\n size = 64,\n description = '暂无数据',\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls\n }, other, {\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-icon\",\n children: icon ? icon : /*#__PURE__*/_jsxs(\"svg\", _extends({\n viewBox: \"0 0 1024 1024\",\n width: size,\n height: size\n }, iconProps, {\n children: [/*#__PURE__*/_jsx(\"path\", {\n d: \"M20.48 860.16a491.52 102.4 0 1 0 983.04 0 491.52 102.4 0 1 0-983.04 0Z\",\n fill: \"#F5F5F5\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M225.28 409.6l573.44-8.06912 112.78336 183.296H102.4z\",\n fill: \"#C4C5C7\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M266.24 61.44h491.52a40.96 40.96 0 0 1 40.96 40.96v532.48a40.96 40.96 0 0 1-40.96 40.96H266.24a40.96 40.96 0 0 1-40.96-40.96V102.4a40.96 40.96 0 0 1 40.96-40.96z\",\n fill: \"#F5F5F7\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M348.16 143.36h327.68a40.96 40.96 0 0 1 40.96 40.96v122.88a40.96 40.96 0 0 1-40.96 40.96H348.16a40.96 40.96 0 0 1-40.96-40.96V184.32a40.96 40.96 0 0 1 40.96-40.96zM327.68 409.6h368.64a20.48 20.48 0 0 1 0 40.96H327.68a20.48 20.48 0 0 1 0-40.96zM327.68 491.52h368.64a20.48 20.48 0 0 1 0 40.96H327.68a20.48 20.48 0 0 1 0-40.96z\",\n fill: \"#EBECEC\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M673.44384 607.58016v13.43488c0 25.14944-20.0704 45.52704-44.8512 45.52704H382.95552l-2.2528-0.06144c-23.7568-1.16736-42.63936-21.07392-42.63936-45.4656v-13.45536c0-12.55424-10.0352-22.7328-22.44608-22.7328H102.4v250.30656C102.4 860.2624 122.49088 880.64 147.29216 880.64h719.31904c24.7808 0 44.89216-20.3776 44.89216-45.50656V584.82688H695.88992c-12.3904 0-22.44608 10.17856-22.44608 22.7328z\",\n fill: \"#E0E0E0\"\n })]\n }))\n }), description && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-description\",\n children: description\n }), children && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-footer\",\n children: children\n })]\n }));\n};\nexport default Empty;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"dataLabel\", \"prefixCls\"];\nimport React from 'react';\nimport Input from '@uiw/react-input';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n className,\n dataLabel = 'Browse',\n prefixCls = 'w-fileinput'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(Input, _extends({\n ref: ref,\n \"data-label\": dataLabel,\n className: cls\n }, other, {\n type: \"file\"\n }));\n});","import React from 'react';\nimport Icon from '@uiw/react-icon';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar Picture = props => {\n var {\n className,\n prefixCls = 'w-fileinput-list',\n dataList = [],\n uploadType,\n size = 'middle',\n shape = 'round',\n readonly,\n children,\n showFileIcon = {\n showPreviewIcon: true,\n showRemoveIcon: true\n },\n onPreview,\n onAdd,\n onRemove\n } = props;\n var cls = [prefixCls, prefixCls + \"-size-\" + size, prefixCls + \"-shape-\" + shape, className].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsxs(\"div\", {\n className: cls,\n children: [children && !readonly && /*#__PURE__*/React.isValidElement(children) && /*#__PURE__*/React.cloneElement(children, {\n onClick: onAdd\n }), /*#__PURE__*/_jsx(\"div\", {\n children: dataList.map((item, index) => /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-\" + uploadType,\n children: [uploadType === 'picture' && /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-info \" + prefixCls + \"-\" + uploadType + \"-info\",\n children: [/*#__PURE__*/_jsx(\"img\", {\n src: item['dataURL'],\n alt: \"\"\n }), (showFileIcon == null ? void 0 : showFileIcon.showPreviewIcon) && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-actions\",\n children: /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-actions-search\",\n onClick: () => onPreview == null ? void 0 : onPreview(item),\n children: /*#__PURE__*/_jsx(Icon, {\n type: \"search\",\n style: {\n color: '#fff',\n fontSize: 16\n }\n })\n })\n })]\n }), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-\" + uploadType + \"-text\",\n children: item.name\n }), (showFileIcon == null ? void 0 : showFileIcon.showRemoveIcon) && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-\" + uploadType + \"-icon\",\n onClick: () => onRemove == null ? void 0 : onRemove(index),\n children: /*#__PURE__*/_jsx(Icon, {\n type: \"delete\",\n style: {\n color: '#999'\n }\n })\n })]\n }, index))\n })]\n });\n};\nexport default Picture;","import React from 'react';\nimport Icon from '@uiw/react-icon';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar Card = props => {\n var {\n className,\n prefixCls = 'w-fileinput-card',\n dataList = [],\n maxNumber = 3,\n shape = 'round',\n size = 'middle',\n readonly,\n children,\n showFileIcon = {\n showPreviewIcon: true,\n showRemoveIcon: true\n },\n onAdd,\n onPreview,\n onRemove\n } = props;\n var cls = [prefixCls, prefixCls + \"-size-\" + size, prefixCls + \"-shape-\" + shape, className].filter(Boolean).join(' ').trim();\n var isAction = showFileIcon.showPreviewIcon || showFileIcon.showRemoveIcon ? true : false;\n return /*#__PURE__*/_jsxs(\"div\", {\n className: cls,\n children: [dataList.map((item, index) => /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-box\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-box-info\",\n children: /*#__PURE__*/_jsx(\"img\", {\n src: item['dataURL'],\n alt: \"\"\n })\n }), /*#__PURE__*/_jsxs(\"div\", {\n className: isAction ? prefixCls + \"-actions\" : '',\n children: [(showFileIcon == null ? void 0 : showFileIcon.showPreviewIcon) && /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-actions-remove\",\n onClick: () => onPreview == null ? void 0 : onPreview(item),\n children: /*#__PURE__*/_jsx(Icon, {\n type: \"search\",\n style: {\n color: '#fff',\n fontSize: 16\n }\n })\n }), (showFileIcon == null ? void 0 : showFileIcon.showRemoveIcon) && /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-actions-remove\",\n onClick: () => onRemove == null ? void 0 : onRemove(index),\n children: /*#__PURE__*/_jsx(Icon, {\n type: \"delete\",\n style: {\n color: '#fff',\n fontSize: 16\n }\n })\n })]\n })]\n }, index)), maxNumber > dataList.length && !readonly && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-box \" + prefixCls + \"-btn\",\n onClick: onAdd,\n children: children\n })]\n });\n};\nexport default Card;","export var openFileDialog = inputRef => {\n if (inputRef.current) inputRef.current.click();\n};\nexport var getAcceptTypeString = accept => {\n return accept && accept.length > 0 ? accept.map(item => \".\" + item).join(', ') : 'image/*';\n};\nexport var getBase64 = file => {\n var reader = new FileReader();\n return new Promise(resolve => {\n reader.addEventListener('load', () => resolve(String(reader.result)));\n reader.readAsDataURL(file);\n });\n};\nexport var getListFiles = (files, dataURLKey) => {\n var promiseFiles = [];\n for (var i = 0; i < files.length; i += 1) {\n promiseFiles.push(getBase64(files[i]));\n }\n return Promise.all(promiseFiles).then(fileListBase64 => {\n var fileList = fileListBase64.map((base64, index) => ({\n [dataURLKey]: base64,\n file: files[index],\n name: files[index].name\n }));\n return fileList;\n });\n};\nexport var isUploadType = type => {\n return ['picture', 'text', 'card'].includes(type);\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport React, { useRef, useCallback, useEffect, useState } from 'react';\nimport List from './List';\nimport Card from './Card';\nimport { openFileDialog, getListFiles } from './utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport var FileList = props => {\n var {\n uploadType,\n value = [],\n multiple = false,\n maxNumber = 3,\n onChange\n } = props;\n var inputRef = useRef(null);\n var inValue = value || [];\n var [fileList, setFileList] = useState([]);\n useEffect(() => {\n setFileList(inValue);\n }, [value]);\n var handleClickInput = useCallback(() => openFileDialog(inputRef), [inputRef]);\n var onFileUpload = useCallback(() => {\n if (inputRef.current) inputRef.current.value = '';\n handleClickInput();\n }, [handleClickInput]);\n var onInputChange = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (e) {\n var files = e.target.files;\n if (!files) return;\n var updatedFileList = yield getListFiles(files, 'dataURL');\n var updatedList = [...fileList, ...updatedFileList];\n if (maxNumber < updatedList.length) {\n updatedList = updatedList.slice(0, maxNumber);\n }\n setFileList(updatedList);\n onChange == null || onChange(updatedList);\n });\n return function onInputChange(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n var onRemove = index => {\n var updatedList = [...fileList];\n updatedList.splice(index, 1);\n setFileList(updatedList);\n onChange == null || onChange(updatedList);\n };\n var Comp;\n if (uploadType === 'card') {\n Comp = Card;\n }\n if (uploadType === 'picture' || uploadType === 'text') {\n Comp = List;\n }\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"input\", {\n type: \"file\",\n ref: inputRef,\n multiple: multiple,\n style: {\n display: 'none'\n },\n onChange: onInputChange\n }), Comp && /*#__PURE__*/_jsx(Comp, _extends({}, props, {\n maxNumber: maxNumber || 3,\n dataList: fileList,\n onAdd: onFileUpload,\n onRemove: onRemove\n }))]\n });\n};\nexport default FileList;","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport Input from './Input';\nimport FileList from './FileList';\nimport { isUploadType } from './utils';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction Upload(props) {\n var {\n uploadType = 'input'\n } = props;\n if (uploadType === 'input') {\n return /*#__PURE__*/_jsx(Input, _extends({}, props));\n }\n if (isUploadType(uploadType)) {\n return /*#__PURE__*/_jsx(FileList, _extends({}, props));\n }\n return null;\n}\nexport default Upload;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"required\", \"style\", \"label\", \"labelFor\", \"labelClassName\", \"labelStyle\", \"help\", \"inline\", \"initialValue\", \"validator\", \"hasError\"];\nimport React from 'react';\nimport { Col, Row } from '@uiw/react-grid';\nimport \"./style/form-item.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default class FormItem extends React.PureComponent {\n render() {\n var _this$props = this.props,\n {\n prefixCls,\n className,\n required,\n style,\n label,\n labelFor,\n labelClassName,\n labelStyle,\n help,\n inline,\n hasError\n } = _this$props,\n otherProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var cls = [prefixCls, className, hasError ? prefixCls + \"-error\" : null].filter(Boolean).join(' ').trim();\n var labelCls = ['w-form-label', labelClassName].filter(Boolean).join(' ').trim();\n if (inline) {\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls,\n style: style\n }, otherProps, {\n children: [/*#__PURE__*/_jsxs(Row, {\n children: [/*#__PURE__*/_jsxs(Col, {\n fixed: true,\n className: labelCls,\n children: [required && /*#__PURE__*/_jsx(\"label\", {\n style: {\n color: 'red'\n },\n children: \"*\"\n }), /*#__PURE__*/_jsx(\"label\", {\n style: labelStyle,\n htmlFor: labelFor,\n children: label\n })]\n }), /*#__PURE__*/_jsx(Col, {\n className: \"w-form-row\",\n children: this.props.children\n })]\n }), help && /*#__PURE__*/_jsx(Row, {\n children: /*#__PURE__*/_jsx(Col, {\n className: \"w-form-help\",\n children: help\n })\n })]\n }));\n }\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls,\n style: style\n }, otherProps, {\n children: [label && /*#__PURE__*/_jsxs(React.Fragment, {\n children: [required && /*#__PURE__*/_jsx(\"label\", {\n style: {\n color: 'red'\n },\n children: \"*\"\n }), /*#__PURE__*/_jsx(\"label\", {\n className: labelCls,\n style: labelStyle,\n htmlFor: labelFor,\n children: label\n })]\n }), /*#__PURE__*/_jsx(Col, {\n className: \"w-form-row\",\n children: this.props.children\n }), help && /*#__PURE__*/_jsx(\"div\", {\n className: \"w-form-help\",\n children: help\n })]\n }));\n }\n}\nFormItem.defaultProps = {\n prefixCls: 'w-form-item'\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nvar _excluded = [\"prefixCls\", \"className\", \"fields\", \"children\", \"resetOnSubmit\", \"onSubmitError\", \"onChange\", \"onSubmit\", \"afterSubmit\"],\n _excluded2 = [\"children\", \"validator\", \"name\", \"help\", \"label\", \"labelFor\", \"labelClassName\", \"labelStyle\", \"inline\", \"initialValue\"];\nimport React, { useState, useImperativeHandle, useMemo } from 'react';\nimport FormItem from './FormItem';\nimport \"./style/form.css\";\nimport { createElement as _createElement } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction newFormState(fields, cb) {\n var state = {\n initial: {},\n current: {},\n submitting: false,\n errors: {}\n };\n for (var name in fields) {\n var props = fields[name];\n if (!props) continue;\n var {\n initialValue,\n currentValue: _currentValue\n } = cb(_extends({}, props, {\n name\n }));\n state.initial[name] = Array.isArray(initialValue) ? [...initialValue] : initialValue;\n state.current[name] = _currentValue;\n }\n return state;\n}\nfunction newInitialValue(value) {\n return value === null || value === undefined ? '' : value;\n}\nvar isPromise = promise => promise && typeof promise.then === 'function';\nfunction Form(props, ref) {\n var {\n prefixCls = 'w-form',\n className,\n fields,\n children,\n resetOnSubmit,\n onSubmitError,\n onChange,\n onSubmit,\n afterSubmit\n } = props,\n others = _objectWithoutPropertiesLoose(props, _excluded);\n var initData = useMemo(() => newFormState(fields, _ref => {\n var {\n initialValue\n } = _ref;\n initialValue = newInitialValue(initialValue);\n return {\n initialValue,\n currentValue: initialValue\n };\n }), []);\n var [data, setData] = useState(initData);\n useImperativeHandle(ref, () => ({\n onSubmit: handleSubmit,\n resetForm: handleReset,\n getFieldValues: () => data.current,\n getError: () => data.errors,\n setFields: setFields,\n setFieldValue: setFieldValue\n }), [data]);\n var formUnits = {};\n for (var name in fields) {\n var itemProps = fields[name];\n if (!itemProps) continue;\n var error = data.errors[name];\n if (typeof itemProps.initialValue === 'boolean') {\n itemProps.checked = itemProps.initialValue;\n }\n var childField = controlField(_extends({}, itemProps, {\n name\n }));\n var help = error || itemProps.help;\n var labelFor = itemProps.labelFor;\n formUnits[name] = /*#__PURE__*/_createElement(FormItem, _extends({}, itemProps, {\n key: name,\n children: childField,\n help: help,\n labelFor: labelFor,\n name: name,\n hasError: !!error\n }));\n }\n function setFields(fields) {\n var tempData = _extends({}, data, {\n current: fields\n });\n setData(tempData);\n }\n function setFieldValue(fieldName, value) {\n var tempData = _extends({}, data, {\n current: _extends({}, data.current, {\n [fieldName]: value\n })\n });\n setData(tempData);\n }\n function handleChange(name, validator, element, cb) {\n return (env, list) => {\n var value = env && env.target && 'value' in env.target ? env.target.value : env;\n // 控件 Checkbox.Group 多选值的处理\n value = list || value;\n // 控件 Checkbox 值的处理\n if (!list && element && env && env.target && /(radio)/.test(env.target.type)) {\n // 控件 Switch/Radio/Checkbox 值的处理\n value = env.target.value ? env.target.value : env.target.checked;\n }\n if (!list && element && env && env.target && /(checkbox)/.test(env.target.type)) {\n // 控件 Switch/Radio/Checkbox 值的处理\n value = env.target.checked;\n }\n var nextState = {\n current: _extends({}, data.current, {\n [name]: value\n })\n };\n var error = validator && validator(value);\n if (!error) {\n nextState.errors = _extends({}, data.errors);\n delete nextState.errors[name];\n }\n if (env && env.persist && typeof env.persist === 'function') env.persist();\n setData(_extends({}, data, nextState));\n if (cb) {\n cb(env);\n }\n onChange && onChange(_extends({}, data, nextState));\n };\n }\n function handleSubmit(e) {\n e && e.preventDefault();\n var {\n initial,\n current\n } = data;\n setData(_extends({}, data, {\n submitting: true\n }));\n var nextState = {\n submitting: false\n };\n var onError = evn => setData(_extends({}, data, nextState, {\n errors: onSubmitError && onSubmitError(evn) || {}\n }));\n var onSuccess = response => {\n if (resetOnSubmit) {\n nextState.current = initial;\n }\n setData(_extends({}, data, nextState, {\n errors: {}\n }));\n afterSubmit && afterSubmit({\n state: data,\n response,\n reset: handleReset\n });\n };\n try {\n var afterSubmitPromise = onSubmit ? onSubmit({\n initial,\n current\n }, e) : undefined;\n if (afterSubmitPromise && isPromise(afterSubmitPromise)) {\n return afterSubmitPromise.then(onSuccess).catch(onError);\n } else {\n return onSuccess(afterSubmitPromise);\n }\n } catch (evn) {\n onError(evn);\n }\n }\n function canSubmit() {\n var {\n submitting,\n current = {}\n } = data;\n var passesValidators = true;\n for (var _name in fields) {\n if (Object.prototype.hasOwnProperty.call(fields, _name)) {\n var fieldsProps = fields[_name];\n if (!fieldsProps) continue;\n if (fieldsProps.validator && fieldsProps.validator(current[_name])) {\n passesValidators = false;\n break;\n }\n }\n }\n return !submitting && passesValidators;\n }\n function handleReset() {\n var {\n initial\n } = data;\n var initials = _extends({}, initial);\n Object.entries(initials).map(_ref2 => {\n var [key, value] = _ref2;\n if (Array.isArray(value)) {\n initials[key] = [...value];\n }\n });\n setData(_extends({}, data, {\n initial,\n current: initials,\n errors: {}\n }));\n }\n function controlField(_ref3) {\n var {\n children,\n validator,\n name\n } = _ref3,\n other = _objectWithoutPropertiesLoose(_ref3, _excluded2);\n var element = typeof children !== 'function' ? children : children({\n onChange: handleChange(name, validator),\n onSubmit: handleSubmit,\n canSubmit: canSubmit\n });\n if (!element || React.Children.count(element) !== 1 || !name) return element;\n var props = _extends({\n name: element.props.name || name\n }, other);\n var hasCurrentValue = Object.prototype.hasOwnProperty.call(data.current, name);\n props.id = element.props.id;\n props.value = hasCurrentValue ? data.current && data.current[name] : props.value;\n // : element.props.value;\n\n var type = element.props.type;\n if (type === 'checkbox' || type === 'switch' || typeof props.value === 'boolean') {\n props.checked = !!props.value;\n delete props.value;\n }\n props.onChange = handleChange(name, validator, element, element.props.onChange);\n return /*#__PURE__*/React.cloneElement(element, props);\n }\n return /*#__PURE__*/_jsx(\"form\", _extends({}, others, {\n className: [prefixCls, className].filter(Boolean).join(' ').trim(),\n onSubmit: handleSubmit,\n children: /*#__PURE__*/_jsx(\"fieldset\", {\n disabled: data.submitting,\n children: typeof children === 'function' ? children({\n fields: formUnits,\n state: data,\n resetForm: handleReset,\n canSubmit: canSubmit\n }) : children\n })\n }));\n}\nexport default /*#__PURE__*/React.forwardRef(Form);","import Form from './Form';\nexport * from './Form';\nexport * from './FormItem';\nexport { default as FormItem } from './FormItem';\nexport default Form;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"fixed\", \"span\", \"grow\", \"align\"];\nimport React from 'react';\nimport \"./style/col.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function Col(props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-col',\n className,\n fixed,\n span,\n grow,\n align\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className, span ? prefixCls + \"-\" + span : null, fixed ? prefixCls + \"-fixed\" : null, align ? prefixCls + \"-align-\" + align : null, fixed ? prefixCls + \"-grow-\" + grow : null].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: cls\n }, other, {\n children: props.children\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"gutter\", \"justify\", \"align\"];\nimport React from 'react';\nimport \"./style/row.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function Row(props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-row',\n className,\n gutter = 0,\n justify,\n align\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className, align ? prefixCls + \"-align-\" + align : null, justify ? prefixCls + \"-justify-\" + justify : null].filter(Boolean).join(' ').trim();\n var gutterStyl = !gutter ? {} : {\n paddingLeft: gutter / 2,\n paddingRight: gutter / 2\n };\n return /*#__PURE__*/_jsx(\"div\", _extends({}, other, {\n className: cls,\n children: React.Children.toArray(props.children).map(child => {\n if (! /*#__PURE__*/React.isValidElement(child)) return child;\n return /*#__PURE__*/React.cloneElement(child, Object.assign({}, child.props, {\n style: _extends({}, child.props.style, gutterStyl)\n }));\n })\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"prefixCls\", \"verticalAlign\", \"tagName\", \"color\", \"type\", \"spin\", \"style\"];\nimport React from 'react';\nimport svgPaths from '@uiw/icons/fonts/w-icon.json';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar Icon = props => {\n var {\n className,\n prefixCls = 'w-icon',\n verticalAlign = 'middle',\n tagName: Element = 'span',\n color,\n type,\n spin = false,\n style\n } = props,\n reset = _objectWithoutPropertiesLoose(props, _excluded);\n var svg = null;\n if (typeof type === 'string') {\n svg = /*#__PURE__*/_jsx(\"svg\", {\n fill: color || props.fill,\n viewBox: \"0 0 20 20\",\n children: (svgPaths[type] || []).map((d, i) => /*#__PURE__*/_jsx(\"path\", {\n d: d,\n fillRule: \"evenodd\"\n }, i))\n });\n }\n var initStyle = _extends({\n fill: 'currentColor'\n }, style);\n var cls = [prefixCls, className, prefixCls && verticalAlign ? prefixCls + \"-\" + verticalAlign : null, spin && prefixCls ? prefixCls + \"-spin\" : null].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(Element, _extends({\n className: cls\n }, reset, {\n style: initStyle,\n children: svg\n }));\n};\nexport default Icon;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"min\", \"max\", \"step\", \"overLimitColor\", \"keyboard\", \"formatter\", \"prefixCls\"];\nimport React, { useState, useMemo } from 'react';\nimport Input from './';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n className,\n min,\n max,\n step,\n overLimitColor,\n keyboard = false,\n prefixCls = 'w-input-number'\n } = props,\n otherProps = _objectWithoutPropertiesLoose(props, _excluded);\n var value = useMemo(() => {\n var _ref;\n return Number.parseFloat((_ref = props.value || 0) == null ? void 0 : _ref.toString());\n }, [props.value]);\n var [isOverLimit, isOverLimitSet] = useState(overLimitComp(value));\n function overLimitComp(value) {\n if (typeof min === 'number' && value < min) return true;\n if (typeof max === 'number' && value > max) return true;\n return false;\n }\n var onChange = v => {\n var isOverLimit = overLimitComp(Number.parseFloat(v.target.value));\n isOverLimitSet(isOverLimit);\n props.onChange == null || props.onChange(v);\n };\n var overLimitProps = useMemo(() => {\n if (!overLimitColor) return {\n min,\n max\n };\n }, []);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n var inputStyle = useMemo(() => isOverLimit ? {\n color: overLimitColor == null ? void 0 : overLimitColor.toString()\n } : undefined, [isOverLimit]);\n return /*#__PURE__*/_jsx(Input, _extends({}, otherProps, {\n className: cls,\n type: \"number\",\n inputStyle: inputStyle,\n onChange: onChange,\n step: step\n }, overLimitProps));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"size\", \"type\", \"preIcon\", \"addonAfter\", \"inputStyle\"];\nimport React, { useEffect, useImperativeHandle } from 'react';\nimport Icon from '@uiw/react-icon';\nimport \"./style/input.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport * from './InputNumber';\nexport { default as InputNumber } from './InputNumber';\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-input',\n className,\n style,\n size = 'default',\n type = 'text',\n preIcon = null,\n addonAfter,\n inputStyle\n } = props,\n otherProps = _objectWithoutPropertiesLoose(props, _excluded);\n var inputRef = React.useRef(null);\n var addonRef = React.useRef(null);\n useImperativeHandle(ref, () => inputRef.current);\n var cls = [prefixCls, className, size ? prefixCls + \"-\" + size : null, addonAfter ? prefixCls + \"-addon\" : null, props.disabled ? 'disabled' : null].filter(Boolean).join(' ').trim();\n useEffect(() => {\n computedInputPadding();\n });\n function computedInputPadding() {\n if (addonRef.current && inputRef.current) {\n var input = window && window.getComputedStyle(addonRef.current, null);\n inputRef.current.style.paddingRight = addonRef.current.clientWidth + parseInt(input.right, 10) * 2 + \"px\";\n }\n }\n return /*#__PURE__*/_jsxs(\"div\", {\n className: cls,\n style: style,\n children: [/*#__PURE__*/_jsx(Icon, {\n type: preIcon\n }), /*#__PURE__*/_jsx(\"input\", _extends({\n ref: inputRef,\n type: type,\n autoComplete: \"off\"\n }, otherProps, {\n style: inputStyle,\n className: prefixCls + \"-inner\"\n })), addonAfter && /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-addon-after\",\n ref: addonRef,\n children: addonAfter\n })]\n });\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"hasSider\", \"children\"];\nimport React, { useState } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var LayoutContext = /*#__PURE__*/React.createContext({\n addSider: () => null,\n removeSider: () => null\n});\nvar Layout = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-layout',\n className,\n hasSider,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [siders, setSiders] = useState([]);\n var addSider = id => {\n setSiders(state => [...state, id]);\n };\n var removeSider = id => {\n setSiders(state => [...state.filter(currentId => currentId !== id)]);\n };\n var cls = [prefixCls, className, typeof hasSider === 'boolean' && hasSider || siders.length > 0 ? prefixCls + \"-has-sider\" : null].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(LayoutContext.Provider, {\n value: {\n addSider,\n removeSider\n },\n children: /*#__PURE__*/_jsx(\"section\", _extends({\n ref: ref,\n className: cls\n }, other, {\n children: children\n }))\n });\n});\nLayout.displayName = 'Layout';\nexport default Layout;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\"];\nimport React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var LayoutHeader = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _ref = props || {},\n {\n prefixCls = 'w-layout-header',\n className,\n children\n } = _ref,\n other = _objectWithoutPropertiesLoose(_ref, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(\"header\", _extends({\n ref: ref,\n className: cls\n }, other, {\n children: children\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\"];\nimport React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var LayoutFooter = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-layout-footer',\n className,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(\"footer\", _extends({\n ref: ref,\n className: cls\n }, other, {\n children: children\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"children\", \"width\", \"collapsedWidth\", \"collapsed\", \"addSider\", \"removeSider\"];\nimport React, { useEffect, useState, useMemo } from 'react';\nimport { LayoutContext } from './Layout';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function randomid() {\n return parseInt(String(Math.random() * 1e15), 10).toString(36);\n}\nvar Sider = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _ref = props,\n {\n prefixCls = 'w-layout-sider',\n className,\n style,\n children,\n width = 200,\n collapsedWidth = 80,\n collapsed = false,\n addSider,\n removeSider\n } = _ref,\n other = _objectWithoutPropertiesLoose(_ref, _excluded);\n var [sliderId] = useState(\"w-layout-\" + randomid());\n var [rawWidth, setRawWidth] = useState(collapsed ? collapsedWidth : width);\n useEffect(() => {\n if (addSider) {\n addSider(sliderId);\n }\n return () => {\n if (removeSider) {\n removeSider(sliderId);\n }\n };\n }, []);\n useMemo(() => setRawWidth(collapsed ? collapsedWidth : width), [width, collapsedWidth, collapsed]);\n var divStyle = _extends({}, style, {\n flex: \"0 0 \" + rawWidth,\n maxWidth: rawWidth,\n minWidth: rawWidth,\n width: rawWidth\n });\n return /*#__PURE__*/_jsx(\"div\", _extends({\n ref: ref,\n className: [prefixCls, className].filter(Boolean).join(' ').trim(),\n style: divStyle\n }, other, {\n children: children\n }));\n});\nexport var LayoutSider = /*#__PURE__*/React.forwardRef((props, ref) => {\n return /*#__PURE__*/_jsx(LayoutContext.Consumer, {\n children: context => /*#__PURE__*/_jsx(Sider, _extends({\n ref: ref\n }, props, context))\n });\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\"];\nimport React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var LayoutContent = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-layout-content',\n className,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(\"main\", _extends({\n ref: ref,\n className: cls\n }, other, {\n children: children\n }));\n});","import Layout from './Layout';\nimport { LayoutHeader } from './Header';\nimport { LayoutFooter } from './Footer';\nimport { LayoutSider } from './Sider';\nimport { LayoutContent } from './Content';\nimport \"./style/index.css\";\nLayout.Header = LayoutHeader;\nLayout.Footer = LayoutFooter;\nLayout.Sider = LayoutSider;\nLayout.Content = LayoutContent;\nexport * from './Layout';\nexport * from './Header';\nexport * from './Footer';\nexport * from './Sider';\nexport * from './Content';\nexport default Layout;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\", \"extra\", \"tagName\", \"active\"];\nimport React, { Fragment } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport var ListItem = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-list-item',\n className,\n children,\n extra,\n tagName = 'div',\n active = false\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className, props.disabled ? 'w-disabled' : null, active ? 'w-active' : null].filter(Boolean).join(' ').trim();\n var TagName = props.href && typeof tagName === 'string' ? 'a' : tagName;\n return /*#__PURE__*/React.createElement(TagName, _extends({}, resetProps, {\n className: cls,\n ref\n }), !extra || resetProps.href ? children : /*#__PURE__*/_jsxs(Fragment, {\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-main\",\n children: children\n }), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-extra\",\n children: extra\n })]\n }));\n});\nListItem.displayName = 'List.Item';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"bordered\", \"striped\", \"noHover\", \"active\", \"size\", \"renderItem\", \"className\", \"children\", \"header\", \"footer\", \"dataSource\"];\nimport React from 'react';\nimport { ListItem } from './Item';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport * from './Item';\nfunction InternalList(props, ref) {\n var {\n prefixCls = 'w-list',\n bordered = true,\n striped = false,\n noHover = false,\n active = false,\n size = 'default',\n renderItem,\n className,\n children,\n header,\n footer,\n dataSource = []\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n var items;\n if (dataSource && dataSource.length > 0) {\n items = dataSource.map((item, index) => renderItem && renderItem(item, index));\n } else {\n items = children;\n }\n var childrenList = React.Children.map(items, (child, index) => /*#__PURE__*/React.isValidElement(child) && /*#__PURE__*/React.cloneElement(child, {\n key: index\n }));\n var classString = [prefixCls, className, striped ? prefixCls + \"-striped\" : null, noHover ? prefixCls + \"-no-hover\" : null, active ? prefixCls + \"-active\" : null, bordered ? prefixCls + \"-bordered\" : null, size && size !== 'default' ? prefixCls + \"-size-\" + size : null].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: classString\n }, resetProps, {\n ref: ref,\n children: [header && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-header\",\n children: header\n }), childrenList, footer && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-footer\",\n children: footer\n })]\n }));\n}\nvar List = /*#__PURE__*/React.forwardRef(InternalList);\nList.Item = ListItem;\nexport default List;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"size\", \"loading\", \"tip\", \"vertical\", \"color\", \"bgColor\", \"children\", \"indicator\", \"fullscreen\"];\nimport React, { useMemo } from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default (function (props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-loader',\n className,\n size = 'default',\n loading = true,\n tip,\n vertical,\n color,\n bgColor,\n children,\n indicator,\n fullscreen = false\n } = props,\n otherProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className, size ? prefixCls + \"-\" + size : null].filter(Boolean).join(' ').trim();\n var indicatorView = useMemo(() => /*#__PURE__*/_jsx(\"svg\", {\n viewBox: \"25 25 50 50\",\n children: /*#__PURE__*/_jsx(\"circle\", {\n cx: \"50\",\n cy: \"50\",\n r: \"20\",\n fill: \"none\",\n strokeWidth: \"5\",\n strokeMiterlimit: \"10\"\n })\n }), []);\n var tipsView = useMemo(() => /*#__PURE__*/_jsx(\"div\", {\n className: [prefixCls + \"-tips\", fullscreen ? prefixCls + \"-fullscreen\" : null].filter(Boolean).join(' ').trim(),\n style: {\n color,\n backgroundColor: bgColor\n },\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-tips-nested\",\n children: [indicator || indicatorView, tip && /*#__PURE__*/_jsx(\"div\", {\n className: [prefixCls + \"-text\", vertical ? prefixCls + \"-vertical\" : null].filter(Boolean).join(' ').trim(),\n children: tip\n })]\n })\n }), [fullscreen, bgColor, prefixCls, vertical, tip]);\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls\n }, otherProps, {\n children: [(loading || fullscreen) && tipsView, children && /*#__PURE__*/React.cloneElement(children, Object.assign({}, children.props, {\n className: [prefixCls + \"-warp\", loading ? prefixCls + \"-blur\" : null].filter(Boolean).join(' ').trim()\n }))]\n }));\n});","// @ts-ignore\ndeclare global {\n interface HTMLElementTagNameMap {\n 'github-corners': GithubCorners;\n }\n namespace JSX {\n interface IntrinsicElements {\n 'github-corners': Partial | {\n style?: Partial | React.CSSProperties;\n };\n }\n }\n}\n\nconst GITHUB_CORNERS_TEMPLATE = document.createElement(\"template\");\nGITHUB_CORNERS_TEMPLATE.innerHTML = `\n\n\n \n \n \n \n \n \n \n\n`;\n\nexport class GithubCorners extends HTMLElement {\n /** Sets the z-order of a positioned element and its descendants or flex items. */\n 'z-index'?: string;\n height?: string | number;\n width?: string | number;\n href?: string;\n color?: string;\n fill?: string;\n position?: string;\n target?: string;\n top?: string;\n left?: string;\n right?: string = '0';\n bottom?: string;\n transform?: string;\n private shadow: ShadowRoot\n static get observedAttributes(): string[] {\n return ['style', 'z-index', 'target', 'height', 'width', 'href', 'color', 'fill', 'position', 'top', 'left', 'right', 'bottom', 'transform'];\n }\n constructor() {\n super();\n this.shadow = this.attachShadow({ mode: 'open' });\n this.shadow.appendChild(this.ownerDocument.importNode(GITHUB_CORNERS_TEMPLATE.content, true));\n this.update()\n }\n private setAttr(name: string, value: string) {\n const svg = this.shadow.querySelector('svg');\n if (/(href)/.test(name.toLocaleLowerCase())) {\n svg.lastElementChild.setAttribute('xlink:href', value);\n } else if (/(color|fill)/.test(name.toLocaleLowerCase())) {\n (svg.firstElementChild as HTMLAnchorElement).style[name as any] = value;\n } else if (/(z-index|position|top|left|right|bottom|transform)/.test(name.toLocaleLowerCase())) {\n svg.style[name as any] = value;\n } else {\n svg.setAttribute(name, value);\n }\n }\n private update() {\n ;[...this.getAttributeNames(), 'right'].forEach((name) => {\n const value = this.getAttribute(name) || this[name as keyof GithubCorners] as any || '';\n this.setAttr(name, value);\n });\n }\n attributeChangedCallback(name: string, oldValue: string, newValue: string) {\n if (oldValue !== newValue) {\n this.setAttr(name, newValue);\n }\n }\n}\n\ncustomElements.define('github-corners', GithubCorners);","import React from 'react';\nimport '@uiw/github-corners';\n\nexport interface GitHubCornersProps extends React.AnchorHTMLAttributes {\n /**\n * The link to your project page.\n */\n href?: string;\n /**\n * The width and height of the corner. \n * Default: `80`\n */\n size?: number;\n /**\n * The background color of the corner.\n * Default: `#151513`\n */\n bgColor?: string;\n /**\n * The Github logo color of the corner.\n * Default: `#fff`\n */\n color?: string;\n /**\n * The position of corner. \n * Default: `right`\n */\n position?: 'left' | 'right';\n /** Is it displayed at the bottom? */\n bottom?: boolean,\n /** \n * It is positioned relative to the initial containing block established.\n * Default: `false`\n */\n fixed?: boolean;\n /**\n * Sets the z-order of a positioned element and its descendants or flex items.\n */\n zIndex?: number;\n}\n\nexport default function githubCorners(props: GitHubCornersProps) {\n const { size = 80, fixed = false, bottom, zIndex, className, style, bgColor = '#151513', color = '#fff', position = 'right', ...otherProps } = props;\n const styl: React.CSSProperties = position === 'left' ? { left: 0, right: 'initial', transform: 'scale(-1, 1)' } : { right: 0, left: 'initial', transform: 'scale(1, 1)' };\n if (bottom) {\n styl.bottom = 0;\n styl.top = 'initial';\n styl.transform = position === 'left' ? 'scale(-1, -1)' : 'scale(1, -1)';\n } else {\n styl.bottom = 'initial';\n styl.top = 0;\n }\n return (\n \n );\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"prefixCls\", \"element\", \"top\", \"size\", \"strokeWidth\", \"smooth\", \"hideProgress\", \"children\"];\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar warpperStyle = {\n position: 'sticky',\n bottom: 15,\n right: 15,\n visibility: 'visible',\n opacity: 0,\n transition: 'visibility 0.3s linear 0s, opacity 0.3s linear 0s',\n cursor: 'pointer',\n userSelect: 'none'\n};\nvar svgStyle = {\n display: 'block',\n transform: 'rotate(-90deg)'\n};\nvar circleStyle = {\n transition: 'stroke-dashoffset 0.3s linear 0s'\n};\nvar childStyle = {\n position: 'absolute',\n top: 0,\n display: 'flex',\n height: '100%',\n width: '100%',\n alignItems: 'center',\n justifyContent: 'center',\n color: '#fff',\n fontSize: 12\n};\nvar documentElement = document.documentElement;\nexport default function BackToUp(props) {\n if (props === void 0) {\n props = {};\n }\n var {\n className,\n prefixCls = 'w-back-to-up',\n element = documentElement,\n top = 120,\n size = 35,\n strokeWidth = 3,\n smooth = true,\n hideProgress = false,\n children\n } = props,\n others = _objectWithoutPropertiesLoose(props, _excluded);\n var $dom = useRef(null);\n var cls = [className, prefixCls].filter(Boolean).join(' ');\n var style = Object.assign({}, warpperStyle, {\n position: element === documentElement ? 'fixed' : 'sticky'\n }, others.style, {\n width: size,\n height: size,\n opacity: top === 0 ? 1 : 0\n });\n var center = useMemo(() => size / 2, [size]);\n var radius = useMemo(() => size / 2 - strokeWidth / 2, [size, strokeWidth]);\n var dasharray = useMemo(() => Math.PI * radius * 2, [radius]);\n var [progress, setProgress] = useState(dasharray || 0);\n var handleScroll = ev => {\n var {\n clientHeight,\n scrollHeight,\n scrollTop\n } = element || documentElement;\n var percentage = scrollTop / (scrollHeight - clientHeight);\n setProgress(dasharray - dasharray * percentage || 0);\n if ($dom.current && top > 0) {\n $dom.current.style.opacity = scrollTop > top ? '1' : '0';\n }\n };\n useEffect(() => {\n var scrollElement = element === documentElement ? document : element;\n if (scrollElement) {\n scrollElement.addEventListener('scroll', handleScroll, {\n passive: true\n });\n }\n return () => {\n if (scrollElement) {\n scrollElement.removeEventListener('scroll', handleScroll);\n }\n };\n }, [element]);\n var goToUp = ev => {\n element.scrollTo({\n top: 0,\n behavior: smooth ? 'smooth' : 'auto'\n });\n };\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls,\n ref: $dom\n }, others, {\n onClick: goToUp,\n style: style,\n children: [!hideProgress && /*#__PURE__*/_jsxs(\"svg\", {\n viewBox: \"0 0 \" + size + \" \" + size,\n width: size,\n height: size,\n focusable: \"false\",\n style: svgStyle,\n children: [/*#__PURE__*/_jsx(\"circle\", {\n fill: \"rgb(0 0 0 / 75%)\",\n stroke: \"rgb(200 200 200 / 85%)\",\n strokeWidth: strokeWidth,\n r: radius,\n cx: center,\n cy: center\n }), /*#__PURE__*/_jsx(\"circle\", {\n fill: \"none\",\n stroke: \"rgb(0 0 0 / 50%)\",\n strokeWidth: strokeWidth,\n r: radius,\n cx: center,\n cy: center,\n strokeDasharray: dasharray,\n strokeDashoffset: progress || 0,\n style: circleStyle\n })]\n }), children && /*#__PURE__*/_jsx(\"div\", {\n style: childStyle,\n children: children\n })]\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useSyncExternalStore } from 'react';\nvar globalStore = {\n corners: {\n fixed: true,\n target: '__blank',\n zIndex: 10\n },\n darkMode: {\n permanent: true,\n dark: 'Dark',\n light: 'Light'\n },\n example: null\n};\nvar listeners = [];\nexport var store = {\n setCorners(opts) {\n globalStore = _extends({}, globalStore, {\n corners: _extends({}, globalStore.corners, opts)\n });\n emitChange();\n },\n setDarkMode(opts) {\n globalStore = _extends({}, globalStore, {\n darkMode: _extends({}, globalStore.darkMode, opts)\n });\n console.log('globalStore:', globalStore);\n emitChange();\n },\n setExample(example) {\n globalStore = _extends({}, globalStore, {\n example\n });\n emitChange();\n }\n};\nfunction getSnapshot() {\n return globalStore;\n}\nfunction subscribe(listener) {\n listeners = [...listeners, listener];\n return () => {\n listeners = listeners.filter(l => l !== listener);\n };\n}\nfunction emitChange() {\n for (var listener of listeners) {\n listener();\n }\n}\nexport function useStores() {\n return useSyncExternalStore(subscribe, getSnapshot);\n}","export var octiconLink = {\n type: 'element',\n tagName: 'svg',\n properties: {\n className: 'octicon octicon-link',\n viewBox: '0 0 16 16',\n version: '1.1',\n width: '16',\n height: '16',\n ariaHidden: 'true'\n },\n children: [{\n type: 'element',\n tagName: 'path',\n children: [],\n properties: {\n fillRule: 'evenodd',\n d: 'M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'\n }\n }]\n};","import copyTextToClipboard from '@uiw/copy-to-clipboard';\nimport { useEffect } from 'react';\nfunction getParentElement(target) {\n if (!target) return null;\n var dom = target;\n if (dom.dataset.code && dom.classList.contains('copied')) {\n return dom;\n }\n if (dom.parentElement) {\n return getParentElement(dom.parentElement);\n }\n return null;\n}\nexport function useCopied(container) {\n var handle = event => {\n var target = getParentElement(event.target);\n if (!target) return;\n target.classList.add('active');\n copyTextToClipboard(target.dataset.code, function () {\n setTimeout(() => {\n target.classList.remove('active');\n }, 2000);\n });\n };\n useEffect(() => {\n var _container$current, _container$current2;\n (_container$current = container.current) == null || _container$current.removeEventListener('click', handle, false);\n (_container$current2 = container.current) == null || _container$current2.addEventListener('click', handle, false);\n return () => {\n var _container$current3;\n (_container$current3 = container.current) == null || _container$current3.removeEventListener('click', handle, false);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [container]);\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _taggedTemplateLiteralLoose from \"@babel/runtime/helpers/taggedTemplateLiteralLoose\";\nvar _excluded = [\"inline\", \"node\", \"components\", \"data\"],\n _excluded2 = [\"data-meta\", \"data-md\"],\n _excluded3 = [\"source\", \"components\", \"data\", \"rehypeRewrite\"];\nvar _templateObject;\nimport CodeLayout from 'react-code-preview-layout';\nimport { getMetaId, isMeta, getURLParameters } from 'markdown-react-code-preview-loader';\nimport MarkdownPreview from '@uiw/react-markdown-preview';\nimport styled from 'styled-components';\nimport rehypeIgnore from 'rehype-ignore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar Preview = CodeLayout.Preview;\nvar Code = CodeLayout.Code;\nvar Toolbar = CodeLayout.Toolbar;\nvar MarkdownStyle = styled(MarkdownPreview)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([\"\\n margin: 0 auto;\\n box-shadow:\\n rgb(8 15 41 / 8%) 0.5rem 0.5rem 2rem 0px,\\n rgb(8 15 41 / 8%) 0px 0px 1px 0px;\\n border: 1px solid var(--color-border-default, #30363d);\\n text-align: left;\\n max-width: 56rem;\\n overflow: auto;\\n padding: 2rem;\\n border-radius: 0.55rem;\\n\"])));\nvar CodePreview = _ref => {\n var _node$position;\n var {\n inline,\n node,\n components,\n data\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n var _ref2 = props,\n {\n 'data-md': metaData\n } = _ref2,\n rest = _objectWithoutPropertiesLoose(_ref2, _excluded2);\n if (inline || !isMeta(metaData)) {\n return /*#__PURE__*/_jsx(\"code\", _extends({}, props));\n }\n var line = (_node$position = node.position) == null ? void 0 : _node$position.start.line;\n var metaId = getMetaId(metaData) || String(line);\n var Child = components[\"\" + metaId];\n if (metaId && typeof Child === 'function') {\n var code = data[metaId].value || '';\n var {\n title,\n boreder = 1,\n checkered = 1,\n code: codeNum = 1,\n toolbar = 1\n } = getURLParameters(metaData);\n return /*#__PURE__*/_jsxs(CodeLayout, {\n bordered: !!Number(boreder),\n disableCheckered: !Number(checkered),\n style: {\n marginBottom: 16\n },\n children: [/*#__PURE__*/_jsx(Preview, {\n children: /*#__PURE__*/_jsx(Child, {})\n }), !!Number(toolbar) && /*#__PURE__*/_jsx(Toolbar, {\n text: code,\n visibleButton: !!Number(codeNum),\n children: title || 'Code Example'\n }), !!Number(codeNum) && /*#__PURE__*/_jsx(Code, {\n tagName: \"pre\",\n style: {\n marginBottom: 0\n },\n children: /*#__PURE__*/_jsx(\"code\", _extends({}, rest))\n })]\n });\n }\n return /*#__PURE__*/_jsx(\"code\", _extends({}, rest));\n};\nexport default function Markdown(props) {\n var {\n components,\n data,\n rehypeRewrite: _rehypeRewrite\n } = props,\n reset = _objectWithoutPropertiesLoose(props, _excluded3);\n return /*#__PURE__*/_jsx(MarkdownStyle, _extends({\n disableCopy: true,\n rehypePlugins: [rehypeIgnore, ...(reset.rehypePlugins || [])]\n }, reset, {\n rehypeRewrite: (node, index, parent) => {\n var _node$children$0$data;\n if (node.type === 'element' && node.tagName === 'pre' && (_node$children$0$data = node.children[0].data) != null && _node$children$0$data.meta) {\n var _node$children$0$data2;\n var meta = (_node$children$0$data2 = node.children[0].data) == null ? void 0 : _node$children$0$data2.meta;\n if (isMeta(meta)) {\n node.tagName = 'div';\n if (!node.properties) {\n node.properties = {};\n }\n node.properties['data-md'] = meta;\n node.properties['data-meta'] = 'preview';\n }\n }\n _rehypeRewrite && _rehypeRewrite(node, index, parent);\n },\n source: data.source,\n components: _extends({}, components, {\n div: rest => /*#__PURE__*/_jsx(CodePreview, _extends({}, rest, {\n components: data.components,\n data: data.data\n }))\n })\n }));\n}","import _taggedTemplateLiteralLoose from \"@babel/runtime/helpers/taggedTemplateLiteralLoose\";\nvar _templateObject, _templateObject2;\nimport { keyframes, styled } from 'styled-components';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar rotate = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([\"\\n from {\\n transform: rotate(0deg);\\n }\\n\\n to {\\n transform: rotate(360deg);\\n }\\n\"])));\nvar SVG = styled.svg(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose([\"\\n color: var(--rmpe-logo-color, #61dafb);\\n height: 8rem;\\n margin-bottom: 3rem;\\n pointer-events: none;\\n animation: \", \" infinite 20s linear;\\n\"])), rotate);\nexport var Logo = /*#__PURE__*/_jsxs(SVG, {\n width: \"100%\",\n height: \"100%\",\n viewBox: \"-10.5 -9.45 21 18.9\",\n fill: \"none\",\n children: [/*#__PURE__*/_jsx(\"circle\", {\n cx: \"0\",\n cy: \"0\",\n r: \"2\",\n fill: \"currentColor\"\n }), /*#__PURE__*/_jsxs(\"g\", {\n stroke: \"currentColor\",\n strokeWidth: \"1\",\n fill: \"none\",\n children: [/*#__PURE__*/_jsx(\"ellipse\", {\n rx: \"10\",\n ry: \"4.5\"\n }), /*#__PURE__*/_jsx(\"ellipse\", {\n rx: \"10\",\n ry: \"4.5\",\n transform: \"rotate(60)\"\n }), /*#__PURE__*/_jsx(\"ellipse\", {\n rx: \"10\",\n ry: \"4.5\",\n transform: \"rotate(120)\"\n })]\n })]\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport { visit } from 'unist-util-visit';\nexport var reservedMeta = function reservedMeta(options) {\n if (options === void 0) {\n options = {};\n }\n return tree => {\n visit(tree, node => {\n if (node.type === 'element' && node.tagName === 'code' && node.data && node.data.meta) {\n node.properties = _extends({}, node.properties, {\n 'data-meta': String(node.data.meta)\n });\n }\n });\n };\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"source\", \"style\", \"disableCopy\", \"skipHtml\", \"onScroll\", \"onMouseOver\", \"pluginsFilter\", \"rehypeRewrite\", \"wrapperElement\", \"warpperElement\"];\nimport React, { useImperativeHandle } from 'react';\nimport ReactMarkdown from 'react-markdown';\nimport gfm from 'remark-gfm';\nimport raw from 'rehype-raw';\nimport slug from 'rehype-slug';\nimport headings from 'rehype-autolink-headings';\nimport rehypeAttrs from 'rehype-attr';\nimport rehypeIgnore from 'rehype-ignore';\nimport rehypePrism from 'rehype-prism-plus';\nimport rehypeRewrite, { getCodeString } from 'rehype-rewrite';\nimport { octiconLink } from './nodes/octiconLink';\nimport { copyElement } from './nodes/copy';\nimport { useCopied } from './plugins/useCopied';\nimport \"./styles/markdown.css\";\nimport { reservedMeta } from './plugins/reservedMeta';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'wmde-markdown wmde-markdown-color',\n className,\n source,\n style,\n disableCopy = false,\n skipHtml = true,\n onScroll,\n onMouseOver,\n pluginsFilter,\n rehypeRewrite: rewrite,\n wrapperElement = {},\n warpperElement = {}\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var mdp = React.useRef(null);\n useImperativeHandle(ref, () => _extends({}, props, {\n mdp\n }), [mdp, props]);\n var cls = (prefixCls || '') + \" \" + (className || '');\n useCopied(mdp);\n var rehypeRewriteHandle = (node, index, parent) => {\n if (node.type === 'element' && parent && parent.type === 'root' && /h(1|2|3|4|5|6)/.test(node.tagName)) {\n var child = node.children && node.children[0];\n if (child && child.properties && child.properties.ariaHidden === 'true') {\n child.properties = _extends({\n class: 'anchor'\n }, child.properties);\n child.children = [octiconLink];\n }\n }\n if (node.type === 'element' && node.tagName === 'pre' && !disableCopy) {\n var code = getCodeString(node.children);\n node.children.push(copyElement(code));\n }\n rewrite && rewrite(node, index, parent);\n };\n var rehypePlugins = [reservedMeta, [rehypePrism, {\n ignoreMissing: true\n }], slug, headings, rehypeIgnore, [rehypeRewrite, {\n rewrite: rehypeRewriteHandle\n }], [rehypeAttrs, {\n properties: 'attr'\n }], ...(other.rehypePlugins || [])];\n var customProps = {\n allowElement: (element, index, parent) => {\n if (other.allowElement) {\n return other.allowElement(element, index, parent);\n }\n return /^[A-Za-z0-9]+$/.test(element.tagName);\n }\n };\n if (skipHtml) {\n rehypePlugins.push(raw);\n }\n var remarkPlugins = [...(other.remarkPlugins || []), gfm];\n var wrapperProps = _extends({}, warpperElement, wrapperElement);\n return /*#__PURE__*/_jsx(\"div\", _extends({\n ref: mdp,\n onScroll: onScroll,\n onMouseOver: onMouseOver\n }, wrapperProps, {\n className: cls,\n style: style,\n children: /*#__PURE__*/_jsx(ReactMarkdown, _extends({}, customProps, other, {\n skipHtml: skipHtml,\n rehypePlugins: pluginsFilter ? pluginsFilter('rehype', rehypePlugins) : rehypePlugins,\n remarkPlugins: pluginsFilter ? pluginsFilter('remark', remarkPlugins) : remarkPlugins,\n children: source || ''\n }))\n }));\n});","export function copyElement(str) {\n if (str === void 0) {\n str = '';\n }\n return {\n type: 'element',\n tagName: 'div',\n properties: {\n class: 'copied',\n 'data-code': str\n },\n children: [{\n type: 'element',\n tagName: 'svg',\n properties: {\n className: 'octicon-copy',\n ariaHidden: 'true',\n viewBox: '0 0 16 16',\n fill: 'currentColor',\n height: 12,\n width: 12\n },\n children: [{\n type: 'element',\n tagName: 'path',\n properties: {\n fillRule: 'evenodd',\n d: 'M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z'\n },\n children: []\n }, {\n type: 'element',\n tagName: 'path',\n properties: {\n fillRule: 'evenodd',\n d: 'M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z'\n },\n children: []\n }]\n }, {\n type: 'element',\n tagName: 'svg',\n properties: {\n className: 'octicon-check',\n ariaHidden: 'true',\n viewBox: '0 0 16 16',\n fill: 'currentColor',\n height: 12,\n width: 12\n },\n children: [{\n type: 'element',\n tagName: 'path',\n properties: {\n fillRule: 'evenodd',\n d: 'M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z'\n },\n children: []\n }]\n }]\n };\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _taggedTemplateLiteralLoose from \"@babel/runtime/helpers/taggedTemplateLiteralLoose\";\nvar _excluded = [\"version\", \"title\", \"description\", \"source\", \"logo\", \"components\", \"data\", \"markdownProps\", \"exampleProps\", \"className\", \"children\", \"disableCorners\", \"disableDarkMode\", \"disableHeader\", \"disableBackToUp\"];\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;\nimport { forwardRef } from 'react';\nimport '@wcj/dark-mode';\nimport { styled } from 'styled-components';\nimport GitHubCorners from '@uiw/react-github-corners';\nimport BackToUp from '@uiw/react-back-to-top';\nimport { Github } from './Github';\nimport { Corners } from './Corners';\nimport { Example } from './Example';\nimport { useStores } from './store';\nimport Markdown from './Markdown';\nimport { Logo } from './Logo';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar ExampleWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([\"\\n max-width: 56rem;\\n margin: 0 auto;\\n padding: 2.3rem 3rem;\\n display: flex;\\n justify-content: center;\\n\"])));\nvar Wrappper = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose([\"\\n padding-bottom: 12rem;\\n\"])));\nvar Header = styled.header(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose([\"\\n padding: 6rem 0 2rem 0;\\n text-align: center;\\n h1 {\\n font-weight: 900;\\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif,\\n 'Apple Color Emoji', 'Segoe UI Emoji';\\n }\\n\"])));\nvar SupVersion = styled.sup(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose([\"\\n font-weight: 200;\\n font-size: 0.78rem;\\n margin-left: 0.5em;\\n margin-top: -0.3em;\\n position: absolute;\\n\"])));\nvar Description = styled.p(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose([\"\\n max-width: 460px;\\n margin: 0 auto;\\n color: var(--color-fg-subtle, #6e7781);\\n\"])));\nvar InternalMarkdownPreviewExample = /*#__PURE__*/forwardRef((props, ref) => {\n var {\n version,\n title,\n description,\n source,\n logo = Logo,\n components,\n data,\n markdownProps,\n exampleProps,\n className = '',\n children,\n disableCorners = false,\n disableDarkMode = false,\n disableHeader = false,\n disableBackToUp = false\n } = props,\n reset = _objectWithoutPropertiesLoose(props, _excluded);\n var store = useStores();\n return /*#__PURE__*/_jsxs(Wrappper, _extends({\n className: \"wmde-markdown-var \" + className\n }, reset, {\n children: [!disableDarkMode && /*#__PURE__*/_jsx(\"dark-mode\", _extends({\n permanent: true,\n style: {\n position: 'fixed',\n top: 8,\n left: 12,\n zIndex: 99,\n fontSize: 28\n }\n }, store.darkMode)), !disableCorners && /*#__PURE__*/_jsx(GitHubCorners, _extends({\n fixed: true,\n target: \"__blank\",\n zIndex: 10\n }, store.corners)), !disableHeader && /*#__PURE__*/_jsxs(Header, {\n children: [logo, title && /*#__PURE__*/_jsxs(\"h1\", {\n children: [title, version && /*#__PURE__*/_jsx(SupVersion, {\n children: version\n })]\n }), description && /*#__PURE__*/_jsx(Description, {\n children: description\n })]\n }), /*#__PURE__*/_jsx(\"div\", {}), store.example && /*#__PURE__*/_jsx(ExampleWrapper, _extends({}, exampleProps, {\n children: store.example\n })), /*#__PURE__*/_jsx(Markdown, _extends({}, markdownProps, {\n source: source,\n data: {\n data,\n components,\n source\n }\n })), children, !disableBackToUp && /*#__PURE__*/_jsx(BackToUp, {\n children: \"Top\"\n })]\n }));\n});\nvar MarkdownPreviewExample = InternalMarkdownPreviewExample;\nMarkdownPreviewExample.Github = Github;\nMarkdownPreviewExample.Corners = Corners;\nMarkdownPreviewExample.Example = Example;\nexport default MarkdownPreviewExample;","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useEffect } from 'react';\nimport { store } from './store';\nexport function Github(props) {\n useEffect(() => store.setCorners(_extends({}, props)), [props]);\n return null;\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useEffect } from 'react';\nimport { store } from './store';\nexport function Corners(props) {\n useEffect(() => store.setDarkMode(_extends({}, props)), [props]);\n return null;\n}","import { useEffect } from 'react';\nimport { store } from './store';\nexport function Example(_ref) {\n var {\n children\n } = _ref;\n useEffect(() => store.setExample(children), [children]);\n return null;\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"tagName\", \"children\", \"disabled\", \"multiline\", \"icon\", \"text\", \"active\", \"addonAfter\", \"isSubMenuItem\"];\nimport React, { Fragment } from 'react';\nimport Icon from '@uiw/react-icon';\nimport \"./style/item.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar disabledProps = {\n href: undefined,\n onClick: undefined,\n onMouseDown: undefined,\n onMouseEnter: undefined,\n onMouseLeave: undefined,\n tabIndex: -1\n};\nfunction Internal(props, ref) {\n var {\n prefixCls = 'w-menu-item',\n className,\n tagName: TagName = 'a',\n disabled = false,\n multiline = false,\n icon,\n text,\n active = false,\n addonAfter,\n isSubMenuItem\n } = props,\n htmlProps = _objectWithoutPropertiesLoose(props, _excluded);\n var anchorCls = [prefixCls, active ? 'active' : null, disabled ? 'w-disabled' : null, className].filter(Boolean).join(' ').trim();\n var tagComp = /*#__PURE__*/React.createElement(TagName, _extends({}, htmlProps, disabled ? disabledProps : {}, {\n className: anchorCls,\n ref\n }), /*#__PURE__*/_jsxs(Fragment, {\n children: [/*#__PURE__*/_jsx(Icon, {\n className: prefixCls + \"-icon\",\n type: icon\n }), /*#__PURE__*/_jsx(\"div\", {\n className: [prefixCls && prefixCls + \"-text\", !multiline && prefixCls + \"-multiline\"].filter(Boolean).join(' ').trim(),\n children: text\n }), addonAfter]\n }));\n if (isSubMenuItem) {\n return tagComp;\n }\n return /*#__PURE__*/_jsxs(\"li\", {\n children: [\" \", tagComp, \" \"]\n });\n}\nexport var MenuItem = /*#__PURE__*/React.forwardRef(Internal);\nMenuItem.displayName = 'uiw.MenuItem';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"title\"];\nimport React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var MenuDivider = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-menu-divider',\n className,\n title\n } = props,\n htmlProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n if (!title) {\n return /*#__PURE__*/_jsx(\"li\", _extends({}, htmlProps, {\n ref: ref,\n className: cls\n }));\n }\n return /*#__PURE__*/_jsx(\"li\", _extends({}, htmlProps, {\n ref: ref,\n className: cls,\n \"data-menu\": \"divider\",\n children: /*#__PURE__*/_jsx(\"strong\", {\n children: title\n })\n }));\n});\nMenuDivider.displayName = 'uiw.MenuDivider';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"disabled\", \"overlayProps\", \"children\", \"collapse\", \"inlineIndent\", \"inlineCollapsed\"];\nimport React, { useMemo, useState, useContext } from 'react';\nimport OverlayTrigger from '@uiw/react-overlay-trigger';\nimport Icon from '@uiw/react-icon';\nimport { MenuItem } from './MenuItem';\nimport { Menu, ThemeContext } from './Menu';\nimport \"./style/submenu.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction checkedMenuItem(node) {\n var isCheck = false;\n if (node) {\n // eslint-disable-next-line\n do {\n if (!node.dataset.menu) {\n isCheck = true;\n }\n if (node.dataset.menu && /^(subitem|divider)$/.test(node.dataset.menu)) {\n isCheck = false;\n }\n } while (!node.dataset.menu && (node = node.parentNode));\n }\n return isCheck;\n}\nfunction IconView(_ref) {\n var {\n prefixCls,\n collapse,\n isOpen\n } = _ref;\n return useMemo(() => /*#__PURE__*/_jsx(Icon, {\n type: \"caret-right\",\n className: [prefixCls ? prefixCls + \"-collapse-icon\" : null, !collapse && isOpen ? 'w-open' : null, !collapse && !isOpen ? 'w-close' : null].filter(Boolean).join(' ').trim()\n }), [prefixCls, collapse, isOpen]);\n}\nexport var SubMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var {\n prefixCls = 'w-menu-subitem',\n className,\n disabled,\n overlayProps = {},\n children,\n collapse = false,\n inlineIndent\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var overlayTriggerProps = {};\n var menuProps = {\n bordered: true,\n children,\n inlineIndent,\n className: [prefixCls ? prefixCls + \"-overlay\" : null].filter(Boolean).join(' ').trim()\n };\n var popupRef = React.useRef(null);\n var refNode = React.useRef();\n var elementSource = React.useRef();\n var [isOpen, setIsOpen] = useState(!!overlayProps.isOpen);\n var {\n height,\n setContextHeight,\n ele\n } = useContext(ThemeContext);\n React.useEffect(() => {\n if (refNode.current && refNode.current.style && ele === elementSource.current) {\n var currentHeight = Number(refNode.current.style.height.substr(0, refNode.current.style.height.length - 2));\n // 设置的高度 < '已有展开的高度',\n if (refNode.current.getBoundingClientRect().height < currentHeight) {\n refNode.current.style.height = currentHeight + 'px';\n } else {\n refNode.current.style.height = currentHeight + height + 'px';\n }\n }\n }, [height, ele]);\n useMemo(() => {\n if (collapse) setIsOpen(false);\n }, [collapse]);\n function onClick(e) {\n var target = e.currentTarget;\n var related = e.relatedTarget || e.nativeEvent.target;\n if (target.children.length < 1) return;\n if (checkedMenuItem(related)) {\n if (popupRef.current) {\n popupRef.current.hide();\n }\n }\n }\n function onEnter(node) {\n node.style.height = '0px';\n refNode.current = node;\n setIsOpen(true);\n if (popupRef.current && popupRef.current.overlayDom.current) {\n setContextHeight({\n height: popupRef.current.overlayDom.current.getBoundingClientRect().height,\n ele: elementSource.current\n });\n }\n }\n function onEntering(node) {\n node.style.height = node.scrollHeight + \"px\";\n }\n function onEntered(node) {\n // node.style.height = 'initial';\n if (popupRef.current && popupRef.current.overlayDom.current) {\n node.style.height = popupRef.current.overlayDom.current.getBoundingClientRect().height + 'px';\n }\n }\n function onExiting(node) {\n node.style.height = '0px';\n if (popupRef.current && popupRef.current.overlayDom.current) {\n setContextHeight({\n height: -popupRef.current.overlayDom.current.getBoundingClientRect().height,\n ele: elementSource.current\n });\n }\n }\n function onExit(node) {\n node.style.height = node.scrollHeight + \"px\";\n setIsOpen(false);\n }\n if (!collapse) {\n delete menuProps.onClick;\n menuProps.bordered = false;\n overlayTriggerProps.className = prefixCls + \"-collapse\";\n overlayTriggerProps.appear = false;\n overlayTriggerProps.isOutside = true;\n overlayTriggerProps.isClickOutside = false;\n overlayTriggerProps.unmountOnExit = false;\n overlayTriggerProps.trigger = 'click';\n overlayTriggerProps.transitionName = \"\" + prefixCls;\n overlayTriggerProps.onExit = onExit;\n overlayTriggerProps.onExiting = onExiting;\n overlayTriggerProps.onEnter = onEnter;\n overlayTriggerProps.onEntered = onEntered;\n overlayTriggerProps.onEntering = onEntering;\n } else {\n overlayTriggerProps.className = prefixCls + \"-popup\";\n overlayTriggerProps.trigger = 'hover';\n overlayTriggerProps.usePortal = true;\n menuProps.onClick = onClick;\n }\n return /*#__PURE__*/_jsx(\"li\", {\n \"data-menu\": \"subitem\",\n ref: ref,\n onClick: e => {\n if (collapse) {\n e.stopPropagation();\n return;\n }\n elementSource.current = e.target;\n },\n children: /*#__PURE__*/_jsx(OverlayTrigger, _extends({\n placement: \"rightTop\",\n autoAdjustOverflow: true,\n disabled: disabled,\n isOpen: isOpen,\n usePortal: false,\n isOutside: true\n }, overlayTriggerProps, overlayProps, {\n ref: popupRef,\n overlay: /*#__PURE__*/_jsx(Menu, _extends({}, menuProps, {\n style: !collapse ? {\n paddingLeft: inlineIndent\n } : {}\n })),\n children: /*#__PURE__*/_jsx(MenuItem, _extends({}, other, {\n ref: null,\n disabled: disabled,\n isSubMenuItem: true,\n addonAfter: /*#__PURE__*/_jsx(IconView, {\n collapse: collapse,\n prefixCls: prefixCls,\n isOpen: isOpen\n }),\n className: [prefixCls ? prefixCls + \"-title\" : null, !collapse ? prefixCls + \"-collapse-title\" : null, className].filter(Boolean).join(' ').trim()\n }))\n }))\n });\n});\nSubMenu.displayName = 'uiw.SubMenu';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\", \"bordered\", \"theme\", \"inlineIndent\", \"inlineCollapsed\"];\nimport React, { useMemo, createContext } from 'react';\nimport { MenuItem } from './MenuItem';\nimport { MenuDivider } from './Divider';\nimport { SubMenu } from './SubMenu';\nimport \"./style/menu.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var ThemeContext = /*#__PURE__*/createContext({});\nexport var Menu = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-menu',\n className,\n children,\n bordered,\n theme = 'light',\n inlineIndent = 10,\n inlineCollapsed\n } = props,\n htmlProps = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = useMemo(() => [prefixCls, bordered ? 'w-bordered' : null, inlineCollapsed ? prefixCls + \"-inline-collapsed\" : null, theme ? prefixCls + \"-\" + theme : null, className].filter(Boolean).join(' ').trim(), [prefixCls, bordered, inlineCollapsed, theme, className]);\n return /*#__PURE__*/_jsx(\"ul\", _extends({}, htmlProps, {\n ref: ref,\n className: cls,\n \"data-menu\": \"menu\",\n children: React.Children.map(children, (child, key) => {\n if (! /*#__PURE__*/React.isValidElement(child)) return child;\n var props = {};\n // Sub Menu\n if (child.props.children && child.type === SubMenu) {\n props.inlineIndent = inlineIndent;\n }\n return /*#__PURE__*/React.cloneElement(child, Object.assign(_extends({}, props), child.props, {\n key: \"\" + key\n }));\n })\n }));\n});\nvar InternalContextMenu = (props, ref) => {\n var [contextHeight, setContextHeight] = React.useState({\n height: 0,\n ele: null\n });\n return /*#__PURE__*/_jsx(ThemeContext.Provider, {\n value: _extends({}, contextHeight, {\n setContextHeight\n }),\n children: /*#__PURE__*/_jsx(Menu, _extends({}, props, {\n ref: ref\n }))\n });\n};\nvar ContextMenu = /*#__PURE__*/React.forwardRef(InternalContextMenu);\nMenu.displayName = 'uiw.Menu';\nContextMenu.displayName = 'uiw.Menu';\nContextMenu.Item = MenuItem;\nContextMenu.SubMenu = SubMenu;\nContextMenu.Divider = MenuDivider;\nexport default ContextMenu;","import Menu from './Menu';\nexport * from './Menu';\nexport * from './MenuItem';\nexport * from './SubMenu';\nexport * from './Divider';\nexport default Menu;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"type\", \"title\", \"description\", \"showIcon\", \"icon\", \"rounded\", \"isCloseButtonShown\"];\nimport React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport Icon from '@uiw/react-icon';\nimport Button from '@uiw/react-button';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default class Message extends React.Component {\n constructor(props) {\n super(props);\n this.handleClosed = e => {\n var {\n onClose\n } = this.props;\n this.setState({\n isOpen: false\n });\n onClose && onClose(e);\n };\n this.renderIcon = () => {\n var {\n type,\n showIcon\n } = this.props;\n var icon = this.props.icon;\n if (!icon && showIcon) {\n switch (type) {\n case 'success':\n icon = 'circle-check';\n break;\n case 'warning':\n icon = 'warning';\n break;\n case 'info':\n icon = 'information';\n break;\n case 'error':\n icon = 'circle-close';\n break;\n default:\n break;\n }\n }\n return icon;\n };\n this.state = {\n isOpen: true\n };\n }\n render() {\n var _this$props = this.props,\n {\n prefixCls,\n className,\n type,\n title,\n description,\n showIcon,\n rounded,\n isCloseButtonShown\n } = _this$props,\n elementProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var children = description || this.props.children;\n var cls = [prefixCls, className, prefixCls + \"-\" + type, rounded ? prefixCls + \"-rounded\" : null, showIcon ? prefixCls + \"-icon\" : null, showIcon ? \"\" + prefixCls + (title ? '-title' : '') + (children ? '-description' : '') : null].filter(Boolean).join(' ').trim();\n var Child = /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls\n }, elementProps, {\n children: [isCloseButtonShown && /*#__PURE__*/_jsx(Button, {\n basic: true,\n onClick: this.handleClosed,\n icon: \"close\",\n type: \"light\"\n }), showIcon && /*#__PURE__*/_jsx(Icon, {\n type: this.renderIcon()\n }), /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-title\",\n children: title\n }), /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-description\",\n children: children\n })]\n }));\n if (!isCloseButtonShown) {\n return Child;\n }\n return /*#__PURE__*/_jsx(CSSTransition, {\n in: this.state.isOpen,\n unmountOnExit: true,\n timeout: 300,\n classNames: prefixCls,\n children: Child\n });\n }\n}\nMessage.defaultProps = {\n prefixCls: 'w-message',\n rounded: true,\n isCloseButtonShown: false\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"title\", \"children\"];\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport Modal from './';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function CallShow(props) {\n var _ref = props || {},\n {\n title = '提示框',\n children\n } = _ref,\n other = _objectWithoutPropertiesLoose(_ref, _excluded);\n var dv = document.createElement('div');\n dv.id = 'uiw-modal-call-show-element';\n document.body.appendChild(dv);\n ReactDOM.render( /*#__PURE__*/_jsx(Modal, _extends({}, other, {\n title: title,\n isOpen: true,\n onClosed: () => {\n dv.remove();\n },\n children: children\n })), dv);\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\", \"useButton\", \"usePortal\", \"autoFocus\", \"isOpen\", \"title\", \"cancelText\", \"cancelButtonProps\", \"confirmButtonProps\", \"content\", \"confirmText\", \"type\", \"icon\", \"maxWidth\", \"minWidth\", \"width\", \"isCloseButtonShown\", \"onCancel\", \"onConfirm\", \"bodyStyle\"];\nimport React, { useState, useEffect } from 'react';\nimport Overlay from '@uiw/react-overlay';\nimport Button from '@uiw/react-button';\nimport Icon from '@uiw/react-icon';\nimport { noop } from '@uiw/utils';\nimport \"./style/index.css\";\nimport CallShow from './CallShow';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar Modal = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-modal',\n className,\n children,\n useButton = true,\n usePortal = true,\n autoFocus = false,\n isOpen: _ = false,\n title,\n cancelText,\n cancelButtonProps,\n confirmButtonProps,\n content,\n confirmText = '确认',\n type = 'light',\n icon,\n maxWidth = 500,\n minWidth = 320,\n width,\n isCloseButtonShown = true,\n onCancel = noop,\n onConfirm = noop,\n bodyStyle\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [isOpen, setIsOpen] = useState(props.isOpen);\n useEffect(() => {\n if (props.isOpen !== isOpen) {\n setIsOpen(props.isOpen);\n }\n }, [props.isOpen]);\n var [loading, setLoading] = useState(false);\n var cls = [prefixCls, className, type ? \"\" + type : null].filter(Boolean).join(' ').trim();\n function onClose() {\n setIsOpen(false);\n }\n function handleCancel(_x) {\n return _handleCancel.apply(this, arguments);\n }\n function _handleCancel() {\n _handleCancel = _asyncToGenerator(function* (e) {\n setLoading(true);\n try {\n onCancel && (yield onCancel(e));\n } catch (e) {}\n setIsOpen(false);\n setLoading(false);\n });\n return _handleCancel.apply(this, arguments);\n }\n function handleConfirm(_x2) {\n return _handleConfirm.apply(this, arguments);\n }\n function _handleConfirm() {\n _handleConfirm = _asyncToGenerator(function* (e) {\n setLoading(true);\n try {\n onConfirm && (yield onConfirm(e));\n } catch (e) {}\n setIsOpen(false);\n setLoading(false);\n });\n return _handleConfirm.apply(this, arguments);\n }\n return /*#__PURE__*/_jsx(Overlay, _extends({\n usePortal: usePortal,\n isOpen: isOpen\n }, other, {\n onClose: onClose,\n className: cls,\n children: /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-container\",\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: [prefixCls + \"-inner\", title ? prefixCls + \"-shown-title\" : null, icon ? prefixCls + \"-shown-icon\" : null].filter(Boolean).join(' ').trim(),\n style: {\n maxWidth,\n minWidth,\n width\n },\n children: [(title || icon) && /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-header\",\n children: [icon && /*#__PURE__*/_jsx(Icon, {\n type: icon\n }), title && /*#__PURE__*/_jsx(\"h4\", {\n children: title\n }), isCloseButtonShown && /*#__PURE__*/_jsx(Button, {\n basic: true,\n onClick: e => handleCancel(e),\n icon: \"close\",\n type: \"light\"\n })]\n }), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-body\",\n style: bodyStyle,\n children: children || content\n }), useButton && /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-footer\",\n children: [/*#__PURE__*/_jsx(Button, _extends({\n autoFocus: autoFocus,\n type: type,\n loading: loading,\n disabled: loading\n }, confirmButtonProps, {\n onClick: e => handleConfirm(e),\n children: confirmText\n })), cancelText && /*#__PURE__*/_jsx(Button, _extends({}, cancelButtonProps, {\n onClick: e => handleCancel(e),\n children: cancelText\n }))]\n })]\n })\n })\n }));\n});\nModal.show = CallShow;\nexport default Modal;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"format\", \"onChange\", \"className\", \"popoverProps\", \"pickerCaptionProps\", \"allowClear\", \"monthLabel\"];\nimport React, { useEffect, useMemo, useState } from 'react';\nimport Input from '@uiw/react-input';\nimport Popover from '@uiw/react-popover';\nimport Button from '@uiw/react-button';\nimport formatter from '@uiw/formatter';\nimport { DatePickerMonth, DatePickerYear, DatePickerCaption } from '@uiw/react-date-picker';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar MONTH_LABEL = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'];\nexport default function MonthPicker(props) {\n var {\n prefixCls = 'w-monthpicker',\n format = 'YYYY/MM',\n onChange = () => {},\n className,\n popoverProps,\n pickerCaptionProps = {},\n allowClear = true,\n monthLabel = MONTH_LABEL\n } = props,\n inputProps = _objectWithoutPropertiesLoose(props, _excluded);\n var [isOpen, setIsOpen] = useState(false);\n var [panelDate, setPanelDate] = useState(new Date());\n var [type, setType] = useState('month');\n var [date, setDate] = useState(props.value);\n useEffect(() => setDate(props.value), [props.value]);\n inputProps.value = useMemo(() => typeof date === 'string' ? date : date ? formatter(format, date) : '', [format, date]);\n if (allowClear && inputProps.value) {\n inputProps.addonAfter = /*#__PURE__*/_jsx(Button, {\n className: prefixCls + \"-close-btn\",\n icon: \"close\",\n onClick: () => {\n setDate('');\n onChange && onChange();\n },\n size: inputProps.size,\n basic: true,\n type: \"light\"\n });\n }\n function handleSelectedDate(type, num, paging) {\n var curPanelDate = new Date(new Date(panelDate)[type](num));\n if (!paging) {\n setType('month');\n }\n var curDate = formatter(format, new Date(curPanelDate));\n setDate(curDate);\n setPanelDate(curPanelDate);\n onChange && onChange(curPanelDate, curDate);\n if (type === 'setMonth') {\n setIsOpen(false);\n }\n }\n return /*#__PURE__*/_jsx(Popover, _extends({\n trigger: \"focus\",\n placement: \"bottomLeft\",\n autoAdjustOverflow: true,\n isOpen: isOpen\n }, popoverProps, {\n onVisibleChange: open => setIsOpen(open),\n content: /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-popover\",\n children: [/*#__PURE__*/_jsx(DatePickerCaption, _extends({\n panelDate: panelDate,\n monthLabel: monthLabel\n }, pickerCaptionProps, {\n onSelected: captionType => {\n if (/^(month|year)$/.test(captionType)) {\n setType(captionType);\n } else {\n var year = new Date(panelDate).getFullYear();\n var curPanelDate = new Date(new Date(panelDate).setFullYear(captionType === 'next' ? year + 1 : year - 1));\n setPanelDate(curPanelDate);\n }\n }\n })), type === 'month' && /*#__PURE__*/_jsx(DatePickerMonth, {\n panelDate: panelDate,\n monthLabel: monthLabel,\n onSelected: (month, paging) => handleSelectedDate('setMonth', month, paging)\n }), type === 'year' && /*#__PURE__*/_jsx(DatePickerYear, {\n panelDate: panelDate,\n onSelected: (year, paging) => handleSelectedDate('setFullYear', year, paging)\n })]\n }),\n children: /*#__PURE__*/_jsx(Input, _extends({\n placeholder: \"\\u8BF7\\u8F93\\u5165\\u65E5\\u671F\",\n readOnly: true\n }, inputProps, {\n className: [prefixCls, className].filter(Boolean).join(' ').trim()\n }))\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"description\", \"isOpen\"];\nimport React from 'react';\nimport Alert from '@uiw/react-alert';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar notifys = {};\nvar timer = {};\nexport default class Container extends React.Component {\n constructor() {\n super(...arguments);\n this.state = {\n notifys: {}\n };\n }\n create(props) {\n var {\n placement,\n key\n } = props;\n if (!notifys[placement]) {\n notifys[placement] = {};\n }\n props.isOpen = false;\n notifys[placement][key] = props;\n if (props.duration) {\n timer[key] = setTimeout(() => {\n this.closed(key, placement);\n }, props.duration);\n }\n this.setState({\n notifys,\n placement\n }, () => {\n notifys[placement][key].isOpen = true;\n this.setState({\n notifys\n });\n });\n }\n closed(key, placement) {\n if (!key || !placement || !notifys[placement][key]) {\n return;\n }\n notifys[placement][key].isOpen = false;\n var props = notifys[placement][key];\n this.setState({\n notifys\n }, () => {\n clearTimeout(timer[key]);\n delete timer[key];\n delete notifys[placement][key];\n if (props && props.willUnmount) {\n props.willUnmount(props, notifys);\n }\n });\n }\n render() {\n var {\n prefixCls\n } = this.props;\n var {\n placement\n } = this.state;\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: placement && Object.keys(this.state.notifys[placement]).map(key => {\n var _this$state$notifys$p = this.state.notifys[placement][key],\n {\n description,\n isOpen\n } = _this$state$notifys$p,\n alertProps = _objectWithoutPropertiesLoose(_this$state$notifys$p, _excluded);\n if (alertProps.type === 'open') {\n delete alertProps.type;\n }\n return /*#__PURE__*/_jsx(Alert, _extends({\n className: prefixCls,\n useButton: false,\n width: 320\n }, alertProps, {\n usePortal: false,\n hasBackdrop: false,\n isOpen: isOpen,\n content: description\n }), key);\n })\n });\n }\n}\nContainer.defaultProps = {\n prefixCls: 'w-notify',\n placement: 'topRight'\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { randomid } from '@uiw/utils';\nimport Container from './Container';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar notifys = {};\nvar notifysDom = {};\nfunction NotificationCreate(props, type) {\n if (type === void 0) {\n type = 'open';\n }\n if (!props.placement) {\n props.placement = 'topRight';\n }\n props.type = type;\n if (!props.icon && props.icon !== null) {\n switch (props.type) {\n case 'success':\n props.icon = 'circle-check';\n break;\n case 'warning':\n props.icon = 'warning';\n break;\n case 'info':\n props.icon = 'information';\n break;\n case 'error':\n props.icon = 'circle-close';\n break;\n default:\n break;\n }\n }\n switch (props.type) {\n case 'info':\n props.type = 'primary';\n break;\n case 'error':\n props.type = 'danger';\n break;\n default:\n break;\n }\n if (props.placement && !notifys[props.placement]) {\n var div = document.createElement('div');\n document.body.appendChild(div);\n div.className = ['w-notify-warpper', props.placement].filter(Boolean).join(' ').trim();\n notifysDom[props.placement] = div;\n notifys[props.placement] = ReactDOM.render( /*#__PURE__*/_jsx(Container, {}), div);\n }\n if (props.duration !== null) {\n props.duration = (props.duration || 4.5) * 1000;\n }\n if (notifys[props.placement]) {\n notifys[props.placement].create(_extends({}, props, {\n duration: props.duration,\n key: randomid(),\n willUnmount(nprops, notifysChild) {\n if (!nprops) return;\n nprops.onClose && nprops.onClose();\n var keys = Object.keys(notifysChild[props.placement]);\n if (keys.length === 0 && notifys[props.placement]) {\n delete notifys[props.placement];\n if (notifysDom[props.placement]) {\n document.body.removeChild(notifysDom[props.placement]);\n }\n }\n }\n }));\n }\n}\n['open', 'success', 'warning', 'info', 'error'].forEach(type => {\n NotificationCreate[type] = function (options) {\n if (options === void 0) {\n options = {};\n }\n return NotificationCreate(options, type);\n };\n});\nexport default NotificationCreate;","/**\n * Returns a random text\n */\nexport function randomid() {\n return parseInt(String(Math.random() * 1e15), 10).toString(36);\n}","var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction fallback(context, node) {\n if (node) {\n do {\n if (node === context) return true;\n } while (node = node.parentNode);\n }\n return false;\n}\nfunction isDOM(item) {\n return typeof HTMLElement === 'function' ? item instanceof HTMLElement : item && typeof item === 'object' && item.nodeType === 1 && typeof item.nodeName === 'string';\n}\nvar contains = (() => {\n // HTML DOM and SVG DOM may have different support levels,\n // so we need to check on context instead of a document root element.\n return canUseDOM ? function (context, node) {\n if (context && context.contains && typeof context.contains === 'function' && isDOM(node)) {\n return context.contains(node);\n }\n if (context && context.compareDocumentPosition && isDOM(node)) {\n return context === node || !!(context.compareDocumentPosition(node) && 16);\n }\n return fallback(context, node);\n } : fallback;\n})();\nexport default contains;","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n return parseFloat(styles[\"border\" + sideA + \"Width\"]) + parseFloat(styles[\"border\" + sideB + \"Width\"]);\n}","export default typeof window !== 'undefined' && typeof document !== 'undefined';","import isBrowser from './isBrowser';\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}","import isIE from './isIE';\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body[\"offset\" + axis], body[\"scroll\" + axis], html[\"client\" + axis], html[\"offset\" + axis], html[\"scroll\" + axis], isIE(10) ? parseInt(html[\"offset\" + axis], 10) + parseInt(computedStyle[\"margin\" + (axis === 'Height' ? 'Top' : 'Left')], 10) + parseInt(computedStyle[\"margin\" + (axis === 'Height' ? 'Bottom' : 'Right')], 10) : 0);\n}\nexport default function getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = getComputedStyle(html);\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}","import { getScroll } from '@uiw/utils';\nimport getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, true);\n var scrollLeft = getScroll(element);\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n // eslint-disable-next-line\n } catch (e) {}\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n result.offsetLeft = element.offsetLeft || element.scrollLeft || 0;\n result.offsetTop = element.offsetTop || element.offsetTop || 0;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n return getClientRect(result);\n}","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n var rect = element.getBoundingClientRect();\n // const window = element.ownerDocument.defaultView;\n // const styles = window.getComputedStyle(element);\n // const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n // const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth || element.scrollWidth || rect.width || 0,\n height: element.offsetHeight || element.scrollHeight || rect.height || 0\n };\n return result;\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport { getScroll } from '@uiw/utils';\nimport getBoundingClientRect from './util/getBoundingClientRect';\nimport getOuterSizes from './util/getOuterSizes';\nexport function getStyle(options) {\n var {\n trigger: triggerDom,\n popup: popupDom,\n placement,\n usePortal,\n autoAdjustOverflow\n } = options || {};\n var sty = {\n left: 0,\n top: 0,\n placement\n };\n if (!triggerDom || !popupDom || !document) {\n return sty;\n }\n var winSizeHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n var winSizeWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n sty.placement = placement;\n var scrollTop = getScroll(triggerDom.ownerDocument.documentElement, true);\n var scrollLeft = getScroll(triggerDom.ownerDocument.documentElement);\n var trigger = _extends({}, getBoundingClientRect(triggerDom), getOuterSizes(triggerDom));\n var popup = _extends({}, getBoundingClientRect(popupDom), getOuterSizes(popupDom));\n var bottom = winSizeHeight - trigger.bottom;\n var right = winSizeWidth - trigger.left - trigger.width;\n sty.top = trigger.top + scrollTop;\n sty.left = trigger.left;\n if (!usePortal) {\n sty.top = trigger.offsetTop;\n sty.left = trigger.offsetLeft;\n }\n if (placement && /^(top)/.test(placement)) {\n sty.top -= popup.height;\n }\n if (placement && /^(right)/.test(placement)) {\n sty.left += trigger.width;\n }\n if (placement && /^(bottom)/.test(placement)) {\n sty.top += trigger.height;\n }\n if (placement && /^(left)/.test(placement)) {\n sty.left -= popup.width;\n }\n switch (sty.placement) {\n case 'bottomLeft':\n case 'topLeft':\n break;\n case 'bottom':\n // eslint-disable-next-line\n case 'top':\n sty.left = sty.left - (popup.width - trigger.width) / 2;\n break;\n case 'bottomRight':\n case 'topRight':\n sty.left = sty.left + scrollLeft + trigger.width - popup.width;\n break;\n case 'rightTop':\n case 'leftTop':\n break;\n case 'right':\n // eslint-disable-next-line\n case 'left':\n sty.top = sty.top - (popup.height - trigger.height) / 2;\n break;\n case 'rightBottom':\n case 'leftBottom':\n sty.top = sty.top - popup.height + trigger.height;\n break;\n default:\n break;\n }\n if (autoAdjustOverflow) {\n if (placement && /^(top)/.test(placement) && trigger.top < popup.height && bottom > popup.height) {\n sty.placement = placement.replace(/^top/, 'bottom');\n sty.top = sty.top + popup.height + trigger.height;\n }\n if (placement && /^(bottom)/.test(placement) && bottom < popup.height && trigger.top > popup.height) {\n sty.placement = placement.replace(/^bottom/, 'top');\n sty.top = sty.top - popup.height - trigger.height;\n }\n if (placement && /^(right)/.test(placement) && right < popup.width) {\n sty.placement = placement.replace(/^right/, 'left');\n sty.left = sty.left - trigger.width - popup.width;\n }\n if (placement && /^(left)/.test(placement) && trigger.left < popup.width) {\n sty.placement = placement.replace(/^left/, 'right');\n sty.left = sty.left + trigger.width + popup.width;\n }\n if (placement && /^(left|right)/.test(placement) && usePortal) {\n // Top\n if (/(Top)$/.test(placement) && trigger.top < 0 || /(right|left)$/.test(placement) && trigger.top + trigger.height / 2 < popup.height / 2 || /(Bottom)$/.test(placement) && trigger.top + trigger.height < popup.height) {\n sty.top = scrollTop;\n }\n } else {\n // Top\n if (placement && /(Top)$/.test(placement) && trigger.top < 0) {\n sty.top -= trigger.top;\n }\n if (placement && /(Bottom)$/.test(placement) && trigger.bottom < popup.height) {\n // eslint-disable-next-line\n sty.top = sty.top + (popup.height - trigger.bottom);\n }\n if (placement && /(right|left)$/.test(placement) && trigger.bottom - trigger.height / 2 < popup.height / 2) {\n sty.top = sty.top + popup.height / 2 - (trigger.bottom - trigger.height / 2);\n }\n }\n // Bottom Public Part\n if (placement && /^(left|right)/.test(placement)) {\n if (/(Top)$/.test(placement) && bottom + trigger.height < popup.height) {\n sty.top = sty.top - (popup.height - bottom - trigger.height); // eslint-disable-line\n }\n\n if (/(right|left)$/.test(placement) && bottom + trigger.height / 2 < popup.height / 2) {\n sty.top = sty.top - (popup.height / 2 - bottom - trigger.height / 2); // eslint-disable-line\n }\n\n if (/(Bottom)$/.test(placement) && bottom < 0) {\n sty.top = sty.top + bottom; // eslint-disable-line\n }\n }\n\n if (placement && /^(top|bottom)/.test(placement) && usePortal) {\n // left\n if (/(Left)$/.test(placement) && trigger.left < 0 || /(top|bottom)$/.test(placement) && trigger.left + trigger.width / 2 < popup.width / 2 || /(Right)$/.test(placement) && trigger.left + trigger.width < popup.width) {\n sty.left = scrollLeft;\n }\n // right\n if (/(top|bottom)$/.test(placement) && right + trigger.width / 2 < popup.width / 2) {\n sty.left = trigger.left + trigger.width + right - popup.width;\n }\n } else if (placement && /(top|bottom)$/.test(placement) && right + trigger.width / 2 < popup.width / 2) {\n sty.left = sty.left + (right + trigger.width / 2 - popup.width / 2); // eslint-disable-line\n }\n\n if (placement && /^(top|bottom)/.test(placement)) {\n if (/(Left)$/.test(placement) && trigger.width + right < popup.width) {\n sty.left = sty.left - (popup.width - trigger.width - right);\n }\n if (/(Right)$/.test(placement) && right < 0) {\n sty.left = sty.left + right; // eslint-disable-line\n }\n }\n }\n\n return sty;\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"prefixCls\", \"usePortal\", \"isOutside\", \"isClickOutside\", \"disabled\", \"isOpen\", \"trigger\", \"placement\", \"autoAdjustOverflow\", \"transitionName\", \"children\", \"overlay\", \"onVisibleChange\", \"onEnter\"];\nimport React, { cloneElement, useEffect, useRef, useState, useImperativeHandle } from 'react';\nimport { noop } from '@uiw/utils';\nimport Overlay from '@uiw/react-overlay';\nimport contains from './utils';\nimport { getStyle } from './getStyle';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar normalizeDelay = delay => delay && typeof delay === 'object' ? delay : {\n show: delay,\n hide: delay\n};\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var _child$props;\n var {\n className,\n prefixCls = 'w-overlay-trigger',\n usePortal = true,\n isOutside = false,\n isClickOutside = true,\n disabled = false,\n isOpen: _ = false,\n trigger = 'hover',\n placement = 'top',\n autoAdjustOverflow,\n transitionName,\n children,\n overlay,\n onVisibleChange = noop,\n onEnter = noop\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var zIndex = useRef(999);\n var triggerRef = useRef();\n var popupRef = useRef();\n var timeoutRef = useRef([]);\n var hoverStateRef = useRef(null);\n var [isOpen, setIsOpen] = useState(!!props.isOpen);\n var [overlayStyl, setOverlayStyl] = useState({\n placement,\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: zIndex.current\n });\n useImperativeHandle(ref, () => ({\n hide: () => _hide(),\n show: () => _show(),\n overlayDom: popupRef\n }));\n var child = React.Children.only(children);\n var overlayProps = _extends({}, other, {\n placement,\n isOpen,\n dialogProps: {}\n });\n var triggerProps = {};\n function getChildProps() {\n if (child && /*#__PURE__*/React.isValidElement(child)) {\n return child.props;\n }\n return {};\n }\n useEffect(() => {\n if (isClickOutside && isOpen) {\n document && document.addEventListener('mousedown', handleClickOutside);\n window.addEventListener('resize', handleResize);\n }\n return () => {\n document && isClickOutside && document.removeEventListener('mousedown', handleClickOutside);\n window.removeEventListener('resize', handleResize);\n };\n }, [isOpen]);\n useEffect(() => {\n if (props.isOpen !== isOpen) {\n setIsOpen(!!props.isOpen);\n }\n }, [props.isOpen]);\n useEffect(() => {\n var styls = getStyle({\n placement: overlayStyl.placement || placement,\n trigger: triggerRef.current,\n popup: popupRef.current,\n usePortal,\n autoAdjustOverflow\n });\n setOverlayStyl(_extends({}, styls, {\n zIndex: zIndex.current\n }));\n onVisibleChange(isOpen);\n }, [isOpen]);\n var handleResize = () => {\n if (isOpen) {\n zIndex.current -= 1;\n setIsOpen(false);\n onVisibleChange && onVisibleChange(false);\n }\n };\n var handleClickOutside = e => {\n var popNode = popupRef.current;\n var childNode = triggerRef.current;\n if (popNode && childNode && e.target && !contains(popNode, e.target) && !contains(childNode, e.target)) {\n zIndex.current -= 1;\n setIsOpen(false);\n onVisibleChange && onVisibleChange(false);\n }\n };\n function clearTimeouts() {\n if (timeoutRef.current.length > 0) {\n for (var timeoutId of timeoutRef.current) {\n window.clearTimeout(timeoutId);\n }\n timeoutRef.current = [];\n }\n }\n function handleShow() {\n var _props$children;\n clearTimeouts();\n hoverStateRef.current = 'show';\n var delay = normalizeDelay(props.delay);\n if (!delay.show && !((_props$children = props.children) != null && _props$children.props.disabled)) {\n _show();\n return;\n }\n var handle = window.setTimeout(() => {\n if (hoverStateRef.current === 'show') _show();\n }, delay.show);\n clearTimeout(handle);\n timeoutRef.current.push(handle);\n }\n function handleHide(isOutside) {\n clearTimeouts();\n if (!isOutside && props.isOutside) return;\n hoverStateRef.current = 'hide';\n var delay = normalizeDelay(props.delay);\n if (!delay.hide) {\n _hide();\n return;\n }\n var handle = window.setTimeout(() => {\n if (hoverStateRef.current === 'hide') _hide();\n }, delay.hide);\n timeoutRef.current.push(handle);\n }\n\n // Simple implementation of mouseEnter and mouseLeave.\n // React's built version is broken: https://github.com/facebook/react/issues/4251\n // for cases when the trigger is disabled and mouseOut/Over can cause flicker\n // moving from one child element to another.\n function handleMouseOverOut(handler, e, relatedNative) {\n var target = e.currentTarget;\n var related = e.relatedTarget || e.nativeEvent[relatedNative];\n var isOutside = true;\n if (popupRef.current && contains(popupRef.current, related) || triggerRef.current && contains(triggerRef.current, related)) {\n isOutside = false;\n }\n if ((!related || related !== target) && !contains(target, related)) {\n handler(isOutside, e);\n }\n }\n function _hide() {\n if (!isOpen) return;\n if (zIndex.current <= 999) {\n zIndex.current = 999;\n } else {\n zIndex.current -= 1;\n }\n setIsOpen(false);\n }\n function _show() {\n var _triggerRef$current;\n if (isOpen) return;\n var nodeIndex = (_triggerRef$current = triggerRef.current) == null ? void 0 : _triggerRef$current.style.zIndex;\n if (nodeIndex) {\n zIndex.current = Number(nodeIndex) + 1;\n } else {\n zIndex.current += 1;\n }\n setIsOpen(true);\n }\n function handleEnter(node, isAppearing) {\n onEnter && onEnter(node, isAppearing);\n var styls = getStyle({\n placement: overlayStyl.placement || placement,\n trigger: triggerRef.current,\n popup: popupRef.current,\n usePortal,\n autoAdjustOverflow\n });\n setOverlayStyl(_extends({}, styls, {\n zIndex: zIndex.current\n }));\n }\n if (trigger === 'click' && !disabled) {\n triggerProps.onClick = e => {\n var {\n onClick\n } = getChildProps();\n isOpen ? _hide() : _show();\n if (onClick) onClick(e, !isOpen);\n };\n }\n if (trigger === 'focus' && !disabled) {\n triggerProps.onFocus = () => handleShow();\n }\n if (trigger === 'hover' && !disabled) {\n triggerProps.onMouseOver = triggerProps.onMouseEnter = e => {\n handleMouseOverOut(handleShow, e, 'fromElement');\n };\n triggerProps.onMouseOut = triggerProps.onMouseLeave = e => {\n handleMouseOverOut(handleHide, e, 'toElement');\n };\n if (overlayProps.dialogProps) {\n overlayProps.dialogProps.onMouseLeave = e => {\n handleMouseOverOut(handleHide, e, 'toElement');\n };\n }\n }\n overlayProps.style = _extends({}, overlayProps.style, overlayStyl);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/cloneElement(child, Object.assign({}, child.props, _extends({}, triggerProps, {\n ref: triggerRef,\n style: _extends({}, (_child$props = child.props) == null ? void 0 : _child$props.style, {\n zIndex: zIndex.current\n }),\n className: [child.props.className, disabled ? prefixCls + \"-disabled\" : null].filter(Boolean).join(' ').trim()\n }))), /*#__PURE__*/_jsx(Overlay, _extends({}, overlayProps, {\n style: _extends({}, overlayProps.style, overlayStyl),\n onEnter: handleEnter,\n className: [prefixCls, className, overlayStyl.placement].filter(Boolean).join(' ').trim(),\n usePortal: usePortal,\n transitionName: transitionName,\n isOpen: isOpen,\n hasBackdrop: false,\n children: /*#__PURE__*/cloneElement(overlay, Object.assign(_extends({}, overlay.props, {\n ref: popupRef,\n className: [overlay.props && overlay.props.className, placement].filter(Boolean).join(' ').trim()\n })))\n }))]\n });\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"style\", \"isOpen\", \"prefixCls\", \"usePortal\", \"maskClosable\", \"backdropProps\", \"portalProps\", \"hasBackdrop\", \"unmountOnExit\", \"timeout\", \"transitionName\", \"onOpening\", \"onOpened\", \"onClosing\", \"onClosed\", \"onClose\", \"onEnter\", \"onExiting\", \"onEntering\", \"onEntered\", \"onExit\", \"children\", \"dialogProps\"];\n/**\n * Overlay 组件\n * ---------------\n * 动画库 react-transition-group 文档\n * 老的文档\n * https://facebook.github.io/react/docs/animation.html\n * 新的文档\n * https://reactcommunity.org/react-transition-group/\n * 动画效果\n * https://daneden.github.io/animate.css/\n */\nimport React, { cloneElement, useEffect, useRef, useState } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport Portal from '@uiw/react-portal';\nimport { noop } from '@uiw/utils';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Overlay(props) {\n var {\n className,\n style,\n isOpen: _ = false,\n prefixCls = 'w-overlay',\n usePortal = true,\n maskClosable = true,\n backdropProps = {},\n portalProps = {},\n hasBackdrop = true,\n unmountOnExit = true,\n // 设置 true 销毁根节点\n timeout = 300,\n transitionName = 'w-overlay',\n // onEnter = noop,\n onOpening = noop,\n onOpened = noop,\n onClosing = noop,\n onClosed = noop,\n onClose = noop,\n onEnter: _onEnter = noop,\n onExiting: _onExiting = noop,\n onEntering: _onEntering = noop,\n onEntered: _onEntered = noop,\n onExit = noop,\n children,\n dialogProps = {}\n } = props,\n otherProps = _objectWithoutPropertiesLoose(props, _excluded);\n var [isOpen, setIsOpen] = useState();\n // const [isOpen, setIsOpen] = useState(props.isOpen || false);\n var [visible, setVisible] = useState(false);\n var container = useRef(null);\n var overlay = useRef(null);\n useEffect(() => {\n if (isOpen !== props.isOpen && props.isOpen) {\n setVisible(true);\n }\n if (isOpen !== props.isOpen && !props.isOpen) {\n overlayWillClose();\n setIsOpen(false);\n }\n }, [props.isOpen]);\n useEffect(() => {\n if (visible) {\n overlayWillOpen();\n setIsOpen(true);\n }\n }, [visible]);\n var decoratedChild = typeof children === 'object' ? /*#__PURE__*/cloneElement(children, _extends({}, dialogProps, {\n style: _extends({}, children.props.style, dialogProps.style),\n className: [children.props.className, prefixCls + \"-content\"].filter(Boolean).join(' ').trim(),\n tabIndex: 0\n })) : /*#__PURE__*/_jsx(\"span\", _extends({}, dialogProps, {\n className: prefixCls + \"-content\",\n children: children\n }));\n function handleClosed(node) {\n setVisible(false);\n onClosed && onClosed(node);\n }\n function handleBackdropMouseDown(e) {\n if (e.target !== container.current && usePortal) {\n return;\n }\n if (maskClosable && hasBackdrop) {\n overlayWillClose();\n setIsOpen(false);\n onClose && onClose(e);\n }\n backdropProps && backdropProps.onMouseDown && backdropProps.onMouseDown(e);\n }\n function overlayWillOpen() {\n if (hasBackdrop && usePortal) {\n document.body.classList.add(prefixCls + \"-open\");\n }\n }\n function overlayWillClose() {\n if (hasBackdrop && usePortal) {\n document.body.classList.remove(prefixCls + \"-open\");\n }\n // if (unmountOnExit) {\n // setVisible(false)\n // }\n }\n\n var TransitionGroupComp = /*#__PURE__*/_jsx(CSSTransition, _extends({\n classNames: transitionName,\n unmountOnExit: unmountOnExit,\n timeout: timeout,\n in: isOpen,\n onEnter: isAppearing => {\n _onEnter(overlay.current, isAppearing);\n },\n onEntering: isAppearing => {\n onOpening(overlay.current, isAppearing);\n _onEntering(overlay.current);\n },\n onEntered: isAppearing => {\n onOpened(overlay.current, isAppearing);\n _onEntered(overlay.current);\n },\n onExiting: () => {\n onClosing(overlay.current);\n _onExiting(overlay.current);\n },\n onExited: () => {\n handleClosed(overlay.current);\n onExit(overlay.current);\n },\n nodeRef: overlay\n }, otherProps, {\n children: status => {\n return /*#__PURE__*/_jsxs(\"div\", {\n style: style,\n ref: overlay,\n className: [prefixCls, className, !usePortal ? prefixCls + \"-inline\" : null, isOpen ? prefixCls + \"-enter-done\" : null].filter(Boolean).join(' ').trim(),\n children: [hasBackdrop && /*#__PURE__*/cloneElement( /*#__PURE__*/_jsx(\"div\", {}), _extends({}, backdropProps, {\n onMouseDown: handleBackdropMouseDown,\n className: [prefixCls + \"-backdrop\", backdropProps.className].filter(Boolean).join(' ').trim(),\n tabIndex: maskClosable ? 0 : null\n })), usePortal ? /*#__PURE__*/_jsx(\"div\", {\n ref: container,\n onMouseDown: handleBackdropMouseDown,\n className: prefixCls + \"-container\",\n children: /*#__PURE__*/cloneElement(decoratedChild, {\n 'data-status': status\n })\n }) : /*#__PURE__*/cloneElement(decoratedChild, {\n 'data-status': status\n })]\n });\n }\n }));\n if (visible && usePortal) {\n return /*#__PURE__*/_jsx(Portal, _extends({}, _extends({}, portalProps), {\n children: TransitionGroupComp\n }));\n } else {\n return TransitionGroupComp;\n }\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"style\", \"prefixCls\", \"alignment\", \"size\", \"total\", \"pageSize\", \"pageSizeOptions\", \"current\", \"onChange\", \"onShowSizeChange\", \"divider\"];\nimport React, { useEffect, useMemo, useState } from 'react';\nimport Select from '@uiw/react-select';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Pagination(props) {\n var {\n className,\n style,\n prefixCls = 'w-pagination',\n alignment = 'left',\n size = 'default',\n total = 0,\n pageSize = 10,\n // The number of pages displayed.\n pageSizeOptions = [],\n current: currentNumber = 1,\n onChange = () => null,\n onShowSizeChange,\n divider\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [current, setCurrent] = useState(currentNumber);\n useEffect(() => setCurrent(currentNumber), [currentNumber]);\n var cls = [prefixCls, className, divider ? 'divider' : null, size].filter(Boolean).join(' ').trim();\n var initPageSoure = useMemo(() => {\n var data = [{\n type: 'prev',\n disabled: current === 1\n }];\n var count = Math.ceil(total / pageSize);\n var itemCount = count <= 5 ? count : 5;\n var num = 0;\n var basic = 0;\n if (current > 3 && count > 5) {\n data.push({\n label: 1\n });\n }\n if (current > 4 && count > 6) {\n data.push({\n type: 'jumpPrev',\n label: '•••',\n goto: 5\n });\n }\n while (num < itemCount) {\n num += 1;\n if (current > 3 && count > 5) {\n basic = current - 3;\n }\n var label = num + basic;\n if (count - current === 0 && count > 5) {\n label -= 2;\n }\n if (count - current === 1 && count > 5) {\n label -= 1;\n }\n if (label <= count) {\n data.push({\n label,\n active: current === label\n });\n }\n }\n if (current + 3 < count && count > 6) {\n data.push({\n type: 'jumpNext',\n label: '•••',\n goto: 5\n });\n }\n if (current + 2 < count && count > 5) {\n data.push({\n label: count\n });\n }\n data.push({\n type: 'next',\n disabled: current === count\n });\n return data;\n // return [\n // { type: 'prev', disabled: true },\n // { type: 'jumpPrev', label: '•••', goto: 5 },\n // { label: 1 },\n // { label: 2, active: true },\n // { label: 3 },\n // { label: 4 },\n // { type: 'jumpPrev', label: '•••', goto: 5 },\n // { type: 'next' },\n // ];\n }, [current, total, pageSize]);\n function handleClick(item) {\n if (item.active || item.disabled) {\n return;\n }\n var count = Math.ceil(total / pageSize);\n var state = {};\n if (item.label) {\n state.current = item.label;\n }\n if (item.type === 'prev') {\n state.current = current - 1 > 0 ? current - 1 : 1;\n }\n if (item.type === 'next') {\n state.current = current + 1 <= count ? current + 1 : count;\n }\n if (/^(jumpPrev|jumpNext)/.test(item.type) && item.goto) {\n state.current = item.type === 'jumpPrev' ? current - item.goto : current + item.goto;\n if (state.current > count) {\n state.current = count;\n }\n if (state.current < 1) {\n state.current = 1;\n }\n }\n setCurrent(state.current);\n onChange && onChange(state.current, total, pageSize);\n }\n var onSizeChange = e => {\n var sizeCount = Number(e.target.value);\n var count = Math.ceil(total / sizeCount);\n var newCurrent = current > count ? count : current;\n onShowSizeChange && onShowSizeChange(newCurrent, sizeCount);\n };\n return /*#__PURE__*/_jsxs(\"ul\", _extends({\n className: cls,\n style: _extends({}, style, {\n textAlign: alignment\n })\n }, other, {\n children: [initPageSoure.map((item, idx) => {\n // eslint-disable-next-line jsx-a11y/anchor-is-valid\n var label = /*#__PURE__*/_jsx(\"a\", {\n children: item.label\n });\n if (/^(prev|next)$/.test(item.type)) {\n // eslint-disable-next-line jsx-a11y/anchor-is-valid\n label = /*#__PURE__*/_jsx(\"a\", {\n className: \"arrow \" + item.type\n });\n }\n return /*#__PURE__*/_jsx(\"li\", {\n className: [item.active ? 'active' : null, item.disabled ? 'disabled' : null].filter(Boolean).join(' ').trim(),\n onClick: () => handleClick(item),\n children: label\n }, idx);\n }), pageSizeOptions.length > 0 && /*#__PURE__*/_jsx(\"li\", {\n className: prefixCls + \"-options\",\n children: /*#__PURE__*/_jsx(Select, {\n size: size,\n defaultValue: pageSize,\n onChange: onSizeChange,\n children: pageSizeOptions.map((item, index) => /*#__PURE__*/_jsxs(Select.Option, {\n value: item,\n children: [item, \"\\u6761/\\u9875\"]\n }, index))\n })\n })]\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"placeholder\", \"value\", \"autoFocus\", \"className\", \"size\", \"style\", \"disabled\", \"onChange\", \"onBlur\", \"onFocus\"];\nimport React, { useEffect, useState } from 'react';\nimport { noop } from '@uiw/utils';\nimport Input from '@uiw/react-input';\nimport \"./style/input.css\";\nimport { createElement as _createElement } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction InternalPinCode(props, ref) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-pin-code',\n placeholder = '○',\n value = [],\n autoFocus,\n className,\n size = 'default',\n style,\n disabled,\n onChange = noop,\n onBlur = noop,\n onFocus = noop\n } = props,\n otherProps = _objectWithoutPropertiesLoose(props, _excluded);\n var [input] = useState({});\n var [placehold, setPlacehold] = useState(placeholder);\n var [values, setValues] = useState(value);\n var cls = [prefixCls, className, size ? prefixCls + \"-\" + size : null, disabled ? 'disabled' : null].filter(Boolean).join(' ').trim();\n function handleChange(e, idx) {\n var val = e.target.value;\n val = val.charAt(val.length - 1);\n var arr = [...values];\n if (Number(val) > -1 && val) {\n e.currentTarget.value = val;\n arr[idx] = val;\n if (input[idx + 1]) {\n input[idx + 1].focus();\n }\n setValues(arr);\n } else if (!val) {\n arr[idx] = '';\n setValues(arr);\n }\n }\n function handleKeyDown(e, idx) {\n var val = e.currentTarget.value;\n var key = e.key.toLocaleLowerCase();\n if (!val && input[idx - 1] && /(backspace|delete)/.test(key)) {\n input[idx - 1].focus();\n }\n }\n useEffect(() => {\n if (values !== value) {\n onChange(values);\n }\n }, [values]);\n function handleBlur(event) {\n setPlacehold(placeholder);\n onBlur(event);\n }\n function handleFocus(event) {\n setPlacehold('');\n onFocus(event);\n }\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: cls,\n style: style\n }, otherProps, {\n ref: ref,\n children: [...values].map((val, key) => {\n var inpProps = {\n min: 0,\n type: 'text',\n inputMode: 'numeric',\n autoComplete: 'off',\n value: val,\n onChange: e => handleChange(e, key),\n onKeyDown: e => handleKeyDown(e, key),\n onBlur: e => handleBlur(e),\n onFocus: e => handleFocus(e),\n className: prefixCls + \"-inner\",\n placeholder: placehold,\n disabled,\n size\n };\n if (autoFocus && key === 0) {\n inpProps.autoFocus = true;\n }\n var child = /*#__PURE__*/_createElement(Input, _extends({\n ref: instance => {\n if (instance) {\n input[key] = instance;\n }\n }\n }, inpProps, {\n key: key\n }));\n return child;\n })\n }));\n}\nexport default /*#__PURE__*/React.forwardRef(InternalPinCode);","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"content\", \"visibleArrow\"];\nimport React from 'react';\nimport OverlayTrigger from '@uiw/react-overlay-trigger';\nimport Confirm from './Confirm';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default class Popover extends React.Component {\n constructor() {\n super(...arguments);\n this.renderArrow = () => {\n var {\n prefixCls\n } = this.props;\n return /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-arrow\",\n children: /*#__PURE__*/_jsxs(\"svg\", {\n viewBox: \"0 0 30 30\",\n children: [/*#__PURE__*/_jsx(\"path\", {\n fillOpacity: \"0.2\",\n d: \"M8.11 6.302c1.015-.936 1.887-2.922 1.887-4.297v26c0-1.378-.868-3.357-1.888-4.297L.925 17.09c-1.237-1.14-1.233-3.034 0-4.17L8.11 6.302z\"\n }), /*#__PURE__*/_jsx(\"path\", {\n fill: \"#fff\",\n d: \"M8.787 7.036c1.22-1.125 2.21-3.376 2.21-5.03V0v30-2.005c0-1.654-.983-3.9-2.21-5.03l-7.183-6.616c-.81-.746-.802-1.96 0-2.7l7.183-6.614z\"\n })]\n })\n });\n };\n }\n render() {\n var _this$props = this.props,\n {\n prefixCls,\n className,\n visibleArrow\n } = _this$props,\n other = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var cls = [prefixCls, className, !visibleArrow ? 'no-arrow' : null].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(OverlayTrigger, _extends({}, other, {\n overlay: /*#__PURE__*/_jsxs(\"div\", {\n className: cls,\n children: [visibleArrow && this.renderArrow(), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-inner\",\n children: this.props.content\n })]\n }),\n children: typeof this.props.children === 'object' && this.props.children.type.name !== 'Icon' ? this.props.children : /*#__PURE__*/_jsx(\"span\", {\n style: {\n display: 'block',\n writingMode: 'vertical-rl'\n },\n children: this.props.children\n })\n }));\n }\n}\nPopover.Confirm = Confirm;\nPopover.defaultProps = {\n prefixCls: 'w-popover',\n placement: 'top',\n usePortal: true,\n isOpen: false,\n visibleArrow: true\n};","import React, { useState } from 'react';\nimport Popover from './';\nimport \"./style/index.css\";\nimport Button from '@uiw/react-button';\nimport Icon from '@uiw/react-icon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Confirm(props) {\n var {\n trigger = 'click',\n placement = 'top',\n confirmText = 'Yes',\n title,\n cancelText = 'No',\n visibleArrow,\n children,\n onConfirm\n } = props;\n var [isOpen, setIsOpen] = useState(false);\n return /*#__PURE__*/_jsx(Popover, {\n isOpen: isOpen,\n visibleArrow: visibleArrow,\n content: /*#__PURE__*/_jsxs(\"div\", {\n style: {\n padding: '12px 16px',\n position: 'relative'\n },\n children: [/*#__PURE__*/_jsx(Icon, {\n type: \"information\",\n style: {\n position: 'absolute',\n top: 13.5,\n fontSize: 14,\n transform: 'rotate(180deg)',\n color: '#faad14'\n }\n }), /*#__PURE__*/_jsxs(\"div\", {\n style: {\n paddingLeft: 20\n },\n children: [/*#__PURE__*/_jsx(\"div\", {\n style: {\n fontSize: 14\n },\n children: title\n }), /*#__PURE__*/_jsxs(\"div\", {\n style: {\n position: 'relative',\n bottom: 0,\n marginTop: 12,\n display: 'flex',\n justifyContent: 'end'\n },\n children: [/*#__PURE__*/_jsx(Button, {\n size: \"small\",\n onClick: () => setIsOpen(false),\n children: cancelText\n }), /*#__PURE__*/_jsx(Button, {\n size: \"small\",\n type: \"primary\",\n style: {\n marginLeft: 10\n },\n onClick: () => {\n onConfirm == null || onConfirm();\n setIsOpen(false);\n },\n children: confirmText\n })]\n })]\n })]\n }),\n trigger: trigger,\n placement: placement,\n children: /*#__PURE__*/_jsx(\"div\", {\n onClick: () => setIsOpen(true),\n children: children\n })\n });\n}","import { useEffect, useRef } from 'react';\nimport ReactDOM from 'react-dom';\nexport var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport default function Portal(props) {\n var {\n container\n } = props;\n var defaultNode = useRef();\n var containerRef = useRef(container);\n useEffect(() => {\n return () => {\n if (defaultNode.current && containerRef.current) {\n containerRef.current.removeChild(defaultNode.current);\n defaultNode.current = undefined;\n }\n };\n }, []);\n if (!canUseDOM) {\n return null;\n }\n if (!containerRef.current) {\n containerRef.current = document.body;\n }\n if (!defaultNode.current) {\n defaultNode.current = document.createElement('div');\n containerRef.current.appendChild(defaultNode.current);\n }\n return /*#__PURE__*/ReactDOM.createPortal(props.children, defaultNode.current);\n}","import React from 'react';\nimport Icon from '@uiw/react-icon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function IconProgress(props) {\n return /*#__PURE__*/_jsx(Icon, {\n type: props.type\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"style\", \"type\", \"className\", \"showText\", \"percent\", \"format\", \"strokeWidth\", \"width\", \"status\"];\nimport React from 'react';\nimport { IconProgress } from './utils';\nimport \"./style/index.css\";\nimport \"./style/circle.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default class Circle extends React.Component {\n relativeStrokeWidth(type, elm) {\n var {\n strokeWidth,\n percent\n } = this.props;\n if (elm && elm.parentNode) {\n var {\n width\n } = elm.parentNode.getBoundingClientRect();\n var _strokeWidth = (strokeWidth / width * 100).toFixed(1);\n var radius = parseInt((50 - parseFloat(_strokeWidth) / 2).toString(), 10);\n elm.setAttribute('stroke-width', _strokeWidth);\n elm.setAttribute('d', \"M 50 50 m 0 -\" + radius + \" a \" + radius + \" \" + radius + \" 0 1 1 0 \" + radius * 2 + \" a \" + radius + \" \" + radius + \" 0 1 1 0 -\" + radius * 2);\n if (type === 'track') {\n // 计算周长\n var perimeter = 2 * Math.PI * radius;\n elm.setAttribute('style', \"stroke-dasharray:\" + perimeter + \"px,\" + perimeter + \"px;stroke-dashoffset:\" + (1 - percent / 100) * perimeter + \"px;transition: stroke-dashoffset 0.6s ease 0s, stroke 0.6s ease;\");\n }\n }\n }\n render() {\n var _this$props = this.props,\n {\n prefixCls,\n style,\n className,\n showText,\n percent,\n format,\n width,\n status\n } = _this$props,\n resetProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var cls = [prefixCls, className, prefixCls + \"-circle\", showText ? prefixCls + \"-show-text\" : null, status ? prefixCls + \"-status-\" + status : null, parseInt(percent.toString(), 10) >= 100 ? prefixCls + \"-status-success\" : null].filter(Boolean).join(' ').trim();\n var progressInfo;\n var progressStatus = parseInt(percent.toString(), 10) >= 100 && !('status' in this.props) ? 'success' : status;\n if (showText) {\n var percentView = percent + \"%\";\n if (progressStatus === 'exception') {\n percentView = /*#__PURE__*/_jsx(IconProgress, {\n type: \"close\"\n });\n } else if (progressStatus === 'success') {\n percentView = /*#__PURE__*/_jsx(IconProgress, {\n type: \"check\"\n });\n }\n progressInfo = /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-text\",\n style: {\n fontSize: width * 0.16 + 6\n },\n children: format ? format(percent) : percentView\n });\n }\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls,\n style: style\n }, resetProps, {\n children: [/*#__PURE__*/_jsxs(\"svg\", {\n viewBox: \"0 0 100 100\",\n width: \"\" + width,\n children: [/*#__PURE__*/_jsx(\"path\", {\n ref: this.relativeStrokeWidth.bind(this, 'bg'),\n className: prefixCls + \"-trail\",\n fill: \"none\"\n }), /*#__PURE__*/_jsx(\"path\", {\n ref: this.relativeStrokeWidth.bind(this, 'track'),\n strokeLinecap: \"round\",\n className: prefixCls + \"-stroke\",\n fill: \"none\"\n })]\n }), progressInfo]\n }));\n }\n}\nCircle.defaultProps = {\n prefixCls: 'w-progress',\n showText: true,\n percent: 0,\n // 百分比(必填)\n width: 126,\n // 圆圈进度条画布宽度\n strokeWidth: 6 // 进度条大小设置\n};\n\nexport { Circle };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"style\", \"className\", \"showText\", \"percent\", \"format\", \"strokeWidth\", \"width\", \"status\"];\nimport React from 'react';\nimport { IconProgress } from './utils';\nimport \"./style/index.css\";\nimport \"./style/line.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default class Line extends React.Component {\n render() {\n var _this$props = this.props,\n {\n prefixCls,\n style,\n className,\n showText,\n percent,\n format,\n strokeWidth,\n status\n } = _this$props,\n resetProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var cls = [prefixCls, className, prefixCls + \"-line\", showText ? prefixCls + \"-show-text\" : null, status ? prefixCls + \"-status-\" + status : null, parseInt(percent.toString(), 10) >= 100 ? prefixCls + \"-status-success\" : null].filter(Boolean).join(' ').trim();\n var progressInfo;\n if (showText) {\n var progressStatus = parseInt(percent.toString(), 10) >= 100 && !('status' in this.props) ? 'success' : status;\n var percentView = percent + \"%\";\n if (progressStatus === 'exception') {\n percentView = /*#__PURE__*/_jsx(IconProgress, {\n type: \"circle-close\"\n });\n } else if (progressStatus === 'success') {\n percentView = /*#__PURE__*/_jsx(IconProgress, {\n type: \"circle-check\"\n });\n }\n progressInfo = /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-text\",\n children: format ? format(percent) : percentView\n });\n }\n var percentStyle = {\n width: percent + \"%\",\n height: strokeWidth\n };\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls,\n style: style\n }, resetProps, {\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-bar\",\n children: /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-inner\",\n children: /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-bg\",\n style: percentStyle\n })\n })\n }), progressInfo]\n }));\n }\n}\nLine.defaultProps = {\n prefixCls: 'w-progress',\n showText: true,\n // 是否显示进度条文字内容\n percent: 0,\n // 百分比(必填)\n width: 126,\n // 圆圈进度条画布宽度\n strokeWidth: 6 // 进度条大小设置\n};\n\nexport { Line };","import Circle from './Circle';\nimport Line from './Line';\nexport * from './Circle';\nexport * from './Line';\nexport default {\n Line,\n Circle\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"type\", \"disabled\", \"value\", \"className\", \"style\", \"children\", \"size\", \"checked\", \"onChange\"];\nimport React, { useState, useMemo } from 'react';\n\n/**\n * Constructs a type by picking all properties from `HTMLInputProps` and then removing `size`.\n * Omit: https://www.typescriptlang.org/docs/handbook/utility-types.html#omittk\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport var RadioAbstract = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-radio',\n type = 'radio',\n disabled = false,\n value = '',\n className,\n style,\n children,\n size,\n checked: prChecked = false,\n onChange\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [checked, setChecked] = useState(prChecked);\n var [prevChecked, setPrevChecked] = useState();\n if (prChecked !== prevChecked) {\n setPrevChecked(prChecked);\n }\n useMemo(() => {\n if (prChecked !== prevChecked) {\n setChecked(prChecked);\n }\n }, [prevChecked]);\n var cls = [prefixCls, className, disabled ? 'disabled' : null, size ? prefixCls + \"-\" + size : null].filter(Boolean).join(' ').trim();\n useMemo(() => {\n if (checked !== props.checked) {\n setChecked(!!props.checked);\n }\n }, [props.checked]);\n function handleChange(e) {\n e.persist();\n setChecked(e.target.checked);\n onChange && onChange(e);\n }\n var label = children || value;\n return /*#__PURE__*/_jsxs(\"label\", {\n className: cls,\n style,\n children: [/*#__PURE__*/_jsx(\"input\", _extends({}, _extends({}, other, {\n type,\n disabled,\n value\n }), {\n checked: checked,\n onChange: handleChange,\n ref: ref\n })), label && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-text\",\n children: label\n })]\n });\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport { RadioAbstract } from './RadioAbstract';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var Radio = /*#__PURE__*/React.forwardRef((props, ref) => {\n return /*#__PURE__*/_jsx(RadioAbstract, _extends({\n ref: ref\n }, props));\n});\nexport default Radio;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"name\", \"value\", \"onChange\", \"children\"];\nimport React from 'react';\nimport ButtonGroup from '@uiw/react-button-group';\nimport \"./style/group.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var RadioGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-radio-group',\n className,\n name,\n value,\n onChange,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/_jsx(\"div\", _extends({}, other, {\n ref: ref,\n className: [prefixCls, className].filter(Boolean).join(' ').trim(),\n children: /*#__PURE__*/_jsx(ButtonGroup, {\n children: React.Children.toArray(children).map(child => {\n if (!child) return;\n if (! /*#__PURE__*/React.isValidElement(child)) return child;\n return /*#__PURE__*/React.cloneElement(child, _extends({}, child.props || {}, {\n checked: child.props.value === value,\n name,\n onChange\n }));\n })\n })\n }));\n});\nexport default RadioGroup;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"type\", \"disabled\", \"value\", \"className\", \"style\", \"children\", \"size\", \"checked\", \"onChange\"];\nimport React, { useState, useMemo } from 'react';\nimport Button from '@uiw/react-button';\n\n/**\n * Constructs a type by picking all properties from `HTMLInputProps` and then removing `size`.\n * Omit: https://www.typescriptlang.org/docs/handbook/utility-types.html#omittk\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var RadioButton = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-radio',\n type = 'button',\n disabled = false,\n value = '',\n className,\n style,\n children,\n size = 'small',\n checked: prChecked = false,\n onChange\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [checked, setChecked] = useState(prChecked);\n var [prevChecked, setPrevChecked] = useState();\n if (prChecked !== prevChecked) {\n setPrevChecked(prChecked);\n }\n useMemo(() => {\n if (prChecked !== prevChecked) {\n setChecked(prChecked);\n }\n }, [prevChecked]);\n var cls = [prefixCls, className, disabled ? 'disabled' : null, size ? prefixCls + \"-\" + size : null].filter(Boolean).join(' ').trim();\n useMemo(() => {\n if (checked !== props.checked) {\n setChecked(!!props.checked);\n }\n }, [props.checked]);\n console.log('props.checked', props.checked);\n function handleChange(e) {\n e.persist();\n if (!checked) {\n setChecked(!checked);\n onChange && onChange(value);\n }\n }\n var label = children || value;\n return /*#__PURE__*/_jsx(Button, _extends({}, _extends({}, other, {\n className: cls,\n style,\n disabled,\n value\n }), {\n type: checked ? 'primary' : 'light',\n ref: ref,\n onClick: handleChange,\n children: label\n }));\n});\nexport default RadioButton;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"count\", \"value\", \"className\", \"allowHalf\", \"character\", \"readOnly\", \"disabled\", \"onChange\", \"onHoverChange\", \"color\"];\nimport React, { useState, useMemo } from 'react';\nimport { noop } from '@uiw/utils';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Rate(props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-rate',\n count = 5,\n value: defValue = 0,\n className,\n allowHalf,\n character = '★',\n readOnly = false,\n disabled,\n onChange = noop,\n onHoverChange = noop,\n color\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [value, setValue] = useState(defValue);\n var [hoverCount, setHoverCount] = useState(-1);\n var cls = [prefixCls, className, disabled ? 'disabled' : null].filter(Boolean).join(' ').trim();\n var [prevValue, setPrevValue] = useState();\n if (defValue !== prevValue) {\n setPrevValue(defValue);\n }\n useMemo(() => {\n if (value !== prevValue) {\n setValue(defValue);\n }\n }, [prevValue]);\n function _onMouseLeave() {\n setHoverCount(-1);\n }\n function getValue(e, key) {\n e.persist();\n var currentValue = key;\n var isLeft = e.clientX - e.currentTarget.getBoundingClientRect().left <= e.currentTarget.getBoundingClientRect().width / 2;\n if (allowHalf) {\n e.persist();\n currentValue = isLeft ? key + 0.5 : key + 1;\n } else {\n currentValue = key + 1;\n }\n return currentValue;\n }\n function onMouseMove(e, key) {\n var currentValue = getValue(e, key);\n if (hoverCount !== currentValue) {\n setHoverCount(currentValue);\n onHoverChange(currentValue);\n }\n }\n function onClick(e, key) {\n if (readOnly) return;\n var currentValue = getValue(e, key);\n setValue(currentValue);\n onChange(currentValue);\n }\n return /*#__PURE__*/_jsx(\"div\", _extends({}, other, {\n className: cls,\n onMouseLeave: () => _onMouseLeave(),\n children: [...Array(count)].map((_, idx) => {\n var halfon = value <= idx + 0.5 && Math.ceil(value) - 1 === idx && hoverCount === -1 || hoverCount === idx + 0.5;\n var activeCls = [prefixCls + \"-hight\", idx + 1 <= value && hoverCount === -1 ? 'star-on' : null, idx + 1 <= hoverCount ? 'hover-on' : null, halfon ? 'half-on' : null].filter(Boolean).join(' ').trim();\n var props = {};\n if (!readOnly) {\n props.onClick = e => onClick(e, idx);\n props.onMouseMove = e => onMouseMove(e, idx);\n }\n return /*#__PURE__*/_jsxs(\"span\", _extends({}, props, {\n children: [/*#__PURE__*/_jsx(\"span\", {\n style: {\n color\n },\n className: activeCls,\n children: character\n }), /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-bg\",\n children: character\n })]\n }), idx);\n })\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"allowClear\", \"disabled\", \"valueAmount\", \"size\", \"option\", \"maxTagCount\", \"loading\", \"labelInValue\", \"prefixCls\", \"className\", \"mode\", \"style\", \"isOpen\", \"value\", \"defaultValue\", \"showSearch\", \"tagProps\", \"placeholder\", \"onSearch\", \"onChange\", \"onSelect\"];\nimport React, { useMemo } from 'react';\nimport Dropdown from '@uiw/react-dropdown';\nimport Icon from '@uiw/react-icon';\nimport Menu from '@uiw/react-menu';\nimport Input from '@uiw/react-input';\nimport Tag from '@uiw/react-tag';\nimport { useState } from 'react';\nimport { useRef } from 'react';\nimport { useEffect } from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar TagSize = {\n large: 25,\n default: 20,\n small: 17\n};\nexport default function SearchSelect(props) {\n var _style$width;\n var {\n allowClear = false,\n disabled = false,\n valueAmount,\n size = 'default',\n option = [],\n maxTagCount,\n loading = false,\n labelInValue = false,\n prefixCls = 'w-search-select',\n className,\n mode = 'single',\n style,\n value,\n defaultValue,\n showSearch = false,\n tagProps = {},\n placeholder,\n onSearch,\n onChange,\n onSelect\n } = props,\n others = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n var isMultiple = useMemo(() => mode === 'multiple', [mode]);\n var [innerIsOpen, setInnerIsOpen] = useState(false);\n var [selectedValue, setSelectedValue] = useState([]);\n var [selectedLabel, setSelectedLabel] = useState('');\n var [selectIconType, setSelectIconType] = useState('');\n var inputRef = useRef(null);\n var omitTagCount = useMemo(() => maxTagCount && selectedValue.length > maxTagCount ? selectedValue.length - maxTagCount : 0, [selectedValue.length]);\n var divRef = useRef(null);\n var tagContentRef = useRef(null);\n var [tagClientWidth, setTagClientWidth] = React.useState(180);\n var valueVerify = value => {\n return value !== undefined && value !== '';\n };\n var valueRef = useRef();\n valueRef.current = useMemo(() => selectedValue, [selectedValue]);\n useEffect(() => {\n if (!valueVerify(value) && valueVerify(defaultValue)) {\n selectedValueChange(defaultValue);\n }\n }, []);\n useEffect(() => {\n if (disabled) {\n setInnerIsOpen(false);\n }\n }, [disabled]);\n useEffect(() => {\n if (valueVerify(value)) {\n selectedValueChange(value);\n } else {\n setSelectedValue([]);\n setSelectedLabel('');\n }\n }, [JSON.stringify(value)]);\n var getSelectOption = (option, value) => {\n var findResult = option.find(item => item.value === value);\n return findResult;\n };\n function selectedValueChange(changeValue) {\n var opts = [];\n if (labelInValue) {\n if (Array.isArray(changeValue)) {\n opts = changeValue;\n } else {\n opts.push(changeValue);\n }\n } else {\n if (Array.isArray(changeValue)) {\n opts = changeValue.map(v => getSelectOption(option, v)).filter(m => !!m);\n } else {\n var findResult = getSelectOption(option, changeValue);\n if (findResult) {\n setSelectedLabel(findResult.label);\n opts.push(findResult);\n }\n }\n }\n if (!isMultiple && opts.length > 0) setSelectedLabel(opts[0].label || '');\n setSelectedValue(opts.slice(0, valueAmount));\n }\n function removeSelectItem(index) {\n var selectedValue = valueRef.current;\n selectedValue.splice(index, 1);\n var values = [...selectedValue];\n return values;\n }\n var selectedLabelChange = value => {\n setSelectedLabel(value);\n showSearch && (onSearch == null ? void 0 : onSearch(value));\n };\n function handleItemClick(item) {\n setInnerIsOpen(false);\n var values = [item];\n setSelectedLabel(item.label);\n var resultValue = item.value;\n handleChange(resultValue, values);\n }\n function handleItemsClick(index, item) {\n var values = index !== -1 ? removeSelectItem(index) : [...selectedValue.slice(0, valueAmount ? valueAmount - 1 : undefined), item];\n var resultValue = values.map(item => item.value);\n handleChange(resultValue, values);\n }\n function handleChange(resultValue, values) {\n setSelectedLabel('');\n onSelect && onSelect(resultValue);\n handleSelectChange(resultValue, values); // 支持form组件\n\n value === undefined && setSelectedValue(values); // 如果受控于父组件则不需要内部维护状态\n }\n\n // 渲染icon\n function renderSelectIcon(type) {\n var selectIconType;\n if (type === 'enter' && allowClear && (selectedValue.length > 0 || selectedLabel)) {\n selectIconType = 'close';\n } else {\n selectIconType = '';\n }\n setSelectIconType(selectIconType);\n }\n // handle change\n function handleInputChange(value) {\n setInnerIsOpen(true);\n setSelectIconType(showSearch && value ? 'loading' : '');\n // setSelectedLabel(value);\n // showSearch && onSearch && onSearch(value);\n selectedLabelChange(value);\n }\n // 清除选中的值\n function resetSelectedValue(e) {\n var _inputRef$current;\n e.stopPropagation();\n (_inputRef$current = inputRef.current) == null || _inputRef$current.focus();\n setSelectedValue([]);\n handleInputChange('');\n setInnerIsOpen(false);\n handleSelectChange('', []);\n }\n function handleSelectChange(value, options) {\n if (!onChange) return;\n onChange(labelInValue ? options : value);\n }\n function inputKeyDown(e) {\n if (isMultiple && selectedValue.length > 0 && !selectedLabel && e.keyCode === 8) {\n handleItemsClick(selectedValue.length - 1);\n }\n }\n function onVisibleChange(isOpen) {\n var selectedValue = valueRef.current;\n setInnerIsOpen(isOpen);\n if (!isOpen) selectedLabelChange('');\n if (!isMultiple && selectedValue.length > 0) {\n setSelectedLabel(selectedValue[0].label);\n }\n }\n React.useEffect(() => {\n var _tagContentRef$curren;\n if ((_tagContentRef$curren = tagContentRef.current) != null && _tagContentRef$curren.clientWidth) {\n var _tagContentRef$curren2;\n setTagClientWidth((_tagContentRef$curren2 = tagContentRef.current) == null ? void 0 : _tagContentRef$curren2.clientWidth);\n }\n }, [tagContentRef.current]);\n return /*#__PURE__*/_jsx(Dropdown, _extends({\n className: cls,\n trigger: \"click\",\n style: {\n marginTop: 5\n },\n overlayStyl: {\n width: 100\n },\n disabled: disabled\n }, others, {\n onVisibleChange: onVisibleChange,\n isOpen: innerIsOpen,\n menu: /*#__PURE__*/_jsx(Menu, {\n bordered: true,\n style: {\n minHeight: 25,\n maxHeight: 280,\n minWidth: (_style$width = style == null ? void 0 : style.width) != null ? _style$width : 200,\n overflowY: 'scroll',\n width: style == null ? void 0 : style.width\n },\n children: !option || option.length === 0 ? /*#__PURE__*/_jsx(\"div\", {\n style: {\n color: '#c7c7c7',\n fontSize: 12\n },\n children: loading ? '正在加载数据...' : '没有数据'\n }) : option.map(item => {\n var index = selectedValue.findIndex(finds => finds.value === item.value);\n return /*#__PURE__*/_jsx(Menu.Item, {\n active: index !== -1,\n text: item.label,\n onClick: () => isMultiple ? handleItemsClick(index, item) : handleItemClick(item)\n }, index);\n })\n }),\n children: /*#__PURE__*/_jsx(\"div\", {\n ref: divRef,\n onMouseOver: () => renderSelectIcon('enter'),\n onMouseLeave: () => renderSelectIcon('leave'),\n onClick: () => {\n var _inputRef$current2;\n return (_inputRef$current2 = inputRef.current) == null ? void 0 : _inputRef$current2.focus();\n },\n style: _extends({\n width: '100%',\n maxWidth: 'none'\n }, style),\n children: isMultiple ? /*#__PURE__*/_jsxs(\"div\", {\n className: [prefixCls + \"-inner\", prefixCls + \"-search-\" + showSearch, prefixCls + \"-\" + size].filter(Boolean).join(' ').trim(),\n children: [/*#__PURE__*/_jsxs(\"div\", {\n ref: tagContentRef,\n className: [prefixCls + \"-tag-content\", disabled && prefixCls + \"-tag-content-disabled\"].filter(Boolean).join(' ').trim(),\n children: [isMultiple && selectedValue.slice(0, maxTagCount).map((item, index) => {\n return /*#__PURE__*/_jsx(Tag, _extends({\n style: _extends({\n height: TagSize[size],\n margin: 1,\n display: 'flex',\n alignItems: 'center'\n }, tagProps.style),\n color: \"#393E48\"\n }, tagProps, {\n closable: true,\n disabled: disabled,\n onClose: e => {\n e.stopPropagation();\n handleItemsClick(index, item);\n },\n children: /*#__PURE__*/_jsx(\"span\", {\n style: {\n maxWidth: tagClientWidth - 63,\n textOverflow: 'ellipsis',\n overflow: 'auto'\n },\n children: item.label\n })\n }), index);\n }), !!omitTagCount && /*#__PURE__*/_jsxs(Tag, {\n style: {\n height: 20,\n margin: 1,\n display: 'flex',\n alignItems: 'center'\n },\n disabled: true,\n children: [\"+\", omitTagCount, \" \\u2026\", ' ']\n }), /*#__PURE__*/_jsx(Input, {\n style: {\n flex: 1,\n width: showSearch ? 0 : 50\n },\n className: prefixCls + \"-input-contents\",\n readOnly: !showSearch,\n size: size,\n ref: inputRef,\n disabled: disabled,\n onKeyDown: inputKeyDown,\n onChange: e => handleInputChange(e.target.value),\n value: selectedLabel,\n placeholder: selectedValue.length ? '' : placeholder\n })]\n }), !disabled && (selectIconType === 'close' || selectIconType === 'loading' && loading) && /*#__PURE__*/_jsx(Icon, {\n className: prefixCls + \"-multiple-colse\",\n type: selectIconType,\n spin: loading && selectIconType === 'loading',\n onClick: resetSelectedValue\n })]\n }) : /*#__PURE__*/_jsx(Input, {\n className: prefixCls + \"-search-\" + showSearch,\n readOnly: !showSearch,\n size: size,\n ref: inputRef,\n disabled: disabled,\n onChange: e => handleInputChange(e.target.value),\n value: selectedLabel,\n placeholder: placeholder,\n addonAfter: !disabled && (selectIconType === 'close' || selectIconType === 'loading' && loading) && /*#__PURE__*/_jsx(Icon, {\n type: selectIconType,\n className: prefixCls + \"-singe-colse\",\n color: \"#393e48\",\n spin: loading && selectIconType === 'loading',\n onClick: resetSelectedValue\n })\n })\n })\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { useMemo, useState, useRef, useEffect } from 'react';\nimport Dropdown from '@uiw/react-dropdown';\nimport Icon from '@uiw/react-icon';\nimport Input from '@uiw/react-input';\nimport Tag from '@uiw/react-tag';\nimport Card from '@uiw/react-card';\nimport Empty from '@uiw/react-empty';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar TagSize = {\n large: 25,\n default: 20,\n small: 17\n};\nfunction SearchTagInput(props) {\n var {\n prefixCls = 'w-search-tree',\n size = 'default',\n disabled = false,\n allowClear = false,\n loading = false,\n selectCloseDrop = false,\n className,\n style,\n placeholder,\n tagProps = {},\n content,\n options,\n values,\n onChange,\n onSearch,\n emptyOption\n // ...others\n } = props;\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n var [innerIsOpen, setInnerIsOpen] = useState(false);\n var [selectedOption, setSelectedOption] = useState(values);\n var optionRef = useRef();\n var [searchValue, searchValueSet] = useState('');\n optionRef.current = useMemo(() => selectedOption, [selectedOption]);\n var [selectIconType, setSelectIconType] = useState('');\n var inputRef = useRef(null);\n useEffect(() => {\n setSelectedOption(values);\n }, [JSON.stringify(values)]);\n function renderSelectIcon(type) {\n var selectIconType = type === 'enter' && allowClear && (!!selectedOption.length || searchValue) ? 'close' : '';\n setSelectIconType(selectIconType);\n }\n var handleSelectChange = function handleSelectChange(selectedAll, selectd, isChecked) {\n if (isChecked === void 0) {\n isChecked = true;\n }\n setSelectedOption(selectedAll);\n searchValueChange('');\n onChange == null || onChange(selectedAll, selectd, isChecked);\n };\n var removeSelectItem = index => {\n var selectedOption = optionRef.current;\n var curreentItem = selectedOption[index];\n selectedOption.splice(index, 1);\n handleSelectChange([...selectedOption], curreentItem, false);\n };\n function handleInputChange(value) {\n setInnerIsOpen(true);\n searchValueChange(value);\n setSelectIconType(value ? 'loading' : '');\n }\n var searchValueChange = value => {\n searchValueSet(value);\n onSearch == null || onSearch(value);\n };\n\n // 清除选中的值\n function resetSelectedValue(e) {\n var _inputRef$current;\n e.stopPropagation();\n (_inputRef$current = inputRef.current) == null || _inputRef$current.focus();\n handleInputChange('');\n setInnerIsOpen(false);\n setSelectedOption([]);\n handleSelectChange([]);\n }\n function inputKeyDown(e) {\n if (selectedOption.length > 0 && !searchValue && e.keyCode === 8) {\n removeSelectItem(selectedOption.length - 1);\n }\n }\n var newContent = useMemo(() => {\n if (emptyOption) {\n return typeof emptyOption === 'boolean' ? /*#__PURE__*/_jsx(Empty, {\n style: {\n minWidth: 200,\n width: style == null ? void 0 : style.width\n }\n }) : emptyOption;\n }\n var newProps = _extends({}, content.props, {\n onSelected: function onSelected(selectedAll, selectd, isChecked) {\n if (isChecked === void 0) {\n isChecked = true;\n }\n setInnerIsOpen(!selectCloseDrop);\n handleSelectChange(selectedAll, selectd, isChecked);\n },\n values: selectedOption,\n options\n });\n return /*#__PURE__*/React.cloneElement(content, newProps);\n }, [JSON.parse(JSON.stringify(selectedOption)), options, emptyOption]);\n return /*#__PURE__*/_jsx(Dropdown, {\n className: cls,\n trigger: \"click\",\n onVisibleChange: isOpen => {\n setInnerIsOpen(isOpen);\n if (!isOpen) searchValueChange('');\n },\n disabled: disabled,\n isOpen: innerIsOpen,\n menu: /*#__PURE__*/_jsx(Card, {\n bodyStyle: emptyOption === true ? {\n padding: 0\n } : undefined,\n children: newContent\n }),\n children: /*#__PURE__*/_jsx(\"div\", {\n onMouseOver: () => renderSelectIcon('enter'),\n onMouseLeave: () => renderSelectIcon('leave'),\n onClick: () => {\n var _inputRef$current2;\n return (_inputRef$current2 = inputRef.current) == null ? void 0 : _inputRef$current2.focus();\n },\n style: _extends({\n minWidth: (style == null ? void 0 : style.width) || 200,\n maxWidth: 'none'\n }, style),\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: [prefixCls + \"-inner\", prefixCls + \"-\" + size].filter(Boolean).join(' ').trim(),\n children: [/*#__PURE__*/_jsxs(\"div\", {\n style: {\n display: 'flex',\n flexFlow: 'wrap',\n width: '100%'\n },\n children: [selectedOption.map((item, index) => {\n return /*#__PURE__*/_jsx(Tag, _extends({\n style: {\n height: TagSize[size],\n margin: 1,\n display: 'flex',\n alignItems: 'center'\n },\n className: prefixCls + \"-tag\",\n closable: true,\n color: \"#393E48\"\n }, tagProps, {\n disabled: disabled,\n onClose: e => {\n e.stopPropagation();\n removeSelectItem(index);\n },\n children: item.label\n }), index);\n }), /*#__PURE__*/_jsx(Input, {\n ref: inputRef,\n className: prefixCls + \"-input-contents\",\n size: size,\n disabled: disabled,\n onKeyDown: inputKeyDown,\n onChange: e => handleInputChange(e.target.value),\n value: searchValue,\n placeholder: selectedOption.length ? '' : placeholder\n })]\n }), !disabled && /*#__PURE__*/_jsx(\"span\", {\n style: {\n height: 25,\n width: 14\n },\n className: prefixCls + \"-close-tag-contents\",\n children: (selectIconType === 'close' || selectIconType === 'loading' && loading) && /*#__PURE__*/_jsx(Icon, {\n type: selectIconType,\n spin: loading && selectIconType === 'loading',\n onClick: resetSelectedValue\n })\n })]\n })\n })\n });\n}\nexport default SearchTagInput;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nvar _excluded = [\"onChange\", \"onSearch\", \"multiple\", \"options\", \"value\", \"emptyOption\", \"treeProps\"];\nimport React, { useState, useEffect } from 'react';\nimport SearchTagInput from './SearchTagInput';\nimport Tree from '@uiw/react-tree';\nimport TreeChecked from '@uiw/react-tree-checked';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n// type TreeCheckedsProps = TreeCheckedProps & Partial>\nfunction TreeCheckeds(props) {\n var [selectOption, selectOptionSet] = useState({});\n var [keys, keysSet] = useState([]);\n useEffect(() => {\n var _props$values;\n var selectOption = {};\n var keys = (_props$values = props.values) == null ? void 0 : _props$values.map(opt => {\n selectOption[opt.key] = opt.label;\n return opt.key;\n });\n selectOptionSet(selectOption);\n keysSet(keys || []);\n }, [props.values]);\n var onSelected = (_, item, isChecked, evn) => {\n var curSelectOption = getOptionsRecursion([evn], selectOption, isChecked);\n var isNumberKey = false;\n if (typeof item === 'number') isNumberKey = true;\n var option = Object.entries(curSelectOption).map(_ref => {\n var [key, label] = _ref;\n return {\n key: isNumberKey ? Number.parseInt(key) : key,\n label\n };\n });\n props.onSelected == null || props.onSelected(option, {\n key: evn.key,\n label: evn.label\n }, isChecked);\n };\n var getOptionsRecursion = (childrens, selectOption, isAdd) => {\n var addOrDel = (key, label, isAdd) => {\n if (isAdd) {\n selectOption[key] = label;\n } else {\n delete selectOption[key];\n }\n };\n var iteratorParent = child => {\n // 向上迭代\n if (child.parent) {\n var selectCount = child.parent.children.filter(child => !selectOption[child.key]).length;\n addOrDel(child.parent.key, child.parent.label, selectCount === 0);\n iteratorParent(child.parent);\n }\n };\n childrens.forEach(child => {\n var _child$children, _child$label;\n if (!!((_child$children = child.children) != null && _child$children.length)) {\n selectOption = getOptionsRecursion(child.children, selectOption, isAdd);\n }\n addOrDel(child.key, (_child$label = child.label) == null ? void 0 : _child$label.toString(), isAdd);\n iteratorParent(child);\n });\n return selectOption;\n };\n return /*#__PURE__*/_jsx(TreeChecked, _extends({\n defaultExpandAll: true\n }, props, {\n data: props.options,\n selectedKeys: keys,\n onSelected: onSelected\n }));\n}\nfunction SingeTree(props) {\n var [keys, keysSet] = useState([]);\n useEffect(() => {\n var _props$values2;\n var keys = [];\n if ((_props$values2 = props.values) != null && _props$values2.length) keys[0] = props.values[0].key;\n keysSet(keys);\n }, [props.values]);\n var onSelected = (_1, _2, isChecked, evn) => {\n var {\n key,\n label\n } = evn;\n var cur = {\n key,\n label\n };\n props.onSelected == null || props.onSelected(isChecked ? [cur] : [], cur, isChecked);\n };\n return /*#__PURE__*/_jsx(Tree, _extends({\n defaultExpandAll: true\n }, props, {\n multiple: false,\n data: props.options,\n selectedKeys: keys,\n onSelected: onSelected\n }));\n}\nfunction SearchTree(props) {\n var {\n onChange,\n multiple = true,\n options = [],\n value = [],\n emptyOption = !options.length,\n treeProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [selectedValues, selectedValuesSet] = useState(Array.isArray(value) ? value : [value]);\n var [selectedOptions, selectedOptionSet] = useState(options);\n var [isEmpty, isEmptySet] = useState(emptyOption);\n useEffect(() => {\n selectedValuesSet(Array.isArray(value) ? value : []);\n }, [JSON.stringify(value)]);\n var selectedChange = (resultValue, cur, isChecked) => {\n selectedValuesSet(resultValue);\n onChange == null || onChange(cur, resultValue, isChecked);\n };\n var selectedSearch = searchValue => {\n var hiddenNodeForSeach = function hiddenNodeForSeach(childrens, parentIsHide) {\n if (parentIsHide === void 0) {\n parentIsHide = true;\n }\n childrens.forEach(child => {\n var _child$children2;\n var isHide = !child.label.includes(searchValue.trim()) && parentIsHide;\n if (!!((_child$children2 = child.children) != null && _child$children2.length)) {\n hiddenNodeForSeach(child.children, isHide);\n var find = child.children.find(item => !item.hideNode);\n child.hideNode = isHide && !find;\n } else {\n child.hideNode = isHide;\n }\n });\n };\n hiddenNodeForSeach(options);\n selectedOptionSet([...options]);\n var isEmpt = true;\n options.forEach(opt => isEmpt = isEmpt && !!opt.hideNode);\n isEmptySet(typeof emptyOption === 'boolean' && isEmpt ? isEmpt : emptyOption);\n };\n return /*#__PURE__*/_jsx(SearchTagInput, _extends({}, other, {\n emptyOption: isEmpty,\n selectCloseDrop: !multiple,\n onSearch: selectedSearch,\n onChange: selectedChange,\n values: selectedValues,\n options: selectedOptions,\n content: multiple ? /*#__PURE__*/_jsx(TreeCheckeds, _extends({}, treeProps)) : /*#__PURE__*/_jsx(SingeTree, _extends({}, treeProps))\n }));\n}\nexport default SearchTree;","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(\"option\", _extends({}, props, {\n ref: ref\n})));","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(\"optgroup\", _extends({}, props, {\n ref: ref\n})));","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"size\"];\nimport React from 'react';\nimport Option from './Option';\nimport Group from './Group';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar InternalSelect = (props, ref) => {\n var {\n prefixCls = 'w-select',\n className,\n size = 'default'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/_jsx(\"select\", _extends({}, other, {\n ref: ref,\n className: [prefixCls, className, size ? prefixCls + \"-\" + size : null].filter(Boolean).join(' ').trim()\n }));\n};\nvar Select = /*#__PURE__*/React.forwardRef(InternalSelect);\nSelect.Option = Option;\nSelect.Group = Group;\nexport default Select;","import React from 'react';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function Dots(props) {\n var {\n prefixCls,\n data,\n step,\n min,\n vertical,\n marks,\n markRender\n } = props;\n return /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-dots\",\n children: data.map((val, idx) => {\n var stepValue = idx * step + min;\n return /*#__PURE__*/_jsxs(\"div\", {\n style: {\n [vertical ? 'top' : 'left']: val + \"%\"\n },\n className: [prefixCls + \"-mark\", marks && marks !== true && !marks[stepValue] ? 'no-marks' : null].filter(Boolean).join(' ').trim(),\n children: [marks === true && markRender && markRender(stepValue), marks !== true && marks && marks[stepValue] && markRender && markRender(stepValue, marks[stepValue])]\n }, idx);\n })\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"value\", \"min\", \"max\", \"dots\", \"step\", \"disabled\", \"progress\", \"tooltip\", \"className\", \"marks\", \"renderMarks\", \"vertical\", \"onChange\"];\nimport React, { useEffect, useState } from 'react';\nimport Dots from './Dots';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Slider(props) {\n var {\n prefixCls = 'w-slider',\n value = 0,\n min = 0,\n max = 100,\n dots = false,\n step = 1,\n disabled = false,\n progress = true,\n tooltip = false,\n className,\n marks,\n renderMarks,\n vertical,\n onChange\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var bar = React.useRef(null);\n var slider = React.useRef(null);\n var indexBar = React.useRef();\n var startX = React.useRef();\n var curValue = React.useRef();\n var barWidth = React.useRef();\n var barOffsetLeft = React.useRef();\n var move = React.useRef();\n var [arrValue, setArrValue] = useState(Array.isArray(value) ? value : [value]);\n useEffect(() => setArrValue(Array.isArray(value) ? value : [value]), [value]);\n other.onClick = evn => {\n if (move.current !== undefined) {\n return;\n }\n var markOffset = slider.current.getBoundingClientRect();\n var vals = getWidthToValue(evn[vertical ? 'clientY' : 'clientX'] - markOffset[vertical ? 'y' : 'x']);\n var curr = getRangeValue(vals);\n handleChange(curr);\n };\n function getRangeValue(val) {\n if (!Array.isArray(value)) {\n return Array.isArray(val) ? val : [val];\n }\n var newData = [...arrValue];\n var val1 = newData[0];\n var val2 = newData[1];\n if (val1 < val2 && val1 > val || val1 > val2 && val1 < val) {\n newData[0] = val;\n }\n if (val1 < val2 && val2 < val || val1 > val2 && val2 > val) {\n newData[1] = val;\n }\n if (val1 > val && val2 < val) {\n var half = val2 + (val1 - val2) / 2;\n if (half >= val) {\n newData[1] = val;\n }\n if (half < val) {\n newData[0] = val;\n }\n }\n if (val2 > val && val1 < val) {\n var _half = val1 + (val2 - val1) / 2;\n if (_half >= val) {\n newData[0] = val;\n }\n if (_half < val) {\n newData[1] = val;\n }\n }\n return newData;\n }\n function handleChange(val) {\n setArrValue([...val]);\n onChange && onChange(arrValue.length === 1 ? val[0] : val);\n }\n function getWidthToValue(width) {\n var equal = (max - min) / step;\n var percent = 0;\n if (slider.current) {\n percent = width / slider.current[vertical ? 'clientHeight' : 'clientWidth'] * 100;\n }\n if (percent <= 0) {\n percent = 0;\n }\n if (percent >= 100) {\n percent = 100;\n }\n var num = equal * (percent / 100) + 0.5;\n var numFloor = Math.floor(num);\n var vals = numFloor * step + min;\n return vals;\n }\n function onHandleBtnDown(idx, env) {\n if (disabled) {\n return;\n }\n indexBar.current = idx;\n move.current = true;\n startX.current = env[vertical ? 'clientY' : 'clientX'];\n if (bar.current) {\n barWidth.current = bar.current[vertical ? 'clientHeight' : 'clientWidth'];\n barOffsetLeft.current = bar.current[vertical ? 'offsetTop' : 'offsetLeft'];\n }\n var vals = [...arrValue];\n if (Array.isArray(value)) {\n barWidth.current = indexBar.current === 1 && vals[1] > vals[0] || indexBar.current !== 1 && vals[0] > vals[1] ? barWidth.current + barOffsetLeft.current : barOffsetLeft.current;\n }\n window.addEventListener('mousemove', onDragging);\n window.addEventListener('mouseup', onDragEnd);\n }\n function onDragging(env) {\n if (!move.current) {\n return;\n }\n var vals = [...arrValue];\n var valueToWidth = getWidthToValue(env[vertical ? 'clientY' : 'clientX'] - startX.current + barWidth.current);\n if (valueToWidth !== curValue.current) {\n vals[indexBar.current] = valueToWidth;\n var _barStyl = getStyle(vals);\n if (bar.current) {\n bar.current.style[vertical ? 'top' : 'left'] = _barStyl.left;\n bar.current.style[vertical ? 'bottom' : 'right'] = _barStyl.right;\n }\n handleChange(vals);\n curValue.current = valueToWidth;\n }\n }\n function onDragEnd() {\n move.current = undefined;\n window.removeEventListener('mousemove', onDragging, false);\n window.removeEventListener('mouseup', onDragEnd, false);\n }\n var stepArray = () => {\n var equal = (max - min) / step;\n var stepWidth = 100 * step / (max - min);\n var result = [0];\n for (var i = 1; i < equal; i += 1) {\n result.push(i * stepWidth);\n }\n result.push(100);\n return result;\n };\n function getValueToPercent(vals) {\n return (vals - min) * 100 / (max - min);\n }\n function getStyle(val) {\n val = val || arrValue;\n var barStyl = {\n left: '0%',\n right: '100%'\n };\n if (!Array.isArray(value)) {\n barStyl.right = 100 - getValueToPercent(val[0]) + \"%\";\n } else {\n var leftValue = val[0] > val[1] ? val[1] : val[0];\n var rightValue = val[0] > val[1] ? val[0] : val[1];\n barStyl.left = getValueToPercent(leftValue) + \"%\";\n barStyl.right = 100 - getValueToPercent(rightValue) + \"%\";\n }\n return barStyl;\n }\n function getLabelValue(val) {\n if (marks && marks !== true && marks[val] && marks[val].label) {\n return marks[val].label;\n } else if (marks && marks !== true && marks[val] && typeof marks[val] === 'string') {\n return marks[val];\n } else if (renderMarks && typeof renderMarks === 'function' && renderMarks(val)) {\n return renderMarks(val);\n }\n // if (marks && typeof marks !== 'boolean' && marks[val].label) {\n // return marks[val].label;\n // } else if (marks && typeof marks !== 'boolean' && typeof marks[val] === 'string') {\n // return marks[val] as ReactElement;\n // } else if (renderMarks && typeof renderMarks === 'function' && renderMarks(val)) {\n // return renderMarks(val);\n // }\n return val;\n }\n var barStyl = getStyle();\n if (disabled) {\n delete other.onClick;\n }\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n ref: slider,\n className: [prefixCls, className, disabled ? 'disabled' : null, marks ? prefixCls + \"-with-marks\" : null, vertical ? prefixCls + \"-vertical\" : null].filter(Boolean).join(' ').trim()\n }, other, {\n children: [/*#__PURE__*/_jsx(\"div\", {\n ref: bar,\n className: prefixCls + \"-bar\",\n style: _extends({\n [vertical ? 'top' : 'left']: barStyl.left,\n [vertical ? 'bottom' : 'right']: barStyl.right\n }, progress !== true ? {\n backgroundColor: progress || 'initial'\n } : {})\n }), [...arrValue].map((item, idx) => {\n var lleftPostion = getValueToPercent(item);\n return /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-handle\",\n onMouseDown: evn => onHandleBtnDown(idx, evn),\n style: {\n [vertical ? 'top' : 'left']: lleftPostion + \"%\"\n },\n children: (tooltip || tooltip === false) && /*#__PURE__*/_jsx(\"div\", {\n className: [prefixCls + \"-tooltip\", tooltip ? 'open' : null].filter(Boolean).join(' ').trim(),\n children: getLabelValue(item)\n })\n }, idx);\n }), dots && /*#__PURE__*/_jsx(Dots, {\n prefixCls: prefixCls,\n min: min,\n step: step,\n marks: marks,\n vertical: !!vertical,\n data: stepArray(),\n markRender: function markRender(stepValue, mark) {\n if (mark === void 0) {\n mark = {};\n }\n if (!mark) {\n return /*#__PURE__*/_jsxs(\"div\", {\n children: [\" \", getLabelValue(stepValue), \" \"]\n });\n }\n var other = typeof mark === 'object' ? mark : {};\n delete other.label;\n return /*#__PURE__*/_jsxs(\"div\", _extends({}, other, {\n children: [\" \", getLabelValue(stepValue), \" \"]\n }));\n }\n })]\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"status\", \"itemWidth\", \"icon\", \"adjustMarginRight\", \"stepNumber\", \"title\", \"description\", \"progressDot\"];\nimport React from 'react';\nimport Icon from '@uiw/react-icon';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Step(props) {\n var {\n prefixCls = 'w-steps',\n className,\n style,\n status,\n itemWidth,\n icon,\n adjustMarginRight,\n stepNumber,\n title,\n description,\n progressDot\n } = props,\n restProps = _objectWithoutPropertiesLoose(props, _excluded);\n var classString = [prefixCls + \"-item\", prefixCls + \"-item-\" + status, className, icon ? prefixCls + \"-custom\" : null].filter(Boolean).join(' ').trim();\n var stepItemStyle = _extends({}, style);\n var stepItemDotStyle = {};\n if (itemWidth) {\n stepItemStyle.width = itemWidth;\n }\n if (adjustMarginRight) {\n stepItemStyle.marginRight = adjustMarginRight;\n if (progressDot) {\n stepItemDotStyle.paddingRight = Math.abs(adjustMarginRight);\n }\n }\n var iconNode = null;\n if (progressDot && !icon) {\n iconNode = /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-dot\"\n });\n } else if (icon && typeof icon !== 'string') {\n iconNode = /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-icon\",\n children: icon\n });\n } else if (icon && typeof icon === 'string' || status === 'finish' || status === 'error') {\n iconNode = /*#__PURE__*/_jsx(Icon, {\n type: [icon && typeof icon === 'string' ? \"\" + icon : null, !icon && status === 'finish' ? 'check' : null, !icon && status === 'error' ? 'close' : null].filter(Boolean).join(' ').trim()\n });\n } else {\n iconNode = /*#__PURE__*/_jsx(\"span\", {\n className: prefixCls + \"-icon\",\n children: stepNumber\n });\n }\n return /*#__PURE__*/_jsxs(\"div\", _extends({}, restProps, {\n className: classString,\n style: stepItemStyle,\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-item-tail\",\n style: stepItemDotStyle,\n children: /*#__PURE__*/_jsx(\"i\", {\n style: {\n paddingRight: '100%'\n }\n })\n }), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-item-head\",\n children: /*#__PURE__*/_jsx(\"div\", {\n className: [prefixCls + \"-item-inner\", !!icon && 'is-icon'].filter(Boolean).join(' ').trim(),\n children: iconNode\n })\n }), /*#__PURE__*/_jsxs(\"div\", {\n className: [prefixCls + \"-item-main\", !!icon && 'is-icon-main'].filter(Boolean).join(' ').trim(),\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-item-title\",\n children: title\n }), description && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-item-description\",\n children: description\n })]\n })]\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"style\", \"className\", \"children\", \"current\", \"status\", \"progressDot\", \"direction\"];\nimport React, { useEffect, useRef, useState } from 'react';\nimport Step from './Step';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction InternalSteps(props) {\n var {\n prefixCls = 'w-steps',\n style = {},\n children,\n current,\n status = 'process',\n progressDot = false,\n direction = 'horizontal'\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n var warpRef = useRef(null);\n var [lastStepOffsetWidth, setLastStepOffsetWidth] = useState(0);\n var filteredChildren = React.Children.toArray(children).filter(c => !!c);\n var lastIndex = filteredChildren.length - 1; // 最后一个节点的索引数字\n var classString = [prefixCls, prefixCls + \"-\" + direction, !!progressDot ? prefixCls + \"-dot\" : null].filter(Boolean).join(' ').trim();\n useEffect(() => calcStepOffsetWidth());\n\n // 计算每一步的宽度\n function calcStepOffsetWidth() {\n var domNode = warpRef.current;\n if (domNode && domNode.lastChild) {\n var width = (domNode.lastChild.offsetWidth || 0) + 1;\n if (width === lastStepOffsetWidth || Math.abs(width - lastStepOffsetWidth) <= 3) {\n return;\n }\n setLastStepOffsetWidth(width);\n }\n }\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: classString,\n style: style\n }, resetProps, {\n ref: warpRef,\n children: React.Children.map(children, (child, index) => {\n var childProps = _extends({\n stepNumber: \"\" + (index + 1),\n prefixCls,\n progressDot\n }, child.props);\n if (index !== lastIndex && direction !== 'vertical') {\n childProps.itemWidth = 100 / lastIndex + \"%\";\n childProps.adjustMarginRight = -Math.round(lastStepOffsetWidth / lastIndex + 1);\n }\n if (progressDot && direction !== 'vertical') {\n childProps.itemWidth = 100 / filteredChildren.length + \"%\";\n childProps.adjustMarginRight = 0;\n }\n // 错误前面\n if (status === 'error' && index === current - 1) {\n childProps.className = prefixCls + \"-next-error\";\n }\n if (!child.props.status) {\n if (index === current) {\n childProps.status = status;\n } else if (index < current) {\n childProps.status = 'finish';\n } else {\n childProps.status = 'wait';\n }\n }\n return /*#__PURE__*/React.cloneElement(child, childProps);\n })\n }));\n}\nInternalSteps.Step = Step;\nexport default InternalSteps;","import Steps from './Steps';\nexport * from './Steps';\nexport * from './Step';\nexport default Steps;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\"];\nimport React from 'react';\nimport { RadioAbstract } from '@uiw/react-radio';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-switch'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/_jsx(RadioAbstract, _extends({\n prefixCls: prefixCls\n }, _extends({}, other, {\n type: 'checkbox'\n }), {\n ref: ref\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Get colspan number\n * @param {Array} date\n */\nfunction getColspanNum(data, num) {\n if (data === void 0) {\n data = [];\n }\n if (num === void 0) {\n num = 1;\n }\n var childs = [];\n for (var i = 0; i < data.length; i += 1) {\n if (data[i].children) {\n childs = childs.concat(data[i].children || []);\n }\n }\n if (childs && childs.length > 0) {\n num = getColspanNum(childs, num + 1);\n }\n return num;\n}\n\n/**\n * Get rowspan number\n * @param {Array} date\n */\nfunction getRowspanNum(data, child) {\n if (data === void 0) {\n data = [];\n }\n if (child === void 0) {\n child = [];\n }\n var childs = [];\n for (var i = 0; i < data.length; i += 1) {\n if (!data[i].children) {\n childs.push(data[i]);\n } else if (data[i].children && data[i].children.length > 0) {\n childs = childs.concat(getRowspanNum(data[i].children, child));\n }\n }\n return childs;\n}\n/**\n * JSON Array => Array\n * @param {Array} date\n */\nexport function getLevelItems(data, result) {\n if (!result) {\n result = {\n header: [],\n render: {}\n };\n }\n if (result && !result.header) {\n result.header = [];\n }\n if (result && !result.render) {\n result.render = {};\n }\n var child = [];\n var levelTop = [];\n for (var i = 0; i < data.length; i += 1) {\n if (data[i].render && data[i].key) {\n result.render[data[i].key] = data[i].render;\n }\n if (data[i].ellipsis && data[i].key) {\n if (!result.ellipsis) result.ellipsis = {};\n result.ellipsis[data[i].key] = true;\n }\n if (result.header.length === 0) {\n // Calculation rowspan\n if (data[i].children && data[i].children && data[i].children.length > 0) {\n data[i].colSpan = getRowspanNum(data[i].children).length;\n }\n levelTop.push(data[i]);\n }\n if (data[i] && data[i].children) {\n child = child.concat(data[i].children.map(item => {\n // Calculation rowspan\n if (item.children && item.children.length > 0) {\n item.colSpan = getRowspanNum(item.children).length;\n }\n return item;\n }));\n }\n }\n // level 1\n if (result.header.length === 0) {\n var num = getColspanNum(levelTop);\n result.header.push(levelTop.map(item => {\n if (num === 1) return item;\n if (!item.children || item.children && item.children.length === 0) {\n item.rowSpan = num;\n }\n return item;\n }));\n }\n if (child && child.length > 0) {\n var _num = getColspanNum(child);\n result.header.push(child.map(item => {\n if (_num === 1) return item;\n if (!item.children || item.children && item.children.length === 0) {\n item.rowSpan = _num;\n }\n return item;\n }));\n result = getLevelItems(child, result);\n }\n return result;\n}\n\n/**\n * Get all columns keys\n * @param {Array} data\n */\nexport function getAllColumnsKeys(data, keys) {\n if (keys === void 0) {\n keys = [];\n }\n for (var i = 0; i < data.length; i += 1) {\n if (data[i].children) {\n keys = keys.concat(getAllColumnsKeys(data[i].children || []));\n } else if (data[i].key) {\n keys.push(data[i]);\n } else {\n keys.push(_extends({}, data[i], {\n key: i.toString()\n }));\n }\n }\n return keys;\n}\nexport function locationFixed(fixed, location, index) {\n var _location$index, _location$index2;\n if (!fixed) return {};\n if (fixed === 'right') return {\n right: (_location$index = location[index]) == null ? void 0 : _location$index.right\n };\n return {\n left: (_location$index2 = location[index]) == null ? void 0 : _location$index2.left\n };\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"title\", \"key\", \"render\", \"children\", \"ellipsis\", \"fixed\"];\nimport React, { Component } from 'react';\nimport { locationFixed } from './util';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default class ThComponent extends Component {\n constructor() {\n super(...arguments);\n this.wrapper = /*#__PURE__*/React.createRef();\n }\n componentDidMount() {\n this.props.updateLocation({\n width: this.wrapper.current.getBoundingClientRect().width\n }, \"\" + this.props.rowNum + this.props.colNum, this.props.item.key, this.props.item.colSpan);\n }\n render() {\n var {\n colNum,\n rightNum,\n prefixCls,\n item,\n titleNode,\n onCellHead,\n rowNum,\n locationWidth\n } = this.props;\n var {\n fixed = false\n } = item,\n thProps = _objectWithoutPropertiesLoose(item, _excluded);\n var cls = '';\n if (fixed) {\n if (fixed === 'right') {\n var rightCls = rightNum === 1 ? prefixCls + \"-fixed-right-first\" : '';\n cls = prefixCls + '-fixed-right ' + rightCls;\n } else {\n cls = prefixCls + '-fixed-true';\n }\n }\n return /*#__PURE__*/_jsx(\"th\", _extends({\n ref: this.wrapper\n }, thProps, {\n style: _extends({}, thProps.style, locationFixed(fixed, locationWidth, \"\" + rowNum + colNum)),\n className: prefixCls + \"-tr-children-\" + ((item == null ? void 0 : item.align) || 'left') + \" \" + (item.className || '') + \" \" + cls,\n onClick: evn => onCellHead == null ? void 0 : onCellHead(item, colNum, rowNum, evn),\n children: titleNode\n }), colNum);\n }\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"data\", \"onCellHead\", \"locationWidth\", \"updateLocation\"],\n _excluded2 = [\"title\", \"key\", \"render\", \"children\", \"ellipsis\", \"fixed\"];\nimport React from 'react';\nimport { noop } from '@uiw/utils';\nimport \"./style/index.css\";\nimport ThComponentProps from './ThComponent';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function TheadComponent(props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-table',\n className,\n data = [],\n onCellHead = noop,\n locationWidth,\n updateLocation\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var rightFixedNum = 0;\n return /*#__PURE__*/_jsx(\"thead\", _extends({\n className: [prefixCls, className].filter(Boolean).join(' ').trim()\n }, other, {\n children: data && data.length > 0 && data.map((tds, rowNum) => /*#__PURE__*/_jsx(\"tr\", {\n children: (tds || []).map((item, colNum) => {\n var {\n title,\n ellipsis,\n fixed = false\n } = item,\n thProps = _objectWithoutPropertiesLoose(item, _excluded2);\n var titleNode = /*#__PURE__*/_jsx(\"span\", {\n className: ellipsis ? (thProps.className || '') + \" \" + prefixCls + \"-ellipsis\" : undefined,\n children: typeof title === 'function' ? title(item, colNum, rowNum) : title\n });\n if (thProps.colSpan === 0) {\n return null;\n }\n if (fixed === 'right') {\n rightFixedNum = rightFixedNum + 1;\n }\n return /*#__PURE__*/_jsx(ThComponentProps, {\n colNum: colNum,\n rightNum: rightFixedNum,\n item: item,\n prefixCls: prefixCls,\n onCellHead: onCellHead,\n rowNum: rowNum,\n titleNode: titleNode,\n locationWidth: locationWidth,\n updateLocation: updateLocation\n }, colNum);\n })\n }, rowNum))\n }));\n}","import React, { useState } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * 可展开配置\n */\nexport default function ExpandableComponent(_ref) {\n var {\n defaultExpand,\n onClick: _onClick,\n expandIcon\n } = _ref;\n var [expand, setExpand] = useState(defaultExpand);\n return /*#__PURE__*/_jsx(\"div\", {\n style: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n },\n onClick: () => {\n setExpand(!expand);\n _onClick(expand);\n // record: T, index: number, expanded: boolean\n },\n\n children: expandIcon(expand)\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { useMemo, useState, useEffect } from 'react';\nimport Icon from '@uiw/react-icon';\nimport \"./style/index.css\";\nimport { noop } from '@uiw/utils';\nimport { locationFixed } from './util';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { createElement as _createElement } from \"react\";\nexport default function TableTr(props) {\n var {\n rowKey,\n data,\n keys,\n render,\n ellipsis,\n prefixCls,\n onCell = noop,\n isExpandedDom,\n hierarchy,\n indentSize,\n childrenColumnName,\n locationWidth,\n header\n } = props;\n var [isOpacity, setIsOpacity] = useState(false);\n var [childrenIndex, setChildrenIndex] = useState(0);\n var [expandIndex, setExpandIndex] = useState([]);\n useEffect(() => {\n setIsOpacity(!!(data != null && data.find(it => it[childrenColumnName])));\n setChildrenIndex((keys == null ? void 0 : keys.findIndex(it => it.key === 'uiw-expanded')) === -1 ? 0 : 1);\n }, [data]);\n var IconDom = useMemo(() => {\n return (key, isOpacity) => {\n var flag = expandIndex.includes(key);\n return /*#__PURE__*/_jsx(Icon, {\n type: flag ? 'minus-square-o' : 'plus-square-o',\n style: {\n marginRight: 10,\n opacity: isOpacity ? 1 : 0,\n marginLeft: hierarchy * indentSize,\n float: 'left',\n marginTop: 3.24\n },\n onClick: () => {\n setExpandIndex(flag ? expandIndex.filter(it => it !== key) : [...expandIndex, key]);\n }\n });\n };\n }, [expandIndex]);\n var getIndex = key => {\n var j = 0;\n var i = header.findIndex(it => {\n j = it.findIndex(item => item.key === key);\n return j > -1;\n });\n return \"\" + i + j;\n };\n if (!Array.isArray(data) || !data.length) {\n return null;\n }\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: data.map((trData, rowNum) => {\n var key = rowKey ? trData[rowKey] : rowNum;\n var rightFixedNum = 0;\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"tr\", {\n children: keys.map((keyName, colNum) => {\n var objs = {\n children: trData[keyName.key]\n };\n if (render[keyName.key]) {\n var child = render[keyName.key](trData[keyName.key], keyName.key, trData, rowNum, colNum);\n if ( /*#__PURE__*/React.isValidElement(child)) {\n objs.children = child;\n } else {\n if (child.props) {\n objs = _extends({}, child.props, {\n children: objs.children\n });\n if (child.props.rowSpan === 0 || child.props.colSpan === 0) return null;\n }\n if (child.children) {\n objs.children = child.children;\n }\n }\n }\n var isHasChildren = Array.isArray(trData[childrenColumnName]);\n if (colNum === childrenIndex && (isOpacity || hierarchy || isHasChildren)) {\n objs.children = /*#__PURE__*/_jsxs(_Fragment, {\n children: [IconDom(key, isHasChildren), /*#__PURE__*/_jsx(\"span\", {\n style: {\n paddingLeft: hierarchy * indentSize\n }\n }), objs.children]\n });\n }\n if (keyName.fixed) {\n if (keyName.fixed === 'right') {\n rightFixedNum = rightFixedNum + 1;\n var cls = rightFixedNum === 1 ? prefixCls + \"-fixed-right-first\" : '';\n objs.className = prefixCls + \"-fixed-right \" + cls;\n } else {\n objs.className = prefixCls + \"-fixed-true\";\n }\n }\n return /*#__PURE__*/_createElement(\"td\", _extends({}, objs, {\n style: keyName.fixed ? _extends({}, locationFixed(keyName.fixed, locationWidth, \"\" + getIndex(keyName.key || 'undefined'))) : {},\n children: /*#__PURE__*/_jsx(\"span\", {\n className: ellipsis && ellipsis[keyName.key] ? prefixCls + \"-ellipsis\" : undefined,\n children: objs.children\n }),\n key: colNum,\n className: [prefixCls + '-tr-children-' + (keyName.align || 'left'), keyName.className, objs.className].filter(it => it).join(' ').trim(),\n onClick: evn => onCell(trData, {\n rowNum,\n colNum,\n keyName: keyName.key\n }, evn)\n }));\n })\n }, key), isExpandedDom(trData, rowNum), expandIndex.includes(key) && /*#__PURE__*/_jsx(TableTr, _extends({}, props, {\n data: trData[childrenColumnName],\n hierarchy: hierarchy + 1\n }))]\n }, rowNum);\n })\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"columns\", \"data\", \"title\", \"footer\", \"bordered\", \"onCell\", \"onCellHead\", \"empty\", \"children\", \"expandable\", \"rowKey\", \"scroll\"];\nimport React, { useMemo, useState, useEffect, useRef } from 'react';\nimport { noop } from '@uiw/utils';\nimport Icon from '@uiw/react-icon';\nimport Thead from './Thead';\nimport { getLevelItems, getAllColumnsKeys } from './util';\nimport ExpandableComponent from './Expandable';\nimport TableTr from './TableTr';\nimport \"./style/index.css\";\n\n// 展开配置\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Table(props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-table',\n className,\n columns = [],\n data = [],\n title,\n footer,\n bordered,\n onCell = noop,\n onCellHead = noop,\n empty,\n expandable,\n rowKey,\n scroll\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [expandIndex, setExpandIndex] = useState([]);\n var [locationWidth, setLocationWidth] = useState({});\n var finalLocationWidth = useRef({});\n var updateLocation = function updateLocation(params, index, key, colSpan) {\n if (colSpan === void 0) {\n colSpan = 0;\n }\n finalLocationWidth.current = _extends({}, finalLocationWidth.current, {\n [index]: _extends({}, finalLocationWidth.current[index], params, {\n key: key,\n colSpan\n })\n });\n if (index === \"\" + (header.length - 1) + (header[header.length - 1].length - 1)) {\n setLocationWidth(computed());\n }\n };\n var deepClumnsLocation = (params, fistIndex) => {\n var initialValue = 0,\n headerIndex = 0,\n deepParams = [];\n params.forEach((_, index) => {\n var i = \"\" + fistIndex + headerIndex;\n if (typeof params[index] === 'number') {\n initialValue = params[index] + initialValue;\n deepParams.push(params[index]);\n return;\n }\n if (finalLocationWidth.current[i]) {\n finalLocationWidth.current[i].left = initialValue;\n initialValue = finalLocationWidth.current[i].width + initialValue;\n if (Array.isArray(params[index].children)) {\n deepParams.push(...params[index].children);\n } else {\n deepParams.push(finalLocationWidth.current[i].width);\n }\n }\n headerIndex += 1;\n });\n initialValue = 0, headerIndex = header[fistIndex].length - 1;\n for (var _index = params.length - 1; _index >= 0; _index--) {\n var i = \"\" + fistIndex + headerIndex;\n if (typeof params[_index] === 'number') {\n initialValue = params[_index] + initialValue;\n continue;\n }\n if (finalLocationWidth.current[i]) {\n finalLocationWidth.current[i].right = initialValue;\n initialValue = finalLocationWidth.current[i].width + initialValue;\n }\n headerIndex -= 1;\n }\n if (deepParams.filter(it => typeof it !== 'number').length) deepClumnsLocation(deepParams, fistIndex + 1);\n };\n var computed = () => {\n deepClumnsLocation(columns, 0);\n return finalLocationWidth.current;\n };\n useEffect(() => {\n var childKey = (expandable == null ? void 0 : expandable.childrenColumnName) || 'children';\n var deep = params => {\n var arr1 = [];\n var arr = params.map((it, index) => {\n if (Array.isArray(it[childKey])) {\n arr1.push(...deep(it[childKey]));\n }\n return rowKey ? it[rowKey] : index;\n });\n return [...arr1, ...arr];\n };\n if (expandable) {\n if (expandable.defaultExpandAllRows) {\n setExpandIndex(deep(data));\n return;\n }\n if (expandable.defaultExpandedRowKeys) {\n setExpandIndex(expandable.defaultExpandedRowKeys);\n return;\n }\n }\n }, []);\n useEffect(() => {\n if (expandable) {\n if (expandable.expandedRowKeys && JSON.stringify(expandable.expandedRowKeys) !== JSON.stringify(expandIndex)) {\n setExpandIndex(expandable.expandedRowKeys);\n }\n }\n }, [expandable == null ? void 0 : expandable.expandedRowKeys]);\n var isExpandedDom = useMemo(() => {\n return (record, index) => {\n if (!expandable) {\n return false;\n }\n if (!expandable.expandedRowRender) {\n return false;\n }\n var flag = true;\n if (expandable.rowExpandable) {\n flag = expandable.rowExpandable(record);\n }\n return flag && /*#__PURE__*/_jsx(\"tr\", {\n style: expandIndex.includes(rowKey ? record[rowKey] : index) ? {} : {\n display: 'none'\n },\n children: /*#__PURE__*/_jsx(\"td\", {\n style: {\n paddingLeft: 16\n },\n colSpan: columns.length + 1,\n children: expandable.expandedRowRender(record, index, true)\n })\n });\n };\n }, [expandable, expandIndex]);\n var self = useMemo(() => {\n var keys = getAllColumnsKeys(columns);\n var selfColumns = [];\n if (expandable != null && expandable.expandedRowRender) {\n keys = [{\n key: 'uiw-expanded',\n align: 'center'\n }, ...keys];\n selfColumns = [{\n title: '',\n key: 'uiw-expanded',\n width: 50,\n align: 'center',\n render: (text, key, record, index) => {\n var _expandable$defaultEx;\n return /*#__PURE__*/_jsx(ExpandableComponent, {\n defaultExpand: expandable.defaultExpandAllRows === undefined ? !!((_expandable$defaultEx = expandable.defaultExpandedRowKeys) != null && _expandable$defaultEx.includes(rowKey ? record[rowKey] : index)) : !!expandable.defaultExpandAllRows,\n onClick: expand => {\n expandable.onExpand == null || expandable.onExpand(expand, record, index);\n if (expand) {\n var result = expandIndex.filter(it => rowKey ? it !== record[rowKey] : it !== index);\n expandable.onExpandedRowsChange ? expandable.onExpandedRowsChange(result) : setExpandIndex(result);\n } else {\n var _result = [...expandIndex, rowKey ? record[rowKey] : index];\n expandable.onExpandedRowsChange ? expandable.onExpandedRowsChange(_result) : setExpandIndex(_result);\n }\n },\n expandIcon: expand => {\n if (expandable.rowExpandable && !(expandable.rowExpandable != null && expandable.rowExpandable(record))) {\n return null;\n }\n if (expandable.expandIcon) {\n return expandable.expandIcon(expand, record, index);\n }\n return expand ? /*#__PURE__*/_jsx(Icon, {\n type: \"minus-square-o\"\n }) : /*#__PURE__*/_jsx(Icon, {\n type: \"plus-square-o\"\n });\n }\n });\n }\n }, ...columns];\n } else {\n selfColumns = [...columns];\n }\n return {\n keys,\n selfColumns\n };\n }, [columns, expandIndex]);\n var style = useMemo(() => {\n var style = {\n table: {},\n div: {}\n };\n if (scroll) {\n if (scroll.x !== undefined) {\n style.table.minWidth = '100%';\n style.table.width = scroll.x;\n style.div.overflowX = 'auto';\n style.div.overflowY = 'hidden';\n }\n if (scroll.y !== undefined) {\n style.div.maxHeight = scroll.y;\n style.div.overflowY = 'scroll';\n }\n }\n return style;\n }, [scroll]);\n var cls = [prefixCls, className, bordered ? prefixCls + \"-bordered\" : null].filter(Boolean).join(' ').trim();\n var {\n header,\n render,\n ellipsis\n } = getLevelItems(self.selfColumns);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"div\", _extends({\n className: cls\n }, other, {\n style: _extends({}, other.style, style.div),\n children: /*#__PURE__*/_jsxs(\"table\", {\n style: _extends({\n tableLayout: ellipsis ? 'fixed' : 'auto'\n }, style.table),\n children: [title && /*#__PURE__*/_jsx(\"caption\", {\n children: title\n }), columns && columns.length > 0 && /*#__PURE__*/_jsx(Thead, {\n onCellHead: onCellHead,\n data: header,\n locationWidth: locationWidth,\n updateLocation: updateLocation\n }), data && data.length > 0 && /*#__PURE__*/_jsx(\"tbody\", {\n children: /*#__PURE__*/_jsx(TableTr, {\n rowKey: rowKey,\n locationWidth: locationWidth,\n data: data,\n header: header,\n keys: self.keys,\n render: render,\n ellipsis: ellipsis,\n prefixCls: prefixCls,\n onCell: onCell,\n hierarchy: 0,\n isExpandedDom: isExpandedDom,\n indentSize: typeof (expandable == null ? void 0 : expandable.indentSize) === 'number' ? expandable == null ? void 0 : expandable.indentSize : 16,\n childrenColumnName: (expandable == null ? void 0 : expandable.childrenColumnName) || 'children'\n })\n }), data && data.length === 0 && empty && /*#__PURE__*/_jsx(\"tbody\", {\n children: /*#__PURE__*/_jsx(\"tr\", {\n children: /*#__PURE__*/_jsx(\"td\", {\n colSpan: self.keys.length,\n style: {\n position: 'relative',\n left: 0\n },\n children: empty\n })\n })\n }), props.children]\n })\n })), footer && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-footer\",\n children: footer\n })]\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"label\"];\nimport React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default (function (props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-tabs-pane',\n className\n } = props,\n resetProps = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: [prefixCls, className].filter(Boolean).join(' ').trim()\n }, resetProps));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"children\", \"type\", \"activeKey\", \"onTabClick\"];\nimport React, { useEffect, useState, useRef, useCallback } from 'react';\nimport Pane from './Pane';\nimport \"./style/index.css\";\nimport Popover from '@uiw/react-popover';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport * from './Pane';\nTabs.Pane = Pane;\nexport default function Tabs(props) {\n var _flowNav$nav;\n var {\n prefixCls = 'w-tabs',\n className,\n children,\n type = 'default',\n onTabClick\n } = props,\n elementProps = _objectWithoutPropertiesLoose(props, _excluded);\n var [activeKey, setActiveKey] = useState(props.activeKey);\n var [slideStyle, setSlideStyle] = useState({\n width: 0,\n left: 0\n });\n var activeItem = useRef();\n var cls = [prefixCls, className, type ? prefixCls + \"-\" + type : null].filter(Boolean).join(' ').trim();\n var [flowNav, flowNavSet] = useState({\n content: 0,\n nav: [],\n flowLeft: -1,\n displayStart: 0,\n displayEnd: 0\n });\n var [hiddenNav, hiddenNavSet] = useState([]);\n var deviation = 15;\n var [nodes, nodesSet] = useState();\n var divContentRef = useCallback(node => {\n if (node !== null) {\n nodesSet(nodes);\n node.addEventListener('scroll', e => {\n var {\n clientWidth,\n scrollLeft\n } = e.target;\n flowNav.displayStart = scrollLeft;\n flowNav.displayEnd = clientWidth + scrollLeft;\n flowNavSet(_extends({}, flowNav));\n });\n flowNav.displayEnd = node.getBoundingClientRect().width;\n flowNavSet(_extends({}, flowNav));\n }\n }, []);\n var divNavRef = useCallback((node, key, itemKey, activeKey) => {\n if (node !== null) {\n // node.addEventListener('click', (e: any) => {\n // activeItem.current = node;\n // });\n divNavWidthChange(node.getBoundingClientRect().width, key);\n if (itemKey === activeKey) {\n activeItem.current = node;\n }\n }\n }, []);\n var divNavWidthChange = (width, index) => {\n var curWidth = 0;\n flowNav.nav.slice(0, index + 1).forEach(nav => curWidth += nav.width);\n flowNav.nav[index] = {\n width,\n curWidth: Math.floor(curWidth),\n index\n };\n flowNavSet(flowNav);\n };\n useEffect(() => {\n showHideenNav();\n }, [flowNav.displayEnd > ((_flowNav$nav = flowNav.nav[flowNav.nav.length - 1]) == null ? void 0 : _flowNav$nav.curWidth)]);\n var showHideenNav = () => {\n var hiddenNav = [];\n if (flowNav.nav.length > 0) {\n flowNav.nav.forEach(item => {\n var curWidth = item.curWidth - deviation;\n if (flowNav.displayStart > 0 || flowNav.displayEnd > 0) {\n if (curWidth < flowNav.displayStart || curWidth > flowNav.displayEnd) {\n hiddenNav.push(item.index);\n }\n }\n });\n hiddenNavSet(hiddenNav);\n }\n };\n useEffect(() => setActiveKey((props == null ? void 0 : props.activeKey) || ''), [props.activeKey]);\n useEffect(() => calcSlideStyle(), [activeKey]);\n function calcSlideStyle() {\n if (activeItem.current && type === 'line') {\n setSlideStyle({\n width: activeItem.current.clientWidth,\n left: activeItem.current.offsetLeft\n });\n }\n }\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n className: cls\n }, elementProps, {\n children: [/*#__PURE__*/_jsxs(\"div\", {\n style: {\n display: 'flex'\n },\n children: [/*#__PURE__*/_jsx(\"div\", {\n style: {\n overflow: 'hidden'\n },\n children: /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-bar\",\n ref: divContentRef,\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-nav\",\n style: {\n width: 'max-content'\n },\n children: [renderNav(children), /*#__PURE__*/_jsx(\"div\", {\n style: slideStyle,\n className: prefixCls + \"-slide\"\n })]\n })\n })\n }), hiddenNav.length > 0 && /*#__PURE__*/_jsx(Popover, {\n trigger: \"click\",\n placement: \"bottomRight\",\n visibleArrow: false,\n content: /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-nav-hidden\",\n children: renderNav(hiddenNav.map(idx => children[idx]))\n }),\n children: /*#__PURE__*/_jsx(\"div\", {\n onClick: showHideenNav,\n className: prefixCls + \"-flow-content\",\n children: /*#__PURE__*/_jsx(\"span\", {\n children: \"\\u2026\"\n })\n })\n })]\n }), React.Children.map(children, item => {\n if (!item || activeKey !== item.key) {\n return null;\n }\n return /*#__PURE__*/React.cloneElement(item, Object.assign({}, item.props, {}));\n })]\n }));\n function renderNav(children) {\n return React.Children.map(children, (item, key) => {\n if (!item) {\n return null;\n }\n var divProps = {\n className: [prefixCls + \"-item\", item.key === activeKey ? 'active' : null, item.props.disabled ? 'disabled' : null].filter(Boolean).join(' ').trim(),\n children: item.props.label\n };\n if (!item.props.disabled) {\n divProps.onClick = e => {\n setActiveKey(item.key);\n onTabClick && onTabClick(item.key, item, e);\n calcSlideStyle();\n };\n }\n return /*#__PURE__*/_jsx(\"div\", _extends({\n ref: _ref => divNavRef(_ref, key, item.key, activeKey)\n }, divProps), key);\n });\n }\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"title\", \"children\", \"visible\", \"color\", \"disabled\", \"bordered\", \"closable\", \"light\", \"onClose\"];\nimport React from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default (function (props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-tag',\n className,\n style,\n title = '',\n children,\n visible = true,\n color = '#6E6E6E',\n disabled = false,\n bordered = true,\n closable,\n light = false,\n onClose\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className, light ? prefixCls + \"-light\" : null, disabled ? 'disabled' : null].filter(Boolean).join(' ').trim();\n var styl = _extends({}, style);\n if (!light) {\n styl.color = '#fff';\n styl.backgroundColor = color;\n } else {\n styl.color = color;\n styl.borderColor = color;\n if (bordered && light) {\n styl.boxShadow = \"inset 0 0 0 1px \" + color;\n }\n }\n if (!visible) {\n return null;\n }\n var iconClose = !disabled && closable && /*#__PURE__*/_jsx(\"svg\", {\n onClick: onClose,\n className: prefixCls + \"-close\",\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 16 16\",\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M9.41 8l2.29-2.29c.19-.18.3-.43.3-.71a1.003 1.003 0 0 0-1.71-.71L8 6.59l-2.29-2.3a1.003 1.003 0 0 0-1.42 1.42L6.59 8 4.3 10.29c-.19.18-.3.43-.3.71a1.003 1.003 0 0 0 1.71.71L8 9.41l2.29 2.29c.18.19.43.3.71.3a1.003 1.003 0 0 0 .71-1.71L9.41 8z\"\n })\n });\n return /*#__PURE__*/_jsxs(\"span\", _extends({\n className: cls,\n style: styl\n }, other, {\n children: [title || children, iconClose]\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\"];\nimport React from 'react';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-textarea',\n className\n } = props,\n restProps = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/_jsx(\"textarea\", _extends({\n className: [prefixCls, className].filter(Boolean).join(' ').trim()\n }, restProps, {\n ref: ref,\n children: props.children\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"count\", \"date\", \"type\", \"disabledHours\", \"disabledMinutes\", \"disabledSeconds\", \"hideDisabled\", \"onSelected\"];\nimport React, { useMemo, useRef } from 'react';\nimport \"./style/time-picker.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function TimePickerPanel(props) {\n var {\n prefixCls = 'w-timepicker',\n count = 24,\n date,\n type = 'Hours',\n hideDisabled,\n onSelected\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var disableds = useRef([]);\n function getMaybeNumber() {\n if (date && type) {\n return new Date(date)[\"get\" + type]();\n }\n return 0;\n }\n function handleClick(num, e) {\n if (!date) return;\n var currentDate = new Date(date);\n currentDate[\"set\" + type](num);\n onSelected && onSelected(type, num, disableds.current, currentDate);\n }\n function getDisabledItem(num) {\n var disabled = props[\"disabled\" + type];\n if (disabled) {\n return disabled(num, type, new Date(date));\n }\n return false;\n }\n function getItemInstance(tag) {\n if (tag && tag.parentNode && tag.dataset['index']) {\n var offsetTop = Number(tag.dataset['index']) * tag.clientHeight;\n if (tag.parentNode.parentNode) {\n tag.parentNode.parentNode.scrollTop = offsetTop;\n }\n }\n }\n var data = useMemo(() => {\n return [...Array(count)].map((_, idx) => {\n var disabled = getDisabledItem(idx);\n if (disabled) disableds.current.push(idx);\n return {\n count: idx,\n disabled: getDisabledItem(idx)\n };\n }).filter(item => hideDisabled && item.disabled ? false : true);\n }, [hideDisabled]);\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: prefixCls + \"-spinner\"\n }, other, {\n children: /*#__PURE__*/_jsx(\"ul\", {\n children: data.map((item, idx) => {\n var liProps = {};\n if (!item.disabled) {\n liProps.onClick = e => handleClick(item.count, e);\n }\n var currentCount = getMaybeNumber();\n return /*#__PURE__*/_jsx(\"li\", _extends({\n \"data-index\": currentCount === item.count ? idx : undefined,\n ref: tag => tag && getItemInstance(tag)\n }, liProps, {\n className: [item.disabled ? 'disabled' : null, currentCount === item.count ? 'selected' : null, hideDisabled && item.disabled ? 'hide' : null].filter(Boolean).join(' ').trim(),\n children: item.count < 10 ? \"0\" + item.count : item.count\n }), idx);\n })\n })\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"precision\"];\nimport React from 'react';\nimport TimePanel from './Panel';\nimport \"./style/time-picker.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport function TimePickerTime(props) {\n var {\n prefixCls = 'w-timepicker',\n className,\n precision = 'second'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/_jsxs(\"div\", {\n className: [prefixCls, className].filter(Boolean).join(' ').trim(),\n children: [/^(second|minute|hour)$/.test(precision) && /*#__PURE__*/_jsx(TimePanel, _extends({\n type: \"Hours\",\n count: 24\n }, other)), /^(second|minute)$/.test(precision) && /*#__PURE__*/_jsx(TimePanel, _extends({\n type: \"Minutes\",\n count: 60\n }, other)), /^(second)$/.test(precision) && /*#__PURE__*/_jsx(TimePanel, _extends({\n type: \"Seconds\",\n count: 60\n }, other))]\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"disabled\", \"value\", \"format\", \"popoverProps\", \"allowClear\", \"onChange\", \"disabledHours\", \"disabledMinutes\", \"disabledSeconds\", \"hideDisabled\", \"precision\"];\nimport React, { useEffect, useState } from 'react';\nimport Popover from '@uiw/react-popover';\nimport Input from '@uiw/react-input';\nimport Button from '@uiw/react-button';\nimport formatter from '@uiw/formatter';\nimport { TimePickerTime } from './Time';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport * from './Panel';\nexport * from './Time';\nexport default function TimePicker(props) {\n var {\n prefixCls = 'w-timepicker',\n className,\n disabled,\n format = 'HH:mm:ss',\n popoverProps,\n allowClear = true,\n onChange,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n hideDisabled,\n precision\n } = props,\n inputProps = _objectWithoutPropertiesLoose(props, _excluded);\n var [date, setDate] = useState(props.value);\n useEffect(() => setDate(props.value), [props.value]);\n var timeProps = {\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n hideDisabled,\n precision\n };\n var inputValue = date ? formatter(format, new Date(date)) : '';\n var datePickerTime = date || new Date();\n var _props = _extends({}, inputProps, {\n value: inputValue\n });\n if (allowClear && inputValue !== '' && !!inputValue) {\n _props.addonAfter = /*#__PURE__*/_jsx(Button, {\n className: prefixCls + \"-close-btn\",\n icon: \"close\",\n disabled: props.disabled,\n onClick: () => {\n setDate(undefined);\n onChange && onChange();\n },\n size: props.size,\n basic: true,\n type: \"light\"\n });\n }\n return /*#__PURE__*/_jsx(Popover, _extends({\n trigger: \"focus\",\n placement: \"bottomLeft\",\n autoAdjustOverflow: true,\n visibleArrow: false\n }, popoverProps, {\n content: /*#__PURE__*/_jsx(TimePickerTime, _extends({\n className: prefixCls + \"-popover\"\n }, timeProps, {\n date: datePickerTime,\n onSelected: (type, num, disableds, currentDate) => {\n setDate(new Date(currentDate));\n var dataStr = currentDate ? formatter(format, currentDate) : '';\n onChange && onChange(dataStr, currentDate, type, num, disableds);\n }\n })),\n children: /*#__PURE__*/_jsx(Input, _extends({\n placeholder: \"\\u8BF7\\u9009\\u62E9\\u65F6\\u95F4\",\n readOnly: true,\n disabled: disabled\n }, _props, {\n className: [prefixCls + \"-input\", className].filter(Boolean).join(' ').trim()\n }))\n }));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"placement\", \"isOpen\", \"trigger\", \"delay\", \"usePortal\", \"visibleArrow\", \"onVisibleChange\"];\nimport React from 'react';\nimport OverlayTrigger from '@uiw/react-overlay-trigger';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default (function (props) {\n if (props === void 0) {\n props = {};\n }\n var {\n prefixCls = 'w-tooltip',\n className,\n placement = 'top',\n isOpen = false,\n trigger,\n delay,\n usePortal = true,\n visibleArrow = true,\n onVisibleChange\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var cls = [prefixCls, className, !visibleArrow ? 'no-arrow' : null].filter(Boolean).join(' ').trim();\n return /*#__PURE__*/_jsx(OverlayTrigger, _extends({\n usePortal: usePortal,\n isOpen: isOpen,\n trigger: trigger,\n delay: delay,\n onVisibleChange: onVisibleChange,\n placement: placement\n }, other, {\n overlay: /*#__PURE__*/_jsxs(\"div\", {\n className: cls,\n children: [visibleArrow && /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-arrow\"\n }), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-inner\",\n children: props.content\n })]\n }),\n children: typeof props.children === 'object' ? props.children : /*#__PURE__*/_jsx(\"span\", {\n children: props.children\n })\n }));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { useEffect, useRef, useState } from 'react';\nimport Card from '@uiw/react-card';\nimport Icon from '@uiw/react-icon';\nimport Input from '@uiw/react-input';\nimport TreeChecked from '@uiw/react-tree-checked';\nimport \"./style/index.css\";\nimport Checkbox from '@uiw/react-checkbox';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar CheckedStatus = /*#__PURE__*/function (CheckedStatus) {\n CheckedStatus[CheckedStatus[\"UnChecked\"] = 0] = \"UnChecked\";\n CheckedStatus[CheckedStatus[\"AllChecked\"] = 1] = \"AllChecked\";\n CheckedStatus[CheckedStatus[\"Indeterminate\"] = 2] = \"Indeterminate\";\n return CheckedStatus;\n}(CheckedStatus || {});\nfunction Transfer(props) {\n var {\n placeholder,\n options,\n value = [],\n showSearch = false,\n selectedAll = false,\n bodyStyle,\n style,\n className,\n prefixCls = 'w-transfer'\n } = props;\n var cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n var [searchValueLeft, searchValueLeftSet] = useState('');\n var [searchValueRight, searchValueRightSet] = useState('');\n var [selectedOptions, selectedOptionSet] = useState(options || []);\n var selectedOptionsShowCount = useRef(0);\n var [selectOption, selectOptionSet] = useState(new Map());\n var [leftSelectOption, leftSelectOptionSet] = useState(new Map());\n var [leftSelectedKeys, leftSelectedKeySet] = useState([]);\n var [rightSelectedKeys, rightSelectedKeySet] = useState([]);\n var [rightOpions, rightOpionSet] = useState([]);\n var [selectAllChecked, selectAllCheckedSet] = useState({\n left: CheckedStatus.UnChecked,\n right: CheckedStatus.UnChecked\n });\n useEffect(() => {\n if (value) {\n rightOpionSet(value || []);\n value == null || value.forEach(selectd => selectOption.set(selectd.key, selectd.label));\n hiddenNode(child => !!(value != null && value.find(selectd => child.key === selectd.key)));\n }\n }, [JSON.stringify(value)]);\n var hiddenNode = callBackfn => {\n selectedOptionsShowCount.current = 0;\n var hiddenNodeForSeach = childrens => {\n childrens.forEach(child => {\n var _child$children;\n var isHide = callBackfn(child); // && parentIsHide;\n if (!!((_child$children = child.children) != null && _child$children.length)) {\n hiddenNodeForSeach(child.children);\n var find = child.children.find(item => !item.hideNode);\n child.hideNode = isHide && !find;\n } else {\n child.hideNode = isHide;\n }\n if (!child.hideNode) {\n selectedOptionsShowCount.current++;\n }\n });\n };\n hiddenNodeForSeach(selectedOptions);\n selectedOptionSet([...selectedOptions]);\n };\n var getOptionsRecursion = (childrens, selectOption, isAdd) => {\n var addOrDel = (key, label, isAdd) => {\n if (isAdd) {\n selectOption.set(key, label);\n } else {\n selectOption.delete(key);\n }\n };\n var iteratorParent = child => {\n if (child.parent) {\n var selectCount = child.parent.children.filter(child => !selectOption.get(child.key) && !child.hideNode).length;\n addOrDel(child.parent.key, child.parent.label, selectCount === 0);\n iteratorParent(child.parent);\n }\n };\n childrens.forEach(child => {\n var _child$children2, _child$label;\n if (!!((_child$children2 = child.children) != null && _child$children2.length)) {\n selectOption = getOptionsRecursion(child.children, selectOption, isAdd);\n }\n addOrDel(child.key, (_child$label = child.label) == null ? void 0 : _child$label.toString(), isAdd);\n iteratorParent(child);\n });\n return selectOption;\n };\n var leftTreeOnSelected = (selectedKeys, _1, isChecked, evn) => {\n leftSelectedKeySet(selectedKeys);\n var selectOptionTemp = getOptionsRecursion([evn], leftSelectOption, isChecked);\n leftSelectOptionSet(selectOptionTemp);\n };\n var rightTreeOnSelected = selectedKeys => {\n rightSelectedKeySet(selectedKeys);\n };\n var transferClick = transferType => {\n if (transferType === 'left') {\n leftSelectOption.forEach((value, key) => {\n selectOption.set(key, value);\n });\n leftSelectOptionSet(new Map());\n leftSelectedKeySet([]);\n } else {\n rightSelectedKeys.forEach(key => {\n selectOption.delete(key);\n });\n rightSelectedKeySet([]);\n }\n selectOptionSet(selectOption);\n var option = [];\n selectOption.forEach((label, key) => option.push({\n key,\n label\n }));\n props.onChange == null || props.onChange(transferType, option);\n };\n var searchValueLeftChange = searchValue => {\n hiddenNode(child => {\n var searchIsMatch = !child.label.includes(searchValue.trim());\n if (!searchIsMatch) {\n var isSekected = rightOpions.find(selected => selected.key === child.key);\n searchIsMatch = !!isSekected;\n }\n return searchIsMatch;\n });\n searchValueLeftSet(searchValue);\n props.onSearch == null || props.onSearch('left', searchValue);\n };\n var searchValueRightChange = searchValue => {\n searchValueRightSet(searchValue);\n rightOpions.forEach(option => {\n var isHide = !option.label.includes(searchValue.trim());\n option.hideNode = isHide;\n });\n rightOpionSet(rightOpions);\n props.onSearch == null || props.onSearch('right', searchValue);\n };\n var selectAllLeftChange = e => {\n var isChecked = e.target.checked;\n selectAllChecked.left = isChecked ? 1 : 0;\n if (isChecked) {\n var keys = [];\n var selectedOptionsRecursion = selectedOptions => {\n selectedOptions.forEach(child => {\n var _child$children3;\n if ((_child$children3 = child.children) != null && _child$children3.length) {\n selectedOptionsRecursion(child.children);\n }\n if (!child.hideNode) {\n leftSelectOption.set(child.key, child.label);\n keys.push(child.key);\n }\n });\n };\n selectedOptionsRecursion(selectedOptions);\n leftSelectOptionSet(leftSelectOption);\n leftSelectedKeySet(keys);\n } else {\n leftSelectedKeySet([]);\n leftSelectOptionSet(new Map());\n }\n selectAllCheckedSet(selectAllChecked);\n };\n var selectAllRightChange = e => {\n var isChecked = e.target.checked;\n selectAllChecked.right = isChecked ? 1 : 0;\n if (isChecked) {\n var keys = rightOpions.map(child => child.key);\n rightSelectedKeySet(keys);\n } else {\n rightSelectedKeySet([]);\n }\n selectAllCheckedSet(selectAllChecked);\n };\n var Arrow = props => /*#__PURE__*/_jsx(Icon, {\n onClick: () => props.click(),\n type: \"down-square-o\",\n className: prefixCls + \"-arrow\",\n style: _extends({\n fontSize: 20,\n stroke: '#e9e9e9',\n fill: '#333'\n }, props.style)\n });\n return /*#__PURE__*/_jsxs(\"div\", {\n className: cls,\n style: _extends({\n width: 400\n }, style),\n children: [/*#__PURE__*/_jsxs(Card, {\n bodyStyle: {\n padding: '5px 9px'\n },\n title: /*#__PURE__*/_jsxs(\"div\", {\n children: [selectedAll && /*#__PURE__*/_jsx(Checkbox, {\n indeterminate: leftSelectedKeys.length < selectedOptionsShowCount.current && !!leftSelectedKeys.length,\n checked: leftSelectedKeys.length >= selectedOptionsShowCount.current && !!leftSelectedKeys.length,\n onChange: selectAllLeftChange\n }), /*#__PURE__*/_jsxs(\"label\", {\n style: {\n marginLeft: 3\n },\n children: [leftSelectedKeys.length, \"/\", selectedOptionsShowCount.current]\n })]\n }),\n className: prefixCls + \"-card\",\n children: [showSearch && /*#__PURE__*/_jsx(Input, {\n placeholder: placeholder,\n value: searchValueLeft,\n onChange: e => searchValueLeftChange(e.target.value)\n }), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-cheked-content\",\n children: /*#__PURE__*/_jsx(TreeChecked, {\n defaultExpandAll: true,\n placeholder: placeholder || '搜索选项',\n data: selectedOptions,\n selectedKeys: leftSelectedKeys,\n onSelected: leftTreeOnSelected\n })\n })]\n }), /*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-arrow-content\",\n children: [/*#__PURE__*/_jsx(Arrow, {\n click: () => transferClick('left'),\n style: {\n transform: 'rotate(-90deg)',\n background: leftSelectedKeys.length > 0 ? '#393E48' : 'none'\n }\n }), /*#__PURE__*/_jsx(Arrow, {\n click: () => transferClick('right'),\n style: {\n transform: 'rotate(90deg)',\n background: rightSelectedKeys.length > 0 ? '#393E48' : 'none'\n }\n })]\n }), /*#__PURE__*/_jsxs(Card, {\n bodyStyle: {\n padding: '5px 9px'\n },\n className: prefixCls + \"-card\",\n title: /*#__PURE__*/_jsxs(\"div\", {\n children: [selectedAll && /*#__PURE__*/_jsx(Checkbox, {\n indeterminate: rightSelectedKeys.length < rightOpions.length && !!rightSelectedKeys.length,\n checked: rightSelectedKeys.length === rightOpions.length && !!rightSelectedKeys.length,\n onChange: selectAllRightChange\n }), /*#__PURE__*/_jsxs(\"label\", {\n style: {\n marginLeft: 3\n },\n children: [rightSelectedKeys.length, \"/\", rightOpions.length]\n })]\n }),\n children: [showSearch && /*#__PURE__*/_jsx(Input, {\n placeholder: placeholder,\n value: searchValueRight,\n onChange: e => searchValueRightChange(e.target.value)\n }), /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-cheked-content\",\n style: bodyStyle,\n children: /*#__PURE__*/_jsx(TreeChecked, {\n data: rightOpions,\n selectedKeys: rightSelectedKeys,\n onSelected: rightTreeOnSelected\n })\n })]\n })]\n });\n}\nexport default Transfer;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\"];\nimport React, { Fragment } from 'react';\nimport Tree from '@uiw/react-tree';\nimport Checkbox from '@uiw/react-checkbox';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function TreeChecked(_ref) {\n var {\n prefixCls = 'w-treechecked'\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n props.className = [prefixCls, props.className].filter(Boolean).join(' ').trim();\n props.checkStrictly = true;\n props.isSelected = false;\n props.multiple = true;\n return /*#__PURE__*/_jsx(Tree, _extends({\n renderTitle: (item, node) => {\n var checkedProps = {};\n if (node.isHalfChecked) {\n checkedProps.indeterminate = true;\n }\n if (node.selected) {\n checkedProps.checked = true;\n } else {\n checkedProps.checked = false;\n }\n return /*#__PURE__*/_jsxs(Fragment, {\n children: [/*#__PURE__*/_jsx(Checkbox, _extends({\n className: prefixCls + \"-checked\",\n disabled: node.disabled\n }, checkedProps)), item.label && /*#__PURE__*/_jsx(\"span\", {\n className: node.disabledClass,\n children: item.label\n })]\n });\n }\n }, props));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"renderTitle\", \"icon\", \"iconAnimation\", \"isSelected\", \"openKeys\", \"selectedKeys\", \"data\", \"level\", \"parent\", \"onItemClick\", \"onItemSelected\"];\nimport React, { useCallback, useMemo } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport Icon from '@uiw/react-icon';\nimport { noop } from '@uiw/utils';\nimport { getChildKeys } from './';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar Label = _ref => {\n var {\n label,\n className\n } = _ref;\n return useMemo(() => /*#__PURE__*/_jsx(\"span\", {\n className: className,\n children: label\n }), [label]);\n};\nexport default function TreeNode(props) {\n var {\n prefixCls,\n renderTitle,\n icon,\n iconAnimation,\n isSelected,\n openKeys,\n selectedKeys,\n data,\n level,\n parent,\n onItemClick = noop,\n onItemSelected = noop\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var isOpen = false;\n var node = React.useRef(null);\n if (parent && (parent.key || parent.key === 0)) {\n isOpen = !!(openKeys && openKeys.indexOf(parent.key) > -1);\n }\n var onExit = useCallback(() => {\n node.current.style.height = node.current.scrollHeight + \"px\";\n }, []);\n var onExiting = useCallback(() => {\n node.current.style.height = '1px';\n }, []);\n var onEnter = useCallback(() => {\n node.current.style.height = '1px';\n }, []);\n var onEntering = useCallback(() => {\n node.current.style.height = node.current.scrollHeight + \"px\";\n }, []);\n var onEntered = useCallback(() => {\n node.current.style.height = 'initial';\n }, []);\n return /*#__PURE__*/_jsx(CSSTransition, {\n nodeRef: node,\n classNames: prefixCls,\n in: isOpen,\n timeout: 200,\n onExit: onExit,\n onExiting: onExiting,\n onEnter: onEnter,\n onEntered: onEntered,\n onEntering: onEntering,\n children: /*#__PURE__*/_jsx(\"ul\", {\n ref: node,\n className: [level !== 1 && isOpen ? [prefixCls + \"-open\"] : null, level !== 1 && !isOpen ? [prefixCls + \"-close\"] : null].filter(Boolean).join(' ').trim(),\n children: data.map((item, idx) => {\n item.parent = parent;\n var selected = !!(selectedKeys && selectedKeys.indexOf(item.key) > -1);\n var noChild = !item.children;\n var itemIsOpen = openKeys && openKeys.indexOf(item.key) > -1 && !!item.children;\n var iconItem = typeof icon === 'function' ? icon(item, {\n isOpen: !!itemIsOpen,\n noChild,\n openKeys,\n selectedKeys\n }) : icon;\n var childKeys = noChild ? [] : getChildKeys(item.children);\n var checkedKeys = selectedKeys ? selectedKeys.filter(key => childKeys.indexOf(key) > -1) : [];\n var isHalfChecked = checkedKeys.length > 0 && childKeys.length !== checkedKeys.length;\n var disabledObj = {\n onClick: onItemSelected,\n disabled: null,\n disabledMouse: null,\n disabledClass: undefined,\n disabledStyle: undefined\n };\n if (item.disabled) {\n disabledObj.onClick = undefined;\n disabledObj.disabled = 'disabled';\n disabledObj.disabledMouse = prefixCls + \"-disabled-mouse\";\n disabledObj.disabledClass = prefixCls + \"-disabled-ele\";\n disabledObj.disabledStyle = {\n color: '#00000040'\n };\n }\n return /*#__PURE__*/_jsxs(\"li\", {\n style: {\n display: item.hideNode ? 'none' : 'block'\n },\n children: [/*#__PURE__*/_jsxs(\"div\", {\n className: prefixCls + \"-label\",\n children: [/*#__PURE__*/_jsx(\"span\", {\n style: {\n display: noChild ? 'none' : 'auto'\n },\n className: prefixCls + \"-switcher\",\n onClick: evn => onItemClick(item, evn),\n children: /*#__PURE__*/_jsx(Icon, {\n type: iconItem || 'caret-right',\n className: [typeof icon === 'function' ? prefixCls + \"-switcher-noop\" : null, noChild ? 'no-child' : null, !iconAnimation ? 'no-animation' : null, itemIsOpen ? 'open' : null].filter(Boolean).join(' ').trim()\n })\n }), /*#__PURE__*/_jsx(\"div\", {\n onClick: evn => disabledObj.onClick == null ? void 0 : disabledObj.onClick(item, evn),\n className: [prefixCls + \"-title\", selected && isSelected ? 'selected' : null, disabledObj.disabled, disabledObj.disabledMouse].filter(Boolean).join(' ').trim(),\n children: renderTitle ? renderTitle(item, {\n selected,\n noChild,\n openKeys,\n isHalfChecked,\n selectedKeys,\n disabled: item.disabled,\n disabledClass: disabledObj.disabledClass,\n disabledStyle: disabledObj.disabledStyle\n }) : /*#__PURE__*/_jsx(Label, {\n label: item.label,\n className: disabledObj.disabledClass\n })\n })]\n }), item.children && /*#__PURE__*/_jsx(TreeNode, _extends({}, other, {\n prefixCls,\n icon,\n iconAnimation,\n isSelected,\n openKeys,\n selectedKeys,\n onItemClick,\n onItemSelected,\n renderTitle,\n prefixCls: prefixCls,\n data: item.children,\n level: level + 1,\n parent: item\n }))]\n }, idx);\n })\n })\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"icon\", \"data\", \"openKeys\", \"selectedKeys\", \"defaultExpandAll\", \"showLine\", \"iconAnimation\", \"isSelected\", \"checkStrictly\", \"multiple\", \"onExpand\", \"onSelected\", \"className\", \"autoExpandParent\", \"renderTitle\", \"onChange\", \"value\"];\nimport React, { useEffect, useState } from 'react';\nimport { noop } from '@uiw/utils';\nimport TreeNode from './TreeNode';\nimport \"./style/index.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * a contains b\n * @param {Array} a\n * @param {Array} b\n */\nvar isContained = (a, b) => {\n if (!(a instanceof Array) || !(b instanceof Array)) return false;\n if (a.length < b.length) return false;\n var aStr = a.toString();\n for (var i = 0, len = b.length; i < len; i += 1) {\n if (aStr.indexOf(b[i]) === -1) return false;\n }\n return true;\n};\nexport var getChildKeys = function getChildKeys(childs, result, depth) {\n if (childs === void 0) {\n childs = [];\n }\n if (result === void 0) {\n result = [];\n }\n childs.forEach(item => {\n if (!item.hideNode) {\n result.push(item.key);\n }\n if (typeof depth === 'number' && !(depth - 1)) return;\n if (item.children && item.children.length > 0) {\n result = result.concat(getChildKeys(item.children, undefined, depth ? depth - 1 : undefined));\n }\n });\n return result;\n};\nvar getParentKeys = function getParentKeys(childs, result) {\n if (childs === void 0) {\n childs = {};\n }\n if (result === void 0) {\n result = [];\n }\n if (childs.key) {\n result.push(childs.key);\n }\n if (childs.parent) {\n result = getParentKeys(childs.parent, result);\n }\n return result;\n};\nvar getParentSelectKeys = function getParentSelectKeys(childs, selectedKeys, result) {\n if (childs === void 0) {\n childs = {};\n }\n if (selectedKeys === void 0) {\n selectedKeys = [];\n }\n if (result === void 0) {\n result = [];\n }\n if (childs.key && childs.children && isContained(selectedKeys, getChildKeys(childs.children, undefined, 1))) {\n result.push(childs.key);\n if (childs.parent && !childs.parent.parent) {\n if (isContained(selectedKeys, getChildKeys(childs.children))) {\n selectedKeys = selectedKeys.concat(result);\n }\n if (isContained(selectedKeys, getChildKeys(childs.parent.children))) {\n result.push(childs.parent.key);\n }\n }\n }\n if (childs.parent) {\n result = getParentSelectKeys(childs.parent, selectedKeys, result);\n }\n return result;\n};\nexport default function Tree(props) {\n var {\n prefixCls = 'w-tree',\n icon = 'caret-right',\n data = [],\n openKeys = [],\n selectedKeys = [],\n defaultExpandAll = false,\n showLine = false,\n iconAnimation = true,\n isSelected = true,\n checkStrictly = false,\n multiple = false,\n onExpand = noop,\n onSelected = noop,\n className,\n autoExpandParent = true,\n renderTitle,\n onChange,\n value\n } = props,\n elementProps = _objectWithoutPropertiesLoose(props, _excluded);\n var [curOpenKeys, setCurOpenKeys] = useState(openKeys);\n var [curSelectedKeys, setCurSelectedKeys] = useState(value || selectedKeys);\n useEffect(() => {\n setCurSelectedKeys(props.value || props.selectedKeys || []);\n }, [JSON.stringify(props.selectedKeys), JSON.stringify(props.value)]);\n useEffect(() => {\n setCurOpenKeys(openKeys);\n }, [JSON.stringify(openKeys)]);\n useEffect(() => {\n var arrOpenKeys = [...curOpenKeys];\n if (defaultExpandAll) {\n arrOpenKeys = getChildKeys(data);\n } else if (autoExpandParent) {\n arrOpenKeys.push(...getChildKeys(data || [], undefined, 1));\n }\n setCurOpenKeys(arrOpenKeys);\n }, []);\n var cls = [className, prefixCls, showLine ? prefixCls + \"-line\" : null].filter(Boolean).join(' ').trim();\n function onItemClick(item, evn) {\n if (!item.children) {\n return;\n }\n // const { onExpand } = this.props;\n // const { openKeys } = this.state;\n var currentKeys = [...curOpenKeys];\n var key = currentKeys.find(v => v === item.key);\n var cls = evn.currentTarget.className.replace(/(\\s)open/g, '');\n var expanded = false;\n if (!key && item.key) {\n currentKeys.push(item.key);\n evn.currentTarget.className = [cls, 'open'].filter(Boolean).join(' ').trim();\n expanded = true;\n } else {\n currentKeys = currentKeys.filter(v => v !== item.key);\n evn.currentTarget.className = cls;\n }\n setCurOpenKeys(currentKeys);\n onExpand && onExpand(item.key, expanded, item, evn);\n }\n function onItemSelected(item, evn) {\n // const { onSelected, multiple, checkStrictly } = this.props;\n var selKeys = [...curSelectedKeys];\n var findKey = selKeys.find(v => v === item.key);\n var selected = false;\n if (!findKey && findKey !== 0) {\n selected = true;\n selKeys.push(item.key);\n } else {\n selKeys = selKeys.filter(v => v !== item.key);\n }\n if (checkStrictly) {\n if (!findKey) {\n selKeys = selKeys.concat(getChildKeys(item.children).filter(val => selKeys.indexOf(val) === -1));\n selKeys = selKeys.concat(getParentSelectKeys(item, selKeys));\n selKeys = Array.from(new Set(selKeys)); // Remove duplicates.\n } else {\n selKeys = selKeys.filter(val => getChildKeys(item.children).indexOf(val) === -1);\n selKeys = selKeys.filter(val => getParentKeys(item.parent).indexOf(val) === -1);\n }\n }\n if (!multiple) {\n selKeys = !findKey ? [item.key] : [];\n }\n setCurSelectedKeys(selKeys);\n onSelected && onSelected(selKeys, item.key, selected, item, evn);\n onChange == null || onChange(item.key, selKeys);\n }\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: cls\n }, elementProps, {\n children: /*#__PURE__*/_jsx(TreeNode, {\n icon,\n iconAnimation,\n isSelected,\n openKeys: curOpenKeys,\n selectedKeys: curSelectedKeys,\n prefixCls,\n renderTitle,\n onItemClick: onItemClick,\n onItemSelected: onItemSelected,\n data: data,\n level: 1\n })\n }));\n}","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} top `true` or `false`\n * @returns {number} amount of scrolled pixels\n */\nexport function getScroll(target, top) {\n if (typeof window === 'undefined') {\n return 0;\n }\n var prop = top ? 'pageYOffset' : 'pageXOffset';\n var method = top ? 'scrollTop' : 'scrollLeft';\n var isWindow = target === window;\n var ret = isWindow ? target[prop] : target[method];\n if (isWindow && typeof ret !== 'number') {\n ret = document.documentElement[method];\n }\n return ret;\n}","export function noop() {}","import React from 'react';\nimport './style/index.less';\n\nexport interface SplitProps extends Omit, 'onDragEnd'> {\n style?: React.CSSProperties;\n className?: string;\n prefixCls?: string;\n /**\n * Drag width/height change callback function,\n * the width or height is determined according to the mode parameter\n */\n onDragging?: (preSize: number, nextSize: number, paneNumber: number) => void;\n /** Callback function for dragging end */\n onDragEnd?: (preSize: number, nextSize: number, paneNumber: number) => void;\n /** Support custom drag and drop toolbar */\n renderBar?: (props: React.HTMLAttributes) => JSX.Element;\n /** Set the drag and drop toolbar as a line style. */\n lineBar?: boolean;\n /** Set the dragged toolbar, whether it is visible or not */\n visiable?: boolean | number[];\n /**\n * Set the drag and drop toolbar, disable\n */\n disable?: boolean | number[];\n /**\n * type, optional `horizontal` or `vertical`\n */\n mode?: 'horizontal' | 'vertical';\n}\nexport interface SplitState {\n dragging: boolean;\n}\n\nexport default class Split extends React.Component {\n public static defaultProps: SplitProps = {\n prefixCls: 'w-split',\n visiable: true,\n mode: 'horizontal',\n }\n public state: SplitState = {\n dragging: false,\n }\n public warpper!: HTMLDivElement | null;\n public paneNumber!: number;\n public startX!: number;\n public startY!: number;\n public move!: boolean;\n public target!: HTMLDivElement;\n\n public boxWidth!: number;\n public boxHeight!: number;\n public preWidth!: number;\n public nextWidth!: number;\n public preHeight!: number;\n public nextHeight!: number;\n\n public preSize!: number;\n public nextSize!: number;\n constructor(props: SplitProps) {\n super(props);\n this.onDragEnd = this.onDragEnd.bind(this);\n this.onDragging = this.onDragging.bind(this);\n }\n public componentWillUnmount() {\n this.removeEvent();\n }\n private removeEvent() {\n window.removeEventListener('mousemove', this.onDragging, false);\n window.removeEventListener('mouseup', this.onDragEnd, false);\n }\n onMouseDown(paneNumber: number, env: React.MouseEvent) {\n if (!env.target || !this.warpper) {\n return;\n }\n this.paneNumber = paneNumber;\n this.startX = env.clientX;\n this.startY = env.clientY;\n this.move = true;\n this.target = (env.target as HTMLDivElement).parentNode as HTMLDivElement;\n const prevTarget = this.target.previousElementSibling;\n const nextTarget = this.target.nextElementSibling;\n this.boxWidth = this.warpper.clientWidth;\n this.boxHeight = this.warpper.clientHeight;\n if (prevTarget) {\n this.preWidth = prevTarget.clientWidth;\n this.preHeight = prevTarget.clientHeight;\n }\n if (nextTarget) {\n this.nextWidth = nextTarget.clientWidth;\n this.nextHeight = nextTarget.clientHeight;\n }\n window.addEventListener('mousemove', this.onDragging);\n window.addEventListener('mouseup', this.onDragEnd, false);\n this.setState({ dragging: true });\n }\n onDragging(env: Event) {\n if (!this.move) {\n return;\n }\n if (!this.state.dragging) {\n this.setState({ dragging: true });\n }\n const { mode, onDragging } = this.props;\n const nextTarget = this.target.nextElementSibling as HTMLDivElement;\n const prevTarget = this.target.previousElementSibling as HTMLDivElement;\n const x = (env as MouseEvent).clientX - this.startX;\n const y = (env as MouseEvent).clientY - this.startY;\n this.preSize = 0;\n this.nextSize = 0;\n if (mode === 'horizontal') {\n this.preSize = this.preWidth + x > -1 ? this.preWidth + x : 0;\n this.nextSize = this.nextWidth - x > -1 ? this.nextWidth - x : 0;\n if (this.preSize === 0 || this.nextSize === 0) {\n return;\n }\n this.preSize = (this.preSize / this.boxWidth >= 1 ? 1 : this.preSize / this.boxWidth) * 100;\n this.nextSize = (this.nextSize / this.boxWidth >= 1 ? 1 : this.nextSize / this.boxWidth) * 100;\n if (prevTarget && nextTarget) {\n prevTarget.style.width = `${this.preSize}%`;\n nextTarget.style.width = `${this.nextSize}%`;\n }\n }\n if (mode === 'vertical' && this.preHeight + y > -1 && this.nextHeight - y > -1) {\n this.preSize = this.preHeight + y > -1 ? this.preHeight + y : 0;\n this.nextSize = this.nextHeight - y > -1 ? this.nextHeight - y : 0;\n this.preSize = (this.preSize / this.boxHeight >= 1 ? 1 : this.preSize / this.boxHeight) * 100;\n this.nextSize = (this.nextSize / this.boxHeight >= 1 ? 1 : this.nextSize / this.boxHeight) * 100;\n if (this.preSize === 0 || this.nextSize === 0) {\n return;\n }\n if (prevTarget && nextTarget) {\n prevTarget.style.height = `${this.preSize}%`;\n nextTarget.style.height = `${this.nextSize}%`;\n }\n }\n onDragging && onDragging(this.preSize, this.nextSize, this.paneNumber);\n }\n onDragEnd() {\n const { onDragEnd } = this.props;\n this.move = false;\n onDragEnd && onDragEnd(this.preSize, this.nextSize, this.paneNumber);\n this.removeEvent();\n this.setState({ dragging: false });\n }\n render() {\n const { prefixCls, className, children, mode, visiable, renderBar, lineBar, disable, onDragEnd, onDragging, ...other } = this.props;\n const { dragging } = this.state;\n const cls = [prefixCls, className, `${prefixCls}-${mode}`, dragging ? 'dragging' : null].filter(Boolean)\n .join(' ')\n .trim();\n const child = React.Children.toArray(children);\n return (\n
this.warpper = node}>\n {React.Children.map(child, (element: any, idx: number) => {\n const props = Object.assign({}, element.props, {\n className: [`${prefixCls}-pane`, element.props.className].filter(Boolean)\n .join(' ')\n .trim(),\n style: { ...element.props.style },\n });\n const visiableBar = (visiable === true || (visiable && visiable.includes((idx + 1) as never))) || false;\n const barProps = {\n className: [`${prefixCls}-bar`, \n lineBar ? `${prefixCls}-line-bar` : null,\n !lineBar ? `${prefixCls}-large-bar` : null].filter(Boolean)\n .join(' ')\n .trim(),\n };\n if (disable === true || (disable && disable.includes((idx + 1) as never))) {\n barProps.className = [barProps.className, disable ? 'disable' : null].filter(Boolean)\n .join(' ')\n .trim();\n }\n let BarCom = null;\n if (idx !== 0 && visiableBar && renderBar) {\n BarCom = renderBar({ ...barProps, onMouseDown: this.onMouseDown.bind(this, idx + 1) });\n } else if (idx !== 0 && visiableBar) {\n BarCom = React.createElement('div', { ...barProps },
)\n }\n return (\n \n {BarCom}\n {React.cloneElement(element, { ...props })}\n \n );\n })}\n
\n );\n }\n}\n","\nconst dateRegex = /(?=(YYYY|YY|MM|DD|HH|mm|ss|ms))\\1([:/]*)/g;\nconst timespan = {\n YYYY: ['getFullYear', 4],\n YY: ['getFullYear', 2],\n MM: ['getMonth', 2, 1], // getMonth is zero-based, thus the extra increment field\n DD: ['getDate', 2],\n HH: ['getHours', 2],\n mm: ['getMinutes', 2],\n ss: ['getSeconds', 2],\n ms: ['getMilliseconds', 3],\n};\n\nfunction formatter(str?: string, date?: Date, utc?: boolean): string {\n if (typeof str !== 'string') {\n date = str;\n str = 'YYYY-MM-DD';\n }\n\n return str.replace(dateRegex, (match: string, key: keyof typeof timespan, rest?: string) => {\n const args = timespan[key];\n const chars = args[1];\n let name = args[0] as keyof Date;\n if (utc === true) {\n name = `getUTC${String(name).slice(3)}` as keyof Date;\n }\n if (!date) {\n date = new Date();\n }\n const val = `00${String((date[name] as typeof Date)() + (args[2] || 0))}`;\n return val.slice(-chars) + (rest || '');\n });\n}\n\nformatter.utc = (str?: string, date?: Date): string => {\n return formatter(str, date, true);\n};\n\nexport default formatter;\n"],"names":["copyTextToClipboard","text","cb","document","el","createElement","value","setAttribute","style","position","left","body","appendChild","selected","getSelection","rangeCount","getRangeAt","select","isCopy","execCommand","err","removeChild","removeAllRanges","addRange","getOffset","element","target","elemRect","getBoundingClientRect","targetRect","window","top","bottom","getTargetRect","scrollTop","getScroll","scrollLeft","docElem","clientTop","clientLeft","width","height","getDefaultTarget","_excluded","Affix","_React$Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","state","placeholderStyle","undefined","affixStyle","box","events","eventHandlers","timeout","getInstance","node","updatePosition","bind","_assertThisInitialized","_createClass","key","_this2","this","setTimeout","setTargetEventListeners","clearEventListeners","clearTimeout","offsetTop","offsetBottom","offsetParent","elemSize","clientWidth","clientHeight","offsetMode","elemOffset","documentElement","y","setPlaceholderStyle","_extends","setAffixStyle","onChange","affixed","setState","_this3","forEach","eventName","addEventListener","_this4","handler","removeEventListener","_this$props","prefixCls","className","children","resetProps","_objectWithoutPropertiesLoose","cls","filter","Boolean","join","trim","_jsx","ref","React","defaultProps","noop","_props","_props$prefixCls","_props$width","other","Modal","delimiter","_props$text","Fragment","split","map","word","idx","match","url","_createElement","href","startsWith","_props$shape","shape","_props$size","size","src","alt","icon","_props$onError","onError","_onError","_useState","useState","_useState2","_slicedToArray","isImgExist","setIsImgExist","useEffect","evn","Icon","type","getScrollTop","content","_props$offsetTop","_props$fixed","fixed","_props$speed","speed","_props$showBelow","showBelow","_props$clickable","clickable","topShowBelow","percent","setPercent","_useState3","_useState4","current","setCurrent","visible","onScroll","Math","round","scrollHeight","innerHeight","getScrollPercent","scrollToTop","step","start","timer","setInterval","scrollTo","clearInterval","scrollToAnimate","_jsxs","onClick","_props$style","color","_props$max","max","_props$dot","dot","_props$processing","processing","count","supProps","warpperProps","backgroundColor","_props$tagName","tagName","TagName","active","separator","isElm","otherProps","Breadcrumb","_props$separator","Object","assign","Item","_props$vertical","vertical","_props$disabled","disabled","_props$active","_props$loading","loading","_props$block","block","_props$basic","basic","_props$htmlType","htmlType","_props$type","others","child","RenderDay","day","data","currentDate","dayData","useMemo","item","arr","date","num","Number","length","getMonth","getFullYear","label","Calendar","_props$today","today","Date","_props$titleFormat","monthLabel","titleFormat","_props$todayLabel","todayLabel","onPaging","_onSelectDay","onSelectDay","panelDate","setPanelDate","handlePaging","_month","setMonth","titleLable","formatter","btngroup","DatePickerDay","dateSource","renderDay","propsNext","title","extra","footer","_props$bordered","bordered","_props$noHover","noHover","bodyStyle","bodyClassName","Carousel","_props$position","_props$direction","direction","_props$height","_props$palyTime","palyTime","_props$scrollTime","scrollTime","_props$autoPlay","autoPlay","afterChange","beforeChange","currentPosition","currentPositionSet","transitionInner","transitionInnerSet","positionRef","useRef","childCount","_stopPlay","stop","after","before","gotoSlide","prevSlide","nextSlide","stopPlay","slidNumber","maxSlid","slidNumberTemp","play","ms","time","childrens","innerStyle","transform","display","transition","onSearch","_props$expandTrigger","expandTrigger","allowClear","placeholder","_props$option","option","inputProps","innerIsOpen","setInnerIsOpen","selectedValue","setSelectedValue","_useState5","_useState6","selectIconType","setSelectIconType","_useState7","_useState8","searchText","setSearchText","_useState9","_useState10","searchOn","setSearchOn","_useState11","_useState12","inputValue","setInputValue","_useState13","_useState14","searchOption","setSearchOption","tempOptions","iteratorOption","opt","m","push","options","opts","optsTemp","concat","_toConsumableArray","renderSelectIcon","valueTemp","optChildren","findOpt","find","handelChange","isSeleted","widths","trigger","click","triggers","onMouseOver","callback","OptionIter","level","Menu","minHeight","minWidth","overflowY","index","_selectedValue$level","_opt$children","addonAfter","optionsItem","splice","handleItemClick","fontSize","Dropdown","marginTop","overlayStyl","onVisibleChange","isOpen","menu","includes","Array","fill","_","_selectedValue","onMouseLeave","Input","e","handelSearch","onFocus","onBlur","readOnly","stopPropagation","CheckboxGroup","name","_onChange","valueRef","childs","toArray","isArray","checked","include","val","InternalCheckbox","_props$indeterminate","indeterminate","_props$value","RadioAbstract","Checkbox","Group","activeKey","currentActiveKey","InternalCollapse","_props$accordion","accordion","_props$showArrow","showArrow","propsActiveKey","setActiveKey","String","isActive","indexOf","childProps","onItemClick","keys","Collapse","displayName","Panel","_props$icon","_children","header","iconRender","CSSTransition","in","unmountOnExit","classNames","status","transitionDuration","instance","CopyToClipboard","_props$onClick","copy","DateInputRange","_props$bodyStyle","popoverProps","datePickerProps","_props$allowClear","_props$format","format","dateRange","setDateRange","handleChange","cdate","changeValue","propsValue","JSON","stringify","Popover","placement","autoAdjustOverflow","DatePicker","selectedDate","verticalAlign","margin","DateInput","_props$autoClose","autoClose","setDate","setIsOpen","open","_excluded2","classnames","obj","keyName","DayRect","col","disabledDate","end","prev","next","isNaN","getTime","isValidDate","year","month","week","getDay","toDateString","lastDay","getDate","cellDate","divProps","cellMonth","WEEKTITLE","WEEKDAY","_props$weekday","weekday","_props$weekTitle","weekTitle","weekdayLabel","row","curDate","DatePickerMonth","_props$panelDate","_props$onSelected","onSelected","selectedMonth","DatePickerYear","_props$panelNum","panelNum","activeYear","setActiveYear","selectedYear","setFullYear","handleSelected","_len","arguments","arg","_key","DatePickerCaption","todayButton","renderMonth","MONTH_LABEL","_props$monthLabel","_props$onChange","_props$onPanelChange","onPanelChange","showTime","setType","selectDate","setSelectDate","selectPanelDate","setSelectPanelDate","curType","test","onSelectedDate","paging","TimePickerTime","_ref","layout","colon","span","labelProps","colSpan","Row","column","_props$children","handleCell","isHead","Cell","isLastCell","InternalDescriptions","_props$column","_props$colon","_props$layout","leftSpans","rows","columns","itemNode","_itemNode$props$span","generateChildrenRows","Descriptions","DescriptionsItem","_props$dashed","dashed","_props$align","align","restProps","_props$placement","_props$isCloseButtonS","isCloseButtonShown","bodyProps","_props$timeout","_props$isOpen","_props$maskClosable","maskClosable","overlayProps","bodyCls","styl","_defineProperty","footerView","iconView","titleView","Overlay","Button","onClose","OverlayTrigger","isOutside","overlay","iconProps","_props$description","description","viewBox","d","_props$dataLabel","dataLabel","_props$dataList","dataList","uploadType","readonly","_props$showFileIcon","showFileIcon","showPreviewIcon","showRemoveIcon","onPreview","onAdd","onRemove","_props$maxNumber","maxNumber","isAction","getBase64","file","reader","FileReader","Promise","resolve","result","readAsDataURL","getListFiles","files","dataURLKey","promiseFiles","i","all","then","fileListBase64","base64","_props$multiple","multiple","inputRef","inValue","fileList","setFileList","Comp","handleClickInput","useCallback","openFileDialog","onFileUpload","onInputChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","updatedFileList","updatedList","wrap","_context","abrupt","sent","slice","_x","apply","Card","List","_props$uploadType","FileList","FormItem","_React$PureComponent","required","labelFor","labelClassName","labelStyle","help","inline","hasError","labelCls","Col","htmlFor","Form","fields","resetOnSubmit","onSubmitError","onSubmit","afterSubmit","initData","initial","submitting","errors","_cb","initialValue","_currentValue","currentValue","newFormState","setData","useImperativeHandle","handleSubmit","resetForm","handleReset","getFieldValues","getError","setFields","setFieldValue","formUnits","itemProps","error","childField","controlField","tempData","fieldName","validator","env","list","nextState","persist","preventDefault","promise","onSuccess","response","reset","afterSubmitPromise","catch","canSubmit","_data$current","passesValidators","_name","prototype","hasOwnProperty","fieldsProps","initials","entries","_ref2","_ref4","_ref3","hasCurrentValue","id","grow","_props$gutter","gutter","justify","gutterStyl","paddingLeft","paddingRight","_props$verticalAlign","Element","_props$spin","spin","svg","svgPaths","fillRule","initStyle","min","overLimitColor","keyboard","parseFloat","toString","overLimitComp","isOverLimit","isOverLimitSet","overLimitProps","inputStyle","v","_props$preIcon","preIcon","addonRef","input","getComputedStyle","parseInt","right","computedInputPadding","autoComplete","LayoutContext","addSider","removeSider","Layout","hasSider","siders","setSiders","Provider","currentId","LayoutHeader","_ref$prefixCls","LayoutFooter","randomid","random","Sider","_ref$width","_ref$collapsedWidth","collapsedWidth","_ref$collapsed","collapsed","sliderId","rawWidth","setRawWidth","divStyle","flex","maxWidth","LayoutSider","Consumer","context","LayoutContent","Header","Footer","Content","ListItem","InternalList","items","_props$striped","striped","renderItem","_props$dataSource","dataSource","childrenList","classString","tip","bgColor","indicator","_props$fullscreen","fullscreen","indicatorView","cx","cy","r","strokeWidth","strokeMiterlimit","tipsView","GITHUB_CORNERS_TEMPLATE","innerHTML","GithubCorners","_HTMLElement","shadow","attachShadow","mode","ownerDocument","importNode","update","querySelector","toLocaleLowerCase","lastElementChild","firstElementChild","getAttributeNames","getAttribute","setAttr","oldValue","newValue","get","_wrapNativeSuper","HTMLElement","customElements","define","githubCorners","zIndex","_props$bgColor","_props$color","warpperStyle","visibility","opacity","cursor","userSelect","svgStyle","circleStyle","childStyle","alignItems","justifyContent","BackToUp","_props$element","_props$top","_props$strokeWidth","_props$smooth","smooth","_props$hideProgress","hideProgress","$dom","center","radius","dasharray","PI","progress","setProgress","handleScroll","ev","scrollElement","passive","behavior","focusable","stroke","strokeDasharray","strokeDashoffset","globalStore","corners","darkMode","permanent","dark","light","example","listeners","store","emitChange","console","log","getSnapshot","subscribe","listener","l","_step","_iterator","_createForOfIteratorHelper","s","n","done","f","octiconLink","properties","version","ariaHidden","getParentElement","dom","dataset","code","classList","contains","parentElement","useCopied","container","handle","event","add","remove","_container$current","_container$current2","_container$current3","_templateObject","_templateObject2","reservedMeta","tree","visit","meta","source","_props$disableCopy","disableCopy","_props$skipHtml","skipHtml","pluginsFilter","rewrite","rehypeRewrite","_props$wrapperElement","wrapperElement","_props$warpperElement","warpperElement","mdp","rehypePlugins","rehypePrism","ignoreMissing","slug","headings","rehypeIgnore","parent","class","getCodeString","str","rehypeAttrs","customProps","allowElement","raw","remarkPlugins","gfm","wrapperProps","ReactMarkdown","_excluded3","Preview","CodeLayout","Code","Toolbar","MarkdownStyle","styled","MarkdownPreview","_taggedTemplateLiteralLoose","CodePreview","_node$position","components","metaData","rest","isMeta","line","metaId","getMetaId","Child","_getURLParameters","getURLParameters","_getURLParameters$bor","boreder","_getURLParameters$che","checkered","_getURLParameters$cod","codeNum","_getURLParameters$too","toolbar","disableCheckered","marginBottom","visibleButton","Markdown","_rehypeRewrite","_node$children$0$data","_node$children$0$data2","div","_templateObject3","_templateObject4","_templateObject5","rotate","keyframes","SVG","Logo","rx","ry","ExampleWrapper","Wrappper","SupVersion","sup","Description","p","InternalMarkdownPreviewExample","forwardRef","_props$logo","logo","markdownProps","exampleProps","_props$className","_props$disableCorners","disableCorners","_props$disableDarkMod","disableDarkMode","_props$disableHeader","disableHeader","_props$disableBackToU","disableBackToUp","useSyncExternalStore","GitHubCorners","MarkdownPreviewExample","Github","Corners","Example","disabledProps","onMouseDown","onMouseEnter","tabIndex","Internal","_props$multiline","multiline","isSubMenuItem","htmlProps","anchorCls","tagComp","MenuItem","MenuDivider","IconView","collapse","SubMenu","_props$overlayProps","_props$collapse","inlineIndent","overlayTriggerProps","menuProps","popupRef","refNode","elementSource","_useContext","useContext","ThemeContext","setContextHeight","ele","currentHeight","substr","usePortal","currentTarget","related","relatedTarget","nativeEvent","isCheck","parentNode","checkedMenuItem","hide","appear","isClickOutside","transitionName","onExit","onExiting","overlayDom","onEnter","onEntered","onEntering","createContext","_props$theme","theme","_props$inlineIndent","inlineCollapsed","InternalContextMenu","_React$useState","_React$useState2","contextHeight","ContextMenu","Divider","Message","handleClosed","renderIcon","_this$props2","showIcon","rounded","elementProps","_props$useButton","useButton","_props$usePortal","_props$autoFocus","autoFocus","cancelText","cancelButtonProps","confirmButtonProps","_props$confirmText","confirmText","_props$maxWidth","_props$minWidth","_props$onCancel","onCancel","_props$onConfirm","onConfirm","setLoading","handleCancel","_handleCancel","t0","t1","_handleConfirm","_callee2","_context2","_x2","handleConfirm","show","_ref$title","dv","ReactDOM","onClosed","MonthPicker","_props$pickerCaptionP","pickerCaptionProps","handleSelectedDate","curPanelDate","captionType","notifys","Container","duration","closed","willUnmount","_this$state$notifys$p","alertProps","Alert","hasBackdrop","notifysDom","NotificationCreate","create","nprops","notifysChild","fallback","isDOM","nodeType","nodeName","compareDocumentPosition","getBordersSize","styles","axis","sideA","sideB","isIE11","isBrowser","MSInputMethodContext","documentMode","isIE10","navigator","userAgent","isIE","getSize","html","computedStyle","rect","offsets","sizes","getWindowSizes","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","offsetLeft","property","css","defaultView","getStyleComputedProperty","getOuterSizes","scrollWidth","getStyle","triggerDom","popupDom","popup","sty","winSizeHeight","winSizeWidth","innerWidth","replace","normalizeDelay","delay","_child$props","_props$isClickOutside","_props$trigger","_props$onVisibleChang","_props$onEnter","triggerRef","timeoutRef","hoverStateRef","setOverlayStyl","_hide","_show","only","dialogProps","triggerProps","handleClickOutside","handleResize","styls","popNode","childNode","clearTimeouts","timeoutId","handleShow","handleHide","handleMouseOverOut","relatedNative","_triggerRef$current","nodeIndex","onMouseOut","cloneElement","isAppearing","_props$backdropProps","backdropProps","_props$portalProps","portalProps","_props$hasBackdrop","_props$unmountOnExit","_props$transitionName","_props$onOpening","onOpening","_props$onOpened","onOpened","_props$onClosing","onClosing","_props$onClosed","_props$onClose","_onEnter","_props$onExiting","_onExiting","_props$onEntering","_onEntering","_props$onEntered","_onEntered","_props$onExit","_props$dialogProps","setVisible","overlayWillClose","decoratedChild","handleBackdropMouseDown","TransitionGroupComp","onExited","nodeRef","Portal","Pagination","_props$alignment","alignment","_props$total","total","_props$pageSize","pageSize","_props$pageSizeOption","pageSizeOptions","_props$current","currentNumber","onShowSizeChange","divider","initPageSoure","ceil","itemCount","goto","textAlign","handleClick","Select","defaultValue","sizeCount","Option","InternalPinCode","_props$placeholder","_props$onBlur","_props$onFocus","placehold","setPlacehold","values","setValues","handleBlur","handleFocus","inpProps","inputMode","charAt","focus","onKeyDown","handleKeyDown","renderArrow","fillOpacity","visibleArrow","writingMode","Confirm","_props$cancelText","padding","marginLeft","canUseDOM","defaultNode","containerRef","IconProgress","Circle","elm","_strokeWidth","toFixed","perimeter","progressInfo","showText","progressStatus","percentView","relativeStrokeWidth","strokeLinecap","Line","percentStyle","_props$checked","prChecked","setChecked","prevChecked","setPrevChecked","ButtonGroup","RadioButton","Rate","_props$count","defValue","allowHalf","_props$character","character","_props$readOnly","_props$onHoverChange","onHoverChange","setValue","hoverCount","setHoverCount","prevValue","setPrevValue","getValue","isLeft","clientX","halfon","activeCls","onMouseMove","TagSize","large","default","small","SearchSelect","_style$width","valueAmount","maxTagCount","_props$labelInValue","labelInValue","_props$mode","_props$showSearch","showSearch","_props$tagProps","tagProps","onSelect","isMultiple","selectedLabel","setSelectedLabel","omitTagCount","divRef","tagContentRef","tagClientWidth","setTagClientWidth","valueVerify","selectedValueChange","getSelectOption","findResult","selectedLabelChange","handleItemsClick","removeSelectItem","resultValue","handleSelectChange","handleInputChange","resetSelectedValue","_inputRef$current","_tagContentRef$curren","_tagContentRef$curren2","maxHeight","findIndex","finds","_inputRef$current2","Tag","closable","textOverflow","overflow","keyCode","_props$selectCloseDro","selectCloseDrop","emptyOption","selectedOption","setSelectedOption","optionRef","searchValue","searchValueSet","selectedAll","selectd","isChecked","searchValueChange","curreentItem","newContent","Empty","newProps","parse","flexFlow","TreeCheckeds","selectOption","selectOptionSet","keysSet","_props$values","getOptionsRecursion","isAdd","addOrDel","iteratorParent","selectCount","_child$children","_child$label","TreeChecked","defaultExpandAll","selectedKeys","curSelectOption","isNumberKey","SingeTree","_props$values2","Tree","_1","_2","cur","_props$options","_props$emptyOption","treeProps","selectedValues","selectedValuesSet","selectedOptions","selectedOptionSet","isEmpty","isEmptySet","SearchTagInput","hiddenNodeForSeach","parentIsHide","_child$children2","isHide","hideNode","isEmpt","InternalSelect","Dots","marks","markRender","stepValue","Slider","_extends2","_props$min","_props$dots","dots","_props$step","_props$progress","_props$tooltip","tooltip","renderMarks","bar","slider","indexBar","startX","curValue","barWidth","barOffsetLeft","move","arrValue","setArrValue","getWidthToValue","equal","floor","onDragging","vals","valueToWidth","_barStyl","onDragEnd","markOffset","newData","val1","val2","half","_half","getRangeValue","getValueToPercent","barStyl","leftValue","rightValue","getLabelValue","lleftPostion","onHandleBtnDown","stepWidth","stepArray","InternalSteps","_props$status","_props$progressDot","progressDot","warpRef","lastStepOffsetWidth","setLastStepOffsetWidth","filteredChildren","c","lastIndex","domNode","lastChild","abs","calcStepOffsetWidth","stepNumber","itemWidth","adjustMarginRight","Step","stepItemStyle","stepItemDotStyle","marginRight","iconNode","getColspanNum","getRowspanNum","getLevelItems","render","levelTop","ellipsis","rowSpan","_num","getAllColumnsKeys","locationFixed","location","_location$index","_location$index2","ThComponent","_Component","wrapper","updateLocation","rowNum","colNum","rightNum","titleNode","onCellHead","locationWidth","_item$fixed","thProps","Component","TheadComponent","_props$data","_props$onCellHead","rightFixedNum","tds","ThComponentProps","ExpandableComponent","defaultExpand","_onClick","expandIcon","expand","setExpand","TableTr","rowKey","_props$onCell","onCell","isExpandedDom","hierarchy","indentSize","childrenColumnName","isOpacity","setIsOpacity","childrenIndex","setChildrenIndex","expandIndex","setExpandIndex","it","IconDom","flag","float","getIndex","j","trData","objs","isHasChildren","_Fragment","Table","_props$columns","empty","expandable","scroll","setLocationWidth","finalLocationWidth","deepClumnsLocation","params","fistIndex","headerIndex","deepParams","_index","computed","childKey","defaultExpandAllRows","deep","arr1","defaultExpandedRowKeys","expandedRowKeys","record","expandedRowRender","rowExpandable","self","selfColumns","_expandable$defaultEx","onExpand","onExpandedRowsChange","_result","table","x","overflowX","_getLevelItems","tableLayout","Thead","Tabs","_flowNav$nav","onTabClick","slideStyle","setSlideStyle","activeItem","nav","flowLeft","displayStart","displayEnd","flowNav","flowNavSet","hiddenNav","hiddenNavSet","nodes","nodesSet","divContentRef","_e$target","divNavRef","itemKey","divNavWidthChange","curWidth","showHideenNav","calcSlideStyle","renderNav","Pane","_props$title","_props$visible","_props$light","borderColor","boxShadow","iconClose","TimePickerPanel","hideDisabled","disableds","getDisabledItem","liProps","currentCount","tag","getItemInstance","_props$precision","precision","TimePanel","TimePicker","disabledHours","disabledMinutes","disabledSeconds","timeProps","datePickerTime","dataStr","_props$visibleArrow","CheckedStatus","_props$selectedAll","searchValueLeft","searchValueLeftSet","searchValueRight","searchValueRightSet","selectedOptionsShowCount","Map","leftSelectOption","leftSelectOptionSet","leftSelectedKeys","leftSelectedKeySet","rightSelectedKeys","rightSelectedKeySet","_useState15","_useState16","rightOpions","rightOpionSet","_useState17","UnChecked","_useState18","selectAllChecked","selectAllCheckedSet","set","hiddenNode","callBackfn","delete","transferClick","transferType","Arrow","selectedOptionsRecursion","_child$children3","searchIsMatch","selectOptionTemp","background","checkStrictly","isSelected","renderTitle","checkedProps","isHalfChecked","disabledClass","Label","TreeNode","iconAnimation","openKeys","_props$onItemClick","_props$onItemSelected","onItemSelected","noChild","itemIsOpen","iconItem","childKeys","getChildKeys","checkedKeys","disabledObj","disabledMouse","disabledStyle","isContained","a","b","aStr","len","depth","getParentKeys","getParentSelectKeys","_props$openKeys","_props$selectedKeys","_props$defaultExpandA","_props$showLine","showLine","_props$iconAnimation","_props$isSelected","_props$checkStrictly","_props$onExpand","_props$autoExpandPare","autoExpandParent","curOpenKeys","setCurOpenKeys","curSelectedKeys","setCurSelectedKeys","arrOpenKeys","_arrOpenKeys","currentKeys","expanded","selKeys","findKey","from","Set","method","isWindow","ret","Split","dragging","warpper","paneNumber","startY","boxWidth","boxHeight","preWidth","nextWidth","preHeight","nextHeight","preSize","nextSize","removeEvent","clientY","prevTarget","previousElementSibling","nextTarget","nextElementSibling","visiable","renderBar","lineBar","disable","visiableBar","barProps","BarCom","dateRegex","timespan","YYYY","YY","MM","DD","HH","mm","ss","utc","args","chars"],"sourceRoot":""} \ No newline at end of file