improve styling

This commit is contained in:
tdurieux committed 2026-05-07 07:34:30 +03:00
1 parent e59527bc78
commit fbbc694747
16 files changed
+2779 -465

No files matched your search

+1 -1
View File
@@ -6,4 +6,4 @@
*/:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unsLine truncated */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unsLine truncated
* Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{contentLine truncated */.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{contentLine truncated
+965 -54
View File
File diff suppressed because it is too large. Load diff
+9 -8
View File
@@ -3,7 +3,8 @@
<h1 class="paper-page-title">Conferences</h1> <h1 class="paper-page-title">Conferences</h1>
<nav class="admin-nav"> <nav class="admin-nav">
<a href="/admin/"><i class="fas fa-code-branch"></i> Repositories</a> <a href="/admin/"><i class="fas fa-tachometer-alt"></i> Overview</a>
<a href="/admin/repositories"><i class="fas fa-code-branch"></i> Repositories</a>
<a href="/admin/users"><i class="fas fa-users"></i> Users</a> <a href="/admin/users"><i class="fas fa-users"></i> Users</a>
<a href="/admin/conferences" class="active"><i class="fas fa-chalkboard-teacher"></i> Conferences</a> <a href="/admin/conferences" class="active"><i class="fas fa-chalkboard-teacher"></i> Conferences</a>
<a href="/admin/queues"><i class="fas fa-tasks"></i> Queues</a> <a href="/admin/queues"><i class="fas fa-tasks"></i> Queues</a>
@@ -12,11 +13,11 @@
<div class="admin-summary"> <div class="admin-summary">
<span class="summary-total">{{total >= 0 ? (total | number) : '…'}}</span> <span class="summary-total">{{total >= 0 ? (total | number) : '…'}}</span>
<span class="summary-pill ok" ng-class="{active: query.status == 'ready'}" ng-click="query.status = query.status == 'ready' ? '' : 'ready'; query.page = 1">Ready <span class="count">{{statusCountFor('ready') | number}}</span></span> <span class="summary-pill ok" ng-class="{active: query.ready}" ng-click="query.ready = !query.ready; query.page = 1" title="Toggle ready filter">Ready <span class="count">{{statusCountFor('ready') | number}}</span></span>
<span class="summary-pill warn" ng-class="{active: query.status == 'preparing'}" ng-click="query.status = query.status == 'preparing' ? '' : 'preparing'; query.page = 1">Preparing <span class="count">{{statusCountFor('preparing') | number}}</span></span> <span class="summary-pill warn" ng-class="{active: query.preparing}" ng-click="query.preparing = !query.preparing; query.page = 1" title="Toggle preparing filter">Preparing <span class="count">{{statusCountFor('preparing') | number}}</span></span>
<span class="summary-pill error" ng-class="{active: query.status == 'error'}" ng-click="query.status = query.status == 'error' ? '' : 'error'; query.page = 1">Errored <span class="count">{{statusCountFor('error') | number}}</span></span> <span class="summary-pill error" ng-class="{active: query.error}" ng-click="query.error = !query.error; query.page = 1" title="Toggle errored filter">Errored <span class="count">{{statusCountFor('error') | number}}</span></span>
<span class="summary-pill" ng-class="{active: query.status == 'expired'}" ng-click="query.status = query.status == 'expired' ? '' : 'expired'; query.page = 1">Expired <span class="count">{{statusCountFor('expired') | number}}</span></span> <span class="summary-pill" ng-class="{active: query.expired}" ng-click="query.expired = !query.expired; query.page = 1" title="Toggle expired filter">Expired <span class="count">{{statusCountFor('expired') | number}}</span></span>
<span class="summary-pill" ng-class="{active: query.status == 'removed'}" ng-click="query.status = query.status == 'removed' ? '' : 'removed'; query.page = 1">Removed <span class="count">{{statusCountFor('removed') | number}}</span></span> <span class="summary-pill" ng-class="{active: query.removed}" ng-click="query.removed = !query.removed; query.page = 1" title="Toggle removed filter">Removed <span class="count">{{statusCountFor('removed') | number}}</span></span>
</div> </div>
<div class="alert alert-danger" ng-if="fetchError" style="margin: 8px 0;"> <div class="alert alert-danger" ng-if="fetchError" style="margin: 8px 0;">
@@ -60,7 +61,7 @@
<div <div
class="paper-table-row" class="paper-table-row"
role="row" role="row"
ng-repeat="conference in conferences | filter:conferenceFiler | orderBy:orderBy as filteredConferences" ng-repeat="conference in conferences as filteredConferences"
> >
<div class="cell-anon" role="cell"> <div class="cell-anon" role="cell">
<span class="type-badge type-repo">Conf</span> <span class="type-badge type-repo">Conf</span>
@@ -110,7 +111,7 @@
</div> </div>
<span class="admin-filter-inline"> <span class="admin-filter-inline">
<label>Per page</label> <label>Per page</label>
<select class="form-control form-control-sm" ng-model="query.limit"><option value="10">10</option><option value="25">25</option><option value="50">50</option><option value="100">100</option></select> <select class="form-control form-control-sm" ng-model="query.limit"><option value="10">10</option><option value="25">25</option><option value="50">50</option><option value="100">100</option><option value="250">250</option></select>
</span> </span>
</div> </div>
</div> </div>
+2 -1
View File
@@ -10,7 +10,8 @@
</header> </header>
<nav class="admin-nav"> <nav class="admin-nav">
<a href="/admin/"><i class="fas fa-code-branch"></i> Repositories</a> <a href="/admin/"><i class="fas fa-tachometer-alt"></i> Overview</a>
<a href="/admin/repositories"><i class="fas fa-code-branch"></i> Repositories</a>
<a href="/admin/users"><i class="fas fa-users"></i> Users</a> <a href="/admin/users"><i class="fas fa-users"></i> Users</a>
<a href="/admin/conferences"><i class="fas fa-chalkboard-teacher"></i> Conferences</a> <a href="/admin/conferences"><i class="fas fa-chalkboard-teacher"></i> Conferences</a>
<a href="/admin/queues"><i class="fas fa-tasks"></i> Queues</a> <a href="/admin/queues"><i class="fas fa-tasks"></i> Queues</a>
+237
View File
@@ -0,0 +1,237 @@
<div class="container paper-page admin-page overview-page">
<div class="paper-crumbs">Admin &middot; System Health</div>
<div class="ov-header">
<h1 class="paper-page-title">Overview</h1>
<div class="ov-header-actions">
<div class="ov-range-btns">
<button class="btn btn-sm" ng-class="{active: range === '1h'}" ng-click="setRange('1h')">1h</button>
<button class="btn btn-sm" ng-class="{active: range === '6h'}" ng-click="setRange('6h')">6h</button>
<button class="btn btn-sm" ng-class="{active: range === '24h'}" ng-click="setRange('24h')">24h</button>
<button class="btn btn-sm" ng-class="{active: range === '7d'}" ng-click="setRange('7d')">7d</button>
<button class="btn btn-sm" ng-class="{active: range === '30d'}" ng-click="setRange('30d')">30d</button>
</div>
</div>
</div>
<nav class="admin-nav">
<a href="/admin/" class="active"><i class="fas fa-tachometer-alt"></i> Overview</a>
<a href="/admin/repositories"><i class="fas fa-code-branch"></i> Repositories</a>
<a href="/admin/users"><i class="fas fa-users"></i> Users</a>
<a href="/admin/conferences"><i class="fas fa-chalkboard-teacher"></i> Conferences</a>
<a href="/admin/queues"><i class="fas fa-tasks"></i> Queues</a>
<a href="/admin/errors"><i class="fas fa-bug"></i> Errors</a>
</nav>
<div ng-if="loading" class="admin-empty">Loading overview&hellip;</div>
<div ng-if="error" class="alert alert-danger" style="margin:12px 0"><i class="fas fa-exclamation-triangle"></i> {{error}}</div>
<div ng-if="data">
<!-- ── Top KPI row ──────────────────────────────────────────── -->
<section class="ov-kpi-row">
<div class="ov-kpi-card">
<div class="ov-kpi-label">Repositories <span class="ov-dot ov-dot-ok"></span></div>
<div class="ov-kpi-value">{{humanNum(data.repos.total)}}</div>
<div class="ov-kpi-sub">+{{data.repos.newRepos24h}} &middot; last 24h</div>
</div>
<div class="ov-kpi-card">
<div class="ov-kpi-label">CPU</div>
<div class="ov-kpi-value" ng-class="{'ov-val-warn': data.system.cpuPercent > 80}">{{data.system.cpuPercent}}%</div>
<div class="ov-kpi-sub">{{data.system.cpuCount}} cores &middot; load {{data.system.loadAvg[0].toFixed(1)}}</div>
</div>
<div class="ov-kpi-card">
<div class="ov-kpi-label">Memory</div>
<div class="ov-kpi-value" ng-class="{'ov-val-warn': data.system.memPercent > 85}">{{data.system.memPercent}}%</div>
<div class="ov-kpi-sub">{{humanBytes(data.system.memUsed)}} / {{humanBytes(data.system.memTotal)}}</div>
</div>
<div class="ov-kpi-card">
<div class="ov-kpi-label">Disk</div>
<div class="ov-kpi-value" ng-class="{'ov-val-warn': data.system.diskPercent > 85}">{{data.system.diskPercent}}%</div>
<div class="ov-kpi-sub">{{humanBytes(data.system.diskUsed)}} / {{humanBytes(data.system.diskTotal)}} &middot; {{data.system.diskMount}}</div>
</div>
<div class="ov-kpi-card">
<div class="ov-kpi-label">Uptime</div>
<div class="ov-kpi-value">{{humanDuration(data.system.uptime)}}</div>
<div class="ov-kpi-sub">{{data.system.nodeVersion}} &middot; {{data.system.platform}}</div>
</div>
</section>
<!-- ── Two wide charts ──────────────────────────────────────── -->
<section class="ov-chart-row">
<div class="ov-chart-card">
<div class="ov-chart-head">
<span class="ov-chart-title">Page views &middot; 30d</span>
<span class="ov-chart-legend"><span class="ov-dot-legend ov-dot-accent"></span>views</span>
</div>
<div class="ov-spark-bars" ng-if="data.history.length">
<div class="ov-spark-col" ng-repeat="d in data.history track by $index"
title="{{historyLabel(d)}}: {{d.nbPageViews | number}} views">
<span class="ov-spark-fill" ng-style="{height: historyBarH(d, 'nbPageViews') + 'px'}"></span>
</div>
</div>
<div class="ov-spark-x" ng-if="data.history.length">
<span>{{historyLabel(data.history[0])}}</span>
<span>{{historyLabel(data.history[Math.floor(data.history.length/2)])}}</span>
<span>{{historyLabel(data.history[data.history.length - 1])}}</span>
</div>
</div>
<div class="ov-chart-card">
<div class="ov-chart-head">
<span class="ov-chart-title">New repos &middot; 30d</span>
<span class="ov-chart-legend"><span class="ov-dot-legend ov-dot-ok-fill"></span>repos</span>
</div>
<div class="ov-spark-bars" ng-if="data.history.length">
<div class="ov-spark-col" ng-repeat="d in data.history track by $index"
title="{{historyLabel(d)}}: {{d.nbRepositories | number}} repos">
<span class="ov-spark-fill ov-spark-fill-alt" ng-style="{height: historyBarH(d, 'nbRepositories') + 'px'}"></span>
</div>
</div>
<div class="ov-spark-x" ng-if="data.history.length">
<span>{{historyLabel(data.history[0])}}</span>
<span>{{historyLabel(data.history[Math.floor(data.history.length/2)])}}</span>
<span>{{historyLabel(data.history[data.history.length - 1])}}</span>
</div>
</div>
</section>
<!-- ── Three-panel row: Status / Errors / Queues ────────────── -->
<section class="ov-triple-row">
<!-- Repo status breakdown -->
<div class="ov-panel-card">
<div class="ov-panel-head">
<span class="ov-panel-title">Repo status</span>
<span class="ov-panel-meta">{{data.repos.total | number}} total</span>
</div>
<div class="ov-stacked-bar">
<span class="ov-bar-seg ov-bar-ready" ng-style="{width: barPct('ready') + '%'}" title="Ready"></span>
<span class="ov-bar-seg ov-bar-preparing" ng-style="{width: barPct('preparing') + '%'}" title="Preparing"></span>
<span class="ov-bar-seg ov-bar-error" ng-style="{width: barPct('error') + '%'}" title="Error"></span>
<span class="ov-bar-seg ov-bar-expired" ng-style="{width: barPct('expired') + '%'}" title="Expired"></span>
<span class="ov-bar-seg ov-bar-removed" ng-style="{width: barPct('removed') + '%'}" title="Removed"></span>
</div>
<div class="ov-bar-legend">
<a href="/admin/repositories" class="ov-legend-item"><span class="ov-swatch ov-bar-ready"></span> ready <span class="ov-legend-n">{{statusCount('ready') | number}}</span></a>
<a href="/admin/repositories" class="ov-legend-item"><span class="ov-swatch ov-bar-preparing"></span> preparing <span class="ov-legend-n">{{statusCount('preparing') + statusCount('download') | number}}</span></a>
<a href="/admin/repositories" class="ov-legend-item"><span class="ov-swatch ov-bar-error"></span> error <span class="ov-legend-n">{{statusCount('error') | number}}</span></a>
<a href="/admin/repositories" class="ov-legend-item"><span class="ov-swatch ov-bar-expired"></span> expired <span class="ov-legend-n">{{statusCount('expired') + statusCount('expiring') | number}}</span></a>
<a href="/admin/repositories" class="ov-legend-item"><span class="ov-swatch ov-bar-removed"></span> removed <span class="ov-legend-n">{{statusCount('removed') + statusCount('removing') | number}}</span></a>
</div>
</div>
<!-- Error breakdown -->
<div class="ov-panel-card">
<div class="ov-panel-head">
<span class="ov-panel-title">Errors &middot; 24h</span>
<span class="ov-panel-meta">{{data.errors.last24h}} total</span>
</div>
<div class="ov-error-bars">
<div class="ov-ebar-row">
<span class="ov-ebar-label">5xx</span>
<span class="ov-ebar-track"><span class="ov-ebar-fill ov-ebar-error" ng-style="{width: errPct('error') + '%'}"></span></span>
<span class="ov-ebar-n">{{data.errors.severity.error}}</span>
</div>
<div class="ov-ebar-row">
<span class="ov-ebar-label">4xx</span>
<span class="ov-ebar-track"><span class="ov-ebar-fill ov-ebar-warn" ng-style="{width: errPct('warn') + '%'}"></span></span>
<span class="ov-ebar-n">{{data.errors.severity.warn}}</span>
</div>
<div class="ov-ebar-row">
<span class="ov-ebar-label">Info</span>
<span class="ov-ebar-track"><span class="ov-ebar-fill ov-ebar-info" ng-style="{width: errPct('info') + '%'}"></span></span>
<span class="ov-ebar-n">{{data.errors.severity.info}}</span>
</div>
</div>
<div class="ov-panel-foot" ng-if="data.repos.recentErrors24h">
<a href="/admin/errors">{{data.repos.recentErrors24h}} repos in error state &rarr;</a>
</div>
</div>
<!-- Top routes / queues -->
<div class="ov-panel-card">
<div class="ov-panel-head">
<span class="ov-panel-title">Queues</span>
<span class="ov-panel-meta">by state</span>
</div>
<div class="ov-routes-table">
<div class="ov-route-row ov-route-head">
<span class="ov-route-name">Queue</span>
<span class="ov-route-n">Active</span>
<span class="ov-route-n">Wait</span>
<span class="ov-route-n ov-route-lat">Failed</span>
</div>
<a class="ov-route-row" href="/admin/queues">
<span class="ov-route-name">download</span>
<span class="ov-route-n">{{data.queues.download.active}}</span>
<span class="ov-route-n">{{data.queues.download.waiting}}</span>
<span class="ov-route-n ov-route-lat" ng-class="{'ov-n-bad': data.queues.download.failed > 0}">{{data.queues.download.failed}}</span>
</a>
<a class="ov-route-row" href="/admin/queues">
<span class="ov-route-name">remove</span>
<span class="ov-route-n">{{data.queues.remove.active}}</span>
<span class="ov-route-n">{{data.queues.remove.waiting}}</span>
<span class="ov-route-n ov-route-lat" ng-class="{'ov-n-bad': data.queues.remove.failed > 0}">{{data.queues.remove.failed}}</span>
</a>
<a class="ov-route-row" href="/admin/queues">
<span class="ov-route-name">cache</span>
<span class="ov-route-n">{{data.queues.cache.active}}</span>
<span class="ov-route-n">{{data.queues.cache.waiting}}</span>
<span class="ov-route-n ov-route-lat" ng-class="{'ov-n-bad': data.queues.cache.failed > 0}">{{data.queues.cache.failed}}</span>
</a>
</div>
</div>
</section>
<!-- ── Services bar ─────────────────────────────────────────── -->
<section class="ov-services-card">
<div class="ov-services-head">
<span class="ov-panel-title">Services</span>
<span class="ov-panel-meta">{{data.users.total | number}} users &middot; {{data.conferences.total}} conferences</span>
</div>
<div class="ov-services-grid">
<div class="ov-svc">
<span class="ov-svc-dot ov-dot-ok"></span>
<div class="ov-svc-info">
<span class="ov-svc-name">web</span>
<span class="ov-svc-meta">{{data.system.nodeVersion}}</span>
</div>
<span class="ov-svc-detail">uptime {{humanDuration(data.system.uptime)}}</span>
</div>
<div class="ov-svc">
<span class="ov-svc-dot" ng-class="queueTotal(data.queues.download) > 0 ? 'ov-dot-ok' : 'ov-dot-idle'"></span>
<div class="ov-svc-info">
<span class="ov-svc-name">download</span>
<span class="ov-svc-meta" ng-if="queueTotal(data.queues.download)">{{queueTotal(data.queues.download)}} jobs</span>
<span class="ov-svc-meta" ng-if="!queueTotal(data.queues.download)">idle</span>
</div>
</div>
<div class="ov-svc">
<span class="ov-svc-dot" ng-class="queueTotal(data.queues.cache) > 0 ? 'ov-dot-ok' : 'ov-dot-idle'"></span>
<div class="ov-svc-info">
<span class="ov-svc-name">cache</span>
<span class="ov-svc-meta" ng-if="queueTotal(data.queues.cache)">{{queueTotal(data.queues.cache)}} jobs</span>
<span class="ov-svc-meta" ng-if="!queueTotal(data.queues.cache)">idle</span>
</div>
</div>
<div class="ov-svc">
<span class="ov-svc-dot" ng-class="queueTotal(data.queues.remove) > 0 ? 'ov-dot-ok' : 'ov-dot-idle'"></span>
<div class="ov-svc-info">
<span class="ov-svc-name">remove</span>
<span class="ov-svc-meta" ng-if="queueTotal(data.queues.remove)">{{queueTotal(data.queues.remove)}} jobs</span>
<span class="ov-svc-meta" ng-if="!queueTotal(data.queues.remove)">idle</span>
</div>
</div>
<div class="ov-svc">
<span class="ov-svc-dot" ng-class="data.repos.recentErrors24h > 10 ? 'ov-dot-warn' : 'ov-dot-ok'"></span>
<div class="ov-svc-info">
<span class="ov-svc-name">errors</span>
<span class="ov-svc-meta">{{data.errors.last24h}} / 24h</span>
</div>
</div>
</div>
</section>
</div>
</div>
+130 -76
View File
@@ -1,102 +1,156 @@
<div class="container paper-page admin-page"> <div class="container paper-page admin-page">
<div class="paper-crumbs">Admin &nbsp;/&nbsp; <span class="here">Queues</span></div> <div class="paper-crumbs">Admin &nbsp;/&nbsp; <span class="here">Queues</span></div>
<div class="q-header">
<h1 class="paper-page-title">Queues</h1> <h1 class="paper-page-title">Queues</h1>
<div class="q-header-actions">
<div class="q-range-btns">
<button class="btn btn-sm" ng-class="{active: range == '1h'}" ng-click="setRange('1h')">1h</button>
<button class="btn btn-sm" ng-class="{active: range == '6h'}" ng-click="setRange('6h')">6h</button>
<button class="btn btn-sm" ng-class="{active: range == '24h'}" ng-click="setRange('24h')">24h</button>
<button class="btn btn-sm" ng-class="{active: range == '7d'}" ng-click="setRange('7d')">7d</button>
</div>
<button class="btn btn-sm" ng-click="pauseAll()">Pause all</button>
<button class="btn btn-sm btn-dark" ng-click="drainSelected()">Drain {{selectedQueue}}</button>
</div>
</div>
<nav class="admin-nav"> <nav class="admin-nav">
<a href="/admin/"><i class="fas fa-code-branch"></i> Repositories</a> <a href="/admin/"><i class="fas fa-tachometer-alt"></i> Overview</a>
<a href="/admin/repositories"><i class="fas fa-code-branch"></i> Repositories</a>
<a href="/admin/users"><i class="fas fa-users"></i> Users</a> <a href="/admin/users"><i class="fas fa-users"></i> Users</a>
<a href="/admin/conferences"><i class="fas fa-chalkboard-teacher"></i> Conferences</a> <a href="/admin/conferences"><i class="fas fa-chalkboard-teacher"></i> Conferences</a>
<a href="/admin/queues" class="active"><i class="fas fa-tasks"></i> Queues</a> <a href="/admin/queues" class="active"><i class="fas fa-tasks"></i> Queues</a>
<a href="/admin/errors"><i class="fas fa-bug"></i> Errors</a> <a href="/admin/errors"><i class="fas fa-bug"></i> Errors</a>
</nav> </nav>
<div class="admin-summary"> <!-- Queue overview cards -->
<span class="summary-pill warn" ng-class="{active: query.state == 'active'}" ng-click="query.state = query.state == 'active' ? '' : 'active'">Active <span class="count">{{(counts.download.active || 0) + (counts.remove.active || 0) + (counts.cache.active || 0)}}</span></span> <div class="q-cards">
<span class="summary-pill" ng-class="{active: query.state == 'waiting'}" ng-click="query.state = query.state == 'waiting' ? '' : 'waiting'">Waiting <span class="count">{{(counts.download.waiting || 0) + (counts.remove.waiting || 0) + (counts.cache.waiting || 0)}}</span></span> <div class="q-card" ng-repeat="q in queueList" ng-class="{selected: selectedQueue == q.key, paused: q.paused}" ng-click="selectQueue(q.key)">
<span class="summary-pill error" ng-class="{active: query.state == 'failed'}" ng-click="query.state = query.state == 'failed' ? '' : 'failed'">Failed <span class="count">{{(counts.download.failed || 0) + (counts.remove.failed || 0) + (counts.cache.failed || 0)}}</span></span> <div class="q-card-head">
<span class="summary-pill ok" ng-class="{active: query.state == 'completed'}" ng-click="query.state = query.state == 'completed' ? '' : 'completed'">Completed <span class="count">{{(counts.download.completed || 0) + (counts.remove.completed || 0) + (counts.cache.completed || 0)}}</span></span> <span class="q-dot" ng-class="{'q-dot-red': q.paused || q.counts.failed > 0}"></span>
<span class="summary-pill" ng-class="{active: query.state == 'delayed'}" ng-click="query.state = query.state == 'delayed' ? '' : 'delayed'">Delayed <span class="count">{{(counts.download.delayed || 0) + (counts.remove.delayed || 0) + (counts.cache.delayed || 0)}}</span></span> <span class="q-card-name" ng-bind="q.label"></span>
</div>
<div class="q-card-count" ng-bind="(q.counts.waiting || 0) + (q.counts.active || 0) + (q.counts.delayed || 0)"></div>
<div class="q-card-sub">
<span>waiting &middot; {{q.counts.active || 0}} active</span>
<div class="q-card-bar" ng-if="q.counts.active">
<div class="q-card-bar-fill" ng-style="{width: (q.counts.active / ((q.counts.waiting || 0) + (q.counts.active || 0) + (q.counts.delayed || 0) || 1) * 100) + '%'}"></div>
</div>
</div>
</div>
</div> </div>
<form class="w-100 admin-filter-toolbar" aria-label="Queue filters"> <!-- Detail: throughput chart + stats panel -->
<div class="admin-filter-row"> <div class="q-detail" ng-if="selectedStats">
<div class="search-wrap"> <div class="q-throughput">
<input type="search" class="form-control" placeholder="Search by job/repo id…" ng-model="query.search" autocomplete="off" /> <div class="q-section-label">{{selectedQueue}}&middot;throughput <span class="q-section-right">COMPLETED / MIN &middot; {{range | uppercase}}</span></div>
<span class="admin-search-hint" ng-if="!query.search">/</span> <canvas id="q-throughput-chart" height="180"></canvas>
</div> </div>
<span class="admin-filter-inline"> <div class="q-stats-panel">
<label>State</label> <div class="q-section-label">{{selectedQueue}}&middot;stats</div>
<select class="form-control form-control-sm" ng-model="query.state"> <div class="q-stats-grid">
<option value="">Any</option> <div class="q-stat">
<option value="waiting">Waiting</option> <div class="q-stat-label">WAITING</div>
<option value="active">Active</option> <div class="q-stat-value" ng-bind="selectedStats.counts.waiting || 0"></div>
<option value="completed">Completed</option> </div>
<option value="failed">Failed</option> <div class="q-stat">
<option value="delayed">Delayed</option> <div class="q-stat-label">ACTIVE</div>
</select> <div class="q-stat-value" ng-bind="selectedStats.counts.active || 0"></div>
</span> </div>
<span class="admin-filter-spacer"></span> <div class="q-stat">
<label class="admin-filter-inline" style="cursor:pointer;"> <div class="q-stat-label">COMPLETED (24H)</div>
<div class="q-stat-value" ng-bind="selectedStats.completed24h | number"></div>
</div>
<div class="q-stat">
<div class="q-stat-label">FAILED (24H)</div>
<div class="q-stat-value" ng-bind="selectedStats.failed24h || 0"></div>
</div>
<div class="q-stat">
<div class="q-stat-label">DELAYED</div>
<div class="q-stat-value" ng-bind="selectedStats.counts.delayed || 0"></div>
</div>
<div class="q-stat">
<div class="q-stat-label">WORKERS</div>
<div class="q-stat-value" ng-bind="selectedStats.workers || 0"></div>
</div>
</div>
<div class="q-stats-actions">
<button class="btn btn-sm" ng-click="togglePause()">{{selectedStats.paused ? 'Resume' : 'Pause'}}</button>
<button class="btn btn-sm" ng-click="retryFailed()" ng-disabled="!selectedStats.counts.failed">Retry failed</button>
<button class="btn btn-sm" ng-click="emptyQueue()">Empty</button>
</div>
</div>
</div>
<!-- Jobs table -->
<div class="q-jobs">
<div class="q-jobs-header">
<div class="q-section-label">{{query.state | uppercase}} JOBS &middot; {{selectedQueue | uppercase}}</div>
<div class="q-tabs">
<button class="q-tab" ng-class="{active: query.state == 'active'}" ng-click="query.state = 'active'">Active</button>
<button class="q-tab" ng-class="{active: query.state == 'waiting'}" ng-click="query.state = 'waiting'">Waiting</button>
<button class="q-tab" ng-class="{active: query.state == 'completed'}" ng-click="query.state = 'completed'">Completed</button>
<button class="q-tab" ng-class="{active: query.state == 'failed'}" ng-click="query.state = 'failed'">Failed</button>
<button class="q-tab" ng-class="{active: query.state == 'delayed'}" ng-click="query.state = 'delayed'">Delayed</button>
</div>
</div>
<div class="q-search-row">
<input type="search" class="form-control" placeholder="Search by job/repo id…" ng-model="query.search" autocomplete="off" />
<label class="q-auto-refresh">
<input type="checkbox" ng-model="query.autoRefresh" /> <input type="checkbox" ng-model="query.autoRefresh" />
Auto-refresh Auto-refresh
</label> </label>
<button class="btn btn-sm" type="button" ng-click="refreshNow()" title="Refresh now"><i class="fas fa-sync"></i></button> <button class="btn btn-sm" type="button" ng-click="refreshNow()" title="Refresh now"><i class="fas fa-sync"></i></button>
</div> </div>
</form>
<div ng-repeat="qInfo in [ <table class="q-table" ng-if="jobs.length > 0">
{key: 'download', label: 'Download jobs', icon: 'fa-download', jobs: downloadJobs, counts: counts.download}, <thead>
{key: 'remove', label: 'Remove jobs', icon: 'fa-trash', jobs: removeJobs, counts: counts.remove}, <tr>
{key: 'cache', label: 'Cache cleanup jobs', icon: 'fa-broom', jobs: removeCaches, counts: counts.cache} <th>JOB ID</th>
]"> <th>PAYLOAD</th>
<div class="admin-section-header"> <th>ATTEMPTS</th>
<h2><i class="fas {{qInfo.icon}}"></i> {{qInfo.label}}</h2> <th>DURATION</th>
<span class="section-count">{{qInfo.jobs.length || 0}}</span> <th>PROGRESS</th>
<span class="queue-state-pills"> <th></th>
<span class="pill pill-waiting" ng-if="qInfo.counts.waiting">{{qInfo.counts.waiting}} waiting</span> </tr>
<span class="pill pill-active" ng-if="qInfo.counts.active">{{qInfo.counts.active}} active</span> </thead>
<span class="pill pill-completed" ng-if="qInfo.counts.completed">{{qInfo.counts.completed}} done</span> <tbody>
<span class="pill pill-failed" ng-if="qInfo.counts.failed">{{qInfo.counts.failed}} failed</span> <tr ng-repeat="job in jobs" ng-class="{'q-row-failed': job.failedReason || job.stacktrace.length}">
<span class="pill pill-delayed" ng-if="qInfo.counts.delayed">{{qInfo.counts.delayed}} delayed</span> <td class="q-cell-id">
</span> <a target="_blank" ng-href="/r/{{job.id}}" ng-bind="'job:' + (job.id | limitTo:6)"></a>
<span style="margin-left: auto; display: inline-flex; gap: 6px;"> </td>
<button class="btn btn-sm" type="button" ng-click="bulkRetryFailed(qInfo.key)" ng-disabled="!qInfo.counts.failed"><i class="fas fa-redo"></i> Retry all failed</button> <td class="q-cell-payload">
<button class="btn btn-sm text-danger" type="button" ng-click="bulkDrain(qInfo.key)"><i class="fas fa-eraser"></i> Drain</button> <span ng-bind="job.name || 'anonymize'"></span>
</span> <span class="q-payload-detail" ng-if="job.data.repoId"> &middot; {{job.data.repoId}}</span>
</td>
<td class="q-cell-num" ng-bind="job.attemptsMade || 1"></td>
<td class="q-cell-num" ng-bind="jobDuration(job)"></td>
<td class="q-cell-progress">
<div class="q-progress-wrap" ng-if="jobProgressPct(job) !== null">
<div class="q-progress-bar" ng-style="{'--pct': jobProgressPct(job) + '%'}"></div>
<span class="q-progress-label" ng-bind="jobProgressPct(job) + '%'"></span>
</div>
</td>
<td class="q-cell-actions">
<button class="btn btn-sm" ng-click="retryJob(job)" title="Retry"><i class="fas fa-sync"></i></button>
<button class="btn btn-sm" ng-click="removeJob(job)" title="Remove"><i class="fas fa-trash-alt"></i></button>
</td>
</tr>
</tbody>
</table>
<!-- Expanded error detail -->
<div ng-repeat="job in jobs" ng-if="job.failedReason || job.stacktrace.length" class="q-error-detail" style="display:none;">
<div ng-if="job.failedReason" class="q-error-reason" ng-bind="job.failedReason"></div>
<pre ng-repeat="stack in job.stacktrace track by $index" class="q-error-stack"><code ng-bind="stack"></code></pre>
</div> </div>
<div class="queue-job-card" ng-repeat="job in qInfo.jobs | filter:jobMatchesState as filteredJobs"> <div class="paper-table-empty" ng-if="jobs.length == 0" style="border:1px solid var(--border-color);border-radius:10px;background:var(--paper-card);">
<div class="job-header">
<div class="job-id">
<span class="status-dot" ng-class="{'status-ready': job.progress.status == 'ready', 'status-error': job.progress.status == 'error' || (job.stacktrace && job.stacktrace.length), 'status-preparing': job.progress.status == 'preparing' || (job.processedOn && !job.finishedOn), 'status-removed': job.progress.status == 'removed'}"></span>
<a target="_blank" ng-href="/r/{{job.id}}" ng-bind="job.id"></a>
<span ng-bind="job.progress.status | title" style="font-family: var(--font-sans); color: var(--ink-muted); font-size: 12px;"></span>
</div>
<div ng-if="jobProgressPct(job) !== null" class="job-progress" title="{{jobProgressPct(job)}}%">
<div class="job-progress-bar" style="width: {{jobProgressPct(job)}}%;"></div>
</div>
</div>
<div class="job-timestamps">
<span ng-if="job.timestamp"><i class="fas fa-clock"></i> Created: {{job.timestamp | humanTime}}</span>
<span ng-if="job.processedOn"><i class="fas fa-cog"></i> Processed: {{job.processedOn | humanTime}}</span>
<span ng-if="job.finishedOn"><i class="fas fa-check"></i> Finished: {{job.finishedOn | humanTime}}</span>
<span ng-if="job.attemptsMade"><i class="fas fa-redo"></i> Attempts: {{job.attemptsMade}}</span>
</div>
<div ng-if="job.failedReason" style="color:#B42318; font-size:0.8rem; margin-top:4px;">{{job.failedReason}}</div>
<div ng-if="job.stacktrace.length">
<pre ng-repeat="stack in job.stacktrace track by $index" style="font-size: 0.8rem; max-height: 100px; overflow: auto; margin: 6px 0 0 0"><code ng-bind="stack"></code></pre>
</div>
<div class="job-actions">
<button class="btn btn-sm" ng-click="retryJob(qInfo.key, job)"><i class="fas fa-sync"></i> Retry</button>
<button class="btn btn-sm" ng-click="removeJob(qInfo.key, job)"><i class="fas fa-trash-alt"></i> Remove</button>
<a class="btn btn-sm" href="/anonymize/{{job.id}}"><i class="far fa-edit"></i> Edit</a>
</div>
</div>
<div class="paper-table-empty" ng-if="filteredJobs.length == 0" style="border:1px solid var(--border-color);border-radius:10px;background:var(--paper-card);">
<i class="fas fa-check-circle"></i> <i class="fas fa-check-circle"></i>
<span ng-if="!query.search && !query.state">No {{qInfo.label | lowercase}} in the queue.</span> <span ng-if="!query.search">No {{query.state}} jobs in the {{selectedQueue}} queue.</span>
<span ng-if="query.search || query.state">No jobs match the current filters.</span> <span ng-if="query.search">No jobs match the current filters.</span>
</div> </div>
</div> </div>
</div> </div>
+2 -1
View File
@@ -3,7 +3,8 @@
<h1 class="paper-page-title">Repositories</h1> <h1 class="paper-page-title">Repositories</h1>
<nav class="admin-nav"> <nav class="admin-nav">
<a href="/admin/" class="active"><i class="fas fa-code-branch"></i> Repositories</a> <a href="/admin/"><i class="fas fa-tachometer-alt"></i> Overview</a>
<a href="/admin/repositories" class="active"><i class="fas fa-code-branch"></i> Repositories</a>
<a href="/admin/users"><i class="fas fa-users"></i> Users</a> <a href="/admin/users"><i class="fas fa-users"></i> Users</a>
<a href="/admin/conferences"><i class="fas fa-chalkboard-teacher"></i> Conferences</a> <a href="/admin/conferences"><i class="fas fa-chalkboard-teacher"></i> Conferences</a>
<a href="/admin/queues"><i class="fas fa-tasks"></i> Queues</a> <a href="/admin/queues"><i class="fas fa-tasks"></i> Queues</a>
+54 -50
View File
@@ -3,7 +3,8 @@
<h1 class="paper-page-title">{{userInfo.username || 'User'}}</h1> <h1 class="paper-page-title">{{userInfo.username || 'User'}}</h1>
<nav class="admin-nav"> <nav class="admin-nav">
<a href="/admin/"><i class="fas fa-code-branch"></i> Repositories</a> <a href="/admin/"><i class="fas fa-tachometer-alt"></i> Overview</a>
<a href="/admin/repositories"><i class="fas fa-code-branch"></i> Repositories</a>
<a href="/admin/users" class="active"><i class="fas fa-users"></i> Users</a> <a href="/admin/users" class="active"><i class="fas fa-users"></i> Users</a>
<a href="/admin/conferences"><i class="fas fa-chalkboard-teacher"></i> Conferences</a> <a href="/admin/conferences"><i class="fas fa-chalkboard-teacher"></i> Conferences</a>
<a href="/admin/queues"><i class="fas fa-tasks"></i> Queues</a> <a href="/admin/queues"><i class="fas fa-tasks"></i> Queues</a>
@@ -25,6 +26,8 @@
<div class="user-actions" style="margin-top: 4px;"> <div class="user-actions" style="margin-top: 4px;">
<button class="btn btn-sm text-danger" ng-if="userInfo.status !== 'banned'" ng-click="banUser()"><i class="fas fa-ban"></i> Ban</button> <button class="btn btn-sm text-danger" ng-if="userInfo.status !== 'banned'" ng-click="banUser()"><i class="fas fa-ban"></i> Ban</button>
<button class="btn btn-sm" ng-if="userInfo.status === 'banned' || userInfo.status === 'removed'" ng-click="activateUser()"><i class="fas fa-check-circle"></i> Activate</button> <button class="btn btn-sm" ng-if="userInfo.status === 'banned' || userInfo.status === 'removed'" ng-click="activateUser()"><i class="fas fa-check-circle"></i> Activate</button>
<button class="btn btn-sm" ng-if="!userInfo.isAdmin" ng-click="promoteUser()"><i class="fas fa-user-shield"></i> Promote to admin</button>
<button class="btn btn-sm text-danger" ng-if="userInfo.isAdmin" ng-click="demoteUser()"><i class="fas fa-user-minus"></i> Remove admin</button>
</div> </div>
</div> </div>
</div> </div>
@@ -46,6 +49,15 @@
</a> </a>
</div> </div>
<div class="detail-label">Created</div>
<div class="detail-value">{{userInfo.dateOfEntry | humanTime}}</div>
<div class="detail-label">Last connection</div>
<div class="detail-value">
<span ng-if="userInfo.accessTokenDates.github">{{userInfo.accessTokenDates.github | humanTime}}</span>
<span class="text-muted" ng-if="!userInfo.accessTokenDates.github">never</span>
</div>
<div class="detail-label">GitHub repos</div> <div class="detail-label">GitHub repos</div>
<div class="detail-value"> <div class="detail-value">
{{userInfo.repositories.length}} repositories {{userInfo.repositories.length}} repositories
@@ -122,86 +134,76 @@
<span class="section-count">{{repositories.length}}</span> <span class="section-count">{{repositories.length}}</span>
</div> </div>
<form class="w-100 dashboard-filter-row" aria-label="Repositories" accept-charset="UTF-8"> <div class="admin-summary">
<span class="summary-total">{{repositories.length | number}}</span>
<span class="summary-pill ok" ng-class="{active: filters.status.ready === false}" ng-click="filters.status.ready = !filters.status.ready" title="Toggle ready filter">Ready <span class="count">{{statusCountFor('ready') | number}}</span></span>
<span class="summary-pill warn" ng-class="{active: filters.status.preparing === false}" ng-click="filters.status.preparing = !filters.status.preparing" title="Toggle preparing filter">Preparing <span class="count">{{statusCountFor('preparing') | number}}</span></span>
<span class="summary-pill error" ng-class="{active: filters.status.error === false}" ng-click="filters.status.error = !filters.status.error" title="Toggle errored filter">Errored <span class="count">{{statusCountFor('error') | number}}</span></span>
<span class="summary-pill" ng-class="{active: filters.status.expired === false}" ng-click="filters.status.expired = !filters.status.expired" title="Toggle expired filter">Expired <span class="count">{{statusCountFor('expired') | number}}</span></span>
<span class="summary-pill" ng-class="{active: filters.status.removed === false}" ng-click="filters.status.removed = !filters.status.removed" title="Toggle removed filter">Removed <span class="count">{{statusCountFor('removed') | number}}</span></span>
</div>
<form class="w-100 admin-filter-toolbar" aria-label="Repositories" accept-charset="UTF-8">
<div class="admin-filter-row">
<div class="search-wrap"> <div class="search-wrap">
<input <input
type="search" type="search"
class="form-control" class="form-control"
aria-label="Search repositories" aria-label="Search repositories"
placeholder="Search repositories…" placeholder="Search repoId, source repo, error message…"
autocomplete="off" autocomplete="off"
ng-model="search" ng-model="search"
/> />
</div> </div>
<div class="d-flex flex-wrap" style="gap: 8px;"> <span class="admin-filter-spacer"></span>
<div class="dropdown"> <button class="btn btn-sm" type="button" ng-click="exportCsv()" title="Export current view to CSV"><i class="fas fa-file-csv"></i> Export</button>
<button class="btn dropdown-toggle" type="button" id="dropdownSort" data-toggle="dropdown">Sort</button>
<div class="dropdown-menu" aria-labelledby="dropdownSort">
<h6 class="dropdown-header">Sort by</h6>
<a class="dropdown-item" href="#" ng-click="orderBy = '-anonymizeDate'">
<i class="fas fa-check" ng-show="orderBy == '-anonymizeDate'"></i> Anonymize date
</a>
<a class="dropdown-item" href="#" ng-click="orderBy = 'repoId'">
<i class="fas fa-check" ng-show="orderBy == 'repoId'"></i> ID
</a>
<a class="dropdown-item" href="#" ng-click="orderBy = '-status'">
<i class="fas fa-check" ng-show="orderBy == '-status'"></i> Status
</a>
</div>
</div>
<div class="dropdown">
<button class="btn dropdown-toggle" type="button" id="dropdownStatus" data-toggle="dropdown">Status</button>
<div class="dropdown-menu" aria-labelledby="dropdownStatus">
<h6 class="dropdown-header">Filter by status</h6>
<div class="form-check dropdown-item">
<input class="form-check-input" type="checkbox" id="adminUserStatusReady" ng-model="filters.status.ready" />
<label class="form-check-label" for="adminUserStatusReady">Ready</label>
</div>
<div class="form-check dropdown-item">
<input class="form-check-input" type="checkbox" id="adminUserStatusExpired" ng-model="filters.status.expired" />
<label class="form-check-label" for="adminUserStatusExpired">Expired</label>
</div>
<div class="form-check dropdown-item">
<input class="form-check-input" type="checkbox" id="adminUserStatusRemoved" ng-model="filters.status.removed" />
<label class="form-check-label" for="adminUserStatusRemoved">Removed</label>
</div>
</div>
</div>
</div> </div>
</form> </form>
<div class="paper-table paper-table-repos w-100" role="table" aria-label="Repositories"> <div class="bulk-bar" ng-if="selectedCount() > 0">
<span><strong>{{selectedCount()}}</strong> selected</span>
<button class="btn btn-sm" type="button" ng-click="bulkRefresh()"><i class="fas fa-sync"></i> Force refresh</button>
<button class="btn btn-sm text-danger" type="button" ng-click="bulkRemoveCache()"><i class="fas fa-broom"></i> Remove cache</button>
<button class="btn btn-sm" type="button" ng-click="clearSelection()">Clear</button>
</div>
<div class="paper-table paper-table-repos has-bulk w-100" role="table" aria-label="Repositories">
<div class="paper-table-head" role="row"> <div class="paper-table-head" role="row">
<div role="columnheader">Repository</div> <div role="columnheader" style="width: 28px;">
<div role="columnheader">Status</div> <input type="checkbox" ng-click="selectAllOnPage()" ng-checked="allSelected" aria-label="Select all on page" />
<div role="columnheader" class="num">Views</div> </div>
<div role="columnheader">Anonymized</div> <div role="columnheader"><span class="sortable" ng-class="{active: query.sort == 'source.repositoryName'}" ng-click="sortBy('source.repositoryName')">Repository <i class="fas" ng-class="sortIcon('source.repositoryName')"></i></span></div>
<div role="columnheader"><span class="sortable" ng-class="{active: query.sort == 'status'}" ng-click="sortBy('status')">Status <i class="fas" ng-class="sortIcon('status')"></i></span></div>
<div role="columnheader" class="num"><span class="sortable" ng-class="{active: query.sort == 'pageView'}" ng-click="sortBy('pageView')">Views <i class="fas" ng-class="sortIcon('pageView')"></i></span></div>
<div role="columnheader"><span class="sortable" ng-class="{active: query.sort == 'anonymizeDate'}" ng-click="sortBy('anonymizeDate')">Anonymized <i class="fas" ng-class="sortIcon('anonymizeDate')"></i></span></div>
<div role="columnheader" aria-label="Actions"></div> <div role="columnheader" aria-label="Actions"></div>
</div> </div>
<div <div
class="paper-table-row" class="paper-table-row"
role="row" role="row"
ng-class="{'repo-inactive': repo.status == 'expired' || repo.status == 'removed', 'repo-error': repo.status == 'error'}" ng-class="{'repo-inactive': repo.status == 'expired' || repo.status == 'removed', 'repo-error': repo.status == 'error', 'row-selected': selected[repo.repoId]}"
ng-repeat="repo in repositories | filter:repoFiler | orderBy:orderBy as filteredRepositories" ng-repeat="repo in repositories | filter:repoFiler | orderBy:orderBy as filteredRepositories"
> >
<div role="cell" style="width: 28px;">
<input type="checkbox" ng-model="selected[repo.repoId]" aria-label="Select repository" />
</div>
<div class="cell-anon" role="cell"> <div class="cell-anon" role="cell">
<span class="type-badge type-repo">Repo</span> <span class="type-badge type-repo">Repo</span>
<div class="anon-text"> <div class="anon-text">
<a class="repo-name" ng-href="/r/{{repo.repoId}}" ng-bind="repo.repoId"></a> <a class="repo-name" target="_blank" ng-href="/r/{{repo.repoId}}" ng-bind="repo.repoId"></a>
<div class="anon-sub"> <div class="anon-sub">
<a href="https://github.com/{{repo.source.fullName}}/" ng-bind="repo.source.fullName"></a><span ng-if="repo.options.update">&nbsp;&middot;&nbsp;<a href="https://github.com/{{repo.source.fullName}}/tree/{{repo.source.branch}}" ng-bind="repo.source.branch"></a></span><span ng-if="!repo.options.update">&nbsp;&middot;&nbsp;@<a href="https://github.com/{{repo.source.fullName}}/tree/{{repo.source.commit}}" ng-bind="repo.source.commit.substring(0, 8)"></a></span><span>&nbsp;&middot;&nbsp;{{::repo.size.storage | humanFileSize}}</span><span>&nbsp;&middot;&nbsp;{{::repo.options.terms.length | number}} terms</span> <a href="https://github.com/{{repo.source.fullName}}/" ng-bind="repo.source.fullName"></a><span ng-if="repo.options.update">&nbsp;&middot;&nbsp;<a href="https://github.com/{{repo.source.fullName}}/tree/{{repo.source.branch}}" ng-bind="repo.source.branch"></a></span><span ng-if="!repo.options.update">&nbsp;&middot;&nbsp;@<a href="https://github.com/{{repo.source.fullName}}/tree/{{repo.source.commit}}" ng-bind="repo.source.commit.substring(0, 8)"></a></span><span ng-if="::repo.conference">&nbsp;&middot;&nbsp;<i class="fas fa-chalkboard-teacher"></i> {{repo.conference}}</span><span>&nbsp;&middot;&nbsp;{{::repo.size.storage | humanFileSize}}</span><span>&nbsp;&middot;&nbsp;{{::repo.options.terms.length | number}} terms</span>
</div> </div>
</div> </div>
</div> </div>
<div class="cell-status" role="cell"> <div class="cell-status" role="cell">
<span class="status-line"> <span class="status-line">
<span class="status-dot" ng-class="{'status-removed': repo.status == 'removed' || repo.status == 'expired', 'status-ready': repo.status == 'ready', 'status-error': repo.status == 'error'}"></span> <span class="status-dot" ng-class="{'status-removed': repo.status == 'removed' || repo.status == 'expired', 'status-ready': repo.status == 'ready', 'status-error': repo.status == 'error', 'status-preparing': repo.status == 'preparing'}"></span>
<span ng-bind="repo.status | title"></span> <span ng-bind="repo.status | title"></span>
</span> </span>
<span class="status-sub status-sub-error" ng-if="repo.status == 'error' && repo.statusMessage" title="{{repo.statusMessage}}" ng-bind="repo.statusMessage"></span> <span class="status-sub" ng-if="repo.statusMessage" title="{{repo.statusMessage}}" ng-bind="repo.statusMessage"></span>
</div> </div>
<div class="cell-views num" role="cell" ng-bind="::repo.pageView | number"></div> <div class="cell-views num" role="cell" ng-bind="::repo.pageView || 0 | number"></div>
<div class="cell-expires" role="cell" ng-bind="repo.anonymizeDate | humanTime"></div> <div class="cell-expires" role="cell" ng-bind="repo.anonymizeDate | humanTime"></div>
<div class="cell-actions" role="cell"> <div class="cell-actions" role="cell">
<div class="dropdown"> <div class="dropdown">
@@ -212,9 +214,11 @@
<a class="dropdown-item" href="/anonymize/{{repo.repoId}}"><i class="far fa-edit"></i> Edit</a> <a class="dropdown-item" href="/anonymize/{{repo.repoId}}"><i class="far fa-edit"></i> Edit</a>
<a class="dropdown-item" href="/r/{{repo.repoId}}/"><i class="fa fa-eye"></i> View repo</a> <a class="dropdown-item" href="/r/{{repo.repoId}}/"><i class="fa fa-eye"></i> View repo</a>
<a class="dropdown-item" href="/w/{{repo.repoId}}/" target="_self" ng-if="repo.options.page && repo.status == 'ready'"><i class="fas fa-globe"></i> View page</a> <a class="dropdown-item" href="/w/{{repo.repoId}}/" target="_self" ng-if="repo.options.page && repo.status == 'ready'"><i class="fas fa-globe"></i> View page</a>
<a class="dropdown-item" href="#" ng-click="fetchGithubInfo(repo)"><i class="fab fa-github"></i> Live GitHub info</a>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" ng-show="repo.status == 'ready' || repo.status == 'error'" ng-click="updateRepository(repo)"><i class="fas fa-sync"></i> Force update</a> <a class="dropdown-item" href="#" ng-show="repo.status == 'ready' || repo.status == 'error'" ng-click="updateRepository(repo)"><i class="fas fa-sync"></i> Force update</a>
<a class="dropdown-item" href="#" ng-show="repo.status == 'removed'" ng-click="updateRepository(repo)"><i class="fas fa-check-circle"></i> Enable</a> <a class="dropdown-item" href="#" ng-show="repo.status == 'removed'" ng-click="updateRepository(repo)"><i class="fas fa-check-circle"></i> Enable</a>
<a class="dropdown-item" href="#" ng-show="repo.statusMessage" ng-click="showStatusMessage(repo)"><i class="fas fa-exclamation-triangle"></i> View status message</a>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" ng-click="removeCache(repo)"><i class="fas fa-broom"></i> Remove cache</a> <a class="dropdown-item" href="#" ng-click="removeCache(repo)"><i class="fas fa-broom"></i> Remove cache</a>
<a class="dropdown-item text-danger" href="#" ng-show="repo.status == 'ready'" ng-click="removeRepository(repo)"><i class="fas fa-trash-alt"></i> Remove</a> <a class="dropdown-item text-danger" href="#" ng-show="repo.status == 'ready'" ng-click="removeRepository(repo)"><i class="fas fa-trash-alt"></i> Remove</a>
@@ -224,7 +228,7 @@
</div> </div>
<div class="paper-table-empty" ng-if="filteredRepositories.length == 0"> <div class="paper-table-empty" ng-if="filteredRepositories.length == 0">
<i class="fas fa-inbox"></i> <i class="fas fa-inbox"></i>
<span>No repositories to display.</span> <span>No repositories match the current filters.</span>
</div> </div>
</div> </div>
</div> </div>
+2 -1
View File
@@ -3,7 +3,8 @@
<h1 class="paper-page-title">Users</h1> <h1 class="paper-page-title">Users</h1>
<nav class="admin-nav"> <nav class="admin-nav">
<a href="/admin/"><i class="fas fa-code-branch"></i> Repositories</a> <a href="/admin/"><i class="fas fa-tachometer-alt"></i> Overview</a>
<a href="/admin/repositories"><i class="fas fa-code-branch"></i> Repositories</a>
<a href="/admin/users" class="active"><i class="fas fa-users"></i> Users</a> <a href="/admin/users" class="active"><i class="fas fa-users"></i> Users</a>
<a href="/admin/conferences"><i class="fas fa-chalkboard-teacher"></i> Conferences</a> <a href="/admin/conferences"><i class="fas fa-chalkboard-teacher"></i> Conferences</a>
<a href="/admin/queues"><i class="fas fa-tasks"></i> Queues</a> <a href="/admin/queues"><i class="fas fa-tasks"></i> Queues</a>
+26 -1
View File
@@ -16,6 +16,31 @@
<i class="fas fa-times"></i> <i class="fas fa-times"></i>
</button> </button>
</div> </div>
<div class="leftCol-search">
<div class="tree-search-box">
<i class="fas tree-search-icon" ng-class="fileSearchLoading ? 'fa-spinner fa-spin' : 'fa-search'"></i>
<input
type="text"
class="tree-search-input"
placeholder="Search files"
ng-model="fileSearchQuery"
ng-model-options="{ debounce: 300 }"
ng-change="onFileSearchChange()"
aria-label="Search files"
/>
<kbd class="tree-search-kbd" ng-hide="fileSearchQuery">{{isMac ? '⌘' : 'Ctrl+'}}K</kbd>
<button
class="tree-search-clear"
ng-show="fileSearchQuery"
ng-click="fileSearchQuery = ''; onFileSearchChange()"
aria-label="Clear search"
>&times;</button>
</div>
</div>
<div class="leftCol-project-header">
<span class="project-name" ng-bind="repoId"></span>
<span class="project-file-count">{{fileCounts[''] || files.length}} files</span>
</div>
<div class="leftCol-body"> <div class="leftCol-body">
<div <div
ng-if="options.truncatedFolders.length > 0" ng-if="options.truncatedFolders.length > 0"
@@ -25,7 +50,7 @@
<i class="fas fa-exclamation-triangle"></i> <i class="fas fa-exclamation-triangle"></i>
{{ 'WARNINGS.repo_truncated' | translate }} {{ 'WARNINGS.repo_truncated' | translate }}
</div> </div>
<tree class="files" file="files"></tree> <tree class="files" file="files" search-query="fileSearchQuery" search-results="fileSearchResults"></tree>
</div> </div>
<div class="leftCol-foot"> <div class="leftCol-foot">
<span <span
+425 -80
View File
@@ -452,11 +452,14 @@ angular
$scope.userInfo; $scope.userInfo;
$scope.repositories = []; $scope.repositories = [];
$scope.search = ""; $scope.search = "";
$scope.selected = {};
$scope.allSelected = false;
const adminUserPrefsKey = "admin.user.filterPrefs"; const adminUserPrefsKey = "admin.user.filterPrefs";
const adminUserDefaults = { const adminUserDefaults = {
filters: { status: { ready: true, expired: true, removed: true, error: true, preparing: true } }, filters: { status: { ready: true, expired: true, removed: true, error: true, preparing: true } },
orderBy: "-anonymizeDate", sort: "anonymizeDate",
direction: "desc",
}; };
const savedAdminUserPrefs = loadFilterPrefs(adminUserPrefsKey) || {}; const savedAdminUserPrefs = loadFilterPrefs(adminUserPrefsKey) || {};
$scope.filters = { $scope.filters = {
@@ -466,25 +469,49 @@ angular
(savedAdminUserPrefs.filters && savedAdminUserPrefs.filters.status) || {} (savedAdminUserPrefs.filters && savedAdminUserPrefs.filters.status) || {}
), ),
}; };
$scope.orderBy = savedAdminUserPrefs.orderBy || adminUserDefaults.orderBy; $scope.query = {
sort: savedAdminUserPrefs.sort || adminUserDefaults.sort,
direction: savedAdminUserPrefs.direction || adminUserDefaults.direction,
};
$scope.orderBy = ($scope.query.direction === "asc" ? "" : "-") + $scope.query.sort;
$scope.$watch("orderBy", () => { $scope.sortBy = (field) => {
if ($scope.query.sort === field) {
$scope.query.direction = $scope.query.direction === "asc" ? "desc" : "asc";
} else {
$scope.query.sort = field;
$scope.query.direction = "desc";
}
$scope.orderBy = ($scope.query.direction === "asc" ? "" : "-") + $scope.query.sort;
};
$scope.sortIcon = (field) =>
$scope.query.sort === field
? ($scope.query.direction === "asc" ? "fa-arrow-up" : "fa-arrow-down")
: "";
$scope.$watch("query", () => {
saveFilterPrefs(adminUserPrefsKey, { saveFilterPrefs(adminUserPrefsKey, {
filters: $scope.filters, filters: $scope.filters,
orderBy: $scope.orderBy, sort: $scope.query.sort,
}); direction: $scope.query.direction,
}); });
}, true);
$scope.$watch( $scope.$watch(
"filters", "filters",
() => { () => {
saveFilterPrefs(adminUserPrefsKey, { saveFilterPrefs(adminUserPrefsKey, {
filters: $scope.filters, filters: $scope.filters,
orderBy: $scope.orderBy, sort: $scope.query.sort,
direction: $scope.query.direction,
}); });
}, },
true true
); );
$scope.statusCountFor = (s) => {
return ($scope.repositories || []).filter((r) => r.status === s).length;
};
$scope.repoFiler = (repo) => { $scope.repoFiler = (repo) => {
if ($scope.filters.status[repo.status] == false) return false; if ($scope.filters.status[repo.status] == false) return false;
@@ -492,10 +519,84 @@ angular
if (repo.source.fullName.indexOf($scope.search) > -1) return true; if (repo.source.fullName.indexOf($scope.search) > -1) return true;
if (repo.repoId.indexOf($scope.search) > -1) return true; if (repo.repoId.indexOf($scope.search) > -1) return true;
if (repo.statusMessage && repo.statusMessage.indexOf($scope.search) > -1) return true;
if (repo.conference && repo.conference.indexOf($scope.search) > -1) return true;
return false; return false;
}; };
// -------- selection / bulk --------
$scope.selectAllOnPage = () => {
$scope.allSelected = !$scope.allSelected;
($scope.filteredRepositories || $scope.repositories).forEach((r) => {
$scope.selected[r.repoId] = $scope.allSelected;
});
};
$scope.selectedCount = () =>
Object.values($scope.selected || {}).filter(Boolean).length;
$scope.selectedRepos = () =>
$scope.repositories.filter((r) => $scope.selected[r.repoId]);
$scope.bulkRefresh = () => {
const repos = $scope.selectedRepos();
if (!repos.length) return;
if (!confirm(`Force refresh ${repos.length} repositories?`)) return;
repos.forEach((r) => $scope.updateRepository(r));
};
$scope.bulkRemoveCache = () => {
const repos = $scope.selectedRepos();
if (!repos.length) return;
if (!confirm(`Purge cache for ${repos.length} repositories?`)) return;
repos.forEach((r) => $scope.removeCache(r));
};
$scope.clearSelection = () => {
$scope.selected = {};
$scope.allSelected = false;
};
// -------- export --------
$scope.exportCsv = () => {
const filtered = ($scope.filteredRepositories || $scope.repositories);
const columns = ["repoId", "status", "statusMessage", "pageView", "anonymizeDate", "source.fullName", "conference", "size.storage"];
const header = columns.join(",");
const rows = filtered.map((r) =>
[r.repoId, r.status, r.statusMessage || "", r.pageView || 0, r.anonymizeDate || "", (r.source && r.source.fullName) || "", r.conference || "", (r.size && r.size.storage) || 0]
.map((v) => { const s = String(v == null ? "" : v); return /[",\n\r]/.test(s) ? '"' + s.replace(/"/g, '""') + '"' : s; })
.join(",")
);
const blob = new Blob([header + "\n" + rows.join("\n")], { type: "text/csv" });
const a = document.createElement("a");
a.href = URL.createObjectURL(blob);
a.download = $routeParams.username + "-repositories.csv";
a.click();
};
$scope.showStatusMessage = (repo) => {
const msg = repo.statusMessage || "(no message)";
window.prompt(`Status message for ${repo.repoId} (${repo.status}):`, msg);
};
$scope.fetchGithubInfo = (repo) => {
const w = window.open("", "_blank");
if (w) w.document.write("<pre>Loading GitHub info for " + repo.repoId + "...</pre>");
$http.get("/api/admin/repos/" + repo.repoId + "/github").then(
(res) => {
if (w) {
w.document.open();
w.document.write(
"<pre style=\"font:13px monospace;padding:16px;white-space:pre-wrap\">" +
JSON.stringify(res.data, null, 2).replace(/[<>]/g, (c) => c === "<" ? "&lt;" : "&gt;") +
"</pre>"
);
w.document.close();
}
},
(err) => {
const msg = err && err.data ? JSON.stringify(err.data, null, 2) : String(err);
if (w) w.document.body.innerHTML = "<pre style=\"color:#B42318;padding:16px\">" + msg + "</pre>";
}
);
};
function getUserRepositories(username) { function getUserRepositories(username) {
$http.get("/api/admin/users/" + username + "/repos", {}).then( $http.get("/api/admin/users/" + username + "/repos", {}).then(
(res) => { (res) => {
@@ -530,6 +631,18 @@ angular
.post(`/api/admin/users/${$routeParams.username}/activate`) .post(`/api/admin/users/${$routeParams.username}/activate`)
.then(() => getUser($routeParams.username), (err) => console.error(err)); .then(() => getUser($routeParams.username), (err) => console.error(err));
}; };
$scope.promoteUser = () => {
if (!confirm(`Promote ${$routeParams.username} to admin?`)) return;
$http
.post(`/api/admin/users/${$routeParams.username}/promote`)
.then(() => getUser($routeParams.username), (err) => console.error(err));
};
$scope.demoteUser = () => {
if (!confirm(`Remove admin privileges from ${$routeParams.username}?`)) return;
$http
.post(`/api/admin/users/${$routeParams.username}/demote`)
.then(() => getUser($routeParams.username), (err) => console.error(err));
};
$scope.tokens = []; $scope.tokens = [];
$scope.tokenForm = { name: "", plaintext: null }; $scope.tokenForm = { name: "", plaintext: null };
@@ -667,7 +780,9 @@ angular
}; };
$scope.chips = []; $scope.chips = [];
const recomputeChipsConf = () => { const recomputeChipsConf = () => {
$scope.chips = []; const out = [];
if ($scope.query.dateFrom || $scope.query.dateTo) out.push({ key: "dateRange", label: "Date", value: ($scope.query.dateFrom || "…") + " – " + ($scope.query.dateTo || "…") });
$scope.chips = out;
}; };
$scope.statusCountFor = (s) => { $scope.statusCountFor = (s) => {
@@ -699,9 +814,13 @@ angular
sort: "name", sort: "name",
direction: "asc", direction: "asc",
search: "", search: "",
status: "",
dateFrom: "", dateFrom: "",
dateTo: "", dateTo: "",
ready: false,
expired: false,
removed: false,
error: true,
preparing: true,
}; };
const savedConfAdminPrefs = loadFilterPrefs(confAdminPrefsKey) || {}; const savedConfAdminPrefs = loadFilterPrefs(confAdminPrefsKey) || {};
$scope.query = Object.assign({}, confAdminDefaults, savedConfAdminPrefs, { $scope.query = Object.assign({}, confAdminDefaults, savedConfAdminPrefs, {
@@ -709,6 +828,38 @@ angular
search: "", search: "",
}); });
// pre-fill filters from URL ?search=
const urlParams = $location.search();
if (urlParams.search) $scope.query.search = urlParams.search;
// -------- presets --------
const confPresetsKey = "admin.conferences.presets";
$scope.presets = JSON.parse(localStorage.getItem(confPresetsKey) || "[]");
$scope.savePreset = () => {
const name = window.prompt("Preset name:");
if (!name) return;
const snapshot = Object.assign({}, $scope.query);
delete snapshot.page;
$scope.presets = ($scope.presets || []).filter((p) => p.name !== name);
$scope.presets.push({ name, query: snapshot });
localStorage.setItem(confPresetsKey, JSON.stringify($scope.presets));
};
$scope.applyPreset = (p) => {
Object.assign($scope.query, p.query, { page: 1 });
};
$scope.deletePreset = (p) => {
$scope.presets = ($scope.presets || []).filter((x) => x.name !== p.name);
localStorage.setItem(confPresetsKey, JSON.stringify($scope.presets));
};
$scope.removeConference = (conference) => {
if (!confirm("Remove conference " + conference.conferenceID + "?")) return;
$http.delete("/api/admin/conferences/" + conference.conferenceID).then(
() => getConferences(),
(err) => console.error(err)
);
};
$scope.exportCsv = () => { $scope.exportCsv = () => {
const params = new URLSearchParams( const params = new URLSearchParams(
Object.entries($scope.query).filter(([, v]) => v !== "" && v !== false && v != null) Object.entries($scope.query).filter(([, v]) => v !== "" && v !== false && v != null)
@@ -727,7 +878,6 @@ angular
$scope.totalPage = Math.ceil(res.data.total / $scope.query.limit); $scope.totalPage = Math.ceil(res.data.total / $scope.query.limit);
$scope.conferences = res.data.results; $scope.conferences = res.data.results;
$scope.statusCounts = res.data.statusCounts || []; $scope.statusCounts = res.data.statusCounts || [];
$scope.$apply();
}, },
(err) => { (err) => {
$scope.fetchError = (err && err.data && err.data.error) || "Failed to load conferences"; $scope.fetchError = (err && err.data && err.data.error) || "Failed to load conferences";
@@ -757,39 +907,24 @@ angular
"$http", "$http",
"$location", "$location",
"$interval", "$interval",
function ($scope, $http, $location, $interval) { "$timeout",
function ($scope, $http, $location, $interval, $timeout) {
$scope.$watch("user.status", () => { $scope.$watch("user.status", () => {
if ($scope.user == null) { if ($scope.user == null) $location.url("/");
$location.url("/");
}
}); });
if ($scope.user == null) { if ($scope.user == null) $location.url("/");
$location.url("/");
}
$scope.downloadJobs = []; $scope.queueList = [];
$scope.removeJobs = []; $scope.jobs = [];
$scope.removeCaches = []; $scope.selectedQueue = "download";
$scope.counts = { download: {}, remove: {}, cache: {} }; $scope.selectedStats = null;
$scope.range = "1h";
$scope.query = { $scope.query = {
search: "", search: "",
state: "", state: "active",
autoRefresh: true, autoRefresh: true,
}; };
$scope.jobMatchesState = (job) => {
if (!$scope.query.state) return true;
const finished = !!job.finishedOn;
const failed = (job.stacktrace || []).length > 0 || job.failedReason;
const map = {
completed: finished && !failed,
failed: failed,
active: job.processedOn && !finished,
waiting: !job.processedOn,
};
return !!map[$scope.query.state];
};
$scope.jobProgressPct = (job) => { $scope.jobProgressPct = (job) => {
if (job && job.progress && typeof job.progress === "object" && typeof job.progress.percent === "number") { if (job && job.progress && typeof job.progress === "object" && typeof job.progress.percent === "number") {
return Math.max(0, Math.min(100, Math.round(job.progress.percent))); return Math.max(0, Math.min(100, Math.round(job.progress.percent)));
@@ -800,31 +935,42 @@ angular
return null; return null;
}; };
$scope.bulkRetryFailed = (queue) => { $scope.jobDuration = (job) => {
if (!confirm(`Retry all failed jobs in the ${queue} queue?`)) return; if (!job.processedOn) return "-";
$http.post(`/api/admin/queue/${queue}/retry-failed`).then(getQueues, (err) => console.error(err)); const end = job.finishedOn || Date.now();
const ms = end - job.processedOn;
if (ms < 1000) return ms + "ms";
return (ms / 1000).toFixed(1) + "s";
}; };
$scope.bulkDrain = (queue) => {
if (!confirm(`Drain (clear waiting+delayed) the ${queue} queue?`)) return; $scope.selectQueue = (key) => {
$http.post(`/api/admin/queue/${queue}/drain`).then(getQueues, (err) => console.error(err)); $scope.selectedQueue = key;
getQueues();
};
$scope.setRange = (r) => {
$scope.range = r;
getQueues();
}; };
function getQueues() { function getQueues() {
$http.get("/api/admin/queues", { params: $scope.query }).then( const params = {
queue: $scope.selectedQueue,
state: $scope.query.state,
search: $scope.query.search,
};
$http.get("/api/admin/queues", { params }).then(
(res) => { (res) => {
$scope.downloadJobs = res.data.downloadQueue; $scope.queueList = res.data.queues || [];
$scope.removeJobs = res.data.removeQueue; $scope.jobs = res.data.jobs || [];
$scope.removeCaches = res.data.cacheQueue; $scope.selectedStats = $scope.queueList.find((q) => q.key === $scope.selectedQueue) || $scope.queueList[0] || null;
$scope.counts = res.data.counts || $scope.counts; $timeout(drawChart, 0);
}, },
(err) => { (err) => console.error(err)
console.error(err);
}
); );
} }
getQueues(); getQueues();
// auto-refresh every 5 seconds while autoRefresh is on
const stop = $interval(() => { const stop = $interval(() => {
if ($scope.query.autoRefresh) getQueues(); if ($scope.query.autoRefresh) getQueues();
}, 5000); }, 5000);
@@ -832,45 +978,126 @@ angular
$scope.refreshNow = getQueues; $scope.refreshNow = getQueues;
$scope.removeJob = function (queue, job) { $scope.removeJob = (job) => {
$http $http.delete(`/api/admin/queue/${$scope.selectedQueue}/${job.id}`).then(getQueues, (err) => console.error(err));
.delete(`/api/admin/queue/${queue}/${job.id}`, {
params: $scope.query,
})
.then(
(res) => {
getQueues();
},
(err) => {
console.error(err);
}
);
}; };
$scope.retryJob = function (queue, job) { $scope.retryJob = (job) => {
$http $http.post(`/api/admin/queue/${$scope.selectedQueue}/${job.id}`).then(getQueues, (err) => console.error(err));
.post(`/api/admin/queue/${queue}/${job.id}`, { };
params: $scope.query,
}) $scope.retryFailed = () => {
.then( if (!confirm(`Retry all failed jobs in ${$scope.selectedQueue}?`)) return;
(res) => { $http.post(`/api/admin/queue/${$scope.selectedQueue}/retry-failed`).then(getQueues, (err) => console.error(err));
getQueues(); };
},
(err) => { $scope.drainSelected = () => {
console.error(err); if (!confirm(`Drain the ${$scope.selectedQueue} queue?`)) return;
} $http.post(`/api/admin/queue/${$scope.selectedQueue}/drain`).then(getQueues, (err) => console.error(err));
); };
$scope.togglePause = () => {
const action = $scope.selectedStats && $scope.selectedStats.paused ? "resume" : "pause";
$http.post(`/api/admin/queue/${$scope.selectedQueue}/${action}`).then(getQueues, (err) => console.error(err));
};
$scope.emptyQueue = () => {
if (!confirm(`Empty the ${$scope.selectedQueue} queue? This removes ALL jobs.`)) return;
$http.post(`/api/admin/queue/${$scope.selectedQueue}/empty`).then(getQueues, (err) => console.error(err));
};
$scope.pauseAll = () => {
if (!confirm("Pause all queues?")) return;
$http.post("/api/admin/queues/pause-all").then(getQueues, (err) => console.error(err));
}; };
let searchClear = null; let searchClear = null;
$scope.$watch( $scope.$watch("query.search", () => {
"query.search",
() => {
clearTimeout(searchClear); clearTimeout(searchClear);
searchClear = setTimeout(getQueues, 350); searchClear = setTimeout(getQueues, 350);
} });
);
$scope.$watch("query.state", getQueues); $scope.$watch("query.state", getQueues);
function drawChart() {
const canvas = document.getElementById("q-throughput-chart");
if (!canvas || !$scope.selectedStats) return;
const ctx = canvas.getContext("2d");
const dpr = window.devicePixelRatio || 1;
const rect = canvas.parentElement.getBoundingClientRect();
const w = rect.width - 40;
const h = 160;
canvas.width = w * dpr;
canvas.height = h * dpr;
canvas.style.width = w + "px";
canvas.style.height = h + "px";
ctx.setTransform(dpr, 0, 0, dpr, 0, 0);
const data = ($scope.selectedStats.throughput || []).slice().reverse();
if (data.length === 0) {
ctx.fillStyle = getComputedStyle(document.documentElement).getPropertyValue("--ink-muted").trim() || "#8A857C";
ctx.font = "12px var(--font-mono)";
ctx.textAlign = "center";
ctx.fillText("No throughput data yet", w / 2, h / 2);
return;
}
const rangePoints = { "1h": 60, "6h": 120, "24h": 120, "7d": 120 };
const pts = data.slice(0, rangePoints[$scope.range] || 60);
const max = Math.max(1, ...pts);
const step = w / (pts.length - 1 || 1);
const isDark = document.body.classList.contains("dark-mode");
const lineColor = isDark ? "#A7B2FF" : "#3B4AD6";
const fillColor = isDark ? "rgba(167,178,255,0.12)" : "rgba(59,74,214,0.08)";
const gridColor = isDark ? "rgba(255,255,255,0.06)" : "rgba(0,0,0,0.06)";
// grid
ctx.strokeStyle = gridColor;
ctx.lineWidth = 1;
for (let i = 0; i < 4; i++) {
const y = (h / 4) * i;
ctx.beginPath();
ctx.moveTo(0, y);
ctx.lineTo(w, y);
ctx.stroke();
}
// area fill
ctx.beginPath();
ctx.moveTo(0, h);
pts.forEach((v, i) => {
const x = i * step;
const y = h - (v / max) * (h - 10);
if (i === 0) ctx.lineTo(x, y);
else {
const px = (i - 1) * step;
const py = h - (pts[i - 1] / max) * (h - 10);
const cx = (px + x) / 2;
ctx.bezierCurveTo(cx, py, cx, y, x, y);
}
});
ctx.lineTo(w, h);
ctx.closePath();
ctx.fillStyle = fillColor;
ctx.fill();
// line
ctx.beginPath();
pts.forEach((v, i) => {
const x = i * step;
const y = h - (v / max) * (h - 10);
if (i === 0) ctx.moveTo(x, y);
else {
const px = (i - 1) * step;
const py = h - (pts[i - 1] / max) * (h - 10);
const cx = (px + x) / 2;
ctx.bezierCurveTo(cx, py, cx, y, x, y);
}
});
ctx.strokeStyle = lineColor;
ctx.lineWidth = 1.5;
ctx.stroke();
}
}, },
]) ])
.controller("errorsAdminController", [ .controller("errorsAdminController", [
@@ -1310,4 +1537,122 @@ angular
$scope.$watch("query.sort", recompute); $scope.$watch("query.sort", recompute);
$scope.$watch("query.group", recompute); $scope.$watch("query.group", recompute);
}, },
])
.controller("overviewAdminController", [
"$scope",
"$http",
"$location",
"$interval",
function ($scope, $http, $location, $interval) {
$scope.Math = Math;
$scope.$watch("user.status", () => {
if ($scope.user == null) $location.url("/");
});
if ($scope.user == null) { $location.url("/"); return; }
$scope.data = null;
$scope.loading = true;
$scope.error = null;
$scope.range = "24h";
$scope.setRange = function (r) { $scope.range = r; };
function humanBytes(b) {
if (b == null) return "—";
var units = ["B","KB","MB","GB","TB"];
var i = 0;
var v = b;
while (v >= 1024 && i < units.length - 1) { v /= 1024; i++; }
return v.toFixed(i > 0 ? 1 : 0) + " " + units[i];
}
$scope.humanBytes = humanBytes;
function humanDuration(seconds) {
if (!seconds) return "—";
var d = Math.floor(seconds / 86400);
var h = Math.floor((seconds % 86400) / 3600);
var m = Math.floor((seconds % 3600) / 60);
if (d > 0) return d + "d " + (h < 10 ? "0" : "") + h + "h";
if (h > 0) return h + "h " + (m < 10 ? "0" : "") + m + "m";
return m + "m";
}
$scope.humanDuration = humanDuration;
function humanNum(n) {
if (n == null) return "—";
if (n >= 1000000) return (n / 1000000).toFixed(1) + "M";
if (n >= 1000) return (n / 1000).toFixed(1) + "K";
return String(n);
}
$scope.humanNum = humanNum;
$scope.queueTotal = function (q) {
if (!q) return 0;
return (q.waiting || 0) + (q.active || 0) + (q.delayed || 0) + (q.failed || 0);
};
$scope.statusCount = function (status) {
if (!$scope.data || !$scope.data.repos) return 0;
var bd = $scope.data.repos.statusBreakdown || [];
for (var i = 0; i < bd.length; i++) {
if (bd[i]._id === status) return bd[i].count;
}
return 0;
};
$scope.barPct = function (status) {
var total = $scope.data && $scope.data.repos ? $scope.data.repos.total : 0;
if (!total) return 0;
var names = [status];
if (status === "expired") names.push("expiring");
if (status === "removed") names.push("removing");
if (status === "preparing") names.push("download");
var sum = 0;
names.forEach(function (n) { sum += $scope.statusCount(n); });
return Math.max(0.4, (sum / total) * 100);
};
$scope.errPct = function (key) {
if (!$scope.data || !$scope.data.errors) return 0;
var max = Math.max(
$scope.data.errors.severity.error,
$scope.data.errors.severity.warn,
$scope.data.errors.severity.info,
1
);
return ($scope.data.errors.severity[key] / max) * 100;
};
var historyMaxes = {};
$scope.historyBarH = function (d, field) {
if (!d || !historyMaxes[field]) return 0;
return Math.max(1, Math.round((d[field] / historyMaxes[field]) * 140));
};
$scope.historyLabel = function (d) {
if (!d || !d.date) return "";
var dt = new Date(d.date);
return (dt.getUTCMonth() + 1) + "/" + dt.getUTCDate();
};
function load() {
$http.get("/api/admin/overview").then(function (r) {
$scope.data = r.data;
$scope.loading = false;
$scope.error = null;
historyMaxes = {};
(r.data.history || []).forEach(function (d) {
["nbPageViews", "nbRepositories", "nbUsers"].forEach(function (k) {
if (!historyMaxes[k] || d[k] > historyMaxes[k]) historyMaxes[k] = d[k];
});
});
}, function (err) {
$scope.loading = false;
$scope.error = (err.data && err.data.error) || "Failed to load overview";
});
}
load();
var stop = $interval(load, 30000);
$scope.$on("$destroy", function () { $interval.cancel(stop); });
},
]); ]);
+374 -67
View File
@@ -113,6 +113,11 @@ angular
reloadOnUrl: false, reloadOnUrl: false,
}) })
.when("/admin/", { .when("/admin/", {
templateUrl: "/partials/admin/overview.htm",
controller: "overviewAdminController",
title: "Admin · Overview – Anonymous GitHub",
})
.when("/admin/repositories", {
templateUrl: "/partials/admin/repositories.htm", templateUrl: "/partials/admin/repositories.htm",
controller: "repositoriesAdminController", controller: "repositoriesAdminController",
title: "Admin · Repositories – Anonymous GitHub", title: "Admin · Repositories – Anonymous GitHub",
@@ -469,7 +474,7 @@ angular
function () { function () {
return { return {
restrict: "E", restrict: "E",
scope: { file: "=", parent: "@" }, scope: { file: "=", parent: "@", searchQuery: "=", searchResults: "=" },
controller: [ controller: [
"$element", "$element",
"$scope", "$scope",
@@ -491,20 +496,37 @@ angular
const toArray = function (arr) { const toArray = function (arr) {
const output = []; const output = [];
const keys = { "": { child: output } }; const keys = { "": { child: output } };
function ensurePath(path) {
if (keys[path]) return;
const segments = path.split("/");
let acc = "";
for (let i = 0; i < segments.length; i++) {
const parent = acc;
acc = acc ? acc + "/" + segments[i] : segments[i];
if (!keys[acc]) {
const dir = { name: segments[i], child: [] };
keys[acc] = dir;
keys[parent].child.push(dir);
}
}
}
for (let file of arr) { for (let file of arr) {
let current = keys[file.path].child; if (file.path && !keys[file.path]) {
ensurePath(file.path);
}
let current = keys[file.path || ""].child;
let fPath = `${file.path}/${file.name}`; let fPath = `${file.path}/${file.name}`;
if (fPath.startsWith("/")) { if (fPath.startsWith("/")) {
fPath = fPath.substring(1); fPath = fPath.substring(1);
} }
if (file.size != null) { if (file.size != null) {
// it is a file
current.push({ current.push({
name: file.name, name: file.name,
size: file.size, size: file.size,
sha: file.sha, sha: file.sha,
}); });
} else { } else {
if (!keys[fPath]) {
const dir = { const dir = {
name: file.name, name: file.name,
child: [], child: [],
@@ -513,6 +535,7 @@ angular
current.push(dir); current.push(dir);
} }
} }
}
return output; return output;
}; };
@@ -520,7 +543,7 @@ angular
const f1d = !!f1.child; const f1d = !!f1.child;
const f2d = !!f2.child; const f2d = !!f2.child;
if (f1d && f2d) { if (f1d && f2d) {
return f1.name - f2.name; return f1.name.localeCompare(f2.name);
} }
if (f1d) { if (f1d) {
return -1; return -1;
@@ -528,9 +551,18 @@ angular
if (f2d) { if (f2d) {
return 1; return 1;
} }
return f1.name - f2.name; return f1.name.localeCompare(f2.name);
}; };
function getFileCount(folderPath) {
const counts = $scope.$parent.fileCounts;
if (!counts) return 0;
const normalized = folderPath.startsWith("/")
? folderPath.substring(1)
: folderPath;
return counts[normalized] || 0;
}
function isTruncated(folderPath) { function isTruncated(folderPath) {
const truncated = const truncated =
($scope.$parent.options && ($scope.$parent.options &&
@@ -543,40 +575,82 @@ angular
return truncated.indexOf(normalized) !== -1; return truncated.indexOf(normalized) !== -1;
} }
function generate(current, parentPath) { function escapeHtml(str) {
return str.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
}
function buildSearchFilter() {
const results = $scope.searchResults;
if (!results || !results.length) return null;
const matchPaths = new Set();
const matchFolders = new Set();
for (const f of results) {
const full = f.path ? `${f.path}/${f.name}` : f.name;
matchPaths.add(full);
// Also collect all ancestor folders
if (f.path) {
const segments = f.path.split("/").filter(Boolean);
let acc = "";
for (const seg of segments) {
acc = acc ? `${acc}/${seg}` : seg;
matchFolders.add(acc);
}
}
}
return { paths: matchPaths, folders: matchFolders };
}
function nodeMatchesFilter(node, parentPath, filterSet) {
if (!filterSet) return true;
const path = parentPath
? `${parentPath}/${node.name}`
: node.name;
if (!node.child) {
return filterSet.paths.has(path);
}
// Show folder if it's an ancestor of a match or contains matches
if (filterSet.folders.has(path)) return true;
return node.child.some((c) =>
nodeMatchesFilter(c, path, filterSet)
);
}
function generate(current, parentPath, filterSet) {
if (!current) return ""; if (!current) return "";
current = current.sort(sortFiles); current = current.sort(sortFiles);
const afiles = current;
let output = "<ul>"; let output = "<ul>";
for (let f of afiles) { for (let f of current) {
if (filterSet && !nodeMatchesFilter(f, parentPath ? parentPath.substring(1) : "", filterSet)) {
continue;
}
let dir = !!f.child; let dir = !!f.child;
let name = f.name; let name = f.name;
let size = f.size; let size = f.size;
let collapsed = f;
if (dir) { if (dir) {
let test = name; let test = name;
current = f.child; let inner = f.child;
while (current && current.length == 1) { while (inner && inner.length == 1) {
test += "/" + current[0].name; test += "/" + inner[0].name;
size = current[0].size; size = inner[0].size;
current = current[0].child; inner = inner[0].child;
} }
name = test; name = test;
collapsed = inner ? { child: inner } : f;
if (size != null && size >= 0) { if (size != null && size >= 0) {
dir = false; dir = false;
} }
} }
if (size != null) { const sizeTitle = size != null ? `Size: ${humanFileSize(size || 0)}` : "";
size = `Size: ${humanFileSize(size || 0)}`;
} else {
size = "";
}
const path = `${parentPath}/${name}`; const path = `${parentPath}/${name}`;
const fileCount = dir ? getFileCount(path) : 0;
const isOpen = filterSet ? ($scope.opens[path] !== false) : $scope.opens[path];
const cssClasses = ["file"]; const cssClasses = ["file"];
if (dir) { if (dir) {
cssClasses.push("folder"); cssClasses.push("folder");
} }
if ($scope.opens[path]) { if (isOpen) {
cssClasses.push("open"); cssClasses.push("open");
} }
if ($scope.isActive(path)) { if ($scope.isActive(path)) {
@@ -589,48 +663,54 @@ angular
output += `<li class="${cssClasses.join( output += `<li class="${cssClasses.join(
" " " "
)}" ng-class="{active: isActive('${path}'), open: opens['${path}']}" title="${size}">`; )}" ng-class="{active: isActive('${path}'), open: ${filterSet ? "opens['" + path + "'] !== false" : "opens['" + path + "']"}}" title="${escapeHtml(sizeTitle)}">`;
if (dir) { if (dir) {
output += `<a ng-click="openFolder('${path}', $event)">${name}</a>`; output += `<a ng-click="openFolder('${path}', $event)"><span class="tree-toggle"></span><span class="tree-icon-folder"></span><span class="tree-name">${escapeHtml(name)}</span>`;
} else {
output += `<a href='/r/${$scope.repoId}${encodePathForUrl(
path
)}'>${name}</a>`;
}
if (truncated) { if (truncated) {
output += `<span class="truncated-warning" title="{{ 'WARNINGS.folder_truncated' | translate }}"><i class="fas fa-exclamation-triangle"></i></span>`; output += `<span class="truncated-warning" title="{{ 'WARNINGS.folder_truncated' | translate }}"><i class="fas fa-exclamation-triangle"></i></span>`;
} }
if ($scope.opens[path] && f.child) { if (fileCount > 0) {
if (f.child.length > 1) { output += `<span class="tree-count">${fileCount}</span>`;
output += generate(f.child, path); }
output += `</a>`;
} else {
const needsSpacer = parentPath !== "";
output += `<a href='/r/${$scope.repoId}${encodePathForUrl(
path
)}'>${needsSpacer ? '<span class="tree-spacer"></span>' : ''}<span class="tree-icon-file"></span><span class="tree-name">${escapeHtml(name)}</span></a>`;
}
if (isOpen && collapsed.child) {
const children = collapsed.child;
if (children.length > 1) {
output += generate(children, path, filterSet);
} else if (dir) { } else if (dir) {
current = f.child; let inner = children;
while (current && current.length == 1) { while (inner && inner.length == 1) {
current = current[0].child; inner = inner[0].child;
} }
output += generate(current, path); output += generate(inner, path, filterSet);
} }
} }
// output += generate(f.child, parentPath + "/" + f.name); output += "</li>";
output + "</li>";
} }
return output + "</ul>"; return output + "</ul>";
} }
function display() { function display() {
$element.html(""); $element.html("");
const output = generate(toArray($scope.file).sort(sortFiles), ""); const filterSet = $scope.searchQuery ? buildSearchFilter() : null;
let output;
if (filterSet !== null && filterSet.paths.size === 0) {
output = '<div class="tree-search-empty">No files found</div>';
} else {
output = generate(toArray($scope.file).sort(sortFiles), "", filterSet);
}
$compile(output)($scope, (clone) => { $compile(output)($scope, (clone) => {
$element.append(clone); $element.append(clone);
restoreFocus();
}); });
} }
// #496 — expand folders whose children are already loaded so
// reviewers see the whole tree without clicking through. Skip
// folders with empty children to avoid emitting an empty <ul>
// that breaks the click-time lazy-load (#496-followup): the
// openFolder handler used to detect "needs to load" by looking
// at the absence of a sibling node, but a pre-expanded empty
// <ul> is a non-null sibling and silently suppressed the fetch.
function expandAllFolders(nodes, parentPath) { function expandAllFolders(nodes, parentPath) {
if (!nodes) return; if (!nodes) return;
for (const f of nodes) { for (const f of nodes) {
@@ -656,24 +736,148 @@ angular
true true
); );
$scope.$watch("searchResults", (newVal, oldVal) => {
if (newVal === oldVal) return;
if ($scope.file && $scope.file.length) {
display();
}
});
$scope.$watch("searchQuery", (newVal, oldVal) => {
if (newVal === oldVal) return;
if (!newVal && $scope.file && $scope.file.length) {
display();
}
});
$scope.isActive = function (name) { $scope.isActive = function (name) {
return $routeParams.path == name.substring(1); return $routeParams.path == name.substring(1);
}; };
$scope.openFolder = async function (folder, event) { $scope.openFolder = function (folder, event) {
$scope.opens[folder] = !$scope.opens[folder]; var currentlyOpen = $scope.opens[folder];
const sib = event.srcElement.nextSibling; if (currentlyOpen === undefined && $scope.searchQuery) {
// Lazy-load when there's no sibling (folder never expanded) or currentlyOpen = true;
// when the sibling is an empty <ul> from a pre-expanded folder }
// whose children weren't fetched yet (#496-followup). $scope.opens[folder] = !currentlyOpen;
const li = event.target.closest("li");
const childUl = li ? li.querySelector(":scope > ul") : null;
const needsLoad = const needsLoad =
sib == null || childUl == null ||
(sib.tagName === "UL" && sib.children.length === 0); childUl.children.length === 0;
if (needsLoad) { if (needsLoad) {
await $scope.$parent.getFiles(folder.substring(1)); $scope.$parent.getFiles(folder.substring(1));
$scope.$apply();
} }
}; };
var focusedPath = $routeParams.path ? "/" + $routeParams.path : null;
function getVisibleLinks() {
return Array.from($element[0].querySelectorAll("li > a"));
}
function getFocusedLink() {
return $element[0].querySelector("a.tree-focused");
}
function getLinkPath(link) {
if (!link) return null;
var href = link.getAttribute("href");
if (href) {
var prefix = "/r/" + $scope.repoId;
return href.indexOf(prefix) === 0 ? decodeURIComponent(href.substring(prefix.length)) : null;
}
var onclick = link.getAttribute("ng-click");
if (onclick) {
var m = onclick.match(/openFolder\('([^']+)'/);
return m ? m[1] : null;
}
return null;
}
function findLinkByPath(path) {
if (!path) return null;
var links = getVisibleLinks();
for (var i = 0; i < links.length; i++) {
if (getLinkPath(links[i]) === path) return links[i];
}
return null;
}
function setFocus(link) {
var prev = getFocusedLink();
if (prev) prev.classList.remove("tree-focused");
if (link) {
link.classList.add("tree-focused");
link.scrollIntoView({ block: "nearest" });
focusedPath = getLinkPath(link);
} else {
focusedPath = null;
}
}
function restoreFocus() {
if (!focusedPath) return;
var link = findLinkByPath(focusedPath);
if (link) {
link.classList.add("tree-focused");
$element[0].focus();
}
}
$element[0].setAttribute("tabindex", "0");
$element[0].addEventListener("keydown", function (e) {
var links = getVisibleLinks();
if (!links.length) return;
var focused = getFocusedLink();
var idx = focused ? links.indexOf(focused) : -1;
if (e.key === "ArrowDown") {
e.preventDefault();
var next = idx < links.length - 1 ? idx + 1 : 0;
setFocus(links[next]);
} else if (e.key === "ArrowUp") {
e.preventDefault();
var prev = idx > 0 ? idx - 1 : links.length - 1;
setFocus(links[prev]);
} else if (e.key === "ArrowRight") {
e.preventDefault();
if (!focused) return;
var li = focused.closest("li");
if (li && li.classList.contains("folder")) {
if (!li.classList.contains("open")) {
focused.click();
} else {
var childLink = li.querySelector(":scope > ul > li > a");
if (childLink) setFocus(childLink);
}
}
} else if (e.key === "ArrowLeft") {
e.preventDefault();
if (!focused) return;
var li = focused.closest("li");
if (li && li.classList.contains("folder") && li.classList.contains("open")) {
focused.click();
} else {
var parentLi = li && li.parentElement ? li.parentElement.closest("li.folder") : null;
if (parentLi) {
var parentLink = parentLi.querySelector(":scope > a");
if (parentLink) setFocus(parentLink);
}
}
} else if (e.key === "Enter") {
e.preventDefault();
if (focused) focused.click();
}
});
$element[0].addEventListener("click", function (e) {
var link = e.target.closest("a");
if (link && $element[0].contains(link)) {
setFocus(link);
}
});
}, },
], ],
}; };
@@ -2157,9 +2361,100 @@ angular
"$location", "$location",
"$routeParams", "$routeParams",
"$sce", "$sce",
"$q",
"PDFViewerService", "PDFViewerService",
function ($scope, $http, $location, $routeParams, $sce, PDFViewerService) { function ($scope, $http, $location, $routeParams, $sce, $q, PDFViewerService) {
$scope.files = []; $scope.files = [];
$scope.isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform || navigator.userAgent);
$scope.fileSearchQuery = "";
$scope.fileSearchResults = null;
$scope.fileSearchLoading = false;
document.addEventListener("keydown", function (e) {
if ((e.metaKey || e.ctrlKey) && e.key === "k") {
e.preventDefault();
var input = document.querySelector(".tree-search-input");
if (input) {
input.focus();
input.select();
}
}
});
var searchCanceller = null;
$scope.onFileSearchChange = function () {
// Cancel any in-flight search request
if (searchCanceller) {
searchCanceller.resolve();
searchCanceller = null;
}
const query = $scope.fileSearchQuery;
if (!query || query.length < 2) {
$scope.fileSearchResults = null;
$scope.fileSearchLoading = false;
return;
}
$scope.fileSearchLoading = true;
searchCanceller = $q.defer();
$http.get(
`/api/repo/${$scope.repoId}/files/search?q=${encodeURIComponent(query)}`,
{ timeout: searchCanceller.promise }
).then(function (res) {
searchCanceller = null;
$scope.fileSearchLoading = false;
// Merge search results into $scope.files so the tree can render them.
// Ancestor folders must appear before their children for toArray() to work.
var existing = {};
$scope.files.forEach(function(f) {
existing[(f.path || "") + "/" + f.name] = true;
});
// First pass: collect ancestor folders (shallow to deep)
var foldersToAdd = [];
var folderSeen = {};
for (var i = 0; i < res.data.length; i++) {
var f = res.data[i];
if (f.path) {
var segments = f.path.split("/");
var acc = "";
for (var j = 0; j < segments.length; j++) {
var parent = acc;
acc = acc ? acc + "/" + segments[j] : segments[j];
var folderKey = parent + "/" + segments[j];
if (!existing[folderKey] && !folderSeen[folderKey]) {
folderSeen[folderKey] = true;
foldersToAdd.push({ name: segments[j], path: parent });
}
}
}
}
// Sort folders by depth (shallow first)
foldersToAdd.sort(function(a, b) {
return (a.path || "").split("/").length - (b.path || "").split("/").length;
});
// Add folders first, then files
if (foldersToAdd.length > 0) {
$scope.files.push.apply($scope.files, foldersToAdd);
}
var filesToAdd = [];
for (var k = 0; k < res.data.length; k++) {
var rf = res.data[k];
var key = (rf.path || "") + "/" + rf.name;
if (!existing[key] && rf.size != null) {
filesToAdd.push(rf);
existing[key] = true;
}
}
if (filesToAdd.length > 0) {
$scope.files.push.apply($scope.files, filesToAdd);
}
$scope.fileSearchResults = res.data;
}, function () {
// Only clear loading if this wasn't a cancellation
if (!searchCanceller) {
$scope.fileSearchLoading = false;
$scope.fileSearchResults = [];
}
});
};
const extensionModes = { const extensionModes = {
yml: "yaml", yml: "yaml",
txt: "text", txt: "text",
@@ -2270,21 +2565,30 @@ angular
); );
} }
} }
$scope.getFiles = async function (path) { $scope.fileCounts = null;
try { $scope.getFiles = function (path) {
const res = await $http.get( return $http.get(
`/api/repo/${$scope.repoId}/files/?path=${encodeURIComponent(path)}&v=${$scope.options.lastUpdateDate}` `/api/repo/${$scope.repoId}/files/?path=${encodeURIComponent(path)}&v=${$scope.options.lastUpdateDate}`
); ).then(function (res) {
const normalized = path || ""; const normalized = path || "";
$scope.files = $scope.files.filter((f) => f.path !== normalized); $scope.files = $scope.files.filter((f) => f.path !== normalized);
$scope.files.push(...res.data); $scope.files.push(...res.data);
return res.data; return res.data;
} catch (err) { }, function (err) {
$scope.type = "error"; $scope.type = "error";
$scope.content = (err && err.data && err.data.error) || "unknown_error"; $scope.content = (err && err.data && err.data.error) || "unknown_error";
$scope.files = []; $scope.files = [];
} });
}; };
function fetchFileCounts() {
$http.get(
`/api/repo/${$scope.repoId}/files/counts`
).then(function (res) {
$scope.fileCounts = res.data;
}, function () {
$scope.fileCounts = {};
});
}
function getSelectedFile() { function getSelectedFile() {
return $scope.files.filter( return $scope.files.filter(
@@ -2592,26 +2896,29 @@ angular
$scope.filePath = $routeParams.path || ""; $scope.filePath = $routeParams.path || "";
$scope.paths = $scope.filePath.split("/"); $scope.paths = $scope.filePath.split("/");
getOptions(async (options) => { getOptions(function (options) {
fetchFileCounts();
var chain = $q.resolve();
for (let i = 0; i < $scope.paths.length; i++) { for (let i = 0; i < $scope.paths.length; i++) {
const path = i > 0 ? $scope.paths.slice(0, i).join("/") : ""; const path = i > 0 ? $scope.paths.slice(0, i).join("/") : "";
await $scope.getFiles(path); chain = chain.then(function () {
return $scope.getFiles(path);
}).then(function () {
if ($scope.type === "error") { if ($scope.type === "error") {
$scope.$apply(); return $q.reject("error");
return;
} }
});
} }
chain.then(function () {
if ($scope.files.length == 1 && $scope.files[0].name == "") { if ($scope.files.length == 1 && $scope.files[0].name == "") {
$scope.files = []; $scope.files = [];
$scope.type = "empty"; $scope.type = "empty";
$scope.$apply();
} else { } else {
$scope.$apply(() => {
selectFile(); selectFile();
updateContent(); updateContent();
});
} }
}); });
});
} }
init(); init();
+102 -102
View File
@@ -1,4 +1,4 @@
!function(fe){"use strict";function i(e){if(!ve(e))return an;A(e.objectMaxDepth)&&(an.objectMaxDepth=w(e.objectMaxDepth)?e.objectMaxDepth:NaN),A(e.urlErrorParamsEnabled)&&S(e.urlErrorParamsEnabled)&&(an.urlErrorParamsEnabled=e.urlErrorParamsEnabled)}function w(e){return y(e)&&0<e}function $(r,s){return s=s||Error,function(){var e=arguments[0];for(t="["+(r?r+":":"")+e+"] http://errors.angularjs.org/1.8.2/"+(r?r+"/":"")+e,e=1;e<arguments.length;e++){var t=t+(1==e?"?":"&")+"p"+(e-1)+"=",i=encodeURIComponent,n=arguments[e];t+=i(n="function"==typeof n?n.toString().replace(/ \{[\s\S]*$/,""):void 0===n?"undefined":"string"!=typeof n?JSON.stringify(n):n)}return new s(t)}}function M(e){var t;return null!=e&&!u(e)&&(we(e)||xe(e)||Ae&&e instanceof Ae||y(t="length"in Object(e)&&e.length)&&(0<=t&&t-1 in e||"function"==typeof e.item))}function me(e,t,i){if(e)if(ke(e))for(r in e)"prototype"!==r&&"length"!==r&&"name"!==r&&e.hasOwnProperty(r)&&t.call(i,e[r],r,e);else if(we(e)||M(e))for(var n="object"!=typeof e,r=0,s=e.length;r<s;r++)(n||r in e)&&t.call(i,e[r],r,e);else if(e.forEach&&e.forEach!==me)e.forEach(t,i,e);else if(c(e))for(r in e)t.call(i,e[r],r,e);else if("function"==typeof e.hasOwnProperty)for(r in e)e.hasOwnProperty(r)&&t.call(i,e[r],r,e);else for(r in e)ln.call(e,r)&&t.call(i,e[r],r,e);return e}function a(e,t,i){for(var n=Object.keys(e).sort(),r=0;r<n.length;r++)t.call(i,e[n[r]],n[r])}function T(i){return function(e,t){i(t,e)}}function p(e,t,i){for(var n=e.$$hashKey,r=0,s=t.length;r<s;++r){var a=t[r];if(ve(a)||ke(a))for(var o=Object.keys(a),l=0,c=o.length;l<c;l++){var h=o[l],u=a[h];i&&ve(u)?k(u)?e[h]=new Date(u.valueOf()):f(u)?e[h]=new RegExp(u):u.nodeName?e[h]=u.cloneNode(!0):I(u)?e[h]=u.clone():"__proto__"!==h&&(ve(e[h])||(e[h]=we(u)?[]:{}),p(e[h],[u],!0)):e[h]=u}}return n?e.$$hashKey=n:delete e.$$hashKey,e}function ye(e){return p(e,hn.call(arguments,1),!1)}function n(e){return p(e,hn.call(arguments,1),!0)}function m(e){return parseInt(e,10)}function Re(e,t){return ye(Object.create(e),t)}function C(){}function Me(e){return e}function _(e){return function(){return e}}function h(e){return ke(e.toString)&&e.toString!==b}function be(e){return void 0===e}function A(e){return void 0!==e}function ve(e){return null!==e&&"object"==typeof e}function c(e){return null!==e&&"object"==typeof e&&!pn(e)}function xe(e){return"string"==typeof e}function y(e){return"number"==typeof e}function k(e){return"[object Date]"===b.call(e)}function we(e){return Array.isArray(e)||e instanceof Array}function Ie(e){switch(b.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return 1;default:return e instanceof Error}}function ke(e){return"function"==typeof e}function f(e){return"[object RegExp]"===b.call(e)}function u(e){return e&&e.window===e}function Ne(e){return e&&e.$evalAsync&&e.$watch}function S(e){return"boolean"==typeof e}function I(e){return!(!e||!(e.nodeName||e.prop&&e.attr&&e.find))}function Te(e){return Ee(e.nodeName||e[0]&&e[0].nodeName)}function De(e,t){t=e.indexOf(t);return 0<=t&&e.splice(t,1),t}function N(e,i,t){function r(e,t,i){if(--i<0)return"...";var n=t.$$hashKey;if(we(e))for(var r=0,s=e.length;r<s;r++)t.push(a(e[r],i));else if(c(e))for(r in e)t[r]=a(e[r],i);else if(e&&"function"==typeof e.hasOwnProperty)for(r in e)e.hasOwnProperty(r)&&(t[r]=a(e[r],i));else for(r in e)ln.call(e,r)&&(t[r]=a(e[r],i));return n?t.$$hashKey=n:delete t.$$hashKey,t}function a(e,t){if(!ve(e))return e;if(-1!==(i=s.indexOf(e)))return o[i];if(u(e)||Ne(e))throw gn("cpws");var i=!1,n=function(e){switch(b.call(e)){case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Float32Array]":case"[object Float64Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return new e.constructor(a(e.buffer),e.byteOffset,e.length);case"[object ArrayBuffer]":var t;return e.slice?e.slice(0):(t=new ArrayBuffer(e.byteLength),new Uint8Array(t).set(new Uint8Array(e)),t);case"[object Boolean]":case"[object Number]":case"[object String]":case"[object Date]":return new e.constructor(e.valueOf());case"[object RegExp]":return(t=new RegExp(e.source,e.toString().match(/[^/]*$/)[0])).lastIndex=e.lastIndex,t;case"[object Blob]":return new e.constructor([e],{type:e.type})}if(ke(e.cloneNode))return e.cloneNode(!0)}(e);return void 0===n&&(n=we(e)?[]:Object.create(pn(e)),i=!0),s.push(e),o.push(n),i?r(e,n,t):n}var n,s=[],o=[];if(t=w(t)?t:NaN,i){if((n=i)&&y(n.length)&&yn.test(b.call(n))||"[object ArrayBuffer]"===b.call(i))throw gn("cpta");if(e===i)throw gn("cpi");return we(i)?i.length=0:me(i,function(e,t){"$$hashKey"!==t&&delete i[t]}),s.push(e),o.push(i),r(e,i,t)}return a(e,t)}function Oe(e,t){return e===t||e!=e&&t!=t}function Se(e,t){if(e===t)return!0;if(null!==e&&null!==t){if(e!=e&&t!=t)return!0;var i,n=typeof e;if(n===typeof t&&"object"===n){if(!we(e)){if(k(e))return!!k(t)&&Oe(e.getTime(),t.getTime());if(f(e))return!!f(t)&&e.toString()===t.toString();Line truncated !function(fe){"use strict";function i(e){if(!ve(e))return an;A(e.objectMaxDepth)&&(an.objectMaxDepth=w(e.objectMaxDepth)?e.objectMaxDepth:NaN),A(e.urlErrorParamsEnabled)&&S(e.urlErrorParamsEnabled)&&(an.urlErrorParamsEnabled=e.urlErrorParamsEnabled)}function w(e){return y(e)&&0<e}function $(r,s){return s=s||Error,function(){var e=arguments[0];for(t="["+(r?r+":":"")+e+"] http://errors.angularjs.org/1.8.2/"+(r?r+"/":"")+e,e=1;e<arguments.length;e++){var t=t+(1==e?"?":"&")+"p"+(e-1)+"=",i=encodeURIComponent,n=arguments[e];t+=i(n="function"==typeof n?n.toString().replace(/ \{[\s\S]*$/,""):void 0===n?"undefined":"string"!=typeof n?JSON.stringify(n):n)}return new s(t)}}function M(e){var t;return null!=e&&!u(e)&&(we(e)||xe(e)||Ae&&e instanceof Ae||y(t="length"in Object(e)&&e.length)&&(0<=t&&t-1 in e||"function"==typeof e.item))}function me(e,t,i){if(e)if(ke(e))for(r in e)"prototype"!==r&&"length"!==r&&"name"!==r&&e.hasOwnProperty(r)&&t.call(i,e[r],r,e);else if(we(e)||M(e))for(var n="object"!=typeof e,r=0,s=e.length;r<s;r++)(n||r in e)&&t.call(i,e[r],r,e);else if(e.forEach&&e.forEach!==me)e.forEach(t,i,e);else if(c(e))for(r in e)t.call(i,e[r],r,e);else if("function"==typeof e.hasOwnProperty)for(r in e)e.hasOwnProperty(r)&&t.call(i,e[r],r,e);else for(r in e)ln.call(e,r)&&t.call(i,e[r],r,e);return e}function a(e,t,i){for(var n=Object.keys(e).sort(),r=0;r<n.length;r++)t.call(i,e[n[r]],n[r])}function T(i){return function(e,t){i(t,e)}}function p(e,t,i){for(var n=e.$$hashKey,r=0,s=t.length;r<s;++r){var a=t[r];if(ve(a)||ke(a))for(var o=Object.keys(a),l=0,c=o.length;l<c;l++){var h=o[l],u=a[h];i&&ve(u)?k(u)?e[h]=new Date(u.valueOf()):f(u)?e[h]=new RegExp(u):u.nodeName?e[h]=u.cloneNode(!0):I(u)?e[h]=u.clone():"__proto__"!==h&&(ve(e[h])||(e[h]=we(u)?[]:{}),p(e[h],[u],!0)):e[h]=u}}return n?e.$$hashKey=n:delete e.$$hashKey,e}function ye(e){return p(e,hn.call(arguments,1),!1)}function n(e){return p(e,hn.call(arguments,1),!0)}function m(e){return parseInt(e,10)}function Re(e,t){return ye(Object.create(e),t)}function C(){}function Me(e){return e}function _(e){return function(){return e}}function h(e){return ke(e.toString)&&e.toString!==b}function be(e){return void 0===e}function A(e){return void 0!==e}function ve(e){return null!==e&&"object"==typeof e}function c(e){return null!==e&&"object"==typeof e&&!pn(e)}function xe(e){return"string"==typeof e}function y(e){return"number"==typeof e}function k(e){return"[object Date]"===b.call(e)}function we(e){return Array.isArray(e)||e instanceof Array}function Ie(e){switch(b.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return 1;default:return e instanceof Error}}function ke(e){return"function"==typeof e}function f(e){return"[object RegExp]"===b.call(e)}function u(e){return e&&e.window===e}function Ne(e){return e&&e.$evalAsync&&e.$watch}function S(e){return"boolean"==typeof e}function I(e){return!(!e||!(e.nodeName||e.prop&&e.attr&&e.find))}function Te(e){return Ee(e.nodeName||e[0]&&e[0].nodeName)}function De(e,t){t=e.indexOf(t);return 0<=t&&e.splice(t,1),t}function N(e,i,t){function r(e,t,i){if(--i<0)return"...";var n=t.$$hashKey;if(we(e))for(var r=0,s=e.length;r<s;r++)t.push(a(e[r],i));else if(c(e))for(r in e)t[r]=a(e[r],i);else if(e&&"function"==typeof e.hasOwnProperty)for(r in e)e.hasOwnProperty(r)&&(t[r]=a(e[r],i));else for(r in e)ln.call(e,r)&&(t[r]=a(e[r],i));return n?t.$$hashKey=n:delete t.$$hashKey,t}function a(e,t){if(!ve(e))return e;if(-1!==(i=s.indexOf(e)))return o[i];if(u(e)||Ne(e))throw gn("cpws");var i=!1,n=function(e){switch(b.call(e)){case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Float32Array]":case"[object Float64Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return new e.constructor(a(e.buffer),e.byteOffset,e.length);case"[object ArrayBuffer]":var t;return e.slice?e.slice(0):(t=new ArrayBuffer(e.byteLength),new Uint8Array(t).set(new Uint8Array(e)),t);case"[object Boolean]":case"[object Number]":case"[object String]":case"[object Date]":return new e.constructor(e.valueOf());case"[object RegExp]":return(t=new RegExp(e.source,e.toString().match(/[^/]*$/)[0])).lastIndex=e.lastIndex,t;case"[object Blob]":return new e.constructor([e],{type:e.type})}if(ke(e.cloneNode))return e.cloneNode(!0)}(e);return void 0===n&&(n=we(e)?[]:Object.create(pn(e)),i=!0),s.push(e),o.push(n),i?r(e,n,t):n}var n,s=[],o=[];if(t=w(t)?t:NaN,i){if((n=i)&&y(n.length)&&yn.test(b.call(n))||"[object ArrayBuffer]"===b.call(i))throw gn("cpta");if(e===i)throw gn("cpi");return we(i)?i.length=0:me(i,function(e,t){"$$hashKey"!==t&&delete i[t]}),s.push(e),o.push(i),r(e,i,t)}return a(e,t)}function Oe(e,t){return e===t||e!=e&&t!=t}function Se(e,t){if(e===t)return!0;if(null!==e&&null!==t){if(e!=e&&t!=t)return!0;var i,n=typeof e;if(n===typeof t&&"object"===n){if(!we(e)){if(k(e))return!!k(t)&&Oe(e.getTime(),t.getTime());if(f(e))return!!f(t)&&e.toString()===t.toString();Line truncated
${e}</blockquote> ${e}</blockquote>
`}html(e,t){return e}heading(e,t,i){return`<h${t}>${e}</h${t}> `}html(e,t){return e}heading(e,t,i){return`<h${t}>${e}</h${t}>
`}hr(){return"<hr>\n"}list(e,t,i){var n=t?"ol":"ul";return"<"+n+(t&&1!==i?' start="'+i+'"':"")+">\n"+e+"</"+n+">\n"}listitem(e,t,i){return`<li>${e}</li> `}hr(){return"<hr>\n"}list(e,t,i){var n=t?"ol":"ul";return"<"+n+(t&&1!==i?' start="'+i+'"':"")+">\n"+e+"</"+n+">\n"}listitem(e,t,i){return`<li>${e}</li>
@@ -6,19 +6,19 @@ ${e}</blockquote>
`}table(e,t){return"<table>\n<thead>\n"+e+"</thead>\n"+(t=t&&`<tbody>${t}</tbody>`)+"</table>\n"}tablerow(e){return`<tr> `}table(e,t){return"<table>\n<thead>\n"+e+"</thead>\n"+(t=t&&`<tbody>${t}</tbody>`)+"</table>\n"}tablerow(e){return`<tr>
${e}</tr> ${e}</tr>
`}tablecell(e,t){var i=t.header?"th":"td";return(t.align?`<${i} align="${t.align}">`:`<${i}>`)+e+`</${i}> `}tablecell(e,t){var i=t.header?"th":"td";return(t.align?`<${i} align="${t.align}">`:`<${i}>`)+e+`</${i}>
`}strong(e){return`<strong>${e}</strong>`}em(e){return`<em>${e}</em>`}codespan(e){return`<code>${e}</code>`}br(){return"<br>"}del(e){return`<del>${e}</del>`}link(e,t,i){var n=l(e);if(null===n)return i;let r='<a href="'+(e=n)+'"';return t&&(r+=' title="'+t+'"'),r+=">"+i+"</a>"}image(e,t,i){var n=l(e);if(null===n)return i;let r=`<img src="${e=n}" alt="${i}"`;return t&&(r+=` title="${t}"`),r+=">"}text(e){return e}}class R{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,i){return""+i}image(e,t,i){return""+i}br(){return""}}class M{options;renderer;textRenderer;constructor(e){this.options=e||t.defaults,this.options.renderer=this.options.renderer||new L,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new R}static parse(e,t){return new M(t).parse(e)}static parseInline(e,t){return new M(t).parseInline(e)}parse(n,r=!0){let s="";for(let i=0;i<n.length;i++){var a=n[i];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[a.type]){const n=a,r=this.options.extensions.renderers[n.type].call({parser:this},n);if(!1!==r||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(n.type)){s+=r||"";continue}}switch(a.type){case"space":continue;case"hr":s+=this.renderer.hr();continue;case"heading":{const n=a;s+=this.renderer.heading(this.parseInline(n.tokens),n.depth,this.parseInline(n.tokens,this.textRenderer).replace(F,(e,t)=>"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""));continue}case"code":{const n=a;s+=this.renderer.code(n.text,n.lang,!!n.escaped);continue}case"table":{const n=a;let e="",t="";for(let e=0;e<n.header.length;e++)t+=this.renderer.tablecell(this.parseInline(n.header[e].tokens),{header:!0,align:n.align[e]});e+=this.renderer.tablerow(t);let i="";for(let e=0;e<n.rows.length;e++){const s=n.rows[e];t="";for(let e=0;e<s.length;e++)t+=this.renderer.tablecell(this.parseInline(s[e].tokens),{header:!1,align:n.align[e]});i+=this.renderer.tablerow(t)}s+=this.renderer.table(e,i);continue}case"blockquote":{const n=a,r=this.parse(n.tokens);s+=this.renderer.blockquote(r);continue}case"list":{const n=a,r=n.ordered,e=n.start,o=n.loose;let i="";for(let t=0;t<n.items.length;t++){const s=n.items[t],l=s.checked,c=s.task;let e="";if(s.task){const n=this.renderer.checkbox(!!l);o?0<s.tokens.length&&"paragraph"===s.tokens[0].type?(s.tokens[0].text=n+" "+s.tokens[0].text,s.tokens[0].tokens&&0<s.tokens[0].tokens.length&&"text"===s.tokens[0].tokens[0].type&&(s.tokens[0].tokens[0].text=n+" "+s.tokens[0].tokens[0].text)):s.tokens.unshift({type:"text",text:n+" "}):e+=n+" "}e+=this.parse(s.tokens,o),i+=this.renderer.listitem(e,c,!!l)}s+=this.renderer.list(i,r,e);continue}case"html":{const n=a;s+=this.renderer.html(n.text,n.block);continue}case"paragraph":{const n=a;s+=this.renderer.paragraph(this.parseInline(n.tokens));continue}case"text":{let e=a,t=e.tokens?this.parseInline(e.tokens):e.text;for(;i+1<n.length&&"text"===n[i+1].type;)e=n[++i],t+="\n"+(e.tokens?this.parseInline(e.tokens):e.text);s+=r?this.renderer.paragraph(t):t;continue}default:{const n='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(n),"";throw new Error(n)}}}return s}parseInline(t,i){i=i||this.renderer;let n="";for(let e=0;e<t.length;e++){var r=t[e];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[r.type]){const t=this.options.extensions.renderers[r.type].call({parser:this},r);if(!1!==t||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(r.type)){n+=t||"";continue}}switch(r.type){case"escape":{const t=r;n+=i.text(t.text);break}case"html":{const t=r;n+=i.html(t.text);break}case"link":{const t=r;n+=i.link(t.href,t.title,this.parseInline(t.tokens,i));break}case"image":{const t=r;n+=i.image(t.href,t.title,t.text);break}case"strong":{const t=r;n+=i.strong(this.parseInline(t.tokens,i));break}case"em":{const t=r;n+=i.em(this.parseInline(t.tokens,i));break}case"codespan":{const t=r;n+=i.codespan(t.text);break}case"br":n+=i.br();break;case"del":{const t=r;n+=i.del(this.parseInline(t.tokens,i));break}case"text":{const t=r;n+=i.text(t.text);break}default:{const t='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(t),"";throw new Error(t)}}}return n}}class I{options;constructor(e){this.options=e||t.defaults}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}}class le{defaults={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};options=this.setOptions;parse=this.#e($.lex,M.parse);parseInline=this.#e($.lexInline,M.parseInline);Parser=M;Renderer=L;TextRenderer=RLine truncated `}strong(e){return`<strong>${e}</strong>`}em(e){return`<em>${e}</em>`}codespan(e){return`<code>${e}</code>`}br(){return"<br>"}del(e){return`<del>${e}</del>`}link(e,t,i){var n=l(e);if(null===n)return i;let r='<a href="'+(e=n)+'"';return t&&(r+=' title="'+t+'"'),r+=">"+i+"</a>"}image(e,t,i){var n=l(e);if(null===n)return i;let r=`<img src="${e=n}" alt="${i}"`;return t&&(r+=` title="${t}"`),r+=">"}text(e){return e}}class R{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,i){return""+i}image(e,t,i){return""+i}br(){return""}}class M{options;renderer;textRenderer;constructor(e){this.options=e||t.defaults,this.options.renderer=this.options.renderer||new L,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new R}static parse(e,t){return new M(t).parse(e)}static parseInline(e,t){return new M(t).parseInline(e)}parse(n,r=!0){let s="";for(let i=0;i<n.length;i++){var a=n[i];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[a.type]){const n=a,r=this.options.extensions.renderers[n.type].call({parser:this},n);if(!1!==r||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(n.type)){s+=r||"";continue}}switch(a.type){case"space":continue;case"hr":s+=this.renderer.hr();continue;case"heading":{const n=a;s+=this.renderer.heading(this.parseInline(n.tokens),n.depth,this.parseInline(n.tokens,this.textRenderer).replace(F,(e,t)=>"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""));continue}case"code":{const n=a;s+=this.renderer.code(n.text,n.lang,!!n.escaped);continue}case"table":{const n=a;let e="",t="";for(let e=0;e<n.header.length;e++)t+=this.renderer.tablecell(this.parseInline(n.header[e].tokens),{header:!0,align:n.align[e]});e+=this.renderer.tablerow(t);let i="";for(let e=0;e<n.rows.length;e++){const s=n.rows[e];t="";for(let e=0;e<s.length;e++)t+=this.renderer.tablecell(this.parseInline(s[e].tokens),{header:!1,align:n.align[e]});i+=this.renderer.tablerow(t)}s+=this.renderer.table(e,i);continue}case"blockquote":{const n=a,r=this.parse(n.tokens);s+=this.renderer.blockquote(r);continue}case"list":{const n=a,r=n.ordered,e=n.start,o=n.loose;let i="";for(let t=0;t<n.items.length;t++){const s=n.items[t],l=s.checked,c=s.task;let e="";if(s.task){const n=this.renderer.checkbox(!!l);o?0<s.tokens.length&&"paragraph"===s.tokens[0].type?(s.tokens[0].text=n+" "+s.tokens[0].text,s.tokens[0].tokens&&0<s.tokens[0].tokens.length&&"text"===s.tokens[0].tokens[0].type&&(s.tokens[0].tokens[0].text=n+" "+s.tokens[0].tokens[0].text)):s.tokens.unshift({type:"text",text:n+" "}):e+=n+" "}e+=this.parse(s.tokens,o),i+=this.renderer.listitem(e,c,!!l)}s+=this.renderer.list(i,r,e);continue}case"html":{const n=a;s+=this.renderer.html(n.text,n.block);continue}case"paragraph":{const n=a;s+=this.renderer.paragraph(this.parseInline(n.tokens));continue}case"text":{let e=a,t=e.tokens?this.parseInline(e.tokens):e.text;for(;i+1<n.length&&"text"===n[i+1].type;)e=n[++i],t+="\n"+(e.tokens?this.parseInline(e.tokens):e.text);s+=r?this.renderer.paragraph(t):t;continue}default:{const n='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(n),"";throw new Error(n)}}}return s}parseInline(t,i){i=i||this.renderer;let n="";for(let e=0;e<t.length;e++){var r=t[e];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[r.type]){const t=this.options.extensions.renderers[r.type].call({parser:this},r);if(!1!==t||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(r.type)){n+=t||"";continue}}switch(r.type){case"escape":{const t=r;n+=i.text(t.text);break}case"html":{const t=r;n+=i.html(t.text);break}case"link":{const t=r;n+=i.link(t.href,t.title,this.parseInline(t.tokens,i));break}case"image":{const t=r;n+=i.image(t.href,t.title,t.text);break}case"strong":{const t=r;n+=i.strong(this.parseInline(t.tokens,i));break}case"em":{const t=r;n+=i.em(this.parseInline(t.tokens,i));break}case"codespan":{const t=r;n+=i.codespan(t.text);break}case"br":n+=i.br();break;case"del":{const t=r;n+=i.del(this.parseInline(t.tokens,i));break}case"text":{const t=r;n+=i.text(t.text);break}default:{const t='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(t),"";throw new Error(t)}}}return n}}class I{options;constructor(e){this.options=e||t.defaults}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}}class le{defaults={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};options=this.setOptions;parse=this.#e($.lex,M.parse);parseInline=this.#e($.lexInline,M.parseInline);Parser=M;Renderer=L;TextRenderer=RLine truncated
[ ]{`+Math.min.apply(Math,s)+"}","g"),r=r.map(function(e){return e.replace(n,` [ ]{`+Math.min.apply(Math,s)+"}","g"),r=r.map(function(e){return e.replace(n,`
`)})),r[0]=r[0].replace(/^\r?\n/,""),r[0]);return t.forEach(function(e,t){var i=a.match(/(?:^|\n)( *)$/),n=i?i[1]:"",i=e;"string"==typeof e&&e.includes(` `)})),r[0]=r[0].replace(/^\r?\n/,""),r[0]);return t.forEach(function(e,t){var i=a.match(/(?:^|\n)( *)$/),n=i?i[1]:"",i=e;"string"==typeof e&&e.includes(`
`)&&(i=String(e).split(` `)&&(i=String(e).split(`
`).map(function(e,t){return 0===t?e:""+n+e}).join(` `).map(function(e,t){return 0===t?e:""+n+e}).join(`
`)),a+=i+r[t+1]}),a}var Ye,Xe,Ke,Ze,Qe,Je,et,tt,it,nt,rt,st,at,ot,lt,ct,ht,ut,dt,pt,gt,ft,bt,vt,xt,wt,kt,Tt,St,Ct,_t,At,Et,$t,Lt,Rt,Mt,It,Nt,Dt,Ot,Pt,Bt,Ft,jt,zt,Ut,Ht,qt,Wt,Gt,Vt,Yt,s,Xt,Kt,Zt,i,Qt,Jt,ei,n,ti,ii,ni,ri,si,ai,oi,li,ci,hi,ui,di,pi,gi,fi,mi,yi,bi,vi,xi,wi,ki,Ti,Si,Ci,_i,Ai,Ei,$i,Li,Ri,Mi,Ii,Ni,Di,Oi,Pi,Bi,Fi,ji,zi=e(()=>{"use strict";mt(Ve,"dedent")}),Ui=e(()=>{"use strict";Ye=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,Xe=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,Ke=/\s*%%.*\n/gm}),Hi=e(()=>{"use strict";Ze=class extends Error{static{mt(this,"UnknownDiagramError")}constructor(e){super(e),this.name="UnknownDiagramError"}}}),qi=e(()=>{"use strict";t(),Ui(),Hi(),Qe={},Je=mt(function(e,t){e=e.replace(Ye,"").replace(Xe,"").replace(Ke,` `)),a+=i+r[t+1]}),a}var Ye,Xe,Ke,Qe,Ze,Je,et,tt,it,nt,rt,st,at,ot,lt,ct,ht,ut,dt,pt,gt,ft,bt,vt,xt,wt,kt,Tt,St,Ct,_t,At,Et,$t,Lt,Rt,Mt,It,Nt,Dt,Ot,Pt,Bt,Ft,jt,zt,Ut,Ht,qt,Wt,Gt,Vt,Yt,s,Xt,Kt,Qt,i,Zt,Jt,ei,n,ti,ii,ni,ri,si,ai,oi,li,ci,hi,ui,di,pi,gi,fi,mi,yi,bi,vi,xi,wi,ki,Ti,Si,Ci,_i,Ai,Ei,$i,Li,Ri,Mi,Ii,Ni,Di,Oi,Pi,Bi,Fi,ji,zi=e(()=>{"use strict";mt(Ve,"dedent")}),Ui=e(()=>{"use strict";Ye=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,Xe=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,Ke=/\s*%%.*\n/gm}),Hi=e(()=>{"use strict";Qe=class extends Error{static{mt(this,"UnknownDiagramError")}constructor(e){super(e),this.name="UnknownDiagramError"}}}),qi=e(()=>{"use strict";t(),Ui(),Hi(),Ze={},Je=mt(function(e,t){e=e.replace(Ye,"").replace(Xe,"").replace(Ke,`
`);for(var[i,{detector:n}]of Object.entries(Qe))if(n(e,t))return i;throw new Ze("No diagram type detected matching given configuration for text: "+e)},"detectType"),et=mt((...e)=>{for(var{id:t,detector:i,loader:n}of e)tt(t,i,n)},"registerLazyLoadedDiagrams"),tt=mt((e,t,i)=>{Qe[e]&&I.warn(`Detector with key ${e} already exists. Overwriting.`),Qe[e]={detector:t,loader:i},I.debug(`Detector with key ${e} added`+(i?" with loader":""))},"addDetector"),it=mt(e=>Qe[e].loader,"getDiagramLoader")}),Wi=e(()=>{"use strict";function P(){this.yy={}}var e,t,i,B,F,j,n,r,s,a,o,l,h,u,d,p,g,f,m,y,b,v,x,w,k,T,S,C,_,A,E,$,L,R,z,U,H,q,W,G,V,Y,X,K,Z,Q,J,M,I,N,D,O,ee,te,ie,ne;e=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),t=[1,24],i=[1,25],B=[1,26],F=[1,27],j=[1,28],n=[1,63],r=[1,64],s=[1,65],a=[1,66],o=[1,67],l=[1,68],h=[1,69],u=[1,29],d=[1,30],p=[1,31],g=[1,32],f=[1,33],m=[1,34],y=[1,35],b=[1,36],v=[1,37],x=[1,38],w=[1,39],k=[1,40],T=[1,41],S=[1,42],C=[1,43],_=[1,44],A=[1,45],E=[1,46],$=[1,47],L=[1,48],R=[1,50],z=[1,51],U=[1,52],H=[1,53],q=[1,54],W=[1,55],G=[1,56],V=[1,57],Y=[1,58],X=[1,59],K=[1,60],Z=[14,42],Q=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],J=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],M=[1,82],I=[1,83],N=[1,84],D=[1,85],O=[12,14,42],ee=[12,14,33,42],te=[12,14,33,42,76,77,79,80],ie=[12,33],ne=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],t={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 3:n.setDirection("TB");break;case 4:n.setDirection("BT");break;case 5:n.setDirection("RL");break;case 6:n.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:n.setC4Type(s[o-3]);break;case 19:n.setTitle(s[o].substring(6)),this.$=s[o].substring(6);break;case 20:n.setAccDescription(s[o].substring(15)),this.$=s[o].substring(15);break;case 21:this.$=s[o].trim(),n.setTitle(this.$);break;case 22:case 23:this.$=s[o].trim(),n.se Line truncated `);for(var[i,{detector:n}]of Object.entries(Ze))if(n(e,t))return i;throw new Qe("No diagram type detected matching given configuration for text: "+e)},"detectType"),et=mt((...e)=>{for(var{id:t,detector:i,loader:n}of e)tt(t,i,n)},"registerLazyLoadedDiagrams"),tt=mt((e,t,i)=>{Ze[e]&&I.warn(`Detector with key ${e} already exists. Overwriting.`),Ze[e]={detector:t,loader:i},I.debug(`Detector with key ${e} added`+(i?" with loader":""))},"addDetector"),it=mt(e=>Ze[e].loader,"getDiagramLoader")}),Wi=e(()=>{"use strict";function P(){this.yy={}}var e,t,i,B,F,j,n,r,s,a,o,l,h,u,d,p,g,f,m,y,b,v,x,w,k,T,S,C,_,A,E,$,L,R,z,U,H,q,W,G,V,Y,X,K,Q,Z,J,M,I,N,D,O,ee,te,ie,ne;e=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),t=[1,24],i=[1,25],B=[1,26],F=[1,27],j=[1,28],n=[1,63],r=[1,64],s=[1,65],a=[1,66],o=[1,67],l=[1,68],h=[1,69],u=[1,29],d=[1,30],p=[1,31],g=[1,32],f=[1,33],m=[1,34],y=[1,35],b=[1,36],v=[1,37],x=[1,38],w=[1,39],k=[1,40],T=[1,41],S=[1,42],C=[1,43],_=[1,44],A=[1,45],E=[1,46],$=[1,47],L=[1,48],R=[1,50],z=[1,51],U=[1,52],H=[1,53],q=[1,54],W=[1,55],G=[1,56],V=[1,57],Y=[1,58],X=[1,59],K=[1,60],Q=[14,42],Z=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],J=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],M=[1,82],I=[1,83],N=[1,84],D=[1,85],O=[12,14,42],ee=[12,14,33,42],te=[12,14,33,42,76,77,79,80],ie=[12,33],ne=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],t={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 3:n.setDirection("TB");break;case 4:n.setDirection("BT");break;case 5:n.setDirection("RL");break;case 6:n.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:n.setC4Type(s[o-3]);break;case 19:n.setTitle(s[o].substring(6)),this.$=s[o].substring(6);break;case 20:n.setAccDescription(s[o].substring(15)),this.$=s[o].substring(15);break;case 21:this.$=s[o].trim(),n.setTitle(this.$);break;case 22:case 23:this.$=s[o].trim(),n.se Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},i={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},i={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:mt(function(e,t,i,n){switch(i){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:case 53:return this.begin("rel_u"),66;case 54:case 55:return this.begin("rel_d"),67;case 56:case 57:return this.begin("rel_l"),68;case 58:case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\ Line truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:mt(function(e,t,i,n){switch(i){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:case 53:return this.begin("rel_u"),66;case 54:case 55:return this.begin("rel_d"),67;case 56:case 57:return this.begin("rel_l"),68;case 58:case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\ Line truncated
`+l),b&&Xn([J,ee,te],e=>{l=nr(l,e," ")}),p&&k?p.createHTML(l):l},u.setConfig=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};Ie(e),me=!0},u.clearConfig=function(){R=null,me=!1},u.isValidAttribute=function(e,t,i){R||Ie({});e=L(e),t=L(t);return Ue(e,t,i)},u.addHook=function(e,t){"function"==typeof t&&Qn(g[e],t)},u.removeHook=function(e,t){return void 0!==t?-1===(t=Kn(g[e],t))?void 0:Jn(g[e],t,1)[0]:Zn(g[e])},u.removeHooks=function(e){g[e]=[]},u.removeAllHooks=function(){g=Nr()},u}var jn,zn,Un,Hn,qn,Wn,Gn,Vn,Yn,Xn,Kn,Zn,Qn,Jn,er,tr,ir,nr,rr,sr,ar,or,lr,cr,hr,ur,dr,pr,gr,fr,mr,yr,br,vr,xr,wr,kr,Tr,Sr,Cr,_r,Ar,Er,$r,Lr,Rr,Mr,Ir,Nr,Dr,Or=e(()=>{"use strict";({entries:jn,setPrototypeOf:zn,isFrozen:Un,getPrototypeOf:Hn,getOwnPropertyDescriptor:qn}=Object),{freeze:Wn,seal:$r,create:Gn}=Object,{apply:Vn,construct:Yn}=typeof Reflect<"u"&&Reflect,Wn=Wn||mt(function(e){return e},"freeze"),$r=$r||mt(function(e){return e},"seal"),Vn=Vn||mt(function(e,t,i){return e.apply(t,i)},"apply"),Yn=Yn||mt(function(e,t){return new e(...t)},"construct"),Xn=In(Array.prototype.forEach),Kn=In(Array.prototype.lastIndexOf),Zn=In(Array.prototype.pop),Qn=In(Array.prototype.push),Jn=In(Array.prototype.splice),er=In(String.prototype.toLowerCase),tr=In(String.prototype.toString),ir=In(String.prototype.match),nr=In(String.prototype.replace),rr=In(String.prototype.indexOf),sr=In(String.prototype.trim),ar=In(Object.prototype.hasOwnProperty),or=In(RegExp.prototype.test),lr=Nn(TypeError),mt(In,"unapply"),mt(Nn,"unconstruct"),mt(Dn,"addToSet"),mt(On,"cleanArray"),mt(Pn,"clone"),mt(Bn,"lookupGetter"),cr=Wn(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),hr=Wn(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),ur=Wn(["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"]),dr=Wn(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),pr=Wn(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),gr=Wn(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),fr=Wn(["#text"]),mr=Wn(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","s Line truncated `+l),b&&Xn([J,ee,te],e=>{l=nr(l,e," ")}),p&&k?p.createHTML(l):l},u.setConfig=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};Ie(e),me=!0},u.clearConfig=function(){R=null,me=!1},u.isValidAttribute=function(e,t,i){R||Ie({});e=L(e),t=L(t);return Ue(e,t,i)},u.addHook=function(e,t){"function"==typeof t&&Zn(g[e],t)},u.removeHook=function(e,t){return void 0!==t?-1===(t=Kn(g[e],t))?void 0:Jn(g[e],t,1)[0]:Qn(g[e])},u.removeHooks=function(e){g[e]=[]},u.removeAllHooks=function(){g=Nr()},u}var jn,zn,Un,Hn,qn,Wn,Gn,Vn,Yn,Xn,Kn,Qn,Zn,Jn,er,tr,ir,nr,rr,sr,ar,or,lr,cr,hr,ur,dr,pr,gr,fr,mr,yr,br,vr,xr,wr,kr,Tr,Sr,Cr,_r,Ar,Er,$r,Lr,Rr,Mr,Ir,Nr,Dr,Or=e(()=>{"use strict";({entries:jn,setPrototypeOf:zn,isFrozen:Un,getPrototypeOf:Hn,getOwnPropertyDescriptor:qn}=Object),{freeze:Wn,seal:$r,create:Gn}=Object,{apply:Vn,construct:Yn}=typeof Reflect<"u"&&Reflect,Wn=Wn||mt(function(e){return e},"freeze"),$r=$r||mt(function(e){return e},"seal"),Vn=Vn||mt(function(e,t,i){return e.apply(t,i)},"apply"),Yn=Yn||mt(function(e,t){return new e(...t)},"construct"),Xn=In(Array.prototype.forEach),Kn=In(Array.prototype.lastIndexOf),Qn=In(Array.prototype.pop),Zn=In(Array.prototype.push),Jn=In(Array.prototype.splice),er=In(String.prototype.toLowerCase),tr=In(String.prototype.toString),ir=In(String.prototype.match),nr=In(String.prototype.replace),rr=In(String.prototype.indexOf),sr=In(String.prototype.trim),ar=In(Object.prototype.hasOwnProperty),or=In(RegExp.prototype.test),lr=Nn(TypeError),mt(In,"unapply"),mt(Nn,"unconstruct"),mt(Dn,"addToSet"),mt(On,"cleanArray"),mt(Pn,"clone"),mt(Bn,"lookupGetter"),cr=Wn(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),hr=Wn(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),ur=Wn(["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"]),dr=Wn(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),pr=Wn(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),gr=Wn(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),fr=Wn(["#text"]),mr=Wn(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","s Line truncated
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
@@ -272,10 +272,10 @@ c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6
c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17
c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}},"tallDelim"),Ws=class{static{mt(this,"DocumentFragment")}constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return ws.contains(this.classes,e)}toNode(){for(var e=document.createDocumentFragment(),t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e}toMarkup(){for(var e="",t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e}toText(){var e=mt(e=>e.toText(),"toText");return this.children.map(e).join("")}},Gs={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872: Line truncated -470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}},"tallDelim"),Ws=class{static{mt(this,"DocumentFragment")}constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return ws.contains(this.classes,e)}toNode(){for(var e=document.createDocumentFragment(),t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e}toMarkup(){for(var e="",t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e}toText(){var e=mt(e=>e.toText(),"toText");return this.children.map(e).join("")}},Gs={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872: Line truncated
`+h+" children.");u=["brace-left","brace-center","brace-right"],d=["xMinYMin","xMidYMin","xMaxYMin"]}for(var p=0;p<h;p++){var g=new fa(a[p]),g=new ga([g],{width:"400em",height:K(c),viewBox:"0 0 "+i+" "+l,preserveAspectRatio:d[p]+" slice"}),g=Z.makeSvgSpan([u[p]],[g],m);if(1===h)return{span:g,minWidth:o,height:c};g.style.height=K(c),r.push(g)}return{span:Z.makeSpan(["stretchy"],r,m),minWidth:o,height:c}}mt(e,"buildSvgSpan_");var{span:t,minWidth:i,height:n}=e();return t.height=n,t.style.height=K(n),0<i&&(t.style.minWidth=K(i)),t},"svgSpan"),Hl=mt(function(e,t,i,n,r){var s,e=e.height+e.depth+i+n;return/fbox|color|angl/.test(t)?(s=Z.makeSpan(["stretchy",t],[],r),"fbox"===t&&(i=r.color&&r.getColor())&&(s.style.borderColor=i)):(n=[],/^[bx]cancel$/.test(t)&&n.push(new ma({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&n.push(new ma({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"})),i=new ga(n,{width:"100%",height:K(e)}),s=Z.makeSvgSpan([],[i],r)),s.height=e,s.style.height=K(e),s},"encloseSpan"),Do={encloseSpan:Hl,mathMLnode:y,svgSpan:dc},mt(Jr,"assertNodeType"),mt(es,"assertSymbolNodeType"),mt(ts,"checkSymbolNodeType"),Oo=mt((e,t)=>{e&&"supsub"===e.type?(o=(i=Jr(e.base,"accent")).base,e.base=o,n=Gr(vo(e,t)),e.base=i):o=(i=Jr(e,"accent")).base;var i,n,r,s,e=vo(o,t.havingCrampedStyle()),a=0,o=(i.isShifty&&ws.isCharacterBox(o)&&(o=ws.getBaseElem(o),a=Wr(vo(o,t.havingCrampedStyle())).skew),"\\c"===i.label),l=o?e.height+e.depth:Math.min(e.height,t.fontMetrics().xHeight),c=i.isStretchy?(c=Do.svgSpan(i,t),Z.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"elem",elem:c,wrapperClasses:["svg-align"],wrapperStyle:0<a?{width:"calc(100% - "+K(2*a)+")",marginLeft:K(2*a)}:void 0}]},t)):("\\vec"===i.label?(s=Z.staticSvg("vec",t),r=Z.svgData.vec[1]):((s=Wr(s=Z.makeOrd({mode:i.mode,text:i.label},t,"textord"))).italic=0,r=s.width,o&&(l+=s.depth)),c=Z.makeSpan(["accent-body"],[s]),(o="\\textcircled"===i.label)&&(c.classes.push("accent-full"),l=e.height),s=a,o||(s-=r/2),c.style.left=K(s),"\\textcircled"===i.label&&(c.style.top=".2em"),Z.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"kern",size:-l},{type:"elem",elem:c}]},t)),a=Z.makeSpan(["mord","accent"],[c],t);return n?(n.children[0]=a,n.height=Math.max(a.height,n.height),n.classes[0]="mord",n):a},"htmlBuilder$a"),Wl=mt((e,t)=>{var i=e.isStretchy?Do.mathMLnode(e.label):new S.MathNode("mo",[ko(e.label,e.mode)]),e=new S.MathNode("mover",[Ao(e.base,t),i]);return e.setAttribute("accent","true"),e},"mathmlBuilder$9"),Po=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(e=>"\\"+e).join("|")),l({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:mt((e,t)=>{var t=so(t[0]),i=!Po.test(e.funcName),n=!i||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:i,isShifty:n,base:t}},"handler"),htmlBuilder:Oo,mathmlBuilder:Wl}),l({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:mt((e,t)=>{var t=t[0],i=e.parser.mode;return"math"===i&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),i="text"),{type:"accent",mode:i,label:e.funcName,isStretchy:!1,isShifty:!0,base:t}},"handler"),htmlBuilder:Oo,mathmlBuilder:Wl}),l({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:mt((e,t)=>{var{parser:e,funcName:i}=e,t=t[0];return{type:"accentUnder",mode:e.mode,label:i,base:t}},"handler"),htmlBuilder:mt((e,t)=>{var i=vo(e.base,t),n=Do.svgSpan(e,t),e="\\utilde"===e.label?.12:0,n=Z.makeVList({positionType:"top",positionData:i.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:e},{type:"elem",elem:i}]},t);return Z.makeSpan(["mord","accentunder"],[n],t)},"htmlBuilder"),mathmlBuilder:mt((e,t)=>{var i=Do.mathMLnode(e.label),e=new S.MathNode("munder",[Ao(e.base,t),i]);return e.setAttribute("accentunder","true"),e},"mathmlBuilder")}),Bo=mt(e=>{e=new S.MathNode("mpadded",e?[e]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e},"paddedNode"),l({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondowLine truncated `+h+" children.");u=["brace-left","brace-center","brace-right"],d=["xMinYMin","xMidYMin","xMaxYMin"]}for(var p=0;p<h;p++){var g=new fa(a[p]),g=new ga([g],{width:"400em",height:K(c),viewBox:"0 0 "+i+" "+l,preserveAspectRatio:d[p]+" slice"}),g=Q.makeSvgSpan([u[p]],[g],m);if(1===h)return{span:g,minWidth:o,height:c};g.style.height=K(c),r.push(g)}return{span:Q.makeSpan(["stretchy"],r,m),minWidth:o,height:c}}mt(e,"buildSvgSpan_");var{span:t,minWidth:i,height:n}=e();return t.height=n,t.style.height=K(n),0<i&&(t.style.minWidth=K(i)),t},"svgSpan"),Hl=mt(function(e,t,i,n,r){var s,e=e.height+e.depth+i+n;return/fbox|color|angl/.test(t)?(s=Q.makeSpan(["stretchy",t],[],r),"fbox"===t&&(i=r.color&&r.getColor())&&(s.style.borderColor=i)):(n=[],/^[bx]cancel$/.test(t)&&n.push(new ma({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&n.push(new ma({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"})),i=new ga(n,{width:"100%",height:K(e)}),s=Q.makeSvgSpan([],[i],r)),s.height=e,s.style.height=K(e),s},"encloseSpan"),Do={encloseSpan:Hl,mathMLnode:y,svgSpan:dc},mt(Jr,"assertNodeType"),mt(es,"assertSymbolNodeType"),mt(ts,"checkSymbolNodeType"),Oo=mt((e,t)=>{e&&"supsub"===e.type?(o=(i=Jr(e.base,"accent")).base,e.base=o,n=Gr(vo(e,t)),e.base=i):o=(i=Jr(e,"accent")).base;var i,n,r,s,e=vo(o,t.havingCrampedStyle()),a=0,o=(i.isShifty&&ws.isCharacterBox(o)&&(o=ws.getBaseElem(o),a=Wr(vo(o,t.havingCrampedStyle())).skew),"\\c"===i.label),l=o?e.height+e.depth:Math.min(e.height,t.fontMetrics().xHeight),c=i.isStretchy?(c=Do.svgSpan(i,t),Q.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"elem",elem:c,wrapperClasses:["svg-align"],wrapperStyle:0<a?{width:"calc(100% - "+K(2*a)+")",marginLeft:K(2*a)}:void 0}]},t)):("\\vec"===i.label?(s=Q.staticSvg("vec",t),r=Q.svgData.vec[1]):((s=Wr(s=Q.makeOrd({mode:i.mode,text:i.label},t,"textord"))).italic=0,r=s.width,o&&(l+=s.depth)),c=Q.makeSpan(["accent-body"],[s]),(o="\\textcircled"===i.label)&&(c.classes.push("accent-full"),l=e.height),s=a,o||(s-=r/2),c.style.left=K(s),"\\textcircled"===i.label&&(c.style.top=".2em"),Q.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"kern",size:-l},{type:"elem",elem:c}]},t)),a=Q.makeSpan(["mord","accent"],[c],t);return n?(n.children[0]=a,n.height=Math.max(a.height,n.height),n.classes[0]="mord",n):a},"htmlBuilder$a"),Wl=mt((e,t)=>{var i=e.isStretchy?Do.mathMLnode(e.label):new S.MathNode("mo",[ko(e.label,e.mode)]),e=new S.MathNode("mover",[Ao(e.base,t),i]);return e.setAttribute("accent","true"),e},"mathmlBuilder$9"),Po=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(e=>"\\"+e).join("|")),l({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:mt((e,t)=>{var t=so(t[0]),i=!Po.test(e.funcName),n=!i||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:i,isShifty:n,base:t}},"handler"),htmlBuilder:Oo,mathmlBuilder:Wl}),l({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:mt((e,t)=>{var t=t[0],i=e.parser.mode;return"math"===i&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),i="text"),{type:"accent",mode:i,label:e.funcName,isStretchy:!1,isShifty:!0,base:t}},"handler"),htmlBuilder:Oo,mathmlBuilder:Wl}),l({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:mt((e,t)=>{var{parser:e,funcName:i}=e,t=t[0];return{type:"accentUnder",mode:e.mode,label:i,base:t}},"handler"),htmlBuilder:mt((e,t)=>{var i=vo(e.base,t),n=Do.svgSpan(e,t),e="\\utilde"===e.label?.12:0,n=Q.makeVList({positionType:"top",positionData:i.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:e},{type:"elem",elem:i}]},t);return Q.makeSpan(["mord","accentunder"],[n],t)},"htmlBuilder"),mathmlBuilder:mt((e,t)=>{var i=Do.mathMLnode(e.label),e=new S.MathNode("munder",[Ao(e.base,t),i]);return e.setAttribute("accentunder","true"),e},"mathmlBuilder")}),Bo=mt(e=>{e=new S.MathNode("mpadded",e?[e]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e},"paddedNode"),l({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondowLine truncated
`,this.tokenRegex.lastIndex))?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=n+1,this.lex()):new fs(i,new gs(this,t,this.tokenRegex.lastIndex))}},ac=class{static{mt(this,"Namespace")}constructor(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(0===this.undefStack.length)throw new X("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e,t=this.undefStack.pop();for(e in t)t.hasOwnProperty(e)&&(null==t[e]?delete this.current[e]:this.current[e]=t[e])}endGroups(){for(;0<this.undefStack.length;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return(this.current.hasOwnProperty(e)?this.current:this.builtins)[e]}set(e,t,i){if(i=void 0===i?!1:i){for(var n=0;n<this.undefStack.length;n++)delete this.undefStack[n][e];0<this.undefStack.length&&(this.undefStack[this.undefStack.length-1][e]=t)}else{i=this.undefStack[this.undefStack.length-1];i&&!i.hasOwnProperty(e)&&(i[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t}},oc=kl,h("\\noexpand",function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}}),h("\\expandafter",function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}}),h("\\@firstoftwo",function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}}),h("\\@secondoftwo",function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}}),h("\\@ifnextchar",function(e){var t=e.consumeArgs(3),e=(e.consumeSpaces(),e.future());return 1===t[0].length&&t[0][0].text===e.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}}),h("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),h("\\TextOrMath",function(e){var t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}}),lc={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15},h("\\char",function(e){var t,i,n=e.popToken(),r="";if("'"===n.text)t=8,n=e.popToken();else if('"'===n.text)t=16,n=e.popToken();else if("`"===n.text)if("\\"===(n=e.popToken()).text[0])r=n.text.charCodeAt(1);else{if("EOF"===n.text)throw new X("\\char` missing argument");r=n.text.charCodeAt(0)}else t=10;if(t){if(null==(r=lc[n.text])||t<=r)throw new X("Invalid base-"+t+" digit "+n.text);for(;null!=(i=lc[e.future().text])&&i<t;)r=r*t+i,e.popToken()}return"\\@char{"+r+"}"}),cc=mt((e,t,i,n)=>{var r=e.consumeArg().tokens;if(1!==r.length)throw new X("\\newcommand's first argument must be a macro name");var s=r[0].text,a=e.isDefined(s);if(a&&!t)throw new X("\\newcommand{"+s+"} attempting to redefine "+s+"; use \\renewcommand");if(!a&&!i)throw new X("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");t=0;if(1===(r=e.consumeArg().tokens).length&&"["===r[0].text){for(var o="",l=e.expandNextToken();"]"!==l.text&&"EOF"!==l.text;)o+=l.text,l=e.expandNextToken();if(!o.match(/^\s*[0-9]+\s*$/))throw new X("Invalid number of arguments: "+o);t=parseInt(o),r=e.consumeArg().tokens}return a&&n||e.macros.set(s,{tokens:r,numArgs:t}),""},"newcommand"),h("\\newcommand",e=>cc(e,!1,!0,!1)),h("\\renewcommand",e=>cc(e,!0,!1,!1)),h("\\providecommand",e=>cc(e,!0,!0,!0)),h("\\message",e=>{e=e.consumeArgs(1)[0];return console.log(e.reverse().map(e=>e.text).join("")),""}),h("\\errmessage",e=>{e=e.consumeArgs(1)[0];return console.error(e.reverse().map(e=>e.text).join("")),""}),h("\\show",e=>{var t=e.popToken(),i=t.text;return console.log(t,e.macros.get(i),nc[i],va.math[i],va.text[i]),""}),h("\\bgroup","{"),h("\\egroup","}"),h("~","\\nobreakspace"),h("\\lq","`"),h("\\rq","'"),h("\\aa","\\r a"),h("\\AA","\\r A"),h("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),h("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),h("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),h("ℬ","\\mathscr{B}"),h("ℰ","\\mathscr{E}"),h("ℱ","\\mathscr{F}"),h("ℋ","\\mathscr{H}"),h("ℐ","\\mathscr{I}"),h("ℒ","\\mathscr{L}"),h("ℳ","\\mathscr{M}"),h("ℛ","\\mathscr{R}"),h("ℭ","\\mathfrak{C}"),h("ℌ","\\mathfrak{H}"),h("ℨ","\\mathfrak{Z}"),h("\\Bbbk","\\Bbb{k}"),h("·","\\cdotp"),h("\\llap","\\mathllap{\\textrm{#1}}"),h("\\rlap","\\mathrlap{\\textrm{#1}}"),h("\\clap","\\mathclap{\\textrm{#1}}"),h("\\mathstrut","\\vphantom{(}"),h("\\underbar","\\underline{\\text{#1}}"),h("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),h("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),h("\\ne","\\neq"),h("≠","\\neq"),h("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),h("∉","\\notin"),h("≘","\\html@mathml{\\mathrel{=\Line truncated `,this.tokenRegex.lastIndex))?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=n+1,this.lex()):new fs(i,new gs(this,t,this.tokenRegex.lastIndex))}},ac=class{static{mt(this,"Namespace")}constructor(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(0===this.undefStack.length)throw new X("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e,t=this.undefStack.pop();for(e in t)t.hasOwnProperty(e)&&(null==t[e]?delete this.current[e]:this.current[e]=t[e])}endGroups(){for(;0<this.undefStack.length;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return(this.current.hasOwnProperty(e)?this.current:this.builtins)[e]}set(e,t,i){if(i=void 0===i?!1:i){for(var n=0;n<this.undefStack.length;n++)delete this.undefStack[n][e];0<this.undefStack.length&&(this.undefStack[this.undefStack.length-1][e]=t)}else{i=this.undefStack[this.undefStack.length-1];i&&!i.hasOwnProperty(e)&&(i[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t}},oc=kl,h("\\noexpand",function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}}),h("\\expandafter",function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}}),h("\\@firstoftwo",function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}}),h("\\@secondoftwo",function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}}),h("\\@ifnextchar",function(e){var t=e.consumeArgs(3),e=(e.consumeSpaces(),e.future());return 1===t[0].length&&t[0][0].text===e.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}}),h("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),h("\\TextOrMath",function(e){var t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}}),lc={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15},h("\\char",function(e){var t,i,n=e.popToken(),r="";if("'"===n.text)t=8,n=e.popToken();else if('"'===n.text)t=16,n=e.popToken();else if("`"===n.text)if("\\"===(n=e.popToken()).text[0])r=n.text.charCodeAt(1);else{if("EOF"===n.text)throw new X("\\char` missing argument");r=n.text.charCodeAt(0)}else t=10;if(t){if(null==(r=lc[n.text])||t<=r)throw new X("Invalid base-"+t+" digit "+n.text);for(;null!=(i=lc[e.future().text])&&i<t;)r=r*t+i,e.popToken()}return"\\@char{"+r+"}"}),cc=mt((e,t,i,n)=>{var r=e.consumeArg().tokens;if(1!==r.length)throw new X("\\newcommand's first argument must be a macro name");var s=r[0].text,a=e.isDefined(s);if(a&&!t)throw new X("\\newcommand{"+s+"} attempting to redefine "+s+"; use \\renewcommand");if(!a&&!i)throw new X("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");t=0;if(1===(r=e.consumeArg().tokens).length&&"["===r[0].text){for(var o="",l=e.expandNextToken();"]"!==l.text&&"EOF"!==l.text;)o+=l.text,l=e.expandNextToken();if(!o.match(/^\s*[0-9]+\s*$/))throw new X("Invalid number of arguments: "+o);t=parseInt(o),r=e.consumeArg().tokens}return a&&n||e.macros.set(s,{tokens:r,numArgs:t}),""},"newcommand"),h("\\newcommand",e=>cc(e,!1,!0,!1)),h("\\renewcommand",e=>cc(e,!0,!1,!1)),h("\\providecommand",e=>cc(e,!0,!0,!0)),h("\\message",e=>{e=e.consumeArgs(1)[0];return console.log(e.reverse().map(e=>e.text).join("")),""}),h("\\errmessage",e=>{e=e.consumeArgs(1)[0];return console.error(e.reverse().map(e=>e.text).join("")),""}),h("\\show",e=>{var t=e.popToken(),i=t.text;return console.log(t,e.macros.get(i),nc[i],va.math[i],va.text[i]),""}),h("\\bgroup","{"),h("\\egroup","}"),h("~","\\nobreakspace"),h("\\lq","`"),h("\\rq","'"),h("\\aa","\\r a"),h("\\AA","\\r A"),h("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),h("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),h("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),h("ℬ","\\mathscr{B}"),h("ℰ","\\mathscr{E}"),h("ℱ","\\mathscr{F}"),h("ℋ","\\mathscr{H}"),h("ℐ","\\mathscr{I}"),h("ℒ","\\mathscr{L}"),h("ℳ","\\mathscr{M}"),h("ℛ","\\mathscr{R}"),h("ℭ","\\mathfrak{C}"),h("ℌ","\\mathfrak{H}"),h("ℨ","\\mathfrak{Z}"),h("\\Bbbk","\\Bbb{k}"),h("·","\\cdotp"),h("\\llap","\\mathllap{\\textrm{#1}}"),h("\\rlap","\\mathrlap{\\textrm{#1}}"),h("\\clap","\\mathclap{\\textrm{#1}}"),h("\\mathstrut","\\vphantom{(}"),h("\\underbar","\\underline{\\text{#1}}"),h("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),h("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),h("\\ne","\\neq"),h("≠","\\neq"),h("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),h("∉","\\notin"),h("≘","\\html@mathml{\\mathrel{=\Line truncated
please report what input caused this bug`);return{type:"verb",mode:"text",body:i=i.slice(1,-1),star:n}}bc.hasOwnProperty(t[0])&&!va[this.mode][t[0]]&&(this.settings.strict&&"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+t[0]+'" used in math mode',e),t=bc[t[0]]+t.slice(1));var r=rc.exec(t);if(r&&("i"===(t=t.substring(0,r.index))?t="ı":"j"===t&&(t="ȷ")),va[this.mode][t]){this.settings.strict&&"math"===this.mode&&0<=Oa.indexOf(t)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var i=va[this.mode][t].group,n=gs.range(e),s=ya.hasOwnProperty(i)?{type:"atom",mode:this.mode,family:i,loc:n,text:t}:{type:i,mode:this.mode,loc:n,text:t}}else{if(!(128<=t.charCodeAt(0)))return null;this.settings.strict&&(zr(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),s={type:"textord",mode:"text",loc:gs.range(e),text:t}}if(this.consume(),r)for(var a=0;a<r[0].length;a++){var o=r[0][a];if(!yc[o])throw new X("Unknown accent ' "+o+"'",e);var l=yc[o][this.mode]||yc[o].text;if(!l)throw new X("Accent "+o+" unsupported in "+this.mode+" mode",e);s={type:"accent",mode:this.mode,loc:gs.range(e),label:l,isStretchy:!1,isShifty:!0,base:s}}return s}}).endOfExpression=["}","\\endgroup","\\end","\\right","&"],xc=mt(function(e,t){if(!("string"==typeof e||e instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var e=new vc(e,t),i=(delete e.gullet.macros.current["\\df@tag"],e.parse());if(delete e.gullet.macros.current["\\current@color"],delete e.gullet.macros.current["\\color"],e.gullet.macros.get("\\df@tag")){if(!t.displayMode)throw new X("\\tag works only in display equations");i=[{type:"tag",mode:"text",body:i,tag:e.subparse([new fs("\\df@tag")])}]}return i},"parseTree"),wc=mt(function(e,t,i){t.textContent="";e=Cc(e,i).toNode();t.appendChild(e)},"render"),typeof document<"u"&&"CSS1Compat"!==document.compatMode&&(typeof console<"u"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),wc=mt(function(){throw new X("KaTeX doesn't work in quirks mode.")},"render")),kc=mt(function(e,t){return Cc(e,t).toMarkup()},"renderToString"),Tc=mt(function(e,t){t=new Ts(t);return xc(e,t)},"generateParseTree"),Sc=mt(function(e,t,i){if(!i.throwOnError&&e instanceof X)return(t=Z.makeSpan(["katex-error"],[new pa(t)])).setAttribute("title",e.toString()),t.setAttribute("style","color:"+i.errorColor),t;throw e},"renderError"),Cc=mt(function(t,i){i=new Ts(i);try{var e=xc(t,i);return Lo(e,t,i)}catch(e){return Sc(e,t,i)}},"renderToDomTree"),_c=mt(function(t,i){i=new Ts(i);try{var e=xc(t,i);return Ro(e,t,i)}catch(e){return Sc(e,t,i)}},"renderToHTMLTree"),$c={version:Ac="0.16.22",render:wc,renderToString:kc,ParseError:X,SETTINGS_SCHEMA:ks,__parse:Tc,__renderToDomTree:Cc,__renderToHTMLTree:_c,__setFontMetrics:Ur,__defineSymbol:o,__defineFunction:l,__defineMacro:h,__domTree:Ec={Span:ca,Anchor:ha,SymbolNode:pa,SvgNode:ga,PathNode:fa,LineNode:ma}}});function Rc(){let t="data-temp-href-target";Dr.addHook("beforeSanitizeAttributes",e=>{e instanceof Element&&"A"===e.tagName&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),Dr.addHook("afterSanitizeAttributes",e=>{e instanceof Element&&"A"===e.tagName&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),"_blank"===e.getAttribute("target"))&&e.setAttribute("rel","noopener")})}var Mc,Ic,Nc,Dc,Oc,Pc,Bc,Fc,jc,zc,Uc,Hc,qc,Wc,Gc,Vc,Yc,Xc,Kc,Zc,Qc,Jc,eh,th,$,ih,nh,rh,sh,ah,oh,lh,ch,hh=e(()=>{"use strict";Or(),Mc=/<br\s*\/?>/gi,Ic=mt(e=>e?Uc(e).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),Nc=(()=>{let e=!1;return()=>{e||(Rc(),e=!0)}})(),mt(Rc,"setupDompurifyHooks"),Dc=mt(e=>(Nc(),Dr.sanitize(e)),"removeScript"),Oc=mt((e,t)=>{return!1!==t.flowchart?.htmlLabels&&("antiscript"===(t=t.securityLevel)||"strict"===t?e=Dc(e):"loose"!==t&&(e=(e=(e=Uc(e)).replace(/</g,"&lt;").replace(/>/g,"&gt;")).replace(/=/g,"&equals;"),e=zc(e))),e},"sanitizeMore"),Pc=mt((e,t)=>e&&(e=(t.dompurifyConfig?Dr.sanitize(Oc(e,t),t.dompurifyConfig):Dr.sanitize(Oc(e,t),{FORBID_TAGS:["style"]})).toString()),"sanitizeText"),Bc=mt((e,t)=>"string"==typeof e?Pc(e,t):e.flat().map(e=>Pc(e,t)),"sanitizeTextOrArray"),Fc=mt(e=>Mc.test(e),"hasBreaks"),jc=mt(e=>e.split(Mc),"splitBreaks"),zc=mt(e=>e.replace(/#br#/g,"<br/>"),"placeholderToBreak"),Uc=mt(e=>e.replace(Mc,"#br#"),"breakToPlaceholder"),Hc=mt(e=>{let t="";return e&&(t=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,t=CSS.escape(t)),t},"getUrl"),qc=mt(e=>!(!1===e||["false","null","0"].includes(String(e).trim().toLowerCase())),"evaluate"),Wc=mt(function(...e){e= Line truncated please report what input caused this bug`);return{type:"verb",mode:"text",body:i=i.slice(1,-1),star:n}}bc.hasOwnProperty(t[0])&&!va[this.mode][t[0]]&&(this.settings.strict&&"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+t[0]+'" used in math mode',e),t=bc[t[0]]+t.slice(1));var r=rc.exec(t);if(r&&("i"===(t=t.substring(0,r.index))?t="ı":"j"===t&&(t="ȷ")),va[this.mode][t]){this.settings.strict&&"math"===this.mode&&0<=Oa.indexOf(t)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var i=va[this.mode][t].group,n=gs.range(e),s=ya.hasOwnProperty(i)?{type:"atom",mode:this.mode,family:i,loc:n,text:t}:{type:i,mode:this.mode,loc:n,text:t}}else{if(!(128<=t.charCodeAt(0)))return null;this.settings.strict&&(zr(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),s={type:"textord",mode:"text",loc:gs.range(e),text:t}}if(this.consume(),r)for(var a=0;a<r[0].length;a++){var o=r[0][a];if(!yc[o])throw new X("Unknown accent ' "+o+"'",e);var l=yc[o][this.mode]||yc[o].text;if(!l)throw new X("Accent "+o+" unsupported in "+this.mode+" mode",e);s={type:"accent",mode:this.mode,loc:gs.range(e),label:l,isStretchy:!1,isShifty:!0,base:s}}return s}}).endOfExpression=["}","\\endgroup","\\end","\\right","&"],xc=mt(function(e,t){if(!("string"==typeof e||e instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var e=new vc(e,t),i=(delete e.gullet.macros.current["\\df@tag"],e.parse());if(delete e.gullet.macros.current["\\current@color"],delete e.gullet.macros.current["\\color"],e.gullet.macros.get("\\df@tag")){if(!t.displayMode)throw new X("\\tag works only in display equations");i=[{type:"tag",mode:"text",body:i,tag:e.subparse([new fs("\\df@tag")])}]}return i},"parseTree"),wc=mt(function(e,t,i){t.textContent="";e=Cc(e,i).toNode();t.appendChild(e)},"render"),typeof document<"u"&&"CSS1Compat"!==document.compatMode&&(typeof console<"u"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),wc=mt(function(){throw new X("KaTeX doesn't work in quirks mode.")},"render")),kc=mt(function(e,t){return Cc(e,t).toMarkup()},"renderToString"),Tc=mt(function(e,t){t=new Ts(t);return xc(e,t)},"generateParseTree"),Sc=mt(function(e,t,i){if(!i.throwOnError&&e instanceof X)return(t=Q.makeSpan(["katex-error"],[new pa(t)])).setAttribute("title",e.toString()),t.setAttribute("style","color:"+i.errorColor),t;throw e},"renderError"),Cc=mt(function(t,i){i=new Ts(i);try{var e=xc(t,i);return Lo(e,t,i)}catch(e){return Sc(e,t,i)}},"renderToDomTree"),_c=mt(function(t,i){i=new Ts(i);try{var e=xc(t,i);return Ro(e,t,i)}catch(e){return Sc(e,t,i)}},"renderToHTMLTree"),$c={version:Ac="0.16.22",render:wc,renderToString:kc,ParseError:X,SETTINGS_SCHEMA:ks,__parse:Tc,__renderToDomTree:Cc,__renderToHTMLTree:_c,__setFontMetrics:Ur,__defineSymbol:o,__defineFunction:l,__defineMacro:h,__domTree:Ec={Span:ca,Anchor:ha,SymbolNode:pa,SvgNode:ga,PathNode:fa,LineNode:ma}}});function Rc(){let t="data-temp-href-target";Dr.addHook("beforeSanitizeAttributes",e=>{e instanceof Element&&"A"===e.tagName&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),Dr.addHook("afterSanitizeAttributes",e=>{e instanceof Element&&"A"===e.tagName&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),"_blank"===e.getAttribute("target"))&&e.setAttribute("rel","noopener")})}var Mc,Ic,Nc,Dc,Oc,Pc,Bc,Fc,jc,zc,Uc,Hc,qc,Wc,Gc,Vc,Yc,Xc,Kc,Qc,Zc,Jc,eh,th,$,ih,nh,rh,sh,ah,oh,lh,ch,hh=e(()=>{"use strict";Or(),Mc=/<br\s*\/?>/gi,Ic=mt(e=>e?Uc(e).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),Nc=(()=>{let e=!1;return()=>{e||(Rc(),e=!0)}})(),mt(Rc,"setupDompurifyHooks"),Dc=mt(e=>(Nc(),Dr.sanitize(e)),"removeScript"),Oc=mt((e,t)=>{return!1!==t.flowchart?.htmlLabels&&("antiscript"===(t=t.securityLevel)||"strict"===t?e=Dc(e):"loose"!==t&&(e=(e=(e=Uc(e)).replace(/</g,"&lt;").replace(/>/g,"&gt;")).replace(/=/g,"&equals;"),e=zc(e))),e},"sanitizeMore"),Pc=mt((e,t)=>e&&(e=(t.dompurifyConfig?Dr.sanitize(Oc(e,t),t.dompurifyConfig):Dr.sanitize(Oc(e,t),{FORBID_TAGS:["style"]})).toString()),"sanitizeText"),Bc=mt((e,t)=>"string"==typeof e?Pc(e,t):e.flat().map(e=>Pc(e,t)),"sanitizeTextOrArray"),Fc=mt(e=>Mc.test(e),"hasBreaks"),jc=mt(e=>e.split(Mc),"splitBreaks"),zc=mt(e=>e.replace(/#br#/g,"<br/>"),"placeholderToBreak"),Uc=mt(e=>e.replace(Mc,"#br#"),"breakToPlaceholder"),Hc=mt(e=>{let t="";return e&&(t=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,t=CSS.escape(t)),t},"getUrl"),qc=mt(e=>!(!1===e||["false","null","0"].includes(String(e).trim().toLowerCase())),"evaluate"),Wc=mt(function(...e){e= Line truncated
font-family: ${i.fontFamily}; font-family: ${i.fontFamily};
font-size: ${i.fontSize}; font-size: ${i.fontSize};
fill: ${i.textColor} fill: ${i.textColor}
@@ -351,9 +351,9 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
${n} ${n}
${t} ${t}
`},"getStyles"),lh=mt((e,t)=>{void 0!==t&&(ah[e]=t)},"addStylesForDiagram"),ch=oh}),ph={};G(ph,{clear:()=>bh,getAccDescription:()=>kh,getAccTitle:()=>xh,getDiagramTitle:()=>Sh,setAccDescription:()=>wh,setAccTitle:()=>vh,setDiagramTitle:()=>Th});var gh,fh,mh,yh,bh,vh,xh,wh,kh,Th,Sh,Ch,_h,N,Ah,Eh,$h,Lh,Rh,Mh,Ih,Nh,Dh,Oh,Ph,Bh,Fh,jh,zh,Uh,Hh,qh,Wh,Gh,Vh,Yh,Xh,Kh,Zh,Qh,Jh,eu,tu,iu,nu,ru,su,au,ou,lu,cu,hu,uu,du,pu,gu,fu,mu,yu,bu,vu,xu,wu,ku,Tu,Su,Cu=e(()=>{"use strict";hh(),Mn(),mh=fh=gh="",yh=mt(e=>Pc(e,Ii()),"sanitizeText"),bh=mt(()=>{fh=mh=gh=""},"clear"),vh=mt(e=>{gh=yh(e).replace(/^\s+/g,"")},"setAccTitle"),xh=mt(()=>gh,"getAccTitle"),wh=mt(e=>{mh=yh(e).replace(/\n\s+/g,` `},"getStyles"),lh=mt((e,t)=>{void 0!==t&&(ah[e]=t)},"addStylesForDiagram"),ch=oh}),ph={};G(ph,{clear:()=>bh,getAccDescription:()=>kh,getAccTitle:()=>xh,getDiagramTitle:()=>Sh,setAccDescription:()=>wh,setAccTitle:()=>vh,setDiagramTitle:()=>Th});var gh,fh,mh,yh,bh,vh,xh,wh,kh,Th,Sh,Ch,_h,N,Ah,Eh,$h,Lh,Rh,Mh,Ih,Nh,Dh,Oh,Ph,Bh,Fh,jh,zh,Uh,Hh,qh,Wh,Gh,Vh,Yh,Xh,Kh,Qh,Zh,Jh,eu,tu,iu,nu,ru,su,au,ou,lu,cu,hu,uu,du,pu,gu,fu,mu,yu,bu,vu,xu,wu,ku,Tu,Su,Cu=e(()=>{"use strict";hh(),Mn(),mh=fh=gh="",yh=mt(e=>Pc(e,Ii()),"sanitizeText"),bh=mt(()=>{fh=mh=gh=""},"clear"),vh=mt(e=>{gh=yh(e).replace(/^\s+/g,"")},"setAccTitle"),xh=mt(()=>gh,"getAccTitle"),wh=mt(e=>{mh=yh(e).replace(/\n\s+/g,`
`)},"setAccDescription"),kh=mt(()=>mh,"getAccDescription"),Th=mt(e=>{fh=yh(e)},"setDiagramTitle"),Sh=mt(()=>fh,"getDiagramTitle")}),_u=e(()=>{"use strict";qi(),t(),Mn(),hh(),uh(),dh(),Cu(),Ch=I,_h=T,N=Ii,Ah=Mi,Eh=ki,$h=mt(e=>Pc(e,N()),"sanitizeText"),Lh=sh,Rh=mt(()=>ph,"getCommonDb"),Mh={},Ih=mt((e,t,i)=>{Mh[e]&&Ch.warn(`Diagram with id ${e} already registered. Overwriting.`),Mh[e]=t,i&&tt(e,i),lh(e,t.styles),t.injectUtils?.(Ch,_h,N,$h,Lh,Rh(),()=>{})},"registerDiagram"),Nh=mt(e=>{if(e in Mh)return Mh[e];throw new Dh(e)},"getDiagram"),Dh=class extends Error{static{mt(this,"DiagramNotFoundError")}constructor(e){super(`Diagram ${e} not found.`)}}}),Au=e(()=>{"use strict";_u(),hh(),Cu(),Oh=[],Ph=[""],jh=[{alias:Bh="global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:Fh=""}],Uh="",Hh=!(zh=[]),qh=4,Wh=2,Vh=mt(function(){return Gh},"getC4Type"),Yh=mt(function(e){Gh=Pc(e,N())},"setC4Type"),Xh=mt(function(i,n,r,s,a,o,l,c,h){if(null!=i&&null!=n&&null!=r&&null!=s){let e={},t=zh.find(e=>e.from===n&&e.to===r);t?e=t:zh.push(e),e.type=i,e.from=n,e.to=r,e.label={text:s},null==a?e.techn={text:""}:"object"==typeof a?([i,s]=Object.entries(a)[0],e[i]={text:s}):e.techn={text:a},null==o?e.descr={text:""}:"object"==typeof o?([i,s]=Object.entries(o)[0],e[i]={text:s}):e.descr={text:o},"object"==typeof l?([a,i]=Object.entries(l)[0],e[a]=i):e.sprite=l,"object"==typeof c?([s,o]=Object.entries(c)[0],e[s]=o):e.tags=c,"object"==typeof h?([a,i]=Object.entries(h)[0],e[a]=i):e.link=h,e.wrap=bu()}},"addRel"),Kh=mt(function(i,n,r,s,a,o,l){if(null!==n&&null!==r){let e={},t=Oh.find(e=>e.alias===n);var c;t&&n===t.alias?e=t:(e.alias=n,Oh.push(e)),e.label=null==r?{text:""}:{text:r},null==s?e.descr={text:""}:"object"==typeof s?([r,c]=Object.entries(s)[0],e[r]={text:c}):e.descr={text:s},"object"==typeof a?([r,c]=Object.entries(a)[0],e[r]=c):e.sprite=a,"object"==typeof o?([s,r]=Object.entries(o)[0],e[s]=r):e.tags=o,"object"==typeof l?([c,a]=Object.entries(l)[0],e[c]=a):e.link=l,e.typeC4Shape={text:i},e.parentBoundary=Bh,e.wrap=bu()}},"addPersonOrSystem"),Zh=mt(function(i,n,r,s,a,o,l,c){if(null!==n&&null!==r){let e={},t=Oh.find(e=>e.alias===n);var h;t&&n===t.alias?e=t:(e.alias=n,Oh.push(e)),e.label=null==r?{text:""}:{text:r},null==s?e.techn={text:""}:"object"==typeof s?([r,h]=Object.entries(s)[0],e[r]={text:h}):e.techn={text:s},null==a?e.descr={text:""}:"object"==typeof a?([r,h]=Object.entries(a)[0],e[r]={text:h}):e.descr={text:a},"object"==typeof o?([s,r]=Object.entries(o)[0],e[s]=r):e.sprite=o,"object"==typeof l?([h,a]=Object.entries(l)[0],e[h]=a):e.tags=l,"object"==typeof c?([s,r]=Object.entries(c)[0],e[s]=r):e.link=c,e.wrap=bu(),e.typeC4Shape={text:i},e.parentBoundary=Bh}},"addContainer"),Qh=mt(function(i,n,r,s,a,o,l,c){if(null!==n&&null!==r){let e={},t=Oh.find(e=>e.alias===n);var h;t&&n===t.alias?e=t:(e.alias=n,Oh.push(e)),e.label=null==r?{text:""}:{text:r},null==s?e.techn={text:""}:"object"==typeof s?([r,h]=Object.entries(s)[0],e[r]={text:h}):e.techn={text:s},null==a?e.descr={text:""}:"object"==typeof a?([r,h]=Object.entries(a)[0],e[r]={text:h}):e.descr={text:a},"object"==typeof o?([s,r]=Object.entries(o)[0],e[s]=r):e.sprite=o,"object"==typeof l?([h,a]=Object.entries(l)[0],e[h]=a):e.tags=l,"object"==typeof c?([s,r]=Object.entries(c)[0],e[s]=r):e.link=c,e.wrap=bu(),e.typeC4Shape={text:i},e.parentBoundary=Bh}},"addComponent"),Jh=mt(function(i,n,r,s,a){if(null!==i&&null!==n){let e={},t=jh.find(e=>e.alias===i);var o;t&&i===t.alias?e=t:(e.alias=i,jh.push(e)),e.label=null==n?{text:""}:{text:n},null==r?e.type={text:"system"}:"object"==typeof r?([n,o]=Object.entries(r)[0],e[n]={text:o}):e.type={text:r},"object"==typeof s?([n,o]=Object.entries(s)[0],e[n]=o):e.tags=s,"object"==typeof a?([r,n]=Object.entries(a)[0],e[r]=n):e.link=a,e.parentBoundary=Bh,e.wrap=bu(),Fh=Bh,Bh=i,Ph.push(Fh)}},"addPersonOrSystemBoundary"),eu=mt(function(i,n,r,s,a){if(null!==i&&null!==n){let e={},t=jh.find(e=>e.alias===i);var o;t&&i===t.alias?e=t:(e.alias=i,jh.push(e)),e.label=null==n?{text:""}:{text:n},null==r?e.type={text:"container"}:"object"==typeof r?([n,o]=Object.entries(r)[0],e[n]={text:o}):e.type={text:r},"object"==typeof s?([n,o]=Object.entries(s)[0],e[n]=o):e.tags=s,"object"==typeof a?([r,n]=Object.entries(a)[0],e[r]=n):e.link=a,e.parentBoundary=Bh,e.wrap=bu(),Fh=Bh,Bh=i,Ph.push(Fh)}},"addContainerBoundary"),tu=mt(function(i,n,r,s,a,e,o,l){if(null!==n&&null!==r){let e={},t=jh.find(e=>e.alias===n);var c;t&&n===t.alias?e=t:(e.alias=n,jh.push(e)),e.label=null==r?{text:""}:{text:r},null==s?e.type={text:"node"}:"object"==typeof s?([r,c]=Object.entries(s)[0],e[r]={text:c}):e.type={text:s},null==a?e.descr={text:""}:"object"==typeof a?([r,c]=Object.entries(a)[0],e[r]={text:c}):e.descr={text:a},"object"==typeof o?([s,r]=Object.entries(o)[0],e[s]=r):e.tags=o,"object"==typeof l?([c,a]=Object.entries(l)[0],e[c]=a):e.link=l,e.nodeType=i,e.parentBoundary=Bh,e.wrap=bu(),Fh=Bh,Bh=n,Ph.push(Fh)}},"addDeploymentNode"),iu=mt(function(){Bh=Fh,Ph.pop(),Fh= Line truncated `)},"setAccDescription"),kh=mt(()=>mh,"getAccDescription"),Th=mt(e=>{fh=yh(e)},"setDiagramTitle"),Sh=mt(()=>fh,"getDiagramTitle")}),_u=e(()=>{"use strict";qi(),t(),Mn(),hh(),uh(),dh(),Cu(),Ch=I,_h=T,N=Ii,Ah=Mi,Eh=ki,$h=mt(e=>Pc(e,N()),"sanitizeText"),Lh=sh,Rh=mt(()=>ph,"getCommonDb"),Mh={},Ih=mt((e,t,i)=>{Mh[e]&&Ch.warn(`Diagram with id ${e} already registered. Overwriting.`),Mh[e]=t,i&&tt(e,i),lh(e,t.styles),t.injectUtils?.(Ch,_h,N,$h,Lh,Rh(),()=>{})},"registerDiagram"),Nh=mt(e=>{if(e in Mh)return Mh[e];throw new Dh(e)},"getDiagram"),Dh=class extends Error{static{mt(this,"DiagramNotFoundError")}constructor(e){super(`Diagram ${e} not found.`)}}}),Au=e(()=>{"use strict";_u(),hh(),Cu(),Oh=[],Ph=[""],jh=[{alias:Bh="global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:Fh=""}],Uh="",Hh=!(zh=[]),qh=4,Wh=2,Vh=mt(function(){return Gh},"getC4Type"),Yh=mt(function(e){Gh=Pc(e,N())},"setC4Type"),Xh=mt(function(i,n,r,s,a,o,l,c,h){if(null!=i&&null!=n&&null!=r&&null!=s){let e={},t=zh.find(e=>e.from===n&&e.to===r);t?e=t:zh.push(e),e.type=i,e.from=n,e.to=r,e.label={text:s},null==a?e.techn={text:""}:"object"==typeof a?([i,s]=Object.entries(a)[0],e[i]={text:s}):e.techn={text:a},null==o?e.descr={text:""}:"object"==typeof o?([i,s]=Object.entries(o)[0],e[i]={text:s}):e.descr={text:o},"object"==typeof l?([a,i]=Object.entries(l)[0],e[a]=i):e.sprite=l,"object"==typeof c?([s,o]=Object.entries(c)[0],e[s]=o):e.tags=c,"object"==typeof h?([a,i]=Object.entries(h)[0],e[a]=i):e.link=h,e.wrap=bu()}},"addRel"),Kh=mt(function(i,n,r,s,a,o,l){if(null!==n&&null!==r){let e={},t=Oh.find(e=>e.alias===n);var c;t&&n===t.alias?e=t:(e.alias=n,Oh.push(e)),e.label=null==r?{text:""}:{text:r},null==s?e.descr={text:""}:"object"==typeof s?([r,c]=Object.entries(s)[0],e[r]={text:c}):e.descr={text:s},"object"==typeof a?([r,c]=Object.entries(a)[0],e[r]=c):e.sprite=a,"object"==typeof o?([s,r]=Object.entries(o)[0],e[s]=r):e.tags=o,"object"==typeof l?([c,a]=Object.entries(l)[0],e[c]=a):e.link=l,e.typeC4Shape={text:i},e.parentBoundary=Bh,e.wrap=bu()}},"addPersonOrSystem"),Qh=mt(function(i,n,r,s,a,o,l,c){if(null!==n&&null!==r){let e={},t=Oh.find(e=>e.alias===n);var h;t&&n===t.alias?e=t:(e.alias=n,Oh.push(e)),e.label=null==r?{text:""}:{text:r},null==s?e.techn={text:""}:"object"==typeof s?([r,h]=Object.entries(s)[0],e[r]={text:h}):e.techn={text:s},null==a?e.descr={text:""}:"object"==typeof a?([r,h]=Object.entries(a)[0],e[r]={text:h}):e.descr={text:a},"object"==typeof o?([s,r]=Object.entries(o)[0],e[s]=r):e.sprite=o,"object"==typeof l?([h,a]=Object.entries(l)[0],e[h]=a):e.tags=l,"object"==typeof c?([s,r]=Object.entries(c)[0],e[s]=r):e.link=c,e.wrap=bu(),e.typeC4Shape={text:i},e.parentBoundary=Bh}},"addContainer"),Zh=mt(function(i,n,r,s,a,o,l,c){if(null!==n&&null!==r){let e={},t=Oh.find(e=>e.alias===n);var h;t&&n===t.alias?e=t:(e.alias=n,Oh.push(e)),e.label=null==r?{text:""}:{text:r},null==s?e.techn={text:""}:"object"==typeof s?([r,h]=Object.entries(s)[0],e[r]={text:h}):e.techn={text:s},null==a?e.descr={text:""}:"object"==typeof a?([r,h]=Object.entries(a)[0],e[r]={text:h}):e.descr={text:a},"object"==typeof o?([s,r]=Object.entries(o)[0],e[s]=r):e.sprite=o,"object"==typeof l?([h,a]=Object.entries(l)[0],e[h]=a):e.tags=l,"object"==typeof c?([s,r]=Object.entries(c)[0],e[s]=r):e.link=c,e.wrap=bu(),e.typeC4Shape={text:i},e.parentBoundary=Bh}},"addComponent"),Jh=mt(function(i,n,r,s,a){if(null!==i&&null!==n){let e={},t=jh.find(e=>e.alias===i);var o;t&&i===t.alias?e=t:(e.alias=i,jh.push(e)),e.label=null==n?{text:""}:{text:n},null==r?e.type={text:"system"}:"object"==typeof r?([n,o]=Object.entries(r)[0],e[n]={text:o}):e.type={text:r},"object"==typeof s?([n,o]=Object.entries(s)[0],e[n]=o):e.tags=s,"object"==typeof a?([r,n]=Object.entries(a)[0],e[r]=n):e.link=a,e.parentBoundary=Bh,e.wrap=bu(),Fh=Bh,Bh=i,Ph.push(Fh)}},"addPersonOrSystemBoundary"),eu=mt(function(i,n,r,s,a){if(null!==i&&null!==n){let e={},t=jh.find(e=>e.alias===i);var o;t&&i===t.alias?e=t:(e.alias=i,jh.push(e)),e.label=null==n?{text:""}:{text:n},null==r?e.type={text:"container"}:"object"==typeof r?([n,o]=Object.entries(r)[0],e[n]={text:o}):e.type={text:r},"object"==typeof s?([n,o]=Object.entries(s)[0],e[n]=o):e.tags=s,"object"==typeof a?([r,n]=Object.entries(a)[0],e[r]=n):e.link=a,e.parentBoundary=Bh,e.wrap=bu(),Fh=Bh,Bh=i,Ph.push(Fh)}},"addContainerBoundary"),tu=mt(function(i,n,r,s,a,e,o,l){if(null!==n&&null!==r){let e={},t=jh.find(e=>e.alias===n);var c;t&&n===t.alias?e=t:(e.alias=n,jh.push(e)),e.label=null==r?{text:""}:{text:r},null==s?e.type={text:"node"}:"object"==typeof s?([r,c]=Object.entries(s)[0],e[r]={text:c}):e.type={text:s},null==a?e.descr={text:""}:"object"==typeof a?([r,c]=Object.entries(a)[0],e[r]={text:c}):e.descr={text:a},"object"==typeof o?([s,r]=Object.entries(o)[0],e[s]=r):e.tags=o,"object"==typeof l?([c,a]=Object.entries(l)[0],e[c]=a):e.link=l,e.nodeType=i,e.parentBoundary=Bh,e.wrap=bu(),Fh=Bh,Bh=n,Ph.push(Fh)}},"addDeploymentNode"),iu=mt(function(){Bh=Fh,Ph.pop(),Fh= Line truncated
`,"ig");t=t.trim().replace(e,"").replace(/'/gm,'"'),I.debug(`Detecting diagram directive${null!==i?" type:"+i:""} based on the text:`+t);for(var n,r,s,a=[];null!==(n=Xe.exec(t));)n.index===Xe.lastIndex&&Xe.lastIndex++,(n&&!i||i&&n[1]?.match(i)||i&&n[2]?.match(i))&&(r=n[1]||n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null,a.push({type:r,args:s}));return 0===a.length?{type:t,args:null}:1===a.length?a[0]:a}catch(e){return I.error(`ERROR: ${e.message} - Unable to parse directive type: '${i}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),OC=mt(function(e){return e.replace(Xe,"")},"removeDirectives"),PC=mt(function(e,t){for(var[i,n]of t.entries())if(n.match(e))return i;return-1},"isSubstringInArray"),mt(yC,"interpolateToCurve"),mt(bC,"formatUrl"),BC=mt((t,...e)=>{let i=t.split("."),n=i.length-1,r=i[n],s=window;for(let e=0;e<n;e++)if(!(s=s[i[e]]))return void I.error(`Function name: ${t} not found in window`);s[r](...e)},"runFunc"),mt(vC,"distance"),mt(xC,"traverseEdge"),mt(wC,"calcLabelPosition"),FC=mt((e,t=2)=>{t=Math.pow(10,t);return Math.round(e*t)/t},"roundNumber"),jC=mt((e,t)=>{let i,n=t;for(var r of e){if(i){var s=vC(r,i);if(0===s)return i;if(s<n)n-=s;else{s=n/s;if(s<=0)return i;if(1<=s)return{x:r.x,y:r.y};if(0<s&&s<1)return{x:FC((1-s)*i.x+s*r.x,5),y:FC((1-s)*i.y+s*r.y,5)}}}i=r}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),zC=mt((e,t,i)=>{I.info("our points "+JSON.stringify(t)),t[0]!==i&&(t=t.reverse());var i=jC(t,25),e=e?10:5,n=Math.atan2(t[0].y-i.y,t[0].x-i.x),r={x:0,y:0};return r.x=Math.sin(n)*e+(t[0].x+i.x)/2,r.y=-Math.cos(n)*e+(t[0].y+i.y)/2,r},"calcCardinalityPosition"),mt(kC,"calcTerminalLabelPosition"),mt(TC,"getStylesFromArray"),UC=0,HC=mt(()=>(UC++,"id-"+Math.random().toString(36).substr(2,12)+"-"+UC),"generateId"),mt(SC,"makeRandomHex"),qC=mt(e=>SC(e.length),"random"),WC=mt(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),GC=mt(function(e,t){var i=t.text.replace($.lineBreakRegex," "),[,n]=e_(t.fontSize),e=e.append("text"),n=(e.attr("x",t.x),e.attr("y",t.y),e.style("text-anchor",t.anchor),e.style("font-family",t.fontFamily),e.style("font-size",n),e.style("font-weight",t.fontWeight),e.attr("fill",t.fill),void 0!==t.class&&e.attr("class",t.class),e.append("tspan"));return n.attr("x",t.x+2*t.textMargin),n.attr("fill",t.fill),n.text(i),e},"drawSimpleText"),VC=Nk((e,a,o)=>{if(!e||(o=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},o),$.lineBreakRegex.test(e)))return e;let l=e.split(" ").filter(Boolean),c=[],h="";return l.forEach((e,t)=>{var i,n,r=_C(e+" ",o),s=_C(h,o);h=a<r?({hyphenatedStrings:i,remainingWord:n}=YC(e,a,"-",o),c.push(h,...i),n):a<=s+r?(c.push(h),e):[h,e].filter(Boolean).join(" "),t+1===l.length&&c.push(h)}),c.filter(e=>""!==e).join(o.joinWith)},(e,t,i)=>""+e+t+i.fontSize+i.fontWeight+i.fontFamily+i.joinWith),YC=Nk((e,n,r="-",s)=>{s=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},s);let a=[...e],o=[],l="";return a.forEach((e,t)=>{var i,e=""+l+e;l=_C(e,s)>=n?(t=t+1,t=a.length===t,i=e+r,o.push(t?e:i),""):e}),{hyphenatedStrings:o,remainingWord:l}},(e,t,i="-",n)=>""+e+t+i+n.fontSize+n.fontWeight+n.fontFamily),mt(CC,"calculateTextHeight"),mt(_C,"calculateTextWidth"),XC=Nk((e,t)=>{var{fontSize:t=12,fontFamily:i="Arial",fontWeight:n=400}=t;if(!e)return{width:0,height:0};var[,r]=e_(t),t=["sans-serif",i],s=e.split($.lineBreakRegex),a=[],i=V("body");if(!i.remove)return{width:0,height:0,lineHeight:0};var o,l=i.append("svg");for(o of t){var c,h={width:0,height:0,lineHeight:0};for(c of s){var u=WC(),u=(u.text=c||RC,GC(l,u).style("font-size",r).style("font-weight",n).style("font-family",o)),u=(u._groups||u)[0][0].getBBox();if(0===u.width&&0===u.height)throw new Error("svg element not in render tree");h.width=Math.round(Math.max(h.width,u.width)),u=Math.round(u.height),h.height+=u,h.lineHeight=Math.round(Math.max(h.lineHeight,u))}a.push(h)}return l.remove(),a[isNaN(a[1].height)||isNaN(a[1].width)||isNaN(a[1].lineHeight)||a[0].height>a[1].height&&a[0].width>a[1].width&&a[0].lineHeight>a[1].lineHeight?0:1]},(e,t)=>""+e+t.fontSize+t.fontWeight+t.fontFamily),KC=class{constructor(e=!1,t){this.count=0,this.count=t?t.length:0,this.next=e?()=>this.count++:()=>Date.now()}static{mt(this,"InitIDGenerator")}},QC=mt(function(e){return ZC=ZC||document.createElement("div"),e=escape(e).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),ZC.innerHTML=e,unescape(ZC.textContent)},"entityDecode"),mt(AC,"isDetailedError"),JC=mt((e,t,i,n)=>{var r;n&&(r=e.node()?.getBBox())&&e.append("text").text(n).attr("text-anchor","middle").attr("x",r.x+r.width/2).attr("y",-i).attr("class",t)},"insertTitle"),e_=mt(e=>{var t;return"number"==typeof e?[e,e+"px"]:(t=parseInt(e??"",10),Number.isNaN(t)?[void 0,void 0]:e===String(t)?[t,e+"px"]:[t,e])},"parseFontSize"),mt(EC,"cleanAndMerge"),t_={assignWithD Line truncated `,"ig");t=t.trim().replace(e,"").replace(/'/gm,'"'),I.debug(`Detecting diagram directive${null!==i?" type:"+i:""} based on the text:`+t);for(var n,r,s,a=[];null!==(n=Xe.exec(t));)n.index===Xe.lastIndex&&Xe.lastIndex++,(n&&!i||i&&n[1]?.match(i)||i&&n[2]?.match(i))&&(r=n[1]||n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null,a.push({type:r,args:s}));return 0===a.length?{type:t,args:null}:1===a.length?a[0]:a}catch(e){return I.error(`ERROR: ${e.message} - Unable to parse directive type: '${i}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),OC=mt(function(e){return e.replace(Xe,"")},"removeDirectives"),PC=mt(function(e,t){for(var[i,n]of t.entries())if(n.match(e))return i;return-1},"isSubstringInArray"),mt(yC,"interpolateToCurve"),mt(bC,"formatUrl"),BC=mt((t,...e)=>{let i=t.split("."),n=i.length-1,r=i[n],s=window;for(let e=0;e<n;e++)if(!(s=s[i[e]]))return void I.error(`Function name: ${t} not found in window`);s[r](...e)},"runFunc"),mt(vC,"distance"),mt(xC,"traverseEdge"),mt(wC,"calcLabelPosition"),FC=mt((e,t=2)=>{t=Math.pow(10,t);return Math.round(e*t)/t},"roundNumber"),jC=mt((e,t)=>{let i,n=t;for(var r of e){if(i){var s=vC(r,i);if(0===s)return i;if(s<n)n-=s;else{s=n/s;if(s<=0)return i;if(1<=s)return{x:r.x,y:r.y};if(0<s&&s<1)return{x:FC((1-s)*i.x+s*r.x,5),y:FC((1-s)*i.y+s*r.y,5)}}}i=r}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),zC=mt((e,t,i)=>{I.info("our points "+JSON.stringify(t)),t[0]!==i&&(t=t.reverse());var i=jC(t,25),e=e?10:5,n=Math.atan2(t[0].y-i.y,t[0].x-i.x),r={x:0,y:0};return r.x=Math.sin(n)*e+(t[0].x+i.x)/2,r.y=-Math.cos(n)*e+(t[0].y+i.y)/2,r},"calcCardinalityPosition"),mt(kC,"calcTerminalLabelPosition"),mt(TC,"getStylesFromArray"),UC=0,HC=mt(()=>(UC++,"id-"+Math.random().toString(36).substr(2,12)+"-"+UC),"generateId"),mt(SC,"makeRandomHex"),qC=mt(e=>SC(e.length),"random"),WC=mt(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),GC=mt(function(e,t){var i=t.text.replace($.lineBreakRegex," "),[,n]=e_(t.fontSize),e=e.append("text"),n=(e.attr("x",t.x),e.attr("y",t.y),e.style("text-anchor",t.anchor),e.style("font-family",t.fontFamily),e.style("font-size",n),e.style("font-weight",t.fontWeight),e.attr("fill",t.fill),void 0!==t.class&&e.attr("class",t.class),e.append("tspan"));return n.attr("x",t.x+2*t.textMargin),n.attr("fill",t.fill),n.text(i),e},"drawSimpleText"),VC=Nk((e,a,o)=>{if(!e||(o=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},o),$.lineBreakRegex.test(e)))return e;let l=e.split(" ").filter(Boolean),c=[],h="";return l.forEach((e,t)=>{var i,n,r=_C(e+" ",o),s=_C(h,o);h=a<r?({hyphenatedStrings:i,remainingWord:n}=YC(e,a,"-",o),c.push(h,...i),n):a<=s+r?(c.push(h),e):[h,e].filter(Boolean).join(" "),t+1===l.length&&c.push(h)}),c.filter(e=>""!==e).join(o.joinWith)},(e,t,i)=>""+e+t+i.fontSize+i.fontWeight+i.fontFamily+i.joinWith),YC=Nk((e,n,r="-",s)=>{s=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},s);let a=[...e],o=[],l="";return a.forEach((e,t)=>{var i,e=""+l+e;l=_C(e,s)>=n?(t=t+1,t=a.length===t,i=e+r,o.push(t?e:i),""):e}),{hyphenatedStrings:o,remainingWord:l}},(e,t,i="-",n)=>""+e+t+i+n.fontSize+n.fontWeight+n.fontFamily),mt(CC,"calculateTextHeight"),mt(_C,"calculateTextWidth"),XC=Nk((e,t)=>{var{fontSize:t=12,fontFamily:i="Arial",fontWeight:n=400}=t;if(!e)return{width:0,height:0};var[,r]=e_(t),t=["sans-serif",i],s=e.split($.lineBreakRegex),a=[],i=V("body");if(!i.remove)return{width:0,height:0,lineHeight:0};var o,l=i.append("svg");for(o of t){var c,h={width:0,height:0,lineHeight:0};for(c of s){var u=WC(),u=(u.text=c||RC,GC(l,u).style("font-size",r).style("font-weight",n).style("font-family",o)),u=(u._groups||u)[0][0].getBBox();if(0===u.width&&0===u.height)throw new Error("svg element not in render tree");h.width=Math.round(Math.max(h.width,u.width)),u=Math.round(u.height),h.height+=u,h.lineHeight=Math.round(Math.max(h.lineHeight,u))}a.push(h)}return l.remove(),a[isNaN(a[1].height)||isNaN(a[1].width)||isNaN(a[1].lineHeight)||a[0].height>a[1].height&&a[0].width>a[1].width&&a[0].lineHeight>a[1].lineHeight?0:1]},(e,t)=>""+e+t.fontSize+t.fontWeight+t.fontFamily),KC=class{constructor(e=!1,t){this.count=0,this.count=t?t.length:0,this.next=e?()=>this.count++:()=>Date.now()}static{mt(this,"InitIDGenerator")}},ZC=mt(function(e){return QC=QC||document.createElement("div"),e=escape(e).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),QC.innerHTML=e,unescape(QC.textContent)},"entityDecode"),mt(AC,"isDetailedError"),JC=mt((e,t,i,n)=>{var r;n&&(r=e.node()?.getBBox())&&e.append("text").text(n).attr("text-anchor","middle").attr("x",r.x+r.width/2).attr("y",-i).attr("class",t)},"insertTitle"),e_=mt(e=>{var t;return"number"==typeof e?[e,e+"px"]:(t=parseInt(e??"",10),Number.isNaN(t)?[void 0,void 0]:e===String(t)?[t,e+"px"]:[t,e])},"parseFontSize"),mt(EC,"cleanAndMerge"),t_={assignWithD Line truncated
stroke: ${e.personBorder}; stroke: ${e.personBorder};
fill: ${e.personBkg}; fill: ${e.personBkg};
} }
@@ -363,7 +363,7 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
`+l;for(o=z_(e.buffer,r[a],s[a],e.position,h),l=(l+=B9.repeat(" ",t.indent)+U_((e.line+1).toString(),c)+" | "+o.str+` `+l;for(o=z_(e.buffer,r[a],s[a],e.position,h),l=(l+=B9.repeat(" ",t.indent)+U_((e.line+1).toString(),c)+" | "+o.str+`
`)+(B9.repeat("-",t.indent+c+3+o.pos)+`^ `)+(B9.repeat("-",t.indent+c+3+o.pos)+`^
`),u=1;u<=t.linesAfter&&!(s.length<=a+u);u++)o=z_(e.buffer,r[a+u],s[a+u],e.position-(r[a]-r[a+u]),h),l+=B9.repeat(" ",t.indent)+U_((e.line+u+1).toString(),c)+" | "+o.str+` `),u=1;u<=t.linesAfter&&!(s.length<=a+u);u++)o=z_(e.buffer,r[a+u],s[a+u],e.position-(r[a]-r[a+u]),h),l+=B9.repeat(" ",t.indent)+U_((e.line+u+1).toString(),c)+" | "+o.str+`
`;return l.replace(/\n$/,"")}function q_(e){var i={};return null!==e&&Object.keys(e).forEach(function(t){e[t].forEach(function(e){i[String(e)]=t})}),i}function W_(t,e){if(e=e||{},Object.keys(e).forEach(function(e){if(-1===z9.indexOf(e))throw new F9('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(e){return e},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=q_(e.styleAliases||null),-1===U9.indexOf(this.kind))throw new F9('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}function G_(e,t){var r=[];return e[t].forEach(function(i){var n=r.length;r.forEach(function(e,t){e.tag===i.tag&&e.kind===i.kind&&e.multi===i.multi&&(n=t)}),r[n]=i}),r}function V_(){var e,t,i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function n(e){e.multi?(i.multi[e.kind].push(e),i.multi.fallback.push(e)):i[e.kind][e.tag]=i.fallback[e.tag]=e}for(mt(n,"collectType"),e=0,t=arguments.length;e<t;e+=1)arguments[e].forEach(n);return i}function Y_(e){return this.extend(e)}function X_(e){var t;return null===e||1===(t=e.length)&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)}function K_(){return null}function Z_(e){return null===e}function Q_(e){var t;return null!==e&&(4===(t=e.length)&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e))}function J_(e){return"true"===e||"True"===e||"TRUE"===e}function eA(e){return"[object Boolean]"===Object.prototype.toString.call(e)}function tA(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function iA(e){return 48<=e&&e<=55}function nA(e){return 48<=e&&e<=57}function rA(e){if(null===e)return!1;var t,i=e.length,n=0,r=!1;if(!i)return!1;if("0"===(t="-"!==(t=e[n])&&"+"!==t?t:e[++n])){if(n+1===i)return!0;if("b"===(t=e[++n])){for(n++;n<i;n++)if("_"!==(t=e[n])){if("0"!==t&&"1"!==t)return!1;r=!0}return r&&"_"!==t}if("x"===t){for(n++;n<i;n++)if("_"!==(t=e[n])){if(!tA(e.charCodeAt(n)))return!1;r=!0}return r&&"_"!==t}if("o"===t){for(n++;n<i;n++)if("_"!==(t=e[n])){if(!iA(e.charCodeAt(n)))return!1;r=!0}return r&&"_"!==t}}if("_"===t)return!1;for(;n<i;n++)if("_"!==(t=e[n])){if(!nA(e.charCodeAt(n)))return!1;r=!0}return!(!r||"_"===t)}function sA(e){var t,i=1;if("-"!==(t=(e=-1!==e.indexOf("_")?e.replace(/_/g,""):e)[0])&&"+"!==t||("-"===t&&(i=-1),t=(e=e.slice(1))[0]),"0"===e)return 0;if("0"===t){if("b"===e[1])return i*parseInt(e.slice(2),2);if("x"===e[1])return i*parseInt(e.slice(2),16);if("o"===e[1])return i*parseInt(e.slice(2),8)}return i*parseInt(e,10)}function aA(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1==0&&!B9.isNegativeZero(e)}function oA(e){return!(null===e||!q9.test(e)||"_"===e[e.length-1])}function lA(e){var e=e.replace(/_/g,"").toLowerCase(),t="-"===e[0]?-1:1;return".inf"===(e=0<="+-".indexOf(e[0])?e.slice(1):e)?1==t?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:t*parseFloat(e,10)}function cA(e,t){if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(B9.isNegativeZero(e))return"-0.0";return t=e.toString(10),W9.test(t)?t.replace("e",".e"):t}function hA(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||B9.isNegativeZero(e))}function uA(e){return null!==e&&(null!==V9.exec(e)||null!==Y9.exec(e))}function dA(e){var t,i,n,r,s,a=0,o=null,l=V9.exec(e);if(null===(l=null===l?Y9.exec(e):l))throw new Error("Date resolve error");if(e=+l[1],t=+l[2]-1,i=+l[3],!l[4])return new Date(Date.UTC(e,t,i));if(n=+l[4],r=+l[5],s=+l[6],l[7]){for(a=l[7].slice(0,3);a.length<3;)a+="0";a=+a}return l[9]&&(o=6e4*(60*+l[10]+ +(l[11]||0)),"-"===l[9])&&(o=-o),l=new Date(Date.UTC(e,t,i,n,r,s,a)),o&&l.setTime(l.getTime()-o),l}function pA(e){return e.toISOString()}function gA(e){return"<<"===e||null===e}function fA(e){if(null===e)return!1;for(var t,i=0,n=e.length,r=Z9,s=0;s<n;s++)if(!(64<(t=r.indexOf(e.charAt(s))))){if(t<0)return!1;i+=6}return i%8==0}function mA(e){for(var t=e.replace(/[\r\n=]/g,""),i=t.length,n=Z9,r=0,s=[],a=0;a<i;a++)a%4==0&&a&&(s.push(r>>16&255),s.push(r>>8&255),s.push(255&r)),r=r<<6|n.indexOf(t.charAt(a));return 0==(e=i%4*6)?(s.push(r>>16&255),s.push(r>>8&255),s.push(255&r)):18==e?(s.push(r>>10&255),s.push(r>>2&255)):12==e&&s.push(r>>4&255),new Uint8Array(s)}function yA(e){for(var t,i="",n=0,r=e.length,s=Z9,a=0;a<r;a++)a%3==0&&a&&(i=(i=(i=(i+=s[n>>18&63])+s[n>>12&63])+s[n>>6&63])+s[63&n]),n=(n<<8)+e[a];retur Line truncated `;return l.replace(/\n$/,"")}function q_(e){var i={};return null!==e&&Object.keys(e).forEach(function(t){e[t].forEach(function(e){i[String(e)]=t})}),i}function W_(t,e){if(e=e||{},Object.keys(e).forEach(function(e){if(-1===z9.indexOf(e))throw new F9('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(e){return e},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=q_(e.styleAliases||null),-1===U9.indexOf(this.kind))throw new F9('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}function G_(e,t){var r=[];return e[t].forEach(function(i){var n=r.length;r.forEach(function(e,t){e.tag===i.tag&&e.kind===i.kind&&e.multi===i.multi&&(n=t)}),r[n]=i}),r}function V_(){var e,t,i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function n(e){e.multi?(i.multi[e.kind].push(e),i.multi.fallback.push(e)):i[e.kind][e.tag]=i.fallback[e.tag]=e}for(mt(n,"collectType"),e=0,t=arguments.length;e<t;e+=1)arguments[e].forEach(n);return i}function Y_(e){return this.extend(e)}function X_(e){var t;return null===e||1===(t=e.length)&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)}function K_(){return null}function Q_(e){return null===e}function Z_(e){var t;return null!==e&&(4===(t=e.length)&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e))}function J_(e){return"true"===e||"True"===e||"TRUE"===e}function eA(e){return"[object Boolean]"===Object.prototype.toString.call(e)}function tA(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function iA(e){return 48<=e&&e<=55}function nA(e){return 48<=e&&e<=57}function rA(e){if(null===e)return!1;var t,i=e.length,n=0,r=!1;if(!i)return!1;if("0"===(t="-"!==(t=e[n])&&"+"!==t?t:e[++n])){if(n+1===i)return!0;if("b"===(t=e[++n])){for(n++;n<i;n++)if("_"!==(t=e[n])){if("0"!==t&&"1"!==t)return!1;r=!0}return r&&"_"!==t}if("x"===t){for(n++;n<i;n++)if("_"!==(t=e[n])){if(!tA(e.charCodeAt(n)))return!1;r=!0}return r&&"_"!==t}if("o"===t){for(n++;n<i;n++)if("_"!==(t=e[n])){if(!iA(e.charCodeAt(n)))return!1;r=!0}return r&&"_"!==t}}if("_"===t)return!1;for(;n<i;n++)if("_"!==(t=e[n])){if(!nA(e.charCodeAt(n)))return!1;r=!0}return!(!r||"_"===t)}function sA(e){var t,i=1;if("-"!==(t=(e=-1!==e.indexOf("_")?e.replace(/_/g,""):e)[0])&&"+"!==t||("-"===t&&(i=-1),t=(e=e.slice(1))[0]),"0"===e)return 0;if("0"===t){if("b"===e[1])return i*parseInt(e.slice(2),2);if("x"===e[1])return i*parseInt(e.slice(2),16);if("o"===e[1])return i*parseInt(e.slice(2),8)}return i*parseInt(e,10)}function aA(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1==0&&!B9.isNegativeZero(e)}function oA(e){return!(null===e||!q9.test(e)||"_"===e[e.length-1])}function lA(e){var e=e.replace(/_/g,"").toLowerCase(),t="-"===e[0]?-1:1;return".inf"===(e=0<="+-".indexOf(e[0])?e.slice(1):e)?1==t?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:t*parseFloat(e,10)}function cA(e,t){if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(B9.isNegativeZero(e))return"-0.0";return t=e.toString(10),W9.test(t)?t.replace("e",".e"):t}function hA(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||B9.isNegativeZero(e))}function uA(e){return null!==e&&(null!==V9.exec(e)||null!==Y9.exec(e))}function dA(e){var t,i,n,r,s,a=0,o=null,l=V9.exec(e);if(null===(l=null===l?Y9.exec(e):l))throw new Error("Date resolve error");if(e=+l[1],t=+l[2]-1,i=+l[3],!l[4])return new Date(Date.UTC(e,t,i));if(n=+l[4],r=+l[5],s=+l[6],l[7]){for(a=l[7].slice(0,3);a.length<3;)a+="0";a=+a}return l[9]&&(o=6e4*(60*+l[10]+ +(l[11]||0)),"-"===l[9])&&(o=-o),l=new Date(Date.UTC(e,t,i,n,r,s,a)),o&&l.setTime(l.getTime()-o),l}function pA(e){return e.toISOString()}function gA(e){return"<<"===e||null===e}function fA(e){if(null===e)return!1;for(var t,i=0,n=e.length,r=Q9,s=0;s<n;s++)if(!(64<(t=r.indexOf(e.charAt(s))))){if(t<0)return!1;i+=6}return i%8==0}function mA(e){for(var t=e.replace(/[\r\n=]/g,""),i=t.length,n=Q9,r=0,s=[],a=0;a<i;a++)a%4==0&&a&&(s.push(r>>16&255),s.push(r>>8&255),s.push(255&r)),r=r<<6|n.indexOf(t.charAt(a));return 0==(e=i%4*6)?(s.push(r>>16&255),s.push(r>>8&255),s.push(255&r)):18==e?(s.push(r>>10&255),s.push(r>>2&255)):12==e&&s.push(r>>4&255),new Uint8Array(s)}function yA(e){for(var t,i="",n=0,r=e.length,s=Q9,a=0;a<r;a++)a%3==0&&a&&(i=(i=(i=(i+=s[n>>18&63])+s[n>>12&63])+s[n>>6&63])+s[63&n]),n=(n<<8)+e[a];retur Line truncated
`:118===e?"\v":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"…":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function NA(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}function DA(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||aE,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function OA(e,t){e={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return e.snippet=j9(e),new F9(t,e)}function PA(e,t){throw OA(e,t)}function BA(e,t){e.onWarning&&e.onWarning.call(null,OA(e,t))}function FA(e,t,i,n){var r,s,a,o;if(t<i){if(o=e.input.slice(t,i),n)for(r=0,s=o.length;r<s;r+=1)9===(a=o.charCodeAt(r))||32<=a&&a<=1114111||PA(e,"expected valid JSON character");else fE.test(o)&&PA(e,"the stream contains non-printable characters");e.result+=o}}function jA(e,t,i,n){var r,s,a,o;for(B9.isObject(i)||PA(e,"cannot merge mappings; the provided source object is unacceptable"),a=0,o=(r=Object.keys(i)).length;a<o;a+=1)s=r[a],oE.call(t,s)||(t[s]=i[s],n[s]=!0)}function zA(e,t,i,n,r,s,a,o,l){var c,h;if(Array.isArray(r))for(c=0,h=(r=Array.prototype.slice.call(r)).length;c<h;c+=1)Array.isArray(r[c])&&PA(e,"nested arrays are not supported inside keys"),"object"==typeof r&&"[object Object]"===CA(r[c])&&(r[c]="[object Object]");if("object"==typeof r&&"[object Object]"===CA(r)&&(r="[object Object]"),r=String(r),null===t&&(t={}),"tag:yaml.org,2002:merge"===n)if(Array.isArray(s))for(c=0,h=s.length;c<h;c+=1)jA(e,t,s[c],i);else jA(e,t,s,i);else e.json||oE.call(i,r)||!oE.call(t,r)||(e.line=a||e.line,e.lineStart=o||e.lineStart,e.position=l||e.position,PA(e,"duplicated mapping key")),"__proto__"===r?Object.defineProperty(t,r,{configurable:!0,enumerable:!0,writable:!0,value:s}):t[r]=s,delete i[r];return t}function UA(e){var t=e.input.charCodeAt(e.position);10===t?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):PA(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function HA(e,t,i){for(var n=0,r=e.input.charCodeAt(e.position);0!==r;){for(;AA(r);)9===r&&-1===e.firstTabInLine&&(e.firstTabInLine=e.position),r=e.input.charCodeAt(++e.position);if(t&&35===r)for(;10!==(r=e.input.charCodeAt(++e.position))&&13!==r&&0!==r;);if(!_A(r))break;for(UA(e),r=e.input.charCodeAt(e.position),n++,e.lineIndent=0;32===r;)e.lineIndent++,r=e.input.charCodeAt(++e.position)}return-1!==i&&0!==n&&e.lineIndent<i&&BA(e,"deficient indentation"),n}function qA(e){var t=e.position,i=e.input.charCodeAt(t);return!(45!==i&&46!==i||i!==e.input.charCodeAt(t+1)||i!==e.input.charCodeAt(t+2)||0!==(i=e.input.charCodeAt(t+=3))&&!EA(i))}function WA(e,t){1===t?e.result+=" ":1<t&&(e.result+=B9.repeat(` `:118===e?"\v":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"…":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function NA(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}function DA(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||aE,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function OA(e,t){e={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return e.snippet=j9(e),new F9(t,e)}function PA(e,t){throw OA(e,t)}function BA(e,t){e.onWarning&&e.onWarning.call(null,OA(e,t))}function FA(e,t,i,n){var r,s,a,o;if(t<i){if(o=e.input.slice(t,i),n)for(r=0,s=o.length;r<s;r+=1)9===(a=o.charCodeAt(r))||32<=a&&a<=1114111||PA(e,"expected valid JSON character");else fE.test(o)&&PA(e,"the stream contains non-printable characters");e.result+=o}}function jA(e,t,i,n){var r,s,a,o;for(B9.isObject(i)||PA(e,"cannot merge mappings; the provided source object is unacceptable"),a=0,o=(r=Object.keys(i)).length;a<o;a+=1)s=r[a],oE.call(t,s)||(t[s]=i[s],n[s]=!0)}function zA(e,t,i,n,r,s,a,o,l){var c,h;if(Array.isArray(r))for(c=0,h=(r=Array.prototype.slice.call(r)).length;c<h;c+=1)Array.isArray(r[c])&&PA(e,"nested arrays are not supported inside keys"),"object"==typeof r&&"[object Object]"===CA(r[c])&&(r[c]="[object Object]");if("object"==typeof r&&"[object Object]"===CA(r)&&(r="[object Object]"),r=String(r),null===t&&(t={}),"tag:yaml.org,2002:merge"===n)if(Array.isArray(s))for(c=0,h=s.length;c<h;c+=1)jA(e,t,s[c],i);else jA(e,t,s,i);else e.json||oE.call(i,r)||!oE.call(t,r)||(e.line=a||e.line,e.lineStart=o||e.lineStart,e.position=l||e.position,PA(e,"duplicated mapping key")),"__proto__"===r?Object.defineProperty(t,r,{configurable:!0,enumerable:!0,writable:!0,value:s}):t[r]=s,delete i[r];return t}function UA(e){var t=e.input.charCodeAt(e.position);10===t?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):PA(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function HA(e,t,i){for(var n=0,r=e.input.charCodeAt(e.position);0!==r;){for(;AA(r);)9===r&&-1===e.firstTabInLine&&(e.firstTabInLine=e.position),r=e.input.charCodeAt(++e.position);if(t&&35===r)for(;10!==(r=e.input.charCodeAt(++e.position))&&13!==r&&0!==r;);if(!_A(r))break;for(UA(e),r=e.input.charCodeAt(e.position),n++,e.lineIndent=0;32===r;)e.lineIndent++,r=e.input.charCodeAt(++e.position)}return-1!==i&&0!==n&&e.lineIndent<i&&BA(e,"deficient indentation"),n}function qA(e){var t=e.position,i=e.input.charCodeAt(t);return!(45!==i&&46!==i||i!==e.input.charCodeAt(t+1)||i!==e.input.charCodeAt(t+2)||0!==(i=e.input.charCodeAt(t+=3))&&!EA(i))}function WA(e,t){1===t?e.result+=" ":1<t&&(e.result+=B9.repeat(`
`,t-1))}function GA(e,t,i){var n,r,s,a,o,l,c,h=e.kind,u=e.result,d=e.input.charCodeAt(e.position);if(EA(d)||$A(d)||35===d||38===d||42===d||33===d||124===d||62===d||39===d||34===d||37===d||64===d||96===d||(63===d||45===d)&&(EA(n=e.input.charCodeAt(e.position+1))||i&&$A(n)))return!1;for(e.kind="scalar",e.result="",r=s=e.position,a=!1;0!==d;){if(58===d){if(EA(n=e.input.charCodeAt(e.position+1))||i&&$A(n))break}else if(35===d){if(EA(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&qA(e)||i&&$A(d))break;if(_A(d)){if(o=e.line,l=e.lineStart,c=e.lineIndent,HA(e,!1,-1),e.lineIndent>=t){a=!0,d=e.input.charCodeAt(e.position);continue}e.position=s,e.line=o,e.lineStart=l,e.lineIndent=c;break}}a&&(FA(e,r,s,!1),WA(e,e.line-o),r=s=e.position,a=!1),AA(d)||(s=e.position+1),d=e.input.charCodeAt(++e.position)}return FA(e,r,s,!1),!!e.result||(e.kind=h,e.result=u,!1)}function VA(e,t){var i,n,r=e.input.charCodeAt(e.position);if(39!==r)return!1;for(e.kind="scalar",e.result="",e.position++,i=n=e.position;0!==(r=e.input.charCodeAt(e.position));)if(39===r){if(FA(e,i,e.position,!0),39!==(r=e.input.charCodeAt(++e.position)))return!0;i=e.position,e.position++,n=e.position}else _A(r)?(FA(e,i,n,!0),WA(e,HA(e,!1,t)),i=n=e.position):e.position===e.lineStart&&qA(e)?PA(e,"unexpected end of the document within a single quoted scalar"):(e.position++,n=e.position);PA(e,"unexpected end of the stream within a single quoted scalar")}function YA(e,t){var i,n,r,s,a,o=e.input.charCodeAt(e.position);if(34!==o)return!1;for(e.kind="scalar",e.result="",e.position++,i=n=e.position;0!==(o=e.input.charCodeAt(e.position));){if(34===o)return FA(e,i,e.position,!0),e.position++,!0;if(92===o){if(FA(e,i,e.position,!0),_A(o=e.input.charCodeAt(++e.position)))HA(e,!1,t);else if(o<256&&xE[o])e.result+=wE[o],e.position++;else if(0<(a=RA(o))){for(r=a,s=0;0<r;r--)0<=(a=LA(o=e.input.charCodeAt(++e.position)))?s=(s<<4)+a:PA(e,"expected hexadecimal character");e.result+=NA(s),e.position++}else PA(e,"unknown escape sequence");i=n=e.position}else _A(o)?(FA(e,i,n,!0),WA(e,HA(e,!1,t)),i=n=e.position):e.position===e.lineStart&&qA(e)?PA(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}PA(e,"unexpected end of the stream within a double quoted scalar")}function XA(e,t){var i,n,r,s,a,o,l,c,h,u,d,p=!0,g=e.tag,f=e.anchor,m=Object.create(null),y=e.input.charCodeAt(e.position);if(91===y)c=!(a=93),s=[];else{if(123!==y)return!1;a=125,c=!0,s={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=s),y=e.input.charCodeAt(++e.position);0!==y;){if(HA(e,!0,t),(y=e.input.charCodeAt(e.position))===a)return e.position++,e.tag=g,e.anchor=f,e.kind=c?"mapping":"sequence",e.result=s,!0;p?44===y&&PA(e,"expected the node content, but found ','"):PA(e,"missed comma between flow collection entries"),d=null,o=l=!1,63===y&&EA(e.input.charCodeAt(e.position+1))&&(o=l=!0,e.position++,HA(e,!0,t)),i=e.line,n=e.lineStart,r=e.position,i9(e,t,lE,!1,!0),u=e.tag,h=e.result,HA(e,!0,t),y=e.input.charCodeAt(e.position),!l&&e.line!==i||58!==y||(o=!0,y=e.input.charCodeAt(++e.position),HA(e,!0,t),i9(e,t,lE,!1,!0),d=e.result),c?zA(e,s,m,u,h,d,i,n,r):o?s.push(zA(e,null,m,u,h,d,i,n,r)):s.push(h),HA(e,!0,t),44===(y=e.input.charCodeAt(e.position))?(p=!0,y=e.input.charCodeAt(++e.position)):p=!1}PA(e,"unexpected end of the stream within a flow collection")}function KA(e,t){var i,n,r,s=dE,a=!1,o=!1,l=t,c=0,h=!1,u=e.input.charCodeAt(e.position);if(124===u)n=!1;else{if(62!==u)return!1;n=!0}for(e.kind="scalar",e.result="";0!==u;)if(43===(u=e.input.charCodeAt(++e.position))||45===u)dE===s?s=43===u?gE:pE:PA(e,"repeat of a chomping mode identifier");else{if(!(0<=(r=MA(u))))break;0===r?PA(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?PA(e,"repeat of an indentation width identifier"):(l=t+r-1,o=!0)}if(AA(u)){for(;AA(u=e.input.charCodeAt(++e.position)););if(35===u)for(;!_A(u=e.input.charCodeAt(++e.position))&&0!==u;);}for(;0!==u;){for(UA(e),e.lineIndent=0,u=e.input.charCodeAt(e.position);(!o||e.lineIndent<l)&&32===u;)e.lineIndent++,u=e.input.charCodeAt(++e.position);if(!o&&e.lineIndent>l&&(l=e.lineIndent),_A(u))c++;else{if(e.lineIndent<l){s===gE?e.result+=B9.repeat(` `,t-1))}function GA(e,t,i){var n,r,s,a,o,l,c,h=e.kind,u=e.result,d=e.input.charCodeAt(e.position);if(EA(d)||$A(d)||35===d||38===d||42===d||33===d||124===d||62===d||39===d||34===d||37===d||64===d||96===d||(63===d||45===d)&&(EA(n=e.input.charCodeAt(e.position+1))||i&&$A(n)))return!1;for(e.kind="scalar",e.result="",r=s=e.position,a=!1;0!==d;){if(58===d){if(EA(n=e.input.charCodeAt(e.position+1))||i&&$A(n))break}else if(35===d){if(EA(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&qA(e)||i&&$A(d))break;if(_A(d)){if(o=e.line,l=e.lineStart,c=e.lineIndent,HA(e,!1,-1),e.lineIndent>=t){a=!0,d=e.input.charCodeAt(e.position);continue}e.position=s,e.line=o,e.lineStart=l,e.lineIndent=c;break}}a&&(FA(e,r,s,!1),WA(e,e.line-o),r=s=e.position,a=!1),AA(d)||(s=e.position+1),d=e.input.charCodeAt(++e.position)}return FA(e,r,s,!1),!!e.result||(e.kind=h,e.result=u,!1)}function VA(e,t){var i,n,r=e.input.charCodeAt(e.position);if(39!==r)return!1;for(e.kind="scalar",e.result="",e.position++,i=n=e.position;0!==(r=e.input.charCodeAt(e.position));)if(39===r){if(FA(e,i,e.position,!0),39!==(r=e.input.charCodeAt(++e.position)))return!0;i=e.position,e.position++,n=e.position}else _A(r)?(FA(e,i,n,!0),WA(e,HA(e,!1,t)),i=n=e.position):e.position===e.lineStart&&qA(e)?PA(e,"unexpected end of the document within a single quoted scalar"):(e.position++,n=e.position);PA(e,"unexpected end of the stream within a single quoted scalar")}function YA(e,t){var i,n,r,s,a,o=e.input.charCodeAt(e.position);if(34!==o)return!1;for(e.kind="scalar",e.result="",e.position++,i=n=e.position;0!==(o=e.input.charCodeAt(e.position));){if(34===o)return FA(e,i,e.position,!0),e.position++,!0;if(92===o){if(FA(e,i,e.position,!0),_A(o=e.input.charCodeAt(++e.position)))HA(e,!1,t);else if(o<256&&xE[o])e.result+=wE[o],e.position++;else if(0<(a=RA(o))){for(r=a,s=0;0<r;r--)0<=(a=LA(o=e.input.charCodeAt(++e.position)))?s=(s<<4)+a:PA(e,"expected hexadecimal character");e.result+=NA(s),e.position++}else PA(e,"unknown escape sequence");i=n=e.position}else _A(o)?(FA(e,i,n,!0),WA(e,HA(e,!1,t)),i=n=e.position):e.position===e.lineStart&&qA(e)?PA(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}PA(e,"unexpected end of the stream within a double quoted scalar")}function XA(e,t){var i,n,r,s,a,o,l,c,h,u,d,p=!0,g=e.tag,f=e.anchor,m=Object.create(null),y=e.input.charCodeAt(e.position);if(91===y)c=!(a=93),s=[];else{if(123!==y)return!1;a=125,c=!0,s={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=s),y=e.input.charCodeAt(++e.position);0!==y;){if(HA(e,!0,t),(y=e.input.charCodeAt(e.position))===a)return e.position++,e.tag=g,e.anchor=f,e.kind=c?"mapping":"sequence",e.result=s,!0;p?44===y&&PA(e,"expected the node content, but found ','"):PA(e,"missed comma between flow collection entries"),d=null,o=l=!1,63===y&&EA(e.input.charCodeAt(e.position+1))&&(o=l=!0,e.position++,HA(e,!0,t)),i=e.line,n=e.lineStart,r=e.position,i9(e,t,lE,!1,!0),u=e.tag,h=e.result,HA(e,!0,t),y=e.input.charCodeAt(e.position),!l&&e.line!==i||58!==y||(o=!0,y=e.input.charCodeAt(++e.position),HA(e,!0,t),i9(e,t,lE,!1,!0),d=e.result),c?zA(e,s,m,u,h,d,i,n,r):o?s.push(zA(e,null,m,u,h,d,i,n,r)):s.push(h),HA(e,!0,t),44===(y=e.input.charCodeAt(e.position))?(p=!0,y=e.input.charCodeAt(++e.position)):p=!1}PA(e,"unexpected end of the stream within a flow collection")}function KA(e,t){var i,n,r,s=dE,a=!1,o=!1,l=t,c=0,h=!1,u=e.input.charCodeAt(e.position);if(124===u)n=!1;else{if(62!==u)return!1;n=!0}for(e.kind="scalar",e.result="";0!==u;)if(43===(u=e.input.charCodeAt(++e.position))||45===u)dE===s?s=43===u?gE:pE:PA(e,"repeat of a chomping mode identifier");else{if(!(0<=(r=MA(u))))break;0===r?PA(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?PA(e,"repeat of an indentation width identifier"):(l=t+r-1,o=!0)}if(AA(u)){for(;AA(u=e.input.charCodeAt(++e.position)););if(35===u)for(;!_A(u=e.input.charCodeAt(++e.position))&&0!==u;);}for(;0!==u;){for(UA(e),e.lineIndent=0,u=e.input.charCodeAt(e.position);(!o||e.lineIndent<l)&&32===u;)e.lineIndent++,u=e.input.charCodeAt(++e.position);if(!o&&e.lineIndent>l&&(l=e.lineIndent),_A(u))c++;else{if(e.lineIndent<l){s===gE?e.result+=B9.repeat(`
`,a?1+c:c):s===dE&&a&&(e.result+=` `,a?1+c:c):s===dE&&a&&(e.result+=`
@@ -371,7 +371,7 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
`,a?1+c:c)):h?(h=!1,e.result+=B9.repeat(` `,a?1+c:c)):h?(h=!1,e.result+=B9.repeat(`
`,c+1)):0===c?a&&(e.result+=" "):e.result+=B9.repeat(` `,c+1)):0===c?a&&(e.result+=" "):e.result+=B9.repeat(`
`,c):e.result+=B9.repeat(` `,c):e.result+=B9.repeat(`
`,a?1+c:c),o=a=!0,c=0,i=e.position;!_A(u)&&0!==u;)u=e.input.charCodeAt(++e.position);FA(e,i,e.position,!1)}}return!0}function ZA(e,t){var i,n,r=e.tag,s=e.anchor,a=[],o=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),n=e.input.charCodeAt(e.position);0!==n&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,PA(e,"tab characters must not be used in indentation")),45===n)&&EA(e.input.charCodeAt(e.position+1));)if(o=!0,e.position++,HA(e,!0,-1)&&e.lineIndent<=t)a.push(null),n=e.input.charCodeAt(e.position);else if(i=e.line,i9(e,t,hE,!1,!0),a.push(e.result),HA(e,!0,-1),n=e.input.charCodeAt(e.position),(e.line===i||e.lineIndent>t)&&0!==n)PA(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break;return!!o&&(e.tag=r,e.anchor=s,e.kind="sequence",e.result=a,!0)}function QA(e,t,i){var n,r,s,a,o,l,c,h=e.tag,u=e.anchor,d={},p=Object.create(null),g=null,f=null,m=null,y=!1,b=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=d),c=e.input.charCodeAt(e.position);0!==c;){if(y||-1===e.firstTabInLine||(e.position=e.firstTabInLine,PA(e,"tab characters must not be used in indentation")),n=e.input.charCodeAt(e.position+1),s=e.line,63!==c&&58!==c||!EA(n)){if(a=e.line,o=e.lineStart,l=e.position,!i9(e,i,cE,!1,!0))break;if(e.line===s){for(c=e.input.charCodeAt(e.position);AA(c);)c=e.input.charCodeAt(++e.position);if(58===c)EA(c=e.input.charCodeAt(++e.position))||PA(e,"a whitespace character is expected after the key-value separator within a block mapping"),y&&(zA(e,d,p,g,f,null,a,o,l),g=f=m=null),r=y=!(b=!0),g=e.tag,f=e.result;else{if(!b)return e.tag=h,e.anchor=u,!0;PA(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!b)return e.tag=h,e.anchor=u,!0;PA(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===c?(y&&(zA(e,d,p,g,f,null,a,o,l),g=f=m=null),r=y=b=!0):y?r=!(y=!1):PA(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,c=n;if((e.line===s||e.lineIndent>t)&&(y&&(a=e.line,o=e.lineStart,l=e.position),i9(e,t,uE,!0,r)&&(y?f=e.result:m=e.result),y||(zA(e,d,p,g,f,m,a,o,l),g=f=m=null),HA(e,!0,-1),c=e.input.charCodeAt(e.position)),(e.line===s||e.lineIndent>t)&&0!==c)PA(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return y&&zA(e,d,p,g,f,null,a,o,l),b&&(e.tag=h,e.anchor=u,e.kind="mapping",e.result=d),b}function JA(e){var t,i,n,r=!1,s=!1,a=e.input.charCodeAt(e.position);if(33!==a)return!1;if(null!==e.tag&&PA(e,"duplication of a tag property"),60===(a=e.input.charCodeAt(++e.position))?(r=!0,a=e.input.charCodeAt(++e.position)):33===a?(s=!0,i="!!",a=e.input.charCodeAt(++e.position)):i="!",t=e.position,r){for(;0!==(a=e.input.charCodeAt(++e.position))&&62!==a;);e.position<e.length?(n=e.input.slice(t,e.position),a=e.input.charCodeAt(++e.position)):PA(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==a&&!EA(a);)33===a&&(s?PA(e,"tag suffix cannot contain exclamation marks"):(i=e.input.slice(t-1,e.position+1),bE.test(i)||PA(e,"named tag handle cannot contain such characters"),s=!0,t=e.position+1)),a=e.input.charCodeAt(++e.position);n=e.input.slice(t,e.position),yE.test(n)&&PA(e,"tag suffix cannot contain flow indicator characters")}n&&!vE.test(n)&&PA(e,"tag name cannot contain such characters: "+n);try{n=decodeURIComponent(n)}catch{PA(e,"tag name is malformed: "+n)}return r?e.tag=n:oE.call(e.tagMap,i)?e.tag=e.tagMap[i]+n:"!"===i?e.tag="!"+n:"!!"===i?e.tag="tag:yaml.org,2002:"+n:PA(e,'undeclared tag handle "'+i+'"'),!0}function e9(e){var t,i=e.input.charCodeAt(e.position);if(38!==i)return!1;for(null!==e.anchor&&PA(e,"duplication of an anchor property"),i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!EA(i)&&!$A(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&PA(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function t9(e){var t,i=e.input.charCodeAt(e.position);if(42!==i)return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!EA(i)&&!$A(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&PA(e,"name of an alias node must contain at least one character"),t=e.input.slice(t,e.position),oE.call(e.anchorMap,t)||PA(e,'unidentified alias "'+t+'"'),e.result=e.anchorMap[t],HA(e,!0,-1),!0}function i9(e,t,i,n,r){var s,a,o,l,c,h,u,d=1,p=!1,g=!1;if(null!==e.listener&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,s=a=o=uE===i||hE===i,n&&HA(e,!0,-1)&&(p=!0,e.lineIndent>t?d=1:e.lineIndent===t?d=0:e.lineIndent<t&&(d=-1)),1===d)for(;JA(e)||e9(e);)HA(e,!0,-1)?(p=!0,o=s,e.lineIndent>t?d=1:e.lineIndent===t?d=0:e.lineIndent<t&&(d=-1)):o=!1;if(o=o&&(p||r),1!==d&&uE!==i||(n=lE===i||cE===i?t:t+1,r=e.position-e.lineStart,1===d?o&&(ZA(e,r)||QA(e,r,n))||XA(e,n)?g=!0:(a&&KA(e,n)||VA(e,n)||YA(e,n)?g=!0:t9(e)?(g=!0,null===e.tag&&null===e.anchor||PA(e,"alias node should not have any properties")):GA(e,n,lE===i)&& Line truncated `,a?1+c:c),o=a=!0,c=0,i=e.position;!_A(u)&&0!==u;)u=e.input.charCodeAt(++e.position);FA(e,i,e.position,!1)}}return!0}function QA(e,t){var i,n,r=e.tag,s=e.anchor,a=[],o=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),n=e.input.charCodeAt(e.position);0!==n&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,PA(e,"tab characters must not be used in indentation")),45===n)&&EA(e.input.charCodeAt(e.position+1));)if(o=!0,e.position++,HA(e,!0,-1)&&e.lineIndent<=t)a.push(null),n=e.input.charCodeAt(e.position);else if(i=e.line,i9(e,t,hE,!1,!0),a.push(e.result),HA(e,!0,-1),n=e.input.charCodeAt(e.position),(e.line===i||e.lineIndent>t)&&0!==n)PA(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break;return!!o&&(e.tag=r,e.anchor=s,e.kind="sequence",e.result=a,!0)}function ZA(e,t,i){var n,r,s,a,o,l,c,h=e.tag,u=e.anchor,d={},p=Object.create(null),g=null,f=null,m=null,y=!1,b=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=d),c=e.input.charCodeAt(e.position);0!==c;){if(y||-1===e.firstTabInLine||(e.position=e.firstTabInLine,PA(e,"tab characters must not be used in indentation")),n=e.input.charCodeAt(e.position+1),s=e.line,63!==c&&58!==c||!EA(n)){if(a=e.line,o=e.lineStart,l=e.position,!i9(e,i,cE,!1,!0))break;if(e.line===s){for(c=e.input.charCodeAt(e.position);AA(c);)c=e.input.charCodeAt(++e.position);if(58===c)EA(c=e.input.charCodeAt(++e.position))||PA(e,"a whitespace character is expected after the key-value separator within a block mapping"),y&&(zA(e,d,p,g,f,null,a,o,l),g=f=m=null),r=y=!(b=!0),g=e.tag,f=e.result;else{if(!b)return e.tag=h,e.anchor=u,!0;PA(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!b)return e.tag=h,e.anchor=u,!0;PA(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===c?(y&&(zA(e,d,p,g,f,null,a,o,l),g=f=m=null),r=y=b=!0):y?r=!(y=!1):PA(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,c=n;if((e.line===s||e.lineIndent>t)&&(y&&(a=e.line,o=e.lineStart,l=e.position),i9(e,t,uE,!0,r)&&(y?f=e.result:m=e.result),y||(zA(e,d,p,g,f,m,a,o,l),g=f=m=null),HA(e,!0,-1),c=e.input.charCodeAt(e.position)),(e.line===s||e.lineIndent>t)&&0!==c)PA(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return y&&zA(e,d,p,g,f,null,a,o,l),b&&(e.tag=h,e.anchor=u,e.kind="mapping",e.result=d),b}function JA(e){var t,i,n,r=!1,s=!1,a=e.input.charCodeAt(e.position);if(33!==a)return!1;if(null!==e.tag&&PA(e,"duplication of a tag property"),60===(a=e.input.charCodeAt(++e.position))?(r=!0,a=e.input.charCodeAt(++e.position)):33===a?(s=!0,i="!!",a=e.input.charCodeAt(++e.position)):i="!",t=e.position,r){for(;0!==(a=e.input.charCodeAt(++e.position))&&62!==a;);e.position<e.length?(n=e.input.slice(t,e.position),a=e.input.charCodeAt(++e.position)):PA(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==a&&!EA(a);)33===a&&(s?PA(e,"tag suffix cannot contain exclamation marks"):(i=e.input.slice(t-1,e.position+1),bE.test(i)||PA(e,"named tag handle cannot contain such characters"),s=!0,t=e.position+1)),a=e.input.charCodeAt(++e.position);n=e.input.slice(t,e.position),yE.test(n)&&PA(e,"tag suffix cannot contain flow indicator characters")}n&&!vE.test(n)&&PA(e,"tag name cannot contain such characters: "+n);try{n=decodeURIComponent(n)}catch{PA(e,"tag name is malformed: "+n)}return r?e.tag=n:oE.call(e.tagMap,i)?e.tag=e.tagMap[i]+n:"!"===i?e.tag="!"+n:"!!"===i?e.tag="tag:yaml.org,2002:"+n:PA(e,'undeclared tag handle "'+i+'"'),!0}function e9(e){var t,i=e.input.charCodeAt(e.position);if(38!==i)return!1;for(null!==e.anchor&&PA(e,"duplication of an anchor property"),i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!EA(i)&&!$A(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&PA(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function t9(e){var t,i=e.input.charCodeAt(e.position);if(42!==i)return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!EA(i)&&!$A(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&PA(e,"name of an alias node must contain at least one character"),t=e.input.slice(t,e.position),oE.call(e.anchorMap,t)||PA(e,'unidentified alias "'+t+'"'),e.result=e.anchorMap[t],HA(e,!0,-1),!0}function i9(e,t,i,n,r){var s,a,o,l,c,h,u,d=1,p=!1,g=!1;if(null!==e.listener&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,s=a=o=uE===i||hE===i,n&&HA(e,!0,-1)&&(p=!0,e.lineIndent>t?d=1:e.lineIndent===t?d=0:e.lineIndent<t&&(d=-1)),1===d)for(;JA(e)||e9(e);)HA(e,!0,-1)?(p=!0,o=s,e.lineIndent>t?d=1:e.lineIndent===t?d=0:e.lineIndent<t&&(d=-1)):o=!1;if(o=o&&(p||r),1!==d&&uE!==i||(n=lE===i||cE===i?t:t+1,r=e.position-e.lineStart,1===d?o&&(QA(e,r)||ZA(e,r,n))||XA(e,n)?g=!0:(a&&KA(e,n)||VA(e,n)||YA(e,n)?g=!0:t9(e)?(g=!0,null===e.tag&&null===e.anchor||PA(e,"alias node should not have any properties")):GA(e,n,lE===i)&& Line truncated
`),65279===e.charCodeAt(0))?e.slice(1):e,t),t=e.indexOf("\0");for(-1!==t&&(i.position=t,PA(i,"null byte is not allowed in input")),i.input+="\0";32===i.input.charCodeAt(i.position);)i.lineIndent+=1,i.position+=1;for(;i.position<i.length-1;)n9(i);return i.documents}function s9(e,t,i){null!==t&&"object"==typeof t&&"u"<typeof i&&(i=t,t=null);var n=r9(e,i);if("function"!=typeof t)return n;for(var r=0,s=n.length;r<s;r+=1)t(n[r])}function a9(e,t){e=r9(e,t);if(0!==e.length){if(1===e.length)return e[0];throw new F9("expected a single document in the stream, but found more")}}function o9(e,t){var i,n,r,s,a,o,l;if(null===t)return{};for(i={},r=0,s=(n=Object.keys(t)).length;r<s;r+=1)a=n[r],o=String(t[a]),"!!"===a.slice(0,2)&&(a="tag:yaml.org,2002:"+a.slice(2)),(l=e.compiledTypeMap.fallback[a])&&_E.call(l.styleAliases,o)&&(o=l.styleAliases[o]),i[a]=o;return i}function l9(e){var t,i,n=e.toString(16).toUpperCase();if(e<=255)t="x",i=2;else if(e<=65535)t="u",i=4;else{if(!(e<=4294967295))throw new F9("code point within a string may not be greater than 0xFFFFFFFF");t="U",i=8}return"\\"+t+B9.repeat("0",i-n.length)+n}function c9(e){this.schema=e.schema||aE,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=B9.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=o9(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.quotingType='"'===e.quotingType?ME:1,this.forceQuotes=e.forceQuotes||!1,this.replacer="function"==typeof e.replacer?e.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function h9(e,t){for(var i,n,r=B9.repeat(" ",t),s=0,a="",o=e.length;s<o;)s=-1===(i=e.indexOf(` `),65279===e.charCodeAt(0))?e.slice(1):e,t),t=e.indexOf("\0");for(-1!==t&&(i.position=t,PA(i,"null byte is not allowed in input")),i.input+="\0";32===i.input.charCodeAt(i.position);)i.lineIndent+=1,i.position+=1;for(;i.position<i.length-1;)n9(i);return i.documents}function s9(e,t,i){null!==t&&"object"==typeof t&&"u"<typeof i&&(i=t,t=null);var n=r9(e,i);if("function"!=typeof t)return n;for(var r=0,s=n.length;r<s;r+=1)t(n[r])}function a9(e,t){e=r9(e,t);if(0!==e.length){if(1===e.length)return e[0];throw new F9("expected a single document in the stream, but found more")}}function o9(e,t){var i,n,r,s,a,o,l;if(null===t)return{};for(i={},r=0,s=(n=Object.keys(t)).length;r<s;r+=1)a=n[r],o=String(t[a]),"!!"===a.slice(0,2)&&(a="tag:yaml.org,2002:"+a.slice(2)),(l=e.compiledTypeMap.fallback[a])&&_E.call(l.styleAliases,o)&&(o=l.styleAliases[o]),i[a]=o;return i}function l9(e){var t,i,n=e.toString(16).toUpperCase();if(e<=255)t="x",i=2;else if(e<=65535)t="u",i=4;else{if(!(e<=4294967295))throw new F9("code point within a string may not be greater than 0xFFFFFFFF");t="U",i=8}return"\\"+t+B9.repeat("0",i-n.length)+n}function c9(e){this.schema=e.schema||aE,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=B9.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=o9(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.quotingType='"'===e.quotingType?ME:1,this.forceQuotes=e.forceQuotes||!1,this.replacer="function"==typeof e.replacer?e.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function h9(e,t){for(var i,n,r=B9.repeat(" ",t),s=0,a="",o=e.length;s<o;)s=-1===(i=e.indexOf(`
`,s))?(n=e.slice(s),o):(n=e.slice(s,i+1),i+1),n.length&&n!==` `,s))?(n=e.slice(s),o):(n=e.slice(s,i+1),i+1),n.length&&n!==`
`&&(a+=r),a+=n;return a}function u9(e,t){return` `&&(a+=r),a+=n;return a}function u9(e,t){return`
@@ -387,11 +387,11 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
`+e.slice(s,i=s<a?a:n),s=i+1),a=n;return o+=` `+e.slice(s,i=s<a?a:n),s=i+1),a=n;return o+=`
`,e.length-s>t&&s<a?o+=e.slice(s,a)+` `,e.length-s>t&&s<a?o+=e.slice(s,a)+`
`+e.slice(a+1):o+=e.slice(s),o.slice(1)}function A9(e){for(var t,i,n="",r=0;r<e.length;65536<=t?r+=2:r++)t=v9(e,r),!(i=$E[t])&&g9(t)?(n+=e[r],65536<=t&&(n+=e[r+1])):n+=i||l9(t);return n}function E9(e,t,i){for(var n,r="",s=e.tag,a=0,o=i.length;a<o;a+=1)n=i[a],e.replacer&&(n=e.replacer.call(i,String(a),n)),(I9(e,t,n,!1,!1)||"u"<typeof n&&I9(e,t,null,!1,!1))&&(""!==r&&(r+=","+(e.condenseFlow?"":" ")),r+=e.dump);e.tag=s,e.dump="["+r+"]"}function $9(e,t,i,n){for(var r,s="",a=e.tag,o=0,l=i.length;o<l;o+=1)r=i[o],e.replacer&&(r=e.replacer.call(i,String(o),r)),(I9(e,t+1,r,!0,!0,!1,!0)||"u"<typeof r&&I9(e,t+1,null,!0,!0,!1,!0))&&(n&&""===s||(s+=u9(e,t)),e.dump&&EE===e.dump.charCodeAt(0)?s+="-":s+="- ",s+=e.dump);e.tag=a,e.dump=s||"[]"}function L9(e,t,i){for(var n,r,s,a="",o=e.tag,l=Object.keys(i),c=0,h=l.length;c<h;c+=1)(s="")!==a&&(s+=", "),e.condenseFlow&&(s+='"'),r=i[n=l[c]],e.replacer&&(r=e.replacer.call(i,n,r)),I9(e,t,n,!1,!1)&&(1024<e.dump.length&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),I9(e,t,r,!1,!1))&&(a+=s+=e.dump);e.tag=o,e.dump="{"+a+"}"}function R9(e,t,i,n){var r,s,a,o,l,c="",h=e.tag,u=Object.keys(i);if(!0===e.sortKeys)u.sort();else if("function"==typeof e.sortKeys)u.sort(e.sortKeys);else if(e.sortKeys)throw new F9("sortKeys must be a boolean or a function");for(r=0,s=u.length;r<s;r+=1)l="",n&&""===c||(l+=u9(e,t)),a=i[o=u[r]],e.replacer&&(a=e.replacer.call(i,o,a)),I9(e,t+1,o,!0,!0,!0)&&((o=null!==e.tag&&"?"!==e.tag||e.dump&&1024<e.dump.length)&&(e.dump&&EE===e.dump.charCodeAt(0)?l+="?":l+="? "),l+=e.dump,o&&(l+=u9(e,t)),I9(e,t+1,a,!0,o))&&(e.dump&&EE===e.dump.charCodeAt(0)?l+=":":l+=": ",c+=l+=e.dump);e.tag=h,e.dump=c||"{}"}function M9(e,t,i){for(var n,r,s,a=i?e.explicitTypes:e.implicitTypes,o=0,l=a.length;o<l;o+=1)if(((r=a[o]).instanceOf||r.predicate)&&(!r.instanceOf||"object"==typeof t&&t instanceof r.instanceOf)&&(!r.predicate||r.predicate(t))){if(i?r.multi&&r.representName?e.tag=r.representName(t):e.tag=r.tag:e.tag="?",r.represent){if(s=e.styleMap[r.tag]||r.defaultStyle,"[object Function]"===CE.call(r.represent))n=r.represent(t,s);else{if(!_E.call(r.represent,s))throw new F9("!<"+r.tag+'> tag resolver accepts not "'+s+'" style');n=r.represent[s](t,s)}e.dump=n}return!0}return!1}function I9(e,t,i,n,r,s,a){e.tag=null,e.dump=i,M9(e,i,!1)||M9(e,i,!0);var o,l,c=CE.call(e.dump),h=n,u=(n=n&&(e.flowLevel<0||e.flowLevel>t),"[object Object]"===c||"[object Array]"===c);if(u&&(l=-1!==(o=e.duplicates.indexOf(i))),(null!==e.tag&&"?"!==e.tag||l||2!==e.indent&&0<t)&&(r=!1),l&&e.usedDuplicates[o])e.dump="*ref_"+o;else{if(u&&l&&!e.usedDuplicates[o]&&(e.usedDuplicates[o]=!0),"[object Object]"===c)n&&0!==Object.keys(e.dump).length?(R9(e,t,e.dump,r),l&&(e.dump="&ref_"+o+e.dump)):(L9(e,t,e.dump),l&&(e.dump="&ref_"+o+" "+e.dump));else if("[object Array]"===c)n&&0!==e.dump.length?(e.noArrayIndent&&!a&&0<t?$9(e,t-1,e.dump,r):$9(e,t,e.dump,r),l&&(e.dump="&ref_"+o+e.dump)):(E9(e,t,e.dump),l&&(e.dump="&ref_"+o+" "+e.dump));else{if("[object String]"!==c){if("[object Undefined]"===c)return!1;if(e.skipInvalid)return!1;throw new F9("unacceptable kind of an object to dump "+c)}"?"!==e.tag&&k9(e,e.dump,t,s,h)}null!==e.tag&&"?"!==e.tag&&(i=encodeURI("!"===e.tag[0]?e.tag.slice(1):e.tag).replace(/!/g,"%21"),i="!"===e.tag[0]?"!"+i:"tag:yaml.org,2002:"===i.slice(0,18)?"!!"+i.slice(18):"!<"+i+">",e.dump=i+" "+e.dump)}return!0}function N9(e,t){var i,n,r=[],s=[];for(D9(e,r,s),i=0,n=s.length;i<n;i+=1)t.duplicates.push(r[s[i]]);t.usedDuplicates=new Array(n)}function D9(e,t,i){var n,r,s;if(null!==e&&"object"==typeof e)if(-1!==(r=t.indexOf(e)))-1===i.indexOf(r)&&i.push(r);else if(t.push(e),Array.isArray(e))for(r=0,s=e.length;r<s;r+=1)D9(e[r],t,i);else for(r=0,s=(n=Object.keys(e)).length;r<s;r+=1)D9(e[n[r]],t,i)}function O9(e,t){t=new c9(t=t||{}),t.noRefs||N9(e,t);return t.replacer&&(e=t.replacer.call({"":e},"",e)),I9(t,0,e,!0,!0)?t.dump+` `+e.slice(a+1):o+=e.slice(s),o.slice(1)}function A9(e){for(var t,i,n="",r=0;r<e.length;65536<=t?r+=2:r++)t=v9(e,r),!(i=$E[t])&&g9(t)?(n+=e[r],65536<=t&&(n+=e[r+1])):n+=i||l9(t);return n}function E9(e,t,i){for(var n,r="",s=e.tag,a=0,o=i.length;a<o;a+=1)n=i[a],e.replacer&&(n=e.replacer.call(i,String(a),n)),(I9(e,t,n,!1,!1)||"u"<typeof n&&I9(e,t,null,!1,!1))&&(""!==r&&(r+=","+(e.condenseFlow?"":" ")),r+=e.dump);e.tag=s,e.dump="["+r+"]"}function $9(e,t,i,n){for(var r,s="",a=e.tag,o=0,l=i.length;o<l;o+=1)r=i[o],e.replacer&&(r=e.replacer.call(i,String(o),r)),(I9(e,t+1,r,!0,!0,!1,!0)||"u"<typeof r&&I9(e,t+1,null,!0,!0,!1,!0))&&(n&&""===s||(s+=u9(e,t)),e.dump&&EE===e.dump.charCodeAt(0)?s+="-":s+="- ",s+=e.dump);e.tag=a,e.dump=s||"[]"}function L9(e,t,i){for(var n,r,s,a="",o=e.tag,l=Object.keys(i),c=0,h=l.length;c<h;c+=1)(s="")!==a&&(s+=", "),e.condenseFlow&&(s+='"'),r=i[n=l[c]],e.replacer&&(r=e.replacer.call(i,n,r)),I9(e,t,n,!1,!1)&&(1024<e.dump.length&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),I9(e,t,r,!1,!1))&&(a+=s+=e.dump);e.tag=o,e.dump="{"+a+"}"}function R9(e,t,i,n){var r,s,a,o,l,c="",h=e.tag,u=Object.keys(i);if(!0===e.sortKeys)u.sort();else if("function"==typeof e.sortKeys)u.sort(e.sortKeys);else if(e.sortKeys)throw new F9("sortKeys must be a boolean or a function");for(r=0,s=u.length;r<s;r+=1)l="",n&&""===c||(l+=u9(e,t)),a=i[o=u[r]],e.replacer&&(a=e.replacer.call(i,o,a)),I9(e,t+1,o,!0,!0,!0)&&((o=null!==e.tag&&"?"!==e.tag||e.dump&&1024<e.dump.length)&&(e.dump&&EE===e.dump.charCodeAt(0)?l+="?":l+="? "),l+=e.dump,o&&(l+=u9(e,t)),I9(e,t+1,a,!0,o))&&(e.dump&&EE===e.dump.charCodeAt(0)?l+=":":l+=": ",c+=l+=e.dump);e.tag=h,e.dump=c||"{}"}function M9(e,t,i){for(var n,r,s,a=i?e.explicitTypes:e.implicitTypes,o=0,l=a.length;o<l;o+=1)if(((r=a[o]).instanceOf||r.predicate)&&(!r.instanceOf||"object"==typeof t&&t instanceof r.instanceOf)&&(!r.predicate||r.predicate(t))){if(i?r.multi&&r.representName?e.tag=r.representName(t):e.tag=r.tag:e.tag="?",r.represent){if(s=e.styleMap[r.tag]||r.defaultStyle,"[object Function]"===CE.call(r.represent))n=r.represent(t,s);else{if(!_E.call(r.represent,s))throw new F9("!<"+r.tag+'> tag resolver accepts not "'+s+'" style');n=r.represent[s](t,s)}e.dump=n}return!0}return!1}function I9(e,t,i,n,r,s,a){e.tag=null,e.dump=i,M9(e,i,!1)||M9(e,i,!0);var o,l,c=CE.call(e.dump),h=n,u=(n=n&&(e.flowLevel<0||e.flowLevel>t),"[object Object]"===c||"[object Array]"===c);if(u&&(l=-1!==(o=e.duplicates.indexOf(i))),(null!==e.tag&&"?"!==e.tag||l||2!==e.indent&&0<t)&&(r=!1),l&&e.usedDuplicates[o])e.dump="*ref_"+o;else{if(u&&l&&!e.usedDuplicates[o]&&(e.usedDuplicates[o]=!0),"[object Object]"===c)n&&0!==Object.keys(e.dump).length?(R9(e,t,e.dump,r),l&&(e.dump="&ref_"+o+e.dump)):(L9(e,t,e.dump),l&&(e.dump="&ref_"+o+" "+e.dump));else if("[object Array]"===c)n&&0!==e.dump.length?(e.noArrayIndent&&!a&&0<t?$9(e,t-1,e.dump,r):$9(e,t,e.dump,r),l&&(e.dump="&ref_"+o+e.dump)):(E9(e,t,e.dump),l&&(e.dump="&ref_"+o+" "+e.dump));else{if("[object String]"!==c){if("[object Undefined]"===c)return!1;if(e.skipInvalid)return!1;throw new F9("unacceptable kind of an object to dump "+c)}"?"!==e.tag&&k9(e,e.dump,t,s,h)}null!==e.tag&&"?"!==e.tag&&(i=encodeURI("!"===e.tag[0]?e.tag.slice(1):e.tag).replace(/!/g,"%21"),i="!"===e.tag[0]?"!"+i:"tag:yaml.org,2002:"===i.slice(0,18)?"!!"+i.slice(18):"!<"+i+">",e.dump=i+" "+e.dump)}return!0}function N9(e,t){var i,n,r=[],s=[];for(D9(e,r,s),i=0,n=s.length;i<n;i+=1)t.duplicates.push(r[s[i]]);t.usedDuplicates=new Array(n)}function D9(e,t,i){var n,r,s;if(null!==e&&"object"==typeof e)if(-1!==(r=t.indexOf(e)))-1===i.indexOf(r)&&i.push(r);else if(t.push(e),Array.isArray(e))for(r=0,s=e.length;r<s;r+=1)D9(e[r],t,i);else for(r=0,s=(n=Object.keys(e)).length;r<s;r+=1)D9(e[n[r]],t,i)}function O9(e,t){t=new c9(t=t||{}),t.noRefs||N9(e,t);return t.replacer&&(e=t.replacer.call({"":e},"",e)),I9(t,0,e,!0,!0)?t.dump+`
`:""}function P9(e,t){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+t+" instead, which is now safe by default.")}}var B9,F9,j9,z9,U9,H9,q9,W9,G9,V9,Y9,X9,K9,Z9,Q9,J9,eE,tE,iE,nE,rE,sE,aE,oE,lE,cE,hE,uE,dE,pE,gE,fE,mE,yE,bE,vE,xE,wE,kE,TE,SE,CE,_E,AE,EE,$E,LE,RE,ME,IE,NE,DE,OE,PE,BE,FE,jE=e(()=>{"use strict";for(mt(I_,"isNothing"),mt(N_,"isObject"),mt(D_,"toArray"),mt(O_,"extend"),mt(P_,"repeat"),mt(B_,"isNegativeZero"),B9={isNothing:I_,isObject:N_,toArray:D_,repeat:P_,isNegativeZero:B_,extend:O_},mt(F_,"formatError"),mt(j_,"YAMLException$1"),((j_.prototype=Object.create(Error.prototype)).constructor=j_).prototype.toString=mt(function(e){return this.name+": "+F_(this,e)},"toString"),F9=j_,mt(z_,"getLine"),mt(U_,"padStart"),mt(H_,"makeSnippet"),j9=H_,z9=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],U9=["scalar","sequence","mapping"],mt(q_,"compileStyleAliases"),mt(W_,"Type$1"),H9=W_,mt(G_,"compileList"),mt(V_,"compileMap"),mt(Y_,"Schema$1"),Y_.prototype.extend=mt(function(e){var t=[],i=[];if(e instanceof H9)i.push(e);else if(Array.isArray(e))i=i.concat(e);else{if(!e||!Array.isArray(e.implicit)&&!Array.isArray(e.explicit))throw new F9("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(i=i.concat(e.explicit))}t.forEach(function(e){if(!(e instanceof H9))throw new F9("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(e.loadKind&&"scalar"!==e.loadKind)throw new F9("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(e.multi)throw new F9("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),i.forEach(function(e){if(!(e instanceof H9))throw new F9("Specified list of YAML types (or a single Type object) contains a non-Type object.")});e=Object.create(Y_.prototype);return e.implicit=(this.implicit||[]).concat(t),e.explicit=(this.explicit||[]).concat(i),e.compiledImplicit=G_(e,"implicit"),e.compiledExplicit=G_(e,"explicit"),e.compiledTypeMap=V_(e.compiledImplicit,e.compiledExplicit),e},"extend"),G9=Y_,SE=new H9("tag:yaml.org,2002:str",{kind:"scalar",construct:mt(function(e){return null!==e?e:""},"construct")}),X9=new H9("tag:yaml.org,2002:seq",{kind:"sequence",construct:mt(function(e){return null!==e?e:[]},"construct")}),K9=new H9("tag:yaml.org,2002:map",{kind:"mapping",construct:mt(function(e){return null!==e?e:{}},"construct")}),G9=new G9({explicit:[SE,X9,K9]}),mt(X_,"resolveYamlNull"),mt(K_,"constructYamlNull"),mt(Z_,"isNull"),SE=new H9("tag:yaml.org,2002:null",{kind:"scalar",resolve:X_,construct:K_,predicate:Z_,represent:{canonical:mt(function(){return"~"},"canonical"),lowercase:mt(function(){return"null"},"lowercase"),uppercase:mt(function(){return"NULL"},"uppercase"),camelcase:mt(function(){return"Null"},"camelcase"),empty:mt(function(){return""},"empty")},defaultStyle:"lowercase"}),mt(Q_,"resolveYamlBoolean"),mt(J_,"constructYamlBoolean"),mt(eA,"isBoolean"),X9=new H9("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Q_,construct:J_,predicate:eA,represent:{lowercase:mt(function(e){return e?"true":"false"},"lowercase"),uppercase:mt(function(e){return e?"TRUE":"FALSE"},"uppercase"),camelcase:mt(function(e){return e?"True":"False"},"camelcase")},defaultStyle:"lowercase"}),mt(tA,"isHexCode"),mt(iA,"isOctCode"),mt(nA,"isDecCode"),mt(rA,"resolveYamlInteger"),mt(sA,"constructYamlInteger"),mt(aA,"isInteger"),K9=new H9("tag:yaml.org,2002:int",{kind:"scalar",resolve:rA,construct:sA,predicate:aA,represent:{binary:mt(function(e){return 0<=e?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},"binary"),octal:mt(function(e){return 0<=e?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},"octal"),decimal:mt(function(e){return e.toString(10)},"decimal"),hexadecimal:mt(function(e){return 0<=e?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),q9=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),mt(oA,"resolveYamlFloat"),mt(lA,"constructYamlFloat"),W9=/^[-+]?[0-9]+e/,mt(cA,"representYamlFloat"),mt(hA,"isFloat"),Q9=new H9("tag:yaml.org,2002:float",{kind:"scalar",resolve:oA,construct:lA,predicate:hA,represent:cA,defaultStyle:"lowercase"}),G9=G9.extend({implicit:[SE,X9,K9,Q9]}),SE=G9,V9=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Y9=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"),mt(uA,"resolveYamlTimestamp"),mt(dA,"constructYamlTimestamp"),mt Line truncated `:""}function P9(e,t){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+t+" instead, which is now safe by default.")}}var B9,F9,j9,z9,U9,H9,q9,W9,G9,V9,Y9,X9,K9,Q9,Z9,J9,eE,tE,iE,nE,rE,sE,aE,oE,lE,cE,hE,uE,dE,pE,gE,fE,mE,yE,bE,vE,xE,wE,kE,TE,SE,CE,_E,AE,EE,$E,LE,RE,ME,IE,NE,DE,OE,PE,BE,FE,jE=e(()=>{"use strict";for(mt(I_,"isNothing"),mt(N_,"isObject"),mt(D_,"toArray"),mt(O_,"extend"),mt(P_,"repeat"),mt(B_,"isNegativeZero"),B9={isNothing:I_,isObject:N_,toArray:D_,repeat:P_,isNegativeZero:B_,extend:O_},mt(F_,"formatError"),mt(j_,"YAMLException$1"),((j_.prototype=Object.create(Error.prototype)).constructor=j_).prototype.toString=mt(function(e){return this.name+": "+F_(this,e)},"toString"),F9=j_,mt(z_,"getLine"),mt(U_,"padStart"),mt(H_,"makeSnippet"),j9=H_,z9=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],U9=["scalar","sequence","mapping"],mt(q_,"compileStyleAliases"),mt(W_,"Type$1"),H9=W_,mt(G_,"compileList"),mt(V_,"compileMap"),mt(Y_,"Schema$1"),Y_.prototype.extend=mt(function(e){var t=[],i=[];if(e instanceof H9)i.push(e);else if(Array.isArray(e))i=i.concat(e);else{if(!e||!Array.isArray(e.implicit)&&!Array.isArray(e.explicit))throw new F9("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(i=i.concat(e.explicit))}t.forEach(function(e){if(!(e instanceof H9))throw new F9("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(e.loadKind&&"scalar"!==e.loadKind)throw new F9("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(e.multi)throw new F9("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),i.forEach(function(e){if(!(e instanceof H9))throw new F9("Specified list of YAML types (or a single Type object) contains a non-Type object.")});e=Object.create(Y_.prototype);return e.implicit=(this.implicit||[]).concat(t),e.explicit=(this.explicit||[]).concat(i),e.compiledImplicit=G_(e,"implicit"),e.compiledExplicit=G_(e,"explicit"),e.compiledTypeMap=V_(e.compiledImplicit,e.compiledExplicit),e},"extend"),G9=Y_,SE=new H9("tag:yaml.org,2002:str",{kind:"scalar",construct:mt(function(e){return null!==e?e:""},"construct")}),X9=new H9("tag:yaml.org,2002:seq",{kind:"sequence",construct:mt(function(e){return null!==e?e:[]},"construct")}),K9=new H9("tag:yaml.org,2002:map",{kind:"mapping",construct:mt(function(e){return null!==e?e:{}},"construct")}),G9=new G9({explicit:[SE,X9,K9]}),mt(X_,"resolveYamlNull"),mt(K_,"constructYamlNull"),mt(Q_,"isNull"),SE=new H9("tag:yaml.org,2002:null",{kind:"scalar",resolve:X_,construct:K_,predicate:Q_,represent:{canonical:mt(function(){return"~"},"canonical"),lowercase:mt(function(){return"null"},"lowercase"),uppercase:mt(function(){return"NULL"},"uppercase"),camelcase:mt(function(){return"Null"},"camelcase"),empty:mt(function(){return""},"empty")},defaultStyle:"lowercase"}),mt(Z_,"resolveYamlBoolean"),mt(J_,"constructYamlBoolean"),mt(eA,"isBoolean"),X9=new H9("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Z_,construct:J_,predicate:eA,represent:{lowercase:mt(function(e){return e?"true":"false"},"lowercase"),uppercase:mt(function(e){return e?"TRUE":"FALSE"},"uppercase"),camelcase:mt(function(e){return e?"True":"False"},"camelcase")},defaultStyle:"lowercase"}),mt(tA,"isHexCode"),mt(iA,"isOctCode"),mt(nA,"isDecCode"),mt(rA,"resolveYamlInteger"),mt(sA,"constructYamlInteger"),mt(aA,"isInteger"),K9=new H9("tag:yaml.org,2002:int",{kind:"scalar",resolve:rA,construct:sA,predicate:aA,represent:{binary:mt(function(e){return 0<=e?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},"binary"),octal:mt(function(e){return 0<=e?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},"octal"),decimal:mt(function(e){return e.toString(10)},"decimal"),hexadecimal:mt(function(e){return 0<=e?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),q9=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),mt(oA,"resolveYamlFloat"),mt(lA,"constructYamlFloat"),W9=/^[-+]?[0-9]+e/,mt(cA,"representYamlFloat"),mt(hA,"isFloat"),Z9=new H9("tag:yaml.org,2002:float",{kind:"scalar",resolve:oA,construct:lA,predicate:hA,represent:cA,defaultStyle:"lowercase"}),G9=G9.extend({implicit:[SE,X9,K9,Z9]}),SE=G9,V9=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Y9=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"),mt(uA,"resolveYamlTimestamp"),mt(dA,"constructYamlTimestamp"),mt Line truncated
\r`,mt(fA,"resolveYamlBinary"),mt(mA,"constructYamlBinary"),mt(yA,"representYamlBinary"),mt(bA,"isBinary"),Q9=new H9("tag:yaml.org,2002:binary",{kind:"scalar",resolve:fA,construct:mA,predicate:bA,represent:yA}),J9=Object.prototype.hasOwnProperty,eE=Object.prototype.toString,mt(vA,"resolveYamlOmap"),mt(xA,"constructYamlOmap"),tE=new H9("tag:yaml.org,2002:omap",{kind:"sequence",resolve:vA,construct:xA}),iE=Object.prototype.toString,mt(wA,"resolveYamlPairs"),mt(kA,"constructYamlPairs"),nE=new H9("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:wA,construct:kA}),rE=Object.prototype.hasOwnProperty,mt(TA,"resolveYamlSet"),mt(SA,"constructYamlSet"),sE=new H9("tag:yaml.org,2002:set",{kind:"mapping",resolve:TA,construct:SA}),aE=SE.extend({implicit:[X9,K9],explicit:[Q9,tE,nE,sE]}),oE=Object.prototype.hasOwnProperty,uE=4,dE=lE=1,pE=cE=2,gE=hE=3,fE=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,mE=/[\x85\u2028\u2029]/,yE=/[,\[\]\{\}]/,bE=/^(?:!|!!|![a-z\-]+!)$/i,vE=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i,mt(CA,"_class"),mt(_A,"is_EOL"),mt(AA,"is_WHITE_SPACE"),mt(EA,"is_WS_OR_EOL"),mt($A,"is_FLOW_INDICATOR"),mt(LA,"fromHexCode"),mt(RA,"escapedHexLen"),mt(MA,"fromDecimalCode"),mt(IA,"simpleEscapeSequence"),mt(NA,"charFromCodepoint"),xE=new Array(256),wE=new Array(256),kE=0;kE<256;kE++)xE[kE]=IA(kE)?1:0,wE[kE]=IA(kE);mt(DA,"State$1"),mt(OA,"generateError"),mt(PA,"throwError"),mt(BA,"throwWarning"),TE={YAML:mt(function(e,t,i){var n,r;null!==e.version&&PA(e,"duplication of %YAML directive"),1!==i.length&&PA(e,"YAML directive accepts exactly one argument"),null===(r=/^([0-9]+)\.([0-9]+)$/.exec(i[0]))&&PA(e,"ill-formed argument of the YAML directive"),n=parseInt(r[1],10),r=parseInt(r[2],10),1!==n&&PA(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=r<2,1!==r&&2!==r&&BA(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:mt(function(e,t,i){var n;2!==i.length&&PA(e,"TAG directive accepts exactly two arguments"),n=i[0],i=i[1],bE.test(n)||PA(e,"ill-formed tag handle (first argument) of the TAG directive"),oE.call(e.tagMap,n)&&PA(e,'there is a previously declared suffix for "'+n+'" tag handle'),vE.test(i)||PA(e,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch{PA(e,"tag prefix is malformed: "+i)}e.tagMap[n]=i},"handleTagDirective")},mt(FA,"captureSegment"),mt(jA,"mergeMappings"),mt(zA,"storeMappingPair"),mt(UA,"readLineBreak"),mt(HA,"skipSeparationSpace"),mt(qA,"testDocumentSeparator"),mt(WA,"writeFoldedLines"),mt(GA,"readPlainScalar"),mt(VA,"readSingleQuotedScalar"),mt(YA,"readDoubleQuotedScalar"),mt(XA,"readFlowCollection"),mt(KA,"readBlockScalar"),mt(ZA,"readBlockSequence"),mt(QA,"readBlockMapping"),mt(JA,"readTagProperty"),mt(e9,"readAnchorProperty"),mt(t9,"readAlias"),mt(i9,"composeNode"),mt(n9,"readDocument"),mt(r9,"loadDocuments"),mt(s9,"loadAll$1"),mt(a9,"load$1"),SE={loadAll:s9,load:a9},CE=Object.prototype.toString,_E=Object.prototype.hasOwnProperty,AE=65279,EE=10,$E={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},LE=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],RE=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/,mt(o9,"compileStyleMap"),mt(l9,"encodeHex"),ME=2,mt(c9,"State"),mt(h9,"indentString"),mt(u9,"generateNextLine"),mt(d9,"testImplicitResolving"),mt(p9,"isWhitespace"),mt(g9,"isPrintable"),mt(f9,"isNsCharOrWhitespace"),mt(m9,"isPlainSafe"),mt(y9,"isPlainSafeFirst"),mt(b9,"isPlainSafeLast"),mt(v9,"codePointAt"),mt(x9,"needIndentIndicator"),IE=1,NE=2,DE=3,OE=4,PE=5,mt(w9,"chooseScalarStyle"),mt(k9,"writeScalar"),mt(T9,"blockHeader"),mt(S9,"dropEndingNewline"),mt(C9,"foldString"),mt(_9,"foldLine"),mt(A9,"escapeString"),mt(E9,"writeFlowSequence"),mt($9,"writeBlockSequence"),mt(L9,"writeFlowMapping"),mt(R9,"writeBlockMapping"),mt(M9,"detectType"),mt(I9,"writeNode"),mt(N9,"getDuplicateReferences"),mt(D9,"inspectNode"),mt(O9,"dump$1"),mt(P9,"renamed"),BE=G9,FE=SE.load,P9("safeLoad","load"),P9("safeLoadAll","loadAll"),P9("safeDump","dump")});function zE(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function UE(e){QE=e}function HE(e,t=""){let n="string"==typeof e?e:e.source,r={replace:mt((e,t)=>{let i="string"==typeof t?t:t.source;return i=i.replace(e$.caret,"$1"),n=n.replace(e,i),r},"replace"),getRegex:mt(()=>new RegExp(n,t),"getRegex")};return r}function qE(e,t){if(t){if(e$.escapeTest.test(e))return e.replace(e$.escapeReplace,C$)}else if(e$.escapeTestNoEncode.test(e))return e.replace(e$.escapeReplaceNoEncode,C$);return e}function WE(e){try{e=encodeURI(e).replace(e$.percentDecode,"%")}catch{return null}return e}function GE(e,t){let i=e.replace(e$.findPipe,(e,t,i)=>{let n=!1,r=t;for(;0<=--r Line truncated \r`,mt(fA,"resolveYamlBinary"),mt(mA,"constructYamlBinary"),mt(yA,"representYamlBinary"),mt(bA,"isBinary"),Z9=new H9("tag:yaml.org,2002:binary",{kind:"scalar",resolve:fA,construct:mA,predicate:bA,represent:yA}),J9=Object.prototype.hasOwnProperty,eE=Object.prototype.toString,mt(vA,"resolveYamlOmap"),mt(xA,"constructYamlOmap"),tE=new H9("tag:yaml.org,2002:omap",{kind:"sequence",resolve:vA,construct:xA}),iE=Object.prototype.toString,mt(wA,"resolveYamlPairs"),mt(kA,"constructYamlPairs"),nE=new H9("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:wA,construct:kA}),rE=Object.prototype.hasOwnProperty,mt(TA,"resolveYamlSet"),mt(SA,"constructYamlSet"),sE=new H9("tag:yaml.org,2002:set",{kind:"mapping",resolve:TA,construct:SA}),aE=SE.extend({implicit:[X9,K9],explicit:[Z9,tE,nE,sE]}),oE=Object.prototype.hasOwnProperty,uE=4,dE=lE=1,pE=cE=2,gE=hE=3,fE=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,mE=/[\x85\u2028\u2029]/,yE=/[,\[\]\{\}]/,bE=/^(?:!|!!|![a-z\-]+!)$/i,vE=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i,mt(CA,"_class"),mt(_A,"is_EOL"),mt(AA,"is_WHITE_SPACE"),mt(EA,"is_WS_OR_EOL"),mt($A,"is_FLOW_INDICATOR"),mt(LA,"fromHexCode"),mt(RA,"escapedHexLen"),mt(MA,"fromDecimalCode"),mt(IA,"simpleEscapeSequence"),mt(NA,"charFromCodepoint"),xE=new Array(256),wE=new Array(256),kE=0;kE<256;kE++)xE[kE]=IA(kE)?1:0,wE[kE]=IA(kE);mt(DA,"State$1"),mt(OA,"generateError"),mt(PA,"throwError"),mt(BA,"throwWarning"),TE={YAML:mt(function(e,t,i){var n,r;null!==e.version&&PA(e,"duplication of %YAML directive"),1!==i.length&&PA(e,"YAML directive accepts exactly one argument"),null===(r=/^([0-9]+)\.([0-9]+)$/.exec(i[0]))&&PA(e,"ill-formed argument of the YAML directive"),n=parseInt(r[1],10),r=parseInt(r[2],10),1!==n&&PA(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=r<2,1!==r&&2!==r&&BA(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:mt(function(e,t,i){var n;2!==i.length&&PA(e,"TAG directive accepts exactly two arguments"),n=i[0],i=i[1],bE.test(n)||PA(e,"ill-formed tag handle (first argument) of the TAG directive"),oE.call(e.tagMap,n)&&PA(e,'there is a previously declared suffix for "'+n+'" tag handle'),vE.test(i)||PA(e,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch{PA(e,"tag prefix is malformed: "+i)}e.tagMap[n]=i},"handleTagDirective")},mt(FA,"captureSegment"),mt(jA,"mergeMappings"),mt(zA,"storeMappingPair"),mt(UA,"readLineBreak"),mt(HA,"skipSeparationSpace"),mt(qA,"testDocumentSeparator"),mt(WA,"writeFoldedLines"),mt(GA,"readPlainScalar"),mt(VA,"readSingleQuotedScalar"),mt(YA,"readDoubleQuotedScalar"),mt(XA,"readFlowCollection"),mt(KA,"readBlockScalar"),mt(QA,"readBlockSequence"),mt(ZA,"readBlockMapping"),mt(JA,"readTagProperty"),mt(e9,"readAnchorProperty"),mt(t9,"readAlias"),mt(i9,"composeNode"),mt(n9,"readDocument"),mt(r9,"loadDocuments"),mt(s9,"loadAll$1"),mt(a9,"load$1"),SE={loadAll:s9,load:a9},CE=Object.prototype.toString,_E=Object.prototype.hasOwnProperty,AE=65279,EE=10,$E={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},LE=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],RE=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/,mt(o9,"compileStyleMap"),mt(l9,"encodeHex"),ME=2,mt(c9,"State"),mt(h9,"indentString"),mt(u9,"generateNextLine"),mt(d9,"testImplicitResolving"),mt(p9,"isWhitespace"),mt(g9,"isPrintable"),mt(f9,"isNsCharOrWhitespace"),mt(m9,"isPlainSafe"),mt(y9,"isPlainSafeFirst"),mt(b9,"isPlainSafeLast"),mt(v9,"codePointAt"),mt(x9,"needIndentIndicator"),IE=1,NE=2,DE=3,OE=4,PE=5,mt(w9,"chooseScalarStyle"),mt(k9,"writeScalar"),mt(T9,"blockHeader"),mt(S9,"dropEndingNewline"),mt(C9,"foldString"),mt(_9,"foldLine"),mt(A9,"escapeString"),mt(E9,"writeFlowSequence"),mt($9,"writeBlockSequence"),mt(L9,"writeFlowMapping"),mt(R9,"writeBlockMapping"),mt(M9,"detectType"),mt(I9,"writeNode"),mt(N9,"getDuplicateReferences"),mt(D9,"inspectNode"),mt(O9,"dump$1"),mt(P9,"renamed"),BE=G9,FE=SE.load,P9("safeLoad","load"),P9("safeLoadAll","loadAll"),P9("safeDump","dump")});function zE(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function UE(e){ZE=e}function HE(e,t=""){let n="string"==typeof e?e:e.source,r={replace:mt((e,t)=>{let i="string"==typeof t?t:t.source;return i=i.replace(e$.caret,"$1"),n=n.replace(e,i),r},"replace"),getRegex:mt(()=>new RegExp(n,t),"getRegex")};return r}function qE(e,t){if(t){if(e$.escapeTest.test(e))return e.replace(e$.escapeReplace,C$)}else if(e$.escapeTestNoEncode.test(e))return e.replace(e$.escapeReplaceNoEncode,C$);return e}function WE(e){try{e=encodeURI(e).replace(e$.percentDecode,"%")}catch{return null}return e}function GE(e,t){let i=e.replace(e$.findPipe,(e,t,i)=>{let n=!1,r=t;for(;0<=--r Line truncated
`).map(e=>{var t=e.match(i.other.beginningSpace);return null!==t&&([t]=t,t.length>=n.length)?e.slice(n.length):e}).join(` `).map(e=>{var t=e.match(i.other.beginningSpace);return null!==t&&([t]=t,t.length>=n.length)?e.slice(n.length):e}).join(`
`)}function ZE(e,t){return I$.parse(e,t)}var QE,JE,e$,t$,i$,n$,r$,s$,a$,o$,l$,c$,h$,u$,d$,p$,g$,f$,m$,y$,b$,v$,x$,w$,k$,T$,S$,C$,_$,A$,E$,$$,L$,R$,M$,I$,N$=e(()=>{"use strict";mt(zE,"M"),QE=zE(),mt(UE,"H"),JE={exec:mt(()=>null,"exec")},mt(HE,"h"),e$={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:mt(e=>new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),"listItemRegex"),nextBulletRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),"nextBulletRegex"),hrRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),"hrRegex"),fencesBeginRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),"fencesBeginRegex"),headingBeginRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),"headingBeginRegex"),htmlBeginRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i"),"htmlBeginRegex")},a$=/^(?:[ \t]*(?:\n|$))+/,o$=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,n$=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,u$=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,r$=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,s$=/(?:[*+-]|\d{1,9}[.)])/,x$=HE(f$=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,s$).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),f$=HE(f$).replace(/bull/g,s$).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),b$=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,d$=/^[^\n]+/,m$=/(?!\s*\])(?:\\.|[^\[\]\\])+/,i$=HE(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",m$).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),s$=HE(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,s$).getRegex(),v$="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|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",g$=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,w$=HE("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",g$).replace("tag",v$).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),p$=HE(b$).replace("hr",u$).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockLine truncated `)}function QE(e,t){return I$.parse(e,t)}var ZE,JE,e$,t$,i$,n$,r$,s$,a$,o$,l$,c$,h$,u$,d$,p$,g$,f$,m$,y$,b$,v$,x$,w$,k$,T$,S$,C$,_$,A$,E$,$$,L$,R$,M$,I$,N$=e(()=>{"use strict";mt(zE,"M"),ZE=zE(),mt(UE,"H"),JE={exec:mt(()=>null,"exec")},mt(HE,"h"),e$={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:mt(e=>new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),"listItemRegex"),nextBulletRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),"nextBulletRegex"),hrRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),"hrRegex"),fencesBeginRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),"fencesBeginRegex"),headingBeginRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),"headingBeginRegex"),htmlBeginRegex:mt(e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i"),"htmlBeginRegex")},a$=/^(?:[ \t]*(?:\n|$))+/,o$=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,n$=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,u$=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,r$=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,s$=/(?:[*+-]|\d{1,9}[.)])/,x$=HE(f$=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,s$).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),f$=HE(f$).replace(/bull/g,s$).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),b$=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,d$=/^[^\n]+/,m$=/(?!\s*\])(?:\\.|[^\[\]\\])+/,i$=HE(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",m$).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),s$=HE(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,s$).getRegex(),v$="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|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",g$=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,w$=HE("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",g$).replace("tag",v$).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),p$=HE(b$).replace("hr",u$).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockLine truncated
]`).replace("lheading",x$).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},r$=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,w$=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,s$=/^( {2,}|\\)\n(?!\s*$)/,a$=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,p$=/[\p{P}\p{S}]/u,d$=/[\s\p{P}\p{S}]/u,f$=/[^\s\p{P}\p{S}]/u,o$=HE(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,d$).getRegex(),v$=/(?!~)[\p{P}\p{S}]/u,b$=/(?!~)[\s\p{P}\p{S}]/u,u$=/(?:[^\s\p{P}\p{S}]|~)/u,x$=/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g,M$=HE(l$=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,"u").replace(/punct/g,p$).getRegex(),l$=HE(l$,"u").replace(/punct/g,v$).getRegex(),c$=HE(h$="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,f$).replace(/punctSpace/g,d$).replace(/punct/g,p$).getRegex(),h$=HE(h$,"gu").replace(/notPunctSpace/g,u$).replace(/punctSpace/g,b$).replace(/punct/g,v$).getRegex(),u$=HE("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,f$).replace(/punctSpace/g,d$).replace(/punct/g,p$).getRegex(),b$=HE(/\\(punct)/,"gu").replace(/punct/g,p$).getRegex(),v$=HE(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),f$=HE(g$).replace("(?:--\x3e|$)","--\x3e").getRegex(),d$=HE("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",f$).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),p$=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,g$=HE(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",p$).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),f$=HE(/^!?\[(label)\]\[(ref)\]/).replace("label",p$).replace("ref",m$).getRegex(),m$=HE(/^!?\[(ref)\](?:\[\])?/).replace("ref",m$).getRegex(),y$=HE("reflink|nolink(?!\\()","g").replace("reflink",f$).replace("nolink",m$).getRegex(),v$={...b$={_backpedal:JE,anyPunctuation:b$,autolink:v$,blockSkip:x$,br:s$,code:w$,del:JE,emStrongLDelim:M$,emStrongRDelimAst:c$,emStrongRDelimUnd:u$,escape:r$,link:g$,nolink:m$,punctuation:o$,reflink:f$,reflinkSearch:y$,tag:d$,text:a$,url:JE},link:HE(/^!?\[(label)\]\((.*?)\)/).replace("label",p$).getRegex(),reflink:HE(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",p$).getRegex()},x$={...b$,emStrongRDelimAst:h$,emStrongLDelim:l$,url:HE(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},w$={...x$,br:HE(s$).replace("{2,}","*").getRegex(),text:HE(x$.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},k$={normal:t$,gfm:i$,pedantic:n$},T$={normal:b$,gfm:x$,breaks:w$,pedantic:v$},S$={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},C$=mt(e=>S$[e],"ge"),mt(qE,"R"),mt(WE,"J"),mt(GE,"V"),mt(VE,"A"),mt(YE,"fe"),mt(XE,"de"),mt(KE,"Je"),_$=class{static{mt(this,"S")}options;rules;lexer;constructor(e){this.options=e||QE}space(e){e=this.rules.block.newline.exec(e);if(e&&0<e[0].length)return{type:"space",raw:e[0]}}code(e){var t,e=this.rules.block.code.exec(e);if(e)return t=e[0].replace(this.rules.other.codeRemoveIndent,""),{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?t:VE(t,` ]`).replace("lheading",x$).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},r$=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,w$=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,s$=/^( {2,}|\\)\n(?!\s*$)/,a$=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,p$=/[\p{P}\p{S}]/u,d$=/[\s\p{P}\p{S}]/u,f$=/[^\s\p{P}\p{S}]/u,o$=HE(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,d$).getRegex(),v$=/(?!~)[\p{P}\p{S}]/u,b$=/(?!~)[\s\p{P}\p{S}]/u,u$=/(?:[^\s\p{P}\p{S}]|~)/u,x$=/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g,M$=HE(l$=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,"u").replace(/punct/g,p$).getRegex(),l$=HE(l$,"u").replace(/punct/g,v$).getRegex(),c$=HE(h$="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,f$).replace(/punctSpace/g,d$).replace(/punct/g,p$).getRegex(),h$=HE(h$,"gu").replace(/notPunctSpace/g,u$).replace(/punctSpace/g,b$).replace(/punct/g,v$).getRegex(),u$=HE("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,f$).replace(/punctSpace/g,d$).replace(/punct/g,p$).getRegex(),b$=HE(/\\(punct)/,"gu").replace(/punct/g,p$).getRegex(),v$=HE(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),f$=HE(g$).replace("(?:--\x3e|$)","--\x3e").getRegex(),d$=HE("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",f$).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),p$=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,g$=HE(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",p$).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),f$=HE(/^!?\[(label)\]\[(ref)\]/).replace("label",p$).replace("ref",m$).getRegex(),m$=HE(/^!?\[(ref)\](?:\[\])?/).replace("ref",m$).getRegex(),y$=HE("reflink|nolink(?!\\()","g").replace("reflink",f$).replace("nolink",m$).getRegex(),v$={...b$={_backpedal:JE,anyPunctuation:b$,autolink:v$,blockSkip:x$,br:s$,code:w$,del:JE,emStrongLDelim:M$,emStrongRDelimAst:c$,emStrongRDelimUnd:u$,escape:r$,link:g$,nolink:m$,punctuation:o$,reflink:f$,reflinkSearch:y$,tag:d$,text:a$,url:JE},link:HE(/^!?\[(label)\]\((.*?)\)/).replace("label",p$).getRegex(),reflink:HE(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",p$).getRegex()},x$={...b$,emStrongRDelimAst:h$,emStrongLDelim:l$,url:HE(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},w$={...x$,br:HE(s$).replace("{2,}","*").getRegex(),text:HE(x$.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},k$={normal:t$,gfm:i$,pedantic:n$},T$={normal:b$,gfm:x$,breaks:w$,pedantic:v$},S$={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},C$=mt(e=>S$[e],"ge"),mt(qE,"R"),mt(WE,"J"),mt(GE,"V"),mt(VE,"A"),mt(YE,"fe"),mt(XE,"de"),mt(KE,"Je"),_$=class{static{mt(this,"S")}options;rules;lexer;constructor(e){this.options=e||ZE}space(e){e=this.rules.block.newline.exec(e);if(e&&0<e[0].length)return{type:"space",raw:e[0]}}code(e){var t,e=this.rules.block.code.exec(e);if(e)return t=e[0].replace(this.rules.other.codeRemoveIndent,""),{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?t:VE(t,`
`)}}fences(e){var t,i,e=this.rules.block.fences.exec(e);if(e)return i=KE(t=e[0],e[3]||"",this.rules),{type:"code",raw:t,lang:e[2]&&e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"),text:i}}heading(t){var i,t=this.rules.block.heading.exec(t);if(t){let e=t[2].trim();return this.rules.other.endingHash.test(e)&&(i=VE(e,"#"),!this.options.pedantic&&i&&!this.rules.other.endingSpaceChar.test(i)||(e=i.trim())),{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){e=this.rules.block.hr.exec(e);if(e)return{type:"hr",raw:VE(e[0],` `)}}fences(e){var t,i,e=this.rules.block.fences.exec(e);if(e)return i=KE(t=e[0],e[3]||"",this.rules),{type:"code",raw:t,lang:e[2]&&e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"),text:i}}heading(t){var i,t=this.rules.block.heading.exec(t);if(t){let e=t[2].trim();return this.rules.other.endingHash.test(e)&&(i=VE(e,"#"),!this.options.pedantic&&i&&!this.rules.other.endingSpaceChar.test(i)||(e=i.trim())),{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){e=this.rules.block.hr.exec(e);if(e)return{type:"hr",raw:VE(e[0],`
`)}}blockquote(e){e=this.rules.block.blockquote.exec(e);if(e){let n=VE(e[0],` `)}}blockquote(e){e=this.rules.block.blockquote.exec(e);if(e){let n=VE(e[0],`
`).split(` `).split(`
@@ -413,7 +413,7 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
`+s}a||s.trim()||(a=!0),i+=e+` `+s}a||s.trim()||(a=!0),i+=e+`
`,d=d.substring(e.length+1),r=t.slice(o)}c.loose||(u?c.loose=!0:this.rules.other.doubleBlankLine.test(i)&&(u=!0));let t=null,l;this.options.gfm&&(t=this.rules.other.listIsTask.exec(n))&&(l="[ ] "!==t[0],n=n.replace(this.rules.other.listReplaceTask,"")),c.items.push({type:"list_item",raw:i,task:!!t,checked:l,loose:!1,text:n,tokens:[]}),c.raw+=i}var i,n=c.items.at(-1);if(n){n.raw=n.raw.trimEnd(),n.text=n.text.trimEnd(),c.raw=c.raw.trimEnd();for(let e=0;e<c.items.length;e++)this.lexer.state.top=!1,c.items[e].tokens=this.lexer.blockTokens(c.items[e].text,[]),c.loose||(i=0<(i=c.items[e].tokens.filter(e=>"space"===e.type)).length&&i.some(e=>this.rules.other.anyLine.test(e.raw)),c.loose=i);if(c.loose)for(let e=0;e<c.items.length;e++)c.items[e].loose=!0;return c}}}html(e){e=this.rules.block.html.exec(e);if(e)return{type:"html",block:!0,raw:e[0],pre:"pre"===e[1]||"script"===e[1]||"style"===e[1],text:e[0]}}def(e){var t,i,n,e=this.rules.block.def.exec(e);if(e)return t=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),i=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=e[3]&&e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"),{type:"def",tag:t,raw:e[0],href:i,title:n}}table(r){r=this.rules.block.table.exec(r);if(r&&this.rules.other.tableDelimiter.test(r[2])){let t=GE(r[1]),e=r[2].replace(this.rules.other.tableAlignChars,"").split("|"),i=r[3]?.trim()?r[3].replace(this.rules.other.tableRowBlankLine,"").split(` `,d=d.substring(e.length+1),r=t.slice(o)}c.loose||(u?c.loose=!0:this.rules.other.doubleBlankLine.test(i)&&(u=!0));let t=null,l;this.options.gfm&&(t=this.rules.other.listIsTask.exec(n))&&(l="[ ] "!==t[0],n=n.replace(this.rules.other.listReplaceTask,"")),c.items.push({type:"list_item",raw:i,task:!!t,checked:l,loose:!1,text:n,tokens:[]}),c.raw+=i}var i,n=c.items.at(-1);if(n){n.raw=n.raw.trimEnd(),n.text=n.text.trimEnd(),c.raw=c.raw.trimEnd();for(let e=0;e<c.items.length;e++)this.lexer.state.top=!1,c.items[e].tokens=this.lexer.blockTokens(c.items[e].text,[]),c.loose||(i=0<(i=c.items[e].tokens.filter(e=>"space"===e.type)).length&&i.some(e=>this.rules.other.anyLine.test(e.raw)),c.loose=i);if(c.loose)for(let e=0;e<c.items.length;e++)c.items[e].loose=!0;return c}}}html(e){e=this.rules.block.html.exec(e);if(e)return{type:"html",block:!0,raw:e[0],pre:"pre"===e[1]||"script"===e[1]||"style"===e[1],text:e[0]}}def(e){var t,i,n,e=this.rules.block.def.exec(e);if(e)return t=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),i=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=e[3]&&e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"),{type:"def",tag:t,raw:e[0],href:i,title:n}}table(r){r=this.rules.block.table.exec(r);if(r&&this.rules.other.tableDelimiter.test(r[2])){let t=GE(r[1]),e=r[2].replace(this.rules.other.tableAlignChars,"").split("|"),i=r[3]?.trim()?r[3].replace(this.rules.other.tableRowBlankLine,"").split(`
`):[],n={type:"table",raw:r[0],header:[],align:[],rows:[]};if(t.length===e.length){for(var s of e)this.rules.other.tableAlignRight.test(s)?n.align.push("right"):this.rules.other.tableAlignCenter.test(s)?n.align.push("center"):this.rules.other.tableAlignLeft.test(s)?n.align.push("left"):n.align.push(null);for(let e=0;e<t.length;e++)n.header.push({text:t[e],tokens:this.lexer.inline(t[e]),header:!0,align:n.align[e]});for(var a of i)n.rows.push(GE(a,n.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:n.align[t]})));return n}}}lheading(e){e=this.rules.block.lheading.exec(e);if(e)return{type:"heading",raw:e[0],depth:"="===e[2].charAt(0)?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(e){var t,e=this.rules.block.paragraph.exec(e);if(e)return t=e[1].charAt(e[1].length-1)===` `):[],n={type:"table",raw:r[0],header:[],align:[],rows:[]};if(t.length===e.length){for(var s of e)this.rules.other.tableAlignRight.test(s)?n.align.push("right"):this.rules.other.tableAlignCenter.test(s)?n.align.push("center"):this.rules.other.tableAlignLeft.test(s)?n.align.push("left"):n.align.push(null);for(let e=0;e<t.length;e++)n.header.push({text:t[e],tokens:this.lexer.inline(t[e]),header:!0,align:n.align[e]});for(var a of i)n.rows.push(GE(a,n.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:n.align[t]})));return n}}}lheading(e){e=this.rules.block.lheading.exec(e);if(e)return{type:"heading",raw:e[0],depth:"="===e[2].charAt(0)?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(e){var t,e=this.rules.block.paragraph.exec(e);if(e)return t=e[1].charAt(e[1].length-1)===`
`?e[1].slice(0,-1):e[1],{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}text(e){e=this.rules.block.text.exec(e);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(e){e=this.rules.inline.escape.exec(e);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(e){e=this.rules.inline.tag.exec(e);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(i){i=this.rules.inline.link.exec(i);if(i){var n=i[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;var r=VE(n.slice(0,-1),"\\");if((n.length-r.length)%2==0)return}else{var s,r=YE(i[2],"()");if(-2===r)return;-1<r&&(s=(0===i[0].indexOf("!")?5:4)+i[1].length+r,i[2]=i[2].substring(0,r),i[0]=i[0].substring(0,s).trim(),i[3]="")}let e=i[2],t="";return this.options.pedantic?(r=this.rules.other.pedanticHrefTitle.exec(e))&&(e=r[1],t=r[3]):t=i[3]?i[3].slice(1,-1):"",e=e.trim(),XE(i,{href:(e=this.rules.other.startAngleBracket.test(e)?this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?e.slice(1):e.slice(1,-1):e)&&e.replace(this.rules.inline.anyPunctuation,"$1"),title:t&&t.replace(this.rules.inline.anyPunctuation,"$1")},i[0],this.lexer,this.rules)}}reflink(e,t){let i;if(i=(i=this.rules.inline.reflink.exec(e))||this.rules.inline.nolink.exec(e))return(e=t[(i[2]||i[1]).replace(this.rules.other.multipleSpaceGlobal," ").toLowerCase()])?XE(i,e,i[0],this.lexer,this.rules):{type:"text",raw:t=i[0].charAt(0),text:t}}emStrong(a,o,e=""){let l=this.rules.inline.emStrongLDelim.exec(a);if(!(!l||l[3]&&e.match(this.rules.other.unicodeAlphaNumeric))&&(!l[1]&&!l[2]||!e||this.rules.inline.punctuation.exec(e))){let e=[...l[0]].length-1,t,i,n=e,r=0,s="*"===l[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(s.lastIndex=0,o=o.slice(-1*a.length+e);null!=(l=s.exec(o));){var c,h;if(t=l[1]||l[2]||l[3]||l[4]||l[5]||l[6])if(i=[...t].length,l[3]||l[4])n+=i;else if((l[5]||l[6])&&e%3&&!((e+i)%3))r+=i;else if(!(0<(n-=i)))return i=Math.min(i,i+n+r),c=[...l[0]][0].length,c=a.slice(0,e+l.index+c+i),Math.min(e,i)%2?(h=c.slice(1,-1),{type:"em",raw:c,text:h,tokens:this.lexer.inlineTokens(h)}):(h=c.slice(2,-2),{type:"strong",raw:c,text:h,tokens:this.lexer.inlineTokens(h)})}}}codespan(n){n=this.rules.inline.code.exec(n);if(n){let e=n[2].replace(this.rules.other.newLineCharGlobal," "),t=this.rules.other.nonSpaceChar.test(e),i=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return t&&i&&(e=e.substring(1,e.length-1)),{type:"codespan",raw:n[0],text:e}}}br(e){e=this.rules.inline.br.exec(e);if(e)return{type:"br",raw:e[0]}}del(e){e=this.rules.inline.del.exec(e);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(i){i=this.rules.inline.autolink.exec(i);if(i){let e,t;return t="@"===i[2]?"mailto:"+(e=i[1]):e=i[1],{type:"link",raw:i[0],text:e,href:t,tokens:[{type:"text",raw:e,text:e}]}}}url(e){var i,n;if(i=this.rules.inline.url.exec(e)){let e,t;if("@"===i[2])e=i[0],t="mailto:"+e;else{for(;n=i[0],i[0]=this.rules.inline._backpedal.exec(i[0])?.[0]??"",n!==i[0];);e=i[0],t="www."===i[1]?"http://"+i[0]:i[0]}return{type:"link",raw:i[0],text:e,href:t,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){var t,e=this.rules.inline.text.exec(e);if(e)return t=this.lexer.state.inRawBlock,{type:"text",raw:e[0],text:e[0],escaped:t}}},A$=class i{static{mt(this,"a")}tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||QE,this.options.tokenizer=this.options.tokenizer||new _$,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,(this.tokenizer.lexer=this).inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};e={other:e$,block:k$.normal,inline:T$.normal};this.options.pedantic?(e.block=k$.pedantic,e.inline=T$.pedantic):this.options.gfm&&(e.block=k$.gfm,this.options.breaks?e.inline=T$.breaks:e.inline=T$.gfm),this.tokenizer.rules=e}static get rules(){return{block:k$,inline:T$}}static lex(e,t){return new i(t).lex(e)}static lexInline(e,t){return new i(t).inlineTokens(e)}lex(e){e=e.replace(e$.carriageReturn,` `?e[1].slice(0,-1):e[1],{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}text(e){e=this.rules.block.text.exec(e);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(e){e=this.rules.inline.escape.exec(e);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(e){e=this.rules.inline.tag.exec(e);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(i){i=this.rules.inline.link.exec(i);if(i){var n=i[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;var r=VE(n.slice(0,-1),"\\");if((n.length-r.length)%2==0)return}else{var s,r=YE(i[2],"()");if(-2===r)return;-1<r&&(s=(0===i[0].indexOf("!")?5:4)+i[1].length+r,i[2]=i[2].substring(0,r),i[0]=i[0].substring(0,s).trim(),i[3]="")}let e=i[2],t="";return this.options.pedantic?(r=this.rules.other.pedanticHrefTitle.exec(e))&&(e=r[1],t=r[3]):t=i[3]?i[3].slice(1,-1):"",e=e.trim(),XE(i,{href:(e=this.rules.other.startAngleBracket.test(e)?this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?e.slice(1):e.slice(1,-1):e)&&e.replace(this.rules.inline.anyPunctuation,"$1"),title:t&&t.replace(this.rules.inline.anyPunctuation,"$1")},i[0],this.lexer,this.rules)}}reflink(e,t){let i;if(i=(i=this.rules.inline.reflink.exec(e))||this.rules.inline.nolink.exec(e))return(e=t[(i[2]||i[1]).replace(this.rules.other.multipleSpaceGlobal," ").toLowerCase()])?XE(i,e,i[0],this.lexer,this.rules):{type:"text",raw:t=i[0].charAt(0),text:t}}emStrong(a,o,e=""){let l=this.rules.inline.emStrongLDelim.exec(a);if(!(!l||l[3]&&e.match(this.rules.other.unicodeAlphaNumeric))&&(!l[1]&&!l[2]||!e||this.rules.inline.punctuation.exec(e))){let e=[...l[0]].length-1,t,i,n=e,r=0,s="*"===l[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(s.lastIndex=0,o=o.slice(-1*a.length+e);null!=(l=s.exec(o));){var c,h;if(t=l[1]||l[2]||l[3]||l[4]||l[5]||l[6])if(i=[...t].length,l[3]||l[4])n+=i;else if((l[5]||l[6])&&e%3&&!((e+i)%3))r+=i;else if(!(0<(n-=i)))return i=Math.min(i,i+n+r),c=[...l[0]][0].length,c=a.slice(0,e+l.index+c+i),Math.min(e,i)%2?(h=c.slice(1,-1),{type:"em",raw:c,text:h,tokens:this.lexer.inlineTokens(h)}):(h=c.slice(2,-2),{type:"strong",raw:c,text:h,tokens:this.lexer.inlineTokens(h)})}}}codespan(n){n=this.rules.inline.code.exec(n);if(n){let e=n[2].replace(this.rules.other.newLineCharGlobal," "),t=this.rules.other.nonSpaceChar.test(e),i=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return t&&i&&(e=e.substring(1,e.length-1)),{type:"codespan",raw:n[0],text:e}}}br(e){e=this.rules.inline.br.exec(e);if(e)return{type:"br",raw:e[0]}}del(e){e=this.rules.inline.del.exec(e);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(i){i=this.rules.inline.autolink.exec(i);if(i){let e,t;return t="@"===i[2]?"mailto:"+(e=i[1]):e=i[1],{type:"link",raw:i[0],text:e,href:t,tokens:[{type:"text",raw:e,text:e}]}}}url(e){var i,n;if(i=this.rules.inline.url.exec(e)){let e,t;if("@"===i[2])e=i[0],t="mailto:"+e;else{for(;n=i[0],i[0]=this.rules.inline._backpedal.exec(i[0])?.[0]??"",n!==i[0];);e=i[0],t="www."===i[1]?"http://"+i[0]:i[0]}return{type:"link",raw:i[0],text:e,href:t,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){var t,e=this.rules.inline.text.exec(e);if(e)return t=this.lexer.state.inRawBlock,{type:"text",raw:e[0],text:e[0],escaped:t}}},A$=class i{static{mt(this,"a")}tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||ZE,this.options.tokenizer=this.options.tokenizer||new _$,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,(this.tokenizer.lexer=this).inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};e={other:e$,block:k$.normal,inline:T$.normal};this.options.pedantic?(e.block=k$.pedantic,e.inline=T$.pedantic):this.options.gfm&&(e.block=k$.gfm,this.options.breaks?e.inline=T$.breaks:e.inline=T$.gfm),this.tokenizer.rules=e}static get rules(){return{block:k$,inline:T$}}static lex(e,t){return new i(t).lex(e)}static lexInline(e,t){return new i(t).inlineTokens(e)}lex(e){e=e.replace(e$.carriageReturn,`
`),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){var t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(r,i=[],n=!1){for(this.options.pedantic&&(r=r.replace(e$.tabCharGlobal," ").replace(e$.spaceLine,""));r;){let t;if(!this.options.extensions?.block?.some(e=>!!(t=e.call({lexer:this},r,i))&&(r=r.substring(t.raw.length),i.push(t),!0)))if(t=this.tokenizer.space(r)){r=r.substring(t.raw.length);var e=i.at(-1);1===t.raw.length&&void 0!==e?e.raw+=` `),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){var t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(r,i=[],n=!1){for(this.options.pedantic&&(r=r.replace(e$.tabCharGlobal," ").replace(e$.spaceLine,""));r;){let t;if(!this.options.extensions?.block?.some(e=>!!(t=e.call({lexer:this},r,i))&&(r=r.substring(t.raw.length),i.push(t),!0)))if(t=this.tokenizer.space(r)){r=r.substring(t.raw.length);var e=i.at(-1);1===t.raw.length&&void 0!==e?e.raw+=`
`:i.push(t)}else if(t=this.tokenizer.code(r)){r=r.substring(t.raw.length);e=i.at(-1);"paragraph"===e?.type||"text"===e?.type?(e.raw+=` `:i.push(t)}else if(t=this.tokenizer.code(r)){r=r.substring(t.raw.length);e=i.at(-1);"paragraph"===e?.type||"text"===e?.type?(e.raw+=`
`+t.raw,e.text+=` `+t.raw,e.text+=`
@@ -423,7 +423,7 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
`+t.raw,s.text+=` `+t.raw,s.text+=`
`+t.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):i.push(t),n=e.length!==r.length,r=r.substring(t.raw.length)}else if(t=this.tokenizer.text(r)){r=r.substring(t.raw.length);var a=i.at(-1);"text"===a?.type?(a.raw+=` `+t.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):i.push(t),n=e.length!==r.length,r=r.substring(t.raw.length)}else if(t=this.tokenizer.text(r)){r=r.substring(t.raw.length);var a=i.at(-1);"text"===a?.type?(a.raw+=`
`+t.raw,a.text+=` `+t.raw,a.text+=`
`+t.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):i.push(t)}else if(r){a="Infinite loop on byte: "+r.charCodeAt(0);if(this.options.silent){console.error(a);break}throw new Error(a)}}}return this.state.top=!0,i}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(r,i=[]){let e=r,t=null;if(this.tokens.links){var n=Object.keys(this.tokens.links);if(0<n.length)for(;null!=(t=this.tokenizer.rules.inline.reflinkSearch.exec(e));)n.includes(t[0].slice(t[0].lastIndexOf("[")+1,-1))&&(e=e.slice(0,t.index)+"["+"a".repeat(t[0].length-2)+"]"+e.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(t=this.tokenizer.rules.inline.anyPunctuation.exec(e));)e=e.slice(0,t.index)+"++"+e.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;null!=(t=this.tokenizer.rules.inline.blockSkip.exec(e));)e=e.slice(0,t.index)+"["+"a".repeat(t[0].length-2)+"]"+e.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);let s=!1,a="";for(;r;){s||(a=""),s=!1;let t;if(!this.options.extensions?.inline?.some(e=>!!(t=e.call({lexer:this},r,i))&&(r=r.substring(t.raw.length),i.push(t),!0)))if(t=this.tokenizer.escape(r))r=r.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.tag(r))r=r.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.link(r))r=r.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.reflink(r,this.tokens.links)){r=r.substring(t.raw.length);var o=i.at(-1);"text"===t.type&&"text"===o?.type?(o.raw+=t.raw,o.text+=t.text):i.push(t)}else if(t=this.tokenizer.emStrong(r,e,a))r=r.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.codespan(r))r=r.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.br(r))r=r.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.del(r))r=r.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.autolink(r))r=r.substring(t.raw.length),i.push(t);else if(!this.state.inLink&&(t=this.tokenizer.url(r)))r=r.substring(t.raw.length),i.push(t);else{let e=r;if(this.options.extensions?.startInline){let t=1/0,i=r.slice(1),n;this.options.extensions.startInline.forEach(e=>{"number"==typeof(n=e.call({lexer:this},i))&&0<=n&&(t=Math.min(t,n))}),t<1/0&&0<=t&&(e=r.substring(0,t+1))}if(t=this.tokenizer.inlineText(e)){r=r.substring(t.raw.length),"_"!==t.raw.slice(-1)&&(a=t.raw.slice(-1)),s=!0;o=i.at(-1);"text"===o?.type?(o.raw+=t.raw,o.text+=t.text):i.push(t)}else if(r){var l="Infinite loop on byte: "+r.charCodeAt(0);if(this.options.silent){console.error(l);break}throw new Error(l)}}}return i}},E$=class{static{mt(this,"$")}options;parser;constructor(e){this.options=e||QE}space(e){return""}code({text:e,lang:t,escaped:i}){t=(t||"").match(e$.notSpaceStart)?.[0],e=e.replace(e$.endingNewline,"")+` `+t.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):i.push(t)}else if(r){a="Infinite loop on byte: "+r.charCodeAt(0);if(this.options.silent){console.error(a);break}throw new Error(a)}}}return this.state.top=!0,i}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(r,i=[]){let e=r,t=null;if(this.tokens.links){var n=Object.keys(this.tokens.links);if(0<n.length)for(;null!=(t=this.tokenizer.rules.inline.reflinkSearch.exec(e));)n.includes(t[0].slice(t[0].lastIndexOf("[")+1,-1))&&(e=e.slice(0,t.index)+"["+"a".repeat(t[0].length-2)+"]"+e.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(t=this.tokenizer.rules.inline.anyPunctuation.exec(e));)e=e.slice(0,t.index)+"++"+e.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;null!=(t=this.tokenizer.rules.inline.blockSkip.exec(e));)e=e.slice(0,t.index)+"["+"a".repeat(t[0].length-2)+"]"+e.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);let s=!1,a="";for(;r;){s||(a=""),s=!1;let t;if(!this.options.extensions?.inline?.some(e=>!!(t=e.call({lexer:this},r,i))&&(r=r.substring(t.raw.length),i.push(t),!0)))if(t=this.tokenizer.escape(r))r=r.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.tag(r))r=r.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.link(r))r=r.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.reflink(r,this.tokens.links)){r=r.substring(t.raw.length);var o=i.at(-1);"text"===t.type&&"text"===o?.type?(o.raw+=t.raw,o.text+=t.text):i.push(t)}else if(t=this.tokenizer.emStrong(r,e,a))r=r.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.codespan(r))r=r.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.br(r))r=r.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.del(r))r=r.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.autolink(r))r=r.substring(t.raw.length),i.push(t);else if(!this.state.inLink&&(t=this.tokenizer.url(r)))r=r.substring(t.raw.length),i.push(t);else{let e=r;if(this.options.extensions?.startInline){let t=1/0,i=r.slice(1),n;this.options.extensions.startInline.forEach(e=>{"number"==typeof(n=e.call({lexer:this},i))&&0<=n&&(t=Math.min(t,n))}),t<1/0&&0<=t&&(e=r.substring(0,t+1))}if(t=this.tokenizer.inlineText(e)){r=r.substring(t.raw.length),"_"!==t.raw.slice(-1)&&(a=t.raw.slice(-1)),s=!0;o=i.at(-1);"text"===o?.type?(o.raw+=t.raw,o.text+=t.text):i.push(t)}else if(r){var l="Infinite loop on byte: "+r.charCodeAt(0);if(this.options.silent){console.error(l);break}throw new Error(l)}}}return i}},E$=class{static{mt(this,"$")}options;parser;constructor(e){this.options=e||ZE}space(e){return""}code({text:e,lang:t,escaped:i}){t=(t||"").match(e$.notSpaceStart)?.[0],e=e.replace(e$.endingNewline,"")+`
`;return t?'<pre><code class="language-'+qE(t)+'">'+(i?e:qE(e,!0))+`</code></pre> `;return t?'<pre><code class="language-'+qE(t)+'">'+(i?e:qE(e,!0))+`</code></pre>
`:"<pre><code>"+(i?e:qE(e,!0))+`</code></pre> `:"<pre><code>"+(i?e:qE(e,!0))+`</code></pre>
`}blockquote({tokens:e}){return`<blockquote> `}blockquote({tokens:e}){return`<blockquote>
@@ -441,20 +441,20 @@ ${this.parser.parse(e)}</blockquote>
`}tablerow({text:e}){return`<tr> `}tablerow({text:e}){return`<tr>
${e}</tr> ${e}</tr>
`}tablecell(e){var t=this.parser.parseInline(e.tokens),i=e.header?"th":"td";return(e.align?`<${i} align="${e.align}">`:`<${i}>`)+t+`</${i}> `}tablecell(e){var t=this.parser.parseInline(e.tokens),i=e.header?"th":"td";return(e.align?`<${i} align="${e.align}">`:`<${i}>`)+t+`</${i}>
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${qE(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:i}){var i=this.parser.parseInline(i),n=WE(e);if(null===n)return i;let r='<a href="'+(e=n)+'"';return t&&(r+=' title="'+qE(t)+'"'),r+=">"+i+"</a>"}image({href:e,title:t,text:i,tokens:n}){n&&(i=this.parser.parseInline(n,this.parser.textRenderer));n=WE(e);if(null===n)return qE(i);let r=`<img src="${e=n}" alt="${i}"`;return t&&(r+=` title="${qE(t)}"`),r+=">"}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:qE(e.text)}},$$=class{static{mt(this,"_")}strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}},L$=class n{static{mt(this,"a")}options;renderer;textRenderer;constructor(e){this.options=e||QE,this.options.renderer=this.options.renderer||new E$,this.renderer=this.options.renderer,this.renderer.options=this.options,(this.renderer.parser=this).textRenderer=new $$}static parse(e,t){return new n(t).parse(e)}static parseInline(e,t){return new n(t).parseInline(e)}parse(n,r=!0){let s="";for(let i=0;i<n.length;i++){var e=n[i];if(this.options.extensions?.renderers?.[e.type]){var t=e,a=this.options.extensions.renderers[t.type].call({parser:this},t);if(!1!==a||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(t.type)){s+=a||"";continue}}var o=e;switch(o.type){case"space":s+=this.renderer.space(o);continue;case"hr":s+=this.renderer.hr(o);continue;case"heading":s+=this.renderer.heading(o);continue;case"code":s+=this.renderer.code(o);continue;case"table":s+=this.renderer.table(o);continue;case"blockquote":s+=this.renderer.blockquote(o);continue;case"list":s+=this.renderer.list(o);continue;case"html":s+=this.renderer.html(o);continue;case"paragraph":s+=this.renderer.paragraph(o);continue;case"text":{let e=o,t=this.renderer.text(e);for(;i+1<n.length&&"text"===n[i+1].type;)e=n[++i],t+=` `}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${qE(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:i}){var i=this.parser.parseInline(i),n=WE(e);if(null===n)return i;let r='<a href="'+(e=n)+'"';return t&&(r+=' title="'+qE(t)+'"'),r+=">"+i+"</a>"}image({href:e,title:t,text:i,tokens:n}){n&&(i=this.parser.parseInline(n,this.parser.textRenderer));n=WE(e);if(null===n)return qE(i);let r=`<img src="${e=n}" alt="${i}"`;return t&&(r+=` title="${qE(t)}"`),r+=">"}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:qE(e.text)}},$$=class{static{mt(this,"_")}strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}},L$=class n{static{mt(this,"a")}options;renderer;textRenderer;constructor(e){this.options=e||ZE,this.options.renderer=this.options.renderer||new E$,this.renderer=this.options.renderer,this.renderer.options=this.options,(this.renderer.parser=this).textRenderer=new $$}static parse(e,t){return new n(t).parse(e)}static parseInline(e,t){return new n(t).parseInline(e)}parse(n,r=!0){let s="";for(let i=0;i<n.length;i++){var e=n[i];if(this.options.extensions?.renderers?.[e.type]){var t=e,a=this.options.extensions.renderers[t.type].call({parser:this},t);if(!1!==a||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(t.type)){s+=a||"";continue}}var o=e;switch(o.type){case"space":s+=this.renderer.space(o);continue;case"hr":s+=this.renderer.hr(o);continue;case"heading":s+=this.renderer.heading(o);continue;case"code":s+=this.renderer.code(o);continue;case"table":s+=this.renderer.table(o);continue;case"blockquote":s+=this.renderer.blockquote(o);continue;case"list":s+=this.renderer.list(o);continue;case"html":s+=this.renderer.html(o);continue;case"paragraph":s+=this.renderer.paragraph(o);continue;case"text":{let e=o,t=this.renderer.text(e);for(;i+1<n.length&&"text"===n[i+1].type;)e=n[++i],t+=`
`+this.renderer.text(e);s+=r?this.renderer.paragraph({type:"paragraph",raw:t,text:t,tokens:[{type:"text",raw:t,text:t,escaped:!0}]}):t;continue}default:var l='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}return s}parseInline(t,i=this.renderer){let n="";for(let e=0;e<t.length;e++){var r=t[e];if(this.options.extensions?.renderers?.[r.type]){var s=this.options.extensions.renderers[r.type].call({parser:this},r);if(!1!==s||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(r.type)){n+=s||"";continue}}var a=r;switch(a.type){case"escape":n+=i.text(a);break;case"html":n+=i.html(a);break;case"link":n+=i.link(a);break;case"image":n+=i.image(a);break;case"strong":n+=i.strong(a);break;case"em":n+=i.em(a);break;case"codespan":n+=i.codespan(a);break;case"br":n+=i.br(a);break;case"del":n+=i.del(a);break;case"text":n+=i.text(a);break;default:var o='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(o),"";throw new Error(o)}}return n}},R$=class{static{mt(this,"L")}options;block;constructor(e){this.options=e||QE}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}provideLexer(){return this.block?A$.lex:A$.lexInline}provideParser(){return this.block?L$.parse:L$.parseInline}},M$=class{static{mt(this,"B")}defaults=zE();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=L$;Renderer=E$;TextRenderer=$$;Lexer=A$;Tokenizer=_$;Hooks=R$;constructor(...e){this.use(...e)}walkTokens(e,i){let n=[];for(var r of e)switch(n=n.concat(i.call(this,r)),r.type){case"table":var t,s,a=r;for(t of a.header)n=n.concat(this.walkTokens(t.tokens,i));for(s of a.rows)for(var o of s)n=n.concat(this.walkTokens(o.tokens,i));break;case"list":a=r;n=n.concat(this.walkTokens(a.items,i));break;default:{let t=r;this.defaults.extensions?.childTokens?.[t.type]?this.defaults.extensions.childTokens[t.type].forEach(e=>{e=t[e].flat(1/0);n=n.concat(this.walkTokens(e,i))}):t.tokens&&(n=n.concat(this.walkTokens(t.tokens,i)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(t=>{var e={...t};if(e.async=this.defaults.async||e.async||!1,t.extensions&&(t.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){let i=r.renderers[n.name];i?r.renderers[n.name]=function(...e){let t=n.renderer.apply(this,e);return t=!1===t?i.apply(this,e):t}:r.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||"block"!==n.level&&"inline"!==n.level)throw new Error("extension level must be 'block' or 'inline'");var e=r[n.level];e?e.unshift(n.tokenizer):r[n.level]=[n.tokenizer],n.start&&("block"===n.level?r.startBlock?r.startBlock.push(n.start):r.startBlock=[n.start]:"inline"===n.level&&(r.startInline?r.startInline.push(n.start):r.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(r.childTokens[n.name]=n.childTokens)}),e.extensions=r),t.renderer){let r=this.defaults.renderer||new E$(this.defaults);for(var s in t.renderer){if(!(s in r))throw new Error(`renderer '${s}' does not exist`);if(!["options","parser"].includes(s)){let e=s,i=t.renderer[e],n=r[e];r[e]=(...e)=>{let t=i.apply(r,e);return(t=!1===t?n.apply(r,e):t)||""}}}e.renderer=r}if(t.tokenizer){let r=this.defaults.tokenizer||new _$(this.defaults);for(var a in t.tokenizer){if(!(a in r))throw new Error(`tokenizer '${a}' does not exist`);if(!["options","rules","lexer"].includes(a)){let e=a,i=t.tokenizer[e],n=r[e];r[e]=(...e)=>{let t=i.apply(r,e);return t=!1===t?n.apply(r,e):t}}}e.tokenizer=r}if(t.hooks){let r=this.defaults.hooks||new R$;for(var o in t.hooks){if(!(o in r))throw new Error(`hook '${o}' does not exist`);if(!["options","block"].includes(o)){let e=o,i=t.hooks[e],n=r[e];R$.passThroughHooks.has(o)?r[e]=e=>{return this.defaults.async?Promise.resolve(i.call(r,e)).then(e=>n.call(r,e)):(e=i.call(r,e),n.call(r,e))}:r[e]=(...e)=>{let t=i.apply(r,e);return t=!1===t?n.apply(r,e):t}}}e.hooks=r}if(t.walkTokens){let i=this.defaults.walkTokens,n=t.walkTokens;e.walkTokens=function(e){let t=[];return t.push(n.call(this,e)),t=i?t.concat(i.call(this,e)):t}}this.defaults={...this.defaults,...e}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return A$.lex(e,t??this.defaults)}parser(e,t){return L$.parse(e,t??this.defaults)}parseMarkdown(o){return(i,e)=>{let t={...e},n={...this.defaults,...t},r=this.onError(!!n.silent,!!n.async);if(!0===this.defaults.async&&!1===t.async)return r(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if("u"<typeof i||null===i)return r(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof i)return r(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", str Line truncated `+this.renderer.text(e);s+=r?this.renderer.paragraph({type:"paragraph",raw:t,text:t,tokens:[{type:"text",raw:t,text:t,escaped:!0}]}):t;continue}default:var l='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}return s}parseInline(t,i=this.renderer){let n="";for(let e=0;e<t.length;e++){var r=t[e];if(this.options.extensions?.renderers?.[r.type]){var s=this.options.extensions.renderers[r.type].call({parser:this},r);if(!1!==s||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(r.type)){n+=s||"";continue}}var a=r;switch(a.type){case"escape":n+=i.text(a);break;case"html":n+=i.html(a);break;case"link":n+=i.link(a);break;case"image":n+=i.image(a);break;case"strong":n+=i.strong(a);break;case"em":n+=i.em(a);break;case"codespan":n+=i.codespan(a);break;case"br":n+=i.br(a);break;case"del":n+=i.del(a);break;case"text":n+=i.text(a);break;default:var o='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(o),"";throw new Error(o)}}return n}},R$=class{static{mt(this,"L")}options;block;constructor(e){this.options=e||ZE}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}provideLexer(){return this.block?A$.lex:A$.lexInline}provideParser(){return this.block?L$.parse:L$.parseInline}},M$=class{static{mt(this,"B")}defaults=zE();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=L$;Renderer=E$;TextRenderer=$$;Lexer=A$;Tokenizer=_$;Hooks=R$;constructor(...e){this.use(...e)}walkTokens(e,i){let n=[];for(var r of e)switch(n=n.concat(i.call(this,r)),r.type){case"table":var t,s,a=r;for(t of a.header)n=n.concat(this.walkTokens(t.tokens,i));for(s of a.rows)for(var o of s)n=n.concat(this.walkTokens(o.tokens,i));break;case"list":a=r;n=n.concat(this.walkTokens(a.items,i));break;default:{let t=r;this.defaults.extensions?.childTokens?.[t.type]?this.defaults.extensions.childTokens[t.type].forEach(e=>{e=t[e].flat(1/0);n=n.concat(this.walkTokens(e,i))}):t.tokens&&(n=n.concat(this.walkTokens(t.tokens,i)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(t=>{var e={...t};if(e.async=this.defaults.async||e.async||!1,t.extensions&&(t.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){let i=r.renderers[n.name];i?r.renderers[n.name]=function(...e){let t=n.renderer.apply(this,e);return t=!1===t?i.apply(this,e):t}:r.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||"block"!==n.level&&"inline"!==n.level)throw new Error("extension level must be 'block' or 'inline'");var e=r[n.level];e?e.unshift(n.tokenizer):r[n.level]=[n.tokenizer],n.start&&("block"===n.level?r.startBlock?r.startBlock.push(n.start):r.startBlock=[n.start]:"inline"===n.level&&(r.startInline?r.startInline.push(n.start):r.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(r.childTokens[n.name]=n.childTokens)}),e.extensions=r),t.renderer){let r=this.defaults.renderer||new E$(this.defaults);for(var s in t.renderer){if(!(s in r))throw new Error(`renderer '${s}' does not exist`);if(!["options","parser"].includes(s)){let e=s,i=t.renderer[e],n=r[e];r[e]=(...e)=>{let t=i.apply(r,e);return(t=!1===t?n.apply(r,e):t)||""}}}e.renderer=r}if(t.tokenizer){let r=this.defaults.tokenizer||new _$(this.defaults);for(var a in t.tokenizer){if(!(a in r))throw new Error(`tokenizer '${a}' does not exist`);if(!["options","rules","lexer"].includes(a)){let e=a,i=t.tokenizer[e],n=r[e];r[e]=(...e)=>{let t=i.apply(r,e);return t=!1===t?n.apply(r,e):t}}}e.tokenizer=r}if(t.hooks){let r=this.defaults.hooks||new R$;for(var o in t.hooks){if(!(o in r))throw new Error(`hook '${o}' does not exist`);if(!["options","block"].includes(o)){let e=o,i=t.hooks[e],n=r[e];R$.passThroughHooks.has(o)?r[e]=e=>{return this.defaults.async?Promise.resolve(i.call(r,e)).then(e=>n.call(r,e)):(e=i.call(r,e),n.call(r,e))}:r[e]=(...e)=>{let t=i.apply(r,e);return t=!1===t?n.apply(r,e):t}}}e.hooks=r}if(t.walkTokens){let i=this.defaults.walkTokens,n=t.walkTokens;e.walkTokens=function(e){let t=[];return t.push(n.call(this,e)),t=i?t.concat(i.call(this,e)):t}}this.defaults={...this.defaults,...e}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return A$.lex(e,t??this.defaults)}parser(e,t){return L$.parse(e,t??this.defaults)}parseMarkdown(o){return(i,e)=>{let t={...e},n={...this.defaults,...t},r=this.onError(!!n.silent,!!n.async);if(!0===this.defaults.async&&!1===t.async)return r(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if("u"<typeof i||null===i)return r(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof i)return r(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", str Line truncated
Please report this to https://github.com/markedjs/marked.`,i)return t="<p>An error occurred:</p><pre>"+qE(e.message+"",!0)+"</pre>",n?Promise.resolve(t):t;if(n)return Promise.reject(e);throw e}}},I$=new M$,mt(ZE,"k"),ZE.options=ZE.setOptions=function(e){return I$.setOptions(e),UE(ZE.defaults=I$.defaults),ZE},ZE.getDefaults=zE,ZE.defaults=QE,ZE.use=function(...e){return I$.use(...e),UE(ZE.defaults=I$.defaults),ZE},ZE.walkTokens=function(e,t){return I$.walkTokens(e,t)},ZE.parseInline=I$.parseInline,ZE.Parser=L$,ZE.parser=L$.parse,ZE.Renderer=E$,ZE.TextRenderer=$$,ZE.Lexer=A$,ZE.lexer=A$.lex,ZE.Tokenizer=_$,ZE.Hooks=R$,ZE.parse=ZE,A$.lex});function D$(e,{markdownAutoWrap:t}){e=Ve(e.replace(/<br\/>/g,` Please report this to https://github.com/markedjs/marked.`,i)return t="<p>An error occurred:</p><pre>"+qE(e.message+"",!0)+"</pre>",n?Promise.resolve(t):t;if(n)return Promise.reject(e);throw e}}},I$=new M$,mt(QE,"k"),QE.options=QE.setOptions=function(e){return I$.setOptions(e),UE(QE.defaults=I$.defaults),QE},QE.getDefaults=zE,QE.defaults=ZE,QE.use=function(...e){return I$.use(...e),UE(QE.defaults=I$.defaults),QE},QE.walkTokens=function(e,t){return I$.walkTokens(e,t)},QE.parseInline=I$.parseInline,QE.Parser=L$,QE.parser=L$.parse,QE.Renderer=E$,QE.TextRenderer=$$,QE.Lexer=A$,QE.lexer=A$.lex,QE.Tokenizer=_$,QE.Hooks=R$,QE.parse=QE,A$.lex});function D$(e,{markdownAutoWrap:t}){e=Ve(e.replace(/<br\/>/g,`
`).replace(/\n{2,}/g,` `).replace(/\n{2,}/g,`
`));return!1===t?e.replace(/ /g,"&nbsp;"):e}function O$(e,t={}){let i=D$(e,t),n=ZE.lexer(i),r=[[]],s=0;function a(t,i="normal"){"text"===t.type?t.text.split(` `));return!1===t?e.replace(/ /g,"&nbsp;"):e}function O$(e,t={}){let i=D$(e,t),n=QE.lexer(i),r=[[]],s=0;function a(t,i="normal"){"text"===t.type?t.text.split(`
`).forEach((e,t)=>{0!==t&&(s++,r.push([])),e.split(" ").forEach(e=>{(e=e.replace(/&#39;/g,"'"))&&r[s].push({content:e,type:i})})}):"strong"===t.type||"em"===t.type?t.tokens.forEach(e=>{a(e,t.type)}):"html"===t.type&&r[s].push({content:t.text,type:"normal"})}return mt(a,"processNode"),n.forEach(e=>{"paragraph"===e.type?e.tokens?.forEach(e=>{a(e)}):"html"===e.type&&r[s].push({content:e.text,type:"normal"})}),r}function P$(e,{markdownAutoWrap:t}={}){e=ZE.lexer(e);function i(e){return"text"===e.type?!1===t?e.text.replace(/\n */g,"<br/>").replace(/ /g,"&nbsp;"):e.text.replace(/\n */g,"<br/>"):"strong"===e.type?`<strong>${e.tokens?.map(i).join("")}</strong>`:"em"===e.type?`<em>${e.tokens?.map(i).join("")}</em>`:"paragraph"===e.type?`<p>${e.tokens?.map(i).join("")}</p>`:"space"===e.type?"":"html"===e.type?""+e.text:"escape"===e.type?e.text:"Unsupported markdown: "+e.type}return mt(i,"output"),e.map(i).join("")}var B$=e(()=>{"use strict";N$(),zi(),mt(D$,"preprocessMarkdown"),mt(O$,"markdownToLines"),mt(P$,"markdownToHTML")});function F$(e){return Intl.Segmenter?[...(new Intl.Segmenter).segment(e)].map(e=>e.segment):[...e]}function j$(e,t){return z$(e,[],F$(t.content),t.type)}function z$(e,t,i,n){var r,s,a;return 0===i.length?[{content:t.join(""),type:n},{content:"",type:n}]:([r,...s]=i,e([{content:(a=[...t,r]).join(""),type:n}])?z$(e,a,s,n):(0===t.length&&r&&(t.push(r),i.shift()),[{content:t.join(""),type:n},{content:i.join(""),type:n}]))}function U$(e,t){if(e.some(({content:e})=>e.includes(` `).forEach((e,t)=>{0!==t&&(s++,r.push([])),e.split(" ").forEach(e=>{(e=e.replace(/&#39;/g,"'"))&&r[s].push({content:e,type:i})})}):"strong"===t.type||"em"===t.type?t.tokens.forEach(e=>{a(e,t.type)}):"html"===t.type&&r[s].push({content:t.text,type:"normal"})}return mt(a,"processNode"),n.forEach(e=>{"paragraph"===e.type?e.tokens?.forEach(e=>{a(e)}):"html"===e.type&&r[s].push({content:e.text,type:"normal"})}),r}function P$(e,{markdownAutoWrap:t}={}){e=QE.lexer(e);function i(e){return"text"===e.type?!1===t?e.text.replace(/\n */g,"<br/>").replace(/ /g,"&nbsp;"):e.text.replace(/\n */g,"<br/>"):"strong"===e.type?`<strong>${e.tokens?.map(i).join("")}</strong>`:"em"===e.type?`<em>${e.tokens?.map(i).join("")}</em>`:"paragraph"===e.type?`<p>${e.tokens?.map(i).join("")}</p>`:"space"===e.type?"":"html"===e.type?""+e.text:"escape"===e.type?e.text:"Unsupported markdown: "+e.type}return mt(i,"output"),e.map(i).join("")}var B$=e(()=>{"use strict";N$(),zi(),mt(D$,"preprocessMarkdown"),mt(O$,"markdownToLines"),mt(P$,"markdownToHTML")});function F$(e){return Intl.Segmenter?[...(new Intl.Segmenter).segment(e)].map(e=>e.segment):[...e]}function j$(e,t){return z$(e,[],F$(t.content),t.type)}function z$(e,t,i,n){var r,s,a;return 0===i.length?[{content:t.join(""),type:n},{content:"",type:n}]:([r,...s]=i,e([{content:(a=[...t,r]).join(""),type:n}])?z$(e,a,s,n):(0===t.length&&r&&(t.push(r),i.shift()),[{content:t.join(""),type:n},{content:i.join(""),type:n}]))}function U$(e,t){if(e.some(({content:e})=>e.includes(`
`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return H$(e,t)}function H$(e,t,i=[],n=[]){if(0===e.length)return 0<n.length&&i.push(n),0<i.length?i:[];let r="";" "===e[0].content&&(r=" ",e.shift());var s=e.shift()??{content:" ",type:"normal"},a=[...n];return""!==r&&a.push({content:r,type:"normal"}),a.push(s),t(a)?H$(e,t,i,a):(0<n.length?(i.push(n),e.unshift(s)):s.content&&([a,n]=j$(t,s),i.push([a]),n.content)&&e.unshift(n),H$(e,t,i))}var q$=e(()=>{"use strict";mt(F$,"splitTextToChars"),mt(j$,"splitWordToFitWidth"),mt(z$,"splitWordToFitWidthRecursion"),mt(U$,"splitLineToFitWidth"),mt(H$,"splitLineToFitWidthRecursion")});function W$(e,t){t&&e.attr("style",t)}async function G$(e,t,i,n,r=!1){e=e.append("foreignObject");e.attr("width",10*i+"px"),e.attr("height",10*i+"px");let s=e.append("xhtml:div"),a=t.label;t.label&&Jc(t.label)&&(a=await th(t.label.replace($.lineBreakRegex,` `)))throw new Error("splitLineToFitWidth does not support newlines in the line");return H$(e,t)}function H$(e,t,i=[],n=[]){if(0===e.length)return 0<n.length&&i.push(n),0<i.length?i:[];let r="";" "===e[0].content&&(r=" ",e.shift());var s=e.shift()??{content:" ",type:"normal"},a=[...n];return""!==r&&a.push({content:r,type:"normal"}),a.push(s),t(a)?H$(e,t,i,a):(0<n.length?(i.push(n),e.unshift(s)):s.content&&([a,n]=j$(t,s),i.push([a]),n.content)&&e.unshift(n),H$(e,t,i))}var q$=e(()=>{"use strict";mt(F$,"splitTextToChars"),mt(j$,"splitWordToFitWidth"),mt(z$,"splitWordToFitWidthRecursion"),mt(U$,"splitLineToFitWidth"),mt(H$,"splitLineToFitWidthRecursion")});function W$(e,t){t&&e.attr("style",t)}async function G$(e,t,i,n,r=!1){e=e.append("foreignObject");e.attr("width",10*i+"px"),e.attr("height",10*i+"px");let s=e.append("xhtml:div"),a=t.label;t.label&&Jc(t.label)&&(a=await th(t.label.replace($.lineBreakRegex,`
`),N()));var o=t.isNode?"nodeLabel":"edgeLabel",l=s.append("span"),l=(l.html(a),W$(l,t.labelStyle),l.attr("class",o+" "+n),W$(s,t.labelStyle),s.style("display","table-cell"),s.style("white-space","nowrap"),s.style("line-height","1.5"),s.style("max-width",i+"px"),s.style("text-align","center"),s.attr("xmlns","http://www.w3.org/1999/xhtml"),r&&s.attr("class","labelBkg"),s.node().getBoundingClientRect());return l.width===i&&(s.style("display","table"),s.style("white-space","break-spaces"),s.style("width",i+"px"),l=s.node().getBoundingClientRect()),e.node()}function V$(e,t,i){return e.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",t*i-.1+"em").attr("dy",i+"em")}function Y$(e,t,i){e=e.append("text"),t=V$(e,1,t),Z$(t,i),i=t.node().getComputedTextLength();return e.remove(),i}function X$(e,t,i){e=e.append("text"),t=V$(e,1,t),Z$(t,[{content:i,type:"normal"}]),i=t.node()?.getBoundingClientRect();return i&&e.remove(),i}function K$(t,e,i,n=!1){let r=e.append("g"),s=r.insert("rect").attr("class","background").attr("style","stroke: none"),a=r.append("text").attr("y","-10.1"),o=0;for(var l of i){var c,h=mt(e=>Y$(r,1.1,e)<=t,"checkWidth");for(c of h(l)?[l]:U$(l,h))Z$(V$(a,o,1.1),c),o++}return(n?(e=a.node().getBBox(),s.attr("x",e.x-2).attr("y",e.y-2).attr("width",e.width+4).attr("height",e.height+4),r):a).node()}function Z$(n,e){n.text(""),e.forEach((e,t)=>{var i=n.append("tspan").attr("font-style","em"===e.type?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight","strong"===e.type?"bold":"normal");0===t?i.text(e.content):i.text(" "+e.content)})}async function Q$(e){let r=[],t=(e.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(t,i,n)=>(r.push((async()=>{var e=i+":"+n;return await Fe(e)?await je(e,void 0,{class:"label-icon"}):`<i class='${$h(t).replace(":"," ")}'></i>`})()),t)),await Promise.all(r));return e.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>t.shift()??"")}var J$,eL=e(()=>{"use strict";a6(),_u(),hh(),t(),B$(),s_(),Ge(),q$(),mt(W$,"applyStyle"),mt(G$,"addHtmlSpan"),mt(V$,"createTspan"),mt(Y$,"computeWidthOfText"),mt(X$,"computeDimensionOfText"),mt(K$,"createFormattedText"),mt(Z$,"updateTextContentAndStyles"),mt(Q$,"replaceIconSubstring"),J$=mt(async(e,t="",{style:i="",isTitle:n=!1,classes:r="",useHtmlLabels:s=!0,isNode:a=!0,width:o=200,addSvgBackground:l=!1}={},c)=>{return I.debug("XYZ createText",t,i,n,r,s,a,"addSvgBackground: ",l),s?(n=P$(t,c),s=await Q$(n_(n)),n=t.replace(/\\\\/g,"\\"),G$(e,{isNode:a,label:Jc(t)?n:s,labelStyle:i.replace("fill:","color:")},o,r,l)):(n=K$(o,e,O$(t.replace(/<br\s*\/?>/g,"<br/>").replace("<br>","<br/>"),c),!!t&&l),a?(s=(i=/stroke:/.exec(i)?i.replace("stroke:","lineColor:"):i).replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:"),V(n).attr("style",s)):(r=i.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:"),V(n).select("rect").attr("style",r.replace(/background:/g,"fill:")),o=i.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:"),V(n).select("text").attr("style",o)),n)},"createText")});function tL(e){e=e.map((e,t)=>(0===t?"M":"L")+e.x+","+e.y);return e.push("Z"),e.join(" ")}function iL(t,e,i,n,r,s){var a=[],o=i-t,l=2*Math.PI/(o/s),c=e+(n-e)/2;for(let e=0;e<=50;e++){var h=t+e/50*o,u=c+r*Math.sin(l*(h-t));a.push({x:h,y:u})}return a}function nL(t,i,n,r,e,s){var a=[],o=e*Math.PI/180,l=(s*Math.PI/180-o)/(r-1);for(let e=0;e<r;e++){var c=o+e*l,h=t+n*Math.cos(c),c=i+n*Math.sin(c);a.push({x:-h,y:-c})}return a}var rL,sL,aL,oL,r=e(()=>{"use strict";eL(),_u(),a6(),Ln(),hh(),s_(),rL=mt(async(e,t,i)=>{let n,r=t.useHtmlLabels||qc(N()?.htmlLabels),s=(n=i||"node default",e.insert("g").attr("class",n).attr("id",t.domId||t.id)),a=s.insert("g").attr("class","label").attr("style",$C(t.labelStyle)),o,l=(o=void 0===t.label?"":"string"==typeof t.label?t.label:t.label[0],await J$(a,Pc(n_(o),N()),{useHtmlLabels:r,width:t.width||N().flowchart?.wrappingWidth,cssClasses:"markdown-node-label",style:t.labelStyle,addSvgBackground:!!t.icon||!!t.img})),c=l.getBBox(),h=(t?.padding??0)/2;if(r){var i=l.children[0],e=V(l),u=i.getElementsByTagName("img");if(u){let n=""===o.replace(/<img[^>]*>/g,"").trim();await Promise.all([...u].map(i=>new Promise(t=>{function e(){var e;i.style.display="flex",i.style.flexDirection="column",n?(e=(N().fontSize?N():window.getComputedStyle(document.body)).fontSize,[e=vi.fontSize]=e_(e),i.style.minWidth=e=5*e+"px",i.style.maxWidth=e):i.style.width="100%",t(i)}mt(e,"setupImage"),setTimeout(()=>{i.complete&&e()}),i.addEventListener("error",e),i.addEventListener("load",e)})))}c=i.getBoundingClientRect(),e.attr("width",c.width),e.attr("height",c.height)}return r?a.attr("transform","translate("+-c.width/2+", "+-c.height/2+")"):a.attr("transform","translate(0, "+-c.height/2+")"),t.centerLabel&&a.attr("transform","translate("+-c.width/2+", "+-c.height/2+")"),a.insert("rLine truncated `),N()));var o=t.isNode?"nodeLabel":"edgeLabel",l=s.append("span"),l=(l.html(a),W$(l,t.labelStyle),l.attr("class",o+" "+n),W$(s,t.labelStyle),s.style("display","table-cell"),s.style("white-space","nowrap"),s.style("line-height","1.5"),s.style("max-width",i+"px"),s.style("text-align","center"),s.attr("xmlns","http://www.w3.org/1999/xhtml"),r&&s.attr("class","labelBkg"),s.node().getBoundingClientRect());return l.width===i&&(s.style("display","table"),s.style("white-space","break-spaces"),s.style("width",i+"px"),l=s.node().getBoundingClientRect()),e.node()}function V$(e,t,i){return e.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",t*i-.1+"em").attr("dy",i+"em")}function Y$(e,t,i){e=e.append("text"),t=V$(e,1,t),Q$(t,i),i=t.node().getComputedTextLength();return e.remove(),i}function X$(e,t,i){e=e.append("text"),t=V$(e,1,t),Q$(t,[{content:i,type:"normal"}]),i=t.node()?.getBoundingClientRect();return i&&e.remove(),i}function K$(t,e,i,n=!1){let r=e.append("g"),s=r.insert("rect").attr("class","background").attr("style","stroke: none"),a=r.append("text").attr("y","-10.1"),o=0;for(var l of i){var c,h=mt(e=>Y$(r,1.1,e)<=t,"checkWidth");for(c of h(l)?[l]:U$(l,h))Q$(V$(a,o,1.1),c),o++}return(n?(e=a.node().getBBox(),s.attr("x",e.x-2).attr("y",e.y-2).attr("width",e.width+4).attr("height",e.height+4),r):a).node()}function Q$(n,e){n.text(""),e.forEach((e,t)=>{var i=n.append("tspan").attr("font-style","em"===e.type?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight","strong"===e.type?"bold":"normal");0===t?i.text(e.content):i.text(" "+e.content)})}async function Z$(e){let r=[],t=(e.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(t,i,n)=>(r.push((async()=>{var e=i+":"+n;return await Fe(e)?await je(e,void 0,{class:"label-icon"}):`<i class='${$h(t).replace(":"," ")}'></i>`})()),t)),await Promise.all(r));return e.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>t.shift()??"")}var J$,eL=e(()=>{"use strict";a6(),_u(),hh(),t(),B$(),s_(),Ge(),q$(),mt(W$,"applyStyle"),mt(G$,"addHtmlSpan"),mt(V$,"createTspan"),mt(Y$,"computeWidthOfText"),mt(X$,"computeDimensionOfText"),mt(K$,"createFormattedText"),mt(Q$,"updateTextContentAndStyles"),mt(Z$,"replaceIconSubstring"),J$=mt(async(e,t="",{style:i="",isTitle:n=!1,classes:r="",useHtmlLabels:s=!0,isNode:a=!0,width:o=200,addSvgBackground:l=!1}={},c)=>{return I.debug("XYZ createText",t,i,n,r,s,a,"addSvgBackground: ",l),s?(n=P$(t,c),s=await Z$(n_(n)),n=t.replace(/\\\\/g,"\\"),G$(e,{isNode:a,label:Jc(t)?n:s,labelStyle:i.replace("fill:","color:")},o,r,l)):(n=K$(o,e,O$(t.replace(/<br\s*\/?>/g,"<br/>").replace("<br>","<br/>"),c),!!t&&l),a?(s=(i=/stroke:/.exec(i)?i.replace("stroke:","lineColor:"):i).replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:"),V(n).attr("style",s)):(r=i.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:"),V(n).select("rect").attr("style",r.replace(/background:/g,"fill:")),o=i.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:"),V(n).select("text").attr("style",o)),n)},"createText")});function tL(e){e=e.map((e,t)=>(0===t?"M":"L")+e.x+","+e.y);return e.push("Z"),e.join(" ")}function iL(t,e,i,n,r,s){var a=[],o=i-t,l=2*Math.PI/(o/s),c=e+(n-e)/2;for(let e=0;e<=50;e++){var h=t+e/50*o,u=c+r*Math.sin(l*(h-t));a.push({x:h,y:u})}return a}function nL(t,i,n,r,e,s){var a=[],o=e*Math.PI/180,l=(s*Math.PI/180-o)/(r-1);for(let e=0;e<r;e++){var c=o+e*l,h=t+n*Math.cos(c),c=i+n*Math.sin(c);a.push({x:-h,y:-c})}return a}var rL,sL,aL,oL,r=e(()=>{"use strict";eL(),_u(),a6(),Ln(),hh(),s_(),rL=mt(async(e,t,i)=>{let n,r=t.useHtmlLabels||qc(N()?.htmlLabels),s=(n=i||"node default",e.insert("g").attr("class",n).attr("id",t.domId||t.id)),a=s.insert("g").attr("class","label").attr("style",$C(t.labelStyle)),o,l=(o=void 0===t.label?"":"string"==typeof t.label?t.label:t.label[0],await J$(a,Pc(n_(o),N()),{useHtmlLabels:r,width:t.width||N().flowchart?.wrappingWidth,cssClasses:"markdown-node-label",style:t.labelStyle,addSvgBackground:!!t.icon||!!t.img})),c=l.getBBox(),h=(t?.padding??0)/2;if(r){var i=l.children[0],e=V(l),u=i.getElementsByTagName("img");if(u){let n=""===o.replace(/<img[^>]*>/g,"").trim();await Promise.all([...u].map(i=>new Promise(t=>{function e(){var e;i.style.display="flex",i.style.flexDirection="column",n?(e=(N().fontSize?N():window.getComputedStyle(document.body)).fontSize,[e=vi.fontSize]=e_(e),i.style.minWidth=e=5*e+"px",i.style.maxWidth=e):i.style.width="100%",t(i)}mt(e,"setupImage"),setTimeout(()=>{i.complete&&e()}),i.addEventListener("error",e),i.addEventListener("load",e)})))}c=i.getBoundingClientRect(),e.attr("width",c.width),e.attr("height",c.height)}return r?a.attr("transform","translate("+-c.width/2+", "+-c.height/2+")"):a.attr("transform","translate(0, "+-c.height/2+")"),t.centerLabel&&a.attr("transform","translate("+-c.width/2+", "+-c.height/2+")"),a.insert("rLine truncated
M ${r},${s} L ${l},`+c}function nM(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i,t.label="";let r=e.insert("g").attr("class",oL(t)).attr("id",t.domId??t.id),s=Math.max(30,t?.width??0),a=t["cssStyles"],o=zR.svg(r),l=RL(t,{}),c=("handDrawn"!==t.look&&(l.roughness=0,l.fillStyle="solid"),o.circle(0,0,2*s,l)),h=iM(s),u=o.path(h,l),d=r.insert(()=>c,":first-child");return d.insert(()=>u),a&&"handDrawn"!==t.look&&d.selectAll("path").attr("style",a),n&&"handDrawn"!==t.look&&d.selectAll("path").attr("style",n),aL(t,d),t.intersect=function(e){return I.info("crossedCircle intersect",t,{radius:s,point:e}),CL.circle(t,s,e)},r}var rM=e(()=>{"use strict";t(),r(),DL(),UR(),NL(),mt(iM,"createLine"),mt(nM,"crossedCircle")});function sM(t,i,n,r=100,e=0,s=180){var a=[],o=e*Math.PI/180,l=(s*Math.PI/180-o)/(r-1);for(let e=0;e<r;e++){var c=o+e*l,h=t+n*Math.cos(c),c=i+n*Math.sin(c);a.push({x:-h,y:-c})}return a}async function aM(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=s.width+(t.padding??0),l=s.height+(t.padding??0),c=Math.max(5,.1*l),h=t["cssStyles"],u=[...sM(o/2,-l/2,c,30,-90,0),{x:-o/2-c,y:c},...sM(o/2+2*c,-c,c,20,-180,-270),...sM(o/2+2*c,c,c,20,-90,-180),{x:-o/2-c,y:-l/2},...sM(o/2,l/2,c,20,0,90)],d=[{x:o/2,y:-l/2-c},{x:-o/2,y:-l/2-c},...sM(o/2,-l/2,c,20,-90,0),{x:-o/2-c,y:-c},...sM(o/2+.1*o,-c,c,20,-180,-270),...sM(o/2+.1*o,c,c,20,-90,-180),{x:-o/2-c,y:l/2},...sM(o/2,l/2,c,20,0,90),{x:-o/2,y:l/2+c},{x:o/2,y:l/2+c}],p=zR.svg(r),g=RL(t,{fill:"none"}),f=("handDrawn"!==t.look&&(g.roughness=0,g.fillStyle="solid"),tL(u).replace("Z","")),m=p.path(f,g),y=tL(d),b=p.path(y,{...g}),v=r.insert("g",":first-child");return v.insert(()=>b,":first-child").attr("stroke-opacity",0),v.insert(()=>m,":first-child"),v.attr("class","text"),h&&"handDrawn"!==t.look&&v.selectAll("path").attr("style",h),n&&"handDrawn"!==t.look&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(${c}, 0)`),a.attr("transform",`translate(${-o/2+c-(s.x-(s.left??0))},${-l/2+(t.padding??0)/2-(s.y-(s.top??0))})`),aL(t,v),t.intersect=function(e){return CL.polygon(t,d,e)},r}var oM=e(()=>{"use strict";r(),NL(),DL(),UR(),mt(sM,"generateCirclePoints"),mt(aM,"curlyBraceLeft")});function lM(t,i,n,r=100,e=0,s=180){var a=[],o=e*Math.PI/180,l=(s*Math.PI/180-o)/(r-1);for(let e=0;e<r;e++){var c=o+e*l,h=t+n*Math.cos(c),c=i+n*Math.sin(c);a.push({x:h,y:c})}return a}async function cM(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=s.width+(t.padding??0),l=s.height+(t.padding??0),c=Math.max(5,.1*l),h=t["cssStyles"],u=[...lM(o/2,-l/2,c,20,-90,0),{x:o/2+c,y:-c},...lM(o/2+2*c,-c,c,20,-180,-270),...lM(o/2+2*c,c,c,20,-90,-180),{x:o/2+c,y:l/2},...lM(o/2,l/2,c,20,0,90)],d=[{x:-o/2,y:-l/2-c},{x:o/2,y:-l/2-c},...lM(o/2,-l/2,c,20,-90,0),{x:o/2+c,y:-c},...lM(o/2+2*c,-c,c,20,-180,-270),...lM(o/2+2*c,c,c,20,-90,-180),{x:o/2+c,y:l/2},...lM(o/2,l/2,c,20,0,90),{x:o/2,y:l/2+c},{x:-o/2,y:l/2+c}],p=zR.svg(r),g=RL(t,{fill:"none"}),f=("handDrawn"!==t.look&&(g.roughness=0,g.fillStyle="solid"),tL(u).replace("Z","")),m=p.path(f,g),y=tL(d),b=p.path(y,{...g}),v=r.insert("g",":first-child");return v.insert(()=>b,":first-child").attr("stroke-opacity",0),v.insert(()=>m,":first-child"),v.attr("class","text"),h&&"handDrawn"!==t.look&&v.selectAll("path").attr("style",h),n&&"handDrawn"!==t.look&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(${-c}, 0)`),a.attr("transform",`translate(${-o/2+(t.padding??0)/2-(s.x-(s.left??0))},${-l/2+(t.padding??0)/2-(s.y-(s.top??0))})`),aL(t,v),t.intersect=function(e){return CL.polygon(t,d,e)},r}var hM=e(()=>{"use strict";r(),NL(),DL(),UR(),mt(lM,"generateCirclePoints"),mt(cM,"curlyBraceRight")});function uM(t,i,n,r=100,e=0,s=180){var a=[],o=e*Math.PI/180,l=(s*Math.PI/180-o)/(r-1);for(let e=0;e<r;e++){var c=o+e*l,h=t+n*Math.cos(c),c=i+n*Math.sin(c);a.push({x:-h,y:-c})}return a}async function dM(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=s.width+(t.padding??0),l=s.height+(t.padding??0),c=Math.max(5,.1*l),h=t["cssStyles"],u=[...uM(o/2,-l/2,c,30,-90,0),{x:-o/2-c,y:c},...uM(o/2+2*c,-c,c,20,-180,-270),...uM(o/2+2*c,c,c,20,-90,-180),{x:-o/2-c,y:-l/2},...uM(o/2,l/2,c,20,0,90)],d=[...uM(-o/2+c+c/2,-l/2,c,20,-90,-180),{x:o/2-c/2,y:c},...uM(-o/2-c/2,-c,c,20,0,90),...uM(-o/2-c/2,c,c,20,-90,0),{x:o/2-c/2,y:-c},...uM(-o/2+c+c/2,l/2,c,30,-180,-270)],p=[{x:o/2,y:-l/2-c},{x:-o/2,y:-l/2-c},...uM(o/2,-l/2,c,20,-90,0),{x:-o/2-c,y:-c},...uM(o/2+2*c,-c,c,20,-180,-270),...uM(o/2+2*c,c,c,20,-90,-180),{x:-o/2-c,y:l/2},...uM(o/2,l/2,c,20,0,90),{x:-o/2,y:l/2+c},{x:o/2-c-c/2,y:l/2+c},...uM(-o/2+c+c/2,-l/2,c,20,-90,-180),{x:o/2-c/2,y:c},...uM(-o/2-c/2,-c,c,20,0,90),...uM(-o/2-c/2,c,c,20,-90,0),{x:o/2-c/2,y:-c},...uM(-o/2+c+c/2,l/2,c,30,-180,-270)],g=zR.svg(r),f=RL(t,{fill:"none"}),m=("handDrawn"!==t.look&&(f.roughness=0,f.fillStyle="solid"),tL(u).replace("Z"," Line truncated M ${r},${s} L ${l},`+c}function nM(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i,t.label="";let r=e.insert("g").attr("class",oL(t)).attr("id",t.domId??t.id),s=Math.max(30,t?.width??0),a=t["cssStyles"],o=zR.svg(r),l=RL(t,{}),c=("handDrawn"!==t.look&&(l.roughness=0,l.fillStyle="solid"),o.circle(0,0,2*s,l)),h=iM(s),u=o.path(h,l),d=r.insert(()=>c,":first-child");return d.insert(()=>u),a&&"handDrawn"!==t.look&&d.selectAll("path").attr("style",a),n&&"handDrawn"!==t.look&&d.selectAll("path").attr("style",n),aL(t,d),t.intersect=function(e){return I.info("crossedCircle intersect",t,{radius:s,point:e}),CL.circle(t,s,e)},r}var rM=e(()=>{"use strict";t(),r(),DL(),UR(),NL(),mt(iM,"createLine"),mt(nM,"crossedCircle")});function sM(t,i,n,r=100,e=0,s=180){var a=[],o=e*Math.PI/180,l=(s*Math.PI/180-o)/(r-1);for(let e=0;e<r;e++){var c=o+e*l,h=t+n*Math.cos(c),c=i+n*Math.sin(c);a.push({x:-h,y:-c})}return a}async function aM(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=s.width+(t.padding??0),l=s.height+(t.padding??0),c=Math.max(5,.1*l),h=t["cssStyles"],u=[...sM(o/2,-l/2,c,30,-90,0),{x:-o/2-c,y:c},...sM(o/2+2*c,-c,c,20,-180,-270),...sM(o/2+2*c,c,c,20,-90,-180),{x:-o/2-c,y:-l/2},...sM(o/2,l/2,c,20,0,90)],d=[{x:o/2,y:-l/2-c},{x:-o/2,y:-l/2-c},...sM(o/2,-l/2,c,20,-90,0),{x:-o/2-c,y:-c},...sM(o/2+.1*o,-c,c,20,-180,-270),...sM(o/2+.1*o,c,c,20,-90,-180),{x:-o/2-c,y:l/2},...sM(o/2,l/2,c,20,0,90),{x:-o/2,y:l/2+c},{x:o/2,y:l/2+c}],p=zR.svg(r),g=RL(t,{fill:"none"}),f=("handDrawn"!==t.look&&(g.roughness=0,g.fillStyle="solid"),tL(u).replace("Z","")),m=p.path(f,g),y=tL(d),b=p.path(y,{...g}),v=r.insert("g",":first-child");return v.insert(()=>b,":first-child").attr("stroke-opacity",0),v.insert(()=>m,":first-child"),v.attr("class","text"),h&&"handDrawn"!==t.look&&v.selectAll("path").attr("style",h),n&&"handDrawn"!==t.look&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(${c}, 0)`),a.attr("transform",`translate(${-o/2+c-(s.x-(s.left??0))},${-l/2+(t.padding??0)/2-(s.y-(s.top??0))})`),aL(t,v),t.intersect=function(e){return CL.polygon(t,d,e)},r}var oM=e(()=>{"use strict";r(),NL(),DL(),UR(),mt(sM,"generateCirclePoints"),mt(aM,"curlyBraceLeft")});function lM(t,i,n,r=100,e=0,s=180){var a=[],o=e*Math.PI/180,l=(s*Math.PI/180-o)/(r-1);for(let e=0;e<r;e++){var c=o+e*l,h=t+n*Math.cos(c),c=i+n*Math.sin(c);a.push({x:h,y:c})}return a}async function cM(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=s.width+(t.padding??0),l=s.height+(t.padding??0),c=Math.max(5,.1*l),h=t["cssStyles"],u=[...lM(o/2,-l/2,c,20,-90,0),{x:o/2+c,y:-c},...lM(o/2+2*c,-c,c,20,-180,-270),...lM(o/2+2*c,c,c,20,-90,-180),{x:o/2+c,y:l/2},...lM(o/2,l/2,c,20,0,90)],d=[{x:-o/2,y:-l/2-c},{x:o/2,y:-l/2-c},...lM(o/2,-l/2,c,20,-90,0),{x:o/2+c,y:-c},...lM(o/2+2*c,-c,c,20,-180,-270),...lM(o/2+2*c,c,c,20,-90,-180),{x:o/2+c,y:l/2},...lM(o/2,l/2,c,20,0,90),{x:o/2,y:l/2+c},{x:-o/2,y:l/2+c}],p=zR.svg(r),g=RL(t,{fill:"none"}),f=("handDrawn"!==t.look&&(g.roughness=0,g.fillStyle="solid"),tL(u).replace("Z","")),m=p.path(f,g),y=tL(d),b=p.path(y,{...g}),v=r.insert("g",":first-child");return v.insert(()=>b,":first-child").attr("stroke-opacity",0),v.insert(()=>m,":first-child"),v.attr("class","text"),h&&"handDrawn"!==t.look&&v.selectAll("path").attr("style",h),n&&"handDrawn"!==t.look&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(${-c}, 0)`),a.attr("transform",`translate(${-o/2+(t.padding??0)/2-(s.x-(s.left??0))},${-l/2+(t.padding??0)/2-(s.y-(s.top??0))})`),aL(t,v),t.intersect=function(e){return CL.polygon(t,d,e)},r}var hM=e(()=>{"use strict";r(),NL(),DL(),UR(),mt(lM,"generateCirclePoints"),mt(cM,"curlyBraceRight")});function uM(t,i,n,r=100,e=0,s=180){var a=[],o=e*Math.PI/180,l=(s*Math.PI/180-o)/(r-1);for(let e=0;e<r;e++){var c=o+e*l,h=t+n*Math.cos(c),c=i+n*Math.sin(c);a.push({x:-h,y:-c})}return a}async function dM(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=s.width+(t.padding??0),l=s.height+(t.padding??0),c=Math.max(5,.1*l),h=t["cssStyles"],u=[...uM(o/2,-l/2,c,30,-90,0),{x:-o/2-c,y:c},...uM(o/2+2*c,-c,c,20,-180,-270),...uM(o/2+2*c,c,c,20,-90,-180),{x:-o/2-c,y:-l/2},...uM(o/2,l/2,c,20,0,90)],d=[...uM(-o/2+c+c/2,-l/2,c,20,-90,-180),{x:o/2-c/2,y:c},...uM(-o/2-c/2,-c,c,20,0,90),...uM(-o/2-c/2,c,c,20,-90,0),{x:o/2-c/2,y:-c},...uM(-o/2+c+c/2,l/2,c,30,-180,-270)],p=[{x:o/2,y:-l/2-c},{x:-o/2,y:-l/2-c},...uM(o/2,-l/2,c,20,-90,0),{x:-o/2-c,y:-c},...uM(o/2+2*c,-c,c,20,-180,-270),...uM(o/2+2*c,c,c,20,-90,-180),{x:-o/2-c,y:l/2},...uM(o/2,l/2,c,20,0,90),{x:-o/2,y:l/2+c},{x:o/2-c-c/2,y:l/2+c},...uM(-o/2+c+c/2,-l/2,c,20,-90,-180),{x:o/2-c/2,y:c},...uM(-o/2-c/2,-c,c,20,0,90),...uM(-o/2-c/2,c,c,20,-90,0),{x:o/2-c/2,y:-c},...uM(-o/2+c+c/2,l/2,c,30,-180,-270)],g=zR.svg(r),f=RL(t,{fill:"none"}),m=("handDrawn"!==t.look&&(f.roughness=0,f.fillStyle="solid"),tL(u).replace("Z"," Line truncated
point:`,e,` point:`,e,`
node: node:
`,r,` `,r,`
res:`,CL.polygon(r,c,e)),CL.polygon(r,c,e)},s}var kI,TI=e(()=>{"use strict";t(),r(),NL(),DL(),UR(),XR(),kI=mt((e,t,i)=>[`M${e+i/2},`+t,`L${e+i},`+(t-i/2),`L${e+i/2},`+(t-i),`L${e},`+(t-i/2),"Z"].join(" "),"createDecisionBoxPathD"),mt(wI,"question")});async function SI(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=Math.max(s.width+(t.padding??0),t?.width??0),l=Math.max(s.height+(t.padding??0),t?.height??0),c=-o/2,h=-l/2,u=h/2,d=[{x:c+u,y:h},{x:c,y:0},{x:c+u,y:-h},{x:-c,y:-h},{x:-c,y:h}],p=t["cssStyles"],g=zR.svg(r),f=RL(t,{}),m=("handDrawn"!==t.look&&(f.roughness=0,f.fillStyle="solid"),tL(d)),y=g.path(m,f),b=r.insert(()=>y,":first-child");return b.attr("class","basic label-container"),p&&"handDrawn"!==t.look&&b.selectAll("path").attr("style",p),n&&"handDrawn"!==t.look&&b.selectAll("path").attr("style",n),b.attr("transform",`translate(${-u/2},0)`),a.attr("transform",`translate(${-u/2-s.width/2-(s.x-(s.left??0))}, ${-s.height/2-(s.y-(s.top??0))})`),aL(t,b),t.intersect=function(e){return CL.polygon(t,d,e)},r}var CI=e(()=>{"use strict";r(),NL(),DL(),UR(),mt(SI,"rect_left_inv_arrow")});function _I(e,t){t&&e.attr("style",t)}async function AI(e){let t=V(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),i=t.append("xhtml:div"),n=e.label;e.label&&Jc(e.label)&&(n=await th(e.label.replace($.lineBreakRegex,` res:`,CL.polygon(r,c,e)),CL.polygon(r,c,e)},s}var kI,TI=e(()=>{"use strict";t(),r(),NL(),DL(),UR(),XR(),kI=mt((e,t,i)=>[`M${e+i/2},`+t,`L${e+i},`+(t-i/2),`L${e+i/2},`+(t-i),`L${e},`+(t-i/2),"Z"].join(" "),"createDecisionBoxPathD"),mt(wI,"question")});async function SI(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=Math.max(s.width+(t.padding??0),t?.width??0),l=Math.max(s.height+(t.padding??0),t?.height??0),c=-o/2,h=-l/2,u=h/2,d=[{x:c+u,y:h},{x:c,y:0},{x:c+u,y:-h},{x:-c,y:-h},{x:-c,y:h}],p=t["cssStyles"],g=zR.svg(r),f=RL(t,{}),m=("handDrawn"!==t.look&&(f.roughness=0,f.fillStyle="solid"),tL(d)),y=g.path(m,f),b=r.insert(()=>y,":first-child");return b.attr("class","basic label-container"),p&&"handDrawn"!==t.look&&b.selectAll("path").attr("style",p),n&&"handDrawn"!==t.look&&b.selectAll("path").attr("style",n),b.attr("transform",`translate(${-u/2},0)`),a.attr("transform",`translate(${-u/2-s.width/2-(s.x-(s.left??0))}, ${-s.height/2-(s.y-(s.top??0))})`),aL(t,b),t.intersect=function(e){return CL.polygon(t,d,e)},r}var CI=e(()=>{"use strict";r(),NL(),DL(),UR(),mt(SI,"rect_left_inv_arrow")});function _I(e,t){t&&e.attr("style",t)}async function AI(e){let t=V(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),i=t.append("xhtml:div"),n=e.label;e.label&&Jc(e.label)&&(n=await th(e.label.replace($.lineBreakRegex,`
`),N()));var r=e.isNode?"nodeLabel":"edgeLabel";return i.html('<span class="'+r+'" '+(e.labelStyle?'style="'+e.labelStyle+'"':"")+">"+n+"</span>"),_I(i,e.labelStyle),i.style("display","inline-block"),i.style("padding-right","1px"),i.style("white-space","nowrap"),i.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}var EI,$I,LI=e(()=>{"use strict";a6(),t(),_u(),hh(),s_(),mt(_I,"applyStyle"),mt(AI,"addHtmlLabel"),EI=mt(async(e,t,i,n)=>{let r=e||"";if("object"==typeof r&&(r=r[0]),qc(N().flowchart.htmlLabels))return r=r.replace(/\\n|\n/g,"<br />"),I.info("vertexText"+r),AI({isNode:n,label:n_(r).replace(/fa[blrs]?:fa-[\w-]+/g,e=>`<i class='${e.replace(":"," ")}'></i>`),labelStyle:t&&t.replace("fill:","color:")});{var s,a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",t.replace("color:","fill:"));let e=[];for(s of e="string"==typeof r?r.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(r)?r:[]){var o=document.createElementNS("http://www.w3.org/2000/svg","tspan");o.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),o.setAttribute("dy","1em"),o.setAttribute("x","0"),i?o.setAttribute("class","title-row"):o.setAttribute("class","row"),o.textContent=s.trim(),a.appendChild(o)}return a}},"createLabel"),$I=EI});async function RI(r,s){var{labelStyles:e,nodeStyles:t}=LL(s);s.labelStyle=e;let i,a=(i=s.cssClasses?"node "+s.cssClasses:"node default",r.insert("g").attr("class",i).attr("id",s.domId||s.id)),n=a.insert("g"),o=a.insert("g").attr("class","label").attr("style",t),l=s.description,c=s.label,h=o.node().appendChild(await $I(c,s.labelStyle,!0,!0)),u={width:0,height:0};qc(N()?.flowchart?.htmlLabels)&&(e=h.children[0],r=V(h),u=e.getBoundingClientRect(),r.attr("width",u.width),r.attr("height",u.height)),I.info("Text 2",l);var e=l||[],r=h.getBBox(),e=o.node().appendChild(await $I(e.join?e.join("<br/>"):e,s.labelStyle,!0,!0)),d=e.children[0],p=V(e),d=(u=d.getBoundingClientRect(),p.attr("width",u.width),p.attr("height",u.height),(s.padding||0)/2);V(e).attr("transform","translate( "+(u.width>r.width?0:(r.width-u.width)/2)+", "+(r.height+d+5)+")"),V(h).attr("transform","translate( "+(u.width<r.width?0:-(r.width-u.width)/2)+", 0)"),u=o.node().getBBox(),o.attr("transform","translate("+-u.width/2+", "+(-u.height/2-d+3)+")");let g=u.width+(s.padding||0),f=u.height+(s.padding||0),m=-u.width/2-d,y=-u.height/2-d,b,v;if("handDrawn"===s.look){let e=zR.svg(a),t=RL(s,{}),i=e.path(zM(m,y,g,f,s.rx||0),t),n=e.line(-u.width/2-d,-u.height/2-d+r.height+d,u.width/2+d,-u.height/2-d+r.height+d,t);v=a.insert(()=>(I.debug("Rough node insert CXC",i),n),":first-child"),b=a.insert(()=>(I.debug("Rough node insert CXC",i),i),":first-child")}else b=n.insert("rect",":first-child"),v=n.insert("line"),b.attr("class","outer title-state").attr("style",t).attr("x",-u.width/2-d).attr("y",-u.height/2-d).attr("width",u.width+(s.padding||0)).attr("height",u.height+(s.padding||0)),v.attr("class","divider").attr("x1",-u.width/2-d).attr("x2",u.width/2+d).attr("y1",-u.height/2-d+r.height+d).attr("y2",-u.height/2-d+r.height+d);return aL(s,b),s.intersect=function(e){return CL.rect(s,e)},a}var MI=e(()=>{"use strict";a6(),hh(),r(),LI(),NL(),DL(),UR(),_u(),HM(),t(),mt(RI,"rectWithTitle")});async function II(e,t){return QM(e,t,{rx:5,ry:5,classes:"",labelPaddingX:+(t?.padding||0),labelPaddingY:+(t?.padding||0)})}var NI=e(()=>{"use strict";JM(),mt(II,"roundedRect")});async function DI(e,t){var{labelStyles:i,nodeStyles:n}=LL(t),{shapeSvg:i,bbox:e,label:r}=(t.labelStyle=i,await rL(e,t,oL(t))),s=t?.padding??0,a=Math.max(e.width+2*(t.padding??0),t?.width??0),o=Math.max(e.height+2*(t.padding??0),t?.height??0),l=-e.width/2-s,s=-e.height/2-s,c=t["cssStyles"],h=zR.svg(i),u=RL(t,{});"handDrawn"!==t.look&&(u.roughness=0,u.fillStyle="solid");let d=[{x:l,y:s},{x:l+a+8,y:s},{x:l+a+8,y:s+o},{x:l-8,y:s+o},{x:l-8,y:s},{x:l,y:s},{x:l,y:s+o}],p=h.polygon(d.map(e=>[e.x,e.y]),u),g=i.insert(()=>p,":first-child");return g.attr("class","basic label-container").attr("style",$C(c)),n&&"handDrawn"!==t.look&&g.selectAll("path").attr("style",n),c&&"handDrawn"!==t.look&&g.selectAll("path").attr("style",n),r.attr("transform",`translate(${-a/2+4+(t.padding??0)-(e.x-(e.left??0))},${-o/2+(t.padding??0)-(e.y-(e.top??0))})`),aL(t,g),t.intersect=function(e){return CL.rect(t,e)},i}var OI=e(()=>{"use strict";r(),NL(),DL(),UR(),s_(),mt(DI,"shadedProcess")});async function PI(e,t){var{labelStyles:i,nodeStyles:n}=LL(t),{shapeSvg:i,bbox:e,label:r}=(t.labelStyle=i,await rL(e,t,oL(t))),s=Math.max(e.width+2*(t.padding??0),t?.width??0),a=Math.max(e.height+2*(t.padding??0),t?.height??0),o=-s/2,l=-a/2,c=t["cssStyles"],h=zR.svg(i),u=RL(t,{});"handDrawn"!==t.look&&(u.roughness=0,u.fillStyle="solid");let d=[{x:o,y:l},{x:o,y:l+a},{x:o+s,y:l+a},{x:o+s,y:l-a/2}],p=tL(d),g=h.path(p,u),f=i.insert(()=>g,":first-child");return f.attr("class","basic label-container"),c&&"handDrawn"!==t.look&&f.selectChildren("path").attr("style",c),n&&"handDrawn"!==t.look&&f.selectChildren(" Line truncated `),N()));var r=e.isNode?"nodeLabel":"edgeLabel";return i.html('<span class="'+r+'" '+(e.labelStyle?'style="'+e.labelStyle+'"':"")+">"+n+"</span>"),_I(i,e.labelStyle),i.style("display","inline-block"),i.style("padding-right","1px"),i.style("white-space","nowrap"),i.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}var EI,$I,LI=e(()=>{"use strict";a6(),t(),_u(),hh(),s_(),mt(_I,"applyStyle"),mt(AI,"addHtmlLabel"),EI=mt(async(e,t,i,n)=>{let r=e||"";if("object"==typeof r&&(r=r[0]),qc(N().flowchart.htmlLabels))return r=r.replace(/\\n|\n/g,"<br />"),I.info("vertexText"+r),AI({isNode:n,label:n_(r).replace(/fa[blrs]?:fa-[\w-]+/g,e=>`<i class='${e.replace(":"," ")}'></i>`),labelStyle:t&&t.replace("fill:","color:")});{var s,a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",t.replace("color:","fill:"));let e=[];for(s of e="string"==typeof r?r.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(r)?r:[]){var o=document.createElementNS("http://www.w3.org/2000/svg","tspan");o.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),o.setAttribute("dy","1em"),o.setAttribute("x","0"),i?o.setAttribute("class","title-row"):o.setAttribute("class","row"),o.textContent=s.trim(),a.appendChild(o)}return a}},"createLabel"),$I=EI});async function RI(r,s){var{labelStyles:e,nodeStyles:t}=LL(s);s.labelStyle=e;let i,a=(i=s.cssClasses?"node "+s.cssClasses:"node default",r.insert("g").attr("class",i).attr("id",s.domId||s.id)),n=a.insert("g"),o=a.insert("g").attr("class","label").attr("style",t),l=s.description,c=s.label,h=o.node().appendChild(await $I(c,s.labelStyle,!0,!0)),u={width:0,height:0};qc(N()?.flowchart?.htmlLabels)&&(e=h.children[0],r=V(h),u=e.getBoundingClientRect(),r.attr("width",u.width),r.attr("height",u.height)),I.info("Text 2",l);var e=l||[],r=h.getBBox(),e=o.node().appendChild(await $I(e.join?e.join("<br/>"):e,s.labelStyle,!0,!0)),d=e.children[0],p=V(e),d=(u=d.getBoundingClientRect(),p.attr("width",u.width),p.attr("height",u.height),(s.padding||0)/2);V(e).attr("transform","translate( "+(u.width>r.width?0:(r.width-u.width)/2)+", "+(r.height+d+5)+")"),V(h).attr("transform","translate( "+(u.width<r.width?0:-(r.width-u.width)/2)+", 0)"),u=o.node().getBBox(),o.attr("transform","translate("+-u.width/2+", "+(-u.height/2-d+3)+")");let g=u.width+(s.padding||0),f=u.height+(s.padding||0),m=-u.width/2-d,y=-u.height/2-d,b,v;if("handDrawn"===s.look){let e=zR.svg(a),t=RL(s,{}),i=e.path(zM(m,y,g,f,s.rx||0),t),n=e.line(-u.width/2-d,-u.height/2-d+r.height+d,u.width/2+d,-u.height/2-d+r.height+d,t);v=a.insert(()=>(I.debug("Rough node insert CXC",i),n),":first-child"),b=a.insert(()=>(I.debug("Rough node insert CXC",i),i),":first-child")}else b=n.insert("rect",":first-child"),v=n.insert("line"),b.attr("class","outer title-state").attr("style",t).attr("x",-u.width/2-d).attr("y",-u.height/2-d).attr("width",u.width+(s.padding||0)).attr("height",u.height+(s.padding||0)),v.attr("class","divider").attr("x1",-u.width/2-d).attr("x2",u.width/2+d).attr("y1",-u.height/2-d+r.height+d).attr("y2",-u.height/2-d+r.height+d);return aL(s,b),s.intersect=function(e){return CL.rect(s,e)},a}var MI=e(()=>{"use strict";a6(),hh(),r(),LI(),NL(),DL(),UR(),_u(),HM(),t(),mt(RI,"rectWithTitle")});async function II(e,t){return ZM(e,t,{rx:5,ry:5,classes:"",labelPaddingX:+(t?.padding||0),labelPaddingY:+(t?.padding||0)})}var NI=e(()=>{"use strict";JM(),mt(II,"roundedRect")});async function DI(e,t){var{labelStyles:i,nodeStyles:n}=LL(t),{shapeSvg:i,bbox:e,label:r}=(t.labelStyle=i,await rL(e,t,oL(t))),s=t?.padding??0,a=Math.max(e.width+2*(t.padding??0),t?.width??0),o=Math.max(e.height+2*(t.padding??0),t?.height??0),l=-e.width/2-s,s=-e.height/2-s,c=t["cssStyles"],h=zR.svg(i),u=RL(t,{});"handDrawn"!==t.look&&(u.roughness=0,u.fillStyle="solid");let d=[{x:l,y:s},{x:l+a+8,y:s},{x:l+a+8,y:s+o},{x:l-8,y:s+o},{x:l-8,y:s},{x:l,y:s},{x:l,y:s+o}],p=h.polygon(d.map(e=>[e.x,e.y]),u),g=i.insert(()=>p,":first-child");return g.attr("class","basic label-container").attr("style",$C(c)),n&&"handDrawn"!==t.look&&g.selectAll("path").attr("style",n),c&&"handDrawn"!==t.look&&g.selectAll("path").attr("style",n),r.attr("transform",`translate(${-a/2+4+(t.padding??0)-(e.x-(e.left??0))},${-o/2+(t.padding??0)-(e.y-(e.top??0))})`),aL(t,g),t.intersect=function(e){return CL.rect(t,e)},i}var OI=e(()=>{"use strict";r(),NL(),DL(),UR(),s_(),mt(DI,"shadedProcess")});async function PI(e,t){var{labelStyles:i,nodeStyles:n}=LL(t),{shapeSvg:i,bbox:e,label:r}=(t.labelStyle=i,await rL(e,t,oL(t))),s=Math.max(e.width+2*(t.padding??0),t?.width??0),a=Math.max(e.height+2*(t.padding??0),t?.height??0),o=-s/2,l=-a/2,c=t["cssStyles"],h=zR.svg(i),u=RL(t,{});"handDrawn"!==t.look&&(u.roughness=0,u.fillStyle="solid");let d=[{x:o,y:l},{x:o,y:l+a},{x:o+s,y:l+a},{x:o+s,y:l-a/2}],p=tL(d),g=h.path(p,u),f=i.insert(()=>g,":first-child");return f.attr("class","basic label-container"),c&&"handDrawn"!==t.look&&f.selectChildren("path").attr("style",c),n&&"handDrawn"!==t.look&&f.selectChildren(" Line truncated
a${r},${s} 0,0,1 0,${-n} a${r},${s} 0,0,1 0,${-n}
l${i},0 l${i},0
a${r},${s} 0,0,1 0,${n} a${r},${s} 0,0,1 0,${n}
@@ -462,7 +462,7 @@ res:`,CL.polygon(r,c,e)),CL.polygon(r,c,e)},s}var kI,TI=e(()=>{"use strict";t(),
a${r},${s} 0,0,0 0,${n} a${r},${s} 0,0,0 0,${n}
l${-i},0`,"createCylinderPathD"),sN=mt((e,t,i,n,r,s)=>[`M${e},`+t,`M${e+i},`+t,`a${r},${s} 0,0,0 0,`+-n,`l${-i},0`,`a${r},${s} 0,0,0 0,`+n,`l${i},0`].join(" "),"createOuterCylinderPathD"),aN=mt((e,t,i,n,r,s)=>[`M${e+i/2},`+-n/2,`a${r},${s} 0,0,0 0,`+n].join(" "),"createInnerCylinderPathD"),mt(nN,"tiltedCylinder")});async function lN(e,r){var{labelStyles:t,nodeStyles:i}=LL(r);r.labelStyle=t;let{shapeSvg:s,bbox:n}=await rL(e,r,oL(r)),a=n.width+r.padding,o=n.height+r.padding,l=[{x:-3*o/6,y:0},{x:a+3*o/6,y:0},{x:a,y:-o},{x:0,y:-o}],c,h=r["cssStyles"];if("handDrawn"===r.look){let e=zR.svg(s),t=RL(r,{}),i=tL(l),n=e.path(i,t);c=s.insert(()=>n,":first-child").attr("transform",`translate(${-a/2}, ${o/2})`),h&&c.attr("style",h)}else c=YR(s,a,o,l);return i&&c.attr("style",i),r.width=a,r.height=o,aL(r,c),r.intersect=function(e){return CL.polygon(r,l,e)},s}var cN=e(()=>{"use strict";r(),NL(),DL(),UR(),XR(),mt(lN,"trapezoid")});async function hN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t),{shapeSvg:i,bbox:e}=(t.labelStyle=i,await rL(e,t,oL(t))),r=Math.max(60,e.width+2*(t.padding??0),t?.width??0),e=Math.max(20,e.height+2*(t.padding??0),t?.height??0),s=t["cssStyles"],a=zR.svg(i),o=RL(t,{});"handDrawn"!==t.look&&(o.roughness=0,o.fillStyle="solid");let l=[{x:-r/2*.8,y:-e/2},{x:r/2*.8,y:-e/2},{x:r/2,y:-e/2*.6},{x:r/2,y:e/2},{x:-r/2,y:e/2},{x:-r/2,y:-e/2*.6}],c=tL(l),h=a.path(c,o),u=i.insert(()=>h,":first-child");return u.attr("class","basic label-container"),s&&"handDrawn"!==t.look&&u.selectChildren("path").attr("style",s),n&&"handDrawn"!==t.look&&u.selectChildren("path").attr("style",n),aL(t,u),t.intersect=function(e){return CL.polygon(t,l,e)},i}var uN=e(()=>{"use strict";r(),NL(),DL(),UR(),mt(hN,"trapezoidalPentagon")});async function dN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=qc(N().flowchart?.htmlLabels),l=s.width+(t.padding??0),c=l+s.height,h=l+s.height,u=[{x:0,y:0},{x:h,y:0},{x:h/2,y:-c}],d=t["cssStyles"],p=zR.svg(r),g=RL(t,{}),f=("handDrawn"!==t.look&&(g.roughness=0,g.fillStyle="solid"),tL(u)),m=p.path(f,g),y=r.insert(()=>m,":first-child").attr("transform",`translate(${-c/2}, ${c/2})`);return d&&"handDrawn"!==t.look&&y.selectChildren("path").attr("style",d),n&&"handDrawn"!==t.look&&y.selectChildren("path").attr("style",n),t.width=l,t.height=c,aL(t,y),a.attr("transform",`translate(${-s.width/2-(s.x-(s.left??0))}, ${c/2-(s.height+(t.padding??0)/(o?2:1)-(s.y-(s.top??0)))})`),t.intersect=function(e){return I.info("Triangle intersect",t,u,e),CL.polygon(t,u,e)},r}var pN=e(()=>{"use strict";t(),r(),NL(),DL(),UR(),r(),hh(),_u(),mt(dN,"triangle")});async function gN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t),{shapeSvg:i,bbox:e,label:r}=(t.labelStyle=i,await rL(e,t,oL(t))),s=Math.max(e.width+2*(t.padding??0),t?.width??0),a=Math.max(e.height+2*(t.padding??0),t?.height??0),o=a/8,l=a+o,c=t["cssStyles"],h=70-s,h=0<h?h/2:0,u=zR.svg(i),d=RL(t,{});"handDrawn"!==t.look&&(d.roughness=0,d.fillStyle="solid");let p=[{x:-s/2-h,y:l/2},...iL(-s/2-h,l/2,s/2+h,l/2,o,.8),{x:s/2+h,y:-l/2},{x:-s/2-h,y:-l/2}],g=tL(p),f=u.path(g,d),m=i.insert(()=>f,":first-child");return m.attr("class","basic label-container"),c&&"handDrawn"!==t.look&&m.selectAll("path").attr("style",c),n&&"handDrawn"!==t.look&&m.selectAll("path").attr("style",n),m.attr("transform",`translate(0,${-o/2})`),r.attr("transform",`translate(${-s/2+(t.padding??0)-(e.x-(e.left??0))},${-a/2+(t.padding??0)-o-(e.y-(e.top??0))})`),aL(t,m),t.intersect=function(e){return CL.polygon(t,p,e)},i}var fN=e(()=>{"use strict";r(),NL(),UR(),DL(),mt(gN,"waveEdgedRectangle")});async function mN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s}=await rL(e,t,oL(t)),a=Math.max(s.width+2*(t.padding??0),t?.width??0),o=Math.max(s.height+2*(t.padding??0),t?.height??0),l=a/o,c=a,h=o;c>h*l?h=c/l:c=h*l,c=Math.max(c,100),h=Math.max(h,50);var i=Math.min(.2*h,h/4),e=h+2*i,u=t["cssStyles"],d=zR.svg(r),p=RL(t,{});"handDrawn"!==t.look&&(p.roughness=0,p.fillStyle="solid");let g=[{x:-c/2,y:e/2},...iL(-c/2,e/2,c/2,e/2,i,1),{x:c/2,y:-e/2},...iL(c/2,-e/2,-c/2,-e/2,i,-1)],f=tL(g),m=d.path(f,p),y=r.insert(()=>m,":first-child");return y.attr("class","basic label-container"),u&&"handDrawn"!==t.look&&y.selectAll("path").attr("style",u),n&&"handDrawn"!==t.look&&y.selectAll("path").attr("style",n),aL(t,y),t.intersect=function(e){return CL.polygon(t,g,e)},r}var yN=e(()=>{"use strict";r(),NL(),DL(),UR(),mt(mN,"waveRectangle")});async function bN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=Math.max(s.width+2*(t.padding??0),t?.width??0),l=Math.max(s.height+2*(t.padding??0),t?.height??0),c=-o/2,h=-l/2,u=t["cssStyles"],d=zR.svg(r),p=RL(t,{}),g=[{x:c-5,y:h-5},{x:c-5,y:h+l},{x:c+o,y:h+l},{x:c+o,y:h-5}],f=`M${c-5},${h-5} L${c+o},${h-5} L${c+o},${h+l} L${c-5},${h+l} L${c-5},${h-5} l${-i},0`,"createCylinderPathD"),sN=mt((e,t,i,n,r,s)=>[`M${e},`+t,`M${e+i},`+t,`a${r},${s} 0,0,0 0,`+-n,`l${-i},0`,`a${r},${s} 0,0,0 0,`+n,`l${i},0`].join(" "),"createOuterCylinderPathD"),aN=mt((e,t,i,n,r,s)=>[`M${e+i/2},`+-n/2,`a${r},${s} 0,0,0 0,`+n].join(" "),"createInnerCylinderPathD"),mt(nN,"tiltedCylinder")});async function lN(e,r){var{labelStyles:t,nodeStyles:i}=LL(r);r.labelStyle=t;let{shapeSvg:s,bbox:n}=await rL(e,r,oL(r)),a=n.width+r.padding,o=n.height+r.padding,l=[{x:-3*o/6,y:0},{x:a+3*o/6,y:0},{x:a,y:-o},{x:0,y:-o}],c,h=r["cssStyles"];if("handDrawn"===r.look){let e=zR.svg(s),t=RL(r,{}),i=tL(l),n=e.path(i,t);c=s.insert(()=>n,":first-child").attr("transform",`translate(${-a/2}, ${o/2})`),h&&c.attr("style",h)}else c=YR(s,a,o,l);return i&&c.attr("style",i),r.width=a,r.height=o,aL(r,c),r.intersect=function(e){return CL.polygon(r,l,e)},s}var cN=e(()=>{"use strict";r(),NL(),DL(),UR(),XR(),mt(lN,"trapezoid")});async function hN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t),{shapeSvg:i,bbox:e}=(t.labelStyle=i,await rL(e,t,oL(t))),r=Math.max(60,e.width+2*(t.padding??0),t?.width??0),e=Math.max(20,e.height+2*(t.padding??0),t?.height??0),s=t["cssStyles"],a=zR.svg(i),o=RL(t,{});"handDrawn"!==t.look&&(o.roughness=0,o.fillStyle="solid");let l=[{x:-r/2*.8,y:-e/2},{x:r/2*.8,y:-e/2},{x:r/2,y:-e/2*.6},{x:r/2,y:e/2},{x:-r/2,y:e/2},{x:-r/2,y:-e/2*.6}],c=tL(l),h=a.path(c,o),u=i.insert(()=>h,":first-child");return u.attr("class","basic label-container"),s&&"handDrawn"!==t.look&&u.selectChildren("path").attr("style",s),n&&"handDrawn"!==t.look&&u.selectChildren("path").attr("style",n),aL(t,u),t.intersect=function(e){return CL.polygon(t,l,e)},i}var uN=e(()=>{"use strict";r(),NL(),DL(),UR(),mt(hN,"trapezoidalPentagon")});async function dN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=qc(N().flowchart?.htmlLabels),l=s.width+(t.padding??0),c=l+s.height,h=l+s.height,u=[{x:0,y:0},{x:h,y:0},{x:h/2,y:-c}],d=t["cssStyles"],p=zR.svg(r),g=RL(t,{}),f=("handDrawn"!==t.look&&(g.roughness=0,g.fillStyle="solid"),tL(u)),m=p.path(f,g),y=r.insert(()=>m,":first-child").attr("transform",`translate(${-c/2}, ${c/2})`);return d&&"handDrawn"!==t.look&&y.selectChildren("path").attr("style",d),n&&"handDrawn"!==t.look&&y.selectChildren("path").attr("style",n),t.width=l,t.height=c,aL(t,y),a.attr("transform",`translate(${-s.width/2-(s.x-(s.left??0))}, ${c/2-(s.height+(t.padding??0)/(o?2:1)-(s.y-(s.top??0)))})`),t.intersect=function(e){return I.info("Triangle intersect",t,u,e),CL.polygon(t,u,e)},r}var pN=e(()=>{"use strict";t(),r(),NL(),DL(),UR(),r(),hh(),_u(),mt(dN,"triangle")});async function gN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t),{shapeSvg:i,bbox:e,label:r}=(t.labelStyle=i,await rL(e,t,oL(t))),s=Math.max(e.width+2*(t.padding??0),t?.width??0),a=Math.max(e.height+2*(t.padding??0),t?.height??0),o=a/8,l=a+o,c=t["cssStyles"],h=70-s,h=0<h?h/2:0,u=zR.svg(i),d=RL(t,{});"handDrawn"!==t.look&&(d.roughness=0,d.fillStyle="solid");let p=[{x:-s/2-h,y:l/2},...iL(-s/2-h,l/2,s/2+h,l/2,o,.8),{x:s/2+h,y:-l/2},{x:-s/2-h,y:-l/2}],g=tL(p),f=u.path(g,d),m=i.insert(()=>f,":first-child");return m.attr("class","basic label-container"),c&&"handDrawn"!==t.look&&m.selectAll("path").attr("style",c),n&&"handDrawn"!==t.look&&m.selectAll("path").attr("style",n),m.attr("transform",`translate(0,${-o/2})`),r.attr("transform",`translate(${-s/2+(t.padding??0)-(e.x-(e.left??0))},${-a/2+(t.padding??0)-o-(e.y-(e.top??0))})`),aL(t,m),t.intersect=function(e){return CL.polygon(t,p,e)},i}var fN=e(()=>{"use strict";r(),NL(),UR(),DL(),mt(gN,"waveEdgedRectangle")});async function mN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s}=await rL(e,t,oL(t)),a=Math.max(s.width+2*(t.padding??0),t?.width??0),o=Math.max(s.height+2*(t.padding??0),t?.height??0),l=a/o,c=a,h=o;c>h*l?h=c/l:c=h*l,c=Math.max(c,100),h=Math.max(h,50);var i=Math.min(.2*h,h/4),e=h+2*i,u=t["cssStyles"],d=zR.svg(r),p=RL(t,{});"handDrawn"!==t.look&&(p.roughness=0,p.fillStyle="solid");let g=[{x:-c/2,y:e/2},...iL(-c/2,e/2,c/2,e/2,i,1),{x:c/2,y:-e/2},...iL(c/2,-e/2,-c/2,-e/2,i,-1)],f=tL(g),m=d.path(f,p),y=r.insert(()=>m,":first-child");return y.attr("class","basic label-container"),u&&"handDrawn"!==t.look&&y.selectAll("path").attr("style",u),n&&"handDrawn"!==t.look&&y.selectAll("path").attr("style",n),aL(t,y),t.intersect=function(e){return CL.polygon(t,g,e)},r}var yN=e(()=>{"use strict";r(),NL(),DL(),UR(),mt(mN,"waveRectangle")});async function bN(e,t){var{labelStyles:i,nodeStyles:n}=LL(t);t.labelStyle=i;let{shapeSvg:r,bbox:s,label:a}=await rL(e,t,oL(t)),o=Math.max(s.width+2*(t.padding??0),t?.width??0),l=Math.max(s.height+2*(t.padding??0),t?.height??0),c=-o/2,h=-l/2,u=t["cssStyles"],d=zR.svg(r),p=RL(t,{}),g=[{x:c-5,y:h-5},{x:c-5,y:h+l},{x:c+o,y:h+l},{x:c+o,y:h-5}],f=`M${c-5},${h-5} L${c+o},${h-5} L${c+o},${h+l} L${c-5},${h+l} L${c-5},${h-5}
M${c-5},${h} L${c+o},${h} M${c-5},${h} L${c+o},${h}
M${c},${h-5} L${c},`+(h+l),m=("handDrawn"!==t.look&&(p.roughness=0,p.fillStyle="solid"),d.path(f,p)),y=r.insert(()=>m,":first-child");return y.attr("transform","translate(2.5, 2.5)"),y.attr("class","basic label-container"),u&&"handDrawn"!==t.look&&y.selectAll("path").attr("style",u),n&&"handDrawn"!==t.look&&y.selectAll("path").attr("style",n),a.attr("transform",`translate(${-s.width/2+2.5-(s.x-(s.left??0))}, ${-s.height/2+2.5-(s.y-(s.top??0))})`),aL(t,y),t.intersect=function(e){return CL.polygon(t,g,e)},r}var vN=e(()=>{"use strict";r(),DL(),UR(),NL(),mt(bN,"windowPane")});async function xN(e,t){var i,n=t,r=(n.alias&&(t.label=n.alias),"handDrawn"===t.look&&(E=Ii()["themeVariables"],E=E["background"],await xN(e,{...t,id:t.id+"-background",look:"default",cssStyles:["stroke: none","fill: "+E]})),Ii());t.useHtmlLabels=r.htmlLabels;let o=r.er?.diagramPadding??10,l=r.er?.entityPadding??6,s=t["cssStyles"],{labelStyles:a,nodeStyles:c}=LL(t);if(0===n.attributes.length&&t.label)return E={rx:0,ry:0,labelPaddingX:o,labelPaddingY:1.5*o,classes:""},_C(t.label,r)+2*E.labelPaddingX<r.er.minEntityWidth&&(t.width=r.er.minEntityWidth),E=await QM(e,t,E),qc(r.htmlLabels)||(S=(A=E.select("text")).node()?.getBBox(),A.attr("transform",`translate(${-S.width/2}, 0)`)),E;r.htmlLabels||(o*=1.25,l*=1.25);let h=oL(t),u=(h=h||"node default",e.insert("g").attr("class",h).attr("id",t.domId||t.id)),d=await wN(u,t.label??"",r,0,0,["name"],a),p=(d.height+=l,0),g=[],f=[],m=0,y=0,b=0,v=0,x=!0,w=!0;for(i of n.attributes){var k=await wN(u,i.type,r,0,p,["attribute-type"],a),O=(m=Math.max(m,k.width+o),await wN(u,i.name,r,0,p,["attribute-name"],a)),P=(y=Math.max(y,O.width+o),await wN(u,i.keys.join(),r,0,p,["attribute-keys"],a)),B=(b=Math.max(b,P.width+o),await wN(u,i.comment,r,0,p,["attribute-comment"],a)),k=(v=Math.max(v,B.width+o),Math.max(k.height,O.height,P.height,B.height)+l);f.push({yOffset:p,rowHeight:k}),p+=k}let T=4;b<=o&&(x=!1,b=0,T--),v<=o&&(w=!1,v=0,T--);var S,F,C,_,A=u.node().getBBox(),E=(0<d.width+2*o-(m+y+b+v)&&(S=d.width+2*o-(m+y+b+v),m+=S/T,y+=S/T,0<b&&(b+=S/T),0<v)&&(v+=S/T),m+y+b+v),$=zR.svg(u),L=RL(t,{});"handDrawn"!==t.look&&(L.roughness=0,L.fillStyle="solid");let j=0,R=(0<f.length&&(j=f.reduce((e,t)=>e+(t?.rowHeight??0),0)),Math.max(A.width+2*o,t?.width||0,E)),M=Math.max((j??0)+d.height,t?.height||0),I=-R/2,N=-M/2,z=(u.selectAll("g:not(:first-child)").each((e,t,i)=>{let n=V(i[t]),r=n.attr("transform"),s=0,a=0;r&&(i=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(r))&&(s=parseFloat(i[1]),a=parseFloat(i[2]),n.attr("class").includes("attribute-name")?s+=m:n.attr("class").includes("attribute-keys")?s+=m+y:n.attr("class").includes("attribute-comment")&&(s+=m+y+b)),n.attr("transform",`translate(${I+o/2+s}, ${a+N+d.height+l/2})`)}),u.select(".name").attr("transform","translate("+-d.width/2+", "+(N+l/2)+")"),$.rectangle(I,N,R,M,L)),U=u.insert(()=>z,":first-child").attr("style",s.join("")),H=Ii()["themeVariables"],{rowEven:q,rowOdd:W,nodeBorder:G}=H;g.push(0);for([F,C]of f.entries()){let e=(F+1)%2==0&&0!==C.yOffset,t=$.rectangle(I,d.height+N+C?.yOffset,R,C?.rowHeight,{...L,fill:e?q:W,stroke:G});u.insert(()=>t,"g.label").attr("style",s.join("")).attr("class","row-rect-"+(e?"even":"odd"))}let D=$.line(I,d.height+N,R+I,d.height+N,L);u.insert(()=>D).attr("class","divider"),D=$.line(m+I,d.height+N,m+I,M+N,L),u.insert(()=>D).attr("class","divider"),x&&(D=$.line(m+y+I,d.height+N,m+y+I,M+N,L),u.insert(()=>D).attr("class","divider")),w&&(D=$.line(m+y+b+I,d.height+N,m+y+b+I,M+N,L),u.insert(()=>D).attr("class","divider"));for(_ of g)D=$.line(I,d.height+N+_,R+I,d.height+N+_,L),u.insert(()=>D).attr("class","divider");return aL(t,U),c&&"handDrawn"!==t.look&&(e=c.split(";")?.filter(e=>e.includes("stroke"))?.map(e=>""+e).join("; "),u.selectAll("path").attr("style",e??""),u.selectAll(".row-rect-even path").attr("style",c)),t.intersect=function(e){return CL.rect(t,e)},u}async function wN(e,t,i,n=0,r=0,s=[],a=""){e=e.insert("g").attr("class","label "+s.join(" ")).attr("transform",`translate(${n}, ${r})`).attr("style",a),t!==Vc(t)&&(t=(t=Vc(t)).replaceAll("<","&lt;").replaceAll(">","&gt;")),s=e.node().appendChild(await J$(e,t,{width:_C(t,i)+100,style:a,useHtmlLabels:i.htmlLabels},i));if(t.includes("&lt;")||t.includes("&gt;")){let e=s.children[0];for(e.textContent=e.textContent.replaceAll("&lt;","<").replaceAll("&gt;",">");e.childNodes[0];)(e=e.childNodes[0]).textContent=e.textContent.replaceAll("&lt;","<").replaceAll("&gt;",">")}let o=s.getBBox();return qc(i.htmlLabels)&&((n=s.children[0]).style.textAlign="start",r=V(s),o=n.getBoundingClientRect(),r.attr("width",o.width),r.attr("height",o.height)),o}var kN=e(()=>{"use strict";r(),NL(),DL(),UR(),JM(),Mn(),eL(),hh(),a6(),s_(),mt(xN,"erBox"),mt(wN,"addText")});async function TN(e,t,i,n,r=i.class.padding??12){let s=n?0:3,a=e.insert("g").attr("class",oL(t)).attr("id",t.domId||t.id),o=null,l=null,c=null,h=null,u=0,d,p=0;o=a.insert("g").attr("class","annotation-group text"),0<t.annotations.length&&(n= Line truncated M${c},${h-5} L${c},`+(h+l),m=("handDrawn"!==t.look&&(p.roughness=0,p.fillStyle="solid"),d.path(f,p)),y=r.insert(()=>m,":first-child");return y.attr("transform","translate(2.5, 2.5)"),y.attr("class","basic label-container"),u&&"handDrawn"!==t.look&&y.selectAll("path").attr("style",u),n&&"handDrawn"!==t.look&&y.selectAll("path").attr("style",n),a.attr("transform",`translate(${-s.width/2+2.5-(s.x-(s.left??0))}, ${-s.height/2+2.5-(s.y-(s.top??0))})`),aL(t,y),t.intersect=function(e){return CL.polygon(t,g,e)},r}var vN=e(()=>{"use strict";r(),DL(),UR(),NL(),mt(bN,"windowPane")});async function xN(e,t){var i,n=t,r=(n.alias&&(t.label=n.alias),"handDrawn"===t.look&&(E=Ii()["themeVariables"],E=E["background"],await xN(e,{...t,id:t.id+"-background",look:"default",cssStyles:["stroke: none","fill: "+E]})),Ii());t.useHtmlLabels=r.htmlLabels;let o=r.er?.diagramPadding??10,l=r.er?.entityPadding??6,s=t["cssStyles"],{labelStyles:a,nodeStyles:c}=LL(t);if(0===n.attributes.length&&t.label)return E={rx:0,ry:0,labelPaddingX:o,labelPaddingY:1.5*o,classes:""},_C(t.label,r)+2*E.labelPaddingX<r.er.minEntityWidth&&(t.width=r.er.minEntityWidth),E=await ZM(e,t,E),qc(r.htmlLabels)||(S=(A=E.select("text")).node()?.getBBox(),A.attr("transform",`translate(${-S.width/2}, 0)`)),E;r.htmlLabels||(o*=1.25,l*=1.25);let h=oL(t),u=(h=h||"node default",e.insert("g").attr("class",h).attr("id",t.domId||t.id)),d=await wN(u,t.label??"",r,0,0,["name"],a),p=(d.height+=l,0),g=[],f=[],m=0,y=0,b=0,v=0,x=!0,w=!0;for(i of n.attributes){var k=await wN(u,i.type,r,0,p,["attribute-type"],a),O=(m=Math.max(m,k.width+o),await wN(u,i.name,r,0,p,["attribute-name"],a)),P=(y=Math.max(y,O.width+o),await wN(u,i.keys.join(),r,0,p,["attribute-keys"],a)),B=(b=Math.max(b,P.width+o),await wN(u,i.comment,r,0,p,["attribute-comment"],a)),k=(v=Math.max(v,B.width+o),Math.max(k.height,O.height,P.height,B.height)+l);f.push({yOffset:p,rowHeight:k}),p+=k}let T=4;b<=o&&(x=!1,b=0,T--),v<=o&&(w=!1,v=0,T--);var S,F,C,_,A=u.node().getBBox(),E=(0<d.width+2*o-(m+y+b+v)&&(S=d.width+2*o-(m+y+b+v),m+=S/T,y+=S/T,0<b&&(b+=S/T),0<v)&&(v+=S/T),m+y+b+v),$=zR.svg(u),L=RL(t,{});"handDrawn"!==t.look&&(L.roughness=0,L.fillStyle="solid");let j=0,R=(0<f.length&&(j=f.reduce((e,t)=>e+(t?.rowHeight??0),0)),Math.max(A.width+2*o,t?.width||0,E)),M=Math.max((j??0)+d.height,t?.height||0),I=-R/2,N=-M/2,z=(u.selectAll("g:not(:first-child)").each((e,t,i)=>{let n=V(i[t]),r=n.attr("transform"),s=0,a=0;r&&(i=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(r))&&(s=parseFloat(i[1]),a=parseFloat(i[2]),n.attr("class").includes("attribute-name")?s+=m:n.attr("class").includes("attribute-keys")?s+=m+y:n.attr("class").includes("attribute-comment")&&(s+=m+y+b)),n.attr("transform",`translate(${I+o/2+s}, ${a+N+d.height+l/2})`)}),u.select(".name").attr("transform","translate("+-d.width/2+", "+(N+l/2)+")"),$.rectangle(I,N,R,M,L)),U=u.insert(()=>z,":first-child").attr("style",s.join("")),H=Ii()["themeVariables"],{rowEven:q,rowOdd:W,nodeBorder:G}=H;g.push(0);for([F,C]of f.entries()){let e=(F+1)%2==0&&0!==C.yOffset,t=$.rectangle(I,d.height+N+C?.yOffset,R,C?.rowHeight,{...L,fill:e?q:W,stroke:G});u.insert(()=>t,"g.label").attr("style",s.join("")).attr("class","row-rect-"+(e?"even":"odd"))}let D=$.line(I,d.height+N,R+I,d.height+N,L);u.insert(()=>D).attr("class","divider"),D=$.line(m+I,d.height+N,m+I,M+N,L),u.insert(()=>D).attr("class","divider"),x&&(D=$.line(m+y+I,d.height+N,m+y+I,M+N,L),u.insert(()=>D).attr("class","divider")),w&&(D=$.line(m+y+b+I,d.height+N,m+y+b+I,M+N,L),u.insert(()=>D).attr("class","divider"));for(_ of g)D=$.line(I,d.height+N+_,R+I,d.height+N+_,L),u.insert(()=>D).attr("class","divider");return aL(t,U),c&&"handDrawn"!==t.look&&(e=c.split(";")?.filter(e=>e.includes("stroke"))?.map(e=>""+e).join("; "),u.selectAll("path").attr("style",e??""),u.selectAll(".row-rect-even path").attr("style",c)),t.intersect=function(e){return CL.rect(t,e)},u}async function wN(e,t,i,n=0,r=0,s=[],a=""){e=e.insert("g").attr("class","label "+s.join(" ")).attr("transform",`translate(${n}, ${r})`).attr("style",a),t!==Vc(t)&&(t=(t=Vc(t)).replaceAll("<","&lt;").replaceAll(">","&gt;")),s=e.node().appendChild(await J$(e,t,{width:_C(t,i)+100,style:a,useHtmlLabels:i.htmlLabels},i));if(t.includes("&lt;")||t.includes("&gt;")){let e=s.children[0];for(e.textContent=e.textContent.replaceAll("&lt;","<").replaceAll("&gt;",">");e.childNodes[0];)(e=e.childNodes[0]).textContent=e.textContent.replaceAll("&lt;","<").replaceAll("&gt;",">")}let o=s.getBBox();return qc(i.htmlLabels)&&((n=s.children[0]).style.textAlign="start",r=V(s),o=n.getBoundingClientRect(),r.attr("width",o.width),r.attr("height",o.height)),o}var kN=e(()=>{"use strict";r(),NL(),DL(),UR(),JM(),Mn(),eL(),hh(),a6(),s_(),mt(xN,"erBox"),mt(wN,"addText")});async function TN(e,t,i,n,r=i.class.padding??12){let s=n?0:3,a=e.insert("g").attr("class",oL(t)).attr("id",t.domId||t.id),o=null,l=null,c=null,h=null,u=0,d,p=0;o=a.insert("g").attr("class","annotation-group text"),0<t.annotations.length&&(n= Line truncated
`)?t+` `)?t+`
`:`{ `:`{
`+t+` `+t+`
@@ -470,22 +470,22 @@ res:`,CL.polygon(r,c,e)),CL.polygon(r,c,e)},s}var kI,TI=e(()=>{"use strict";t(),
Initialize mermaid with maxEdges set to a higher number to allow more edges. Initialize mermaid with maxEdges set to a higher number to allow more edges.
You cannot set this config via configuration inside the diagram as it is a secure config. You cannot set this config via configuration inside the diagram as it is a secure config.
You have to call mermaid.initialize.`);I.info("Pushing edge..."),this.edges.push(r)}isLinkData(e){return null!==e&&"object"==typeof e&&"id"in e&&"string"==typeof e.id}addLink(e,t,i){var n,r=this.isLinkData(i)?i.id.replace("@",""):void 0;I.info("addLink",e,t,r);for(n of e)for(var s of t){var a=n===e[e.length-1],o=s===t[0];a&&o?this.addSingleLink(n,s,i,r):this.addSingleLink(n,s,i,void 0)}}updateLinkInterpolate(e,t){e.forEach(e=>{"default"===e?this.edges.defaultInterpolate=t:this.edges[e].interpolate=t})}updateLink(e,t){e.forEach(e=>{if("number"==typeof e&&e>=this.edges.length)throw new Error(`The index ${e} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===e?this.edges.defaultStyle=t:(this.edges[e].style=t,0<(this.edges[e]?.style?.length??0)&&!this.edges[e]?.style?.some(e=>e?.startsWith("fill"))&&this.edges[e]?.style?.push("fill:none"))})}addClass(e,t){let n=t.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(e=>{let i=this.classes.get(e);void 0===i&&(i={id:e,styles:[],textStyles:[]},this.classes.set(e,i)),n?.forEach(e=>{var t;/color/.exec(e)&&(t=e.replace("fill","bgFill"),i.textStyles.push(t)),i.styles.push(e)})})}setDirection(e){this.direction=e,/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),"TD"===this.direction&&(this.direction="TB")}setClass(e,i){for(let t of e.split(",")){var n=this.vertices.get(t),n=(n&&n.classes.push(i),this.edges.find(e=>e.id===t)),n=(n&&n.classes.push(i),this.subGraphLookup.get(t));n&&n.classes.push(i)}}setTooltip(e,t){if(void 0!==t){t=this.sanitizeText(t);for(var i of e.split(","))this.tooltips.set("gen-1"===this.version?this.lookUpDomId(i):i,t)}}setClickFun(e,t,n){let r=this.lookUpDomId(e);if("loose"===N().securityLevel&&void 0!==t){let i=[];if("string"==typeof n){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<i.length;t++){let e=i[t].trim();e.startsWith('"')&&e.endsWith('"')&&(e=e.substr(1,e.length-2)),i[t]=e}}0===i.length&&i.push(e);n=this.vertices.get(e);n&&(n.haveCallback=!0,this.funs.push(()=>{var e=document.querySelector(`[id="${r}"]`);null!==e&&e.addEventListener("click",()=>{t_.runFunc(t,...i)},!1)}))}}setLink(e,t,i){e.split(",").forEach(e=>{e=this.vertices.get(e);void 0!==e&&(e.link=t_.formatUrl(t,this.config),e.linkTarget=i)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,t,i){e.split(",").forEach(e=>{this.setClickFun(e,t,i)}),this.setClass(e,"clickable")}bindFunctions(t){this.funs.forEach(e=>{e(t)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){let i=V(".mermaidTooltip");null===(i._groups||i)[0][0]&&(i=V("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),V(e).select("svg").selectAll("g.node").on("mouseover",e=>{var t=V(e.currentTarget);null!==t.attr("title")&&(e=e.currentTarget?.getBoundingClientRect(),i.transition().duration(200).style("opacity",".9"),i.text(t.attr("title")).style("left",window.scrollX+e.left+(e.right-e.left)/2+"px").style("top",window.scrollY+e.bottom+"px"),i.html(i.html().replace(/&lt;br\/&gt;/g,"<br/>")),t.classed("hover",!0))}).on("mouseout",e=>{i.transition().duration(500).style("opacity",0),V(e.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=N(),bh()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,t,i){let n=e.text.trim(),r=i.text;e===i&&/\s/.exec(i.text)&&(n=void 0);var e=mt(e=>{let i={boolean:{},number:{},string:{}},n=[],r;return{nodeList:e.filter(function(e){var t=typeof e;return e.stmt&&"dir"===e.stmt?(r=e.value,!1):""!==e.trim()&&(t in i?!i[t].hasOwnProperty(e)&&(i[t][e]=!0):!n.includes(e)&&n.push(e))}),dir:r}},"uniq")(t.flat()),s=e.nodeList,t=e.dir,e=N().flowchart??{},t=t??(e.inheritDir?this.getDirection()??N().direction??void 0:void 0);if("gen-1"===this.version)for(let e=0;e<s.length;e++)s[e]=this.lookUpDomId(s[e]);n=n??"subGraph"+this.subCount,r=this.sanitizeText(r=r||""),this.subCount=this.subCount+1;e={id:n,nodes:s,title:r.trim(),classes:[],dir:t,labelType:i.type};return I.info("Adding",e.id,e.nodes,e.dir),e.nodes=this.makeUniq(e,this.subGraphs).nodes,this.subGraphs.push(e),this.subGraphLookup.set(n,e),n}getPosForId(e){for(var[t,i]of this.subGraphs.entries())if(i.id===e)return t;return-1}indexNodes2(e,t){var i=this.subGraphs[t].nodes;if(this.secCount=this.secCount+1,2e3< Line truncated You have to call mermaid.initialize.`);I.info("Pushing edge..."),this.edges.push(r)}isLinkData(e){return null!==e&&"object"==typeof e&&"id"in e&&"string"==typeof e.id}addLink(e,t,i){var n,r=this.isLinkData(i)?i.id.replace("@",""):void 0;I.info("addLink",e,t,r);for(n of e)for(var s of t){var a=n===e[e.length-1],o=s===t[0];a&&o?this.addSingleLink(n,s,i,r):this.addSingleLink(n,s,i,void 0)}}updateLinkInterpolate(e,t){e.forEach(e=>{"default"===e?this.edges.defaultInterpolate=t:this.edges[e].interpolate=t})}updateLink(e,t){e.forEach(e=>{if("number"==typeof e&&e>=this.edges.length)throw new Error(`The index ${e} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===e?this.edges.defaultStyle=t:(this.edges[e].style=t,0<(this.edges[e]?.style?.length??0)&&!this.edges[e]?.style?.some(e=>e?.startsWith("fill"))&&this.edges[e]?.style?.push("fill:none"))})}addClass(e,t){let n=t.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(e=>{let i=this.classes.get(e);void 0===i&&(i={id:e,styles:[],textStyles:[]},this.classes.set(e,i)),n?.forEach(e=>{var t;/color/.exec(e)&&(t=e.replace("fill","bgFill"),i.textStyles.push(t)),i.styles.push(e)})})}setDirection(e){this.direction=e,/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),"TD"===this.direction&&(this.direction="TB")}setClass(e,i){for(let t of e.split(",")){var n=this.vertices.get(t),n=(n&&n.classes.push(i),this.edges.find(e=>e.id===t)),n=(n&&n.classes.push(i),this.subGraphLookup.get(t));n&&n.classes.push(i)}}setTooltip(e,t){if(void 0!==t){t=this.sanitizeText(t);for(var i of e.split(","))this.tooltips.set("gen-1"===this.version?this.lookUpDomId(i):i,t)}}setClickFun(e,t,n){let r=this.lookUpDomId(e);if("loose"===N().securityLevel&&void 0!==t){let i=[];if("string"==typeof n){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<i.length;t++){let e=i[t].trim();e.startsWith('"')&&e.endsWith('"')&&(e=e.substr(1,e.length-2)),i[t]=e}}0===i.length&&i.push(e);n=this.vertices.get(e);n&&(n.haveCallback=!0,this.funs.push(()=>{var e=document.querySelector(`[id="${r}"]`);null!==e&&e.addEventListener("click",()=>{t_.runFunc(t,...i)},!1)}))}}setLink(e,t,i){e.split(",").forEach(e=>{e=this.vertices.get(e);void 0!==e&&(e.link=t_.formatUrl(t,this.config),e.linkTarget=i)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,t,i){e.split(",").forEach(e=>{this.setClickFun(e,t,i)}),this.setClass(e,"clickable")}bindFunctions(t){this.funs.forEach(e=>{e(t)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){let i=V(".mermaidTooltip");null===(i._groups||i)[0][0]&&(i=V("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),V(e).select("svg").selectAll("g.node").on("mouseover",e=>{var t=V(e.currentTarget);null!==t.attr("title")&&(e=e.currentTarget?.getBoundingClientRect(),i.transition().duration(200).style("opacity",".9"),i.text(t.attr("title")).style("left",window.scrollX+e.left+(e.right-e.left)/2+"px").style("top",window.scrollY+e.bottom+"px"),i.html(i.html().replace(/&lt;br\/&gt;/g,"<br/>")),t.classed("hover",!0))}).on("mouseout",e=>{i.transition().duration(500).style("opacity",0),V(e.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=N(),bh()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,t,i){let n=e.text.trim(),r=i.text;e===i&&/\s/.exec(i.text)&&(n=void 0);var e=mt(e=>{let i={boolean:{},number:{},string:{}},n=[],r;return{nodeList:e.filter(function(e){var t=typeof e;return e.stmt&&"dir"===e.stmt?(r=e.value,!1):""!==e.trim()&&(t in i?!i[t].hasOwnProperty(e)&&(i[t][e]=!0):!n.includes(e)&&n.push(e))}),dir:r}},"uniq")(t.flat()),s=e.nodeList,t=e.dir,e=N().flowchart??{},t=t??(e.inheritDir?this.getDirection()??N().direction??void 0:void 0);if("gen-1"===this.version)for(let e=0;e<s.length;e++)s[e]=this.lookUpDomId(s[e]);n=n??"subGraph"+this.subCount,r=this.sanitizeText(r=r||""),this.subCount=this.subCount+1;e={id:n,nodes:s,title:r.trim(),classes:[],dir:t,labelType:i.type};return I.info("Adding",e.id,e.nodes,e.dir),e.nodes=this.makeUniq(e,this.subGraphs).nodes,this.subGraphs.push(e),this.subGraphLookup.set(n,e),n}getPosForId(e){for(var[t,i]of this.subGraphs.entries())if(i.id===e)return t;return-1}indexNodes2(e,t){var i=this.subGraphs[t].nodes;if(this.secCount=this.secCount+1,2e3< Line truncated
outsidePoint: ${JSON.stringify(n)} outsidePoint: ${JSON.stringify(n)}
insidePoint : ${JSON.stringify(r)} insidePoint : ${JSON.stringify(r)}
node : x:${e.x} y:${e.y} w:${e.width} h:`+e.height);let s=e.x,t=e.y,i=Math.abs(s-r.x),a=e.width/2,o=r.x<n.x?a-i:a+i,l=e.height/2,c=Math.abs(n.y-r.y),h=Math.abs(n.x-r.x);var u;if(Math.abs(t-n.y)*a>Math.abs(s-n.x)*l)return e=r.y<n.y?n.y-l-t:t-l-n.y,o=h*e/c,u={x:r.x<n.x?r.x+o:r.x-h+o,y:r.y<n.y?r.y+c-e:r.y-c+e},0===o&&(u.x=n.x,u.y=n.y),0===h&&(u.x=n.x),0===c&&(u.y=n.y),I.debug(`abc89 top/bottom calc, Q ${c}, q ${e}, R ${h}, r `+o,u),u;{let e=c*(o=r.x<n.x?n.x-a-s:s-a-n.x)/h,t=r.x<n.x?r.x+h-o:r.x-h+o,i=r.y<n.y?r.y+e:r.y-e;return I.debug(`sides calc abc89, Q ${c}, q ${e}, R ${h}, r `+o,{_x:t,_y:i}),0===o&&(t=n.x,i=n.y),0===h&&(t=n.x),0===c&&(i=n.y),{x:t,y:i}}},"intersection"),xD=mt((e,n)=>{I.warn("abc88 cutPathAtIntersect",e,n);let r=[],s=e[0],a=!1;return e.forEach(e=>{if(I.info("abc88 checking point",e,n),bD(n,e)||a)I.warn("abc88 outside",e,s),s=e,a||r.push(e);else{let t=vD(n,s,e),i=(I.debug("abc88 inside",e,s,t),I.debug("abc88 intersection",t,n),!1);r.forEach(e=>{i=i||e.x===t.x&&e.y===t.y}),r.some(e=>e.x===t.x&&e.y===t.y)?I.warn("abc88 no intersect",t,r):r.push(t),a=!0}}),I.debug("returning points",r),r},"cutPathAtIntersect"),mt(uD,"extractCornerPoints"),wD=mt(function(e,t,i){var n=t.x-e.x,e=t.y-e.y,i=i/Math.sqrt(n*n+e*e);return{x:t.x-i*n,y:t.y-i*e}},"findAdjacentPoint"),kD=mt(function(n){var e=uD(n)["cornerPointPositions"],r=[];for(let i=0;i<n.length;i++)if(e.includes(i)){var s=n[i-1],a=n[i+1],o=n[i],l=wD(s,o,5),c=wD(a,o,5),h=c.x-l.x,u=c.y-l.y;r.push(l);let e=2*Math.sqrt(2),t={x:o.x,y:o.y};10<Math.abs(a.x-s.x)&&10<=Math.abs(a.y-s.y)?(I.debug("Corner point fixing",Math.abs(a.x-s.x),Math.abs(a.y-s.y)),t=o.x===l.x?{x:h<0?l.x-5+e:l.x+5-e,y:u<0?l.y-e:l.y+e}:{x:h<0?l.x-e:l.x+e,y:u<0?l.y-5+e:l.y+5-e}):I.debug("Corner point skipping fixing",Math.abs(a.x-s.x),Math.abs(a.y-s.y)),r.push(t,c)}else r.push(n[i]);return r},"fixCorners"),TD=mt(function(n,r,e,t,s,i,a){let o=N()["handDrawnSeed"],l=r.points,c=!1,h=s;var u,s=i,d=[];for(u in r.cssCompiledStyles)$L(u)||d.push(r.cssCompiledStyles[u]);s.intersect&&h.intersect&&((l=l.slice(1,r.points.length-1)).unshift(h.intersect(l[0])),I.debug("Last point APA12",r.start,"--\x3e",r.end,l[l.length-1],s,s.intersect(l[l.length-1])),l.push(s.intersect(l[l.length-1]))),r.toCluster&&(I.info("to cluster abc88",e.get(r.toCluster)),l=xD(r.points,e.get(r.toCluster).node),c=!0),r.fromCluster&&(I.debug("from cluster abc88",e.get(r.fromCluster),JSON.stringify(l,null,2)),l=xD(l.reverse(),e.get(r.fromCluster).node).reverse(),c=!0);i=l.filter(e=>!Number.isNaN(e.y)),i=kD(i);let p=x5;switch(p=J3,r.curve){case"linear":p=J3;break;case"basis":p=x5;break;case"cardinal":p=I5;break;case"bumpX":p=d5;break;case"bumpY":p=p5;break;case"catmullRom":p=H5;break;case"monotoneX":p=ow;break;case"monotoneY":p=lw;break;case"natural":p=dw;break;case"step":p=fw;break;case"stepAfter":p=yw;break;case"stepBefore":p=mw;break;default:p=x5}let{x:g,y:f}=rD(r),m=r5().x(g).y(f).curve(p),y;switch(r.thickness){case"normal":y="edge-thickness-normal";break;case"thick":y="edge-thickness-thick";break;case"invisible":y="edge-thickness-invisible";break;default:y="edge-thickness-normal"}switch(r.pattern){case"solid":y+=" edge-pattern-solid";break;case"dotted":y+=" edge-pattern-dotted";break;case"dashed":y+=" edge-pattern-dashed";break;default:y+=" edge-pattern-solid"}let b,v=m(i),x=Array.isArray(r.style)?r.style:r.style?[r.style]:[],w=x.find(e=>e?.startsWith("stroke:"));if("handDrawn"===r.look){s=zR.svg(n),e=(Object.assign([],i),s.path(v,{roughness:.3,seed:o})),i=(y+=" transition",(b=V(e).select("path").attr("id",r.id).attr("class"," "+y+(r.classes?" "+r.classes:"")).attr("style",x?x.reduce((e,t)=>e+";"+t,""):"")).attr("d"));b.attr("d",i),n.node().appendChild(b.node())}else{let e=d.join(";"),t=x?x.reduce((e,t)=>e+t+";",""):"",i="";r.animate&&(i=" edge-animation-fast"),r.animation&&(i=" edge-animation-"+r.animation);s=e?e+";"+t+";":t;b=n.append("path").attr("d",v).attr("id",r.id).attr("class"," "+y+(r.classes?" "+r.classes:"")+(i??"")).attr("style",s),w=s.match(/stroke:([^;]+)/)?.[1]}let k="";(N().flowchart.arrowMarkerAbsolute||N().state.arrowMarkerAbsolute)&&(k=Hc(!0)),I.info("arrowTypeStart",r.arrowTypeStart),I.info("arrowTypeEnd",r.arrowTypeEnd),sD(b,r,k,a,t,w);e={};return c&&(e.updatedPath=l),e.originalPath=r.points,e},"insertEdge")}),HD=e(()=>{"use strict";t(),SD=mt((t,e,i,n)=>{e.forEach(e=>{jD[e](t,i,n)})},"insertMarkers"),CD=mt((e,t,i)=>{I.trace("Making markers for ",i),e.append("defs").append("marker").attr("id",i+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),_D=mt((e,t,i)=>{e.append("defs").append("mark Line truncated node : x:${e.x} y:${e.y} w:${e.width} h:`+e.height);let s=e.x,t=e.y,i=Math.abs(s-r.x),a=e.width/2,o=r.x<n.x?a-i:a+i,l=e.height/2,c=Math.abs(n.y-r.y),h=Math.abs(n.x-r.x);var u;if(Math.abs(t-n.y)*a>Math.abs(s-n.x)*l)return e=r.y<n.y?n.y-l-t:t-l-n.y,o=h*e/c,u={x:r.x<n.x?r.x+o:r.x-h+o,y:r.y<n.y?r.y+c-e:r.y-c+e},0===o&&(u.x=n.x,u.y=n.y),0===h&&(u.x=n.x),0===c&&(u.y=n.y),I.debug(`abc89 top/bottom calc, Q ${c}, q ${e}, R ${h}, r `+o,u),u;{let e=c*(o=r.x<n.x?n.x-a-s:s-a-n.x)/h,t=r.x<n.x?r.x+h-o:r.x-h+o,i=r.y<n.y?r.y+e:r.y-e;return I.debug(`sides calc abc89, Q ${c}, q ${e}, R ${h}, r `+o,{_x:t,_y:i}),0===o&&(t=n.x,i=n.y),0===h&&(t=n.x),0===c&&(i=n.y),{x:t,y:i}}},"intersection"),xD=mt((e,n)=>{I.warn("abc88 cutPathAtIntersect",e,n);let r=[],s=e[0],a=!1;return e.forEach(e=>{if(I.info("abc88 checking point",e,n),bD(n,e)||a)I.warn("abc88 outside",e,s),s=e,a||r.push(e);else{let t=vD(n,s,e),i=(I.debug("abc88 inside",e,s,t),I.debug("abc88 intersection",t,n),!1);r.forEach(e=>{i=i||e.x===t.x&&e.y===t.y}),r.some(e=>e.x===t.x&&e.y===t.y)?I.warn("abc88 no intersect",t,r):r.push(t),a=!0}}),I.debug("returning points",r),r},"cutPathAtIntersect"),mt(uD,"extractCornerPoints"),wD=mt(function(e,t,i){var n=t.x-e.x,e=t.y-e.y,i=i/Math.sqrt(n*n+e*e);return{x:t.x-i*n,y:t.y-i*e}},"findAdjacentPoint"),kD=mt(function(n){var e=uD(n)["cornerPointPositions"],r=[];for(let i=0;i<n.length;i++)if(e.includes(i)){var s=n[i-1],a=n[i+1],o=n[i],l=wD(s,o,5),c=wD(a,o,5),h=c.x-l.x,u=c.y-l.y;r.push(l);let e=2*Math.sqrt(2),t={x:o.x,y:o.y};10<Math.abs(a.x-s.x)&&10<=Math.abs(a.y-s.y)?(I.debug("Corner point fixing",Math.abs(a.x-s.x),Math.abs(a.y-s.y)),t=o.x===l.x?{x:h<0?l.x-5+e:l.x+5-e,y:u<0?l.y-e:l.y+e}:{x:h<0?l.x-e:l.x+e,y:u<0?l.y-5+e:l.y+5-e}):I.debug("Corner point skipping fixing",Math.abs(a.x-s.x),Math.abs(a.y-s.y)),r.push(t,c)}else r.push(n[i]);return r},"fixCorners"),TD=mt(function(n,r,e,t,s,i,a){let o=N()["handDrawnSeed"],l=r.points,c=!1,h=s;var u,s=i,d=[];for(u in r.cssCompiledStyles)$L(u)||d.push(r.cssCompiledStyles[u]);s.intersect&&h.intersect&&((l=l.slice(1,r.points.length-1)).unshift(h.intersect(l[0])),I.debug("Last point APA12",r.start,"--\x3e",r.end,l[l.length-1],s,s.intersect(l[l.length-1])),l.push(s.intersect(l[l.length-1]))),r.toCluster&&(I.info("to cluster abc88",e.get(r.toCluster)),l=xD(r.points,e.get(r.toCluster).node),c=!0),r.fromCluster&&(I.debug("from cluster abc88",e.get(r.fromCluster),JSON.stringify(l,null,2)),l=xD(l.reverse(),e.get(r.fromCluster).node).reverse(),c=!0);i=l.filter(e=>!Number.isNaN(e.y)),i=kD(i);let p=x5;switch(p=J3,r.curve){case"linear":p=J3;break;case"basis":p=x5;break;case"cardinal":p=I5;break;case"bumpX":p=d5;break;case"bumpY":p=p5;break;case"catmullRom":p=H5;break;case"monotoneX":p=ow;break;case"monotoneY":p=lw;break;case"natural":p=dw;break;case"step":p=fw;break;case"stepAfter":p=yw;break;case"stepBefore":p=mw;break;default:p=x5}let{x:g,y:f}=rD(r),m=r5().x(g).y(f).curve(p),y;switch(r.thickness){case"normal":y="edge-thickness-normal";break;case"thick":y="edge-thickness-thick";break;case"invisible":y="edge-thickness-invisible";break;default:y="edge-thickness-normal"}switch(r.pattern){case"solid":y+=" edge-pattern-solid";break;case"dotted":y+=" edge-pattern-dotted";break;case"dashed":y+=" edge-pattern-dashed";break;default:y+=" edge-pattern-solid"}let b,v=m(i),x=Array.isArray(r.style)?r.style:r.style?[r.style]:[],w=x.find(e=>e?.startsWith("stroke:"));if("handDrawn"===r.look){s=zR.svg(n),e=(Object.assign([],i),s.path(v,{roughness:.3,seed:o})),i=(y+=" transition",(b=V(e).select("path").attr("id",r.id).attr("class"," "+y+(r.classes?" "+r.classes:"")).attr("style",x?x.reduce((e,t)=>e+";"+t,""):"")).attr("d"));b.attr("d",i),n.node().appendChild(b.node())}else{let e=d.join(";"),t=x?x.reduce((e,t)=>e+t+";",""):"",i="";r.animate&&(i=" edge-animation-fast"),r.animation&&(i=" edge-animation-"+r.animation);s=e?e+";"+t+";":t;b=n.append("path").attr("d",v).attr("id",r.id).attr("class"," "+y+(r.classes?" "+r.classes:"")+(i??"")).attr("style",s),w=s.match(/stroke:([^;]+)/)?.[1]}let k="";(N().flowchart.arrowMarkerAbsolute||N().state.arrowMarkerAbsolute)&&(k=Hc(!0)),I.info("arrowTypeStart",r.arrowTypeStart),I.info("arrowTypeEnd",r.arrowTypeEnd),sD(b,r,k,a,t,w);e={};return c&&(e.updatedPath=l),e.originalPath=r.points,e},"insertEdge")}),HD=e(()=>{"use strict";t(),SD=mt((t,e,i,n)=>{e.forEach(e=>{jD[e](t,i,n)})},"insertMarkers"),CD=mt((e,t,i)=>{I.trace("Making markers for ",i),e.append("defs").append("marker").attr("id",i+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),_D=mt((e,t,i)=>{e.append("defs").append("mark Line truncated
L20,10 L20,10
M20,10 M20,10
L0,20`)},"requirement_arrow"),FD=mt((e,t,i)=>{e=e.append("defs").append("marker").attr("id",i+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");e.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),e.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),e.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),jD={extension:CD,composition:_D,aggregation:AD,dependency:ED,lollipop:$D,point:LD,circle:RD,cross:MD,barb:ID,only_one:ND,zero_or_one:DD,one_or_more:OD,zero_or_more:PD,requirement_arrow:BD,requirement_contains:FD},zD=SD});async function qD(t,i,n){let r,s;"rect"===i.shape&&(i.rx&&i.ry?i.shape="roundedRect":i.shape="squareRect");var a=i.shape?PN[i.shape]:void 0;if(!a)throw new Error(`No such shape: ${i.shape}. Please check your syntax.`);if(i.link){let e;"sandbox"===n.config.securityLevel?e="_top":i.linkTarget&&(e=i.linkTarget||"_blank"),r=t.insert("svg:a").attr("xlink:href",i.link).attr("target",e??null),s=await a(r,i,n)}else s=await a(t,i,n),r=s;return i.tooltip&&s.attr("title",i.tooltip),WD.set(i.id,r),i.haveCallback&&r.attr("class",r.attr("class")+" clickable"),r}var WD,GD,VD,YD,XD,KD=e(()=>{"use strict";t(),KN(),WD=new Map,mt(qD,"insertNode"),GD=mt((e,t)=>{WD.set(t.id,e)},"setNodeElem"),VD=mt(()=>{WD.clear()},"clear"),YD=mt(e=>{var t=WD.get(e.id),i=(I.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")"),e.diff||0);return e.clusterNode?t.attr("transform","translate("+(e.x+i-e.width/2)+", "+(e.y-e.height/2-8)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),i},"positionNode")}),ZD=e(()=>{"use strict";Mn(),hh(),t(),eD(),UD(),HD(),KD(),r(),s_(),XD={common:$,getConfig:Ii,insertCluster:YN,insertEdge:TD,insertEdgeLabel:mD,insertMarkers:zD,insertNode:qD,interpolateToCurve:yC,labelHelper:rL,log:I,positionEdgeLabel:yD}});function QD(e){return"symbol"==typeof e||K7(e)&&"[object Symbol]"==E6(e)}var JD,eO=e(()=>{"use strict";$6(),Z7(),mt(QD,"isSymbol"),JD=QD});function tO(e,t){for(var i=-1,n=null==e?0:e.length,r=Array(n);++i<n;)r[i]=t(e[i],i,e);return r}var iO,nO=e(()=>{"use strict";mt(tO,"arrayMap"),iO=tO});function rO(e){var t;return"string"==typeof e?e:sT(e)?iO(e,rO)+"":JD(e)?oO?oO.call(e):"":"0"==(t=e+"")&&1/e==-sO?"-0":t}var sO,aO,oO,lO,cO=e(()=>{"use strict";p6(),nO(),lT(),eO(),sO=1/0,aO=t6?t6.prototype:void 0,oO=aO?aO.toString:void 0,mt(rO,"baseToString"),lO=rO});function hO(e){for(var t=e.length;t--&&uO.test(e.charAt(t)););return t}var uO,dO,pO=e(()=>{"use strict";uO=/\s/,mt(hO,"trimmedEndIndex"),dO=hO});function gO(e){return e&&e.slice(0,dO(e)+1).replace(fO,"")}var fO,mO,yO=e(()=>{"use strict";pO(),fO=/^\s+/,mt(gO,"baseTrim"),mO=gO});function bO(e){if("number"==typeof e)return e;if(JD(e))return vO;if(R6(e)&&(t="function"==typeof e.valueOf?e.valueOf():e,e=R6(t)?t+"":t),"string"!=typeof e)return 0===e?e:+e;e=mO(e);var t=wO.test(e);return t||kO.test(e)?TO(e.slice(2),t?2:8):xO.test(e)?vO:+e}var vO,xO,wO,kO,TO,SO,CO=e(()=>{"use strict";yO(),M6(),eO(),vO=NaN,xO=/^[-+]0x[0-9a-f]+$/i,wO=/^0b[01]+$/i,kO=/^0o[0-7]+$/i,TO=parseInt,mt(bO,"toNumber"),SO=bO});function _O(e){return e?(e=SO(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}var AO,EO=e(()=>{"use strict";CO(),mt(_O,"toFinite"),AO=_O});function $O(e){var e=AO(e),t=e%1;return e==e?t?e-t:e:0}var LO,RO,MO,IO=e(()=>{"use strict";EO(),mt($O,"toInteger"),LO=$O}),NO=e(()=>{"use strict";c8(),d6(),RO=a8(Jw,"WeakMap"),MO=RO});function DO(){}var OO,PO=e(()=>{"use strict";mt(DO,"noop"),OO=DO});function BO(e,t){for(var i=-1,n=null==e?0:e.length;++i<n&&!1!==t(e[i],i,e););return e}var FO,jO=e(()=>{"use strict";mt(BO,"arrayEach"),FO=BO});function zO(e,t,i,n){for(var r=e.length,s=i+(n?1:-1);n?s--:++s<r;)if(t(e[s],s,e))return s;return-1}var UO,HO=e(()=>{"use strict";mt(zO,"baseFindIndex"),UO=zO});function qO(e){return e!=e}var WO,GO=e(()=>{"use strict";mt(qO,"baseIsNaN"),WO=qO});function VO(e,t,i){for(var n=i-1,r=e.length;++n<r;)if(e[n]===t)return n;return-1}var YO,XO=e(()=>{"use strict";mt(VO,"strictIndexOf"),YO=VO});function KO(e,t,i){return t==t?YO(e,t,i):UO(e,WO,i)}var ZO,QO=e(()=>{"use strict";HO(),GO(),XO(),mt(KO,"baseIndexOf"),ZO=KO});function JO(e,t){return!!(null==e?0:e.length)&&-1<ZO(e,t,0)}var eP,tP,iP,nP=e(()=>{"use strict";QO(),mt(JO,"arrayIncludes"),eP=JO}),rP=e(()=>{"use strict";j7(),tP=P7(Object.keys,Object),iP=tP});function sP(e){if(!q7(e))return iP(e);var t,i=[];for(t in Object(e))oP.call(e,t)&&"constructor"!=t&&i.push(t);return i}var aP,oP,lP,cP=e(()=>{"use strict";W7(),rP(),aP=Object.prototype,oP=aP.hasOwnProperty,mt(sP,"baseKeys"),lP=sP});function hP(e){return(pT(e)?fS:lP)(e)}var uP,dP,pP,gP,fP=e(()=>{"use strict";mS(),cP(),gT(),mt(hP,"keys"),uP=hP}),mP=e(()=>{"use strict";tS(),rS(),fC(),gT(),W7(),fP(),pP=Object.prototype,dP=pP.hasOwnProperty,pP=dC(function(e,t){if(q7(t)||pT(t))nS(t,uP(t),e);else for(var i in t Line truncated L0,20`)},"requirement_arrow"),FD=mt((e,t,i)=>{e=e.append("defs").append("marker").attr("id",i+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");e.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),e.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),e.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),jD={extension:CD,composition:_D,aggregation:AD,dependency:ED,lollipop:$D,point:LD,circle:RD,cross:MD,barb:ID,only_one:ND,zero_or_one:DD,one_or_more:OD,zero_or_more:PD,requirement_arrow:BD,requirement_contains:FD},zD=SD});async function qD(t,i,n){let r,s;"rect"===i.shape&&(i.rx&&i.ry?i.shape="roundedRect":i.shape="squareRect");var a=i.shape?PN[i.shape]:void 0;if(!a)throw new Error(`No such shape: ${i.shape}. Please check your syntax.`);if(i.link){let e;"sandbox"===n.config.securityLevel?e="_top":i.linkTarget&&(e=i.linkTarget||"_blank"),r=t.insert("svg:a").attr("xlink:href",i.link).attr("target",e??null),s=await a(r,i,n)}else s=await a(t,i,n),r=s;return i.tooltip&&s.attr("title",i.tooltip),WD.set(i.id,r),i.haveCallback&&r.attr("class",r.attr("class")+" clickable"),r}var WD,GD,VD,YD,XD,KD=e(()=>{"use strict";t(),KN(),WD=new Map,mt(qD,"insertNode"),GD=mt((e,t)=>{WD.set(t.id,e)},"setNodeElem"),VD=mt(()=>{WD.clear()},"clear"),YD=mt(e=>{var t=WD.get(e.id),i=(I.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")"),e.diff||0);return e.clusterNode?t.attr("transform","translate("+(e.x+i-e.width/2)+", "+(e.y-e.height/2-8)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),i},"positionNode")}),QD=e(()=>{"use strict";Mn(),hh(),t(),eD(),UD(),HD(),KD(),r(),s_(),XD={common:$,getConfig:Ii,insertCluster:YN,insertEdge:TD,insertEdgeLabel:mD,insertMarkers:zD,insertNode:qD,interpolateToCurve:yC,labelHelper:rL,log:I,positionEdgeLabel:yD}});function ZD(e){return"symbol"==typeof e||K7(e)&&"[object Symbol]"==E6(e)}var JD,eO=e(()=>{"use strict";$6(),Q7(),mt(ZD,"isSymbol"),JD=ZD});function tO(e,t){for(var i=-1,n=null==e?0:e.length,r=Array(n);++i<n;)r[i]=t(e[i],i,e);return r}var iO,nO=e(()=>{"use strict";mt(tO,"arrayMap"),iO=tO});function rO(e){var t;return"string"==typeof e?e:sT(e)?iO(e,rO)+"":JD(e)?oO?oO.call(e):"":"0"==(t=e+"")&&1/e==-sO?"-0":t}var sO,aO,oO,lO,cO=e(()=>{"use strict";p6(),nO(),lT(),eO(),sO=1/0,aO=t6?t6.prototype:void 0,oO=aO?aO.toString:void 0,mt(rO,"baseToString"),lO=rO});function hO(e){for(var t=e.length;t--&&uO.test(e.charAt(t)););return t}var uO,dO,pO=e(()=>{"use strict";uO=/\s/,mt(hO,"trimmedEndIndex"),dO=hO});function gO(e){return e&&e.slice(0,dO(e)+1).replace(fO,"")}var fO,mO,yO=e(()=>{"use strict";pO(),fO=/^\s+/,mt(gO,"baseTrim"),mO=gO});function bO(e){if("number"==typeof e)return e;if(JD(e))return vO;if(R6(e)&&(t="function"==typeof e.valueOf?e.valueOf():e,e=R6(t)?t+"":t),"string"!=typeof e)return 0===e?e:+e;e=mO(e);var t=wO.test(e);return t||kO.test(e)?TO(e.slice(2),t?2:8):xO.test(e)?vO:+e}var vO,xO,wO,kO,TO,SO,CO=e(()=>{"use strict";yO(),M6(),eO(),vO=NaN,xO=/^[-+]0x[0-9a-f]+$/i,wO=/^0b[01]+$/i,kO=/^0o[0-7]+$/i,TO=parseInt,mt(bO,"toNumber"),SO=bO});function _O(e){return e?(e=SO(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}var AO,EO=e(()=>{"use strict";CO(),mt(_O,"toFinite"),AO=_O});function $O(e){var e=AO(e),t=e%1;return e==e?t?e-t:e:0}var LO,RO,MO,IO=e(()=>{"use strict";EO(),mt($O,"toInteger"),LO=$O}),NO=e(()=>{"use strict";c8(),d6(),RO=a8(Jw,"WeakMap"),MO=RO});function DO(){}var OO,PO=e(()=>{"use strict";mt(DO,"noop"),OO=DO});function BO(e,t){for(var i=-1,n=null==e?0:e.length;++i<n&&!1!==t(e[i],i,e););return e}var FO,jO=e(()=>{"use strict";mt(BO,"arrayEach"),FO=BO});function zO(e,t,i,n){for(var r=e.length,s=i+(n?1:-1);n?s--:++s<r;)if(t(e[s],s,e))return s;return-1}var UO,HO=e(()=>{"use strict";mt(zO,"baseFindIndex"),UO=zO});function qO(e){return e!=e}var WO,GO=e(()=>{"use strict";mt(qO,"baseIsNaN"),WO=qO});function VO(e,t,i){for(var n=i-1,r=e.length;++n<r;)if(e[n]===t)return n;return-1}var YO,XO=e(()=>{"use strict";mt(VO,"strictIndexOf"),YO=VO});function KO(e,t,i){return t==t?YO(e,t,i):UO(e,WO,i)}var QO,ZO=e(()=>{"use strict";HO(),GO(),XO(),mt(KO,"baseIndexOf"),QO=KO});function JO(e,t){return!!(null==e?0:e.length)&&-1<QO(e,t,0)}var eP,tP,iP,nP=e(()=>{"use strict";ZO(),mt(JO,"arrayIncludes"),eP=JO}),rP=e(()=>{"use strict";j7(),tP=P7(Object.keys,Object),iP=tP});function sP(e){if(!q7(e))return iP(e);var t,i=[];for(t in Object(e))oP.call(e,t)&&"constructor"!=t&&i.push(t);return i}var aP,oP,lP,cP=e(()=>{"use strict";W7(),rP(),aP=Object.prototype,oP=aP.hasOwnProperty,mt(sP,"baseKeys"),lP=sP});function hP(e){return(pT(e)?fS:lP)(e)}var uP,dP,pP,gP,fP=e(()=>{"use strict";mS(),cP(),gT(),mt(hP,"keys"),uP=hP}),mP=e(()=>{"use strict";tS(),rS(),fC(),gT(),W7(),fP(),pP=Object.prototype,dP=pP.hasOwnProperty,pP=dC(function(e,t){if(q7(t)||pT(t))nS(t,uP(t),e);else for(var i in t Line truncated
Node.id = `,e,` Node.id = `,e,`
data=`,t.height,` data=`,t.height,`
Parent cluster`,o.height),r.setNode(o.id,t),r.parent(e)||(I.trace("Setting parent",e,o.id),r.setParent(e,o.id,t))),I.info("(Insert) Node XXX"+e+": "+JSON.stringify(r.node(e))),n?.clusterNode?(I.info("Cluster identified XBX",e,n.width,r.node(e)),{ranksep:t,nodesep:i}=r.graph(),n.graph.setGraph({...n.graph.graph(),ranksep:t+25,nodesep:i}),i=(t=await LK(u,n.graph,s,a,r.node(e),l)).elem,aL(n,i),n.diff=t.diff||0,I.info("New compound node after recursive render XAX",e,"width",n.width,"height",n.height),GD(i,n)):0<r.children(e).length?(I.trace("Cluster - the non recursive path XBX",e,n.id,n,n.width,"Graph:",r),I.trace(wK(n.id,r)),dK.set(n.id,{id:wK(n.id,r),node:n})):(I.trace("Node - the non recursive path XAX",e,u,r.node(e),c),await qD(u,r.node(e),{config:l,dir:c}))})),await mt(async()=>{var e=r.edges().map(async function(e){var t=r.edge(e.v,e.w,e.name);I.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),I.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(r.edge(e))),I.info("Fix",dK,"ids:",e.v,e.w,"Translating: ",dK.get(e.v),dK.get(e.w)),await mD(i,t)});await Promise.all(e)},"processEdges")(),I.info("Graph before layout:",JSON.stringify(cK(r))),I.info("############################################# XXX"),I.info("### Layout ### XXX"),I.info("############################################# XXX"),DX(r),I.info("Graph after layout:",JSON.stringify(cK(r))),0),p=jN(l)["subGraphTitleTotalMargin"];return await Promise.all(_K(r).map(async function(e){var t,i=r.node(e);I.info("Position XBX => "+e+": ("+i.x,","+i.y,") width: ",i.width," height: ",i.height),i?.clusterNode?(i.y+=p,I.info("A tainted cluster node XBX1",e,i.id,i.width,i.height,i.x,i.y,r.parent(e)),dK.get(i.id).node=i,YD(i)):0<r.children(e).length?(I.info("A pure cluster node XBX1",e,i.id,i.x,i.y,i.width,i.height,r.parent(e)),i.height+=p,r.node(i.parentId),e=i?.padding/2||0,t=i?.labelBBox?.height||0,I.debug("OffsetY",t-e||0,"labelHeight",t,"halfPadding",e),await YN(n,i),dK.get(i.id).node=i):(t=r.node(i.parentId),i.y+=p/2,I.info("A regular node XBX1 - using the padding",i.id,"parent",i.parentId,i.width,i.height,i.x,i.y,"offsetY",i.offsetY,"parent",t,t?.offsetY,i),YD(i))})),r.edges().forEach(function(e){var t=r.edge(e),i=(I.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(t),t),t.points.forEach(e=>e.y+=p/2),r.node(e.v)),e=r.node(e.w),i=TD(h,t,dK,s,i,e,a);yD(t,i)}),r.nodes().forEach(function(e){var t=r.node(e);I.info(e,t.type,t.diff),t.isGroup&&(d=t.diff)}),I.warn("Returning from recursive render XAX",e,d),{elem:e,diff:d}},"recursiveRender"),RK=mt(async(e,t)=>{let l=new VG({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.config?.flowchart?.nodeSpacing||e.nodeSpacing,ranksep:e.config?.rankSpacing||e.config?.flowchart?.rankSpacing||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),i=t.select("g");zD(i,e.markers,e.type,e.diagramId),VD(),gD(),XN(),fK(),e.nodes.forEach(e=>{l.setNode(e.id,{...e}),e.parentId&&l.setParent(e.id,e.parentId)}),I.debug("Edges:",e.edges),e.edges.forEach(e=>{var t,i,n,r,s,a,o;e.start===e.end?(i=(t=e.start)+"---"+t+"---1",n=t+"---"+t+"---2",r=l.node(t),l.setNode(i,{domId:i,id:i,parentId:r.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),l.setParent(i,r.parentId),l.setNode(n,{domId:n,id:n,parentId:r.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),l.setParent(n,r.parentId),s=structuredClone(e),a=structuredClone(e),o=structuredClone(e),s.label="",s.arrowTypeEnd="none",s.id=t+"-cyclic-special-1",a.arrowTypeStart="none",a.arrowTypeEnd="none",a.id=t+"-cyclic-special-mid",o.label="",r.isGroup&&(s.fromCluster=t,o.toCluster=t),o.id=t+"-cyclic-special-2",o.arrowTypeStart="none",l.setEdge(t,i,s,t+"-cyclic-special-0"),l.setEdge(i,n,a,t+"-cyclic-special-1"),l.setEdge(n,t,o,t+"-cyc<lic-special-2")):l.setEdge(e.start,e.end,{...e},e.id)}),I.warn("Graph at first:",JSON.stringify(cK(l))),TK(l),I.warn("Graph after XAX:",JSON.stringify(cK(l)));t=N();await LK(i,l,e.type,e.diagramId,void 0,t)},"render")}),ZK=e(()=>{"use strict";ZD(),t(),MK={},IK=mt(e=>{for(var t of e)MK[t.name]=t},"registerLayoutLoaders"),mt(()=>{IK([{name:"dagre",loader:mt(async()=>Promise.resolve().then(()=>(KK(),$K)),"loader")}])},"registerDefaultLayoutLoaders")(),NK=mt(async(e,t)=>{var i;if(e.layoutAlgorithm in MK)return(await(i=MK[e.layoutAlgorithm]).loader()).render(e,t,XD,{algorithm:i.algorithm});throw new Error("Unknown layout algorithm: "+e.layoutAlgorithm)},"render"),DK=mt((e="",{fallback:t="dagre"}={})=>{if(e in MK)return e;if(t in MK)return I.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm")}),QK=e(()=>{"use strict";uh(),t(),OK=mt((e,t,i,n)=>{e.attr("class",i);var{width:i,height:r,x:s,y:a}=PK(e,t),n=(rh(e,r,i,n),BK(s,a,i,r,t));e.attr("viewBox",n),I.debug(`viewBox configured: $Line truncated Parent cluster`,o.height),r.setNode(o.id,t),r.parent(e)||(I.trace("Setting parent",e,o.id),r.setParent(e,o.id,t))),I.info("(Insert) Node XXX"+e+": "+JSON.stringify(r.node(e))),n?.clusterNode?(I.info("Cluster identified XBX",e,n.width,r.node(e)),{ranksep:t,nodesep:i}=r.graph(),n.graph.setGraph({...n.graph.graph(),ranksep:t+25,nodesep:i}),i=(t=await LK(u,n.graph,s,a,r.node(e),l)).elem,aL(n,i),n.diff=t.diff||0,I.info("New compound node after recursive render XAX",e,"width",n.width,"height",n.height),GD(i,n)):0<r.children(e).length?(I.trace("Cluster - the non recursive path XBX",e,n.id,n,n.width,"Graph:",r),I.trace(wK(n.id,r)),dK.set(n.id,{id:wK(n.id,r),node:n})):(I.trace("Node - the non recursive path XAX",e,u,r.node(e),c),await qD(u,r.node(e),{config:l,dir:c}))})),await mt(async()=>{var e=r.edges().map(async function(e){var t=r.edge(e.v,e.w,e.name);I.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),I.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(r.edge(e))),I.info("Fix",dK,"ids:",e.v,e.w,"Translating: ",dK.get(e.v),dK.get(e.w)),await mD(i,t)});await Promise.all(e)},"processEdges")(),I.info("Graph before layout:",JSON.stringify(cK(r))),I.info("############################################# XXX"),I.info("### Layout ### XXX"),I.info("############################################# XXX"),DX(r),I.info("Graph after layout:",JSON.stringify(cK(r))),0),p=jN(l)["subGraphTitleTotalMargin"];return await Promise.all(_K(r).map(async function(e){var t,i=r.node(e);I.info("Position XBX => "+e+": ("+i.x,","+i.y,") width: ",i.width," height: ",i.height),i?.clusterNode?(i.y+=p,I.info("A tainted cluster node XBX1",e,i.id,i.width,i.height,i.x,i.y,r.parent(e)),dK.get(i.id).node=i,YD(i)):0<r.children(e).length?(I.info("A pure cluster node XBX1",e,i.id,i.x,i.y,i.width,i.height,r.parent(e)),i.height+=p,r.node(i.parentId),e=i?.padding/2||0,t=i?.labelBBox?.height||0,I.debug("OffsetY",t-e||0,"labelHeight",t,"halfPadding",e),await YN(n,i),dK.get(i.id).node=i):(t=r.node(i.parentId),i.y+=p/2,I.info("A regular node XBX1 - using the padding",i.id,"parent",i.parentId,i.width,i.height,i.x,i.y,"offsetY",i.offsetY,"parent",t,t?.offsetY,i),YD(i))})),r.edges().forEach(function(e){var t=r.edge(e),i=(I.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(t),t),t.points.forEach(e=>e.y+=p/2),r.node(e.v)),e=r.node(e.w),i=TD(h,t,dK,s,i,e,a);yD(t,i)}),r.nodes().forEach(function(e){var t=r.node(e);I.info(e,t.type,t.diff),t.isGroup&&(d=t.diff)}),I.warn("Returning from recursive render XAX",e,d),{elem:e,diff:d}},"recursiveRender"),RK=mt(async(e,t)=>{let l=new VG({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.config?.flowchart?.nodeSpacing||e.nodeSpacing,ranksep:e.config?.rankSpacing||e.config?.flowchart?.rankSpacing||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),i=t.select("g");zD(i,e.markers,e.type,e.diagramId),VD(),gD(),XN(),fK(),e.nodes.forEach(e=>{l.setNode(e.id,{...e}),e.parentId&&l.setParent(e.id,e.parentId)}),I.debug("Edges:",e.edges),e.edges.forEach(e=>{var t,i,n,r,s,a,o;e.start===e.end?(i=(t=e.start)+"---"+t+"---1",n=t+"---"+t+"---2",r=l.node(t),l.setNode(i,{domId:i,id:i,parentId:r.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),l.setParent(i,r.parentId),l.setNode(n,{domId:n,id:n,parentId:r.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),l.setParent(n,r.parentId),s=structuredClone(e),a=structuredClone(e),o=structuredClone(e),s.label="",s.arrowTypeEnd="none",s.id=t+"-cyclic-special-1",a.arrowTypeStart="none",a.arrowTypeEnd="none",a.id=t+"-cyclic-special-mid",o.label="",r.isGroup&&(s.fromCluster=t,o.toCluster=t),o.id=t+"-cyclic-special-2",o.arrowTypeStart="none",l.setEdge(t,i,s,t+"-cyclic-special-0"),l.setEdge(i,n,a,t+"-cyclic-special-1"),l.setEdge(n,t,o,t+"-cyc<lic-special-2")):l.setEdge(e.start,e.end,{...e},e.id)}),I.warn("Graph at first:",JSON.stringify(cK(l))),TK(l),I.warn("Graph after XAX:",JSON.stringify(cK(l)));t=N();await LK(i,l,e.type,e.diagramId,void 0,t)},"render")}),QK=e(()=>{"use strict";QD(),t(),MK={},IK=mt(e=>{for(var t of e)MK[t.name]=t},"registerLayoutLoaders"),mt(()=>{IK([{name:"dagre",loader:mt(async()=>Promise.resolve().then(()=>(KK(),$K)),"loader")}])},"registerDefaultLayoutLoaders")(),NK=mt(async(e,t)=>{var i;if(e.layoutAlgorithm in MK)return(await(i=MK[e.layoutAlgorithm]).loader()).render(e,t,XD,{algorithm:i.algorithm});throw new Error("Unknown layout algorithm: "+e.layoutAlgorithm)},"render"),DK=mt((e="",{fallback:t="dagre"}={})=>{if(e in MK)return e;if(t in MK)return I.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm")}),ZK=e(()=>{"use strict";uh(),t(),OK=mt((e,t,i,n)=>{e.attr("class",i);var{width:i,height:r,x:s,y:a}=PK(e,t),n=(rh(e,r,i,n),BK(s,a,i,r,t));e.attr("viewBox",n),I.debug(`viewBox configured: $Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},B={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},B={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:mt(function(e,t,i,n){switch(i){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),t.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:return t.yytext=t.yytext.replace(/\n\s*/g,"<br/>"),40;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:case 36:case 37:return e.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:case 41:case 42:case 43:return 98;case 44:return this.popState(),13;case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 78;case 60:return 105;case 61:return 111;case 62:return 46;case 63:return 60;case 64:return 44;case 65:return 8;case 66:return 106;case 67:return 115;case 68:return this.popState(),77;case 69:return this.pushState("edgeText"),75;case 70:return 119;case 71:return this.popState(),77;case 72:return this.pushState("thickEdgeText"),75;case 73:return 119;case 74:return this.popState(),77;case 75:return this.pushState("dottedEdgeText"),75;case 76:return 119;case 77:return 77;case 78:return this.popState(),53;case 79:return"TEXT";case 80:return this.pushState("ellipseText"),52;case 81:return this.popState(),55;case 82:return this.pushState("text"),54;case 83:return this.popState(),57;case 84:return this.pushState("text"),56;case 85:return 58;case 86:return this.pushState("text"),67;case 87:return this.popState(),64;case 88:return this.pushState("text"),63;case 89:return this.popState(),49;case 90:return this.pushState("text"),48;case 91:return this.popState(),69;case 92:return this.popState(),71;case 93:return 117;case 94:return this.pushState("trapText"),68;case 95:return this.pushState("trapText"),70;case 96:return 118;case 97:return 67;case 98:return 90;case 99:return"SEP";case 100:return 89;case 101:return 115;case 102:return 111;case 103:return 44;case 104:return 109;case 105:return 114;case 106:return 116;case 107:return this.popState(),62;case 108:return this.pushState("text"),62;case 109:return this.popState(),51;case 110:return this.pushState("text"),50;case 111:return this.popState(),31;case 112:return this.pushState("text"),29;case 113:return this.popState(),66;case 114:return this.pushState("text"),65;case 115:return"TEXT";case 116:return"QUOTE";case 117:return 9;case 118:return 10;case 119:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TBLine truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:mt(function(e,t,i,n){switch(i){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),t.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:return t.yytext=t.yytext.replace(/\n\s*/g,"<br/>"),40;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:case 36:case 37:return e.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:case 41:case 42:case 43:return 98;case 44:return this.popState(),13;case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 78;case 60:return 105;case 61:return 111;case 62:return 46;case 63:return 60;case 64:return 44;case 65:return 8;case 66:return 106;case 67:return 115;case 68:return this.popState(),77;case 69:return this.pushState("edgeText"),75;case 70:return 119;case 71:return this.popState(),77;case 72:return this.pushState("thickEdgeText"),75;case 73:return 119;case 74:return this.popState(),77;case 75:return this.pushState("dottedEdgeText"),75;case 76:return 119;case 77:return 77;case 78:return this.popState(),53;case 79:return"TEXT";case 80:return this.pushState("ellipseText"),52;case 81:return this.popState(),55;case 82:return this.pushState("text"),54;case 83:return this.popState(),57;case 84:return this.pushState("text"),56;case 85:return 58;case 86:return this.pushState("text"),67;case 87:return this.popState(),64;case 88:return this.pushState("text"),63;case 89:return this.popState(),49;case 90:return this.pushState("text"),48;case 91:return this.popState(),69;case 92:return this.popState(),71;case 93:return 117;case 94:return this.pushState("trapText"),68;case 95:return this.pushState("trapText"),70;case 96:return 118;case 97:return 67;case 98:return 90;case 99:return"SEP";case 100:return 89;case 101:return 115;case 102:return 111;case 103:return 44;case 104:return 109;case 105:return 114;case 106:return 116;case 107:return this.popState(),62;case 108:return this.pushState("text"),62;case 109:return this.popState(),51;case 110:return this.pushState("text"),50;case 111:return this.popState(),31;case 112:return this.pushState("text"),29;case 113:return this.popState(),66;case 114:return this.pushState("text"),65;case 115:return"TEXT";case 116:return"QUOTE";case 117:return 9;case 118:return 10;case 119:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TBLine truncated
`);return HK.parse(e)},WK=qK}),iZ=e(()=>{"use strict";GK=mt(()=>` `);return HK.parse(e)},WK=qK}),iQ=e(()=>{"use strict";GK=mt(()=>`
/* Font Awesome icon styling - consolidated */ /* Font Awesome icon styling - consolidated */
.label-icon { .label-icon {
display: inline-block; display: inline-block;
@@ -499,7 +499,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
stroke: revert; stroke: revert;
stroke-width: revert; stroke-width: revert;
} }
`,"getIconStyles")}),nZ=e(()=>{"use strict";xn(),iZ(),VK=mt((e,t)=>{var i=Ft,n=i(e,"r"),r=i(e,"g"),i=i(e,"b");return Pt(n,r,i,t)},"fade"),YK=mt(e=>`.label { `,"getIconStyles")}),nQ=e(()=>{"use strict";xn(),iQ(),VK=mt((e,t)=>{var i=Ft,n=i(e,"r"),r=i(e,"g"),i=i(e,"b");return Pt(n,r,i,t)},"fade"),YK=mt(e=>`.label {
font-family: ${e.fontFamily}; font-family: ${e.fontFamily};
color: ${e.nodeTextColor||e.textColor}; color: ${e.nodeTextColor||e.textColor};
} }
@@ -646,12 +646,12 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
text-align: center; text-align: center;
} }
${GK()} ${GK()}
`,"getStyles"),XK=YK}),rZ={};G(rZ,{diagram:()=>sZ});var sZ,aZ,oZ,lZ,cZ=e(()=>{"use strict";_u(),ZN(),JK(),tZ(),nZ(),sZ={parser:WK,get db(){return new BN},renderer:zK,styles:XK,init:mt(e=>{e.flowchart||(e.flowchart={}),e.layout&&Ah({layout:e.layout}),e.flowchart.arrowMarkerAbsolute=e.arrowMarkerAbsolute,Ah({flowchart:{arrowMarkerAbsolute:e.arrowMarkerAbsolute}})},"init")}}),hZ=e(()=>{"use strict";function e(){this.yy={}}var t,i,n,r,s,a,o,l,c,h,u,d,p,O,g,f,m,y,b,v,P,x,w,k,T,S,C,_,A,E,$,B,F,j,z,U,H,L,R,M,I,N,q,W,D;t=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),i=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,50],n=[1,10],r=[1,11],s=[1,12],a=[1,13],o=[1,20],l=[1,21],c=[1,22],h=[1,23],u=[1,24],d=[1,19],p=[1,25],O=[1,26],g=[1,18],f=[1,33],m=[1,34],y=[1,35],b=[1,36],v=[1,37],P=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,50,63,64,65,66,67],x=[1,42],w=[1,43],k=[1,52],T=[40,50,68,69],S=[1,63],C=[1,61],_=[1,58],A=[1,62],E=[1,64],$=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,63,64,65,66,67],B=[63,64,65,66,67],F=[1,81],j=[1,80],z=[1,78],U=[1,79],H=[6,10,42,47],L=[6,10,13,41,42,47,48,49],R=[1,89],M=[1,88],I=[1,87],N=[19,56],q=[1,98],W=[1,97],D=[19,56,58,60],n={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,attribute:51,attributeType:52,attributeName:53,attributeKeyTypeList:54,attributeComment:55,ATTRIBUTE_WORD:56,attributeKeyType:57,",":58,ATTRIBUTE_KEY:59,COMMENT:60,cardinality:61,relType:62,ZERO_OR_ONE:63,ZERO_OR_MORE:64,ONE_OR_MORE:65,ONLY_ONE:66,MD_PARENT:67,NON_IDENTIFYING:68,IDENTIFYING:69,WORD:70,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",56:"ATTRIBUTE_WORD",58:",",59:"ATTRIBUTE_KEY",60:"COMMENT",63:"ZERO_OR_ONE",64:"ZERO_OR_MORE",65:"ONE_OR_MORE",66:"ONLY_ONE",67:"MD_PARENT",68:"NON_IDENTIFYING",69:"IDENTIFYING",70:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[18,1],[18,2],[51,2],[51,3],[51,3],[51,4],[52,1],[53,1],[54,1],[54,3],[57,1],[55,1],[12,3],[61,1],[61,1],[61,1],[61,1],[61,1],[62,1],[62,1],[14,1],[14,1],[14,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 1:break;case 2:this.$=[];break;case 3:s[o-1].push(s[o]),this.$=s[o-1];break;case 4:case 5:this.$=s[o];break;case 6:case 7:this.$=[];break;case 8:n.addEntity(s[o-4]),n.addEntity(s[o-2]),n.addRelationship(s[o-4],s[o],s[o-2],s[o-3]);break;case 9:n.addEntity(s[o-8]),n.addEntity(s[o-4]),n.addRelationship(s[o-8],s[o],s[o-4],s[o-5]),n.setClass([s[o-8]],s[o-6]),n.setClass([s[o-4]],s[o-2]);break;case 10:n.addEntity(s[o-6]),n.addEntity(s[o-2]),n.addRelationship(s[o-6],s[o],s[o-2],s[o-3]),n.setClass([s[o-6]],s[o-4]);break;case 11:n.addEntity(s[o-6]),n.addEntity(s[o-4]),n.addRelationship(s[o-6],s[o],s[o-4],s[o-5]),n.setClass([s[o-4]],s[o-2]);break;case 12:n.addEntity(s[o-3]),n.addAttributes(s[o-3],s[o-1]);break;case 13:n.addEntity(s[o-5]),n.addAttributes(s[o-5],s[o-1]),n.setClass([s[o-5]],s[o-3]);break;case 14:n.addEntity(s[o-2]);break;case 15:n.addEntity(s[o-4]),n.setClass([s[o-4]],s[o-2]);break;case 16:n.addEntity(s[o]);break;case 17:n.addEntity(s[o-2]),n.setClass([s[o-2]],s[o]);break;case 18:n.addEntity(s[o-6],s[o-4]),n.addAttributes(s[o-6],s[o-1]);break;case 19:n.addEntity(s[o-8],s[o-6]),n.addAttributes(s[o-8],s[o-1]),n.setClass([s[o-8]],s[o-3]);break;case 20:n.addEntity(s[o-5],s[o-3]);break;case 21:n.addEntity(s[o-7],s[o-5]),n.setClass([s[o-7]],s[o-2]);break;case 22:n.addEntity(s[o-3],s[o-1]);break;case 23:n.addEntity(s[o-5],s[o-3]),n.setClass([s[o-5]],s[o]);break;case 24:case 25:this.$=s[o].trim(),n.setAccTitle(this.$);break;case 26:case 27:this.$=s[o].trim(),n.setAccDescription(this.$); Line truncated `,"getStyles"),XK=YK}),rQ={};G(rQ,{diagram:()=>sQ});var sQ,aQ,oQ,lQ,cQ=e(()=>{"use strict";_u(),QN(),JK(),tQ(),nQ(),sQ={parser:WK,get db(){return new BN},renderer:zK,styles:XK,init:mt(e=>{e.flowchart||(e.flowchart={}),e.layout&&Ah({layout:e.layout}),e.flowchart.arrowMarkerAbsolute=e.arrowMarkerAbsolute,Ah({flowchart:{arrowMarkerAbsolute:e.arrowMarkerAbsolute}})},"init")}}),hQ=e(()=>{"use strict";function e(){this.yy={}}var t,i,n,r,s,a,o,l,c,h,u,d,p,O,g,f,m,y,b,v,P,x,w,k,T,S,C,_,A,E,$,B,F,j,z,U,H,L,R,M,I,N,q,W,D;t=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),i=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,50],n=[1,10],r=[1,11],s=[1,12],a=[1,13],o=[1,20],l=[1,21],c=[1,22],h=[1,23],u=[1,24],d=[1,19],p=[1,25],O=[1,26],g=[1,18],f=[1,33],m=[1,34],y=[1,35],b=[1,36],v=[1,37],P=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,50,63,64,65,66,67],x=[1,42],w=[1,43],k=[1,52],T=[40,50,68,69],S=[1,63],C=[1,61],_=[1,58],A=[1,62],E=[1,64],$=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,63,64,65,66,67],B=[63,64,65,66,67],F=[1,81],j=[1,80],z=[1,78],U=[1,79],H=[6,10,42,47],L=[6,10,13,41,42,47,48,49],R=[1,89],M=[1,88],I=[1,87],N=[19,56],q=[1,98],W=[1,97],D=[19,56,58,60],n={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,attribute:51,attributeType:52,attributeName:53,attributeKeyTypeList:54,attributeComment:55,ATTRIBUTE_WORD:56,attributeKeyType:57,",":58,ATTRIBUTE_KEY:59,COMMENT:60,cardinality:61,relType:62,ZERO_OR_ONE:63,ZERO_OR_MORE:64,ONE_OR_MORE:65,ONLY_ONE:66,MD_PARENT:67,NON_IDENTIFYING:68,IDENTIFYING:69,WORD:70,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",56:"ATTRIBUTE_WORD",58:",",59:"ATTRIBUTE_KEY",60:"COMMENT",63:"ZERO_OR_ONE",64:"ZERO_OR_MORE",65:"ONE_OR_MORE",66:"ONLY_ONE",67:"MD_PARENT",68:"NON_IDENTIFYING",69:"IDENTIFYING",70:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[18,1],[18,2],[51,2],[51,3],[51,3],[51,4],[52,1],[53,1],[54,1],[54,3],[57,1],[55,1],[12,3],[61,1],[61,1],[61,1],[61,1],[61,1],[62,1],[62,1],[14,1],[14,1],[14,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 1:break;case 2:this.$=[];break;case 3:s[o-1].push(s[o]),this.$=s[o-1];break;case 4:case 5:this.$=s[o];break;case 6:case 7:this.$=[];break;case 8:n.addEntity(s[o-4]),n.addEntity(s[o-2]),n.addRelationship(s[o-4],s[o],s[o-2],s[o-3]);break;case 9:n.addEntity(s[o-8]),n.addEntity(s[o-4]),n.addRelationship(s[o-8],s[o],s[o-4],s[o-5]),n.setClass([s[o-8]],s[o-6]),n.setClass([s[o-4]],s[o-2]);break;case 10:n.addEntity(s[o-6]),n.addEntity(s[o-2]),n.addRelationship(s[o-6],s[o],s[o-2],s[o-3]),n.setClass([s[o-6]],s[o-4]);break;case 11:n.addEntity(s[o-6]),n.addEntity(s[o-4]),n.addRelationship(s[o-6],s[o],s[o-4],s[o-5]),n.setClass([s[o-4]],s[o-2]);break;case 12:n.addEntity(s[o-3]),n.addAttributes(s[o-3],s[o-1]);break;case 13:n.addEntity(s[o-5]),n.addAttributes(s[o-5],s[o-1]),n.setClass([s[o-5]],s[o-3]);break;case 14:n.addEntity(s[o-2]);break;case 15:n.addEntity(s[o-4]),n.setClass([s[o-4]],s[o-2]);break;case 16:n.addEntity(s[o]);break;case 17:n.addEntity(s[o-2]),n.setClass([s[o-2]],s[o]);break;case 18:n.addEntity(s[o-6],s[o-4]),n.addAttributes(s[o-6],s[o-1]);break;case 19:n.addEntity(s[o-8],s[o-6]),n.addAttributes(s[o-8],s[o-1]),n.setClass([s[o-8]],s[o-3]);break;case 20:n.addEntity(s[o-5],s[o-3]);break;case 21:n.addEntity(s[o-7],s[o-5]),n.setClass([s[o-7]],s[o-2]);break;case 22:n.addEntity(s[o-3],s[o-1]);break;case 23:n.addEntity(s[o-5],s[o-3]),n.setClass([s[o-5]],s[o]);break;case 24:case 25:this.$=s[o].trim(),n.setAccTitle(this.$);break;case 26:case 27:this.$=s[o].trim(),n.setAccDescription(this.$); Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 70;case 16:return 4;case 17:return this.begin("block"),17;case 18:case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 59;case 25:case 26:return 56;case 27:return 60;case 28:break;case 29:return this.popState(),19;case 30:return t.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;case 40:return 43;case 41:return 63;case 42:case 43:case 44:return 65;case 45:case 46:return 63;case 47:case 48:case 49:case 50:case 51:return 64;case 52:return 65;case 53:return 64;case 54:return 65;case 55:case 56:case 57:case 58:return 66;case 59:return 63;case 60:return 64;case 61:return 65;case 62:return 67;case 63:return 68;case 64:case 65:return 69;case 66:case 67:case 68:return 68;case 69:return 41;case 70:return 47;case 71:return 40;case 72:return 48;case 73:return t.yytext[0];case 74:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:[0-9])/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,69,70],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,71,72,73,74],inclusive:!0}}},n.lexer=r,mt(e,"Parser"),(aZ=new((e.prototype=n).Parser=e)).parser=aZ,oZ=aZ}),uZ=e(()=>{"use strict";t(),_u(),Cu(),s_(),lZ=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=vh,this.getAccTitle=xh,this.setAccDescription=wh,this.getAccDescription=kh,this.setDiagramTitle=Th,this.getDiagramTitle=Sh,this.getConfig=mt(()=>N().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),thi Line truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 70;case 16:return 4;case 17:return this.begin("block"),17;case 18:case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 59;case 25:case 26:return 56;case 27:return 60;case 28:break;case 29:return this.popState(),19;case 30:return t.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;case 40:return 43;case 41:return 63;case 42:case 43:case 44:return 65;case 45:case 46:return 63;case 47:case 48:case 49:case 50:case 51:return 64;case 52:return 65;case 53:return 64;case 54:return 65;case 55:case 56:case 57:case 58:return 66;case 59:return 63;case 60:return 64;case 61:return 65;case 62:return 67;case 63:return 68;case 64:case 65:return 69;case 66:case 67:case 68:return 68;case 69:return 41;case 70:return 47;case 71:return 40;case 72:return 48;case 73:return t.yytext[0];case 74:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:[0-9])/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,69,70],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,71,72,73,74],inclusive:!0}}},n.lexer=r,mt(e,"Parser"),(aQ=new((e.prototype=n).Parser=e)).parser=aQ,oQ=aQ}),uQ=e(()=>{"use strict";t(),_u(),Cu(),s_(),lQ=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=vh,this.getAccTitle=xh,this.setAccDescription=wh,this.getAccDescription=kh,this.setDiagramTitle=Th,this.getDiagramTitle=Sh,this.getConfig=mt(()=>N().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),thi Line truncated
.entityBox { .entityBox {
fill: ${e.mainBkg}; fill: ${e.mainBkg};
stroke: ${e.nodeBorder}; stroke: ${e.nodeBorder};
@@ -667,7 +667,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
} }
.labelBkg { .labelBkg {
background-color: ${gZ(e.tertiaryColor,.5)}; background-color: ${gQ(e.tertiaryColor,.5)};
} }
.edgeLabel .label { .edgeLabel .label {
@@ -705,7 +705,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
stroke: ${e.lineColor} !important; stroke: ${e.lineColor} !important;
stroke-width: 1; stroke-width: 1;
} }
`,"getStyles"),mZ=fZ}),vZ={};G(vZ,{diagram:()=>xZ});var xZ,wZ=e(()=>{"use strict";hZ(),uZ(),yZ(),bZ(),xZ={parser:oZ,get db(){return new lZ},renderer:dZ,styles:mZ}});function kZ(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$type}function TZ(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText}function SZ(e){return"object"==typeof e&&null!==e&&"string"==typeof e.name&&"string"==typeof e.type&&"string"==typeof e.path}function CZ(e){return"object"==typeof e&&null!==e&&kZ(e.container)&&TZ(e.reference)&&"string"==typeof e.message}function _Z(e){return"object"==typeof e&&null!==e&&Array.isArray(e.content)}function AZ(e){return"object"==typeof e&&null!==e&&"object"==typeof e.tokenType}function EZ(e){return _Z(e)&&"string"==typeof e.fullText}var $Z,LZ=e(()=>{"use strict";mt(kZ,"isAstNode"),mt(TZ,"isReference"),mt(SZ,"isAstNodeDescription"),mt(CZ,"isLinkingError"),$Z=class{static{mt(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return kZ(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let i=this.subtypes[e];var n=(i=i||(this.subtypes[e]={}))[t];return void 0!==n?n:(n=this.computeIsSubtype(e,t),i[t]=n)}getAllSubTypes(e){var t=this.allSubtypes[e];if(t)return t;var i,n=[];for(i of this.getAllTypes())this.isSubtype(i,e)&&n.push(i);return this.allSubtypes[e]=n}},mt(_Z,"isCompositeCstNode"),mt(AZ,"isLeafCstNode"),mt(EZ,"isRootCstNode")});function RZ(e){return"string"==typeof e?e:"u"<typeof e?"undefined":"function"==typeof e.toString?e.toString():Object.prototype.toString.call(e)}function MZ(e){return!!e&&"function"==typeof e[Symbol.iterator]}function IZ(...i){if(1===i.length){let t=i[0];if(t instanceof NZ)return t;if(MZ(t))return new NZ(()=>t[Symbol.iterator](),e=>e.next());if("number"==typeof t.length)return new NZ(()=>({index:0}),e=>e.index<t.length?{done:!1,value:t[e.index++]}:OZ)}return 1<i.length?new NZ(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){var t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}e.collIndex<i.length&&(MZ(t=i[e.collIndex++])?e.iterator=t[Symbol.iterator]():t&&"number"==typeof t.length&&(e.array=t))}while(e.iterator||e.array||e.collIndex<i.length);return OZ}):DZ}var NZ,DZ,OZ,PZ,BZ,FZ=e(()=>{"use strict";function e(e){return e.reduce((e,t)=>e+t,0)}function t(e){return e.reduce((e,t)=>e*t,0)}function i(e){return e.reduce((e,t)=>Math.min(e,t))}function n(e){return e.reduce((e,t)=>Math.max(e,t))}var r;NZ=class s{static{mt(this,"StreamImpl")}constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){let e={state:this.startFn(),next:mt(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),t=0,i=e.next();for(;!i.done;)t++,i=e.next();return t}toArray(){for(var e,t=[],i=this.iterator();void 0!==(e=i.next()).value&&t.push(e.value),!e.done;);return t}toSet(){return new Set(this)}toMap(t,i){var e=this.map(e=>[t?t(e):e,i?i(e):e]);return new Map(e)}toString(){return this.join()}concat(e){return new s(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),e=>{let t;if(!e.firstDone){do{if(!(t=this.nextFn(e.first)).done)return t}while(!t.done);e.firstDone=!0}do{if(!(t=e.iterator.next()).done)return t}while(!t.done);return OZ})}join(e=","){let t=this.iterator(),i="",n,r=!1;for(;(n=t.next()).done||(r&&(i+=e),i+=RZ(n.value)),r=!0,!n.done;);return i}indexOf(e,t=0){let i=this.iterator(),n=0,r=i.next();for(;!r.done;){if(n>=t&&r.value===e)return n;r=i.next(),n++}return-1}every(e){let t=this.iterator(),i=t.next();for(;!i.done;){if(!e(i.value))return!1;i=t.next()}return!0}some(e){let t=this.iterator(),i=t.next();for(;!i.done;){if(e(i.value))return!0;i=t.next()}return!1}forEach(e){let t=this.iterator(),i=0,n=t.next();for(;!n.done;)e(n.value,i),n=t.next(),i++}map(i){return new s(this.startFn,e=>{var{done:e,value:t}=this.nextFn(e);return e?OZ:{done:!1,value:i(t)}})}filter(i){return new s(this.startFn,e=>{var t;do{if(!(t=this.nextFn(e)).done&&i(t.value))return t}while(!t.done);return OZ})}nonNullable(){return this.filter(e=>null!=e)}reduce(e,t){let i=this.iterator(),n=t,r=i.next();for(;!r.done;)n=void 0===n?r.value:e(n,r.value),r=i.next();return n}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,i){var n=e.next();return n.done?i:void 0===(e=this.recursiveReduce(e,t,i))?n.value:t(e,n.value)}find(e){let t=this.iterator(),i=t.next();for(;!i.done;){if(e(i.value))return i.value;i=t.next()}}findIndex(e){let t=this.iterator(),i=0,n=t.next();for(;!n.done;){if(e(n.value))return i;n=t.next(),i++}return-1}includes(e){let t=this.iterator(),i=t.next();for(;!i.done;){if(i.value===e)return!0;i=t.next()}return!1}flatMap(n){return new s(()=>({this:this.startFn()}),e=>{do{if(e.iterator){var t=e.iterator.next();if(!t.done)return t;e.iterator=void Line truncated `,"getStyles"),mQ=fQ}),vQ={};G(vQ,{diagram:()=>xQ});var xQ,wQ=e(()=>{"use strict";hQ(),uQ(),yQ(),bQ(),xQ={parser:oQ,get db(){return new lQ},renderer:dQ,styles:mQ}});function kQ(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$type}function TQ(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText}function SQ(e){return"object"==typeof e&&null!==e&&"string"==typeof e.name&&"string"==typeof e.type&&"string"==typeof e.path}function CQ(e){return"object"==typeof e&&null!==e&&kQ(e.container)&&TQ(e.reference)&&"string"==typeof e.message}function _Q(e){return"object"==typeof e&&null!==e&&Array.isArray(e.content)}function AQ(e){return"object"==typeof e&&null!==e&&"object"==typeof e.tokenType}function EQ(e){return _Q(e)&&"string"==typeof e.fullText}var $Q,LQ=e(()=>{"use strict";mt(kQ,"isAstNode"),mt(TQ,"isReference"),mt(SQ,"isAstNodeDescription"),mt(CQ,"isLinkingError"),$Q=class{static{mt(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return kQ(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let i=this.subtypes[e];var n=(i=i||(this.subtypes[e]={}))[t];return void 0!==n?n:(n=this.computeIsSubtype(e,t),i[t]=n)}getAllSubTypes(e){var t=this.allSubtypes[e];if(t)return t;var i,n=[];for(i of this.getAllTypes())this.isSubtype(i,e)&&n.push(i);return this.allSubtypes[e]=n}},mt(_Q,"isCompositeCstNode"),mt(AQ,"isLeafCstNode"),mt(EQ,"isRootCstNode")});function RQ(e){return"string"==typeof e?e:"u"<typeof e?"undefined":"function"==typeof e.toString?e.toString():Object.prototype.toString.call(e)}function MQ(e){return!!e&&"function"==typeof e[Symbol.iterator]}function IQ(...i){if(1===i.length){let t=i[0];if(t instanceof NQ)return t;if(MQ(t))return new NQ(()=>t[Symbol.iterator](),e=>e.next());if("number"==typeof t.length)return new NQ(()=>({index:0}),e=>e.index<t.length?{done:!1,value:t[e.index++]}:OQ)}return 1<i.length?new NQ(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){var t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}e.collIndex<i.length&&(MQ(t=i[e.collIndex++])?e.iterator=t[Symbol.iterator]():t&&"number"==typeof t.length&&(e.array=t))}while(e.iterator||e.array||e.collIndex<i.length);return OQ}):DQ}var NQ,DQ,OQ,PQ,BQ,FQ=e(()=>{"use strict";function e(e){return e.reduce((e,t)=>e+t,0)}function t(e){return e.reduce((e,t)=>e*t,0)}function i(e){return e.reduce((e,t)=>Math.min(e,t))}function n(e){return e.reduce((e,t)=>Math.max(e,t))}var r;NQ=class s{static{mt(this,"StreamImpl")}constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){let e={state:this.startFn(),next:mt(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),t=0,i=e.next();for(;!i.done;)t++,i=e.next();return t}toArray(){for(var e,t=[],i=this.iterator();void 0!==(e=i.next()).value&&t.push(e.value),!e.done;);return t}toSet(){return new Set(this)}toMap(t,i){var e=this.map(e=>[t?t(e):e,i?i(e):e]);return new Map(e)}toString(){return this.join()}concat(e){return new s(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),e=>{let t;if(!e.firstDone){do{if(!(t=this.nextFn(e.first)).done)return t}while(!t.done);e.firstDone=!0}do{if(!(t=e.iterator.next()).done)return t}while(!t.done);return OQ})}join(e=","){let t=this.iterator(),i="",n,r=!1;for(;(n=t.next()).done||(r&&(i+=e),i+=RQ(n.value)),r=!0,!n.done;);return i}indexOf(e,t=0){let i=this.iterator(),n=0,r=i.next();for(;!r.done;){if(n>=t&&r.value===e)return n;r=i.next(),n++}return-1}every(e){let t=this.iterator(),i=t.next();for(;!i.done;){if(!e(i.value))return!1;i=t.next()}return!0}some(e){let t=this.iterator(),i=t.next();for(;!i.done;){if(e(i.value))return!0;i=t.next()}return!1}forEach(e){let t=this.iterator(),i=0,n=t.next();for(;!n.done;)e(n.value,i),n=t.next(),i++}map(i){return new s(this.startFn,e=>{var{done:e,value:t}=this.nextFn(e);return e?OQ:{done:!1,value:i(t)}})}filter(i){return new s(this.startFn,e=>{var t;do{if(!(t=this.nextFn(e)).done&&i(t.value))return t}while(!t.done);return OQ})}nonNullable(){return this.filter(e=>null!=e)}reduce(e,t){let i=this.iterator(),n=t,r=i.next();for(;!r.done;)n=void 0===n?r.value:e(n,r.value),r=i.next();return n}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,i){var n=e.next();return n.done?i:void 0===(e=this.recursiveReduce(e,t,i))?n.value:t(e,n.value)}find(e){let t=this.iterator(),i=t.next();for(;!i.done;){if(e(i.value))return i.value;i=t.next()}}findIndex(e){let t=this.iterator(),i=0,n=t.next();for(;!n.done;){if(e(n.value))return i;n=t.next(),i++}return-1}includes(e){let t=this.iterator(),i=t.next();for(;!i.done;){if(i.value===e)return!0;i=t.next()}return!1}flatMap(n){return new s(()=>({this:this.startFn()}),e=>{do{if(e.iterator){var t=e.iterator.next();if(!t.done)return t;e.iterator=void Line truncated
`),vee("\r"),vee("\t"),vee("\v"),vee("\t"),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee("\u2028"),vee("\u2029"),vee(" "),vee(" "),vee(" "),vee("\ufeff")]}),Dee=e(()=>{"use strict";Iee(),Nee(),Eee=/[0-9a-fA-F]/,$ee=/[0-9]/,Lee=/[1-9]/,Ree=class{static{mt(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");for(var t=this.disjunction(),i=(this.consumeChar("/"),{type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1});this.isRegExpFlag();)switch(this.popChar()){case"g":wee(i,"global");break;case"i":wee(i,"ignoreCase");break;case"m":wee(i,"multiLine");break;case"u":wee(i,"unicode");break;case"y":wee(i,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:i,value:t,loc:this.loc(0)}}disjunction(){var e=[],t=this.idx;for(e.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){for(var e=[],t=this.idx;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){var t=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(t)};case"$":return{type:"EndAnchor",loc:this.loc(t)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(t)};case"B":return{type:"NonWordBoundary",loc:this.loc(t)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let e;switch(this.popChar()){case"=":e="Lookahead";break;case"!":e="NegativeLookahead"}kee(e);var i=this.disjunction();return this.consumeChar(")"),{type:e,value:i,loc:this.loc(t)}}return Tee()}quantifier(e=!1){let t,i=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":var n=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:n,atMost:n};break;case",":t=this.isDigit()?{atLeast:n,atMost:this.integerIncludingZero()}:{atLeast:n,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;kee(t)}if((!0!==e||void 0!==t)&&kee(t))return"?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(i),t}atom(){let e,t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group()}return kee(e=void 0===e&&this.isPatternCharacter()?this.patternCharacter():e)?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):Tee()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[vee(` `),vee("\r"),vee("\t"),vee("\v"),vee("\t"),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee(" "),vee("\u2028"),vee("\u2029"),vee(" "),vee(" "),vee(" "),vee("\ufeff")]}),Dee=e(()=>{"use strict";Iee(),Nee(),Eee=/[0-9a-fA-F]/,$ee=/[0-9]/,Lee=/[1-9]/,Ree=class{static{mt(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");for(var t=this.disjunction(),i=(this.consumeChar("/"),{type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1});this.isRegExpFlag();)switch(this.popChar()){case"g":wee(i,"global");break;case"i":wee(i,"ignoreCase");break;case"m":wee(i,"multiLine");break;case"u":wee(i,"unicode");break;case"y":wee(i,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:i,value:t,loc:this.loc(0)}}disjunction(){var e=[],t=this.idx;for(e.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){for(var e=[],t=this.idx;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){var t=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(t)};case"$":return{type:"EndAnchor",loc:this.loc(t)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(t)};case"B":return{type:"NonWordBoundary",loc:this.loc(t)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let e;switch(this.popChar()){case"=":e="Lookahead";break;case"!":e="NegativeLookahead"}kee(e);var i=this.disjunction();return this.consumeChar(")"),{type:e,value:i,loc:this.loc(t)}}return Tee()}quantifier(e=!1){let t,i=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":var n=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:n,atMost:n};break;case",":t=this.isDigit()?{atLeast:n,atMost:this.integerIncludingZero()}:{atLeast:n,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;kee(t)}if((!0!==e||void 0!==t)&&kee(t))return"?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(i),t}atom(){let e,t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group()}return kee(e=void 0===e&&this.isPatternCharacter()?this.patternCharacter():e)?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):Tee()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[vee(`
`),vee("\r"),vee("\u2028"),vee("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=Cee;break;case"D":e=Cee,t=!0;break;case"s":e=Aee;break;case"S":e=Aee,t=!0;break;case"w":e=_ee;break;case"W":e=_ee,t=!0}return kee(e)?{type:"Set",value:e,complement:t}:Tee()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=vee("\f");break;case"n":e=vee(` `),vee("\r"),vee("\u2028"),vee("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=Cee;break;case"D":e=Cee,t=!0;break;case"s":e=Aee;break;case"S":e=Aee,t=!0;break;case"w":e=_ee;break;case"W":e=_ee,t=!0}return kee(e)?{type:"Set",value:e,complement:t}:Tee()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=vee("\f");break;case"n":e=vee(`
`);break;case"r":e=vee("\r");break;case"t":e=vee("\t");break;case"v":e=vee("\v")}return kee(e)?{type:"Character",value:e}:Tee()}controlLetterEscapeAtom(){this.consumeChar("c");var e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:vee("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:vee(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case` `);break;case"r":e=vee("\r");break;case"t":e=vee("\t");break;case"v":e=vee("\v")}return kee(e)?{type:"Character",value:e}:Tee()}controlLetterEscapeAtom(){this.consumeChar("c");var e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:vee("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:vee(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case`
@@ -713,10 +713,10 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:vee("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;"?"===(this.consumeChar("("),this.peekChar(0))?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;var t=this.disjunction(),t=(this.consumeChar(")"),{type:"Group",capturing:e,value:t});return e&&(t.idx=this.groupIdx),t}positiveInteger(){let e=this.popChar();if(!1===Lee.test(e))throw Error("Expecting a positive integer");for(;$ee.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(!1===$ee.test(e))throw Error("Expecting an integer");for(;$ee.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){var e=this.popChar();switch(e){case` `:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:vee("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;"?"===(this.consumeChar("("),this.peekChar(0))?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;var t=this.disjunction(),t=(this.consumeChar(")"),{type:"Group",capturing:e,value:t});return e&&(t.idx=this.groupIdx),t}positiveInteger(){let e=this.popChar();if(!1===Lee.test(e))throw Error("Expecting a positive integer");for(;$ee.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(!1===$ee.test(e))throw Error("Expecting an integer");for(;$ee.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){var e=this.popChar();switch(e){case`
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:vee(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return"-"===this.peekChar()&&this.isClassAtom(1)}isDigit(){return $ee.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case` `:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:vee(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return"-"===this.peekChar()&&this.isClassAtom(1)}isDigit(){return $ee.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return"?"===this.peekChar(1)&&("="===this.peekChar(2)||"!"===this.peekChar(2));default:return!1}}isQuantifier(){var e=this.saveState();try{return void 0!==this.quantifier(!0)}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case` `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return"?"===this.peekChar(1)&&("="===this.peekChar(2)||"!"===this.peekChar(2));default:return!1}}isQuantifier(){var e=this.saveState();try{return void 0!==this.quantifier(!0)}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(t){let i="";for(let e=0;e<t;e++){var n=this.popChar();if(!1===Eee.test(n))throw Error("Expecting a HexDecimal digits");i+=n}return{type:"Character",value:parseInt(i,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){var e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(void 0!==e&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}}),Oee=e(()=>{"use strict";Mee=class{static{mt(this,"BaseRegExpVisitor")}visitChildren(e){for(var t in e){var i=e[t];e.hasOwnProperty(t)&&(void 0!==i.type?this.visit(i):Array.isArray(i)&&i.forEach(e=>{this.visit(e)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}}),Pee=e(()=>{"use strict";Dee(),Oee()}),Bee={};function Fee(e){try{e=`/${e="string"!=typeof e?e.source:e}/`;var t,i=Vee.pattern(e),n=[];for(t of i.value.value)Xee.reset(e),Xee.visit(t),n.push({start:Xee.startRegexp,end:Xee.endRegex});return n}catch{return[]}}function jee(e){try{return e=(e="string"==typeof e?new RegExp(e):e).toString(),Xee.reset(e),Xee.visit(Vee.pattern(e)),Xee.multiline}catch{return!1}}function zee(e){let t="string"==typeof e?new RegExp(e):e;return Kee.some(e=>t.test(e))}function Uee(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Hee(e){return Array.prototype.map.call(e,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:Uee(e)).join("")}function qee(e,t){e=Wee(e),t=t.match(e);return!!t&&0<t[0].length}function Wee(e){let r=e="string"==typeof e?new RegExp(e):e,s=e.source,a=0;function o(){let t="",e;function i(e){t+=s.substr(a,e),a+=e}function n(e){t+="(?:"+s.substr(a,e)+"|$)",a+=e}for(mt(i,"appendRaw"),mt(n,"appendOptional");a<s.length;)switch(s[a]){case"\\":switch(s[a+1]){case"c":n(3);break;case"x":n(4);break;case"u":r.unicode?"{"===s[a+2]?n(s.indexOf("}",a)-a+1):n(6):n(2);break;case"p":case"P":r.unicode?n(s.indexOf("}",a)-a+1):n(2);break;case"k":n(s.indexOf(">",a)-a+1);break;default:n(2)}break;case"[":(e=/\[(?:\\.|.)*?\]/g).lastIndex=a,n((e=e.exec(s)||[])[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":i(1);break;case"{":(e=/\{\d+,?\d*\}/g).lastIndex=a,(e=e.exec(s))?i(e[0].length):n(1);break;case"(":if("?"===s[a+1])switch(s[a+2]){case":":t+="(?:",a+=3,t+=o()+"|$)";break;case"=":t+="(?=",a+=3,t+=o()+")";break;case"!":e=a,a+=3,o(),t+=s.substr(e,a-e);break;case"<":switch(s[a+3]){case"=":case"!":e=a,a+=4,o(),t+=s.substr(e,a-e);break;default:i(s.indexOf(">",a)-a+1),t+=o()+"|$)"}}else i(1),t+=o()+"|$)";break;case")":return++a,t;default:n(1)}return t}return mt(o,"process"),new RegExp(o(),e.flags)}G(Bee,{NEWLINE_REGEXP:()=>Gee,escapeRegExp:()=>Uee,getCaseInsensitivePattern:()=>Hee,getTerminalParts:()=>Fee,isMultilineComment:()=>jee,isWhitespace:()=>zee,partialMatches:()=>qee,partialRegExp:()=>Wee,whitespaceCharacters:()=>Kee});var Gee,Vee,Yee,Xee,Kee,Zee=e(()=>{"use strict";Pee(),Gee=/\r?\n/gm,Vee=new Ree,Yee=class extends Mee{static{mt(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){var t=String.fromCharCode(e.value);this.multiline||t!==` `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(t){let i="";for(let e=0;e<t;e++){var n=this.popChar();if(!1===Eee.test(n))throw Error("Expecting a HexDecimal digits");i+=n}return{type:"Character",value:parseInt(i,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){var e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(void 0!==e&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}}),Oee=e(()=>{"use strict";Mee=class{static{mt(this,"BaseRegExpVisitor")}visitChildren(e){for(var t in e){var i=e[t];e.hasOwnProperty(t)&&(void 0!==i.type?this.visit(i):Array.isArray(i)&&i.forEach(e=>{this.visit(e)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}}),Pee=e(()=>{"use strict";Dee(),Oee()}),Bee={};function Fee(e){try{e=`/${e="string"!=typeof e?e.source:e}/`;var t,i=Vee.pattern(e),n=[];for(t of i.value.value)Xee.reset(e),Xee.visit(t),n.push({start:Xee.startRegexp,end:Xee.endRegex});return n}catch{return[]}}function jee(e){try{return e=(e="string"==typeof e?new RegExp(e):e).toString(),Xee.reset(e),Xee.visit(Vee.pattern(e)),Xee.multiline}catch{return!1}}function zee(e){let t="string"==typeof e?new RegExp(e):e;return Kee.some(e=>t.test(e))}function Uee(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Hee(e){return Array.prototype.map.call(e,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:Uee(e)).join("")}function qee(e,t){e=Wee(e),t=t.match(e);return!!t&&0<t[0].length}function Wee(e){let r=e="string"==typeof e?new RegExp(e):e,s=e.source,a=0;function o(){let t="",e;function i(e){t+=s.substr(a,e),a+=e}function n(e){t+="(?:"+s.substr(a,e)+"|$)",a+=e}for(mt(i,"appendRaw"),mt(n,"appendOptional");a<s.length;)switch(s[a]){case"\\":switch(s[a+1]){case"c":n(3);break;case"x":n(4);break;case"u":r.unicode?"{"===s[a+2]?n(s.indexOf("}",a)-a+1):n(6):n(2);break;case"p":case"P":r.unicode?n(s.indexOf("}",a)-a+1):n(2);break;case"k":n(s.indexOf(">",a)-a+1);break;default:n(2)}break;case"[":(e=/\[(?:\\.|.)*?\]/g).lastIndex=a,n((e=e.exec(s)||[])[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":i(1);break;case"{":(e=/\{\d+,?\d*\}/g).lastIndex=a,(e=e.exec(s))?i(e[0].length):n(1);break;case"(":if("?"===s[a+1])switch(s[a+2]){case":":t+="(?:",a+=3,t+=o()+"|$)";break;case"=":t+="(?=",a+=3,t+=o()+")";break;case"!":e=a,a+=3,o(),t+=s.substr(e,a-e);break;case"<":switch(s[a+3]){case"=":case"!":e=a,a+=4,o(),t+=s.substr(e,a-e);break;default:i(s.indexOf(">",a)-a+1),t+=o()+"|$)"}}else i(1),t+=o()+"|$)";break;case")":return++a,t;default:n(1)}return t}return mt(o,"process"),new RegExp(o(),e.flags)}G(Bee,{NEWLINE_REGEXP:()=>Gee,escapeRegExp:()=>Uee,getCaseInsensitivePattern:()=>Hee,getTerminalParts:()=>Fee,isMultilineComment:()=>jee,isWhitespace:()=>zee,partialMatches:()=>qee,partialRegExp:()=>Wee,whitespaceCharacters:()=>Kee});var Gee,Vee,Yee,Xee,Kee,Qee=e(()=>{"use strict";Pee(),Gee=/\r?\n/gm,Vee=new Ree,Yee=class extends Mee{static{mt(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){var t=String.fromCharCode(e.value);this.multiline||t!==`
`||(this.multiline=!0),e.quantifier?(this.isStarting=!1,this.endRegexpStack=[]):(e=Uee(t),this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e))}visitSet(e){var t;this.multiline||(t=this.regex.substring(e.loc.begin,e.loc.end),t=new RegExp(t),this.multiline=!!` `||(this.multiline=!0),e.quantifier?(this.isStarting=!1,this.endRegexpStack=[]):(e=Uee(t),this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e))}visitSet(e){var t;this.multiline||(t=this.regex.substring(e.loc.begin,e.loc.end),t=new RegExp(t),this.multiline=!!`
`.match(t)),e.quantifier?(this.isStarting=!1,this.endRegexpStack=[]):(t=this.regex.substring(e.loc.begin,e.loc.end),this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t))}visitChildren(e){"Group"===e.type&&e.quantifier||super.visitChildren(e)}},Xee=new Yee,mt(Fee,"getTerminalParts"),mt(jee,"isMultilineComment"),Kee=` `.match(t)),e.quantifier?(this.isStarting=!1,this.endRegexpStack=[]):(t=this.regex.substring(e.loc.begin,e.loc.end),this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t))}visitChildren(e){"Group"===e.type&&e.quantifier||super.visitChildren(e)}},Xee=new Yee,mt(Fee,"getTerminalParts"),mt(jee,"isMultilineComment"),Kee=`
\r              

   `.split(""),mt(zee,"isWhitespace"),mt(Uee,"escapeRegExp"),mt(Hee,"getCaseInsensitivePattern"),mt(qee,"partialMatches"),mt(Wee,"partialRegExp")}),Qee={};function Jee(e){return e.rules.find(e=>DQ(e)&&e.entry)}function ete(e){return e.rules.filter(e=>jQ(e)&&e.hidden)}function tte(e,t){var i,n=new Set,r=Jee(e);if(!r)return new Set(e.rules);for(i of[r].concat(ete(e)))ite(i,n,t);var s,a=new Set;for(s of e.rules)(n.has(s.name)||jQ(s)&&s.hidden)&&a.add(s);return a}function ite(e,t,i){t.add(e.name),hee(e).forEach(e=>{(eJ(e)||i&&nJ(e))&&(e=e.rule.ref)&&!t.has(e.name)&&ite(e,t,i)})}function nte(e){return e.terminal||(e.type.ref?dte(e.type.ref)?.terminal:void 0)}function rte(e){return e.hidden&&!zee(Ate(e))}function ste(e,t){return e&&t?ote(e,t,e.astNode,!0):[]}function ate(e,t,i){return e&&t&&0!==(t=ote(e,t,e.astNode,!0)).length?t[i=void 0!==i?Math.max(0,Math.min(i,t.length-1)):0]:void 0}function ote(e,t,i,n){if(!n){n=see(e.grammarSource,GQ);if(n&&n.feature===t)return[e]}return _Z(e)&&e.astNode===i?e.content.flatMap(e=>ote(e,t,i,!1)):[]}function lte(e,t){return e?hte(e,t,e?.astNode):[]}function cte(e,t,i){return e&&0!==(t=hte(e,t,e?.astNode)).length?t[i=void 0!==i?Math.max(0,Math.min(i,t.length-1)):0]:void 0}function hte(e,t,i){if(e.astNode!==i)return[];if(ZQ(e.grammarSource)&&e.grammarSource.value===t)return[e];var n,r,s=zZ(e).iterator(),a=[];do{(r=s.next()).done||((n=r.value).astNode===i?ZQ(n.grammarSource)&&n.grammarSource.value===t&&a.push(n):s.prune())}while(!r.done);return a}function ute(e){for(var t=e.astNode;t===(null==(i=e.container)?void 0:i.astNode);){var i=see(e.grammarSource,GQ);if(i)return i;e=e.container}}function dte(e){let t=e;return EQ(t)&&(qQ(t.$container)?t=t.$container.$container:DQ(t.$container)?t=t.$container:cQ(t.$container)),pte(e,t,new Map)}function pte(n,e,r){var t,i;function s(e,t){let i;return see(e,GQ)||(i=pte(t,t,r)),r.set(n,i),i}if(mt(s,"go"),r.has(n))return r.get(n);r.set(n,void 0);for(i of hee(e)){if(GQ(i)&&"name"===i.feature.toLowerCase())return r.set(n,i),i;if(eJ(i)&&DQ(i.rule.ref))return s(i,i.rule.ref);if(BQ(i)&&null!=(t=i.typeRef)&&t.ref)return s(i,i.typeRef.ref)}}function gte(t){var e=t.$container;if(KQ(e)){var i=e.elements;for(let e=i.indexOf(t)-1;0<=e;e--){var n=i[e];if(qQ(n))return n;n=hee(i[e]).find(qQ);if(n)return n}}if(xQ(e))return gte(e)}function fte(e,t){return"?"===e||"*"===e||KQ(t)&&!!t.guardCondition}function mte(e){return"*"===e||"+"===e}function yte(e){return"+="===e}function bte(e){return vte(e,new Set)}function vte(e,t){if(t.has(e))return!0;t.add(e);for(var i of hee(e))if(eJ(i)){if(!i.rule.ref||DQ(i.rule.ref)&&!vte(i.rule.ref,t))return!1}else{if(GQ(i))return!1;if(qQ(i))return!1}return!!e.definition}function xte(e){return wte(e.type,new Set)}function wte(e,t){return!!t.has(e)||(t.add(e),!kQ(e)&&!OQ(e)&&(HQ(e)?e.types.every(e=>wte(e,t)):!!BQ(e)&&(void 0!==e.primitiveType||void 0!==e.stringType||void 0!==e.typeRef&&!!zQ(e=e.typeRef.ref)&&wte(e.type,t))))}function kte(e){return e.inferredType?e.inferredType.name:e.dataType||(e.returnType&&(e=e.returnType.ref)&&(DQ(e)||$Q(e)||zQ(e))?e.name:void 0)}function Tte(e){if(DQ(e))return!bte(e)&&null!=(t=kte(e))?t:e.name;if($Q(e)||zQ(e)||PQ(e))return e.name;if(qQ(e)){var t=Ste(e);if(t)return t}else if(EQ(e))return e.name;throw new Error("Cannot get name of Unknown Type")}function Ste(e){var t;return e.inferredType?e.inferredType.name:null!=(t=e.type)&&t.ref?Tte(e.type.ref):void 0}function Cte(e){var t;return jQ(e)?null!=(t=null==(t=e.type)?void 0:t.name)?t:"string":!bte(e)&&null!=(t=kte(e))?t:e.name}function _te(e){var t;return jQ(e)?null!=(t=null==(t=e.type)?void 0:t.name)?t:"string":null!=(t=kte(e))?t:e.name}function Ate(e){var t={s:!1,i:!1,u:!1},e=Ete(e.definition,t),t=Object.entries(t).filter(([,e])=>e).map(([e])=>e).join("");return new RegExp(e,t)}function Ete(e,t){if(tJ(e))return $te(e);if(iJ(e))return Lte(e);if(VQ(e))return Ite(e);if(nJ(e)){var i=e.rule.ref;if(i)return Dte(Ete(i.definition),{cardinality:e.cardinality,lookahead:e.lookahead});throw new Error("Missing rule reference.")}if(QQ(e))return Mte(e);if(sJ(e))return Rte(e);var n;if(JQ(e))return i=e.regex.lastIndexOf("/"),n=e.regex.substring(1,i),i=e.regex.substring(i+1),t&&(t.i=i.includes("i"),t.s=i.includes("s"),t.u=i.includes("u")),Dte(n,{cardinality:e.cardinality,lookahead:e.lookahead,wrap:!1});if(aJ(e))return Dte(Ote,{cardinality:e.cardinality,lookahead:e.lookahead});throw new Error("Invalid terminal element: "+e?.$type)}function $te(e){return Dte(e.elements.map(e=>Ete(e)).join("|"),{cardinality:e.cardinality,lookahead:e.lookahead})}function Lte(e){return Dte(e.elements.map(e=>Ete(e)).join(""),{cardinality:e.cardinality,lookahead:e.lookahead})}function Rte(e){return Dte(Ote+"*?"+Ete(e.terminal),{cardinality:e.cardinality,lookahead:e.lookahead})}function Mte(e){return Dte(`(?!${Ete(e.terminal)})${Ote}*?`,{cardinality:e.cardinality,lookahead:e.lookahead})}function Ite(e){return e.right?Dte(`[${Nte(e.lefLine truncated \r              

   `.split(""),mt(zee,"isWhitespace"),mt(Uee,"escapeRegExp"),mt(Hee,"getCaseInsensitivePattern"),mt(qee,"partialMatches"),mt(Wee,"partialRegExp")}),Zee={};function Jee(e){return e.rules.find(e=>DZ(e)&&e.entry)}function ete(e){return e.rules.filter(e=>jZ(e)&&e.hidden)}function tte(e,t){var i,n=new Set,r=Jee(e);if(!r)return new Set(e.rules);for(i of[r].concat(ete(e)))ite(i,n,t);var s,a=new Set;for(s of e.rules)(n.has(s.name)||jZ(s)&&s.hidden)&&a.add(s);return a}function ite(e,t,i){t.add(e.name),hee(e).forEach(e=>{(eJ(e)||i&&nJ(e))&&(e=e.rule.ref)&&!t.has(e.name)&&ite(e,t,i)})}function nte(e){return e.terminal||(e.type.ref?dte(e.type.ref)?.terminal:void 0)}function rte(e){return e.hidden&&!zee(Ate(e))}function ste(e,t){return e&&t?ote(e,t,e.astNode,!0):[]}function ate(e,t,i){return e&&t&&0!==(t=ote(e,t,e.astNode,!0)).length?t[i=void 0!==i?Math.max(0,Math.min(i,t.length-1)):0]:void 0}function ote(e,t,i,n){if(!n){n=see(e.grammarSource,GZ);if(n&&n.feature===t)return[e]}return _Q(e)&&e.astNode===i?e.content.flatMap(e=>ote(e,t,i,!1)):[]}function lte(e,t){return e?hte(e,t,e?.astNode):[]}function cte(e,t,i){return e&&0!==(t=hte(e,t,e?.astNode)).length?t[i=void 0!==i?Math.max(0,Math.min(i,t.length-1)):0]:void 0}function hte(e,t,i){if(e.astNode!==i)return[];if(QZ(e.grammarSource)&&e.grammarSource.value===t)return[e];var n,r,s=zQ(e).iterator(),a=[];do{(r=s.next()).done||((n=r.value).astNode===i?QZ(n.grammarSource)&&n.grammarSource.value===t&&a.push(n):s.prune())}while(!r.done);return a}function ute(e){for(var t=e.astNode;t===(null==(i=e.container)?void 0:i.astNode);){var i=see(e.grammarSource,GZ);if(i)return i;e=e.container}}function dte(e){let t=e;return EZ(t)&&(qZ(t.$container)?t=t.$container.$container:DZ(t.$container)?t=t.$container:cZ(t.$container)),pte(e,t,new Map)}function pte(n,e,r){var t,i;function s(e,t){let i;return see(e,GZ)||(i=pte(t,t,r)),r.set(n,i),i}if(mt(s,"go"),r.has(n))return r.get(n);r.set(n,void 0);for(i of hee(e)){if(GZ(i)&&"name"===i.feature.toLowerCase())return r.set(n,i),i;if(eJ(i)&&DZ(i.rule.ref))return s(i,i.rule.ref);if(BZ(i)&&null!=(t=i.typeRef)&&t.ref)return s(i,i.typeRef.ref)}}function gte(t){var e=t.$container;if(KZ(e)){var i=e.elements;for(let e=i.indexOf(t)-1;0<=e;e--){var n=i[e];if(qZ(n))return n;n=hee(i[e]).find(qZ);if(n)return n}}if(xZ(e))return gte(e)}function fte(e,t){return"?"===e||"*"===e||KZ(t)&&!!t.guardCondition}function mte(e){return"*"===e||"+"===e}function yte(e){return"+="===e}function bte(e){return vte(e,new Set)}function vte(e,t){if(t.has(e))return!0;t.add(e);for(var i of hee(e))if(eJ(i)){if(!i.rule.ref||DZ(i.rule.ref)&&!vte(i.rule.ref,t))return!1}else{if(GZ(i))return!1;if(qZ(i))return!1}return!!e.definition}function xte(e){return wte(e.type,new Set)}function wte(e,t){return!!t.has(e)||(t.add(e),!kZ(e)&&!OZ(e)&&(HZ(e)?e.types.every(e=>wte(e,t)):!!BZ(e)&&(void 0!==e.primitiveType||void 0!==e.stringType||void 0!==e.typeRef&&!!zZ(e=e.typeRef.ref)&&wte(e.type,t))))}function kte(e){return e.inferredType?e.inferredType.name:e.dataType||(e.returnType&&(e=e.returnType.ref)&&(DZ(e)||$Z(e)||zZ(e))?e.name:void 0)}function Tte(e){if(DZ(e))return!bte(e)&&null!=(t=kte(e))?t:e.name;if($Z(e)||zZ(e)||PZ(e))return e.name;if(qZ(e)){var t=Ste(e);if(t)return t}else if(EZ(e))return e.name;throw new Error("Cannot get name of Unknown Type")}function Ste(e){var t;return e.inferredType?e.inferredType.name:null!=(t=e.type)&&t.ref?Tte(e.type.ref):void 0}function Cte(e){var t;return jZ(e)?null!=(t=null==(t=e.type)?void 0:t.name)?t:"string":!bte(e)&&null!=(t=kte(e))?t:e.name}function _te(e){var t;return jZ(e)?null!=(t=null==(t=e.type)?void 0:t.name)?t:"string":null!=(t=kte(e))?t:e.name}function Ate(e){var t={s:!1,i:!1,u:!1},e=Ete(e.definition,t),t=Object.entries(t).filter(([,e])=>e).map(([e])=>e).join("");return new RegExp(e,t)}function Ete(e,t){if(tJ(e))return $te(e);if(iJ(e))return Lte(e);if(VZ(e))return Ite(e);if(nJ(e)){var i=e.rule.ref;if(i)return Dte(Ete(i.definition),{cardinality:e.cardinality,lookahead:e.lookahead});throw new Error("Missing rule reference.")}if(ZZ(e))return Mte(e);if(sJ(e))return Rte(e);var n;if(JZ(e))return i=e.regex.lastIndexOf("/"),n=e.regex.substring(1,i),i=e.regex.substring(i+1),t&&(t.i=i.includes("i"),t.s=i.includes("s"),t.u=i.includes("u")),Dte(n,{cardinality:e.cardinality,lookahead:e.lookahead,wrap:!1});if(aJ(e))return Dte(Ote,{cardinality:e.cardinality,lookahead:e.lookahead});throw new Error("Invalid terminal element: "+e?.$type)}function $te(e){return Dte(e.elements.map(e=>Ete(e)).join("|"),{cardinality:e.cardinality,lookahead:e.lookahead})}function Lte(e){return Dte(e.elements.map(e=>Ete(e)).join(""),{cardinality:e.cardinality,lookahead:e.lookahead})}function Rte(e){return Dte(Ote+"*?"+Ete(e.terminal),{cardinality:e.cardinality,lookahead:e.lookahead})}function Mte(e){return Dte(`(?!${Ete(e.terminal)})${Ote}*?`,{cardinality:e.cardinality,lookahead:e.lookahead})}function Ite(e){return e.right?Dte(`[${Nte(e.lefLine truncated
Complement Sets cannot be automatically optimized. Complement Sets cannot be automatically optimized.
This will disable the lexer's first char optimizations. This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let e=i?` See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let e=i?`
@@ -724,25 +724,25 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`:"";zte(`${Gie} See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`:"";zte(`${Gie}
Failed parsing: < ${t.toString()} > Failed parsing: < ${t.toString()} >
Using the @chevrotain/regexp-to-ast library Using the @chevrotain/regexp-to-ast library
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+e)}}return[]}function Fie(t,r,s){switch(t.type){case"Disjunction":for(let e=0;e<t.value.length;e++)Fie(t.value[e],r,s);break;case"Alternative":var i=t.value;for(let e=0;e<i.length;e++){var n=i[e];switch(n.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}var a=n;switch(a.type){case"Character":jie(a.value,r,s);break;case"Set":if(!0===a.complement)throw Error(Wie);b(a.value,t=>{if("number"==typeof t)jie(t,r,s);else{var i=t;if(!0===s)for(let e=i.from;e<=i.to;e++)jie(e,r,s);else{for(let e=i.from;e<=i.to&&e<Lne;e++)jie(e,r,s);if(i.to>=Lne){var t=i.from>=Lne?i.from:Lne,e=i.to,t=wne(t),n=wne(e);for(let e=t;e<=n;e++)r[e]=e}}}});break;case"Group":Fie(a.value,r,s);break;default:throw Error("Non Exhaustive Match")}n=void 0!==a.quantifier&&0===a.quantifier.atLeast;if("Group"===a.type&&!1===Hie(a)||"Group"!==a.type&&!1==n)break}break;default:throw Error("non exhaustive match!")}return tq(r)}function jie(e,t,i){var n=wne(e);t[n]=n,!0===i&&zie(e,t)}function zie(e,t){var e=String.fromCharCode(e),i=e.toUpperCase();i!==e?t[i=wne(i.charCodeAt(0))]=i:(i=e.toLowerCase())!==e&&(t[e=wne(i.charCodeAt(0))]=e)}function Uie(e,i){return dH(e.value,e=>{if("number"==typeof e)return sq(i,e);{let t=e;return void 0!==dH(i,e=>t.from<=e&&e<=t.to)}})}function Hie(e){var t=e.quantifier;return!(!t||0!==t.atLeast)||!!e.value&&(sT(e.value)?ZU(e.value,Hie):Hie(e.value))}function qie(t,e){var i,n;return e instanceof RegExp?(i=Iie(e),(n=new Vie(t)).visit(i),n.found):void 0!==dH(e,e=>sq(t,e.charCodeAt(0)))}var Wie,Gie,Vie,Yie=e(()=>{"use strict";Pee(),zG(),Yte(),Pie(),Mne(),Wie="Complement Sets are not supported for first char optimization",Gie=`Unable to use "first char" lexer optimizations: Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+e)}}return[]}function Fie(t,r,s){switch(t.type){case"Disjunction":for(let e=0;e<t.value.length;e++)Fie(t.value[e],r,s);break;case"Alternative":var i=t.value;for(let e=0;e<i.length;e++){var n=i[e];switch(n.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}var a=n;switch(a.type){case"Character":jie(a.value,r,s);break;case"Set":if(!0===a.complement)throw Error(Wie);b(a.value,t=>{if("number"==typeof t)jie(t,r,s);else{var i=t;if(!0===s)for(let e=i.from;e<=i.to;e++)jie(e,r,s);else{for(let e=i.from;e<=i.to&&e<Lne;e++)jie(e,r,s);if(i.to>=Lne){var t=i.from>=Lne?i.from:Lne,e=i.to,t=wne(t),n=wne(e);for(let e=t;e<=n;e++)r[e]=e}}}});break;case"Group":Fie(a.value,r,s);break;default:throw Error("Non Exhaustive Match")}n=void 0!==a.quantifier&&0===a.quantifier.atLeast;if("Group"===a.type&&!1===Hie(a)||"Group"!==a.type&&!1==n)break}break;default:throw Error("non exhaustive match!")}return tq(r)}function jie(e,t,i){var n=wne(e);t[n]=n,!0===i&&zie(e,t)}function zie(e,t){var e=String.fromCharCode(e),i=e.toUpperCase();i!==e?t[i=wne(i.charCodeAt(0))]=i:(i=e.toLowerCase())!==e&&(t[e=wne(i.charCodeAt(0))]=e)}function Uie(e,i){return dH(e.value,e=>{if("number"==typeof e)return sq(i,e);{let t=e;return void 0!==dH(i,e=>t.from<=e&&e<=t.to)}})}function Hie(e){var t=e.quantifier;return!(!t||0!==t.atLeast)||!!e.value&&(sT(e.value)?QU(e.value,Hie):Hie(e.value))}function qie(t,e){var i,n;return e instanceof RegExp?(i=Iie(e),(n=new Vie(t)).visit(i),n.found):void 0!==dH(e,e=>sq(t,e.charCodeAt(0)))}var Wie,Gie,Vie,Yie=e(()=>{"use strict";Pee(),zG(),Yte(),Pie(),Mne(),Wie="Complement Sets are not supported for first char optimization",Gie=`Unable to use "first char" lexer optimizations:
`,mt(Bie,"getOptimizedStartCodesIndices"),mt(Fie,"firstCharOptimizedIndices"),mt(jie,"addOptimizedIdxToResult"),mt(zie,"handleIgnoreCase"),mt(Uie,"findCode"),mt(Hie,"isWholeOptional"),Vie=class extends Mee{static{mt(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){switch(e.type){case"Lookahead":return void this.visitLookahead(e);case"NegativeLookahead":return void this.visitNegativeLookahead(e)}super.visitChildren(e)}}visitCharacter(e){sq(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===Uie(e,this.targetCharCodes)&&(this.found=!0):void 0!==Uie(e,this.targetCharCodes)&&(this.found=!0)}},mt(qie,"canMatchCharCode")});function Xie(e,r){var t=(r=mU(r,{useSticky:_ne,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` `,mt(Bie,"getOptimizedStartCodesIndices"),mt(Fie,"firstCharOptimizedIndices"),mt(jie,"addOptimizedIdxToResult"),mt(zie,"handleIgnoreCase"),mt(Uie,"findCode"),mt(Hie,"isWholeOptional"),Vie=class extends Mee{static{mt(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){switch(e.type){case"Lookahead":return void this.visitLookahead(e);case"NegativeLookahead":return void this.visitNegativeLookahead(e)}super.visitChildren(e)}}visitCharacter(e){sq(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===Uie(e,this.targetCharCodes)&&(this.found=!0):void 0!==Uie(e,this.targetCharCodes)&&(this.found=!0)}},mt(qie,"canMatchCharCode")});function Xie(e,r){var t=(r=mU(r,{useSticky:_ne,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
`],tracer:mt((e,t)=>t(),"tracer")})).tracer;t("initCharCodeToOptimizedIndexMap",()=>{kne()});let i,n=(t("Reject Lexer.NA",()=>{i=iG(e,e=>e[Tne]===Zne.NA)}),!1),s;t("Transform Patterns",()=>{n=!1,s=v(i,e=>{var t,e=e[Tne];if(vq(e))return 1!==(t=e.source).length||"^"===t||"$"===t||"."===t||e.ignoreCase?2!==t.length||"\\"!==t[0]||sq(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],t[1])?(r.useSticky?une:hne)(e):t[1]:t;if(N6(e))return n=!0,{exec:e};if("object"==typeof e)return n=!0,e;if("string"==typeof e)return 1===e.length?e:(t=e.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),e=new RegExp(t),(r.useSticky?une:hne)(e));throw Error("non exhaustive match")})});let a,o,l,c,h;t("misc mapping",()=>{a=v(i,e=>e.tokenTypeIdx),o=v(i,e=>{e=e.GROUP;if(e!==Zne.SKIPPED){if(XH(e))return e;if(Tq(e))return!1;throw Error("non exhaustive match")}}),l=v(i,e=>{e=e.LONGER_ALT;if(e)return sT(e)?v(e,e=>cq(i,e)):[cq(i,e)]}),c=v(i,e=>e.PUSH_MODE),h=v(i,e=>GH(e,"POP_MODE"))});let u;t("Line Terminator Handling",()=>{let t=vne(r.lineTerminatorCharacters);u=v(i,e=>!1),"onlyOffset"!==r.positionTracking&&(u=v(i,e=>GH(e,"LINE_BREAKS")?!!e.LINE_BREAKS:!1===yne(e,t)&&qie(t,e.PATTERN)))});let d,p,g,f,m=(t("Misc Mapping #2",()=>{d=v(i,fne),p=v(s,mne),g=JW(i,(e,t)=>{t=t.GROUP;return XH(t)&&t!==Zne.SKIPPED&&(e[t]=[]),e},{}),f=v(s,(e,t)=>({pattern:s[t],longerAlt:l[t],canLineTerminator:u[t],isCustom:d[t],short:p[t],group:o[t],push:c[t],pop:h[t],tokenTypeIdx:a[t],tokenType:i[t]}))}),!0),y=[];return r.safeMode||t("First Char Optimization",()=>{y=JW(i,(i,e,n)=>{if("string"==typeof e.PATTERN){var t=wne(e.PATTERN.charCodeAt(0));xne(i,t,f[n])}else if(sT(e.START_CHARS_HINT)){let t;b(e.START_CHARS_HINT,e=>{e=wne("string"==typeof e?e.charCodeAt(0):e);t!==e&&(t=e,xne(i,e,f[n]))})}else vq(e.PATTERN)?e.PATTERN.unicode?(m=!1,r.ensureOptimizations&&zte(`${Gie} Unable to analyze < ${e.PATTERN.toString()} > pattern. `],tracer:mt((e,t)=>t(),"tracer")})).tracer;t("initCharCodeToOptimizedIndexMap",()=>{kne()});let i,n=(t("Reject Lexer.NA",()=>{i=iG(e,e=>e[Tne]===Qne.NA)}),!1),s;t("Transform Patterns",()=>{n=!1,s=v(i,e=>{var t,e=e[Tne];if(vq(e))return 1!==(t=e.source).length||"^"===t||"$"===t||"."===t||e.ignoreCase?2!==t.length||"\\"!==t[0]||sq(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],t[1])?(r.useSticky?une:hne)(e):t[1]:t;if(N6(e))return n=!0,{exec:e};if("object"==typeof e)return n=!0,e;if("string"==typeof e)return 1===e.length?e:(t=e.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),e=new RegExp(t),(r.useSticky?une:hne)(e));throw Error("non exhaustive match")})});let a,o,l,c,h;t("misc mapping",()=>{a=v(i,e=>e.tokenTypeIdx),o=v(i,e=>{e=e.GROUP;if(e!==Qne.SKIPPED){if(XH(e))return e;if(Tq(e))return!1;throw Error("non exhaustive match")}}),l=v(i,e=>{e=e.LONGER_ALT;if(e)return sT(e)?v(e,e=>cq(i,e)):[cq(i,e)]}),c=v(i,e=>e.PUSH_MODE),h=v(i,e=>GH(e,"POP_MODE"))});let u;t("Line Terminator Handling",()=>{let t=vne(r.lineTerminatorCharacters);u=v(i,e=>!1),"onlyOffset"!==r.positionTracking&&(u=v(i,e=>GH(e,"LINE_BREAKS")?!!e.LINE_BREAKS:!1===yne(e,t)&&qie(t,e.PATTERN)))});let d,p,g,f,m=(t("Misc Mapping #2",()=>{d=v(i,fne),p=v(s,mne),g=JW(i,(e,t)=>{t=t.GROUP;return XH(t)&&t!==Qne.SKIPPED&&(e[t]=[]),e},{}),f=v(s,(e,t)=>({pattern:s[t],longerAlt:l[t],canLineTerminator:u[t],isCustom:d[t],short:p[t],group:o[t],push:c[t],pop:h[t],tokenTypeIdx:a[t],tokenType:i[t]}))}),!0),y=[];return r.safeMode||t("First Char Optimization",()=>{y=JW(i,(i,e,n)=>{if("string"==typeof e.PATTERN){var t=wne(e.PATTERN.charCodeAt(0));xne(i,t,f[n])}else if(sT(e.START_CHARS_HINT)){let t;b(e.START_CHARS_HINT,e=>{e=wne("string"==typeof e?e.charCodeAt(0):e);t!==e&&(t=e,xne(i,e,f[n]))})}else vq(e.PATTERN)?e.PATTERN.unicode?(m=!1,r.ensureOptimizations&&zte(`${Gie} Unable to analyze < ${e.PATTERN.toString()} > pattern.
The regexp unicode flag is not currently supported by the regexp-to-ast library. The regexp unicode flag is not currently supported by the regexp-to-ast library.
This will disable the lexer's first char optimizations. This will disable the lexer's first char optimizations.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`)):(t=Bie(e.PATTERN,r.ensureOptimizations),gq(t)&&(m=!1),b(t,e=>{xne(i,e,f[n])})):(r.ensureOptimizations&&zte(`${Gie} TokenType: <${e.name}> is using a custom token pattern without providing <start_chars_hint> parameter. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`)):(t=Bie(e.PATTERN,r.ensureOptimizations),gq(t)&&(m=!1),b(t,e=>{xne(i,e,f[n])})):(r.ensureOptimizations&&zte(`${Gie} TokenType: <${e.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
This will disable the lexer's first char optimizations. This will disable the lexer's first char optimizations.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),m=!1);return i},[])}),{emptyGroups:g,patternIdxToConfig:f,charCodeToPatternIdxToConfig:y,hasCustom:n,canBeOptimized:m}}function Kie(e,t){let i=[],n=Qie(e);i=i.concat(n.errors);var e=Jie(n.valid),r=e.valid;return i=(i=(i=(i=(i=i.concat(e.errors)).concat(Zie(r))).concat(sne(r))).concat(ane(r,t))).concat(one(r))}function Zie(e){let t=[],i=nH(e,e=>vq(e[Tne]));return t=(t=(t=(t=(t=t.concat(ene(i))).concat(ine(i))).concat(nne(i))).concat(rne(i))).concat(tne(i))}function Qie(e){var t=nH(e,e=>!GH(e,Tne));return{errors:v(t,e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:Xne.MISSING_PATTERN,tokenTypes:[e]})),valid:_U(e,t)}}function Jie(e){var t=nH(e,e=>{e=e[Tne];return!(vq(e)||N6(e)||GH(e,"exec")||XH(e))});return{errors:v(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Xne.INVALID_PATTERN,tokenTypes:[e]})),valid:_U(e,t)}}function ene(e){class n extends Mee{static{mt(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}e=nH(e,e=>{e=e.PATTERN;try{var t=Iie(e),i=new n;return i.visit(t),i.found}catch{return Ane.test(e.source)}});return v(e,e=>({message:`Unexpected RegExp Anchor Error: For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),m=!1);return i},[])}),{emptyGroups:g,patternIdxToConfig:f,charCodeToPatternIdxToConfig:y,hasCustom:n,canBeOptimized:m}}function Kie(e,t){let i=[],n=Zie(e);i=i.concat(n.errors);var e=Jie(n.valid),r=e.valid;return i=(i=(i=(i=(i=i.concat(e.errors)).concat(Qie(r))).concat(sne(r))).concat(ane(r,t))).concat(one(r))}function Qie(e){let t=[],i=nH(e,e=>vq(e[Tne]));return t=(t=(t=(t=(t=t.concat(ene(i))).concat(ine(i))).concat(nne(i))).concat(rne(i))).concat(tne(i))}function Zie(e){var t=nH(e,e=>!GH(e,Tne));return{errors:v(t,e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:Xne.MISSING_PATTERN,tokenTypes:[e]})),valid:_U(e,t)}}function Jie(e){var t=nH(e,e=>{e=e[Tne];return!(vq(e)||N6(e)||GH(e,"exec")||XH(e))});return{errors:v(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Xne.INVALID_PATTERN,tokenTypes:[e]})),valid:_U(e,t)}}function ene(e){class n extends Mee{static{mt(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}e=nH(e,e=>{e=e.PATTERN;try{var t=Iie(e),i=new n;return i.visit(t),i.found}catch{return Ane.test(e.source)}});return v(e,e=>({message:`Unexpected RegExp Anchor Error:
Token Type: ->`+e.name+`<- static 'PATTERN' cannot contain end of input anchor '$' Token Type: ->`+e.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Xne.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}function tne(e){e=nH(e,e=>e.PATTERN.test(""));return v(e,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:Xne.EMPTY_MATCH_PATTERN,tokenTypes:[e]}))}function ine(e){class n extends Mee{static{mt(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}e=nH(e,e=>{e=e.PATTERN;try{var t=Iie(e),i=new n;return i.visit(t),i.found}catch{return Ene.test(e.source)}});return v(e,e=>({message:`Unexpected RegExp Anchor Error: See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Xne.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}function tne(e){e=nH(e,e=>e.PATTERN.test(""));return v(e,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:Xne.EMPTY_MATCH_PATTERN,tokenTypes:[e]}))}function ine(e){class n extends Mee{static{mt(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}e=nH(e,e=>{e=e.PATTERN;try{var t=Iie(e),i=new n;return i.visit(t),i.found}catch{return Ene.test(e.source)}});return v(e,e=>({message:`Unexpected RegExp Anchor Error:
Token Type: ->`+e.name+`<- static 'PATTERN' cannot contain start of input anchor '^' Token Type: ->`+e.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Xne.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}function nne(e){e=nH(e,e=>{e=e[Tne];return e instanceof RegExp&&(e.multiline||e.global)});return v(e,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Xne.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}))}function rne(e){let n=[],t=v(e,i=>JW(e,(e,t)=>(i.PATTERN.source!==t.PATTERN.source||sq(n,t)||t.PATTERN===Zne.NA||(n.push(t),e.push(t)),e),[]));t=mj(t);var i=nH(t,e=>1<e.length);return v(i,e=>{var t=v(e,e=>e.name);return{message:`The same RegExp pattern ->${mH(e).PATTERN}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:Xne.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})}function sne(e){e=nH(e,e=>{return!!GH(e,"GROUP")&&(e=e.GROUP)!==Zne.SKIPPED&&e!==Zne.NA&&!XH(e)});return v(e,e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Xne.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}))}function ane(e,t){e=nH(e,e=>void 0!==e.PUSH_MODE&&!sq(t,e.PUSH_MODE));return v(e,e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:Xne.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}))}function one(e){let s=[],t=JW(e,(e,t,i)=>{var n=t.PATTERN;return n!==Zne.NA&&(XH(n)?e.push({str:n,idx:i,tokenType:t}):vq(n)&&cne(n)&&e.push({str:n.source,idx:i,tokenType:t})),e},[]);return b(e,(n,r)=>{b(t,({str:e,idx:t,tokenType:i})=>{r<t&&lne(e,n.PATTERN)&&(t=`Token: ->${i.name}<- can never be matched. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Xne.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}function nne(e){e=nH(e,e=>{e=e[Tne];return e instanceof RegExp&&(e.multiline||e.global)});return v(e,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Xne.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}))}function rne(e){let n=[],t=v(e,i=>JW(e,(e,t)=>(i.PATTERN.source!==t.PATTERN.source||sq(n,t)||t.PATTERN===Qne.NA||(n.push(t),e.push(t)),e),[]));t=mj(t);var i=nH(t,e=>1<e.length);return v(i,e=>{var t=v(e,e=>e.name);return{message:`The same RegExp pattern ->${mH(e).PATTERN}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:Xne.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})}function sne(e){e=nH(e,e=>{return!!GH(e,"GROUP")&&(e=e.GROUP)!==Qne.SKIPPED&&e!==Qne.NA&&!XH(e)});return v(e,e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Xne.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}))}function ane(e,t){e=nH(e,e=>void 0!==e.PUSH_MODE&&!sq(t,e.PUSH_MODE));return v(e,e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:Xne.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}))}function one(e){let s=[],t=JW(e,(e,t,i)=>{var n=t.PATTERN;return n!==Qne.NA&&(XH(n)?e.push({str:n,idx:i,tokenType:t}):vq(n)&&cne(n)&&e.push({str:n.source,idx:i,tokenType:t})),e},[]);return b(e,(n,r)=>{b(t,({str:e,idx:t,tokenType:i})=>{r<t&&lne(e,n.PATTERN)&&(t=`Token: ->${i.name}<- can never be matched.
Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition. Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`,s.push({message:t,type:Xne.UNREACHABLE_PATTERN,tokenTypes:[n,i]}))})}),s}function lne(e,t){var i;if(vq(t))return null!==(i=t.exec(e))&&0===i.index;if(N6(t))return t(e,0,[],{});if(GH(t,"exec"))return t.exec(e,0,[],{});if("string"==typeof t)return t===e;throw Error("non exhaustive match")}function cne(t){return void 0===dH([".","\\","[","]","|","^","$","(",")","?","*","+","{"],e=>-1!==t.source.indexOf(e))}function hne(e){var t=e.ignoreCase?"i":"";return new RegExp(`^(?:${e.source})`,t)}function une(e){var t=e.ignoreCase?"iy":"y";return new RegExp(""+e.source,t)}function dne(e,t,i){let r=[];return GH(e,Sne)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Sne+`> property in its definition See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`,s.push({message:t,type:Xne.UNREACHABLE_PATTERN,tokenTypes:[n,i]}))})}),s}function lne(e,t){var i;if(vq(t))return null!==(i=t.exec(e))&&0===i.index;if(N6(t))return t(e,0,[],{});if(GH(t,"exec"))return t.exec(e,0,[],{});if("string"==typeof t)return t===e;throw Error("non exhaustive match")}function cne(t){return void 0===dH([".","\\","[","]","|","^","$","(",")","?","*","+","{"],e=>-1!==t.source.indexOf(e))}function hne(e){var t=e.ignoreCase?"i":"";return new RegExp(`^(?:${e.source})`,t)}function une(e){var t=e.ignoreCase?"iy":"y";return new RegExp(""+e.source,t)}function dne(e,t,i){let r=[];return GH(e,Sne)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Sne+`> property in its definition
`,type:Xne.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),GH(e,Cne)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Cne+`> property in its definition `,type:Xne.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),GH(e,Cne)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Cne+`> property in its definition
`,type:Xne.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),GH(e,Cne)&&GH(e,Sne)&&!GH(e.modes,e.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${Sne}: <${e.defaultMode}>which does not exist `,type:Xne.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),GH(e,Cne)&&GH(e,Sne)&&!GH(e.modes,e.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${Sne}: <${e.defaultMode}>which does not exist
`,type:Xne.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),GH(e,Cne)&&b(e.modes,(i,n)=>{b(i,(t,e)=>{Tq(t)?r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${n}> at index: <${e}> `,type:Xne.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),GH(e,Cne)&&b(e.modes,(i,n)=>{b(i,(t,e)=>{Tq(t)?r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${n}> at index: <${e}>
`,type:Xne.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):GH(t,"LONGER_ALT")&&(e=sT(t.LONGER_ALT)?t.LONGER_ALT:[t.LONGER_ALT],b(e,e=>{Tq(e)||sq(i,e)||r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${e.name}> on token <${t.name}> outside of mode <${n}> `,type:Xne.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):GH(t,"LONGER_ALT")&&(e=sT(t.LONGER_ALT)?t.LONGER_ALT:[t.LONGER_ALT],b(e,e=>{Tq(e)||sq(i,e)||r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${e.name}> on token <${t.name}> outside of mode <${n}>
`,type:Xne.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})}))})}),r}function pne(e,t,i){let n=[],r=!1,s=mj(iB(tq(e.modes))),a=iG(s,e=>e[Tne]===Zne.NA),o=vne(i);return t&&b(a,e=>{var t=yne(e,o);!1!==t?(t={message:bne(e,t),type:t.issue,tokenType:e},n.push(t)):GH(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(r=!0):qie(o,e.PATTERN)&&(r=!0)}),t&&!r&&n.push({message:`Warning: No LINE_BREAKS Found. `,type:Xne.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})}))})}),r}function pne(e,t,i){let n=[],r=!1,s=mj(iB(tq(e.modes))),a=iG(s,e=>e[Tne]===Qne.NA),o=vne(i);return t&&b(a,e=>{var t=yne(e,o);!1!==t?(t={message:bne(e,t),type:t.issue,tokenType:e},n.push(t)):GH(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(r=!0):qie(o,e.PATTERN)&&(r=!0)}),t&&!r&&n.push({message:`Warning: No LINE_BREAKS Found.
This Lexer has been defined to track line and column information, This Lexer has been defined to track line and column information,
But none of the Token Types can be identified as matching a line terminator. But none of the Token Types can be identified as matching a line terminator.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
@@ -751,8 +751,8 @@ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`,s.
Root cause: ${t.errMsg}. Root cause: ${t.errMsg}.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===Xne.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===Xne.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
The problem is in the <${e.name}> Token Type The problem is in the <${e.name}> Token Type
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function vne(e){return v(e,e=>XH(e)?e.charCodeAt(0):e)}function xne(e,t,i){void 0===e[t]?e[t]=[i]:e[t].push(i)}function wne(e){return e<Lne?e:Rne[e]}function kne(){if(gq(Rne)){Rne=new Array(65536);for(let e=0;e<65536;e++)Rne[e]=255<e?255+~~(e/255):e}}var Tne,Sne,Cne,_ne,Ane,Ene,$ne,Lne,Rne,Mne=e(()=>{"use strict";Pee(),ere(),zG(),Yte(),Yie(),Pie(),Tne="PATTERN",Sne="defaultMode",Cne="modes",_ne="boolean"==typeof new RegExp("(?:)").sticky,mt(Xie,"analyzeTokenTypes"),mt(Kie,"validatePatterns"),mt(Zie,"validateRegExpPattern"),mt(Qie,"findMissingPatterns"),mt(Jie,"findInvalidPatterns"),Ane=/[^\\][$]/,mt(ene,"findEndOfInputAnchor"),mt(tne,"findEmptyMatchRegExps"),Ene=/[^\\[][\^]|^\^/,mt(ine,"findStartOfInputAnchor"),mt(nne,"findUnsupportedFlags"),mt(rne,"findDuplicatePatterns"),mt(sne,"findInvalidGroupType"),mt(ane,"findModesThatDoNotExist"),mt(one,"findUnreachablePatterns"),mt(lne,"testTokenType"),mt(cne,"noMetaChar"),mt(hne,"addStartOfInput"),mt(une,"addStickyFlag"),mt(dne,"performRuntimeChecks"),mt(pne,"performWarningRuntimeChecks"),mt(gne,"cloneEmptyGroups"),mt(fne,"isCustomPattern"),mt(mne,"isShortPattern"),$ne={test:mt(function(t){var i=t.length;for(let e=this.lastIndex;e<i;e++){var n=t.charCodeAt(e);if(10===n)return this.lastIndex=e+1,!0;if(13===n)return 10===t.charCodeAt(e+1)?this.lastIndex=e+2:this.lastIndex=e+1,!0}return!1},"test"),lastIndex:0},mt(yne,"checkLineBreaksIssues"),mt(bne,"buildLineBreakIssueMessage"),mt(vne,"getCharCodes"),mt(xne,"addToMapOfArrays"),Lne=256,Rne=[],mt(wne,"charCodeToOptimizedIndex"),mt(kne,"initCharCodeToOptimizedIndexMap")});function Ine(e,t){e=e.tokenTypeIdx;return e===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[e]}function Nne(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}function Dne(e){e=One(e);Pne(e),Fne(e),Bne(e),b(e,e=>{e.isParent=0<e.categoryMatches.length})}function One(e){let t=hj(e),i=e,n=!0;for(;n;){i=mj(iB(v(i,e=>e.CATEGORIES)));var r=_U(i,t);t=t.concat(r),gq(r)?n=!1:i=r}return t}function Pne(e){b(e,e=>{zne(e)||((Vne[Gne]=e).tokenTypeIdx=Gne++),Une(e)&&!sT(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Une(e)||(e.CATEGORIES=[]),Hne(e)||(e.categoryMatches=[]),qne(e)||(e.categoryMatchesMap={})})}function Bne(e){b(e,i=>{i.categoryMatches=[],b(i.categoryMatchesMap,(e,t)=>{i.categoryMatches.push(Vne[t].tokenTypeIdx)})})}function Fne(e){b(e,e=>{jne([],e)})}function jne(i,n){b(i,e=>{n.categoryMatchesMap[e.tokenTypeIdx]=!0}),b(n.CATEGORIES,e=>{var t=i.concat(n);sq(t,e)||jne(t,e)})}function zne(e){return GH(e,"tokenTypeIdx")}function Une(e){return GH(e,"CATEGORIES")}function Hne(e){return GH(e,"categoryMatches")}function qne(e){return GH(e,"categoryMatchesMap")}function Wne(e){return GH(e,"tokenTypeIdx")}var Gne,Vne,Yne,Xne,Kne,Zne,Qne=e(()=>{"use strict";zG(),mt(Ine,"tokenStructuredMatcher"),mt(Nne,"tokenStructuredMatcherNoCategories"),Gne=1,Vne={},mt(Dne,"augmentTokenTypes"),mt(One,"expandCategories"),mt(Pne,"assignTokenDefaultProps"),mt(Bne,"assignCategoriesTokensProp"),mt(Fne,"assignCategoriesMapProp"),mt(jne,"singleAssignCategoriesToksMap"),mt(zne,"hasShortKeyProperty"),mt(Une,"hasCategoriesProperty"),mt(Hne,"hasExtendingTokensTypesProperty"),mt(qne,"hasExtendingTokensTypesMapProperty"),mt(Wne,"isTokenType")}),Jne=e(()=>{"use strict";Yne={buildUnableToPopLexerModeMessage(e){return`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(e,t,i,n,r){return`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${i} characters.`}}}),ere=e(()=>{"use strict";var e;Mne(),zG(),Yte(),Qne(),Jne(),Pie(),(e=Xne=Xne||{})[e.MISSING_PATTERN=0]="MISSING_PATTERN",e[e.INVALID_PATTERN=1]="INVALID_PATTERN",e[e.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",e[e.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",e[e.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",e[e.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",e[e.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",e[e.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",e[e.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",e[e.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",e[e.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",e[e.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",e[e.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",e[e.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",e[e.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",e[e.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",e[e.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",e[e.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE",Kne={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function vne(e){return v(e,e=>XH(e)?e.charCodeAt(0):e)}function xne(e,t,i){void 0===e[t]?e[t]=[i]:e[t].push(i)}function wne(e){return e<Lne?e:Rne[e]}function kne(){if(gq(Rne)){Rne=new Array(65536);for(let e=0;e<65536;e++)Rne[e]=255<e?255+~~(e/255):e}}var Tne,Sne,Cne,_ne,Ane,Ene,$ne,Lne,Rne,Mne=e(()=>{"use strict";Pee(),ere(),zG(),Yte(),Yie(),Pie(),Tne="PATTERN",Sne="defaultMode",Cne="modes",_ne="boolean"==typeof new RegExp("(?:)").sticky,mt(Xie,"analyzeTokenTypes"),mt(Kie,"validatePatterns"),mt(Qie,"validateRegExpPattern"),mt(Zie,"findMissingPatterns"),mt(Jie,"findInvalidPatterns"),Ane=/[^\\][$]/,mt(ene,"findEndOfInputAnchor"),mt(tne,"findEmptyMatchRegExps"),Ene=/[^\\[][\^]|^\^/,mt(ine,"findStartOfInputAnchor"),mt(nne,"findUnsupportedFlags"),mt(rne,"findDuplicatePatterns"),mt(sne,"findInvalidGroupType"),mt(ane,"findModesThatDoNotExist"),mt(one,"findUnreachablePatterns"),mt(lne,"testTokenType"),mt(cne,"noMetaChar"),mt(hne,"addStartOfInput"),mt(une,"addStickyFlag"),mt(dne,"performRuntimeChecks"),mt(pne,"performWarningRuntimeChecks"),mt(gne,"cloneEmptyGroups"),mt(fne,"isCustomPattern"),mt(mne,"isShortPattern"),$ne={test:mt(function(t){var i=t.length;for(let e=this.lastIndex;e<i;e++){var n=t.charCodeAt(e);if(10===n)return this.lastIndex=e+1,!0;if(13===n)return 10===t.charCodeAt(e+1)?this.lastIndex=e+2:this.lastIndex=e+1,!0}return!1},"test"),lastIndex:0},mt(yne,"checkLineBreaksIssues"),mt(bne,"buildLineBreakIssueMessage"),mt(vne,"getCharCodes"),mt(xne,"addToMapOfArrays"),Lne=256,Rne=[],mt(wne,"charCodeToOptimizedIndex"),mt(kne,"initCharCodeToOptimizedIndexMap")});function Ine(e,t){e=e.tokenTypeIdx;return e===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[e]}function Nne(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}function Dne(e){e=One(e);Pne(e),Fne(e),Bne(e),b(e,e=>{e.isParent=0<e.categoryMatches.length})}function One(e){let t=hj(e),i=e,n=!0;for(;n;){i=mj(iB(v(i,e=>e.CATEGORIES)));var r=_U(i,t);t=t.concat(r),gq(r)?n=!1:i=r}return t}function Pne(e){b(e,e=>{zne(e)||((Vne[Gne]=e).tokenTypeIdx=Gne++),Une(e)&&!sT(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Une(e)||(e.CATEGORIES=[]),Hne(e)||(e.categoryMatches=[]),qne(e)||(e.categoryMatchesMap={})})}function Bne(e){b(e,i=>{i.categoryMatches=[],b(i.categoryMatchesMap,(e,t)=>{i.categoryMatches.push(Vne[t].tokenTypeIdx)})})}function Fne(e){b(e,e=>{jne([],e)})}function jne(i,n){b(i,e=>{n.categoryMatchesMap[e.tokenTypeIdx]=!0}),b(n.CATEGORIES,e=>{var t=i.concat(n);sq(t,e)||jne(t,e)})}function zne(e){return GH(e,"tokenTypeIdx")}function Une(e){return GH(e,"CATEGORIES")}function Hne(e){return GH(e,"categoryMatches")}function qne(e){return GH(e,"categoryMatchesMap")}function Wne(e){return GH(e,"tokenTypeIdx")}var Gne,Vne,Yne,Xne,Kne,Qne,Zne=e(()=>{"use strict";zG(),mt(Ine,"tokenStructuredMatcher"),mt(Nne,"tokenStructuredMatcherNoCategories"),Gne=1,Vne={},mt(Dne,"augmentTokenTypes"),mt(One,"expandCategories"),mt(Pne,"assignTokenDefaultProps"),mt(Bne,"assignCategoriesTokensProp"),mt(Fne,"assignCategoriesMapProp"),mt(jne,"singleAssignCategoriesToksMap"),mt(zne,"hasShortKeyProperty"),mt(Une,"hasCategoriesProperty"),mt(Hne,"hasExtendingTokensTypesProperty"),mt(qne,"hasExtendingTokensTypesMapProperty"),mt(Wne,"isTokenType")}),Jne=e(()=>{"use strict";Yne={buildUnableToPopLexerModeMessage(e){return`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(e,t,i,n,r){return`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${i} characters.`}}}),ere=e(()=>{"use strict";var e;Mne(),zG(),Yte(),Zne(),Jne(),Pie(),(e=Xne=Xne||{})[e.MISSING_PATTERN=0]="MISSING_PATTERN",e[e.INVALID_PATTERN=1]="INVALID_PATTERN",e[e.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",e[e.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",e[e.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",e[e.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",e[e.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",e[e.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",e[e.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",e[e.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",e[e.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",e[e.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",e[e.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",e[e.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",e[e.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",e[e.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",e[e.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",e[e.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE",Kne={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Yne,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0},Object.freeze(Kne),(Zne=class{static{mt(this,"Lexer")}constructor(r,s=Kne){if(this.lexerDefinition=r,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{var i,n,r,s;return!0===this.traceInitPerf?(this.traceInitIndent++,i=new Array(this.traceInitIndent+1).join("\t"),{time:n,value:r}=(this.traceInitIndent<this.traceInitMaxIdent&&console.log(i+`--> <${e}>`),qte(t)),s=10<n?console.warn:console.log,this.traceInitIndent<this.traceInitMaxIdent&&s(i+`<-- <${e}> time: ${n}ms`),this.traceInitIndent--,r):t()},"boolean"==typeof s)throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Yne,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0},Object.freeze(Kne),(Qne=class{static{mt(this,"Lexer")}constructor(r,s=Kne){if(this.lexerDefinition=r,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{var i,n,r,s;return!0===this.traceInitPerf?(this.traceInitIndent++,i=new Array(this.traceInitIndent+1).join("\t"),{time:n,value:r}=(this.traceInitIndent<this.traceInitMaxIdent&&console.log(i+`--> <${e}>`),qte(t)),s=10<n?console.warn:console.log,this.traceInitIndent<this.traceInitMaxIdent&&s(i+`<-- <${e}> time: ${n}ms`),this.traceInitIndent--,r):t()},"boolean"==typeof s)throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
a boolean 2nd argument is no longer supported`);this.config=gP({},Kne,s);var e=this.config.traceInitPerf;!0===e?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof e&&(this.traceInitMaxIdent=e,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,e=!0,n=(this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Kne.lineTerminatorsPattern)this.config.lineTerminatorsPattern=$ne;else if(this.config.lineTerminatorCharacters===Kne.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config. a boolean 2nd argument is no longer supported`);this.config=gP({},Kne,s);var e=this.config.traceInitPerf;!0===e?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof e&&(this.traceInitMaxIdent=e,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,e=!0,n=(this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Kne.lineTerminatorsPattern)this.config.lineTerminatorsPattern=$ne;else if(this.config.lineTerminatorCharacters===Kne.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(s.safeMode&&s.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),i=sT(r)?{modes:{defaultMode:hj(r)},defaultMode:Sne}:(e=!1,hj(r))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(dne(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(pne(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes||{},b(i.modes,(e,t)=>{i.modes[t]=iG(e,e=>Tq(e))}),uP(i.modes));var t;if(b(i.modes,(t,i)=>{this.TRACE_INIT(`Mode: <${i}> processing`,()=>{if(this.modes.push(i),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Kie(t,n))}),gq(this.lexerDefinitionErrors)){Dne(t);let e;this.TRACE_INIT("analyzeTokenTypes",()=>{e=Xie(t,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:s.positionTracking,ensureOptimizations:s.ensureOptimizations,safeMode:s.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[i]=e.patternIdxToConfig,this.charCodeToPatternIdxToConfig[i]=e.charCodeToPatternIdxToConfig,this.emptyGroups=gP({},this.emptyGroups,e.emptyGroups),this.hasCustom=e.hasCustom||this.hasCustom,this.canModeBeOptimized[i]=e.canBeOptimized}})}),this.defaultMode=i.defaultMode,!gq(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling)throw t=v(this.lexerDefinitionErrors,e=>e.message).join(`----------------------- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(s.safeMode&&s.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),i=sT(r)?{modes:{defaultMode:hj(r)},defaultMode:Sne}:(e=!1,hj(r))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(dne(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(pne(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes||{},b(i.modes,(e,t)=>{i.modes[t]=iG(e,e=>Tq(e))}),uP(i.modes));var t;if(b(i.modes,(t,i)=>{this.TRACE_INIT(`Mode: <${i}> processing`,()=>{if(this.modes.push(i),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Kie(t,n))}),gq(this.lexerDefinitionErrors)){Dne(t);let e;this.TRACE_INIT("analyzeTokenTypes",()=>{e=Xie(t,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:s.positionTracking,ensureOptimizations:s.ensureOptimizations,safeMode:s.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[i]=e.patternIdxToConfig,this.charCodeToPatternIdxToConfig[i]=e.charCodeToPatternIdxToConfig,this.emptyGroups=gP({},this.emptyGroups,e.emptyGroups),this.hasCustom=e.hasCustom||this.hasCustom,this.canModeBeOptimized[i]=e.canBeOptimized}})}),this.defaultMode=i.defaultMode,!gq(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling)throw t=v(this.lexerDefinitionErrors,e=>e.message).join(`-----------------------
`),new Error(`Errors detected in definition of Lexer: `),new Error(`Errors detected in definition of Lexer:
@@ -760,8 +760,8 @@ a boolean 2nd argument is no longer supported`);this.config=gP({},Kne,s);var e=t
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{Nie()}),this.TRACE_INIT("toFastProperties",()=>{Gte(this)})})}tokenize(e,t=this.defaultMode){if(gq(this.lexerDefinitionErrors))return this.tokenizeInternal(e,t);throw e=v(this.lexerDefinitionErrors,e=>e.message).join(`----------------------- Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{Nie()}),this.TRACE_INIT("toFastProperties",()=>{Gte(this)})})}tokenize(e,t=this.defaultMode){if(gq(this.lexerDefinitionErrors))return this.tokenizeInternal(e,t);throw e=v(this.lexerDefinitionErrors,e=>e.message).join(`-----------------------
`),new Error(`Unable to Tokenize because Errors detected in definition of Lexer: `),new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
`+e)}tokenizeInternal(r,O){let e,s,t,i,n,a,o,l,c,h,P,u,d,B,p,g=r,F=g.length,f=0,m=0,j=this.hasCustom?0:Math.floor(r.length/10),y=new Array(j),b=[],v=this.trackStartLines?1:void 0,x=this.trackStartLines?1:void 0,w=gne(this.emptyGroups),z=this.trackStartLines,k=this.config.lineTerminatorsPattern,T=0,S=[],C=[],_=[],U=[];Object.freeze(U);let A;function E(){return S}function $(e){e=wne(e),e=C[e];return void 0===e?U:e}mt(E,"getPossiblePatternsSlow"),mt($,"getPossiblePatternsOptimized");var H=mt(e=>{var t;1===_.length&&void 0===e.tokenType.PUSH_MODE?(t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e),b.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})):(_.pop(),e=LU(_),S=this.patternIdxToConfig[e],C=this.charCodeToPatternIdxToConfig[e],T=S.length,t=this.canModeBeOptimized[e]&&!1===this.config.safeMode,A=C&&t?$:E)},"pop_mode");function L(e){_.push(e),C=this.charCodeToPatternIdxToConfig[e],S=this.patternIdxToConfig[e],T=S.length,T=S.length;e=this.canModeBeOptimized[e]&&!1===this.config.safeMode;A=C&&e?$:E}mt(L,"push_mode"),L.call(this,O);let R,q=this.config.recoveryEnabled;for(;f<F;){a=null;var W=g.charCodeAt(f),G=A(W),V=G.length;for(e=0;e<V;e++){var M=(R=G[e]).pattern,Y=(o=null,R.short);if(!1!==Y?W===Y&&(a=M):!0===R.isCustom?null!==(p=M.exec(g,f,y,w))?(a=p[0],void 0!==p.payload&&(o=p.payload)):a=null:(this.updateLastIndex(M,f),a=this.match(M,r,f)),null!==a){if(void 0!==(n=R.longerAlt)){var X=n.length;for(t=0;t<X;t++){var I=S[n[t]],N=I.pattern;if(!(l=null)===I.isCustom?null!==(p=N.exec(g,f,y,w))?(i=p[0],void 0!==p.payload&&(l=p.payload)):i=null:(this.updateLastIndex(N,f),i=this.match(N,r,f)),i&&i.length>a.length){a=i,o=l,R=I;break}}}break}}if(null!==a){if(c=a.length,void 0!==(h=R.group)&&(P=R.tokenTypeIdx,u=this.createTokenInstance(a,f,P,R.tokenType,v,x,c),this.handlePayload(u,o),!1===h?m=this.addToken(y,m,u):w[h].push(u)),r=this.chopInput(r,c),f+=c,x=this.computeNewColumn(x,c),!0===z&&!0===R.canLineTerminator){let e=0,t,i;for(k.lastIndex=0;!0===(t=k.test(a))&&(i=k.lastIndex-1,e++),!0===t;);0!==e&&(v+=e,x=c-i,this.updateTokenEndLineColumnLocation(u,h,i,e,v,x,c))}this.handleModes(R,H,L,u)}else{let e=f,t=v,i=x,n=!1===q;for(;!1===n&&f<F;)for(r=this.chopInput(r,1),f++,s=0;s<T;s++){var D=S[s],K=D.pattern,Z=D.short;if(!1!==Z?g.charCodeAt(f)===Z&&(n=!0):n=!0===D.isCustom?null!==K.exec(g,f,y,w):(this.updateLastIndex(K,f),null!==K.exec(r)),!0===n)break}if(d=f-e,x=this.computeNewColumn(x,d),B=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(g,e,d,t,i),b.push({offset:e,line:t,column:i,length:d,message:B}),!1===q)break}}return this.hasCustom||(y.length=m),{tokens:y,groups:w,errors:b}}handleModes(e,t,i,n){var r;!0===e.pop?(r=e.push,t(n),void 0!==r&&i.call(this,r)):void 0!==e.push&&i.call(this,e.push)}chopInput(e,t){return e.substring(t)}updateLastIndex(e,t){e.lastIndex=t}updateTokenEndLineColumnLocation(e,t,i,n,r,s,a){void 0!==t&&(i=(t=i===a-1)?-1:0,1===n&&!0==t||(e.endLine=r+i,e.endColumn=s-1-i))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,i,n){return{image:e,startOffset:t,tokenTypeIdx:i,tokenType:n}}createStartOnlyToken(e,t,i,n,r,s){return{image:e,startOffset:t,startLine:r,startColumn:s,tokenTypeIdx:i,tokenType:n}}createFullToken(e,t,i,n,r,s,a){return{image:e,startOffset:t,endOffset:t+a-1,startLine:r,endLine:r,startColumn:s,endColumn:s+a-1,tokenTypeIdx:i,tokenType:n}}addTokenUsingPush(e,t,i){return e.push(i),t}addTokenUsingMemberAccess(e,t,i){return e[t]=i,++t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){null!==t&&(e.payload=t)}matchWithTest(e,t,i){return!0===e.test(t)?t.substring(i,e.lastIndex):null}matchWithExec(e,t){e=e.exec(t);return null!==e?e[0]:null}}).SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",Zne.NA=/NOT_APPLICABLE/});function tre(e){return ire(e)?e.LABEL:e.name}function ire(e){return XH(e.LABEL)&&""!==e.LABEL}function nre(e){return rre(e)}function rre(e){var t=e.pattern,i={};if(i.name=e.name,Tq(t)||(i.PATTERN=t),GH(e,ore))throw`The parent property is no longer supported. `+e)}tokenizeInternal(r,O){let e,s,t,i,n,a,o,l,c,h,P,u,d,B,p,g=r,F=g.length,f=0,m=0,j=this.hasCustom?0:Math.floor(r.length/10),y=new Array(j),b=[],v=this.trackStartLines?1:void 0,x=this.trackStartLines?1:void 0,w=gne(this.emptyGroups),z=this.trackStartLines,k=this.config.lineTerminatorsPattern,T=0,S=[],C=[],_=[],U=[];Object.freeze(U);let A;function E(){return S}function $(e){e=wne(e),e=C[e];return void 0===e?U:e}mt(E,"getPossiblePatternsSlow"),mt($,"getPossiblePatternsOptimized");var H=mt(e=>{var t;1===_.length&&void 0===e.tokenType.PUSH_MODE?(t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e),b.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})):(_.pop(),e=LU(_),S=this.patternIdxToConfig[e],C=this.charCodeToPatternIdxToConfig[e],T=S.length,t=this.canModeBeOptimized[e]&&!1===this.config.safeMode,A=C&&t?$:E)},"pop_mode");function L(e){_.push(e),C=this.charCodeToPatternIdxToConfig[e],S=this.patternIdxToConfig[e],T=S.length,T=S.length;e=this.canModeBeOptimized[e]&&!1===this.config.safeMode;A=C&&e?$:E}mt(L,"push_mode"),L.call(this,O);let R,q=this.config.recoveryEnabled;for(;f<F;){a=null;var W=g.charCodeAt(f),G=A(W),V=G.length;for(e=0;e<V;e++){var M=(R=G[e]).pattern,Y=(o=null,R.short);if(!1!==Y?W===Y&&(a=M):!0===R.isCustom?null!==(p=M.exec(g,f,y,w))?(a=p[0],void 0!==p.payload&&(o=p.payload)):a=null:(this.updateLastIndex(M,f),a=this.match(M,r,f)),null!==a){if(void 0!==(n=R.longerAlt)){var X=n.length;for(t=0;t<X;t++){var I=S[n[t]],N=I.pattern;if(!(l=null)===I.isCustom?null!==(p=N.exec(g,f,y,w))?(i=p[0],void 0!==p.payload&&(l=p.payload)):i=null:(this.updateLastIndex(N,f),i=this.match(N,r,f)),i&&i.length>a.length){a=i,o=l,R=I;break}}}break}}if(null!==a){if(c=a.length,void 0!==(h=R.group)&&(P=R.tokenTypeIdx,u=this.createTokenInstance(a,f,P,R.tokenType,v,x,c),this.handlePayload(u,o),!1===h?m=this.addToken(y,m,u):w[h].push(u)),r=this.chopInput(r,c),f+=c,x=this.computeNewColumn(x,c),!0===z&&!0===R.canLineTerminator){let e=0,t,i;for(k.lastIndex=0;!0===(t=k.test(a))&&(i=k.lastIndex-1,e++),!0===t;);0!==e&&(v+=e,x=c-i,this.updateTokenEndLineColumnLocation(u,h,i,e,v,x,c))}this.handleModes(R,H,L,u)}else{let e=f,t=v,i=x,n=!1===q;for(;!1===n&&f<F;)for(r=this.chopInput(r,1),f++,s=0;s<T;s++){var D=S[s],K=D.pattern,Q=D.short;if(!1!==Q?g.charCodeAt(f)===Q&&(n=!0):n=!0===D.isCustom?null!==K.exec(g,f,y,w):(this.updateLastIndex(K,f),null!==K.exec(r)),!0===n)break}if(d=f-e,x=this.computeNewColumn(x,d),B=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(g,e,d,t,i),b.push({offset:e,line:t,column:i,length:d,message:B}),!1===q)break}}return this.hasCustom||(y.length=m),{tokens:y,groups:w,errors:b}}handleModes(e,t,i,n){var r;!0===e.pop?(r=e.push,t(n),void 0!==r&&i.call(this,r)):void 0!==e.push&&i.call(this,e.push)}chopInput(e,t){return e.substring(t)}updateLastIndex(e,t){e.lastIndex=t}updateTokenEndLineColumnLocation(e,t,i,n,r,s,a){void 0!==t&&(i=(t=i===a-1)?-1:0,1===n&&!0==t||(e.endLine=r+i,e.endColumn=s-1-i))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,i,n){return{image:e,startOffset:t,tokenTypeIdx:i,tokenType:n}}createStartOnlyToken(e,t,i,n,r,s){return{image:e,startOffset:t,startLine:r,startColumn:s,tokenTypeIdx:i,tokenType:n}}createFullToken(e,t,i,n,r,s,a){return{image:e,startOffset:t,endOffset:t+a-1,startLine:r,endLine:r,startColumn:s,endColumn:s+a-1,tokenTypeIdx:i,tokenType:n}}addTokenUsingPush(e,t,i){return e.push(i),t}addTokenUsingMemberAccess(e,t,i){return e[t]=i,++t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){null!==t&&(e.payload=t)}matchWithTest(e,t,i){return!0===e.test(t)?t.substring(i,e.lastIndex):null}matchWithExec(e,t){e=e.exec(t);return null!==e?e[0]:null}}).SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",Qne.NA=/NOT_APPLICABLE/});function tre(e){return ire(e)?e.LABEL:e.name}function ire(e){return XH(e.LABEL)&&""!==e.LABEL}function nre(e){return rre(e)}function rre(e){var t=e.pattern,i={};if(i.name=e.name,Tq(t)||(i.PATTERN=t),GH(e,ore))throw`The parent property is no longer supported.
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return GH(e,lre)&&(i.CATEGORIES=e[lre]),Dne([i]),GH(e,cre)&&(i.LABEL=e[cre]),GH(e,hre)&&(i.GROUP=e[hre]),GH(e,dre)&&(i.POP_MODE=e[dre]),GH(e,ure)&&(i.PUSH_MODE=e[ure]),GH(e,pre)&&(i.LONGER_ALT=e[pre]),GH(e,gre)&&(i.LINE_BREAKS=e[gre]),GH(e,fre)&&(i.START_CHARS_HINT=e[fre]),i}function sre(e,t,i,n,r,s,a,o){return{image:t,startOffset:i,endOffset:n,startLine:r,endLine:s,startColumn:a,endColumn:o,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}function are(e,t){return Ine(e,t)}var ore,lre,cre,hre,ure,dre,pre,gre,fre,mre,yre,bre,vre,xre=e(()=>{"use strict";zG(),ere(),Qne(),mt(tre,"tokenLabel"),mt(ire,"hasTokenLabel"),ore="parent",lre="categories",cre="label",hre="group",ure="push_mode",dre="pop_mode",pre="longer_alt",gre="line_breaks",fre="start_chars_hint",mt(nre,"createToken"),mt(rre,"createTokenInternal"),Dne([mre=nre({name:"EOF",pattern:Zne.NA})]),mt(sre,"createTokenInstance"),mt(are,"tokenMatcher")}),wre=e(()=>{"use strict";xre(),zG(),bie(),yre={buildMismatchTokenMessage({expected:e,actual:t}){return`Expecting ${ire(e)?`--> ${tre(e)} <--`:`token of type --> ${e.name} <--`} but found --> '${t.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:e}){return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,customUserDescription:i}){var n="Expecting: ",t=` See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return GH(e,lre)&&(i.CATEGORIES=e[lre]),Dne([i]),GH(e,cre)&&(i.LABEL=e[cre]),GH(e,hre)&&(i.GROUP=e[hre]),GH(e,dre)&&(i.POP_MODE=e[dre]),GH(e,ure)&&(i.PUSH_MODE=e[ure]),GH(e,pre)&&(i.LONGER_ALT=e[pre]),GH(e,gre)&&(i.LINE_BREAKS=e[gre]),GH(e,fre)&&(i.START_CHARS_HINT=e[fre]),i}function sre(e,t,i,n,r,s,a,o){return{image:t,startOffset:i,endOffset:n,startLine:r,endLine:s,startColumn:a,endColumn:o,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}function are(e,t){return Ine(e,t)}var ore,lre,cre,hre,ure,dre,pre,gre,fre,mre,yre,bre,vre,xre=e(()=>{"use strict";zG(),ere(),Zne(),mt(tre,"tokenLabel"),mt(ire,"hasTokenLabel"),ore="parent",lre="categories",cre="label",hre="group",ure="push_mode",dre="pop_mode",pre="longer_alt",gre="line_breaks",fre="start_chars_hint",mt(nre,"createToken"),mt(rre,"createTokenInternal"),Dne([mre=nre({name:"EOF",pattern:Qne.NA})]),mt(sre,"createTokenInstance"),mt(are,"tokenMatcher")}),wre=e(()=>{"use strict";xre(),zG(),bie(),yre={buildMismatchTokenMessage({expected:e,actual:t}){return`Expecting ${ire(e)?`--> ${tre(e)} <--`:`token of type --> ${e.name} <--`} but found --> '${t.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:e}){return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,customUserDescription:i}){var n="Expecting: ",t=`
but found: '`+mH(t).image+"'";return i?n+i+t:(i=JW(e,(e,t)=>e.concat(t),[]),e=v(i,e=>`[${v(e,e=>tre(e)).join(", ")}]`),n+(`one of these possible Token sequences: but found: '`+mH(t).image+"'";return i?n+i+t:(i=JW(e,(e,t)=>e.concat(t),[]),e=v(i,e=>`[${v(e,e=>tre(e)).join(", ")}]`),n+(`one of these possible Token sequences:
`+v(e,(e,t)=>` ${t+1}. `+e).join(` `+v(e,(e,t)=>` ${t+1}. `+e).join(`
`))+t)},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:i}){var n="Expecting: ",t=` `))+t)},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:i}){var n="Expecting: ",t=`
@@ -791,19 +791,19 @@ rule: <${t}> can be invoked from itself (directly or indirectly)
without consuming any Tokens. The grammar path that causes this is: without consuming any Tokens. The grammar path that causes this is:
${t+" --\x3e "+v(e.leftRecursionPath,e=>e.name).concat([t]).join(" --\x3e ")} ${t+" --\x3e "+v(e.leftRecursionPath,e=>e.name).concat([t]).join(" --\x3e ")}
To fix this refactor your grammar to remove the left recursion. To fix this refactor your grammar to remove the left recursion.
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(e){return"deprecated"},buildDuplicateRuleNameError(e){let t;return`Duplicate definition, rule: ->${t=e.topLevelRule instanceof tie?e.topLevelRule.name:e.topLevelRule}<- is already defined in the grammar: ->${e.grammarName}<-`}}});function kre(e,t){e=new Tre(e,t);return e.resolveRefs(),e.errors}var Tre,Sre=e(()=>{"use strict";Wae(),zG(),bie(),mt(kre,"resolveGrammar"),Tre=class extends hie{static{mt(this,"GastRefResolverVisitor")}constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){b(tq(this.nameToTopRule),e=>{(this.currTopLevel=e).accept(this)})}visitNonTerminal(e){var t=this.nameToTopRule[e.nonTerminalName];t?e.referencedRule=t:(t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e),this.errors.push({message:t,type:Uae.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName}))}}});function Cre(t,i,n=[]){n=hj(n);let r=[],s=0;function a(e){return e.concat(IU(t,s+1))}function o(e){e=Cre(a(e),i,n);return r.concat(e)}for(mt(a,"remainingPathWith"),mt(o,"getAlternativesForProd");n.length<i&&s<t.length;){var e=t[s];if(e instanceof iie)return o(e.definition);if(e instanceof eie)return o(e.definition);if(e instanceof nie)r=o(e.definition);else{if(e instanceof rie)return o(e.definition.concat([new aie({definition:e.definition})]));if(e instanceof sie)return o([new iie({definition:e.definition}),new aie({definition:[new cie({terminalType:e.separator})].concat(e.definition)})]);if(e instanceof oie){var l=e.definition.concat([new aie({definition:[new cie({terminalType:e.separator})].concat(e.definition)})]);r=o(l)}else if(e instanceof aie){l=e.definition.concat([new aie({definition:e.definition})]);r=o(l)}else{if(e instanceof lie)return b(e.definition,e=>{!1===gq(e.definition)&&(r=o(e.definition))}),r;if(!(e instanceof cie))throw Error("non exhaustive match");n.push(e.terminalType)}}s++}return r.push({partialPath:n,suffixDef:IU(t,s)}),r}function _re(e,t,i,n){let r="EXIT_NONE_TERMINAL",s=[r],a="EXIT_ALTERNATIVE",o=!1,l=t.length,c=l-n-1,h=[],u=[];for(u.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!gq(u);){var d=u.pop();if(d===a)o&&LU(u).idx<=c&&u.pop();else{var p=d.def,g=d.idx,f=d.ruleStack,m=d.occurrenceStack;if(!gq(p)){var y=p[0];if(y===r){d={idx:g,def:IU(p),ruleStack:OU(f),occurrenceStack:OU(m)};u.push(d)}else if(y instanceof cie)if(g<l-1){var d=g+1;i(t[d],y.terminalType)&&(d={idx:d,def:IU(p),ruleStack:f,occurrenceStack:m},u.push(d))}else{if(g!==l-1)throw Error("non exhaustive match");h.push({nextTokenType:y.terminalType,nextTokenOccurrence:y.idx,ruleStack:f,occurrenceStack:m}),o=!0}else if(y instanceof eie){var d=hj(f),b=(d.push(y.nonTerminalName),hj(m)),d=(b.push(y.idx),{idx:g,def:y.definition.concat(s,IU(p)),ruleStack:d,occurrenceStack:b});u.push(d)}else if(y instanceof nie){b={idx:g,def:IU(p),ruleStack:f,occurrenceStack:m},d=(u.push(b),u.push(a),{idx:g,def:y.definition.concat(IU(p)),ruleStack:f,occurrenceStack:m});u.push(d)}else if(y instanceof rie){d=new aie({definition:y.definition,idx:y.idx}),d=y.definition.concat([d],IU(p));u.push({idx:g,def:d,ruleStack:f,occurrenceStack:m})}else if(y instanceof sie){d=new cie({terminalType:y.separator}),d=new aie({definition:[d].concat(y.definition),idx:y.idx}),d=y.definition.concat([d],IU(p));u.push({idx:g,def:d,ruleStack:f,occurrenceStack:m})}else if(y instanceof oie){d={idx:g,def:IU(p),ruleStack:f,occurrenceStack:m},d=(u.push(d),u.push(a),new cie({terminalType:y.separator})),d=new aie({definition:[d].concat(y.definition),idx:y.idx}),d=y.definition.concat([d],IU(p));u.push({idx:g,def:d,ruleStack:f,occurrenceStack:m})}else if(y instanceof aie){d={idx:g,def:IU(p),ruleStack:f,occurrenceStack:m},d=(u.push(d),u.push(a),new aie({definition:y.definition,idx:y.idx})),d=y.definition.concat([d],IU(p));u.push({idx:g,def:d,ruleStack:f,occurrenceStack:m})}else if(y instanceof lie)for(let e=y.definition.length-1;0<=e;e--){var v={idx:g,def:y.definition[e].definition.concat(IU(p)),ruleStack:f,occurrenceStack:m};u.push(v),u.push(a)}else if(y instanceof iie)u.push({idx:g,def:y.definition.concat(IU(p)),ruleStack:f,occurrenceStack:m});else{if(!(y instanceof tie))throw Error("non exhaustive match");u.push(Are(y,g,f,m))}}}}return h}function Are(e,t,i,n){i=hj(i),i.push(e.name),n=hj(n);return n.push(1),{idx:t,def:e.definition,ruleStack:i,occurrenceStack:n}}var Ere,$re,Lre,Rre,Mre,Ire,Nre=e(()=>{"use strict";zG(),Aie(),wie(),bie(),$re=class extends xie{static{mt(this,"AbstractNextPossibleTokensWalker")}constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=hj(this.path.ruleStack).reverse(),this.occurrenceStack=hj(this.path.occurrenceStack). Line truncated see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(e){return"deprecated"},buildDuplicateRuleNameError(e){let t;return`Duplicate definition, rule: ->${t=e.topLevelRule instanceof tie?e.topLevelRule.name:e.topLevelRule}<- is already defined in the grammar: ->${e.grammarName}<-`}}});function kre(e,t){e=new Tre(e,t);return e.resolveRefs(),e.errors}var Tre,Sre=e(()=>{"use strict";Wae(),zG(),bie(),mt(kre,"resolveGrammar"),Tre=class extends hie{static{mt(this,"GastRefResolverVisitor")}constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){b(tq(this.nameToTopRule),e=>{(this.currTopLevel=e).accept(this)})}visitNonTerminal(e){var t=this.nameToTopRule[e.nonTerminalName];t?e.referencedRule=t:(t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e),this.errors.push({message:t,type:Uae.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName}))}}});function Cre(t,i,n=[]){n=hj(n);let r=[],s=0;function a(e){return e.concat(IU(t,s+1))}function o(e){e=Cre(a(e),i,n);return r.concat(e)}for(mt(a,"remainingPathWith"),mt(o,"getAlternativesForProd");n.length<i&&s<t.length;){var e=t[s];if(e instanceof iie)return o(e.definition);if(e instanceof eie)return o(e.definition);if(e instanceof nie)r=o(e.definition);else{if(e instanceof rie)return o(e.definition.concat([new aie({definition:e.definition})]));if(e instanceof sie)return o([new iie({definition:e.definition}),new aie({definition:[new cie({terminalType:e.separator})].concat(e.definition)})]);if(e instanceof oie){var l=e.definition.concat([new aie({definition:[new cie({terminalType:e.separator})].concat(e.definition)})]);r=o(l)}else if(e instanceof aie){l=e.definition.concat([new aie({definition:e.definition})]);r=o(l)}else{if(e instanceof lie)return b(e.definition,e=>{!1===gq(e.definition)&&(r=o(e.definition))}),r;if(!(e instanceof cie))throw Error("non exhaustive match");n.push(e.terminalType)}}s++}return r.push({partialPath:n,suffixDef:IU(t,s)}),r}function _re(e,t,i,n){let r="EXIT_NONE_TERMINAL",s=[r],a="EXIT_ALTERNATIVE",o=!1,l=t.length,c=l-n-1,h=[],u=[];for(u.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!gq(u);){var d=u.pop();if(d===a)o&&LU(u).idx<=c&&u.pop();else{var p=d.def,g=d.idx,f=d.ruleStack,m=d.occurrenceStack;if(!gq(p)){var y=p[0];if(y===r){d={idx:g,def:IU(p),ruleStack:OU(f),occurrenceStack:OU(m)};u.push(d)}else if(y instanceof cie)if(g<l-1){var d=g+1;i(t[d],y.terminalType)&&(d={idx:d,def:IU(p),ruleStack:f,occurrenceStack:m},u.push(d))}else{if(g!==l-1)throw Error("non exhaustive match");h.push({nextTokenType:y.terminalType,nextTokenOccurrence:y.idx,ruleStack:f,occurrenceStack:m}),o=!0}else if(y instanceof eie){var d=hj(f),b=(d.push(y.nonTerminalName),hj(m)),d=(b.push(y.idx),{idx:g,def:y.definition.concat(s,IU(p)),ruleStack:d,occurrenceStack:b});u.push(d)}else if(y instanceof nie){b={idx:g,def:IU(p),ruleStack:f,occurrenceStack:m},d=(u.push(b),u.push(a),{idx:g,def:y.definition.concat(IU(p)),ruleStack:f,occurrenceStack:m});u.push(d)}else if(y instanceof rie){d=new aie({definition:y.definition,idx:y.idx}),d=y.definition.concat([d],IU(p));u.push({idx:g,def:d,ruleStack:f,occurrenceStack:m})}else if(y instanceof sie){d=new cie({terminalType:y.separator}),d=new aie({definition:[d].concat(y.definition),idx:y.idx}),d=y.definition.concat([d],IU(p));u.push({idx:g,def:d,ruleStack:f,occurrenceStack:m})}else if(y instanceof oie){d={idx:g,def:IU(p),ruleStack:f,occurrenceStack:m},d=(u.push(d),u.push(a),new cie({terminalType:y.separator})),d=new aie({definition:[d].concat(y.definition),idx:y.idx}),d=y.definition.concat([d],IU(p));u.push({idx:g,def:d,ruleStack:f,occurrenceStack:m})}else if(y instanceof aie){d={idx:g,def:IU(p),ruleStack:f,occurrenceStack:m},d=(u.push(d),u.push(a),new aie({definition:y.definition,idx:y.idx})),d=y.definition.concat([d],IU(p));u.push({idx:g,def:d,ruleStack:f,occurrenceStack:m})}else if(y instanceof lie)for(let e=y.definition.length-1;0<=e;e--){var v={idx:g,def:y.definition[e].definition.concat(IU(p)),ruleStack:f,occurrenceStack:m};u.push(v),u.push(a)}else if(y instanceof iie)u.push({idx:g,def:y.definition.concat(IU(p)),ruleStack:f,occurrenceStack:m});else{if(!(y instanceof tie))throw Error("non exhaustive match");u.push(Are(y,g,f,m))}}}}return h}function Are(e,t,i,n){i=hj(i),i.push(e.name),n=hj(n);return n.push(1),{idx:t,def:e.definition,ruleStack:i,occurrenceStack:n}}var Ere,$re,Lre,Rre,Mre,Ire,Nre=e(()=>{"use strict";zG(),Aie(),wie(),bie(),$re=class extends xie{static{mt(this,"AbstractNextPossibleTokensWalker")}constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=hj(this.path.ruleStack).reverse(),this.occurrenceStack=hj(this.path.occurrenceStack). Line truncated
`+e.join(` `+e.join(`
`).replace(/\n/g,` `).replace(/\n/g,`
`))},"validateVisitor")});return i.prototype=e,(i.prototype.constructor=i)._RULE_NAMES=t,i}function aae(e,t,i){var n=mt(function(){},"derivedConstructor");tae(n,e+"BaseSemanticsWithDefaults");let r=Object.create(i.prototype);return b(t,e=>{r[e]=rae}),n.prototype=r,n.prototype.constructor=n}function oae(e,t){return lae(e,t)}function lae(t,e){e=nH(e,e=>!1===N6(t[e])),e=v(e,e=>({msg:`Missing visitor method: <${e}> on ${t.constructor.name} CST Visitor.`,type:cae.MISSING_METHOD,methodName:e}));return mj(e)}var cae,hae,uae,dae,pae,gae,fae,mae=e(()=>{"use strict";var e;zG(),nae(),mt(rae,"defaultVisit"),mt(sae,"createBaseSemanticVisitorConstructor"),mt(aae,"createBaseVisitorConstructorWithDefaults"),(e=cae=cae||{})[e.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",e[e.MISSING_METHOD=1]="MISSING_METHOD",mt(oae,"validateVisitor"),mt(lae,"validateMissingCstMethods")}),yae=e(()=>{"use strict";eae(),zG(),mae(),Wae(),hae=class{static{mt(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(GH(e,"nodeLocationTracking")?e:jae).nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Zse,this.setNodeLocationFromNode=Zse,this.cstPostRule=OO,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=OO,this.setNodeLocationFromNode=OO,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Kse,this.setNodeLocationFromNode=Kse,this.cstPostRule=OO,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=OO,this.setNodeLocationFromNode=OO,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else{if(!/none/i.test(this.nodeLocationTracking))throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`);this.setNodeLocationFromToken=OO,this.setNodeLocationFromNode=OO,this.cstPostRule=OO,this.setInitialNodeLocation=OO}else this.cstInvocationStateUpdate=OO,this.cstFinallyStateUpdate=OO,this.cstPostTerminal=OO,this.cstPostNonTerminal=OO,this.cstPostRule=OO}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){e={name:e,children:Object.create(null)};this.setInitialNodeLocation(e),this.CST_STACK.push(e)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){var t=this.LA(0),e=e.location;e.startOffset<=t.startOffset?(e.endOffset=t.endOffset,e.endLine=t.endLine,e.endColumn=t.endColumn):(e.startOffset=NaN,e.startLine=NaN,e.startColumn=NaN)}cstPostRuleOnlyOffset(e){var t=this.LA(0),e=e.location;e.startOffset<=t.startOffset?e.endOffset=t.endOffset:e.startOffset=NaN}cstPostTerminal(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];Qse(i,t,e),this.setNodeLocationFromToken(i.location,t)}cstPostNonTerminal(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];Jse(i,t,e),this.setNodeLocationFromNode(i.location,e.location)}getBaseCstVisitorConstructor(){var e;return Tq(this.baseCstVisitorConstructor)?(e=sae(this.className,uP(this.gastProductionsCache)),this.baseCstVisitorConstructor=e):this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){var e;return Tq(this.baseCstVisitorWithDefaultsConstructor)?(e=aae(this.className,uP(this.gastProductionsCache),this.getBaseCstVisitorConstructor()),this.baseCstVisitorWithDefaultsConstructor=e):this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){var e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){var e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}}),bae=e(()=>{"use strict";Wae(),uae=class{static{mt(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Fae}LA(e){e=this.currIdx+e;return e<0||this.tokVectorLength<=e?Fae:this.tokVector[e]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx= Line truncated `))},"validateVisitor")});return i.prototype=e,(i.prototype.constructor=i)._RULE_NAMES=t,i}function aae(e,t,i){var n=mt(function(){},"derivedConstructor");tae(n,e+"BaseSemanticsWithDefaults");let r=Object.create(i.prototype);return b(t,e=>{r[e]=rae}),n.prototype=r,n.prototype.constructor=n}function oae(e,t){return lae(e,t)}function lae(t,e){e=nH(e,e=>!1===N6(t[e])),e=v(e,e=>({msg:`Missing visitor method: <${e}> on ${t.constructor.name} CST Visitor.`,type:cae.MISSING_METHOD,methodName:e}));return mj(e)}var cae,hae,uae,dae,pae,gae,fae,mae=e(()=>{"use strict";var e;zG(),nae(),mt(rae,"defaultVisit"),mt(sae,"createBaseSemanticVisitorConstructor"),mt(aae,"createBaseVisitorConstructorWithDefaults"),(e=cae=cae||{})[e.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",e[e.MISSING_METHOD=1]="MISSING_METHOD",mt(oae,"validateVisitor"),mt(lae,"validateMissingCstMethods")}),yae=e(()=>{"use strict";eae(),zG(),mae(),Wae(),hae=class{static{mt(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(GH(e,"nodeLocationTracking")?e:jae).nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Qse,this.setNodeLocationFromNode=Qse,this.cstPostRule=OO,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=OO,this.setNodeLocationFromNode=OO,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Kse,this.setNodeLocationFromNode=Kse,this.cstPostRule=OO,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=OO,this.setNodeLocationFromNode=OO,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else{if(!/none/i.test(this.nodeLocationTracking))throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`);this.setNodeLocationFromToken=OO,this.setNodeLocationFromNode=OO,this.cstPostRule=OO,this.setInitialNodeLocation=OO}else this.cstInvocationStateUpdate=OO,this.cstFinallyStateUpdate=OO,this.cstPostTerminal=OO,this.cstPostNonTerminal=OO,this.cstPostRule=OO}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){e={name:e,children:Object.create(null)};this.setInitialNodeLocation(e),this.CST_STACK.push(e)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){var t=this.LA(0),e=e.location;e.startOffset<=t.startOffset?(e.endOffset=t.endOffset,e.endLine=t.endLine,e.endColumn=t.endColumn):(e.startOffset=NaN,e.startLine=NaN,e.startColumn=NaN)}cstPostRuleOnlyOffset(e){var t=this.LA(0),e=e.location;e.startOffset<=t.startOffset?e.endOffset=t.endOffset:e.startOffset=NaN}cstPostTerminal(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];Zse(i,t,e),this.setNodeLocationFromToken(i.location,t)}cstPostNonTerminal(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];Jse(i,t,e),this.setNodeLocationFromNode(i.location,e.location)}getBaseCstVisitorConstructor(){var e;return Tq(this.baseCstVisitorConstructor)?(e=sae(this.className,uP(this.gastProductionsCache)),this.baseCstVisitorConstructor=e):this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){var e;return Tq(this.baseCstVisitorWithDefaultsConstructor)?(e=aae(this.className,uP(this.gastProductionsCache),this.getBaseCstVisitorConstructor()),this.baseCstVisitorWithDefaultsConstructor=e):this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){var e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){var e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}}),bae=e(()=>{"use strict";Wae(),uae=class{static{mt(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Fae}LA(e){e=this.currIdx+e;return e<0||this.tokVectorLength<=e?Fae:this.tokVector[e]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx= Line truncated
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
For Further details.`);if(sT(e)){if(gq(e))throw Error(`A Token Vocabulary cannot be empty. For Further details.`);if(sT(e)){if(gq(e))throw Error(`A Token Vocabulary cannot be empty.
Note that the first argument for the parser constructor Note that the first argument for the parser constructor
is no longer a Token vector (since v4.0).`);if("number"==typeof e[0].startOffset)throw Error(`The Parser constructor no longer accepts a token vector as the first argument. is no longer a Token vector (since v4.0).`);if("number"==typeof e[0].startOffset)throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
For Further details.`)}if(sT(e))this.tokensMap=JW(e,(e,t)=>(e[t.name]=t,e),{});else if(GH(e,"modes")&&ZU(iB(tq(e.modes)),Wne)){t=iB(tq(e.modes)),t=_G(t);this.tokensMap=JW(t,(e,t)=>(e[t.name]=t,e),{})}else{if(!R6(e))throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap=hj(e)}this.tokensMap.EOF=mre;t=GH(e,"modes")?iB(tq(e.modes)):tq(e),e=ZU(t,e=>gq(e.categoryMatches));this.tokenMatcher=e?Nne:Ine,Dne(tq(this.tokensMap))}defineRule(i,n,e){if(this.selfAnalysisDone)throw Error(`Grammar rule <${i}> may not be defined after the 'performSelfAnalysis' method has been called' For Further details.`)}if(sT(e))this.tokensMap=JW(e,(e,t)=>(e[t.name]=t,e),{});else if(GH(e,"modes")&&QU(iB(tq(e.modes)),Wne)){t=iB(tq(e.modes)),t=_G(t);this.tokensMap=JW(t,(e,t)=>(e[t.name]=t,e),{})}else{if(!R6(e))throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap=hj(e)}this.tokensMap.EOF=mre;t=GH(e,"modes")?iB(tq(e.modes)):tq(e),e=QU(t,e=>gq(e.categoryMatches));this.tokenMatcher=e?Nne:Ine,Dne(tq(this.tokensMap))}defineRule(i,n,e){if(this.selfAnalysisDone)throw Error(`Grammar rule <${i}> may not be defined after the 'performSelfAnalysis' method has been called'
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let r=(GH(e,"resyncEnabled")?e:zae).resyncEnabled,s=(GH(e,"recoveryValueFunc")?e:zae).recoveryValueFunc,a=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=i,this.fullRuleNameToShort[i]=a;let t;return t=!0===this.outputCst?mt(function(...e){try{this.ruleInvocationStateUpdate(a,i,this.subruleIdx),n.apply(this,e);var t=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(t),t}catch(e){return this.invokeRuleCatch(e,r,s)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):mt(function(...e){try{return this.ruleInvocationStateUpdate(a,i,this.subruleIdx),n.apply(this,e)}catch(e){return this.invokeRuleCatch(e,r,s)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(t,{ruleName:i,originalGrammarAction:n})}invokeRuleCatch(e,t,i){var n=1===this.RULE_STACK.length,t=t&&!this.isBackTracking()&&this.recoveryEnabled;if(Tse(e)){var r=e;if(t){var t=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(t))return r.resyncedTokens=this.reSyncTo(t),this.outputCst?((t=this.CST_STACK[this.CST_STACK.length-1]).recoveredNode=!0,t):i(e);this.outputCst&&((t=this.CST_STACK[this.CST_STACK.length-1]).recoveredNode=!0,r.partialCstResult=t)}else if(n)return this.moveToTerminatedState(),i(e);throw r}throw e}optionInternal(e,t){var i=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,i)}optionInternalLogic(e,t,i){let n=this.getLaFuncFromCache(i),r;if("function"!=typeof e){r=e.DEF;let t=e.GATE;if(void 0!==t){let e=n;n=mt(()=>t.call(this)&&e.call(this),"lookAheadFunc")}}else r=e;if(!0===n.call(this))return r.call(this)}atLeastOneInternal(e,t){var i=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,t,i)}atLeastOneInternalLogic(e,i,t){let n=this.getLaFuncFromCache(t),r;if("function"!=typeof i){r=i.DEF;let t=i.GATE;if(void 0!==t){let e=n;n=mt(()=>t.call(this)&&e.call(this),"lookAheadFunc")}}else r=i;if(!0!==n.call(this))throw this.raiseEarlyExitException(e,Kre.REPETITION_MANDATORY,i.ERR_MSG);{let e=this.doSingleRepetition(r);for(;!0===n.call(this)&&!0===e;)e=this.doSingleRepetition(r)}this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,i],n,1024,e,Mre)}atLeastOneSepFirstInternal(e,t){var i=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,t,i)}atLeastOneSepFirstInternalLogic(e,t,i){let n=t.DEF,r=t.SEP;if(!0!==this.getLaFuncFromCache(i).call(this))throw this.raiseEarlyExitException(e,Kre.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG);n.call(this);for(i=mt(()=>this.tokenMatcher(this.LA(1),r),"separatorLookAheadFunc");!0===this.tokenMatcher(this.LA(1),r);)this.CONSUME(r),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,i,n,Ire],i,1536,e,Ire)}manyInternal(e,t){var i=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,i)}manyInternalLogic(e,i,t){let n=this.getLaFuncFromCache(t),r;if("function"!=typeof i){r=i.DEF;let t=i.GATE;if(void 0!==t){let e=n;n=mt(()=>t.call(this)&&e.call(this),"lookaheadFunction")}}else r=i;let s=!0;for(;!0===n.call(this)&&!0===s;)s=this.doSingleRepetition(r);this.attemptInRepetitionRecovery(this.manyInternal,[e,i],n,768,e,Lre,s)}manySepFirstInternal(e,t){var i=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,t,i)}manySepFirstInternalLogic(e,t,i){let n=t.DEF,r=t.SEP;if(!0===this.getLaFuncFromCache(i).call(this)){n.call(this);for(t=mt(()=>this.tokenMatcher(this.LA(1),r),"separatorLookAheadFunc");!0===this.tokenMatcher(this.LA(1),r);)this.CONSUME(r),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,t,n,Rre],t,1280,e,Rre)}}repetitionSepSecondInternal(e,t,i,n,r){for(;i();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,i,n,r],i,1536,e,r)}doSingleRepetition(e){var t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){var i=this.getKeyForAutomaticLookahead(256,t),n=sT(e)?e:e.DEF,i=this.getLaFuncFromCache(i).call(this,n);if(void 0!==i)return n[i].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){var e,t;this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()&&(e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Mse(t,e)))}subruleInternal(t,e,i){var n;try{var r=void 0!==i?i.ARGS:void 0;return this.subruleIdx=e,n=t.apply(this,r),this.cstPostNonTerminal(n,void 0!==i&&void 0!==i.LABEL?i.LABEL:t.ruleName),n}catch(e){throw this.subruleInternalError(e,i,t.ruleName)}}subruleInternalError(e,t,i){throw Tse(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:i),delete e.partialCstResult),e}consumeInternal(t,i,e){let n;try{ Line truncated Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let r=(GH(e,"resyncEnabled")?e:zae).resyncEnabled,s=(GH(e,"recoveryValueFunc")?e:zae).recoveryValueFunc,a=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=i,this.fullRuleNameToShort[i]=a;let t;return t=!0===this.outputCst?mt(function(...e){try{this.ruleInvocationStateUpdate(a,i,this.subruleIdx),n.apply(this,e);var t=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(t),t}catch(e){return this.invokeRuleCatch(e,r,s)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):mt(function(...e){try{return this.ruleInvocationStateUpdate(a,i,this.subruleIdx),n.apply(this,e)}catch(e){return this.invokeRuleCatch(e,r,s)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(t,{ruleName:i,originalGrammarAction:n})}invokeRuleCatch(e,t,i){var n=1===this.RULE_STACK.length,t=t&&!this.isBackTracking()&&this.recoveryEnabled;if(Tse(e)){var r=e;if(t){var t=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(t))return r.resyncedTokens=this.reSyncTo(t),this.outputCst?((t=this.CST_STACK[this.CST_STACK.length-1]).recoveredNode=!0,t):i(e);this.outputCst&&((t=this.CST_STACK[this.CST_STACK.length-1]).recoveredNode=!0,r.partialCstResult=t)}else if(n)return this.moveToTerminatedState(),i(e);throw r}throw e}optionInternal(e,t){var i=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,i)}optionInternalLogic(e,t,i){let n=this.getLaFuncFromCache(i),r;if("function"!=typeof e){r=e.DEF;let t=e.GATE;if(void 0!==t){let e=n;n=mt(()=>t.call(this)&&e.call(this),"lookAheadFunc")}}else r=e;if(!0===n.call(this))return r.call(this)}atLeastOneInternal(e,t){var i=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,t,i)}atLeastOneInternalLogic(e,i,t){let n=this.getLaFuncFromCache(t),r;if("function"!=typeof i){r=i.DEF;let t=i.GATE;if(void 0!==t){let e=n;n=mt(()=>t.call(this)&&e.call(this),"lookAheadFunc")}}else r=i;if(!0!==n.call(this))throw this.raiseEarlyExitException(e,Kre.REPETITION_MANDATORY,i.ERR_MSG);{let e=this.doSingleRepetition(r);for(;!0===n.call(this)&&!0===e;)e=this.doSingleRepetition(r)}this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,i],n,1024,e,Mre)}atLeastOneSepFirstInternal(e,t){var i=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,t,i)}atLeastOneSepFirstInternalLogic(e,t,i){let n=t.DEF,r=t.SEP;if(!0!==this.getLaFuncFromCache(i).call(this))throw this.raiseEarlyExitException(e,Kre.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG);n.call(this);for(i=mt(()=>this.tokenMatcher(this.LA(1),r),"separatorLookAheadFunc");!0===this.tokenMatcher(this.LA(1),r);)this.CONSUME(r),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,i,n,Ire],i,1536,e,Ire)}manyInternal(e,t){var i=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,i)}manyInternalLogic(e,i,t){let n=this.getLaFuncFromCache(t),r;if("function"!=typeof i){r=i.DEF;let t=i.GATE;if(void 0!==t){let e=n;n=mt(()=>t.call(this)&&e.call(this),"lookaheadFunction")}}else r=i;let s=!0;for(;!0===n.call(this)&&!0===s;)s=this.doSingleRepetition(r);this.attemptInRepetitionRecovery(this.manyInternal,[e,i],n,768,e,Lre,s)}manySepFirstInternal(e,t){var i=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,t,i)}manySepFirstInternalLogic(e,t,i){let n=t.DEF,r=t.SEP;if(!0===this.getLaFuncFromCache(i).call(this)){n.call(this);for(t=mt(()=>this.tokenMatcher(this.LA(1),r),"separatorLookAheadFunc");!0===this.tokenMatcher(this.LA(1),r);)this.CONSUME(r),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,t,n,Rre],t,1280,e,Rre)}}repetitionSepSecondInternal(e,t,i,n,r){for(;i();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,i,n,r],i,1536,e,r)}doSingleRepetition(e){var t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){var i=this.getKeyForAutomaticLookahead(256,t),n=sT(e)?e:e.DEF,i=this.getLaFuncFromCache(i).call(this,n);if(void 0!==i)return n[i].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){var e,t;this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()&&(e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Mse(t,e)))}subruleInternal(t,e,i){var n;try{var r=void 0!==i?i.ARGS:void 0;return this.subruleIdx=e,n=t.apply(this,r),this.cstPostNonTerminal(n,void 0!==i&&void 0!==i.LABEL?i.LABEL:t.ruleName),n}catch(e){throw this.subruleInternalError(e,i,t.ruleName)}}subruleInternalError(e,t,i){throw Tse(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:i),delete e.partialCstResult),e}consumeInternal(t,i,e){let n;try{ Line truncated
Idx value must be a none negative value smaller than `+(Eae+1))).KNOWN_RECORDER_ERROR=!0,e}var Aae,Eae,$ae,Lae,Rae,Mae,Iae,Nae=e(()=>{"use strict";zG(),bie(),ere(),Qne(),xre(),Wae(),Hse(),Aae={description:"This Object indicates the Parser is during Recording Phase"},Object.freeze(Aae),Eae=Math.pow(2,8)-1,Dne([$ae=nre({name:"RECORDING_PHASE_TOKEN",pattern:Zne.NA})]),Lae=sre($ae,`This IToken indicates the Parser is in Recording Phase Idx value must be a none negative value smaller than `+(Eae+1))).KNOWN_RECORDER_ERROR=!0,e}var Aae,Eae,$ae,Lae,Rae,Mae,Iae,Nae=e(()=>{"use strict";zG(),bie(),ere(),Zne(),xre(),Wae(),Hse(),Aae={description:"This Object indicates the Parser is during Recording Phase"},Object.freeze(Aae),Eae=Math.pow(2,8)-1,Dne([$ae=nre({name:"RECORDING_PHASE_TOKEN",pattern:Qne.NA})]),Lae=sre($ae,`This IToken indicates the Parser is in Recording Phase
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1),Object.freeze(Lae),Rae={name:`This CSTNode indicates the Parser is in Recording Phase See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1),Object.freeze(Lae),Rae={name:`This CSTNode indicates the Parser is in Recording Phase
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Mae=class{static{mt(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let i=0;i<10;i++){var e=0<i?i:"";this["CONSUME"+e]=function(e,t){return this.consumeInternalRecord(e,i,t)},this["SUBRULE"+e]=function(e,t){return this.subruleInternalRecord(e,i,t)},this["OPTION"+e]=function(e){return this.optionInternalRecord(e,i)},this["OR"+e]=function(e){return this.orInternalRecord(e,i)},this["MANY"+e]=function(e){this.manyInternalRecord(i,e)},this["MANY_SEP"+e]=function(e){this.manySepFirstInternalRecord(i,e)},this["AT_LEAST_ONE"+e]=function(e){this.atLeastOneInternalRecord(i,e)},this["AT_LEAST_ONE_SEP"+e]=function(e){this.atLeastOneSepFirstInternalRecord(i,e)}}this.consume=function(e,t,i){return this.consumeInternalRecord(t,e,i)},this.subrule=function(e,t,i){return this.subruleInternalRecord(t,e,i)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{var t=this;for(let e=0;e<10;e++){var i=0<e?e:"";delete t["CONSUME"+i],delete t["SUBRULE"+i],delete t["OPTION"+i],delete t["OR"+i],delete t["MANY"+i],delete t["MANY_SEP"+i],delete t["AT_LEAST_ONE"+i],delete t["AT_LEAST_ONE_SEP"+i]}delete t.consume,delete t.subrule,delete t.option,delete t.or,delete t.many,delete t.atLeastOne,delete t.ACTION,delete t.BACKTRACK,delete t.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return Fae}topLevelRuleRecord(e,t){try{var i=new tie({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(e){if(!0!==e.KNOWN_RECORDER_ERROR)try{e.message=e.message+` See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Mae=class{static{mt(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let i=0;i<10;i++){var e=0<i?i:"";this["CONSUME"+e]=function(e,t){return this.consumeInternalRecord(e,i,t)},this["SUBRULE"+e]=function(e,t){return this.subruleInternalRecord(e,i,t)},this["OPTION"+e]=function(e){return this.optionInternalRecord(e,i)},this["OR"+e]=function(e){return this.orInternalRecord(e,i)},this["MANY"+e]=function(e){this.manyInternalRecord(i,e)},this["MANY_SEP"+e]=function(e){this.manySepFirstInternalRecord(i,e)},this["AT_LEAST_ONE"+e]=function(e){this.atLeastOneInternalRecord(i,e)},this["AT_LEAST_ONE_SEP"+e]=function(e){this.atLeastOneSepFirstInternalRecord(i,e)}}this.consume=function(e,t,i){return this.consumeInternalRecord(t,e,i)},this.subrule=function(e,t,i){return this.subruleInternalRecord(t,e,i)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{var t=this;for(let e=0;e<10;e++){var i=0<e?e:"";delete t["CONSUME"+i],delete t["SUBRULE"+i],delete t["OPTION"+i],delete t["OR"+i],delete t["MANY"+i],delete t["MANY_SEP"+i],delete t["AT_LEAST_ONE"+i],delete t["AT_LEAST_ONE_SEP"+i]}delete t.consume,delete t.subrule,delete t.option,delete t.or,delete t.many,delete t.atLeastOne,delete t.ACTION,delete t.BACKTRACK,delete t.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return Fae}topLevelRuleRecord(e,t){try{var i=new tie({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(e){if(!0!==e.KNOWN_RECORDER_ERROR)try{e.message=e.message+`
This error was thrown during the "grammar recording phase" For more info see: This error was thrown during the "grammar recording phase" For more info see:
@@ -815,25 +815,25 @@ Make sure that all grammar rule definitions are done before 'performSelfAnalysis
`))})}constructor(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;if(this.initErrorHandler(t),this.initLexerAdapter(),this.initLooksAhead(t),this.initRecognizerEngine(e,t),this.initRecoverable(t),this.initTreeBuilder(t),this.initContentAssist(),this.initGastRecorder(t),this.initPerformanceTracer(t),GH(t,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated. `))})}constructor(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;if(this.initErrorHandler(t),this.initLexerAdapter(),this.initLooksAhead(t),this.initRecognizerEngine(e,t),this.initRecoverable(t),this.initTreeBuilder(t),this.initContentAssist(),this.initGastRecorder(t),this.initPerformanceTracer(t),GH(t,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead. Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
For further details.`);this.skipValidations=(GH(t,"skipValidations")?t:jae).skipValidations}}).DEFER_DEFINITION_ERRORS_HANDLING=!1,Oae(Hae,[Fse,Gse,hae,uae,pae,dae,gae,fae,Mae,Iae]),qae=class extends Hae{static{mt(this,"EmbeddedActionsParser")}constructor(e,t=jae){t=hj(t);t.outputCst=!1,super(e,t)}}}),Gae=e(()=>{"use strict";bie()}),Vae=e(()=>{}),Yae=e(()=>{"use strict";Gae(),Vae()}),Xae=e(()=>{"use strict";jte()}),Kae=e(()=>{"use strict";jte(),Wae(),ere(),xre(),Jre(),qse(),wre(),Nse(),Jne(),bie(),bie(),Yae(),Xae()});function Zae(e,t,i){return e.name+`_${t}_`+i}function Qae(t){var i={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]},n=(Jae(i,t),t.length);for(let e=0;e<n;e++){var r=t[e],s=ooe(i,r,r);void 0!==s&&yoe(i,r,s)}return i}function Jae(t,i){var n=i.length;for(let e=0;e<n;e++){var r=i[e],s=voe(t,r,void 0,{type:Toe}),a=voe(t,r,void 0,{type:_oe});s.stop=a,t.ruleToStartState.set(r,s),t.ruleToStopState.set(r,a)}}function eoe(e,t,i){return i instanceof cie?foe(e,t,i.terminalType,i):(i instanceof eie?moe:i instanceof lie?soe:i instanceof nie?aoe:i instanceof aie?toe:i instanceof oie?ioe:i instanceof rie?noe:i instanceof sie?roe:ooe)(e,t,i)}function toe(e,t,i){var n=voe(e,t,i,{type:Coe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return coe(e,t,i,n)}function ioe(e,t,i){var n=voe(e,t,i,{type:Coe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return coe(e,t,i,n,foe(e,t,i.separator,i))}function noe(e,t,i){var n=voe(e,t,i,{type:Soe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return loe(e,t,i,n)}function roe(e,t,i){var n=voe(e,t,i,{type:Soe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return loe(e,t,i,n,foe(e,t,i.separator,i))}function soe(t,i,e){var n=voe(t,i,e,{type:koe}),r=(uoe(t,n),v(e.definition,e=>eoe(t,i,e)));return doe(t,i,n,e,...r)}function aoe(e,t,i){var n=voe(e,t,i,{type:koe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return hoe(e,t,i,n)}function ooe(t,i,e){e=nH(v(e.definition,e=>eoe(t,i,e)),e=>void 0!==e);return 1===e.length?e[0]:0===e.length?void 0:goe(t,e)}function loe(e,t,i,n,r){var s=n.left,n=n.right,a=voe(e,t,i,{type:Loe}),o=(uoe(e,a),voe(e,t,i,{type:Roe}));return s.loopback=a,o.loopback=a,boe(n,e.decisionMap[Zae(t,r?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",i.idx)]=a),void 0===r?(boe(a,s),boe(a,o)):(boe(a,o),boe(a,r.left),boe(r.right,s)),{left:s,right:o}}function coe(e,t,i,n,r){var s=n.left,n=n.right,a=voe(e,t,i,{type:$oe}),o=(uoe(e,a),voe(e,t,i,{type:Roe})),l=voe(e,t,i,{type:Eoe});return a.loopback=l,o.loopback=l,boe(a,s),boe(a,o),boe(n,l),void 0!==r?(boe(l,o),boe(l,r.left),boe(r.right,s)):boe(l,a),{left:e.decisionMap[Zae(t,r?"RepetitionWithSeparator":"Repetition",i.idx)]=a,right:o}}function hoe(e,t,i,n){var r=n.left;return boe(r,n.right),e.decisionMap[Zae(t,"Option",i.idx)]=r,n}function uoe(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}function doe(e,t,i,n,...r){var s,a=voe(e,t,n,{type:Aoe,start:i});i.end=a;for(s of r)void 0!==s?(boe(i,s.left),boe(s.right,a)):boe(i,a);r={left:i,right:a};return e.decisionMap[Zae(t,poe(n),n.idx)]=i,r}function poe(e){if(e instanceof lie)return"Alternation";if(e instanceof nie)return"Option";if(e instanceof aie)return"Repetition";if(e instanceof oie)return"RepetitionWithSeparator";if(e instanceof rie)return"RepetitionMandatory";if(e instanceof sie)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function goe(n,r){var e=r.length;for(let i=0;i<e-1;i++){let e=r[i],t;var s=(t=1===e.left.transitions.length?e.left.transitions[0]:t)instanceof Doe,a=t,o=r[i+1].left;e.left.type===koe&&e.right.type===koe&&void 0!==t&&(s&&a.followState===e.right||t.target===e.right)?(s?a.followState=o:t.target=o,woe(n,e.right)):boe(e.right,o)}var t=r[0],i=r[e-1];return{left:t.left,right:i.right}}function foe(e,t,i,n){var r=voe(e,t,n,{type:koe}),e=voe(e,t,n,{type:koe});return xoe(r,new Ioe(e,i)),{left:r,right:e}}function moe(e,t,i){var n=i.referencedRule,r=e.ruleToStartState.get(n),s=voe(e,t,i,{type:koe}),e=voe(e,t,i,{type:koe});return xoe(s,new Doe(r,n,e)),{left:s,right:e}}function yoe(e,t,i){var n=e.ruleToStartState.get(t),e=(boe(n,i.left),e.ruleToStopState.get(t));return boe(i.right,e),{left:n,right:e}}function boe(e,t){xoe(e,new Noe(t))}function voe(e,t,i,n){i=Object.assign({atn:e,production:i,epsilonOnlyTransitions:!1,rule:t,transitions:[],nextTokenWithinRule:[],stateNumber:e.states.length},n);return e.states.push(i),i}function xoe(e,t){0===e.transitions.length&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}function woe(e,t){e.states.splice(e.states.indexOf(t),1)}var koe,Toe,Soe,Coe,_oe,Aoe,Eoe,$oe,Loe,Roe,Moe,Ioe,Noe,Doe,Ooe=e(()=>{"use strict";TH(),rH(),Kae(),mt(Zae,"buildATNKey"),koe=1,Toe=2,Soe=4,Coe=5,_oe=7,Aoe=8,Eoe=9,$oe=10,Loe=11,Roe=12,Moe=class{static{mt(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},Ioe=class extends Moe{static{mt(this,"AtomTransition")}constructor(e,t){super(e),this.tokenType=t}},Noe=class extends Line truncated For further details.`);this.skipValidations=(GH(t,"skipValidations")?t:jae).skipValidations}}).DEFER_DEFINITION_ERRORS_HANDLING=!1,Oae(Hae,[Fse,Gse,hae,uae,pae,dae,gae,fae,Mae,Iae]),qae=class extends Hae{static{mt(this,"EmbeddedActionsParser")}constructor(e,t=jae){t=hj(t);t.outputCst=!1,super(e,t)}}}),Gae=e(()=>{"use strict";bie()}),Vae=e(()=>{}),Yae=e(()=>{"use strict";Gae(),Vae()}),Xae=e(()=>{"use strict";jte()}),Kae=e(()=>{"use strict";jte(),Wae(),ere(),xre(),Jre(),qse(),wre(),Nse(),Jne(),bie(),bie(),Yae(),Xae()});function Qae(e,t,i){return e.name+`_${t}_`+i}function Zae(t){var i={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]},n=(Jae(i,t),t.length);for(let e=0;e<n;e++){var r=t[e],s=ooe(i,r,r);void 0!==s&&yoe(i,r,s)}return i}function Jae(t,i){var n=i.length;for(let e=0;e<n;e++){var r=i[e],s=voe(t,r,void 0,{type:Toe}),a=voe(t,r,void 0,{type:_oe});s.stop=a,t.ruleToStartState.set(r,s),t.ruleToStopState.set(r,a)}}function eoe(e,t,i){return i instanceof cie?foe(e,t,i.terminalType,i):(i instanceof eie?moe:i instanceof lie?soe:i instanceof nie?aoe:i instanceof aie?toe:i instanceof oie?ioe:i instanceof rie?noe:i instanceof sie?roe:ooe)(e,t,i)}function toe(e,t,i){var n=voe(e,t,i,{type:Coe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return coe(e,t,i,n)}function ioe(e,t,i){var n=voe(e,t,i,{type:Coe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return coe(e,t,i,n,foe(e,t,i.separator,i))}function noe(e,t,i){var n=voe(e,t,i,{type:Soe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return loe(e,t,i,n)}function roe(e,t,i){var n=voe(e,t,i,{type:Soe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return loe(e,t,i,n,foe(e,t,i.separator,i))}function soe(t,i,e){var n=voe(t,i,e,{type:koe}),r=(uoe(t,n),v(e.definition,e=>eoe(t,i,e)));return doe(t,i,n,e,...r)}function aoe(e,t,i){var n=voe(e,t,i,{type:koe}),n=(uoe(e,n),doe(e,t,n,i,ooe(e,t,i)));return hoe(e,t,i,n)}function ooe(t,i,e){e=nH(v(e.definition,e=>eoe(t,i,e)),e=>void 0!==e);return 1===e.length?e[0]:0===e.length?void 0:goe(t,e)}function loe(e,t,i,n,r){var s=n.left,n=n.right,a=voe(e,t,i,{type:Loe}),o=(uoe(e,a),voe(e,t,i,{type:Roe}));return s.loopback=a,o.loopback=a,boe(n,e.decisionMap[Qae(t,r?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",i.idx)]=a),void 0===r?(boe(a,s),boe(a,o)):(boe(a,o),boe(a,r.left),boe(r.right,s)),{left:s,right:o}}function coe(e,t,i,n,r){var s=n.left,n=n.right,a=voe(e,t,i,{type:$oe}),o=(uoe(e,a),voe(e,t,i,{type:Roe})),l=voe(e,t,i,{type:Eoe});return a.loopback=l,o.loopback=l,boe(a,s),boe(a,o),boe(n,l),void 0!==r?(boe(l,o),boe(l,r.left),boe(r.right,s)):boe(l,a),{left:e.decisionMap[Qae(t,r?"RepetitionWithSeparator":"Repetition",i.idx)]=a,right:o}}function hoe(e,t,i,n){var r=n.left;return boe(r,n.right),e.decisionMap[Qae(t,"Option",i.idx)]=r,n}function uoe(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}function doe(e,t,i,n,...r){var s,a=voe(e,t,n,{type:Aoe,start:i});i.end=a;for(s of r)void 0!==s?(boe(i,s.left),boe(s.right,a)):boe(i,a);r={left:i,right:a};return e.decisionMap[Qae(t,poe(n),n.idx)]=i,r}function poe(e){if(e instanceof lie)return"Alternation";if(e instanceof nie)return"Option";if(e instanceof aie)return"Repetition";if(e instanceof oie)return"RepetitionWithSeparator";if(e instanceof rie)return"RepetitionMandatory";if(e instanceof sie)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function goe(n,r){var e=r.length;for(let i=0;i<e-1;i++){let e=r[i],t;var s=(t=1===e.left.transitions.length?e.left.transitions[0]:t)instanceof Doe,a=t,o=r[i+1].left;e.left.type===koe&&e.right.type===koe&&void 0!==t&&(s&&a.followState===e.right||t.target===e.right)?(s?a.followState=o:t.target=o,woe(n,e.right)):boe(e.right,o)}var t=r[0],i=r[e-1];return{left:t.left,right:i.right}}function foe(e,t,i,n){var r=voe(e,t,n,{type:koe}),e=voe(e,t,n,{type:koe});return xoe(r,new Ioe(e,i)),{left:r,right:e}}function moe(e,t,i){var n=i.referencedRule,r=e.ruleToStartState.get(n),s=voe(e,t,i,{type:koe}),e=voe(e,t,i,{type:koe});return xoe(s,new Doe(r,n,e)),{left:s,right:e}}function yoe(e,t,i){var n=e.ruleToStartState.get(t),e=(boe(n,i.left),e.ruleToStopState.get(t));return boe(i.right,e),{left:n,right:e}}function boe(e,t){xoe(e,new Noe(t))}function voe(e,t,i,n){i=Object.assign({atn:e,production:i,epsilonOnlyTransitions:!1,rule:t,transitions:[],nextTokenWithinRule:[],stateNumber:e.states.length},n);return e.states.push(i),i}function xoe(e,t){0===e.transitions.length&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}function woe(e,t){e.states.splice(e.states.indexOf(t),1)}var koe,Toe,Soe,Coe,_oe,Aoe,Eoe,$oe,Loe,Roe,Moe,Ioe,Noe,Doe,Ooe=e(()=>{"use strict";TH(),rH(),Kae(),mt(Qae,"buildATNKey"),koe=1,Toe=2,Soe=4,Coe=5,_oe=7,Aoe=8,Eoe=9,$oe=10,Loe=11,Roe=12,Moe=class{static{mt(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},Ioe=class extends Moe{static{mt(this,"AtomTransition")}constructor(e,t){super(e),this.tokenType=t}},Noe=class extends Line truncated
<${t}> may appears as a prefix path in all these alternatives. <${t}> may appears as a prefix path in all these alternatives.
`;return i+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES `;return i+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
For Further details.`}function Xoe(e){if(e instanceof eie)return"SUBRULE";if(e instanceof nie)return"OPTION";if(e instanceof lie)return"OR";if(e instanceof rie)return"AT_LEAST_ONE";if(e instanceof sie)return"AT_LEAST_ONE_SEP";if(e instanceof oie)return"MANY_SEP";if(e instanceof aie)return"MANY";if(e instanceof cie)return"CONSUME";throw Error("non exhaustive match")}function Koe(e,t,i){t=CH(t.configs.elements,e=>e.state.transitions);return{actualToken:i,possibleTokenTypes:$G(t.filter(e=>e instanceof Ioe).map(e=>e.tokenType),e=>e.tokenTypeIdx),tokenPath:e}}function Zoe(e,t){return e.edges[t.tokenTypeIdx]}function Qoe(e,t,i){var n,r=new Foe,s=[];for(n of e.elements)if(!1!==i.is(n.alt))if(n.state.type===_oe)s.push(n);else{var a=n.state.transitions.length;for(let e=0;e<a;e++){var o=Joe(n.state.transitions[e],t);void 0!==o&&r.add({state:o,alt:n.alt,stack:n.stack})}}let l;if(void 0===(l=0===s.length&&1===r.size?r:l)){l=new Foe;for(var c of r.elements)sle(c,l)}if(0<s.length&&!ole(l))for(var h of s)l.add(h);return l}function Joe(e,t){if(e instanceof Ioe&&are(t,e.tokenType))return e.target}function ele(e,t){let i;for(var n of e.elements)if(!0===t.is(n.alt))if(void 0===i)i=n.alt;else if(i!==n.alt)return;return i}function tle(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function ile(e,t,i,n){return n=nle(e,n),t.edges[i.tokenTypeIdx]=n}function nle(e,t){var i,n;return t===Boe?t:(i=t.configs.key,void 0!==(n=e.states[i])?n:(t.configs.finalize(),e.states[i]=t))}function rle(t){var i=new Foe,n=t.transitions.length;for(let e=0;e<n;e++)sle({state:t.transitions[e].target,alt:e,stack:[]},i);return i}function sle(t,i){var e,n=t.state;if(n.type===_oe)0<t.stack.length?sle({state:(e=[...t.stack]).pop(),alt:t.alt,stack:e},i):i.add(t);else{n.epsilonOnlyTransitions||i.add(t);var r=n.transitions.length;for(let e=0;e<r;e++){var s=ale(t,n.transitions[e]);void 0!==s&&sle(s,i)}}}function ale(e,t){var i;return t instanceof Noe?{state:t.target,alt:e.alt,stack:e.stack}:t instanceof Doe?(i=[...e.stack,t.followState],{state:t.target,alt:e.alt,stack:i}):void 0}function ole(e){for(var t of e.elements)if(t.state.type===_oe)return!0;return!1}function lle(e){for(var t of e.elements)if(t.state.type!==_oe)return!1;return!0}function cle(e){return!!lle(e)||ule(e=hle(e.elements))&&!dle(e)}function hle(e){var i,n=new Map;for(i of e){let e=Poe(i,!1),t=n.get(e);void 0===t&&(t={},n.set(e,t)),t[i.alt]=!0}return n}function ule(e){for(var t of Array.from(e.values()))if(1<Object.keys(t).length)return!0;return!1}function dle(e){for(var t of Array.from(e.values()))if(1===Object.keys(t).length)return!0;return!1}var ple,gle,fle,mle,yle,ble,vle,xle,wle,kle,Tle,Sle,Cle,_le,Ale,Ele,$le,Lle,Rle,Mle,Ile,Nle,Dle,Ole,Ple,Ble,Fle,jle,zle,Ule,Hle,qle,Wle,Gle,Vle,Yle,Xle,Kle,Zle,Qle,Jle,ece,tce,ice,nce,rce,sce,ace,oce,lce,cce,hce,uce,dce,pce,gce,fce,mce,yce,bce,vce,xce,wce,kce,Tce,Sce,Cce,_ce,Ace,Ece,$ce,Lce,Rce,Mce,Ice,Nce,Dce,Oce,Pce,Bce,Fce,yt,jce,zce,Uce,Hce,qce,Wce,Gce=e(()=>{"use strict";Kae(),Ooe(),joe(),Fq(),_H(),LG(),TH(),nB(),UU(),fq(),eG(),mt(zoe,"createDFACache"),ple=class{static{mt(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let t="",i=this.predicates.length;for(let e=0;e<i;e++)t+=!0===this.predicates[e]?"1":"0";return t}},gle=new ple,fle=class extends Use{static{mt(this,"LLStarLookaheadStrategy")}constructor(e){super(),this.logging=null!=(e=e?.logging)?e:e=>console.log(e)}initialize(e){this.atn=Qae(e.rules),this.dfas=Hoe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:t,rule:i,hasPredicates:n,dynamicTokensEnabled:r}=e,s=this.dfas,a=this.logging,o=Zae(i,"Alternation",t),l=this.atn.decisionMap[o].decision,c=v(Ore({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:i}),e=>v(e,e=>e[0]));if(!Uoe(c,!1)||r)return n?function(t){var i=new ple,n=void 0===t?0:t.length;for(let e=0;e<n;e++){var r=t?.[e].GATE;i.set(e,void 0===r||r.call(this))}var e=qoe.call(this,s,l,i,a);return"number"==typeof e?e:void 0}:function(){var e=qoe.call(this,s,l,gle,a);return"number"==typeof e?e:void 0};{let i=JW(c,(t,e,i)=>(b(e,e=>{e&&(t[e.tokenTypeIdx]=i,b(e.categoryMatches,e=>{t[e]=i}))}),t),{});return n?function(e){var t=this.LA(1),t=i[t.tokenTypeIdx];if(void 0!==e&&void 0!==t){e=null==(e=e[t])?void 0:e.GATE;if(void 0!==e&&!1===e.call(this))return}return t}:function(){var e=this.LA(1);return i[e.tokenTypeIdx]}}}buildLookaheadForOptional(i){let{prodOccurrence:e,rule:t,prodType:n,dynamicTokensEnabled:r}=i,s=this.dfas,a=this.logging,o=Zae(t,n,e),l=this.atn.decisionMap[o].decision,c=v(Ore({maxLookahead:1,occurrence:e,prodType:n,rule:t}),e=>v(e,e=>e[0]));if(Uoe(c)&&c[0][0]&&!r){i=c[0],i=iB(i);if(1===i.length&&gq(i[0].categoryMatches)){let e=i[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{let t=JW(i,(t,e)=>(void 0!==e&&(t[e.tokenTypeIdx]=!0,b(e Line truncated For Further details.`}function Xoe(e){if(e instanceof eie)return"SUBRULE";if(e instanceof nie)return"OPTION";if(e instanceof lie)return"OR";if(e instanceof rie)return"AT_LEAST_ONE";if(e instanceof sie)return"AT_LEAST_ONE_SEP";if(e instanceof oie)return"MANY_SEP";if(e instanceof aie)return"MANY";if(e instanceof cie)return"CONSUME";throw Error("non exhaustive match")}function Koe(e,t,i){t=CH(t.configs.elements,e=>e.state.transitions);return{actualToken:i,possibleTokenTypes:$G(t.filter(e=>e instanceof Ioe).map(e=>e.tokenType),e=>e.tokenTypeIdx),tokenPath:e}}function Qoe(e,t){return e.edges[t.tokenTypeIdx]}function Zoe(e,t,i){var n,r=new Foe,s=[];for(n of e.elements)if(!1!==i.is(n.alt))if(n.state.type===_oe)s.push(n);else{var a=n.state.transitions.length;for(let e=0;e<a;e++){var o=Joe(n.state.transitions[e],t);void 0!==o&&r.add({state:o,alt:n.alt,stack:n.stack})}}let l;if(void 0===(l=0===s.length&&1===r.size?r:l)){l=new Foe;for(var c of r.elements)sle(c,l)}if(0<s.length&&!ole(l))for(var h of s)l.add(h);return l}function Joe(e,t){if(e instanceof Ioe&&are(t,e.tokenType))return e.target}function ele(e,t){let i;for(var n of e.elements)if(!0===t.is(n.alt))if(void 0===i)i=n.alt;else if(i!==n.alt)return;return i}function tle(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function ile(e,t,i,n){return n=nle(e,n),t.edges[i.tokenTypeIdx]=n}function nle(e,t){var i,n;return t===Boe?t:(i=t.configs.key,void 0!==(n=e.states[i])?n:(t.configs.finalize(),e.states[i]=t))}function rle(t){var i=new Foe,n=t.transitions.length;for(let e=0;e<n;e++)sle({state:t.transitions[e].target,alt:e,stack:[]},i);return i}function sle(t,i){var e,n=t.state;if(n.type===_oe)0<t.stack.length?sle({state:(e=[...t.stack]).pop(),alt:t.alt,stack:e},i):i.add(t);else{n.epsilonOnlyTransitions||i.add(t);var r=n.transitions.length;for(let e=0;e<r;e++){var s=ale(t,n.transitions[e]);void 0!==s&&sle(s,i)}}}function ale(e,t){var i;return t instanceof Noe?{state:t.target,alt:e.alt,stack:e.stack}:t instanceof Doe?(i=[...e.stack,t.followState],{state:t.target,alt:e.alt,stack:i}):void 0}function ole(e){for(var t of e.elements)if(t.state.type===_oe)return!0;return!1}function lle(e){for(var t of e.elements)if(t.state.type!==_oe)return!1;return!0}function cle(e){return!!lle(e)||ule(e=hle(e.elements))&&!dle(e)}function hle(e){var i,n=new Map;for(i of e){let e=Poe(i,!1),t=n.get(e);void 0===t&&(t={},n.set(e,t)),t[i.alt]=!0}return n}function ule(e){for(var t of Array.from(e.values()))if(1<Object.keys(t).length)return!0;return!1}function dle(e){for(var t of Array.from(e.values()))if(1===Object.keys(t).length)return!0;return!1}var ple,gle,fle,mle,yle,ble,vle,xle,wle,kle,Tle,Sle,Cle,_le,Ale,Ele,$le,Lle,Rle,Mle,Ile,Nle,Dle,Ole,Ple,Ble,Fle,jle,zle,Ule,Hle,qle,Wle,Gle,Vle,Yle,Xle,Kle,Qle,Zle,Jle,ece,tce,ice,nce,rce,sce,ace,oce,lce,cce,hce,uce,dce,pce,gce,fce,mce,yce,bce,vce,xce,wce,kce,Tce,Sce,Cce,_ce,Ace,Ece,$ce,Lce,Rce,Mce,Ice,Nce,Dce,Oce,Pce,Bce,Fce,yt,jce,zce,Uce,Hce,qce,Wce,Gce=e(()=>{"use strict";Kae(),Ooe(),joe(),Fq(),_H(),LG(),TH(),nB(),UU(),fq(),eG(),mt(zoe,"createDFACache"),ple=class{static{mt(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let t="",i=this.predicates.length;for(let e=0;e<i;e++)t+=!0===this.predicates[e]?"1":"0";return t}},gle=new ple,fle=class extends Use{static{mt(this,"LLStarLookaheadStrategy")}constructor(e){super(),this.logging=null!=(e=e?.logging)?e:e=>console.log(e)}initialize(e){this.atn=Zae(e.rules),this.dfas=Hoe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:t,rule:i,hasPredicates:n,dynamicTokensEnabled:r}=e,s=this.dfas,a=this.logging,o=Qae(i,"Alternation",t),l=this.atn.decisionMap[o].decision,c=v(Ore({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:i}),e=>v(e,e=>e[0]));if(!Uoe(c,!1)||r)return n?function(t){var i=new ple,n=void 0===t?0:t.length;for(let e=0;e<n;e++){var r=t?.[e].GATE;i.set(e,void 0===r||r.call(this))}var e=qoe.call(this,s,l,i,a);return"number"==typeof e?e:void 0}:function(){var e=qoe.call(this,s,l,gle,a);return"number"==typeof e?e:void 0};{let i=JW(c,(t,e,i)=>(b(e,e=>{e&&(t[e.tokenTypeIdx]=i,b(e.categoryMatches,e=>{t[e]=i}))}),t),{});return n?function(e){var t=this.LA(1),t=i[t.tokenTypeIdx];if(void 0!==e&&void 0!==t){e=null==(e=e[t])?void 0:e.GATE;if(void 0!==e&&!1===e.call(this))return}return t}:function(){var e=this.LA(1);return i[e.tokenTypeIdx]}}}buildLookaheadForOptional(i){let{prodOccurrence:e,rule:t,prodType:n,dynamicTokensEnabled:r}=i,s=this.dfas,a=this.logging,o=Qae(t,n,e),l=this.atn.decisionMap[o].decision,c=v(Ore({maxLookahead:1,occurrence:e,prodType:n,rule:t}),e=>v(e,e=>e[0]));if(Uoe(c)&&c[0][0]&&!r){i=c[0],i=iB(i);if(1===i.length&&gq(i[0].categoryMatches)){let e=i[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{let t=JW(i,(t,e)=>(void 0!==e&&(t[e.tokenTypeIdx]=!0,b(e Line truncated
`,"\r"===r&&e+1<i.length&&i.charAt(e+1)===` `,"\r"===r&&e+1<i.length&&i.charAt(e+1)===`
`&&e++}n&&0<i.length&&t.push(i.length),this._lineOffsets=t}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),i=0,n=t.length;if(0===n)return xle.create(0,e);for(;i<n;){var r=Math.floor((i+n)/2);t[r]>e?n=r:i=r+1}var s=i-1;return xle.create(s,e-t[s])}offsetAt(e){var t,i=this.getLineOffsets();return e.line>=i.length?this._content.length:e.line<0?0:(t=i[e.line],i=e.line+1<i.length?i[e.line+1]:this._content.length,Math.max(Math.min(t+e.character,i),t))}get lineCount(){return this.getLineOffsets().length}};{var D=yt=yt||{};let n=Object.prototype.toString;function st(e){return typeof e<"u"}function at(e){return"u"<typeof e}function ot(e){return!0===e||!1===e}function lt(e){return"[object String]"===n.call(e)}function ct(e){return"[object Number]"===n.call(e)}function ht(e,t,i){return"[object Number]"===n.call(e)&&t<=e&&e<=i}function ut(e){return"[object Number]"===n.call(e)&&-2147483648<=e&&e<=2147483647}function dt(e){return"[object Number]"===n.call(e)&&0<=e&&e<=2147483647}function pt(e){return"[object Function]"===n.call(e)}function gt(e){return null!==e&&"object"==typeof e}function ft(e,t){return Array.isArray(e)&&e.every(t)}mt(st,"defined"),D.defined=st,mt(at,"undefined"),D.undefined=at,mt(ot,"boolean"),D.boolean=ot,mt(lt,"string"),D.string=lt,mt(ct,"number"),D.number=ct,mt(ht,"numberRange"),D.numberRange=ht,mt(ut,"integer"),D.integer=ut,mt(dt,"uinteger"),D.uinteger=dt,mt(pt,"func"),D.func=pt,mt(gt,"objectLiteral"),D.objectLiteral=gt,mt(ft,"typedArray"),D.typedArray=ft}}),Xce=e(()=>{"use strict";Yce(),lQ(),jce=class{static{mt(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){var e;return null!=(e=this.nodeStack[this.nodeStack.length-1])?e:this.rootNode}buildRootNode(e){return this.rootNode=new Wce(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){var t=new Hce;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){e=new Uce(e.startOffset,e.image.length,qZ(e),e.tokenType,!t);return e.grammarSource=t,e.root=this.rootNode,this.current.content.push(e),e}removeNode(e){var t=e.container;t&&0<=(e=t.content.indexOf(e))&&t.content.splice(e,1)}addHiddenNodes(e){var t,i=[];for(t of e){var n=new Uce(t.startOffset,t.image.length,qZ(t),t.tokenType,!0);n.root=this.rootNode,i.push(n)}let r=this.current,s=!1;if(0<r.content.length)r.content.push(...i);else{for(;r.container;){var a=r.container.content.indexOf(r);if(0<a){r.container.content.splice(a,0,...i),s=!0;break}r=r.container}s||this.rootNode.content.unshift(...i)}}construct(e){var t=this.current,e=("string"==typeof e.$type&&(this.current.astNode=e),e.$cstNode=t,this.nodeStack.pop());0===e?.content.length&&this.removeNode(e)}},zce=class{static{mt(this,"AbstractCstNode")}get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e="string"==typeof(null==(e=this._astNode)?void 0:e.$type)?this._astNode:null==(e=this.container)?void 0:e.astNode;if(e)return e;throw new Error("This node has no associated AST element")}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}},Uce=class extends zce{static{mt(this,"LeafCstNodeImpl")}get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,t,i,n,r=!1){super(),this._hidden=r,this._offset=e,this._tokenType=n,this._length=t,this._range=i}},Hce=class extends zce{static{mt(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new qce(this)}get children(){return this.content}get offset(){var e;return null!=(e=null==(e=this.firstNonHiddenNode)?void 0:e.offset)?e:0}get length(){return this.end-this.offset}get end(){var e;return null!=(e=null==(e=this.lastNonHiddenNode)?void 0:e.end)?e:0}get range(){var e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;return e&&t?(void 0===this._rangeCache&&(e=e["range"],t=t["range"],this._rangeCache={start:e.start,end:t.end.line<e.start.line?e.start:t.end}),this._rangeCache):{start:xle.create(0,0),end:xle.create(0,0)}}get firstNonHiddenNode(){for(var e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;0<=e;e--){var t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}},qce=class t extends Array{static{mt(this,"CstNodeContainer")}constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...i){return this.addParents(i),super.splice(e,t,...i)}addParents(e){for(var t of e)t.container=this.parent}},Wce=class extends Hce{static{mt(this,"RootCstNodeImpl")}get t Line truncated `&&e++}n&&0<i.length&&t.push(i.length),this._lineOffsets=t}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),i=0,n=t.length;if(0===n)return xle.create(0,e);for(;i<n;){var r=Math.floor((i+n)/2);t[r]>e?n=r:i=r+1}var s=i-1;return xle.create(s,e-t[s])}offsetAt(e){var t,i=this.getLineOffsets();return e.line>=i.length?this._content.length:e.line<0?0:(t=i[e.line],i=e.line+1<i.length?i[e.line+1]:this._content.length,Math.max(Math.min(t+e.character,i),t))}get lineCount(){return this.getLineOffsets().length}};{var D=yt=yt||{};let n=Object.prototype.toString;function st(e){return typeof e<"u"}function at(e){return"u"<typeof e}function ot(e){return!0===e||!1===e}function lt(e){return"[object String]"===n.call(e)}function ct(e){return"[object Number]"===n.call(e)}function ht(e,t,i){return"[object Number]"===n.call(e)&&t<=e&&e<=i}function ut(e){return"[object Number]"===n.call(e)&&-2147483648<=e&&e<=2147483647}function dt(e){return"[object Number]"===n.call(e)&&0<=e&&e<=2147483647}function pt(e){return"[object Function]"===n.call(e)}function gt(e){return null!==e&&"object"==typeof e}function ft(e,t){return Array.isArray(e)&&e.every(t)}mt(st,"defined"),D.defined=st,mt(at,"undefined"),D.undefined=at,mt(ot,"boolean"),D.boolean=ot,mt(lt,"string"),D.string=lt,mt(ct,"number"),D.number=ct,mt(ht,"numberRange"),D.numberRange=ht,mt(ut,"integer"),D.integer=ut,mt(dt,"uinteger"),D.uinteger=dt,mt(pt,"func"),D.func=pt,mt(gt,"objectLiteral"),D.objectLiteral=gt,mt(ft,"typedArray"),D.typedArray=ft}}),Xce=e(()=>{"use strict";Yce(),lZ(),jce=class{static{mt(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){var e;return null!=(e=this.nodeStack[this.nodeStack.length-1])?e:this.rootNode}buildRootNode(e){return this.rootNode=new Wce(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){var t=new Hce;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){e=new Uce(e.startOffset,e.image.length,qQ(e),e.tokenType,!t);return e.grammarSource=t,e.root=this.rootNode,this.current.content.push(e),e}removeNode(e){var t=e.container;t&&0<=(e=t.content.indexOf(e))&&t.content.splice(e,1)}addHiddenNodes(e){var t,i=[];for(t of e){var n=new Uce(t.startOffset,t.image.length,qQ(t),t.tokenType,!0);n.root=this.rootNode,i.push(n)}let r=this.current,s=!1;if(0<r.content.length)r.content.push(...i);else{for(;r.container;){var a=r.container.content.indexOf(r);if(0<a){r.container.content.splice(a,0,...i),s=!0;break}r=r.container}s||this.rootNode.content.unshift(...i)}}construct(e){var t=this.current,e=("string"==typeof e.$type&&(this.current.astNode=e),e.$cstNode=t,this.nodeStack.pop());0===e?.content.length&&this.removeNode(e)}},zce=class{static{mt(this,"AbstractCstNode")}get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e="string"==typeof(null==(e=this._astNode)?void 0:e.$type)?this._astNode:null==(e=this.container)?void 0:e.astNode;if(e)return e;throw new Error("This node has no associated AST element")}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}},Uce=class extends zce{static{mt(this,"LeafCstNodeImpl")}get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,t,i,n,r=!1){super(),this._hidden=r,this._offset=e,this._tokenType=n,this._length=t,this._range=i}},Hce=class extends zce{static{mt(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new qce(this)}get children(){return this.content}get offset(){var e;return null!=(e=null==(e=this.firstNonHiddenNode)?void 0:e.offset)?e:0}get length(){return this.end-this.offset}get end(){var e;return null!=(e=null==(e=this.lastNonHiddenNode)?void 0:e.end)?e:0}get range(){var e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;return e&&t?(void 0===this._rangeCache&&(e=e["range"],t=t["range"],this._rangeCache={start:e.start,end:t.end.line<e.start.line?e.start:t.end}),this._rangeCache):{start:xle.create(0,0),end:xle.create(0,0)}}get firstNonHiddenNode(){for(var e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;0<=e;e--){var t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}},qce=class t extends Array{static{mt(this,"CstNodeContainer")}constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...i){return this.addParents(i),super.splice(e,t,...i)}addParents(e){for(var t of e)t.container=this.parent}},Wce=class extends Hce{static{mt(this,"RootCstNodeImpl")}get t Line truncated
`;case"r":return"\r";case"t":return"\t";case"v":return"\v";case"0":return"\0";default:return e}}function t(e){return"^"===e.charAt(0)?e.substring(1):e}function i(e){return parseInt(e)}function n(e){return BigInt(e)}function r(e){return new Date(e)}function a(e){return Number(e)}function o(e){return"true"===e.toLowerCase()}var l;iee(),Pte(),Lhe=class{static{mt(this,"DefaultValueConverter")}convert(e,t){let i=t.grammarSource;if(eJ(i=YQ(i)?nte(i):i)){var n=i.rule.ref;if(n)return this.runConverter(n,e,t);throw new Error("This cst node was not parsed by a rule.")}return e}runConverter(e,t,i){switch(e.name.toUpperCase()){case"INT":return Rhe.convertInt(t);case"STRING":return Rhe.convertString(t);case"ID":return Rhe.convertID(t)}switch(null==(e=_te(e))?void 0:e.toLowerCase()){case"number":return Rhe.convertNumber(t);case"boolean":return Rhe.convertBoolean(t);case"bigint":return Rhe.convertBigint(t);case"date":return Rhe.convertDate(t);default:return t}}},l=Rhe=Rhe||{},mt(e,"convertString"),l.convertString=e,mt(s,"convertEscapeCharacter"),mt(t,"convertID"),l.convertID=t,mt(i,"convertInt"),l.convertInt=i,mt(n,"convertBigint"),l.convertBigint=n,mt(r,"convertDate"),l.convertDate=r,mt(a,"convertNumber"),l.convertNumber=a,mt(o,"convertBoolean"),l.convertBoolean=o}),Dhe=W(e=>{"use strict";var t,i;function n(){if(void 0===t)throw new Error("No runtime abstraction layer installed");return t}function r(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");t=e}Object.defineProperty(e,"__esModule",{value:!0}),mt(n,"RAL"),i=n=n||{},mt(r,"install"),i.install=r,e.default=n}),Ohe=W(e=>{"use strict";function t(e){return!0===e||!1===e}function i(e){return"string"==typeof e||e instanceof String}function n(e){return"number"==typeof e||e instanceof Number}function r(e){return e instanceof Error}function s(e){return"function"==typeof e}function a(e){return Array.isArray(e)}function o(e){return a(e)&&e.every(e=>i(e))}Object.defineProperty(e,"__esModule",{value:!0}),e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,mt(t,"boolean"),e.boolean=t,mt(i,"string"),e.string=i,mt(n,"number"),e.number=n,mt(r,"error"),e.error=r,mt(s,"func"),e.func=s,mt(a,"array"),e.array=a,mt(o,"stringArray"),e.stringArray=o}),Phe=W(t=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;var a=Dhe();{var i=t.Event={};let e={dispose(){}};i.None=function(){return e}}var r=class{static{mt(this,"CallbackList")}add(e,t=null,i){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(i)&&i.push({dispose:mt(()=>this.remove(e,t),"dispose")})}remove(n,r=null){if(this._callbacks){let i=!1;for(let e=0,t=this._callbacks.length;e<t;e++)if(this._callbacks[e]===n){if(this._contexts[e]===r)return this._callbacks.splice(e,1),void this._contexts.splice(e,1);i=!0}if(i)throw new Error("When adding a listener with a context, you should remove it with the same context")}}invoke(...i){if(!this._callbacks)return[];var n=[],r=this._callbacks.slice(0),s=this._contexts.slice(0);for(let e=0,t=r.length;e<t;e++)try{n.push(r[e].apply(s[e],i))}catch(e){(0,a.default)().console.error(e)}return n}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}},i=class s{static{mt(this,"Emitter")}constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,i)=>{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);let n={dispose:mt(()=>{this._callbacks&&(this._callbacks.remove(e,t),n.dispose=s._noop,this._options)&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this)},"dispose")};return Array.isArray(i)&&i.push(n),n}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};(t.Emitter=i)._noop=function(){}}),Bhe=W(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;var t,i,n=Dhe(),r=Ohe(),s=Phe();function a(e){return e&&(e===i.None||e===i.Cancelled||r.boolean(e.isCancellationRequested)&&!!e.onCancellationRequested)}(i=t||(e.CancellationToken=t={})).None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),i.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),mt(a,"is"),i.is=a;var o=Object.freeze(function(e,t){let i=(0,n.default)().timer.setTimeout(e.bind(t),0);return{dispose(){i.dispose()}}}),l=class{static{mt(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?o Line truncated `;case"r":return"\r";case"t":return"\t";case"v":return"\v";case"0":return"\0";default:return e}}function t(e){return"^"===e.charAt(0)?e.substring(1):e}function i(e){return parseInt(e)}function n(e){return BigInt(e)}function r(e){return new Date(e)}function a(e){return Number(e)}function o(e){return"true"===e.toLowerCase()}var l;iee(),Pte(),Lhe=class{static{mt(this,"DefaultValueConverter")}convert(e,t){let i=t.grammarSource;if(eJ(i=YZ(i)?nte(i):i)){var n=i.rule.ref;if(n)return this.runConverter(n,e,t);throw new Error("This cst node was not parsed by a rule.")}return e}runConverter(e,t,i){switch(e.name.toUpperCase()){case"INT":return Rhe.convertInt(t);case"STRING":return Rhe.convertString(t);case"ID":return Rhe.convertID(t)}switch(null==(e=_te(e))?void 0:e.toLowerCase()){case"number":return Rhe.convertNumber(t);case"boolean":return Rhe.convertBoolean(t);case"bigint":return Rhe.convertBigint(t);case"date":return Rhe.convertDate(t);default:return t}}},l=Rhe=Rhe||{},mt(e,"convertString"),l.convertString=e,mt(s,"convertEscapeCharacter"),mt(t,"convertID"),l.convertID=t,mt(i,"convertInt"),l.convertInt=i,mt(n,"convertBigint"),l.convertBigint=n,mt(r,"convertDate"),l.convertDate=r,mt(a,"convertNumber"),l.convertNumber=a,mt(o,"convertBoolean"),l.convertBoolean=o}),Dhe=W(e=>{"use strict";var t,i;function n(){if(void 0===t)throw new Error("No runtime abstraction layer installed");return t}function r(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");t=e}Object.defineProperty(e,"__esModule",{value:!0}),mt(n,"RAL"),i=n=n||{},mt(r,"install"),i.install=r,e.default=n}),Ohe=W(e=>{"use strict";function t(e){return!0===e||!1===e}function i(e){return"string"==typeof e||e instanceof String}function n(e){return"number"==typeof e||e instanceof Number}function r(e){return e instanceof Error}function s(e){return"function"==typeof e}function a(e){return Array.isArray(e)}function o(e){return a(e)&&e.every(e=>i(e))}Object.defineProperty(e,"__esModule",{value:!0}),e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,mt(t,"boolean"),e.boolean=t,mt(i,"string"),e.string=i,mt(n,"number"),e.number=n,mt(r,"error"),e.error=r,mt(s,"func"),e.func=s,mt(a,"array"),e.array=a,mt(o,"stringArray"),e.stringArray=o}),Phe=W(t=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;var a=Dhe();{var i=t.Event={};let e={dispose(){}};i.None=function(){return e}}var r=class{static{mt(this,"CallbackList")}add(e,t=null,i){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(i)&&i.push({dispose:mt(()=>this.remove(e,t),"dispose")})}remove(n,r=null){if(this._callbacks){let i=!1;for(let e=0,t=this._callbacks.length;e<t;e++)if(this._callbacks[e]===n){if(this._contexts[e]===r)return this._callbacks.splice(e,1),void this._contexts.splice(e,1);i=!0}if(i)throw new Error("When adding a listener with a context, you should remove it with the same context")}}invoke(...i){if(!this._callbacks)return[];var n=[],r=this._callbacks.slice(0),s=this._contexts.slice(0);for(let e=0,t=r.length;e<t;e++)try{n.push(r[e].apply(s[e],i))}catch(e){(0,a.default)().console.error(e)}return n}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}},i=class s{static{mt(this,"Emitter")}constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,i)=>{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);let n={dispose:mt(()=>{this._callbacks&&(this._callbacks.remove(e,t),n.dispose=s._noop,this._options)&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this)},"dispose")};return Array.isArray(i)&&i.push(n),n}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};(t.Emitter=i)._noop=function(){}}),Bhe=W(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;var t,i,n=Dhe(),r=Ohe(),s=Phe();function a(e){return e&&(e===i.None||e===i.Cancelled||r.boolean(e.isCancellationRequested)&&!!e.onCancellationRequested)}(i=t||(e.CancellationToken=t={})).None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),i.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),mt(a,"is"),i.is=a;var o=Object.freeze(function(e,t){let i=(0,n.default)().timer.setTimeout(e.bind(t),0);return{dispose(){i.dispose()}}}),l=class{static{mt(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?o Line truncated
`)?` `)?`
`:` `:`
`}var qde,Wde,Gde,Vde,Yde,Xde,Kde,Zde,Qde,Jde,epe,tpe,ipe,npe,rpe,spe=e(()=>{"use strict";Yce(),Zee(),gue(),mt(Cde,"parseJSDoc"),mt(_de,"isJSDoc"),mt(Ade,"getLines"),qde=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,Wde=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu,mt(Ede,"tokenize"),mt($de,"buildInlineTokens"),Gde=/\S/,Vde=/\s*$/,mt(Lde,"skipWhitespace"),mt(Rde,"lastCharacter"),mt(Mde,"parseJSDocComment"),mt(Ide,"parseJSDocElement"),mt(Nde,"appendEmptyLine"),mt(Dde,"parseJSDocText"),mt(Ode,"parseJSDocInline"),mt(Pde,"parseJSDocTag"),mt(Bde,"parseJSDocLine"),mt(Fde,"normalizeOptions"),mt(jde,"normalizeOption"),Yde=class{static{mt(this,"JSDocCommentImpl")}constructor(e,t){this.elements=e,this.range=t}getTag(t){return this.getAllTags().find(e=>e.name===t)}getTags(t){return this.getAllTags().filter(e=>e.name===t)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(var t of this.elements)0===e.length?e=t.toString():(t=t.toString(),e+=Hde(e)+t);return e.trim()}toMarkdown(e){let t="";for(var i of this.elements)0===t.length?t=i.toMarkdown(e):(i=i.toMarkdown(e),t+=Hde(t)+i);return t.trim()}},Xde=class{static{mt(this,"JSDocTagImpl")}constructor(e,t,i,n){this.name=e,this.content=t,this.inline=i,this.range=n}toString(){let e="@"+this.name,t=this.content.toString();return 1===this.content.inlines.length?e=e+" "+t:1<this.content.inlines.length&&(e=e+` `}var qde,Wde,Gde,Vde,Yde,Xde,Kde,Qde,Zde,Jde,epe,tpe,ipe,npe,rpe,spe=e(()=>{"use strict";Yce(),Qee(),gue(),mt(Cde,"parseJSDoc"),mt(_de,"isJSDoc"),mt(Ade,"getLines"),qde=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,Wde=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu,mt(Ede,"tokenize"),mt($de,"buildInlineTokens"),Gde=/\S/,Vde=/\s*$/,mt(Lde,"skipWhitespace"),mt(Rde,"lastCharacter"),mt(Mde,"parseJSDocComment"),mt(Ide,"parseJSDocElement"),mt(Nde,"appendEmptyLine"),mt(Dde,"parseJSDocText"),mt(Ode,"parseJSDocInline"),mt(Pde,"parseJSDocTag"),mt(Bde,"parseJSDocLine"),mt(Fde,"normalizeOptions"),mt(jde,"normalizeOption"),Yde=class{static{mt(this,"JSDocCommentImpl")}constructor(e,t){this.elements=e,this.range=t}getTag(t){return this.getAllTags().find(e=>e.name===t)}getTags(t){return this.getAllTags().filter(e=>e.name===t)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(var t of this.elements)0===e.length?e=t.toString():(t=t.toString(),e+=Hde(e)+t);return e.trim()}toMarkdown(e){let t="";for(var i of this.elements)0===t.length?t=i.toMarkdown(e):(i=i.toMarkdown(e),t+=Hde(t)+i);return t.trim()}},Xde=class{static{mt(this,"JSDocTagImpl")}constructor(e,t,i,n){this.name=e,this.content=t,this.inline=i,this.range=n}toString(){let e="@"+this.name,t=this.content.toString();return 1===this.content.inlines.length?e=e+" "+t:1<this.content.inlines.length&&(e=e+`
`+t),this.inline?`{${e}}`:e}toMarkdown(e){var t;return null!=(t=null==(t=e?.renderTag)?void 0:t.call(e,this))?t:this.toMarkdownDefault(e)}toMarkdownDefault(e){var t=this.content.toMarkdown(e);if(this.inline){var i=zde(this.name,t,e??{});if("string"==typeof i)return i}let n="",r=("italic"===e?.tag||void 0===e?.tag?n="*":"bold"===e?.tag?n="**":"bold-italic"===e?.tag&&(n="***"),n+"@"+this.name+n);return 1===this.content.inlines.length?r=r+" — "+t:1<this.content.inlines.length&&(r=r+` `+t),this.inline?`{${e}}`:e}toMarkdown(e){var t;return null!=(t=null==(t=e?.renderTag)?void 0:t.call(e,this))?t:this.toMarkdownDefault(e)}toMarkdownDefault(e){var t=this.content.toMarkdown(e);if(this.inline){var i=zde(this.name,t,e??{});if("string"==typeof i)return i}let n="",r=("italic"===e?.tag||void 0===e?.tag?n="*":"bold"===e?.tag?n="**":"bold-italic"===e?.tag&&(n="***"),n+"@"+this.name+n);return 1===this.content.inlines.length?r=r+" — "+t:1<this.content.inlines.length&&(r=r+`
`+t),this.inline?`{${r}}`:r}},mt(zde,"renderInlineTag"),mt(Ude,"renderLinkDefault"),Kde=class{static{mt(this,"JSDocTextImpl")}constructor(e,t){this.inlines=e,this.range=t}toString(){let t="";for(let e=0;e<this.inlines.length;e++){var i=this.inlines[e],n=this.inlines[e+1];t+=i.toString(),n&&n.range.start.line>i.range.start.line&&(t+=` `+t),this.inline?`{${r}}`:r}},mt(zde,"renderInlineTag"),mt(Ude,"renderLinkDefault"),Kde=class{static{mt(this,"JSDocTextImpl")}constructor(e,t){this.inlines=e,this.range=t}toString(){let t="";for(let e=0;e<this.inlines.length;e++){var i=this.inlines[e],n=this.inlines[e+1];t+=i.toString(),n&&n.range.start.line>i.range.start.line&&(t+=`
`)}return t}toMarkdown(t){let i="";for(let e=0;e<this.inlines.length;e++){var n=this.inlines[e],r=this.inlines[e+1];i+=n.toMarkdown(t),r&&r.range.start.line>n.range.start.line&&(i+=` `)}return t}toMarkdown(t){let i="";for(let e=0;e<this.inlines.length;e++){var n=this.inlines[e],r=this.inlines[e+1];i+=n.toMarkdown(t),r&&r.range.start.line>n.range.start.line&&(i+=`
`)}return i}},Zde=class{static{mt(this,"JSDocLineImpl")}constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}},mt(Hde,"fillNewlines")}),ape=e(()=>{"use strict";bee(),spe(),Qde=class{static{mt(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(i){var e=this.commentProvider.getComment(i);if(e&&_de(e))return Cde(e).toMarkdown({renderLink:mt((e,t)=>this.documentationLinkRenderer(i,e,t),"renderLink"),renderTag:mt(e=>this.documentationTagRenderer(i,e),"renderTag")})}documentationLinkRenderer(e,t,i){var n=null!=(n=this.findNameInPrecomputedScopes(e,t))?n:this.findNameInGlobalScope(e,t);return n&&n.nameSegment?(e=n.nameSegment.range.start.line+1,t=n.nameSegment.range.start.character+1,`[${i}](${n.documentUri.with({fragment:`L${e},`+t}).toString()})`):void 0}documentationTagRenderer(e,t){}findNameInPrecomputedScopes(t,i){var n=oee(t).precomputedScopes;if(n){let e=t;do{var r=n.get(e).find(e=>e.name===i);if(r)return r}while(e=e.$container)}}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(e=>e.name===t)}}}),ope=e(()=>{"use strict";Hue(),lQ(),Jde=class{static{mt(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return Fue(e)?e.$comment:null==(e=XZ(e.$cstNode,this.grammarConfig().multilineCommentRules))?void 0:e.text}}}),lpe=e(()=>{"use strict";Khe(),dde(),epe=class{static{mt(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}},tpe=class{static{mt(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let t=this.createWorker();t.onReady(()=>{var e;0<this.queue.length&&(e=this.queue.shift())&&(t.lock(),e.resolve(t))}),this.workerPool.push(t)}}async parse(e,t){let i=await this.acquireParserWorker(t),n=new Xhe,r,s=t.onCancellationRequested(()=>{r=setTimeout(()=>{this.terminateWorker(i)},this.terminationDelay)});return i.parse(e).then(e=>{e=this.hydrator.hydrate(e);n.resolve(e)}).catch(e=>{n.reject(e)}).finally(()=>{s.dispose(),clearTimeout(r)}),n.promise}terminateWorker(e){e.terminate();e=this.workerPool.indexOf(e);0<=e&&this.workerPool.splice(e,1)}async acquireParserWorker(e){this.initializeWorkers();for(var t of this.workerPool)if(t.ready)return t.lock(),t;let i=new Xhe;return e.onCancellationRequested(()=>{var e=this.queue.indexOf(i);0<=e&&this.queue.splice(e,1),i.reject(Yhe)}),this.queue.push(i),i.promise}},ipe=class{static{mt(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,t,i,n){this.onReadyEmitter=new ude.Emitter,this.deferred=new Xhe,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=n,t(e=>{this.deferred.resolve(e),this.unlock()}),i(e=>{this.deferred.reject(e),this.unlock()})}terminate(){this.deferred.reject(Yhe),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new Xhe,this.sendMessage(e),this.deferred.promise}}}),cpe=e(()=>{"use strict";jhe(),Khe(),npe=class{static{mt(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new Fhe.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();var t=Uhe();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,i=Fhe.CancellationToken.None){var n=new Xhe;return e.push({action:t,deferred:n,cancellationToken:i}),this.performNextOperation(),n.promise}async performNextOperation(){if(this.done){var e=[];if(0<this.writeQueue.length)e.push(this.writeQueue.shift());else{if(!(0<this.readQueue.length))return;e.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(e.map(async({action:e,deferred:t,cancellationToken:i})=>{try{var n=await Promise.resolve().then(()=>e(i));t.resolve(n)}catch(e){qhe(e)?t.resolve(void 0):t.reject(e)}})),this.done=!0,this.performNextOperation()}}cancelWrite(){this.previousTokenSource.cancel()}}}),hpe=e(()=>{"use strict";Xce(),iee(),LZ(),bee(),Nue(),lQ(),rpe=class{static{mt(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new wue,this.tokenTypeIdMap=new wue,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(e=>Object.assign(Object.assign({},e),{message:e.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerRepor Line truncated `)}return i}},Qde=class{static{mt(this,"JSDocLineImpl")}constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}},mt(Hde,"fillNewlines")}),ape=e(()=>{"use strict";bee(),spe(),Zde=class{static{mt(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(i){var e=this.commentProvider.getComment(i);if(e&&_de(e))return Cde(e).toMarkdown({renderLink:mt((e,t)=>this.documentationLinkRenderer(i,e,t),"renderLink"),renderTag:mt(e=>this.documentationTagRenderer(i,e),"renderTag")})}documentationLinkRenderer(e,t,i){var n=null!=(n=this.findNameInPrecomputedScopes(e,t))?n:this.findNameInGlobalScope(e,t);return n&&n.nameSegment?(e=n.nameSegment.range.start.line+1,t=n.nameSegment.range.start.character+1,`[${i}](${n.documentUri.with({fragment:`L${e},`+t}).toString()})`):void 0}documentationTagRenderer(e,t){}findNameInPrecomputedScopes(t,i){var n=oee(t).precomputedScopes;if(n){let e=t;do{var r=n.get(e).find(e=>e.name===i);if(r)return r}while(e=e.$container)}}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(e=>e.name===t)}}}),ope=e(()=>{"use strict";Hue(),lZ(),Jde=class{static{mt(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return Fue(e)?e.$comment:null==(e=XQ(e.$cstNode,this.grammarConfig().multilineCommentRules))?void 0:e.text}}}),lpe=e(()=>{"use strict";Khe(),dde(),epe=class{static{mt(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}},tpe=class{static{mt(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let t=this.createWorker();t.onReady(()=>{var e;0<this.queue.length&&(e=this.queue.shift())&&(t.lock(),e.resolve(t))}),this.workerPool.push(t)}}async parse(e,t){let i=await this.acquireParserWorker(t),n=new Xhe,r,s=t.onCancellationRequested(()=>{r=setTimeout(()=>{this.terminateWorker(i)},this.terminationDelay)});return i.parse(e).then(e=>{e=this.hydrator.hydrate(e);n.resolve(e)}).catch(e=>{n.reject(e)}).finally(()=>{s.dispose(),clearTimeout(r)}),n.promise}terminateWorker(e){e.terminate();e=this.workerPool.indexOf(e);0<=e&&this.workerPool.splice(e,1)}async acquireParserWorker(e){this.initializeWorkers();for(var t of this.workerPool)if(t.ready)return t.lock(),t;let i=new Xhe;return e.onCancellationRequested(()=>{var e=this.queue.indexOf(i);0<=e&&this.queue.splice(e,1),i.reject(Yhe)}),this.queue.push(i),i.promise}},ipe=class{static{mt(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,t,i,n){this.onReadyEmitter=new ude.Emitter,this.deferred=new Xhe,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=n,t(e=>{this.deferred.resolve(e),this.unlock()}),i(e=>{this.deferred.reject(e),this.unlock()})}terminate(){this.deferred.reject(Yhe),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new Xhe,this.sendMessage(e),this.deferred.promise}}}),cpe=e(()=>{"use strict";jhe(),Khe(),npe=class{static{mt(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new Fhe.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();var t=Uhe();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,i=Fhe.CancellationToken.None){var n=new Xhe;return e.push({action:t,deferred:n,cancellationToken:i}),this.performNextOperation(),n.promise}async performNextOperation(){if(this.done){var e=[];if(0<this.writeQueue.length)e.push(this.writeQueue.shift());else{if(!(0<this.readQueue.length))return;e.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(e.map(async({action:e,deferred:t,cancellationToken:i})=>{try{var n=await Promise.resolve().then(()=>e(i));t.resolve(n)}catch(e){qhe(e)?t.resolve(void 0):t.reject(e)}})),this.done=!0,this.performNextOperation()}}cancelWrite(){this.previousTokenSource.cancel()}}}),hpe=e(()=>{"use strict";Xce(),iee(),LQ(),bee(),Nue(),lZ(),rpe=class{static{mt(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new wue,this.tokenTypeIdMap=new wue,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(e=>Object.assign(Object.assign({},e),{message:e.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerRepor Line truncated
`.includes(e[t-1])}matchWhitespace(e,t,i,n){this.whitespaceRegExp.lastIndex=t;t=this.whitespaceRegExp.exec(e);return{currIndentLevel:null!=(e=t?.[0].length)?e:0,prevIndentLevel:this.indentationStack.at(-1),match:t}}createIndentationTokenInstance(e,t,i,n){t=this.getLineNumber(t,n);return sre(e,i,n,n+i.length,t,t,1,i.length)}getLineNumber(e,t){return e.substring(0,t).split(/\r\n|\r|\n/).length}indentMatcher(e,t,i,n){return!this.isStartOfLine(e,t)||({currIndentLevel:e,prevIndentLevel:t,match:i}=this.matchWhitespace(e,t,i,n),e<=t)?null:(this.indentationStack.push(e),i)}dedentMatcher(t,i,n,e){if(this.isStartOfLine(t,i)){var{currIndentLevel:e,prevIndentLevel:r,match:s}=this.matchWhitespace(t,i,n,e);if(!(r<=e)){r=this.indentationStack.lastIndexOf(e);if(-1===r)this.diagnostics.push({severity:"error",message:`Invalid dedent level ${e} at offset: ${i}. Current indentation stack: `+this.indentationStack,offset:i,length:null!=(s=null==(e=s?.[0])?void 0:e.length)?s:0,line:this.getLineNumber(t,i),column:1});else{var a=this.indentationStack.length-r-1,o=null!=(s=null==(e=t.substring(0,i).match(/[\r\n]+$/))?void 0:e[0].length)?s:1;for(let e=0;e<a;e++){var l=this.createIndentationTokenInstance(this.dedentTokenType,t,"",i-(o-1));n.push(l),this.indentationStack.pop()}}}}return null}buildTerminalToken(e){var e=super.buildTerminalToken(e),{indentTokenName:t,dedentTokenName:i,whitespaceTokenName:n}=this.options;return e.name===t?this.indentTokenType:e.name===i?this.dedentTokenType:e.name===n?nre({name:n,pattern:this.whitespaceRegExp,group:Zne.SKIPPED}):e}flushRemainingDedents(e){for(var t=[];1<this.indentationStack.length;)t.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],t}},Cpe=class extends Tde{static{mt(this,"IndentationAwareLexer")}constructor(e){if(super(e),!(e.parser.TokenBuilder instanceof Spe))throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder");this.indentationTokenBuilder=e.parser.TokenBuilder}tokenize(e,t=kde){var i=super.tokenize(e),e=i.report,{indentTokenType:t,dedentTokenType:e}=("full"===t?.mode&&i.tokens.push(...e.remainingDedents),e.remainingDedents=[],this.indentationTokenBuilder),n=t.tokenTypeIdx,r=e.tokenTypeIdx,s=[],a=i.tokens.length-1;for(let e=0;e<a;e++){var o=i.tokens[e],l=i.tokens[e+1];o.tokenTypeIdx===n&&l.tokenTypeIdx===r?e++:s.push(o)}return 0<=a&&s.push(i.tokens[a]),i.tokens=s,i}}}),Npe=e(()=>{}),Dpe=e(()=>{"use strict";lpe(),_he(),Xce(),Ipe(),Mhe(),ahe(),Sde(),She(),Npe(),Ihe(),Nhe()}),Ope=e(()=>{"use strict";mue(),Mue(),Iue(),Oue(),Due(),Bue()}),Ppe=e(()=>{"use strict";hpe(),Hue()}),Bpe=e(()=>{"use strict";_pe=class{static{mt(this,"EmptyFileSystemProvider")}readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}},Ape={fileSystemProvider:mt(()=>new _pe,"fileSystemProvider")}});function Fpe(){var e=gpe(dpe(Ape),Upe),t=gpe(upe({shared:e}),zpe);return e.ServiceRegistry.register(t),t}function jpe(e){var t=Fpe(),e=t.serializer.JsonSerializer.deserialize(e);return t.shared.workspace.LangiumDocumentFactory.fromModel(e,rue.parse(`memory://${null!=(t=e.name)?t:"grammar"}.langium`)),e}var zpe,Upe,Hpe=e(()=>{"use strict";ppe(),Epe(),iee(),Bpe(),gue(),zpe={Grammar:mt(()=>{},"Grammar"),LanguageMetaData:mt(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},Upe={AstReflection:mt(()=>new eee,"AstReflection")},mt(Fpe,"createMinimalGrammarServices"),mt(jpe,"loadGrammarFromJson")}),qpe={},Wpe=(G(qpe,{AstUtils:()=>nee,BiMap:()=>wue,Cancellation:()=>Fhe,ContextCache:()=>Eue,CstUtils:()=>jZ,DONE_RESULT:()=>OZ,Deferred:()=>Xhe,Disposable:()=>rde,DisposableCache:()=>_ue,DocumentCache:()=>$ue,EMPTY_STREAM:()=>DZ,ErrorWithLocation:()=>hQ,GrammarUtils:()=>Qee,MultiMap:()=>xue,OperationCancelled:()=>Yhe,Reduction:()=>BZ,RegExpUtils:()=>Bee,SimpleCache:()=>Aue,StreamImpl:()=>NZ,TreeStreamImpl:()=>PZ,URI:()=>rue,UriUtils:()=>aue,WorkspaceCache:()=>Lue,assertUnreachable:()=>cQ,delayNextTick:()=>zhe,interruptAndCheck:()=>Whe,isOperationCancelled:()=>qhe,loadGrammarFromJson:()=>jpe,setInterruptionPeriod:()=>Hhe,startCancelableOperation:()=>Uhe,stream:()=>IZ}),e(()=>{"use strict";Pue(),dde(),te(qpe,ude),Nue(),gde(),uQ(),Hpe(),Khe(),FZ(),gue(),bee(),jhe(),lQ(),Pte(),Zee()})),Gpe=e(()=>{"use strict";lde(),Yue()}),Vpe=e(()=>{"use strict";cde(),hde(),pde(),fde(),fue(),Bpe(),mde(),cpe(),yde()}),Ype={},Xpe=(G(Ype,{AbstractAstReflection:()=>$Z,AbstractCstNode:()=>zce,AbstractLangiumParser:()=>Jce,AbstractParserErrorMessageProvider:()=>the,AbstractThreadedAsyncParser:()=>tpe,AstUtils:()=>nee,BiMap:()=>wue,Cancellation:()=>Fhe,CompositeCstNodeImpl:()=>Hce,ContextCache:()=>Eue,CstNodeBuilder:()=>jce,CstUtils:()=>jZ,DEFAULT_TOKENIZE_OPTIONS:()=>kde,DONE_RESULT:()=>OZ,DatatypeSymbol:()=>Zce,DefaultAstNodeDescriptionProvider:()=>ede,DefaultAstNodeLocator:()=>ide,DefaultAsyncParser:()=>epe,DefaultCommentProvider:()=>Jde,DefaultConfigu Line truncated `.includes(e[t-1])}matchWhitespace(e,t,i,n){this.whitespaceRegExp.lastIndex=t;t=this.whitespaceRegExp.exec(e);return{currIndentLevel:null!=(e=t?.[0].length)?e:0,prevIndentLevel:this.indentationStack.at(-1),match:t}}createIndentationTokenInstance(e,t,i,n){t=this.getLineNumber(t,n);return sre(e,i,n,n+i.length,t,t,1,i.length)}getLineNumber(e,t){return e.substring(0,t).split(/\r\n|\r|\n/).length}indentMatcher(e,t,i,n){return!this.isStartOfLine(e,t)||({currIndentLevel:e,prevIndentLevel:t,match:i}=this.matchWhitespace(e,t,i,n),e<=t)?null:(this.indentationStack.push(e),i)}dedentMatcher(t,i,n,e){if(this.isStartOfLine(t,i)){var{currIndentLevel:e,prevIndentLevel:r,match:s}=this.matchWhitespace(t,i,n,e);if(!(r<=e)){r=this.indentationStack.lastIndexOf(e);if(-1===r)this.diagnostics.push({severity:"error",message:`Invalid dedent level ${e} at offset: ${i}. Current indentation stack: `+this.indentationStack,offset:i,length:null!=(s=null==(e=s?.[0])?void 0:e.length)?s:0,line:this.getLineNumber(t,i),column:1});else{var a=this.indentationStack.length-r-1,o=null!=(s=null==(e=t.substring(0,i).match(/[\r\n]+$/))?void 0:e[0].length)?s:1;for(let e=0;e<a;e++){var l=this.createIndentationTokenInstance(this.dedentTokenType,t,"",i-(o-1));n.push(l),this.indentationStack.pop()}}}}return null}buildTerminalToken(e){var e=super.buildTerminalToken(e),{indentTokenName:t,dedentTokenName:i,whitespaceTokenName:n}=this.options;return e.name===t?this.indentTokenType:e.name===i?this.dedentTokenType:e.name===n?nre({name:n,pattern:this.whitespaceRegExp,group:Qne.SKIPPED}):e}flushRemainingDedents(e){for(var t=[];1<this.indentationStack.length;)t.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],t}},Cpe=class extends Tde{static{mt(this,"IndentationAwareLexer")}constructor(e){if(super(e),!(e.parser.TokenBuilder instanceof Spe))throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder");this.indentationTokenBuilder=e.parser.TokenBuilder}tokenize(e,t=kde){var i=super.tokenize(e),e=i.report,{indentTokenType:t,dedentTokenType:e}=("full"===t?.mode&&i.tokens.push(...e.remainingDedents),e.remainingDedents=[],this.indentationTokenBuilder),n=t.tokenTypeIdx,r=e.tokenTypeIdx,s=[],a=i.tokens.length-1;for(let e=0;e<a;e++){var o=i.tokens[e],l=i.tokens[e+1];o.tokenTypeIdx===n&&l.tokenTypeIdx===r?e++:s.push(o)}return 0<=a&&s.push(i.tokens[a]),i.tokens=s,i}}}),Npe=e(()=>{}),Dpe=e(()=>{"use strict";lpe(),_he(),Xce(),Ipe(),Mhe(),ahe(),Sde(),She(),Npe(),Ihe(),Nhe()}),Ope=e(()=>{"use strict";mue(),Mue(),Iue(),Oue(),Due(),Bue()}),Ppe=e(()=>{"use strict";hpe(),Hue()}),Bpe=e(()=>{"use strict";_pe=class{static{mt(this,"EmptyFileSystemProvider")}readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}},Ape={fileSystemProvider:mt(()=>new _pe,"fileSystemProvider")}});function Fpe(){var e=gpe(dpe(Ape),Upe),t=gpe(upe({shared:e}),zpe);return e.ServiceRegistry.register(t),t}function jpe(e){var t=Fpe(),e=t.serializer.JsonSerializer.deserialize(e);return t.shared.workspace.LangiumDocumentFactory.fromModel(e,rue.parse(`memory://${null!=(t=e.name)?t:"grammar"}.langium`)),e}var zpe,Upe,Hpe=e(()=>{"use strict";ppe(),Epe(),iee(),Bpe(),gue(),zpe={Grammar:mt(()=>{},"Grammar"),LanguageMetaData:mt(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},Upe={AstReflection:mt(()=>new eee,"AstReflection")},mt(Fpe,"createMinimalGrammarServices"),mt(jpe,"loadGrammarFromJson")}),qpe={},Wpe=(G(qpe,{AstUtils:()=>nee,BiMap:()=>wue,Cancellation:()=>Fhe,ContextCache:()=>Eue,CstUtils:()=>jQ,DONE_RESULT:()=>OQ,Deferred:()=>Xhe,Disposable:()=>rde,DisposableCache:()=>_ue,DocumentCache:()=>$ue,EMPTY_STREAM:()=>DQ,ErrorWithLocation:()=>hZ,GrammarUtils:()=>Zee,MultiMap:()=>xue,OperationCancelled:()=>Yhe,Reduction:()=>BQ,RegExpUtils:()=>Bee,SimpleCache:()=>Aue,StreamImpl:()=>NQ,TreeStreamImpl:()=>PQ,URI:()=>rue,UriUtils:()=>aue,WorkspaceCache:()=>Lue,assertUnreachable:()=>cZ,delayNextTick:()=>zhe,interruptAndCheck:()=>Whe,isOperationCancelled:()=>qhe,loadGrammarFromJson:()=>jpe,setInterruptionPeriod:()=>Hhe,startCancelableOperation:()=>Uhe,stream:()=>IQ}),e(()=>{"use strict";Pue(),dde(),te(qpe,ude),Nue(),gde(),uZ(),Hpe(),Khe(),FQ(),gue(),bee(),jhe(),lZ(),Pte(),Qee()})),Gpe=e(()=>{"use strict";lde(),Yue()}),Vpe=e(()=>{"use strict";cde(),hde(),pde(),fde(),fue(),Bpe(),mde(),cpe(),yde()}),Ype={},Xpe=(G(Ype,{AbstractAstReflection:()=>$Q,AbstractCstNode:()=>zce,AbstractLangiumParser:()=>Jce,AbstractParserErrorMessageProvider:()=>the,AbstractThreadedAsyncParser:()=>tpe,AstUtils:()=>nee,BiMap:()=>wue,Cancellation:()=>Fhe,CompositeCstNodeImpl:()=>Hce,ContextCache:()=>Eue,CstNodeBuilder:()=>jce,CstUtils:()=>jQ,DEFAULT_TOKENIZE_OPTIONS:()=>kde,DONE_RESULT:()=>OQ,DatatypeSymbol:()=>Qce,DefaultAstNodeDescriptionProvider:()=>ede,DefaultAstNodeLocator:()=>ide,DefaultAsyncParser:()=>epe,DefaultCommentProvider:()=>Jde,DefaultConfigu Line truncated
`):void 0:void 0}},c0e=class extends l0e{static{mt(this,"CommonValueConverter")}static{a(this,"CommonValueConverter")}runCustomConverter(e,t,i){}},h0e=class extends $he{static{mt(this,"AbstractMermaidTokenBuilder")}static{a(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,i){e=super.buildKeywordTokens(e,t,i);return e.forEach(e=>{this.keywords.has(e.name)&&void 0!==e.PATTERN&&(e.PATTERN=new RegExp(e.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),e}},class extends h0e{static{mt(this,"CommonTokenBuilder")}static{a(this,"CommonTokenBuilder")}}});function d0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),r0e,g0e);return e.ServiceRegistry.register(t),{shared:e,GitGraph:t}}var p0e,g0e,f0e=e(()=>{"use strict";u0e(),Xpe(),p0e=class extends h0e{static{mt(this,"GitGraphTokenBuilder")}static{a(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},g0e={parser:{TokenBuilder:a(()=>new p0e,"TokenBuilder"),ValueConverter:a(()=>new c0e,"ValueConverter")}},mt(d0e,"createGitGraphServices"),a(d0e,"createGitGraphServices")});function m0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),e0e,b0e);return e.ServiceRegistry.register(t),{shared:e,Info:t}}var y0e,b0e,v0e=e(()=>{"use strict";u0e(),Xpe(),y0e=class extends h0e{static{mt(this,"InfoTokenBuilder")}static{a(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},b0e={parser:{TokenBuilder:a(()=>new y0e,"TokenBuilder"),ValueConverter:a(()=>new c0e,"ValueConverter")}},mt(m0e,"createInfoServices"),a(m0e,"createInfoServices")});function x0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),t0e,k0e);return e.ServiceRegistry.register(t),{shared:e,Packet:t}}var w0e,k0e,T0e=e(()=>{"use strict";u0e(),Xpe(),w0e=class extends h0e{static{mt(this,"PacketTokenBuilder")}static{a(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},k0e={parser:{TokenBuilder:a(()=>new w0e,"TokenBuilder"),ValueConverter:a(()=>new c0e,"ValueConverter")}},mt(x0e,"createPacketServices"),a(x0e,"createPacketServices")});function S0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),i0e,A0e);return e.ServiceRegistry.register(t),{shared:e,Pie:t}}var C0e,_0e,A0e,E0e=e(()=>{"use strict";u0e(),Xpe(),C0e=class extends h0e{static{mt(this,"PieTokenBuilder")}static{a(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},_0e=class extends l0e{static{mt(this,"PieValueConverter")}static{a(this,"PieValueConverter")}runCustomConverter(e,t,i){if("PIE_SECTION_LABEL"===e.name)return t.replace(/"/g,"").trim()}},A0e={parser:{TokenBuilder:a(()=>new C0e,"TokenBuilder"),ValueConverter:a(()=>new _0e,"ValueConverter")}},mt(S0e,"createPieServices"),a(S0e,"createPieServices")});function $0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),n0e,M0e);return e.ServiceRegistry.register(t),{shared:e,Architecture:t}}var L0e,R0e,M0e,I0e=e(()=>{"use strict";u0e(),Xpe(),L0e=class extends h0e{static{mt(this,"ArchitectureTokenBuilder")}static{a(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},R0e=class extends l0e{static{mt(this,"ArchitectureValueConverter")}static{a(this,"ArchitectureValueConverter")}runCustomConverter(e,t,i){return"ARCH_ICON"===e.name?t.replace(/[()]/g,"").trim():"ARCH_TEXT_ICON"===e.name?t.replace(/["()]/g,""):"ARCH_TITLE"===e.name?t.replace(/[[\]]/g,"").trim():void 0}},M0e={parser:{TokenBuilder:a(()=>new L0e,"TokenBuilder"),ValueConverter:a(()=>new R0e,"ValueConverter")}},mt($0e,"createArchitectureServices"),a($0e,"createArchitectureServices")});function N0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),s0e,O0e);return e.ServiceRegistry.register(t),{shared:e,Radar:t}}var D0e,O0e,P0e=e(()=>{"use strict";u0e(),Xpe(),D0e=class extends h0e{static{mt(this,"RadarTokenBuilder")}static{a(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},O0e={parser:{TokenBuilder:a(()=>new D0e,"TokenBuilder"),ValueConverter:a(()=>new c0e,"ValueConverter")}},mt(N0e,"createRadarServices"),a(N0e,"createRadarServices")});function B0e(e){var t,i=e.validation.TreemapValidator,e=e.validation.ValidationRegistry;e&&(t={Treemap:i.checkSingleRoot.bind(i)},e.register(t,i))}function F0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),a0e,q0e);return e.ServiceRegistry.register(t),B0e(t),{shared:e,Treemap:t}}var j0e,z0e,U0e,H0e,q0e,W0e=e(()=>{"use strict";u0e(),Xpe(),j0e=class extends h0e{static{mt(this,"TreemapTokenBuilder")}static{a(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},z0e=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,U0e=class extends l0e{static{mt(this,"TreemapValueConverter")}static{a(this,"TreemapValueConverter")}runCustomConverter(e,t,i){return"NUMBER2"===e.name?parseFloat(t.replace(/,/g,"")):"SEPARATOR"===e.name||"STRING2"===e.name?t.substring(1,t.length-1):"INDENTATION"===e.name?t.length:"ClassDef"===e.name?"string"!=typeof t?t:(e=z0e.exec(t))?{$type:"ClassDefStatement",className:e[1],styleText:e[2]||void 0}:void 0:void 0}},mt(B0e,"registerValidationChecks"),a(B0e,"registerValidatio Line truncated `):void 0:void 0}},c0e=class extends l0e{static{mt(this,"CommonValueConverter")}static{a(this,"CommonValueConverter")}runCustomConverter(e,t,i){}},h0e=class extends $he{static{mt(this,"AbstractMermaidTokenBuilder")}static{a(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,i){e=super.buildKeywordTokens(e,t,i);return e.forEach(e=>{this.keywords.has(e.name)&&void 0!==e.PATTERN&&(e.PATTERN=new RegExp(e.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),e}},class extends h0e{static{mt(this,"CommonTokenBuilder")}static{a(this,"CommonTokenBuilder")}}});function d0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),r0e,g0e);return e.ServiceRegistry.register(t),{shared:e,GitGraph:t}}var p0e,g0e,f0e=e(()=>{"use strict";u0e(),Xpe(),p0e=class extends h0e{static{mt(this,"GitGraphTokenBuilder")}static{a(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},g0e={parser:{TokenBuilder:a(()=>new p0e,"TokenBuilder"),ValueConverter:a(()=>new c0e,"ValueConverter")}},mt(d0e,"createGitGraphServices"),a(d0e,"createGitGraphServices")});function m0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),e0e,b0e);return e.ServiceRegistry.register(t),{shared:e,Info:t}}var y0e,b0e,v0e=e(()=>{"use strict";u0e(),Xpe(),y0e=class extends h0e{static{mt(this,"InfoTokenBuilder")}static{a(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},b0e={parser:{TokenBuilder:a(()=>new y0e,"TokenBuilder"),ValueConverter:a(()=>new c0e,"ValueConverter")}},mt(m0e,"createInfoServices"),a(m0e,"createInfoServices")});function x0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),t0e,k0e);return e.ServiceRegistry.register(t),{shared:e,Packet:t}}var w0e,k0e,T0e=e(()=>{"use strict";u0e(),Xpe(),w0e=class extends h0e{static{mt(this,"PacketTokenBuilder")}static{a(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},k0e={parser:{TokenBuilder:a(()=>new w0e,"TokenBuilder"),ValueConverter:a(()=>new c0e,"ValueConverter")}},mt(x0e,"createPacketServices"),a(x0e,"createPacketServices")});function S0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),i0e,A0e);return e.ServiceRegistry.register(t),{shared:e,Pie:t}}var C0e,_0e,A0e,E0e=e(()=>{"use strict";u0e(),Xpe(),C0e=class extends h0e{static{mt(this,"PieTokenBuilder")}static{a(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},_0e=class extends l0e{static{mt(this,"PieValueConverter")}static{a(this,"PieValueConverter")}runCustomConverter(e,t,i){if("PIE_SECTION_LABEL"===e.name)return t.replace(/"/g,"").trim()}},A0e={parser:{TokenBuilder:a(()=>new C0e,"TokenBuilder"),ValueConverter:a(()=>new _0e,"ValueConverter")}},mt(S0e,"createPieServices"),a(S0e,"createPieServices")});function $0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),n0e,M0e);return e.ServiceRegistry.register(t),{shared:e,Architecture:t}}var L0e,R0e,M0e,I0e=e(()=>{"use strict";u0e(),Xpe(),L0e=class extends h0e{static{mt(this,"ArchitectureTokenBuilder")}static{a(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},R0e=class extends l0e{static{mt(this,"ArchitectureValueConverter")}static{a(this,"ArchitectureValueConverter")}runCustomConverter(e,t,i){return"ARCH_ICON"===e.name?t.replace(/[()]/g,"").trim():"ARCH_TEXT_ICON"===e.name?t.replace(/["()]/g,""):"ARCH_TITLE"===e.name?t.replace(/[[\]]/g,"").trim():void 0}},M0e={parser:{TokenBuilder:a(()=>new L0e,"TokenBuilder"),ValueConverter:a(()=>new R0e,"ValueConverter")}},mt($0e,"createArchitectureServices"),a($0e,"createArchitectureServices")});function N0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),s0e,O0e);return e.ServiceRegistry.register(t),{shared:e,Radar:t}}var D0e,O0e,P0e=e(()=>{"use strict";u0e(),Xpe(),D0e=class extends h0e{static{mt(this,"RadarTokenBuilder")}static{a(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},O0e={parser:{TokenBuilder:a(()=>new D0e,"TokenBuilder"),ValueConverter:a(()=>new c0e,"ValueConverter")}},mt(N0e,"createRadarServices"),a(N0e,"createRadarServices")});function B0e(e){var t,i=e.validation.TreemapValidator,e=e.validation.ValidationRegistry;e&&(t={Treemap:i.checkSingleRoot.bind(i)},e.register(t,i))}function F0e(e=Ape){var e=gpe(dpe(e),Jge),t=gpe(upe({shared:e}),a0e,q0e);return e.ServiceRegistry.register(t),B0e(t),{shared:e,Treemap:t}}var j0e,z0e,U0e,H0e,q0e,W0e=e(()=>{"use strict";u0e(),Xpe(),j0e=class extends h0e{static{mt(this,"TreemapTokenBuilder")}static{a(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},z0e=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,U0e=class extends l0e{static{mt(this,"TreemapValueConverter")}static{a(this,"TreemapValueConverter")}runCustomConverter(e,t,i){return"NUMBER2"===e.name?parseFloat(t.replace(/,/g,"")):"SEPARATOR"===e.name||"STRING2"===e.name?t.substring(1,t.length-1):"INDENTATION"===e.name?t.length:"ClassDef"===e.name?"string"!=typeof t?t:(e=z0e.exec(t))?{$type:"ClassDefStatement",className:e[1],styleText:e[2]||void 0}:void 0:void 0}},mt(B0e,"registerValidationChecks"),a(B0e,"registerValidatio Line truncated
`)} `+e.parserErrors.map(e=>e.message).join(` `)} `+e.parserErrors.map(e=>e.message).join(`
`)),this.result=e}static{a(this,"MermaidParseError")}}});function ufe(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}var dfe,pfe,gfe=e(()=>{"use strict";mt(ufe,"populateCommonDb")}),ffe=e(()=>{"use strict";dfe={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4}}),mfe=e(()=>{"use strict";pfe=class{constructor(e){this.init=e,this.records=this.init()}static{mt(this,"ImperativeState")}reset(){this.records=this.init()}}});function yfe(){return qC({length:7})}function bfe(e,n){let r=Object.create(null);return e.reduce((e,t)=>{var i=n(t);return r[i]||(r[i]=!0,e.push(t)),e},[])}function vfe(e,t,i){t=e.indexOf(t);-1===t?e.push(i):e.splice(t,1,i)}function xfe(e){let t=e.reduce((e,t)=>e.seq>t.seq?e:t,e[0]),i="";e.forEach(function(e){e===t?i+="\t*":i+="\t|"});var n,r=[i,t.id,t.seq];for(n in x.records.branches)x.records.branches.get(n)===t.id&&r.push(n);if(I.debug(r.join(" ")),t.parents&&2==t.parents.length&&t.parents[0]&&t.parents[1]){var s=x.records.commits.get(t.parents[0]);vfe(e,t,s),t.parents[1]&&e.push(x.records.commits.get(t.parents[1]))}else{if(0==t.parents.length)return;t.parents[0]&&(s=x.records.commits.get(t.parents[0]),vfe(e,t,s))}xfe(e=bfe(e,e=>e.id))}var wfe,kfe,x,Tfe,Sfe,Cfe,_fe,Afe,Efe,$fe,Lfe,Rfe,Mfe,Ife,Nfe,Dfe,Ofe,Pfe,Bfe,Ffe,jfe,zfe,Ufe,Hfe,qfe,Wfe,Gfe,Vfe,Yfe,Xfe,Kfe,Zfe,Qfe,Jfe,eme,tme,ime,nme,rme,sme,ame,ome,lme,cme,hme,ume,dme,pme,gme,fme,mme,yme,bme,vme,xme,wme,kme,Tme,Sme,Cme,_me,Ame,Eme=e(()=>{"use strict";t(),s_(),Mn(),hh(),Cu(),ffe(),mfe(),Ln(),wfe=vi.gitGraph,kfe=mt(()=>EC({...wfe,...Ii().gitGraph}),"getConfig"),x=new pfe(()=>{var e=kfe(),t=e.mainBranchName,e=e.mainBranchOrder;return{mainBranchName:t,commits:new Map,head:null,branchConfig:new Map([[t,{name:t,order:e}]]),branches:new Map([[t,null]]),currBranch:t,direction:"LR",seq:0,options:{}}}),mt(yfe,"getID"),mt(bfe,"uniqBy"),Tfe=mt(function(e){x.records.direction=e},"setDirection"),Sfe=mt(function(e){I.debug("options str",e),e=(e=e?.trim())||"{}";try{x.records.options=JSON.parse(e)}catch(e){I.error("error while parsing gitGraph options",e.message)}},"setOptions"),Cfe=mt(function(){return x.records.options},"getOptions"),_fe=mt(function(e){let t=e.msg,i=e.id,n=e.type,r=e.tags,s=(I.info("commit",t,i,n,r),I.debug("Entering commit:",t,i,n,r),kfe());i=$.sanitizeText(i,s),t=$.sanitizeText(t,s),r=r?.map(e=>$.sanitizeText(e,s));e={id:i||x.records.seq+"-"+yfe(),message:t,seq:x.records.seq++,type:n??dfe.NORMAL,tags:r??[],parents:null==x.records.head?[]:[x.records.head.id],branch:x.records.currBranch};x.records.head=e,I.info("main branch",s.mainBranchName),x.records.commits.has(e.id)&&I.warn(`Commit ID ${e.id} already exists`),x.records.commits.set(e.id,e),x.records.branches.set(x.records.currBranch,e.id),I.debug("in pushCommit "+e.id)},"commit"),Afe=mt(function(e){var t=e.name,e=e.order,t=$.sanitizeText(t,kfe());if(x.records.branches.has(t))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${t}")`);x.records.branches.set(t,null!=x.records.head?x.records.head.id:null),x.records.branchConfig.set(t,{name:t,order:e}),Lfe(t),I.debug("in createBranch")},"branch"),Efe=mt(e=>{let t=e.branch,i=e.id,n=e.type,r=e.tags,s=kfe();t=$.sanitizeText(t,s),i=i&&$.sanitizeText(i,s);var e=x.records.branches.get(x.records.currBranch),a=x.records.branches.get(t),e=e?x.records.commits.get(e):void 0,o=a?x.records.commits.get(a):void 0;if(e&&o&&e.branch===t)throw new Error(`Cannot merge branch '${t}' into itself.`);if(x.records.currBranch===t)throw(l=new Error('Incorrect usage of "merge". Cannot merge a branch to itself')).hash={text:"merge "+t,token:"merge "+t,expected:["branch abc"]},l;if(void 0===e||!e)throw(l=new Error(`Incorrect usage of "merge". Current branch (${x.records.currBranch})has no commits`)).hash={text:"merge "+t,token:"merge "+t,expected:["commit"]},l;if(!x.records.branches.has(t))throw(l=new Error('Incorrect usage of "merge". Branch to be merged ('+t+") does not exist")).hash={text:"merge "+t,token:"merge "+t,expected:["branch "+t]},l;if(void 0===o||!o)throw(l=new Error('Incorrect usage of "merge". Branch to be merged ('+t+") has no commits")).hash={text:"merge "+t,token:"merge "+t,expected:['"commit"']},l;if(e===o)throw(l=new Error('Incorrect usage of "merge". Both branches have same head')).hash={text:"merge "+t,token:"merge "+t,expected:["branch abc"]},l;if(i&&x.records.commits.has(i))throw(e=new Error('Incorrect usage of "merge". Commit with id:'+i+" already exists, use different custom id")).hash={text:`merge ${t} ${i} ${n} `+r?.join(" "),token:`merge ${t} ${i} ${n} `+r?.join(" "),expected:[`merge ${t} ${i}_UNIQUE ${n} `+r?.join(" ")]},e;var o=a||"",l={id:i||x.records.seq+"-"+yfe(),message:`merged branch ${t} into `+x.records.currBranch,seq:x.records.seq++,parents:null==x.records.head?[]:[x.records.head.id,o],branch:x.records.currBranch,type:dfe.MERGE,customType:n,customId:!!i,ta Line truncated `)),this.result=e}static{a(this,"MermaidParseError")}}});function ufe(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}var dfe,pfe,gfe=e(()=>{"use strict";mt(ufe,"populateCommonDb")}),ffe=e(()=>{"use strict";dfe={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4}}),mfe=e(()=>{"use strict";pfe=class{constructor(e){this.init=e,this.records=this.init()}static{mt(this,"ImperativeState")}reset(){this.records=this.init()}}});function yfe(){return qC({length:7})}function bfe(e,n){let r=Object.create(null);return e.reduce((e,t)=>{var i=n(t);return r[i]||(r[i]=!0,e.push(t)),e},[])}function vfe(e,t,i){t=e.indexOf(t);-1===t?e.push(i):e.splice(t,1,i)}function xfe(e){let t=e.reduce((e,t)=>e.seq>t.seq?e:t,e[0]),i="";e.forEach(function(e){e===t?i+="\t*":i+="\t|"});var n,r=[i,t.id,t.seq];for(n in x.records.branches)x.records.branches.get(n)===t.id&&r.push(n);if(I.debug(r.join(" ")),t.parents&&2==t.parents.length&&t.parents[0]&&t.parents[1]){var s=x.records.commits.get(t.parents[0]);vfe(e,t,s),t.parents[1]&&e.push(x.records.commits.get(t.parents[1]))}else{if(0==t.parents.length)return;t.parents[0]&&(s=x.records.commits.get(t.parents[0]),vfe(e,t,s))}xfe(e=bfe(e,e=>e.id))}var wfe,kfe,x,Tfe,Sfe,Cfe,_fe,Afe,Efe,$fe,Lfe,Rfe,Mfe,Ife,Nfe,Dfe,Ofe,Pfe,Bfe,Ffe,jfe,zfe,Ufe,Hfe,qfe,Wfe,Gfe,Vfe,Yfe,Xfe,Kfe,Qfe,Zfe,Jfe,eme,tme,ime,nme,rme,sme,ame,ome,lme,cme,hme,ume,dme,pme,gme,fme,mme,yme,bme,vme,xme,wme,kme,Tme,Sme,Cme,_me,Ame,Eme=e(()=>{"use strict";t(),s_(),Mn(),hh(),Cu(),ffe(),mfe(),Ln(),wfe=vi.gitGraph,kfe=mt(()=>EC({...wfe,...Ii().gitGraph}),"getConfig"),x=new pfe(()=>{var e=kfe(),t=e.mainBranchName,e=e.mainBranchOrder;return{mainBranchName:t,commits:new Map,head:null,branchConfig:new Map([[t,{name:t,order:e}]]),branches:new Map([[t,null]]),currBranch:t,direction:"LR",seq:0,options:{}}}),mt(yfe,"getID"),mt(bfe,"uniqBy"),Tfe=mt(function(e){x.records.direction=e},"setDirection"),Sfe=mt(function(e){I.debug("options str",e),e=(e=e?.trim())||"{}";try{x.records.options=JSON.parse(e)}catch(e){I.error("error while parsing gitGraph options",e.message)}},"setOptions"),Cfe=mt(function(){return x.records.options},"getOptions"),_fe=mt(function(e){let t=e.msg,i=e.id,n=e.type,r=e.tags,s=(I.info("commit",t,i,n,r),I.debug("Entering commit:",t,i,n,r),kfe());i=$.sanitizeText(i,s),t=$.sanitizeText(t,s),r=r?.map(e=>$.sanitizeText(e,s));e={id:i||x.records.seq+"-"+yfe(),message:t,seq:x.records.seq++,type:n??dfe.NORMAL,tags:r??[],parents:null==x.records.head?[]:[x.records.head.id],branch:x.records.currBranch};x.records.head=e,I.info("main branch",s.mainBranchName),x.records.commits.has(e.id)&&I.warn(`Commit ID ${e.id} already exists`),x.records.commits.set(e.id,e),x.records.branches.set(x.records.currBranch,e.id),I.debug("in pushCommit "+e.id)},"commit"),Afe=mt(function(e){var t=e.name,e=e.order,t=$.sanitizeText(t,kfe());if(x.records.branches.has(t))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${t}")`);x.records.branches.set(t,null!=x.records.head?x.records.head.id:null),x.records.branchConfig.set(t,{name:t,order:e}),Lfe(t),I.debug("in createBranch")},"branch"),Efe=mt(e=>{let t=e.branch,i=e.id,n=e.type,r=e.tags,s=kfe();t=$.sanitizeText(t,s),i=i&&$.sanitizeText(i,s);var e=x.records.branches.get(x.records.currBranch),a=x.records.branches.get(t),e=e?x.records.commits.get(e):void 0,o=a?x.records.commits.get(a):void 0;if(e&&o&&e.branch===t)throw new Error(`Cannot merge branch '${t}' into itself.`);if(x.records.currBranch===t)throw(l=new Error('Incorrect usage of "merge". Cannot merge a branch to itself')).hash={text:"merge "+t,token:"merge "+t,expected:["branch abc"]},l;if(void 0===e||!e)throw(l=new Error(`Incorrect usage of "merge". Current branch (${x.records.currBranch})has no commits`)).hash={text:"merge "+t,token:"merge "+t,expected:["commit"]},l;if(!x.records.branches.has(t))throw(l=new Error('Incorrect usage of "merge". Branch to be merged ('+t+") does not exist")).hash={text:"merge "+t,token:"merge "+t,expected:["branch "+t]},l;if(void 0===o||!o)throw(l=new Error('Incorrect usage of "merge". Branch to be merged ('+t+") has no commits")).hash={text:"merge "+t,token:"merge "+t,expected:['"commit"']},l;if(e===o)throw(l=new Error('Incorrect usage of "merge". Both branches have same head')).hash={text:"merge "+t,token:"merge "+t,expected:["branch abc"]},l;if(i&&x.records.commits.has(i))throw(e=new Error('Incorrect usage of "merge". Commit with id:'+i+" already exists, use different custom id")).hash={text:`merge ${t} ${i} ${n} `+r?.join(" "),token:`merge ${t} ${i} ${n} `+r?.join(" "),expected:[`merge ${t} ${i}_UNIQUE ${n} `+r?.join(" ")]},e;var o=a||"",l={id:i||x.records.seq+"-"+yfe(),message:`merged branch ${t} into `+x.records.currBranch,seq:x.records.seq++,parents:null==x.records.head?[]:[x.records.head.id,o],branch:x.records.currBranch,type:dfe.MERGE,customType:n,customId:!!i,ta Line truncated
${o-t/2-2},${2+y} ${o-t/2-2},${2+y}
${o-t/2-2},${y-2} ${o-t/2-2},${y-2}
${a.posWithOffset-t/2-4},${y-m-2} ${a.posWithOffset-t/2-4},${y-m-2}
@@ -845,8 +845,8 @@ For Further details.`}function Xoe(e){if(e instanceof eie)return"SUBRULE";if(e i
${a.x+10},${y-m-2} ${a.x+10},${y-m-2}
${a.x+10+t+4},${y-m-2} ${a.x+10+t+4},${y-m-2}
${a.x+10+t+4},${y+m+2} ${a.x+10+t+4},${y+m+2}
${a.x+10},`+(y+m+2)).attr("transform","translate(12,12) rotate(45, "+a.x+","+o+")"),p.attr("cx",a.x+2).attr("cy",y).attr("transform","translate(12,12) rotate(45, "+a.x+","+o+")"),d.attr("x",a.x+5).attr("y",y+3).attr("transform","translate(14,14) rotate(45, "+a.x+","+o+")"))}}},"drawCommitTags"),gme=mt(e=>{switch(e.customType??e.type){case dfe.NORMAL:return"commit-normal";case dfe.REVERSE:return"commit-reverse";case dfe.HIGHLIGHT:return"commit-highlight";case dfe.MERGE:return"commit-merge";case dfe.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),fme=mt((e,t,i,n)=>{var r,s={x:0,y:0};return 0<e.parents.length?(r=rme(e.parents))?(r=n.get(r)??s,"TB"===t?r.y+40:"BT"===t?(n.get(e.id)??s).y-40:r.x+40):0:"TB"===t?30:"BT"===t?(n.get(e.id)??s).y-40:0},"calculatePosition"),mme=mt((e,t,i)=>{var i="BT"===tme&&i?t:t+10,t="TB"===tme||"BT"===tme?i:Kfe.get(e.branch)?.pos,n="TB"===tme||"BT"===tme?Kfe.get(e.branch)?.pos:i;if(void 0===n||void 0===t)throw new Error("Position were undefined for commit "+e.id);return{x:n,y:t,posWithOffset:i}},"getCommitPosition"),yme=mt((e,s,a)=>{if(!Xfe)throw new Error("GitGraph config not found");let o=e.append("g").attr("class","commit-bullets"),l=e.append("g").attr("class","commit-labels"),c="TB"===tme||"BT"===tme?30:0,t=[...s.keys()],h=Xfe?.parallelCommits??!1,i=mt((e,t)=>{e=s.get(e)?.seq,t=s.get(t)?.seq;return void 0!==e&&void 0!==t?e-t:0},"sortKeys"),n=t.sort(i);"BT"===tme&&(h&&ame(n,s,c),n=n.reverse()),n.forEach(e=>{var t=s.get(e);if(!t)throw new Error("Commit not found for key "+e);h&&(c=fme(t,tme,c,Zfe));var i,n,r,e=mme(t,c,h);a&&(i=gme(t),n=t.customType??t.type,r=Kfe.get(t.branch)?.index??0,ume(o,t,e,i,r,n),dme(l,t,e,c),pme(l,t,e,c)),"TB"===tme||"BT"===tme?Zfe.set(t.id,{x:e.x,y:e.posWithOffset}):Zfe.set(t.id,{x:e.posWithOffset,y:e.y}),(c="BT"===tme&&h?c+40:c+40+10)>eme&&(eme=c)})},"drawCommits"),bme=mt((t,i,e,n,r)=>{let s=(("TB"===tme||"BT"===tme?e.x<n.x:e.y<n.y)?i:t).branch,a=mt(e=>e.branch===s,"isOnBranchToGetCurve"),o=mt(e=>e.seq>t.seq&&e.seq<i.seq,"isBetweenCommits");return[...r.values()].some(e=>o(e)&&a(e))},"shouldRerouteArrow"),vme=mt((e,t,i=0)=>{let n=e+Math.abs(e-t)/2;var r;return 5<i?n:Jfe.every(e=>10<=Math.abs(e-n))?(Jfe.push(n),n):(r=Math.abs(e-t),vme(e,t-r/5,i+1))},"findLane"),xme=mt((e,t,i,n)=>{var r,s=Zfe.get(t.id),a=Zfe.get(i.id);if(void 0===s||void 0===a)throw new Error(`Commit positions not found for commits ${t.id} and `+i.id);let o=bme(t,i,s,a,n),l="",c="",h=0,u=0,d=Kfe.get(i.branch)?.index;i.type===dfe.MERGE&&t.id!==i.parents[0]&&(d=Kfe.get(t.branch)?.index);let p;if(o?(l="A 10 10, 0, 0, 0,",c="A 10 10, 0, 0, 1,",h=10,u=10,n=s.y<a.y?vme(s.y,a.y):vme(a.y,s.y),r=s.x<a.x?vme(s.x,a.x):vme(a.x,s.x),p="TB"===tme?s.x<a.x?`M ${s.x} ${s.y} L ${r-h} ${s.y} ${c} ${r} ${s.y+u} L ${r} ${a.y-h} ${l} ${r+u} ${a.y} L ${a.x} `+a.y:(d=Kfe.get(t.branch)?.index,`M ${s.x} ${s.y} L ${r+h} ${s.y} ${l} ${r} ${s.y+u} L ${r} ${a.y-h} ${c} ${r-u} ${a.y} L ${a.x} `+a.y):"BT"===tme?s.x<a.x?`M ${s.x} ${s.y} L ${r-h} ${s.y} ${l} ${r} ${s.y-u} L ${r} ${a.y+h} ${c} ${r+u} ${a.y} L ${a.x} `+a.y:(d=Kfe.get(t.branch)?.index,`M ${s.x} ${s.y} L ${r+h} ${s.y} ${c} ${r} ${s.y-u} L ${r} ${a.y+h} ${l} ${r-u} ${a.y} L ${a.x} `+a.y):s.y<a.y?`M ${s.x} ${s.y} L ${s.x} ${n-h} ${l} ${s.x+u} ${n} L ${a.x-h} ${n} ${c} ${a.x} ${n+u} L ${a.x} `+a.y:(d=Kfe.get(t.branch)?.index,`M ${s.x} ${s.y} L ${s.x} ${n+h} ${c} ${s.x+u} ${n} L ${a.x-h} ${n} ${l} ${a.x} ${n-u} L ${a.x} `+a.y)):(l="A 20 20, 0, 0, 0,",c="A 20 20, 0, 0, 1,",h=20,u=20,"TB"===tme?(s.x<a.x&&(p=i.type===dfe.MERGE&&t.id!==i.parents[0]?`M ${s.x} ${s.y} L ${s.x} ${a.y-h} ${l} ${s.x+u} ${a.y} L ${a.x} `+a.y:`M ${s.x} ${s.y} L ${a.x-h} ${s.y} ${c} ${a.x} ${s.y+u} L ${a.x} `+a.y),s.x>a.x&&(l="A 20 20, 0, 0, 0,",c="A 20 20, 0, 0, 1,",h=20,u=20,p=i.type===dfe.MERGE&&t.id!==i.parents[0]?`M ${s.x} ${s.y} L ${s.x} ${a.y-h} ${c} ${s.x-u} ${a.y} L ${a.x} `+a.y:`M ${s.x} ${s.y} L ${a.x+h} ${s.y} ${l} ${a.x} ${s.y+u} L ${a.x} `+a.y),s.x===a.x&&(p=`M ${s.x} ${s.y} L ${a.x} `+a.y)):"BT"===tme?(s.x<a.x&&(p=i.type===dfe.MERGE&&t.id!==i.parents[0]?`M ${s.x} ${s.y} L ${s.x} ${a.y+h} ${c} ${s.x+u} ${a.y} L ${a.x} `+a.y:`M ${s.x} ${s.y} L ${a.x-h} ${s.y} ${l} ${a.x} ${s.y-u} L ${a.x} `+a.y),s.x>a.x&&(l="A 20 20, 0, 0, 0,",c="A 20 20, 0, 0, 1,",h=20,u=20,p=i.type===dfe.MERGE&&t.id!==i.parents[0]?`M ${s.x} ${s.y} L ${s.x} ${a.y+h} ${l} ${s.x-u} ${a.y} L ${a.x} `+a.y:`M ${s.x} ${s.y} L ${a.x-h} ${s.y} ${l} ${a.x} ${s.y-u} L ${a.x} `+a.y),s.x===a.x&&(p=`M ${s.x} ${s.y} L ${a.x} `+a.y)):(s.y<a.y&&(p=i.type===dfe.MERGE&&t.id!==i.parents[0]?`M ${s.x} ${s.y} L ${a.x-h} ${s.y} ${c} ${a.x} ${s.y+u} L ${a.x} `+a.y:`M ${s.x} ${s.y} L ${s.x} ${a.y-h} ${l} ${s.x+u} ${a.y} L ${a.x} `+a.y),s.y>a.y&&(p=i.type===dfe.MERGE&&t.id!==i.parents[0]?`M ${s.x} ${s.y} L ${a.x-h} ${s.y} ${l} ${a.x} ${s.y-u} L ${a.x} `+a.y:`M ${s.x} ${s.y} L ${s.x} ${a.y+h} ${c} ${s.x+u} ${a.y} L ${a.x} `+a.y),s.y===a.y&&(p=`M ${s.x} ${s.y} L ${a.x} `+a.y))),void 0===p)t Line truncated ${a.x+10},`+(y+m+2)).attr("transform","translate(12,12) rotate(45, "+a.x+","+o+")"),p.attr("cx",a.x+2).attr("cy",y).attr("transform","translate(12,12) rotate(45, "+a.x+","+o+")"),d.attr("x",a.x+5).attr("y",y+3).attr("transform","translate(14,14) rotate(45, "+a.x+","+o+")"))}}},"drawCommitTags"),gme=mt(e=>{switch(e.customType??e.type){case dfe.NORMAL:return"commit-normal";case dfe.REVERSE:return"commit-reverse";case dfe.HIGHLIGHT:return"commit-highlight";case dfe.MERGE:return"commit-merge";case dfe.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),fme=mt((e,t,i,n)=>{var r,s={x:0,y:0};return 0<e.parents.length?(r=rme(e.parents))?(r=n.get(r)??s,"TB"===t?r.y+40:"BT"===t?(n.get(e.id)??s).y-40:r.x+40):0:"TB"===t?30:"BT"===t?(n.get(e.id)??s).y-40:0},"calculatePosition"),mme=mt((e,t,i)=>{var i="BT"===tme&&i?t:t+10,t="TB"===tme||"BT"===tme?i:Kfe.get(e.branch)?.pos,n="TB"===tme||"BT"===tme?Kfe.get(e.branch)?.pos:i;if(void 0===n||void 0===t)throw new Error("Position were undefined for commit "+e.id);return{x:n,y:t,posWithOffset:i}},"getCommitPosition"),yme=mt((e,s,a)=>{if(!Xfe)throw new Error("GitGraph config not found");let o=e.append("g").attr("class","commit-bullets"),l=e.append("g").attr("class","commit-labels"),c="TB"===tme||"BT"===tme?30:0,t=[...s.keys()],h=Xfe?.parallelCommits??!1,i=mt((e,t)=>{e=s.get(e)?.seq,t=s.get(t)?.seq;return void 0!==e&&void 0!==t?e-t:0},"sortKeys"),n=t.sort(i);"BT"===tme&&(h&&ame(n,s,c),n=n.reverse()),n.forEach(e=>{var t=s.get(e);if(!t)throw new Error("Commit not found for key "+e);h&&(c=fme(t,tme,c,Qfe));var i,n,r,e=mme(t,c,h);a&&(i=gme(t),n=t.customType??t.type,r=Kfe.get(t.branch)?.index??0,ume(o,t,e,i,r,n),dme(l,t,e,c),pme(l,t,e,c)),"TB"===tme||"BT"===tme?Qfe.set(t.id,{x:e.x,y:e.posWithOffset}):Qfe.set(t.id,{x:e.posWithOffset,y:e.y}),(c="BT"===tme&&h?c+40:c+40+10)>eme&&(eme=c)})},"drawCommits"),bme=mt((t,i,e,n,r)=>{let s=(("TB"===tme||"BT"===tme?e.x<n.x:e.y<n.y)?i:t).branch,a=mt(e=>e.branch===s,"isOnBranchToGetCurve"),o=mt(e=>e.seq>t.seq&&e.seq<i.seq,"isBetweenCommits");return[...r.values()].some(e=>o(e)&&a(e))},"shouldRerouteArrow"),vme=mt((e,t,i=0)=>{let n=e+Math.abs(e-t)/2;var r;return 5<i?n:Jfe.every(e=>10<=Math.abs(e-n))?(Jfe.push(n),n):(r=Math.abs(e-t),vme(e,t-r/5,i+1))},"findLane"),xme=mt((e,t,i,n)=>{var r,s=Qfe.get(t.id),a=Qfe.get(i.id);if(void 0===s||void 0===a)throw new Error(`Commit positions not found for commits ${t.id} and `+i.id);let o=bme(t,i,s,a,n),l="",c="",h=0,u=0,d=Kfe.get(i.branch)?.index;i.type===dfe.MERGE&&t.id!==i.parents[0]&&(d=Kfe.get(t.branch)?.index);let p;if(o?(l="A 10 10, 0, 0, 0,",c="A 10 10, 0, 0, 1,",h=10,u=10,n=s.y<a.y?vme(s.y,a.y):vme(a.y,s.y),r=s.x<a.x?vme(s.x,a.x):vme(a.x,s.x),p="TB"===tme?s.x<a.x?`M ${s.x} ${s.y} L ${r-h} ${s.y} ${c} ${r} ${s.y+u} L ${r} ${a.y-h} ${l} ${r+u} ${a.y} L ${a.x} `+a.y:(d=Kfe.get(t.branch)?.index,`M ${s.x} ${s.y} L ${r+h} ${s.y} ${l} ${r} ${s.y+u} L ${r} ${a.y-h} ${c} ${r-u} ${a.y} L ${a.x} `+a.y):"BT"===tme?s.x<a.x?`M ${s.x} ${s.y} L ${r-h} ${s.y} ${l} ${r} ${s.y-u} L ${r} ${a.y+h} ${c} ${r+u} ${a.y} L ${a.x} `+a.y:(d=Kfe.get(t.branch)?.index,`M ${s.x} ${s.y} L ${r+h} ${s.y} ${c} ${r} ${s.y-u} L ${r} ${a.y+h} ${l} ${r-u} ${a.y} L ${a.x} `+a.y):s.y<a.y?`M ${s.x} ${s.y} L ${s.x} ${n-h} ${l} ${s.x+u} ${n} L ${a.x-h} ${n} ${c} ${a.x} ${n+u} L ${a.x} `+a.y:(d=Kfe.get(t.branch)?.index,`M ${s.x} ${s.y} L ${s.x} ${n+h} ${c} ${s.x+u} ${n} L ${a.x-h} ${n} ${l} ${a.x} ${n-u} L ${a.x} `+a.y)):(l="A 20 20, 0, 0, 0,",c="A 20 20, 0, 0, 1,",h=20,u=20,"TB"===tme?(s.x<a.x&&(p=i.type===dfe.MERGE&&t.id!==i.parents[0]?`M ${s.x} ${s.y} L ${s.x} ${a.y-h} ${l} ${s.x+u} ${a.y} L ${a.x} `+a.y:`M ${s.x} ${s.y} L ${a.x-h} ${s.y} ${c} ${a.x} ${s.y+u} L ${a.x} `+a.y),s.x>a.x&&(l="A 20 20, 0, 0, 0,",c="A 20 20, 0, 0, 1,",h=20,u=20,p=i.type===dfe.MERGE&&t.id!==i.parents[0]?`M ${s.x} ${s.y} L ${s.x} ${a.y-h} ${c} ${s.x-u} ${a.y} L ${a.x} `+a.y:`M ${s.x} ${s.y} L ${a.x+h} ${s.y} ${l} ${a.x} ${s.y+u} L ${a.x} `+a.y),s.x===a.x&&(p=`M ${s.x} ${s.y} L ${a.x} `+a.y)):"BT"===tme?(s.x<a.x&&(p=i.type===dfe.MERGE&&t.id!==i.parents[0]?`M ${s.x} ${s.y} L ${s.x} ${a.y+h} ${c} ${s.x+u} ${a.y} L ${a.x} `+a.y:`M ${s.x} ${s.y} L ${a.x-h} ${s.y} ${l} ${a.x} ${s.y-u} L ${a.x} `+a.y),s.x>a.x&&(l="A 20 20, 0, 0, 0,",c="A 20 20, 0, 0, 1,",h=20,u=20,p=i.type===dfe.MERGE&&t.id!==i.parents[0]?`M ${s.x} ${s.y} L ${s.x} ${a.y+h} ${l} ${s.x-u} ${a.y} L ${a.x} `+a.y:`M ${s.x} ${s.y} L ${a.x-h} ${s.y} ${l} ${a.x} ${s.y-u} L ${a.x} `+a.y),s.x===a.x&&(p=`M ${s.x} ${s.y} L ${a.x} `+a.y)):(s.y<a.y&&(p=i.type===dfe.MERGE&&t.id!==i.parents[0]?`M ${s.x} ${s.y} L ${a.x-h} ${s.y} ${c} ${a.x} ${s.y+u} L ${a.x} `+a.y:`M ${s.x} ${s.y} L ${s.x} ${a.y-h} ${l} ${s.x+u} ${a.y} L ${a.x} `+a.y),s.y>a.y&&(p=i.type===dfe.MERGE&&t.id!==i.parents[0]?`M ${s.x} ${s.y} L ${a.x-h} ${s.y} ${l} ${a.x} ${s.y-u} L ${a.x} `+a.y:`M ${s.x} ${s.y} L ${s.x} ${a.y+h} ${c} ${s.x+u} ${a.y} L ${a.x} `+a.y),s.y===a.y&&(p=`M ${s.x} ${s.y} L ${a.x} `+a.y))),void 0===p)t Line truncated
`,"id:",t,i),!Xfe)throw new Error("GitGraph config not found");let a=Xfe.rotateCommitLabel??!1,r=n.db;Qfe=r.getCommits();e=r.getBranchesAsObjArray();tme=r.getDirection();let o=V(`[id="${t}"]`),l=0;e.forEach((e,t)=>{var i=nme(e.name),n=o.append("g"),r=n.insert("g").attr("class","branchLabel"),s=r.insert("g").attr("class","label branch-label"),i=(s.node()?.appendChild(i),i.getBBox());l=Tme(e.name,l,t,i,a),s.remove(),r.remove(),n.remove()}),yme(o,Qfe,!1),Xfe.showBranches&&kme(o,e),wme(o,Qfe),yme(o,Qfe,!0),t_.insertTitle(o,"gitTitleText",Xfe.titleTopMargin??0,r.getDiagramTitle()),Lh(void 0,o,Xfe.diagramPadding,Xfe.useMaxWidth)},"draw"),Cme={draw:Sme}}),Rme=e(()=>{"use strict";_me=mt(t=>` `,"id:",t,i),!Xfe)throw new Error("GitGraph config not found");let a=Xfe.rotateCommitLabel??!1,r=n.db;Zfe=r.getCommits();e=r.getBranchesAsObjArray();tme=r.getDirection();let o=V(`[id="${t}"]`),l=0;e.forEach((e,t)=>{var i=nme(e.name),n=o.append("g"),r=n.insert("g").attr("class","branchLabel"),s=r.insert("g").attr("class","label branch-label"),i=(s.node()?.appendChild(i),i.getBBox());l=Tme(e.name,l,t,i,a),s.remove(),r.remove(),n.remove()}),yme(o,Zfe,!1),Xfe.showBranches&&kme(o,e),wme(o,Zfe),yme(o,Zfe,!0),t_.insertTitle(o,"gitTitleText",Xfe.titleTopMargin??0,r.getDiagramTitle()),Lh(void 0,o,Xfe.diagramPadding,Xfe.useMaxWidth)},"draw"),Cme={draw:Sme}}),Rme=e(()=>{"use strict";_me=mt(t=>`
.commit-id, .commit-id,
.commit-msg, .commit-msg,
.branch-label { .branch-label {
@@ -902,7 +902,7 @@ For Further details.`}function Xoe(e){if(e instanceof eie)return"SUBRULE";if(e i
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:case 9:case 10:break;case 11:return 10;case 12:case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}},n.lexer=r,mt(e,"Parser"),(Nme=new((e.prototype=n).Parser=e)).parser=Nme,Dme=Nme}),Bme=W((e,t)=>{"use strict";var i;i=function(){return function(e,t,r){var s=mt(function(e){return e.add(4-e.isoWeekday(),"day")},"a"),t=t.prototype,a=(t.isoWeekYear=function(){return s(this).year()},t.isoWeek=function(e){var t,i,n;return this.$utils().u(e)?(i=s(this),n=this.isoWeekYear(),t=4-(n=(this.$u?r.utc:r)().year(n).startOf("year")).isoWeekday(),4<n.isoWeekday()&&(t+=7),n=n.add(t,"day"),i.diff(n,"week")+1):this.add(7*(e-this.isoWeek()),"day")},t.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)},t.startOf);t.startOf=function(e,t){var i=this.$utils(),n=!!i.u(t)||t;return"isoweek"===i.p(e)?n?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):a.bind(this)(e,t)}}},"object"==typeof(e=e)&&typeof t<"u"?t.exports=i():"function"==typeof define&&define.amd?define(i):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_isoWeek=i()}),Fme=W((e,t)=>{"use strict";var i;i=function(){var o={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},l=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|w Line truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:case 9:case 10:break;case 11:return 10;case 12:case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}},n.lexer=r,mt(e,"Parser"),(Nme=new((e.prototype=n).Parser=e)).parser=Nme,Dme=Nme}),Bme=W((e,t)=>{"use strict";var i;i=function(){return function(e,t,r){var s=mt(function(e){return e.add(4-e.isoWeekday(),"day")},"a"),t=t.prototype,a=(t.isoWeekYear=function(){return s(this).year()},t.isoWeek=function(e){var t,i,n;return this.$utils().u(e)?(i=s(this),n=this.isoWeekYear(),t=4-(n=(this.$u?r.utc:r)().year(n).startOf("year")).isoWeekday(),4<n.isoWeekday()&&(t+=7),n=n.add(t,"day"),i.diff(n,"week")+1):this.add(7*(e-this.isoWeek()),"day")},t.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)},t.startOf);t.startOf=function(e,t){var i=this.$utils(),n=!!i.u(t)||t;return"isoweek"===i.p(e)?n?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):a.bind(this)(e,t)}}},"object"==typeof(e=e)&&typeof t<"u"?t.exports=i():"function"==typeof define&&define.amd?define(i):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_isoWeek=i()}),Fme=W((e,t)=>{"use strict";var i;i=function(){var o={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},l=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|w Line truncated
.mermaid-main-font { .mermaid-main-font {
font-family: ${e.fontFamily}; font-family: ${e.fontFamily};
} }
@@ -1164,7 +1164,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
font-family: ${e.fontFamily}; font-family: ${e.fontFamily};
} }
`,"getStyles"),gye=pye}),bye={};G(bye,{diagram:()=>vye});var vye,xye,wye,kye,Tye,Sye,Cye,_ye,Aye,Eye=e(()=>{"use strict";Pme(),fye(),mye(),yye(),vye={parser:Dme,db:sye,renderer:dye,styles:gye}}),$ye=e(()=>{"use strict";hfe(),t(),xye={parse:mt(async e=>{e=await afe("info",e);I.debug(e)},"parse")}}),Lye=e(()=>{wye={name:"mermaid",version:"11.9.0",description:"Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.",type:"module",module:"./dist/mermaid.core.mjs",types:"./dist/mermaid.d.ts",exports:{".":{types:"./dist/mermaid.d.ts",import:"./dist/mermaid.core.mjs",default:"./dist/mermaid.core.mjs"},"./*":"./*"},keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph","mindmap","packet diagram","c4 diagram","er diagram","pie chart","pie diagram","quadrant chart","requirement diagram","graph"],scripts:{clean:"rimraf dist",dev:"pnpm -w dev","docs:code":"typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup","docs:build":"rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts","docs:verify":"pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify","docs:pre:vitepress":"pnpm --filter ./src/docs prefetch && rimraf src/vitepress && pnpm docs:code && tsx scripts/docs.cli.mts --vitepress && pnpm --filter ./src/vitepress install --no-frozen-lockfile --ignore-scripts","docs:build:vitepress":"pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing","docs:dev":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:dev:docker":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev:docker" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:serve":"pnpm docs:build:vitepress && vitepress serve src/vitepress","docs:spellcheck":'cspell "src/docs/**/*.md"',"docs:release-version":"tsx scripts/update-release-version.mts","docs:verify-version":"tsx scripts/update-release-version.mts --verify","types:build-config":"tsx scripts/create-types-from-json-schema.mts","types:verify-config":"tsx scripts/create-types-from-json-schema.mts --verify",checkCircle:"npx madge --circular ./src",prepublishOnly:"pnpm docs:verify-version"},repository:{type:"git",url:"https://github.com/mermaid-js/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],globals:["page"]},dependencies:{"@braintree/sanitize-url":"^7.0.4","@iconify/utils":"^2.1.33","@mermaid-js/parser":"workspace:^","@types/d3":"^7.4.3",cytoscape:"^3.29.3","cytoscape-cose-bilkent":"^4.1.0","cytoscape-fcose":"^2.2.0",d3:"^7.9.0","d3-sankey":"^0.12.3","dagre-d3-es":"7.0.11",dayjs:"^1.11.13",dompurify:"^3.2.5",katex:"^0.16.22",khroma:"^2.1.0","lodash-es":"^4.17.21",marked:"^16.0.0",roughjs:"^4.6.6",stylis:"^4.3.6","ts-dedent":"^2.2.0",uuid:"^11.1.0"},devDependencies:{"@adobe/jsonschema2md":"^8.0.2","@iconify/types":"^2.0.0","@types/cytoscape":"^3.21.9","@types/cytoscape-fcose":"^2.2.4","@types/d3-sankey":"^0.12.4","@types/d3-scale":"^4.0.9","@types/d3-scale-chromatic":"^3.1.0","@types/d3-selection":"^3.0.11","@types/d3-shape":"^3.1.7","@types/jsdom":"^21.1.7","@types/katex":"^0.16.7","@types/lodash-es":"^4.17.12","@types/micromatch":"^4.0.9","@types/stylis":"^4.2.7","@types/uuid":"^10.0.0",ajv:"^8.17.1",canvas:"^3.1.0",chokidar:"3.6.0",concurrently:"^9.1.2","csstree-validator":"^4.0.1",globby:"^14.0.2",jison:"^0.4.18","js-base64":"^3.7.7",jsdom:"^26.1.0","json-schema-to-typescript":"^15.0.4",micromatch:"^4.0.8","path-browserify":"^1.0.1",prettier:"^3.5.2",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1",rimraf:"^6.0.1","start-server-and-test":"^2.0.10","type-fest":"^4.35.0",typedoc:"^0.27.8","typedoc-plugin-markdown":"^4.4.2",typescript:"~5.7.3","unist-util-flatmap":"^1.0.0","unist-util-visit":"^5.0.0",vitepress:"^1.0.2","vitepress-plugin-search":"1.0.4-alpha.22"},files:["dist/","README.md"],publishConfig:{access:"public"}}}),Rye=e(()=>{"use strict";Lye(),kye={version:wye.version+""},Tye=mt(()=>kye.version,"getVersion"),Sye={getVersion:Tye}}),Mye=e(()=>{"use strict";a6(),_u(),Cye=mt(e=>{let t=N()["securityLevel"],i=V("body");var n;return"sandbox"===t&&(n=V("#i"+e).node()?.contentDocument??document,i=V(n.body)),i.select("#"+e)},"selectSvgElement")}),Iye=e(()=>{"use strict";t(),Mye(),uh(),_ye=mt((e,t,i)=>{I.debug(`rendering info diagram `,"getStyles"),gye=pye}),bye={};G(bye,{diagram:()=>vye});var vye,xye,wye,kye,Tye,Sye,Cye,_ye,Aye,Eye=e(()=>{"use strict";Pme(),fye(),mye(),yye(),vye={parser:Dme,db:sye,renderer:dye,styles:gye}}),$ye=e(()=>{"use strict";hfe(),t(),xye={parse:mt(async e=>{e=await afe("info",e);I.debug(e)},"parse")}}),Lye=e(()=>{wye={name:"mermaid",version:"11.9.0",description:"Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.",type:"module",module:"./dist/mermaid.core.mjs",types:"./dist/mermaid.d.ts",exports:{".":{types:"./dist/mermaid.d.ts",import:"./dist/mermaid.core.mjs",default:"./dist/mermaid.core.mjs"},"./*":"./*"},keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph","mindmap","packet diagram","c4 diagram","er diagram","pie chart","pie diagram","quadrant chart","requirement diagram","graph"],scripts:{clean:"rimraf dist",dev:"pnpm -w dev","docs:code":"typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup","docs:build":"rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts","docs:verify":"pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify","docs:pre:vitepress":"pnpm --filter ./src/docs prefetch && rimraf src/vitepress && pnpm docs:code && tsx scripts/docs.cli.mts --vitepress && pnpm --filter ./src/vitepress install --no-frozen-lockfile --ignore-scripts","docs:build:vitepress":"pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing","docs:dev":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:dev:docker":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev:docker" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:serve":"pnpm docs:build:vitepress && vitepress serve src/vitepress","docs:spellcheck":'cspell "src/docs/**/*.md"',"docs:release-version":"tsx scripts/update-release-version.mts","docs:verify-version":"tsx scripts/update-release-version.mts --verify","types:build-config":"tsx scripts/create-types-from-json-schema.mts","types:verify-config":"tsx scripts/create-types-from-json-schema.mts --verify",checkCircle:"npx madge --circular ./src",prepublishOnly:"pnpm docs:verify-version"},repository:{type:"git",url:"https://github.com/mermaid-js/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],globals:["page"]},dependencies:{"@braintree/sanitize-url":"^7.0.4","@iconify/utils":"^2.1.33","@mermaid-js/parser":"workspace:^","@types/d3":"^7.4.3",cytoscape:"^3.29.3","cytoscape-cose-bilkent":"^4.1.0","cytoscape-fcose":"^2.2.0",d3:"^7.9.0","d3-sankey":"^0.12.3","dagre-d3-es":"7.0.11",dayjs:"^1.11.13",dompurify:"^3.2.5",katex:"^0.16.22",khroma:"^2.1.0","lodash-es":"^4.17.21",marked:"^16.0.0",roughjs:"^4.6.6",stylis:"^4.3.6","ts-dedent":"^2.2.0",uuid:"^11.1.0"},devDependencies:{"@adobe/jsonschema2md":"^8.0.2","@iconify/types":"^2.0.0","@types/cytoscape":"^3.21.9","@types/cytoscape-fcose":"^2.2.4","@types/d3-sankey":"^0.12.4","@types/d3-scale":"^4.0.9","@types/d3-scale-chromatic":"^3.1.0","@types/d3-selection":"^3.0.11","@types/d3-shape":"^3.1.7","@types/jsdom":"^21.1.7","@types/katex":"^0.16.7","@types/lodash-es":"^4.17.12","@types/micromatch":"^4.0.9","@types/stylis":"^4.2.7","@types/uuid":"^10.0.0",ajv:"^8.17.1",canvas:"^3.1.0",chokidar:"3.6.0",concurrently:"^9.1.2","csstree-validator":"^4.0.1",globby:"^14.0.2",jison:"^0.4.18","js-base64":"^3.7.7",jsdom:"^26.1.0","json-schema-to-typescript":"^15.0.4",micromatch:"^4.0.8","path-browserify":"^1.0.1",prettier:"^3.5.2",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1",rimraf:"^6.0.1","start-server-and-test":"^2.0.10","type-fest":"^4.35.0",typedoc:"^0.27.8","typedoc-plugin-markdown":"^4.4.2",typescript:"~5.7.3","unist-util-flatmap":"^1.0.0","unist-util-visit":"^5.0.0",vitepress:"^1.0.2","vitepress-plugin-search":"1.0.4-alpha.22"},files:["dist/","README.md"],publishConfig:{access:"public"}}}),Rye=e(()=>{"use strict";Lye(),kye={version:wye.version+""},Tye=mt(()=>kye.version,"getVersion"),Sye={getVersion:Tye}}),Mye=e(()=>{"use strict";a6(),_u(),Cye=mt(e=>{let t=N()["securityLevel"],i=V("body");var n;return"sandbox"===t&&(n=V("#i"+e).node()?.contentDocument??document,i=V(n.body)),i.select("#"+e)},"selectSvgElement")}),Iye=e(()=>{"use strict";t(),Mye(),uh(),_ye=mt((e,t,i)=>{I.debug(`rendering info diagram
`+e);e=Cye(t);rh(e,100,400,!0),e.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text("v"+i)},"draw"),Aye={draw:_ye}}),Nye={};G(Nye,{diagram:()=>Dye});var Dye,Oye,Pye,Bye,Fye,jye,zye,Uye,Hye,qye,Wye,Gye,Vye,Yye,Xye,Kye,Zye,Qye,Jye,ebe=e(()=>{"use strict";$ye(),Rye(),Iye(),Dye={parser:xye,db:Sye,renderer:Aye}}),tbe=e(()=>{"use strict";t(),Cu(),Ln(),jye=vi.pie,Oye={sections:new Map,showData:!1,config:jye},Pye=Oye.sections,Bye=Oye.showData,Fye=structuredClone(jye),jye=mt(()=>structuredClone(Fye),"getConfig"),zye=mt(()=>{Pye=new Map,Bye=Oye.showData,bh()},"clear"),Uye=mt(({label:e,value:t})=>{Pye.has(e)||(Pye.set(e,t),I.debug(`added new section: ${e}, with value: `+t))},"addSection"),Hye=mt(()=>Pye,"getSections"),qye=mt(e=>{Bye=e},"setShowData"),Wye=mt(()=>Bye,"getShowData"),Gye={getConfig:jye,clear:zye,setDiagramTitle:Th,getDiagramTitle:Sh,setAccTitle:vh,getAccTitle:xh,setAccDescription:wh,getAccDescription:kh,addSection:Uye,getSections:Hye,setShowData:qye,getShowData:Wye}}),ibe=e(()=>{"use strict";hfe(),t(),gfe(),tbe(),Vye=mt((e,t)=>{ufe(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},"populateDb"),Yye={parse:mt(async e=>{e=await afe("pie",e);I.debug(e),Vye(e,Gye)},"parse")}}),nbe=e(()=>{"use strict";Xye=mt(e=>` `+e);e=Cye(t);rh(e,100,400,!0),e.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text("v"+i)},"draw"),Aye={draw:_ye}}),Nye={};G(Nye,{diagram:()=>Dye});var Dye,Oye,Pye,Bye,Fye,jye,zye,Uye,Hye,qye,Wye,Gye,Vye,Yye,Xye,Kye,Qye,Zye,Jye,ebe=e(()=>{"use strict";$ye(),Rye(),Iye(),Dye={parser:xye,db:Sye,renderer:Aye}}),tbe=e(()=>{"use strict";t(),Cu(),Ln(),jye=vi.pie,Oye={sections:new Map,showData:!1,config:jye},Pye=Oye.sections,Bye=Oye.showData,Fye=structuredClone(jye),jye=mt(()=>structuredClone(Fye),"getConfig"),zye=mt(()=>{Pye=new Map,Bye=Oye.showData,bh()},"clear"),Uye=mt(({label:e,value:t})=>{Pye.has(e)||(Pye.set(e,t),I.debug(`added new section: ${e}, with value: `+t))},"addSection"),Hye=mt(()=>Pye,"getSections"),qye=mt(e=>{Bye=e},"setShowData"),Wye=mt(()=>Bye,"getShowData"),Gye={getConfig:jye,clear:zye,setDiagramTitle:Th,getDiagramTitle:Sh,setAccTitle:vh,getAccTitle:xh,setAccDescription:wh,getAccDescription:kh,addSection:Uye,getSections:Hye,setShowData:qye,getShowData:Wye}}),ibe=e(()=>{"use strict";hfe(),t(),gfe(),tbe(),Vye=mt((e,t)=>{ufe(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},"populateDb"),Yye={parse:mt(async e=>{e=await afe("pie",e);I.debug(e),Vye(e,Gye)},"parse")}}),nbe=e(()=>{"use strict";Xye=mt(e=>`
.pieCircle{ .pieCircle{
stroke: ${e.pieStrokeColor}; stroke: ${e.pieStrokeColor};
stroke-width : ${e.pieStrokeWidth}; stroke-width : ${e.pieStrokeWidth};
@@ -1192,8 +1192,8 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
font-family: ${e.fontFamily}; font-family: ${e.fontFamily};
font-size: ${e.pieLegendTextSize}; font-size: ${e.pieLegendTextSize};
} }
`,"getStyles"),Kye=Xye}),rbe=e(()=>{"use strict";a6(),_u(),t(),Mye(),uh(),s_(),Zye=mt(e=>{e=[...e.entries()].map(e=>({label:e[0],value:e[1]})).sort((e,t)=>t.value-e.value);return h5().value(e=>e.value)(e)},"createPieArcs"),Qye=mt((e,t,i,n)=>{I.debug(`rendering pie chart `,"getStyles"),Kye=Xye}),rbe=e(()=>{"use strict";a6(),_u(),t(),Mye(),uh(),s_(),Qye=mt(e=>{e=[...e.entries()].map(e=>({label:e[0],value:e[1]})).sort((e,t)=>t.value-e.value);return h5().value(e=>e.value)(e)},"createPieArcs"),Zye=mt((e,t,i,n)=>{I.debug(`rendering pie chart
`+e);let r=n.db,s=N(),a=EC(r.getConfig(),s.pie),o=Cye(t),l=o.append("g");l.attr("transform","translate(225,225)");var e=s["themeVariables"],[n]=e_(e.pieOuterStrokeWidth);n??=2;let c=a.textPosition,h=Math.min(450,450)/2-40,u=Y3().innerRadius(0).outerRadius(h),d=Y3().innerRadius(h*c).outerRadius(h*c),p=(l.append("circle").attr("cx",0).attr("cy",0).attr("r",h+n/2).attr("class","pieOuterCircle"),r.getSections()),g=Zye(p),f=[e.pie1,e.pie2,e.pie3,e.pie4,e.pie5,e.pie6,e.pie7,e.pie8,e.pie9,e.pie10,e.pie11,e.pie12],m=v2(f),y=(l.selectAll("mySlices").data(g).enter().append("path").attr("d",u).attr("fill",e=>m(e.data.label)).attr("class","pieCircle"),0);p.forEach(e=>{y+=e}),l.selectAll("mySlices").data(g).enter().append("text").text(e=>(e.data.value/y*100).toFixed(0)+"%").attr("transform",e=>"translate("+d.centroid(e)+")").style("text-anchor","middle").attr("class","slice"),l.append("text").text(r.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText");t=l.selectAll(".legend").data(m.domain()).enter().append("g").attr("class","legend").attr("transform",(e,t)=>{return"translate(216,"+(22*t-22*m.domain().length/2)+")"}),t.append("rect").attr("width",18).attr("height",18).style("fill",m).style("stroke",m),t.data(g).append("text").attr("x",22).attr("y",14).text(e=>{var{label:e,value:t}=e.data;return r.getShowData()?e+` [${t}]`:e}),n=Math.max(...t.selectAll("text").nodes().map(e=>e?.getBoundingClientRect().width??0)),e=512+n;o.attr("viewBox",`0 0 ${e} 450`),rh(o,450,e,a.useMaxWidth)},"draw"),Jye={draw:Qye}}),sbe={};G(sbe,{diagram:()=>abe});var abe,obe,lbe,cbe,hbe,ube=e(()=>{"use strict";ibe(),tbe(),nbe(),rbe(),abe={parser:Yye,db:Gye,renderer:Jye,styles:Kye}}),dbe=e(()=>{"use strict";function O(){this.yy={}}var e,t,i,n,r,s,a,P,o,B,l,c,h,u,d,p,F,j,z,U,H,q,W,G,V,Y,X,K,Z,g,f,m,y,b,v,x,w,k,T,Q,J,ee,te,ie,ne,re,se,ae,oe,le,ce,S,C,_,A,E,$,L,R,M,I,N,he,ue,D;e=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),t=[1,3],i=[1,4],n=[1,5],r=[1,6],s=[1,7],a=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],P=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[55,56,57],B=[2,36],l=[1,37],c=[1,36],h=[1,38],u=[1,35],d=[1,43],p=[1,41],F=[1,14],j=[1,23],z=[1,18],U=[1,19],H=[1,20],q=[1,21],W=[1,22],G=[1,24],V=[1,25],Y=[1,26],X=[1,27],K=[1,28],Z=[1,29],g=[1,32],f=[1,33],m=[1,34],y=[1,39],b=[1,40],v=[1,42],x=[1,44],w=[1,62],k=[1,61],T=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],Q=[1,65],J=[1,66],ee=[1,67],te=[1,68],ie=[1,69],ne=[1,70],re=[1,71],se=[1,72],ae=[1,73],oe=[1,74],le=[1,75],ce=[1,76],S=[4,5,6,7,8,9,10,11,12,13,14,15,18],C=[1,90],_=[1,91],A=[1,92],E=[1,99],$=[1,93],L=[1,96],R=[1,94],M=[1,95],I=[1,97],N=[1,98],he=[1,102],ue=[10,55,56,57],D=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],t={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;s Line truncated `+e);let r=n.db,s=N(),a=EC(r.getConfig(),s.pie),o=Cye(t),l=o.append("g");l.attr("transform","translate(225,225)");var e=s["themeVariables"],[n]=e_(e.pieOuterStrokeWidth);n??=2;let c=a.textPosition,h=Math.min(450,450)/2-40,u=Y3().innerRadius(0).outerRadius(h),d=Y3().innerRadius(h*c).outerRadius(h*c),p=(l.append("circle").attr("cx",0).attr("cy",0).attr("r",h+n/2).attr("class","pieOuterCircle"),r.getSections()),g=Qye(p),f=[e.pie1,e.pie2,e.pie3,e.pie4,e.pie5,e.pie6,e.pie7,e.pie8,e.pie9,e.pie10,e.pie11,e.pie12],m=v2(f),y=(l.selectAll("mySlices").data(g).enter().append("path").attr("d",u).attr("fill",e=>m(e.data.label)).attr("class","pieCircle"),0);p.forEach(e=>{y+=e}),l.selectAll("mySlices").data(g).enter().append("text").text(e=>(e.data.value/y*100).toFixed(0)+"%").attr("transform",e=>"translate("+d.centroid(e)+")").style("text-anchor","middle").attr("class","slice"),l.append("text").text(r.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText");t=l.selectAll(".legend").data(m.domain()).enter().append("g").attr("class","legend").attr("transform",(e,t)=>{return"translate(216,"+(22*t-22*m.domain().length/2)+")"}),t.append("rect").attr("width",18).attr("height",18).style("fill",m).style("stroke",m),t.data(g).append("text").attr("x",22).attr("y",14).text(e=>{var{label:e,value:t}=e.data;return r.getShowData()?e+` [${t}]`:e}),n=Math.max(...t.selectAll("text").nodes().map(e=>e?.getBoundingClientRect().width??0)),e=512+n;o.attr("viewBox",`0 0 ${e} 450`),rh(o,450,e,a.useMaxWidth)},"draw"),Jye={draw:Zye}}),sbe={};G(sbe,{diagram:()=>abe});var abe,obe,lbe,cbe,hbe,ube=e(()=>{"use strict";ibe(),tbe(),nbe(),rbe(),abe={parser:Yye,db:Gye,renderer:Jye,styles:Kye}}),dbe=e(()=>{"use strict";function O(){this.yy={}}var e,t,i,n,r,s,a,P,o,B,l,c,h,u,d,p,F,j,z,U,H,q,W,G,V,Y,X,K,Q,g,f,m,y,b,v,x,w,k,T,Z,J,ee,te,ie,ne,re,se,ae,oe,le,ce,S,C,_,A,E,$,L,R,M,I,N,he,ue,D;e=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),t=[1,3],i=[1,4],n=[1,5],r=[1,6],s=[1,7],a=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],P=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[55,56,57],B=[2,36],l=[1,37],c=[1,36],h=[1,38],u=[1,35],d=[1,43],p=[1,41],F=[1,14],j=[1,23],z=[1,18],U=[1,19],H=[1,20],q=[1,21],W=[1,22],G=[1,24],V=[1,25],Y=[1,26],X=[1,27],K=[1,28],Q=[1,29],g=[1,32],f=[1,33],m=[1,34],y=[1,39],b=[1,40],v=[1,42],x=[1,44],w=[1,62],k=[1,61],T=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],Z=[1,65],J=[1,66],ee=[1,67],te=[1,68],ie=[1,69],ne=[1,70],re=[1,71],se=[1,72],ae=[1,73],oe=[1,74],le=[1,75],ce=[1,76],S=[4,5,6,7,8,9,10,11,12,13,14,15,18],C=[1,90],_=[1,91],A=[1,92],E=[1,99],$=[1,93],L=[1,96],R=[1,94],M=[1,95],I=[1,97],N=[1,98],he=[1,102],ue=[10,55,56,57],D=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],t={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;s Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},i={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},i={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
@@ -1204,8 +1204,8 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:case 1:break;case 2:case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}},n.lexer=r,mt(e,"Parser"),(qbe=new((e.prototype=n).Parser=e)).parser=qbe,Wbe=qbe});function Ybe(e){return"bar"===e.type}function Xbe(e){return"band"===e.type}function Kbe(e){return"linear"===e.type}var Zbe,Qbe,Jbe,eve,tve=e(()=>{"use strict";mt(Ybe,"isBarPlot"),mt(Xbe,"isBandAxisData"),mt(Kbe,"isLinearAxisData")}),ive=e(()=>{"use strict";eL(),Zbe=class{constructor(e){this.parentGroup=e}static{mt(this,"TextDimensionCalculatorWithFont")}getMaxDimension(e,t){if(!this.parentGroup)return{width:e.reduce((e,t)=>Math.max(t.length,e),0)*t,height:t};var i,n={width:0,height:0},r=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",t);for(i of e){var s=X$(r,1,i),a=s?s.width:i.length*t,s=s?s.height:t;n.width=Math.max(n.width,a),n.height=Math.max(n.height,s)}return r.remove(),n}}}),nve=e(()=>{"use strict";Qbe=class{constructor(e,t,i,n){this.axisConfig=e,this.title=t,this.textDimensionCalculator=i,this.axisThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=Line truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:case 1:break;case 2:case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}},n.lexer=r,mt(e,"Parser"),(qbe=new((e.prototype=n).Parser=e)).parser=qbe,Wbe=qbe});function Ybe(e){return"bar"===e.type}function Xbe(e){return"band"===e.type}function Kbe(e){return"linear"===e.type}var Qbe,Zbe,Jbe,eve,tve=e(()=>{"use strict";mt(Ybe,"isBarPlot"),mt(Xbe,"isBandAxisData"),mt(Kbe,"isLinearAxisData")}),ive=e(()=>{"use strict";eL(),Qbe=class{constructor(e){this.parentGroup=e}static{mt(this,"TextDimensionCalculatorWithFont")}getMaxDimension(e,t){if(!this.parentGroup)return{width:e.reduce((e,t)=>Math.max(t.length,e),0)*t,height:t};var i,n={width:0,height:0},r=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",t);for(i of e){var s=X$(r,1,i),a=s?s.width:i.length*t,s=s?s.height:t;n.width=Math.max(n.width,a),n.height=Math.max(n.height,s)}return r.remove(),n}}}),nve=e(()=>{"use strict";Zbe=class{constructor(e,t,i,n){this.axisConfig=e,this.title=t,this.textDimensionCalculator=i,this.axisThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=Line truncated
`+e);let u=Cye(t),d=u.append("g").attr("class","main"),p=d.append("rect").attr("width",a.width).attr("height",a.height).attr("class","background"),g=(rh(u,a.height,a.width,!0),u.attr("viewBox",`0 0 ${a.width} `+a.height),p.attr("fill",s.backgroundColor),r.setTmpSVGG(u.append("g").attr("class","mermaid-tmp-group")),r.getDrawableElem()),f={};function m(t){let i=d,n="";for(var[r]of t.entries()){let e=d;0<r&&f[n]&&(e=f[n]),n+=t[r],i=(i=f[n])||(f[n]=e.append("g").attr("class",t[r]))}return i}mt(m,"getGroup");for(var y of g)if(0!==y.data.length){var b=m(y.groupTexts);switch(y.type){case"rect":if(b.selectAll("rect").data(y.data).enter().append("rect").attr("x",e=>e.x).attr("y",e=>e.y).attr("width",e=>e.width).attr("height",e=>e.height).attr("fill",e=>e.fill).attr("stroke",e=>e.strokeFill).attr("stroke-width",e=>e.strokeWidth),a.showDataLabel)if("horizontal"===a.chartOrientation){let n=function(e,t){var{data:e,label:i}=e;return t*i.length*.7<=e.width-10};n,mt(n,"fitsHorizontally");var v=y.data.map((e,t)=>({data:e,label:o[t].toString()})).filter(e=>0<e.data.width&&0<e.data.height),x=v.map(e=>{let t=e["data"],i=.7*t.height;for(;!n(e,i)&&0<i;)--i;return i}),x=Math.floor(Math.min(...x));b.selectAll("text").data(v).enter().append("text").attr("x",e=>e.data.x+e.data.width-10).attr("y",e=>e.data.y+e.data.height/2).attr("text-anchor","end").attr("dominant-baseline","middle").attr("fill","black").attr("font-size",x+"px").text(e=>e.label)}else{let r=function(e,t,i){var{data:e,label:n}=e,n=t*n.length*.7,r=e.x+e.width/2,r=r-n/2>=e.x&&r+n/2<=e.x+e.width,n=e.y+i+t<=e.y+e.height;return r&&n};r,mt(r,"fitsInBar");var v=y.data.map((e,t)=>({data:e,label:o[t].toString()})).filter(e=>0<e.data.width&&0<e.data.height),x=v.map(e=>{let{data:t,label:i}=e,n=t.width/(.7*i.length);for(;!r(e,n,10)&&0<n;)--n;return n}),w=Math.floor(Math.min(...x));b.selectAll("text").data(v).enter().append("text").attr("x",e=>e.data.x+e.data.width/2).attr("y",e=>e.data.y+10).attr("text-anchor","middle").attr("dominant-baseline","hanging").attr("fill","black").attr("font-size",w+"px").text(e=>e.label)}break;case"text":b.selectAll("text").data(y.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",e=>e.fill).attr("font-size",e=>e.fontSize).attr("dominant-baseline",e=>l(e.verticalPos)).attr("text-anchor",e=>c(e.horizontalPos)).attr("transform",e=>h(e)).text(e=>e.text);break;case"path":b.selectAll("path").data(y.data).enter().append("path").attr("d",e=>e.path).attr("fill",e=>e.fill||"none").attr("stroke",e=>e.strokeFill).attr("stroke-width",e=>e.strokeWidth)}}},"draw"),Jve={draw:Qve}}),i2e={};G(i2e,{diagram:()=>n2e});var n2e,r2e,s2e,a2e,o2e,l2e,c2e=e(()=>{"use strict";Vbe(),e2e(),t2e(),n2e={parser:Wbe,db:Zve,renderer:Jve}}),h2e=e(()=>{"use strict";function O(){this.yy={}}var e,t,i,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y,b,v,x,w,k,T,S,C,_,P,B,F,j,z,U,H,q,W,G,A,V,Y,X,K,Z,Q,J,ee,te,ie,E,ne,re,$,L,R,M,I,N,D,se,ae,oe,le;e=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),t=[1,3],i=[1,4],n=[1,5],r=[1,6],s=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],a=[1,22],o=[2,7],l=[1,26],c=[1,27],h=[1,28],u=[1,29],d=[1,33],p=[1,34],g=[1,35],f=[1,36],m=[1,37],y=[1,38],b=[1,24],v=[1,31],x=[1,32],w=[1,30],k=[1,39],T=[1,40],S=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],C=[1,61],_=[89,90],P=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],B=[27,29],F=[1,70],j=[1,71],z=[1,72],U=[1,73],H=[1,74],q=[1,75],W=[1,76],G=[1,83],A=[1,80],V=[1,84],Y=[1,85],X=[1,86],K=[1,87],Z=[1,88],Q=[1,89],J=[1,90],ee=[1,91],te=[1,92],ie=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],E=[63,64],ne=[1,101],re=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],$=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],L=[1,110],R=[1,106],M=[1,107],I=[1,108],N=[1,109],D=[1,111],se=[1,116],ae=[1,117],oe=[1,114],le=[1,115],t={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66, Line truncated `+e);let u=Cye(t),d=u.append("g").attr("class","main"),p=d.append("rect").attr("width",a.width).attr("height",a.height).attr("class","background"),g=(rh(u,a.height,a.width,!0),u.attr("viewBox",`0 0 ${a.width} `+a.height),p.attr("fill",s.backgroundColor),r.setTmpSVGG(u.append("g").attr("class","mermaid-tmp-group")),r.getDrawableElem()),f={};function m(t){let i=d,n="";for(var[r]of t.entries()){let e=d;0<r&&f[n]&&(e=f[n]),n+=t[r],i=(i=f[n])||(f[n]=e.append("g").attr("class",t[r]))}return i}mt(m,"getGroup");for(var y of g)if(0!==y.data.length){var b=m(y.groupTexts);switch(y.type){case"rect":if(b.selectAll("rect").data(y.data).enter().append("rect").attr("x",e=>e.x).attr("y",e=>e.y).attr("width",e=>e.width).attr("height",e=>e.height).attr("fill",e=>e.fill).attr("stroke",e=>e.strokeFill).attr("stroke-width",e=>e.strokeWidth),a.showDataLabel)if("horizontal"===a.chartOrientation){let n=function(e,t){var{data:e,label:i}=e;return t*i.length*.7<=e.width-10};n,mt(n,"fitsHorizontally");var v=y.data.map((e,t)=>({data:e,label:o[t].toString()})).filter(e=>0<e.data.width&&0<e.data.height),x=v.map(e=>{let t=e["data"],i=.7*t.height;for(;!n(e,i)&&0<i;)--i;return i}),x=Math.floor(Math.min(...x));b.selectAll("text").data(v).enter().append("text").attr("x",e=>e.data.x+e.data.width-10).attr("y",e=>e.data.y+e.data.height/2).attr("text-anchor","end").attr("dominant-baseline","middle").attr("fill","black").attr("font-size",x+"px").text(e=>e.label)}else{let r=function(e,t,i){var{data:e,label:n}=e,n=t*n.length*.7,r=e.x+e.width/2,r=r-n/2>=e.x&&r+n/2<=e.x+e.width,n=e.y+i+t<=e.y+e.height;return r&&n};r,mt(r,"fitsInBar");var v=y.data.map((e,t)=>({data:e,label:o[t].toString()})).filter(e=>0<e.data.width&&0<e.data.height),x=v.map(e=>{let{data:t,label:i}=e,n=t.width/(.7*i.length);for(;!r(e,n,10)&&0<n;)--n;return n}),w=Math.floor(Math.min(...x));b.selectAll("text").data(v).enter().append("text").attr("x",e=>e.data.x+e.data.width/2).attr("y",e=>e.data.y+10).attr("text-anchor","middle").attr("dominant-baseline","hanging").attr("fill","black").attr("font-size",w+"px").text(e=>e.label)}break;case"text":b.selectAll("text").data(y.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",e=>e.fill).attr("font-size",e=>e.fontSize).attr("dominant-baseline",e=>l(e.verticalPos)).attr("text-anchor",e=>c(e.horizontalPos)).attr("transform",e=>h(e)).text(e=>e.text);break;case"path":b.selectAll("path").data(y.data).enter().append("path").attr("d",e=>e.path).attr("fill",e=>e.fill||"none").attr("stroke",e=>e.strokeFill).attr("stroke-width",e=>e.strokeWidth)}}},"draw"),Jve={draw:Zve}}),i2e={};G(i2e,{diagram:()=>n2e});var n2e,r2e,s2e,a2e,o2e,l2e,c2e=e(()=>{"use strict";Vbe(),e2e(),t2e(),n2e={parser:Wbe,db:Qve,renderer:Jve}}),h2e=e(()=>{"use strict";function O(){this.yy={}}var e,t,i,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y,b,v,x,w,k,T,S,C,_,P,B,F,j,z,U,H,q,W,G,A,V,Y,X,K,Q,Z,J,ee,te,ie,E,ne,re,$,L,R,M,I,N,D,se,ae,oe,le;e=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),t=[1,3],i=[1,4],n=[1,5],r=[1,6],s=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],a=[1,22],o=[2,7],l=[1,26],c=[1,27],h=[1,28],u=[1,29],d=[1,33],p=[1,34],g=[1,35],f=[1,36],m=[1,37],y=[1,38],b=[1,24],v=[1,31],x=[1,32],w=[1,30],k=[1,39],T=[1,40],S=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],C=[1,61],_=[89,90],P=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],B=[27,29],F=[1,70],j=[1,71],z=[1,72],U=[1,73],H=[1,74],q=[1,75],W=[1,76],G=[1,83],A=[1,80],V=[1,84],Y=[1,85],X=[1,86],K=[1,87],Q=[1,88],Z=[1,89],J=[1,90],ee=[1,91],te=[1,92],ie=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],E=[63,64],ne=[1,101],re=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],$=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],L=[1,110],R=[1,106],M=[1,107],I=[1,108],N=[1,109],D=[1,111],se=[1,116],ae=[1,117],oe=[1,114],le=[1,115],t={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66, Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},s={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},s={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
@@ -1268,7 +1268,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
background-color: ${e.edgeLabelBackground}; background-color: ${e.edgeLabelBackground};
} }
`,"getStyles"),l2e=o2e}),p2e={};G(p2e,{draw:()=>g2e});var g2e,f2e=e(()=>{"use strict";_u(),t(),QN(),ZK(),QK(),s_(),g2e=mt(async function(e,t,i,n){I.info("REF0:"),I.info("Drawing requirement diagram (unified)",t);var{securityLevel:r,state:s,layout:a}=N(),o=n.db.getData(),r=FN(t,r);o.type=n.type,o.layoutAlgorithm=DK(a),o.nodeSpacing=s?.nodeSpacing??50,o.rankSpacing=s?.rankSpacing??50,o.markers=["requirement_contains","requirement_arrow"],o.diagramId=t,await NK(o,r);t_.insertTitle(r,"requirementDiagramTitleText",s?.titleTopMargin??25,n.db.getDiagramTitle()),OK(r,8,"requirementDiagram",s?.useMaxWidth??!0)},"draw")}),m2e={};G(m2e,{diagram:()=>y2e});var y2e,b2e,v2e,x2e,w2e,k2e,T2e,S2e,C2e,_2e,A2e,E2e,$2e,L2e,R2e,M2e,I2e,N2e,D2e,O2e,P2e,B2e,F2e,j2e,z2e,U2e,H2e,q2e,W2e,G2e,V2e,Y2e,X2e,K2e,Z2e,Q2e,J2e,e4e,t4e,i4e,n4e=e(()=>{"use strict";h2e(),u2e(),d2e(),f2e(),y2e={parser:s2e,get db(){return new a2e},renderer:p2e,styles:l2e}}),r4e=e(()=>{"use strict";function O(){this.yy={}}var e,t,i,P,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y,b,v,x,w,k,T,S,C,_,A,E,$,L,R,M,I,B,F,j,z,U,N,D;e=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),t=[1,2],i=[1,3],P=[1,4],n=[2,4],r=[1,9],s=[1,11],a=[1,13],o=[1,14],l=[1,16],c=[1,17],h=[1,18],u=[1,24],d=[1,25],p=[1,26],g=[1,27],f=[1,28],m=[1,29],y=[1,30],b=[1,31],v=[1,32],x=[1,33],w=[1,34],k=[1,35],T=[1,36],S=[1,37],C=[1,38],_=[1,39],A=[1,41],E=[1,42],$=[1,43],L=[1,44],R=[1,45],M=[1,46],I=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],B=[4,5,16,50,52,53],F=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],j=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],z=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],U=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],N=[68,69,70],D=[1,122],t={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,BIDIRECTIONAL_SOLID_ARROW:74,DOTTED_ARROW:75,BIDIRECTIONAL_DOTTED_ARROW:76,SOLID_CROSS:77,DOTTED_CROSS:78,SOLID_POINT:79,DOTTED_POINT:80,TXT:81,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"BIDIRECTIONAL_SOLID_ARROW",75:"DOTTED_ARROW",76:"BIDIRECTIONAL_DOTTED_ARROW",77:"SOLID_CROSS",78:"DOTTED_CROSS",79:"SOLID_POINT",80:"DOTTED_POINT",81:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 3:return n.apply(s[o]),s[o];case 4:case 9:this.$=[];break;case 5:case 10:s[o-1].push(s[o]),this.$=s[o-1];break;case 6:case 7:case 11:case 12:this.$=s[o];break;case 8:case 13:this.$=[];break;case 15:s[o].type="createParticipant",this.$=s[o];break;case 16:s[o-1].unshift({type:"boxStart",boxData:n.parseBoxData(s[o-2])}),s[o-1].push({type:"boxEnd",boxText:s[o-2]}),this.$=s[o-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(s[o-2]),sequenceIndexStep:Number(s[o-1]),sequenceVisible:!0,signalType:n.LINE Line truncated `,"getStyles"),l2e=o2e}),p2e={};G(p2e,{draw:()=>g2e});var g2e,f2e=e(()=>{"use strict";_u(),t(),ZN(),QK(),ZK(),s_(),g2e=mt(async function(e,t,i,n){I.info("REF0:"),I.info("Drawing requirement diagram (unified)",t);var{securityLevel:r,state:s,layout:a}=N(),o=n.db.getData(),r=FN(t,r);o.type=n.type,o.layoutAlgorithm=DK(a),o.nodeSpacing=s?.nodeSpacing??50,o.rankSpacing=s?.rankSpacing??50,o.markers=["requirement_contains","requirement_arrow"],o.diagramId=t,await NK(o,r);t_.insertTitle(r,"requirementDiagramTitleText",s?.titleTopMargin??25,n.db.getDiagramTitle()),OK(r,8,"requirementDiagram",s?.useMaxWidth??!0)},"draw")}),m2e={};G(m2e,{diagram:()=>y2e});var y2e,b2e,v2e,x2e,w2e,k2e,T2e,S2e,C2e,_2e,A2e,E2e,$2e,L2e,R2e,M2e,I2e,N2e,D2e,O2e,P2e,B2e,F2e,j2e,z2e,U2e,H2e,q2e,W2e,G2e,V2e,Y2e,X2e,K2e,Q2e,Z2e,J2e,e4e,t4e,i4e,n4e=e(()=>{"use strict";h2e(),u2e(),d2e(),f2e(),y2e={parser:s2e,get db(){return new a2e},renderer:p2e,styles:l2e}}),r4e=e(()=>{"use strict";function O(){this.yy={}}var e,t,i,P,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y,b,v,x,w,k,T,S,C,_,A,E,$,L,R,M,I,B,F,j,z,U,N,D;e=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),t=[1,2],i=[1,3],P=[1,4],n=[2,4],r=[1,9],s=[1,11],a=[1,13],o=[1,14],l=[1,16],c=[1,17],h=[1,18],u=[1,24],d=[1,25],p=[1,26],g=[1,27],f=[1,28],m=[1,29],y=[1,30],b=[1,31],v=[1,32],x=[1,33],w=[1,34],k=[1,35],T=[1,36],S=[1,37],C=[1,38],_=[1,39],A=[1,41],E=[1,42],$=[1,43],L=[1,44],R=[1,45],M=[1,46],I=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],B=[4,5,16,50,52,53],F=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],j=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],z=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],U=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],N=[68,69,70],D=[1,122],t={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,BIDIRECTIONAL_SOLID_ARROW:74,DOTTED_ARROW:75,BIDIRECTIONAL_DOTTED_ARROW:76,SOLID_CROSS:77,DOTTED_CROSS:78,SOLID_POINT:79,DOTTED_POINT:80,TXT:81,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"BIDIRECTIONAL_SOLID_ARROW",75:"DOTTED_ARROW",76:"BIDIRECTIONAL_DOTTED_ARROW",77:"SOLID_CROSS",78:"DOTTED_CROSS",79:"SOLID_POINT",80:"DOTTED_POINT",81:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 3:return n.apply(s[o]),s[o];case 4:case 9:this.$=[];break;case 5:case 10:s[o-1].push(s[o]),this.$=s[o-1];break;case 6:case 7:case 11:case 12:this.$=s[o];break;case 8:case 13:this.$=[];break;case 15:s[o].type="createParticipant",this.$=s[o];break;case 16:s[o-1].unshift({type:"boxStart",boxData:n.parseBoxData(s[o-2])}),s[o-1].push({type:"boxEnd",boxText:s[o-2]}),this.$=s[o-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(s[o-2]),sequenceIndexStep:Number(s[o-1]),sequenceVisible:!0,signalType:n.LINE Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},i={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},i={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
@@ -1389,12 +1389,12 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
fill: ${e.actorBkg}; fill: ${e.actorBkg};
stroke-width: 2px; stroke-width: 2px;
} }
`,"getStyles"),C2e=S2e}),o4e=e(()=>{"use strict";function t(e,t,i,n,r,s,a){g(t.append("text").attr("x",i).attr("y",n).style("text-anchor","start").text(e),a)}function l(e,t,i,n,r,s,a,o){var{actorFontSize:l,actorFontFamily:c,actorFontWeight:h}=o,u=e.split($.lineBreakRegex);for(let e=0;e<u.length;e++){var d=e*l-l*(u.length-1)/2,p=t.append("text").attr("x",i).attr("y",n).style("text-anchor","start").style("font-size",l).style("font-weight",h).style("font-family",c);p.append("tspan").attr("x",i).attr("dy",d).text(u[e]),p.attr("y",n+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),g(p,a)}}function i(e,t,i,n,r,s,a,o){t=t.append("switch"),r=t.append("foreignObject").attr("x",i).attr("y",n).attr("width",r).attr("height",s).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");r.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(e),l(e,t,i,n,0,s,a,o),g(r,a)}function g(e,t){for(var i in t)t.hasOwnProperty(i)&&e.attr(i,t[i])}function n(e,t,i,n,r,s,a){f(t.append("text").attr("x",i+r/2).attr("y",n+s/2+5).style("text-anchor","middle").text(e),a)}function c(e,t,i,n,r,s,a,o){var{actorFontSize:o,actorFontFamily:l,actorFontWeight:c}=o,[h,u]=e_(o),d=e.split($.lineBreakRegex);for(let e=0;e<d.length;e++){var p=e*h-h*(d.length-1)/2,g=t.append("text").attr("x",i+r/2).attr("y",n).style("text-anchor","middle").style("font-size",u).style("font-weight",c).style("font-family",l);g.append("tspan").attr("x",i+r/2).attr("dy",p).text(d[e]),g.attr("y",n+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),f(g,a)}}function r(e,t,i,n,r,s,a,o){var t=t.append("switch"),l=t.append("foreignObject").attr("x",i).attr("y",n).attr("width",r).attr("height",s).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");l.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(e),c(e,t,i,n,r,s,a,o),f(l,a)}async function s(e,t,i,n,r,s,a,o){var l=await eh(e,Ii()),t=t.append("switch"),l=t.append("foreignObject").attr("x",i+r/2-l.width/2).attr("y",n+s/2-l.height/2).attr("width",l.width).attr("height",l.height).append("xhtml:div").style("height","100%").style("width","100%");l.append("div").style("text-align","center").style("vertical-align","middle").html(await th(e,Ii())),c(e,t,i,n,r,s,a,o),f(l,a)}function f(e,t){for(var i in t)t.hasOwnProperty(i)&&e.attr(i,t[i])}hh(),c6(),s_(),_2e=ie(l6(),1),Mn(),A2e=36,E2e="actor-bottom",$2e=mt(function(e,t){return _w(e,t)},"drawRect"),L2e=mt(function(e,t,i,n,r){if(void 0===t.links||null===t.links||0===Object.keys(t.links).length)return{height:0,width:0};var s=t.links,a=t.actorCnt,o=t.rectData,t="none",l=(r&&(t="block !important"),e.append("g")),r=(l.attr("id","actor"+a+"_popup"),l.attr("class","actorPopupMenu"),l.attr("display",t),""),c=(void 0!==o.class&&(r=" "+o.class),o.width>i?o.width:i),e=l.append("rect");if(e.attr("class","actorPopupMenuPanel"+r),e.attr("x",o.x),e.attr("y",o.height),e.attr("fill",o.fill),e.attr("stroke",o.stroke),e.attr("width",c),e.attr("height",o.height),e.attr("rx",o.rx),e.attr("ry",o.ry),null!=s){var h,u=20;for(h in s){var d=l.append("a"),p=(0,_2e.sanitizeUrl)(s[h]);d.attr("xlink:href",p),d.attr("target","_blank"),t4e(n)(h,d,o.x+10,o.height+u,c,20,{class:"actor"},n),u+=30}}return e.attr("height",u),{height:o.height+u,width:c}},"drawPopup"),R2e=mt(function(e){return"var pu = document.getElementById('"+e+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),M2e=mt(async function(n,r,s=null){var a=n.append("foreignObject"),o=await th(r.text,Ii()),o=a.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(o).node().getBoundingClientRect();if(a.attr("height",Math.round(o.height)).attr("width",Math.round(o.width)),"noteText"===r.class){var n=n.node().firstChild,n=(n.setAttribute("height",o.height+2*r.textMargin),n.getBBox());a.attr("x",Math.round(n.x+n.width/2-o.width/2)).attr("y",Math.round(n.y+n.height/2-o.height/2))}else if(s){let{startx:e,stopx:t,starty:i}=s;e>t&&(n=e,e=t,t=n),a.attr("x",Math.round(e+Math.abs(e-t)/2-o.width/2)),"loopText"===r.class?a.attr("y",Math.round(i)):a.attr("y",Math.round(i-o.height))}return[a]},"drawKatex"),I2e=mt(function(e,t){let i=0,n=0,r=t.text.split($.lineBreakRegex),[s,a]=e_(t.fontSize),o=[],l=0,c=mt(()=>t.y,"yfunc");if(void 0!==t.valign&&void 0!==t.textMargin&&0<t.textMargin)switch(t.valign){case"top":case"start":c=mt(()=>Math.round(t.y+t.textMargin),"yfunc");break;case"middle":case"center":c=mt(()=>Math.round(t.y+(i+n+t.textMargin)/2),"yfunc");break;case"bottom":case"end":c=mt(()=>Math.round(t.y+(i+n+2*t.textMargin)-t.textMargin),"yfunc")}if(void 0!==t.anchor&&void 0!==t.textMargin&&void 0!==t.width)switch(t.anchor){case"left":case"start":t.x=Math.round(t.x+t.textMargin),t.anchor="start",t.dominantBaseline="middle",t.align Line truncated `,"getStyles"),C2e=S2e}),o4e=e(()=>{"use strict";function t(e,t,i,n,r,s,a){g(t.append("text").attr("x",i).attr("y",n).style("text-anchor","start").text(e),a)}function l(e,t,i,n,r,s,a,o){var{actorFontSize:l,actorFontFamily:c,actorFontWeight:h}=o,u=e.split($.lineBreakRegex);for(let e=0;e<u.length;e++){var d=e*l-l*(u.length-1)/2,p=t.append("text").attr("x",i).attr("y",n).style("text-anchor","start").style("font-size",l).style("font-weight",h).style("font-family",c);p.append("tspan").attr("x",i).attr("dy",d).text(u[e]),p.attr("y",n+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),g(p,a)}}function i(e,t,i,n,r,s,a,o){t=t.append("switch"),r=t.append("foreignObject").attr("x",i).attr("y",n).attr("width",r).attr("height",s).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");r.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(e),l(e,t,i,n,0,s,a,o),g(r,a)}function g(e,t){for(var i in t)t.hasOwnProperty(i)&&e.attr(i,t[i])}function n(e,t,i,n,r,s,a){f(t.append("text").attr("x",i+r/2).attr("y",n+s/2+5).style("text-anchor","middle").text(e),a)}function c(e,t,i,n,r,s,a,o){var{actorFontSize:o,actorFontFamily:l,actorFontWeight:c}=o,[h,u]=e_(o),d=e.split($.lineBreakRegex);for(let e=0;e<d.length;e++){var p=e*h-h*(d.length-1)/2,g=t.append("text").attr("x",i+r/2).attr("y",n).style("text-anchor","middle").style("font-size",u).style("font-weight",c).style("font-family",l);g.append("tspan").attr("x",i+r/2).attr("dy",p).text(d[e]),g.attr("y",n+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),f(g,a)}}function r(e,t,i,n,r,s,a,o){var t=t.append("switch"),l=t.append("foreignObject").attr("x",i).attr("y",n).attr("width",r).attr("height",s).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");l.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(e),c(e,t,i,n,r,s,a,o),f(l,a)}async function s(e,t,i,n,r,s,a,o){var l=await eh(e,Ii()),t=t.append("switch"),l=t.append("foreignObject").attr("x",i+r/2-l.width/2).attr("y",n+s/2-l.height/2).attr("width",l.width).attr("height",l.height).append("xhtml:div").style("height","100%").style("width","100%");l.append("div").style("text-align","center").style("vertical-align","middle").html(await th(e,Ii())),c(e,t,i,n,r,s,a,o),f(l,a)}function f(e,t){for(var i in t)t.hasOwnProperty(i)&&e.attr(i,t[i])}hh(),c6(),s_(),_2e=ie(l6(),1),Mn(),A2e=36,E2e="actor-bottom",$2e=mt(function(e,t){return _w(e,t)},"drawRect"),L2e=mt(function(e,t,i,n,r){if(void 0===t.links||null===t.links||0===Object.keys(t.links).length)return{height:0,width:0};var s=t.links,a=t.actorCnt,o=t.rectData,t="none",l=(r&&(t="block !important"),e.append("g")),r=(l.attr("id","actor"+a+"_popup"),l.attr("class","actorPopupMenu"),l.attr("display",t),""),c=(void 0!==o.class&&(r=" "+o.class),o.width>i?o.width:i),e=l.append("rect");if(e.attr("class","actorPopupMenuPanel"+r),e.attr("x",o.x),e.attr("y",o.height),e.attr("fill",o.fill),e.attr("stroke",o.stroke),e.attr("width",c),e.attr("height",o.height),e.attr("rx",o.rx),e.attr("ry",o.ry),null!=s){var h,u=20;for(h in s){var d=l.append("a"),p=(0,_2e.sanitizeUrl)(s[h]);d.attr("xlink:href",p),d.attr("target","_blank"),t4e(n)(h,d,o.x+10,o.height+u,c,20,{class:"actor"},n),u+=30}}return e.attr("height",u),{height:o.height+u,width:c}},"drawPopup"),R2e=mt(function(e){return"var pu = document.getElementById('"+e+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),M2e=mt(async function(n,r,s=null){var a=n.append("foreignObject"),o=await th(r.text,Ii()),o=a.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(o).node().getBoundingClientRect();if(a.attr("height",Math.round(o.height)).attr("width",Math.round(o.width)),"noteText"===r.class){var n=n.node().firstChild,n=(n.setAttribute("height",o.height+2*r.textMargin),n.getBBox());a.attr("x",Math.round(n.x+n.width/2-o.width/2)).attr("y",Math.round(n.y+n.height/2-o.height/2))}else if(s){let{startx:e,stopx:t,starty:i}=s;e>t&&(n=e,e=t,t=n),a.attr("x",Math.round(e+Math.abs(e-t)/2-o.width/2)),"loopText"===r.class?a.attr("y",Math.round(i)):a.attr("y",Math.round(i-o.height))}return[a]},"drawKatex"),I2e=mt(function(e,t){let i=0,n=0,r=t.text.split($.lineBreakRegex),[s,a]=e_(t.fontSize),o=[],l=0,c=mt(()=>t.y,"yfunc");if(void 0!==t.valign&&void 0!==t.textMargin&&0<t.textMargin)switch(t.valign){case"top":case"start":c=mt(()=>Math.round(t.y+t.textMargin),"yfunc");break;case"middle":case"center":c=mt(()=>Math.round(t.y+(i+n+t.textMargin)/2),"yfunc");break;case"bottom":case"end":c=mt(()=>Math.round(t.y+(i+n+2*t.textMargin)-t.textMargin),"yfunc")}if(void 0!==t.anchor&&void 0!==t.textMargin&&void 0!==t.width)switch(t.anchor){case"left":case"start":t.x=Math.round(t.x+t.textMargin),t.anchor="start",t.dominantBaseline="middle",t.align Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},t={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},t={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:mt(function(e,t,i,n){switch(i){case 0:return 60;case 1:return 61;case 2:return 62;case 3:return 63;case 4:case 5:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 77;case 22:this.popState();break;case 23:return 78;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 80;case 28:return 55;case 29:return this.begin("namespace"),42;case 30:return this.popState(),8;case 31:break;case 32:return this.begin("namespace-body"),39;case 33:return this.popState(),41;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),46;case 39:return this.popState(),8;case 40:break;case 41:return this.popState(),this.popState(),41;case 42:return this.begin("class-body"),39;case 43:return this.popState(),41;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 81;case 50:return 73;case 51:return 74;case 52:return 76;case 53:return 52;case 54:return 54;case 55:return 47;case 56:return 48;case 57:return 79;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:case 65:case 66:case 67:return 75;case 68:case 69:return 67;case 70:case 71:return 69;case 72:return 68;case 73:return 66;case 74:return 70;case 75:return 71;case 76:return 72;case 77:return 22;case 78:return 44;case 79:return 99;case 80:return 17;case 81:return"PLUS";case 82:return 85;case 83:return 59;case 84:case 85:return 88;case 86:return 89;case 87:case 88:return"EQUALS";case 89:return 58;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 84;case 94:return 101;case 95:case 96:return 87;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\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\Line truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:mt(function(e,t,i,n){switch(i){case 0:return 60;case 1:return 61;case 2:return 62;case 3:return 63;case 4:case 5:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 77;case 22:this.popState();break;case 23:return 78;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 80;case 28:return 55;case 29:return this.begin("namespace"),42;case 30:return this.popState(),8;case 31:break;case 32:return this.begin("namespace-body"),39;case 33:return this.popState(),41;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),46;case 39:return this.popState(),8;case 40:break;case 41:return this.popState(),this.popState(),41;case 42:return this.begin("class-body"),39;case 43:return this.popState(),41;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 81;case 50:return 73;case 51:return 74;case 52:return 76;case 53:return 52;case 54:return 54;case 55:return 47;case 56:return 48;case 57:return 79;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:case 65:case 66:case 67:return 75;case 68:case 69:return 67;case 70:case 71:return 69;case 72:return 68;case 73:return 66;case 74:return 70;case 75:return 71;case 76:return 72;case 77:return 22;case 78:return 44;case 79:return 99;case 80:return 17;case 81:return"PLUS";case 82:return 85;case 83:return 59;case 84:case 85:return 88;case 86:return 89;case 87:case 88:return"EQUALS";case 89:return 58;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 84;case 94:return 101;case 95:case 96:return 87;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\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\Line truncated
fill: ${e.nodeBorder||e.classText}; fill: ${e.nodeBorder||e.classText};
stroke: none; stroke: none;
font-family: ${e.fontFamily}; font-family: ${e.fontFamily};
@@ -1553,12 +1553,12 @@ g.classGroup line {
fill: ${e.textColor}; fill: ${e.textColor};
} }
${GK()} ${GK()}
`,"getStyles"),U4e=z4e}),Q4e=e(()=>{"use strict";_u(),t(),QN(),ZK(),QK(),s_(),H4e=mt((e,t="TB")=>{if(!e.doc)return t;let i=t;for(var n of e.doc)"dir"===n.stmt&&(i=n.value);return i},"getDir"),q4e=mt(function(e,t){return t.db.getClasses()},"getClasses"),W4e=mt(async function(e,t,i,n){I.info("REF0:"),I.info("Drawing class diagram (v3)",t);var{securityLevel:r,state:s,layout:a}=N(),o=n.db.getData(),r=FN(t,r);o.type=n.type,o.layoutAlgorithm=DK(a),o.nodeSpacing=s?.nodeSpacing||50,o.rankSpacing=s?.rankSpacing||50,o.markers=["aggregation","extension","composition","dependency","lollipop"],o.diagramId=t,await NK(o,r);t_.insertTitle(r,"classDiagramTitleText",s?.titleTopMargin??25,n.db.getDiagramTitle()),OK(r,8,"classDiagram",s?.useMaxWidth??!0)},"draw"),G4e={getClasses:q4e,draw:W4e,getDir:H4e}}),J4e={};G(J4e,{diagram:()=>exe});var exe,txe=e(()=>{"use strict";Y4e(),K4e(),Z4e(),Q4e(),exe={parser:N4e,get db(){return new j4e},renderer:G4e,styles:U4e,init:mt(e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")}}),ixe={};G(ixe,{diagram:()=>nxe});var nxe,rxe,sxe,axe,oxe,lxe,cxe,hxe,uxe,dxe,pxe,gxe,fxe,mxe,yxe,bxe,vxe,xxe,wxe,kxe,Txe,Sxe,Cxe,_xe,Axe,Exe,$xe,Lxe,Rxe,Mxe,Ixe,Nxe,Dxe,Oxe,Pxe,Bxe,Fxe,jxe,zxe,Uxe,Hxe=e(()=>{"use strict";Y4e(),K4e(),Z4e(),Q4e(),nxe={parser:N4e,get db(){return new j4e},renderer:G4e,styles:U4e,init:mt(e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")}}),qxe=e(()=>{"use strict";function e(){this.yy={}}var t,i,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y,b,v,x,w,k,T,S,C,_,A,E,$,L,R,M;t=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),i=[1,2],n=[1,3],r=[1,4],s=[2,4],a=[1,9],o=[1,11],l=[1,16],c=[1,17],h=[1,18],u=[1,19],d=[1,33],p=[1,20],g=[1,21],f=[1,22],m=[1,23],y=[1,24],b=[1,26],v=[1,27],x=[1,28],w=[1,29],k=[1,30],T=[1,31],S=[1,32],C=[1,35],_=[1,36],A=[1,37],E=[1,38],$=[1,34],L=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],R=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],M=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"--\x3e":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"--\x3e",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 3:return n.setRootDoc(s[o]),s[o];case 4:this.$=[];break;case 5:"nl"!=s[o]&&(s[o-1].push(s[o]),this.$=s[o-1]);break;case 6:case 7:this.$=s[o];break;case 8:this.$="nl";break;case 12:this.$=s[o];break;case 13:var l=s[o-1];l.description=n.trimColon(s[o]),this.$=l;break;case 14:this.$={stmt:"relation",state1:s[o-2],state2:s[o]};break;case 15:l=n.trimColon(s[o]);this.$={stmt:"relation",state1:s[o-3],state2:s[o-1],description:l};break;case 19:this.$={stmt:"state",id:s[o-3],type:"default",description:"",doc:s[o-1]};break;case 20:var c,l=s[o],h=s[o-2].trim();s[o].match(":")&&(l=(c=s[o].split(":"))[0],h=[h,c[1]]),this.$={stmt:"state",id:l,type:"default",description:h};break;case 21:this.$={stmt:"state",id:s[o-3],type:"default",description:s[o-5],doc:s[o-1]};break;case 22:this.$={stmt:"state",id:s[o],type:"fork"};break;case 23:this.$={stmt:"state",id:s[o],type:"join"};break;case 24:this.$={stmt:"state",id:s[o],type:"cho Line truncated `,"getStyles"),U4e=z4e}),Z4e=e(()=>{"use strict";_u(),t(),ZN(),QK(),ZK(),s_(),H4e=mt((e,t="TB")=>{if(!e.doc)return t;let i=t;for(var n of e.doc)"dir"===n.stmt&&(i=n.value);return i},"getDir"),q4e=mt(function(e,t){return t.db.getClasses()},"getClasses"),W4e=mt(async function(e,t,i,n){I.info("REF0:"),I.info("Drawing class diagram (v3)",t);var{securityLevel:r,state:s,layout:a}=N(),o=n.db.getData(),r=FN(t,r);o.type=n.type,o.layoutAlgorithm=DK(a),o.nodeSpacing=s?.nodeSpacing||50,o.rankSpacing=s?.rankSpacing||50,o.markers=["aggregation","extension","composition","dependency","lollipop"],o.diagramId=t,await NK(o,r);t_.insertTitle(r,"classDiagramTitleText",s?.titleTopMargin??25,n.db.getDiagramTitle()),OK(r,8,"classDiagram",s?.useMaxWidth??!0)},"draw"),G4e={getClasses:q4e,draw:W4e,getDir:H4e}}),J4e={};G(J4e,{diagram:()=>exe});var exe,txe=e(()=>{"use strict";Y4e(),K4e(),Q4e(),Z4e(),exe={parser:N4e,get db(){return new j4e},renderer:G4e,styles:U4e,init:mt(e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")}}),ixe={};G(ixe,{diagram:()=>nxe});var nxe,rxe,sxe,axe,oxe,lxe,cxe,hxe,uxe,dxe,pxe,gxe,fxe,mxe,yxe,bxe,vxe,xxe,wxe,kxe,Txe,Sxe,Cxe,_xe,Axe,Exe,$xe,Lxe,Rxe,Mxe,Ixe,Nxe,Dxe,Oxe,Pxe,Bxe,Fxe,jxe,zxe,Uxe,Hxe=e(()=>{"use strict";Y4e(),K4e(),Q4e(),Z4e(),nxe={parser:N4e,get db(){return new j4e},renderer:G4e,styles:U4e,init:mt(e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")}}),qxe=e(()=>{"use strict";function e(){this.yy={}}var t,i,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y,b,v,x,w,k,T,S,C,_,A,E,$,L,R,M;t=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),i=[1,2],n=[1,3],r=[1,4],s=[2,4],a=[1,9],o=[1,11],l=[1,16],c=[1,17],h=[1,18],u=[1,19],d=[1,33],p=[1,20],g=[1,21],f=[1,22],m=[1,23],y=[1,24],b=[1,26],v=[1,27],x=[1,28],w=[1,29],k=[1,30],T=[1,31],S=[1,32],C=[1,35],_=[1,36],A=[1,37],E=[1,38],$=[1,34],L=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],R=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],M=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"--\x3e":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"--\x3e",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 3:return n.setRootDoc(s[o]),s[o];case 4:this.$=[];break;case 5:"nl"!=s[o]&&(s[o-1].push(s[o]),this.$=s[o-1]);break;case 6:case 7:this.$=s[o];break;case 8:this.$="nl";break;case 12:this.$=s[o];break;case 13:var l=s[o-1];l.description=n.trimColon(s[o]),this.$=l;break;case 14:this.$={stmt:"relation",state1:s[o-2],state2:s[o]};break;case 15:l=n.trimColon(s[o]);this.$={stmt:"relation",state1:s[o-3],state2:s[o-1],description:l};break;case 19:this.$={stmt:"state",id:s[o-3],type:"default",description:"",doc:s[o-1]};break;case 20:var c,l=s[o],h=s[o-2].trim();s[o].match(":")&&(l=(c=s[o].split(":"))[0],h=[h,c[1]]),this.$={stmt:"state",id:l,type:"default",description:h};break;case 21:this.$={stmt:"state",id:s[o-3],type:"default",description:s[o-5],doc:s[o-1]};break;case 22:this.$={stmt:"state",id:s[o],type:"fork"};break;case 23:this.$={stmt:"state",id:s[o],type:"join"};break;case 24:this.$={stmt:"state",id:s[o],type:"cho Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},n={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},n={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:case 9:break;case 10:return 5;case 11:case 12:case 13:case 14:break;case 15:return this.pushState("SCALE"),17;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;case 19:return this.popState(),"acc_title_value";case 20:return this.begin("acc_descr"),35;case 21:return this.popState(),"acc_descr_value";case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 27:return this.popState(),this.pushState("CLASSDEFID"),42;case 28:return this.popState(),43;case 29:return this.pushState("CLASS"),48;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;case 31:return this.popState(),50;case 32:return this.pushState("STYLE"),45;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 34:return this.popState(),47;case 35:return this.pushState("SCALE"),17;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),25;case 40:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),26;case 41:return this.popState(),t.yytext=t.yytext.slice(0,-10).trim(),27;case 42:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),25;case 43:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),26;case 44:return this.popState(),t.yytext=t.yytext.slice(0,-10).trim(),27;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";case 51:return this.popState(),"ID";case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;case 57:break;case 58:return this.popState(),21;case 59:break;case 60:return this.begin("NOTE"),29;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:return this.popState(),this.pushState("NOTE_ID"),60;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;case 69:return this.popState(),t.yytext=t.yytext.substr(2).trim(),31;case 70:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),31;case 71:case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return t.yytext=t.yytext.trim(),14;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b) Line truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:case 9:break;case 10:return 5;case 11:case 12:case 13:case 14:break;case 15:return this.pushState("SCALE"),17;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;case 19:return this.popState(),"acc_title_value";case 20:return this.begin("acc_descr"),35;case 21:return this.popState(),"acc_descr_value";case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 27:return this.popState(),this.pushState("CLASSDEFID"),42;case 28:return this.popState(),43;case 29:return this.pushState("CLASS"),48;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;case 31:return this.popState(),50;case 32:return this.pushState("STYLE"),45;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 34:return this.popState(),47;case 35:return this.pushState("SCALE"),17;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),25;case 40:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),26;case 41:return this.popState(),t.yytext=t.yytext.slice(0,-10).trim(),27;case 42:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),25;case 43:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),26;case 44:return this.popState(),t.yytext=t.yytext.slice(0,-10).trim(),27;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";case 51:return this.popState(),"ID";case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;case 57:break;case 58:return this.popState(),21;case 59:break;case 60:return this.begin("NOTE"),29;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:return this.popState(),this.pushState("NOTE_ID"),60;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;case 69:return this.popState(),t.yytext=t.yytext.substr(2).trim(),31;case 70:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),31;case 71:case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return t.yytext=t.yytext.trim(),14;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b) Line truncated
defs #statediagram-barbEnd { defs #statediagram-barbEnd {
fill: ${e.transitionColor}; fill: ${e.transitionColor};
stroke: ${e.transitionColor}; stroke: ${e.transitionColor};
@@ -1772,12 +1772,12 @@ g.stateGroup line {
font-size: 18px; font-size: 18px;
fill: ${e.textColor}; fill: ${e.textColor};
} }
`,"getStyles"),d3e=u3e}),P3e=e(()=>{"use strict";a6(),D3e(),s_(),hh(),_u(),t(),p3e=mt(e=>e.append("circle").attr("class","start-state").attr("r",N().state.sizeUnit).attr("cx",N().state.padding+N().state.sizeUnit).attr("cy",N().state.padding+N().state.sizeUnit),"drawStartState"),g3e=mt(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",N().state.textHeight).attr("class","divider").attr("x2",2*N().state.textHeight).attr("y1",0).attr("y2",0),"drawDivider"),f3e=mt((e,t)=>{var t=e.append("text").attr("x",2*N().state.padding).attr("y",N().state.textHeight+2*N().state.padding).attr("font-size",N().state.fontSize).attr("class","state-title").text(t.id),i=t.node().getBBox();return e.insert("rect",":first-child").attr("x",N().state.padding).attr("y",N().state.padding).attr("width",i.width+2*N().state.padding).attr("height",i.height+2*N().state.padding).attr("rx",N().state.radius),t},"drawSimpleState"),m3e=mt((e,t)=>{let i=mt(function(e,t,i){e=e.append("tspan").attr("x",2*N().state.padding).text(t);i||e.attr("dy",N().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*N().state.padding).attr("y",N().state.textHeight+1.3*N().state.padding).attr("font-size",N().state.fontSize).attr("class","state-title").text(t.descriptions[0]).node().getBBox(),r=n.height,s=e.append("text").attr("x",N().state.padding).attr("y",r+.4*N().state.padding+N().state.dividerMargin+N().state.textHeight).attr("class","state-description"),a=!0,o=!0;t.descriptions.forEach(function(e){a||(i(s,e,o),o=!1),a=!1});var t=e.append("line").attr("x1",N().state.padding).attr("y1",N().state.padding+r+N().state.dividerMargin/2).attr("y2",N().state.padding+r+N().state.dividerMargin/2).attr("class","descr-divider"),l=s.node().getBBox(),c=Math.max(l.width,n.width);return t.attr("x2",c+3*N().state.padding),e.insert("rect",":first-child").attr("x",N().state.padding).attr("y",N().state.padding).attr("width",c+2*N().state.padding).attr("height",l.height+r+2*N().state.padding).attr("rx",N().state.radius),e},"drawDescrState"),y3e=mt((e,t,i)=>{let n=N().state.padding,r=2*N().state.padding,s=e.node().getBBox(),a=s.width,o=s.x,l=e.append("text").attr("x",0).attr("y",N().state.titleShift).attr("font-size",N().state.fontSize).attr("class","state-title").text(t.id),c=l.node().getBBox().width+r,h=Math.max(c,a);h===a&&(h+=r);let u,d=e.node().getBBox();t.doc,u=o-n,a<c&&(u=(a-h)/2+n),Math.abs(o-d.x)<n&&a<c&&(u=o-(c-a)/2);t=1-N().state.textHeight;return e.insert("rect",":first-child").attr("x",u).attr("y",t).attr("class",i?"alt-composit":"composit").attr("width",h).attr("height",d.height+N().state.textHeight+N().state.titleShift+1).attr("rx","0"),l.attr("x",u+n),c<=a&&l.attr("x",o+(h-r)/2-c/2+n),e.insert("rect",":first-child").attr("x",u).attr("y",N().state.titleShift-N().state.textHeight-N().state.padding).attr("width",h).attr("height",3*N().state.textHeight).attr("rx",N().state.radius),e.insert("rect",":first-child").attr("x",u).attr("y",N().state.titleShift-N().state.textHeight-N().state.padding).attr("width",h).attr("height",d.height+3+2*N().state.textHeight).attr("rx",N().state.radius),e},"addTitleAndBox"),b3e=mt(e=>(e.append("circle").attr("class","end-state-outer").attr("r",N().state.sizeUnit+N().state.miniPadding).attr("cx",N().state.padding+N().state.sizeUnit+N().state.miniPadding).attr("cy",N().state.padding+N().state.sizeUnit+N().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",N().state.sizeUnit).attr("cx",N().state.padding+N().state.sizeUnit+2).attr("cy",N().state.padding+N().state.sizeUnit+2)),"drawEndState"),v3e=mt((e,t)=>{let i=N().state.forkWidth,n=N().state.forkHeight;return t.parentId&&(t=i,i=n,n=t),e.append("rect").style("stroke","black").style("fill","black").attr("width",i).attr("height",n).attr("x",N().state.padding).attr("y",N().state.padding)},"drawForkJoinState"),x3e=mt((e,t,i,n)=>{let r=0,s=n.append("text"),a=(s.style("text-anchor","start"),s.attr("class","noteText"),e.replace(/\r\n/g,"<br/>")),o=(a=a.replace(/\n/g,"<br/>")).split($.lineBreakRegex),l=1.25*N().state.noteMargin;for(var c of o){var h,c=c.trim();0<c.length&&((h=s.append("tspan")).text(c),0===l&&(c=h.node().getBBox(),l+=c.height),r+=l,h.attr("x",t+N().state.noteMargin),h.attr("y",i+r+1.25*N().state.noteMargin))}return{textWidth:s.node().getBBox().width,textHeight:r}},"_drawLongText"),w3e=mt((e,t)=>{t.attr("class","state-note");var i=t.append("rect").attr("x",0).attr("y",N().state.padding),t=t.append("g"),{textWidth:e,textHeight:t}=x3e(e,0,0,t);return i.attr("height",t+2*N().state.noteMargin),i.attr("width",e+2*N().state.noteMargin),i},"drawNote"),k3e=mt(function(e,t){var i=t.id,n={id:i,label:t.id,width:0,height:0},e=e.append("g").attr("id",i).attr("class","stateGroup"),i=("start"===t.type&&p3e(e),"end"===t.type&&b3e(e),"fork"!==t.type&&"join"!==t.type||v3e(e,t),"note"===t.type&&w3e(t.note.text,e),"divider"===t.type&&g3e(e),"default"===t.type&&0===t.descriptions.length&&f3e(e,t),"default"===t.type&&0<t.descriptions.length Line truncated `,"getStyles"),d3e=u3e}),P3e=e(()=>{"use strict";a6(),D3e(),s_(),hh(),_u(),t(),p3e=mt(e=>e.append("circle").attr("class","start-state").attr("r",N().state.sizeUnit).attr("cx",N().state.padding+N().state.sizeUnit).attr("cy",N().state.padding+N().state.sizeUnit),"drawStartState"),g3e=mt(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",N().state.textHeight).attr("class","divider").attr("x2",2*N().state.textHeight).attr("y1",0).attr("y2",0),"drawDivider"),f3e=mt((e,t)=>{var t=e.append("text").attr("x",2*N().state.padding).attr("y",N().state.textHeight+2*N().state.padding).attr("font-size",N().state.fontSize).attr("class","state-title").text(t.id),i=t.node().getBBox();return e.insert("rect",":first-child").attr("x",N().state.padding).attr("y",N().state.padding).attr("width",i.width+2*N().state.padding).attr("height",i.height+2*N().state.padding).attr("rx",N().state.radius),t},"drawSimpleState"),m3e=mt((e,t)=>{let i=mt(function(e,t,i){e=e.append("tspan").attr("x",2*N().state.padding).text(t);i||e.attr("dy",N().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*N().state.padding).attr("y",N().state.textHeight+1.3*N().state.padding).attr("font-size",N().state.fontSize).attr("class","state-title").text(t.descriptions[0]).node().getBBox(),r=n.height,s=e.append("text").attr("x",N().state.padding).attr("y",r+.4*N().state.padding+N().state.dividerMargin+N().state.textHeight).attr("class","state-description"),a=!0,o=!0;t.descriptions.forEach(function(e){a||(i(s,e,o),o=!1),a=!1});var t=e.append("line").attr("x1",N().state.padding).attr("y1",N().state.padding+r+N().state.dividerMargin/2).attr("y2",N().state.padding+r+N().state.dividerMargin/2).attr("class","descr-divider"),l=s.node().getBBox(),c=Math.max(l.width,n.width);return t.attr("x2",c+3*N().state.padding),e.insert("rect",":first-child").attr("x",N().state.padding).attr("y",N().state.padding).attr("width",c+2*N().state.padding).attr("height",l.height+r+2*N().state.padding).attr("rx",N().state.radius),e},"drawDescrState"),y3e=mt((e,t,i)=>{let n=N().state.padding,r=2*N().state.padding,s=e.node().getBBox(),a=s.width,o=s.x,l=e.append("text").attr("x",0).attr("y",N().state.titleShift).attr("font-size",N().state.fontSize).attr("class","state-title").text(t.id),c=l.node().getBBox().width+r,h=Math.max(c,a);h===a&&(h+=r);let u,d=e.node().getBBox();t.doc,u=o-n,a<c&&(u=(a-h)/2+n),Math.abs(o-d.x)<n&&a<c&&(u=o-(c-a)/2);t=1-N().state.textHeight;return e.insert("rect",":first-child").attr("x",u).attr("y",t).attr("class",i?"alt-composit":"composit").attr("width",h).attr("height",d.height+N().state.textHeight+N().state.titleShift+1).attr("rx","0"),l.attr("x",u+n),c<=a&&l.attr("x",o+(h-r)/2-c/2+n),e.insert("rect",":first-child").attr("x",u).attr("y",N().state.titleShift-N().state.textHeight-N().state.padding).attr("width",h).attr("height",3*N().state.textHeight).attr("rx",N().state.radius),e.insert("rect",":first-child").attr("x",u).attr("y",N().state.titleShift-N().state.textHeight-N().state.padding).attr("width",h).attr("height",d.height+3+2*N().state.textHeight).attr("rx",N().state.radius),e},"addTitleAndBox"),b3e=mt(e=>(e.append("circle").attr("class","end-state-outer").attr("r",N().state.sizeUnit+N().state.miniPadding).attr("cx",N().state.padding+N().state.sizeUnit+N().state.miniPadding).attr("cy",N().state.padding+N().state.sizeUnit+N().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",N().state.sizeUnit).attr("cx",N().state.padding+N().state.sizeUnit+2).attr("cy",N().state.padding+N().state.sizeUnit+2)),"drawEndState"),v3e=mt((e,t)=>{let i=N().state.forkWidth,n=N().state.forkHeight;return t.parentId&&(t=i,i=n,n=t),e.append("rect").style("stroke","black").style("fill","black").attr("width",i).attr("height",n).attr("x",N().state.padding).attr("y",N().state.padding)},"drawForkJoinState"),x3e=mt((e,t,i,n)=>{let r=0,s=n.append("text"),a=(s.style("text-anchor","start"),s.attr("class","noteText"),e.replace(/\r\n/g,"<br/>")),o=(a=a.replace(/\n/g,"<br/>")).split($.lineBreakRegex),l=1.25*N().state.noteMargin;for(var c of o){var h,c=c.trim();0<c.length&&((h=s.append("tspan")).text(c),0===l&&(c=h.node().getBBox(),l+=c.height),r+=l,h.attr("x",t+N().state.noteMargin),h.attr("y",i+r+1.25*N().state.noteMargin))}return{textWidth:s.node().getBBox().width,textHeight:r}},"_drawLongText"),w3e=mt((e,t)=>{t.attr("class","state-note");var i=t.append("rect").attr("x",0).attr("y",N().state.padding),t=t.append("g"),{textWidth:e,textHeight:t}=x3e(e,0,0,t);return i.attr("height",t+2*N().state.noteMargin),i.attr("width",e+2*N().state.noteMargin),i},"drawNote"),k3e=mt(function(e,t){var i=t.id,n={id:i,label:t.id,width:0,height:0},e=e.append("g").attr("id",i).attr("class","stateGroup"),i=("start"===t.type&&p3e(e),"end"===t.type&&b3e(e),"fork"!==t.type&&"join"!==t.type||v3e(e,t),"note"===t.type&&w3e(t.note.text,e),"divider"===t.type&&g3e(e),"default"===t.type&&0===t.descriptions.length&&f3e(e,t),"default"===t.type&&0<t.descriptions.length Line truncated
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:case 1:break;case 2:return 10;case 3:case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}},n.lexer=r,mt(e,"Parser"),(q3e=new((e.prototype=n).Parser=e)).parser=q3e,W3e=q3e}),k5e=e(()=>{"use strict";_u(),Cu(),G3e="",V3e=[],Y3e=[],X3e=[],K3e=mt(function(){V3e.length=0,Y3e.length=0,G3e="",X3e.length=0,bh()},"clear"),Z3e=mt(function(e){G3e=e,V3e.push(e)},"addSection"),Q3e=mt(function(){return V3e},"getSections"),J3e=mt(function(){let e=n5e(),t=0;for(;!e&&t<100;)e=n5e(),t++;return Y3e.push(...X3e),Y3e},"getTasks"),e5e=mt(function(){let t=[];return Y3e.forEach(e=>{e.people&&t.push(...e.people)}),[...new Set(t)].sort()},"updateActors"),t5e=mt(function(e,t){let i=t.substr(1).split(":"),n=0,r=[];t=(r=1===i.length?(n=Number(i[0]),[]):(n=Number(i[0]),i[1].split(","))).map(e=>e.trim()),t={section:G3e,type:G3e,people:t,task:e,score:n};X3e.push(t)},"addTask"),i5e=mt(function(e){e={section:G3e,type:G3e,description:e,task:e,classes:[]};Y3e.push(e)},"addTaskOrg"),n5e=mt(function(){let e=mt(function(e){return X3e[e].processed},"compileTask"),t=!0;for(var[i,n]of X3e.entries())e(i),t=t&&n.processed;return t},"compileTasks"),r5e=mt(function(){return e5e()},"getActors"),s5e={getConfig:mt(()=>N().journey,"getConfig"),clear:K3e,setDiagramTitle:Th,getDiagramTitle:Sh,setAccTitle:vh,getAccTitle:xh,setAccDescription:wh,getAccDescription:kh,addSection:Z3e,getSections:Q3e,getTasks:J3e,addTask:t5e,addTaskOrg:i5e,getActors:r5e}}),T5e=e(()=>{"use strict";iZ(),a5e=mt(e=>`.label { `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:case 1:break;case 2:return 10;case 3:case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}},n.lexer=r,mt(e,"Parser"),(q3e=new((e.prototype=n).Parser=e)).parser=q3e,W3e=q3e}),k5e=e(()=>{"use strict";_u(),Cu(),G3e="",V3e=[],Y3e=[],X3e=[],K3e=mt(function(){V3e.length=0,Y3e.length=0,G3e="",X3e.length=0,bh()},"clear"),Q3e=mt(function(e){G3e=e,V3e.push(e)},"addSection"),Z3e=mt(function(){return V3e},"getSections"),J3e=mt(function(){let e=n5e(),t=0;for(;!e&&t<100;)e=n5e(),t++;return Y3e.push(...X3e),Y3e},"getTasks"),e5e=mt(function(){let t=[];return Y3e.forEach(e=>{e.people&&t.push(...e.people)}),[...new Set(t)].sort()},"updateActors"),t5e=mt(function(e,t){let i=t.substr(1).split(":"),n=0,r=[];t=(r=1===i.length?(n=Number(i[0]),[]):(n=Number(i[0]),i[1].split(","))).map(e=>e.trim()),t={section:G3e,type:G3e,people:t,task:e,score:n};X3e.push(t)},"addTask"),i5e=mt(function(e){e={section:G3e,type:G3e,description:e,task:e,classes:[]};Y3e.push(e)},"addTaskOrg"),n5e=mt(function(){let e=mt(function(e){return X3e[e].processed},"compileTask"),t=!0;for(var[i,n]of X3e.entries())e(i),t=t&&n.processed;return t},"compileTasks"),r5e=mt(function(){return e5e()},"getActors"),s5e={getConfig:mt(()=>N().journey,"getConfig"),clear:K3e,setDiagramTitle:Th,getDiagramTitle:Sh,setAccTitle:vh,getAccTitle:xh,setAccDescription:wh,getAccDescription:kh,addSection:Q3e,getSections:Z3e,getTasks:J3e,addTask:t5e,addTaskOrg:i5e,getActors:r5e}}),T5e=e(()=>{"use strict";iQ(),a5e=mt(e=>`.label {
font-family: ${e.fontFamily}; font-family: ${e.fontFamily};
color: ${e.textColor}; color: ${e.textColor};
} }
@@ -1915,7 +1915,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},r={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:case 1:break;case 2:return 10;case 3:case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}},n.lexer=r,mt(e,"Parser"),(j5e=new((e.prototype=n).Parser=e)).parser=j5e,z5e=j5e}),q5e={};G(q5e,{addEvent:()=>iwe,addSection:()=>Q5e,addTask:()=>twe,addTaskOrg:()=>nwe,clear:()=>Z5e,default:()=>swe,getCommonDb:()=>K5e,getSections:()=>J5e,getTasks:()=>ewe});var W5e,G5e,V5e,Y5e,X5e,K5e,Z5e,Q5e,J5e,ewe,twe,iwe,nwe,rwe,swe,awe=e(()=>{"use strict";Cu(),W5e="",G5e=0,V5e=[],Y5e=[],X5e=[],K5e=mt(()=>ph,"getCommonDb"),Z5e=mt(function(){V5e.length=0,Y5e.length=0,W5e="",X5e.length=0,bh()},"clear"),Q5e=mt(function(e){W5e=e,V5e.push(e)},"addSection"),J5e=mt(function(){return V5e},"getSections"),ewe=mt(function(){let e=rwe(),t=0;for(;!e&&t<100;)e=rwe(),t++;return Y5e.push(...X5e),Y5e},"getTasks"),twe=mt(function(e,t,i){e={id:G5e++,section:W5e,type:W5e,task:e,score:t||0,events:i?[i]:[]};X5e.push(e)},"addTask"),iwe=mt(function(e){X5e.find(e=>e.id===G5e-1).events.push(e)},"addEvent"),nwe=mt(function(e){e={section:W5e,type:W5e,description:e,task:e,classes:[]};Y5e.push(e)},"addTaskOrg"),rwe=mt(function(){let e=mt(function(e){return X5e[e].processed},"compileTask"),t=!0;for(var[i,n]of X5e.entries())e(i),t=t&&n.processed;return t},"compileTasks"),swe={clear:Z5e,getCommonDb:K5e,addSection:Q5e,getSections:J5e,getTasks:ewe,addTask:twe,addTaskOrg:nwe,addEvent:iwe}});function owe(e,o){e.each(function(){var t,i=V(this),n=i.text().split(/(\s+|<br>)/).reverse(),r=[],s=i.attr("y"),e=parseFloat(i.attr("dy")),a=i.text(null).append("tspan").attr("x",0).attr("y",s).attr("dy",e+"em");for(let e=0;e<n.length;e++)t=n[n.length-1-e],r.push(t),a.text(r.join(" ").trim()),(a.node().getComputedTextLength()>o||"<br>"===t)&&(r.pop(),a.text(r.join(" ").trim()),r="<br>"===t?[""]:[t],a=i.append("tspan").attr("x",0).attr("y",s).attr("dy","1.1em").text(t))})}var lwe,cwe,hwe,uwe,dwe,pwe,gwe,fwe,mwe,ywe,bwe,vwe,xwe,wwe,kwe,Twe,Swe,Cwe,_we,Awe,Ewe,$we,Lwe,Rwe,Mwe=e(()=>{"use strict";function t(e,t,i,n,r,s,a,o){g(t.append("text").attr("x",i+r/2).attr("y",n+s/2+5).style("font-color",o).style("text-anchor","middle").text(e),a)}function c(e,t,i,n,r,s,a,o,l){var{taskFontSize:c,taskFontFamily:h}=o,u=e.split(/<br\s*\/?>/gi);for(let e=0;e<u.length;e++){var d=e*c-c*(u.length-1)/2,p=t.append("text").attr("x",i+r/2).attr("y",n).attr("fill",l).style("text-anchor","middle").style("font-size",c).style("font-family",h);p.append("tspan").attr("x",i+r/2).attr("dy",d).text(u[e]),p.attr("y",n+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),g(p,a)}}function i(e,t,i,n,r,s,a,o){var t=t.append("switch"),l=t.append("foreignObject").attr("x",i).attr("y",n).attr("width",r).attr("height",s).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");l.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(e),c(e,t,i,n,r,s,a,o),g(l,a)}function g(e,t){for(var i in t)i in t&&e.attr(i,t[i])}a6(),lwe=mt(function(e,t){e=e.append("rect");return e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t Line truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:case 1:break;case 2:return 10;case 3:case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}},n.lexer=r,mt(e,"Parser"),(j5e=new((e.prototype=n).Parser=e)).parser=j5e,z5e=j5e}),q5e={};G(q5e,{addEvent:()=>iwe,addSection:()=>Z5e,addTask:()=>twe,addTaskOrg:()=>nwe,clear:()=>Q5e,default:()=>swe,getCommonDb:()=>K5e,getSections:()=>J5e,getTasks:()=>ewe});var W5e,G5e,V5e,Y5e,X5e,K5e,Q5e,Z5e,J5e,ewe,twe,iwe,nwe,rwe,swe,awe=e(()=>{"use strict";Cu(),W5e="",G5e=0,V5e=[],Y5e=[],X5e=[],K5e=mt(()=>ph,"getCommonDb"),Q5e=mt(function(){V5e.length=0,Y5e.length=0,W5e="",X5e.length=0,bh()},"clear"),Z5e=mt(function(e){W5e=e,V5e.push(e)},"addSection"),J5e=mt(function(){return V5e},"getSections"),ewe=mt(function(){let e=rwe(),t=0;for(;!e&&t<100;)e=rwe(),t++;return Y5e.push(...X5e),Y5e},"getTasks"),twe=mt(function(e,t,i){e={id:G5e++,section:W5e,type:W5e,task:e,score:t||0,events:i?[i]:[]};X5e.push(e)},"addTask"),iwe=mt(function(e){X5e.find(e=>e.id===G5e-1).events.push(e)},"addEvent"),nwe=mt(function(e){e={section:W5e,type:W5e,description:e,task:e,classes:[]};Y5e.push(e)},"addTaskOrg"),rwe=mt(function(){let e=mt(function(e){return X5e[e].processed},"compileTask"),t=!0;for(var[i,n]of X5e.entries())e(i),t=t&&n.processed;return t},"compileTasks"),swe={clear:Q5e,getCommonDb:K5e,addSection:Z5e,getSections:J5e,getTasks:ewe,addTask:twe,addTaskOrg:nwe,addEvent:iwe}});function owe(e,o){e.each(function(){var t,i=V(this),n=i.text().split(/(\s+|<br>)/).reverse(),r=[],s=i.attr("y"),e=parseFloat(i.attr("dy")),a=i.text(null).append("tspan").attr("x",0).attr("y",s).attr("dy",e+"em");for(let e=0;e<n.length;e++)t=n[n.length-1-e],r.push(t),a.text(r.join(" ").trim()),(a.node().getComputedTextLength()>o||"<br>"===t)&&(r.pop(),a.text(r.join(" ").trim()),r="<br>"===t?[""]:[t],a=i.append("tspan").attr("x",0).attr("y",s).attr("dy","1.1em").text(t))})}var lwe,cwe,hwe,uwe,dwe,pwe,gwe,fwe,mwe,ywe,bwe,vwe,xwe,wwe,kwe,Twe,Swe,Cwe,_we,Awe,Ewe,$we,Lwe,Rwe,Mwe=e(()=>{"use strict";function t(e,t,i,n,r,s,a,o){g(t.append("text").attr("x",i+r/2).attr("y",n+s/2+5).style("font-color",o).style("text-anchor","middle").text(e),a)}function c(e,t,i,n,r,s,a,o,l){var{taskFontSize:c,taskFontFamily:h}=o,u=e.split(/<br\s*\/?>/gi);for(let e=0;e<u.length;e++){var d=e*c-c*(u.length-1)/2,p=t.append("text").attr("x",i+r/2).attr("y",n).attr("fill",l).style("text-anchor","middle").style("font-size",c).style("font-family",h);p.append("tspan").attr("x",i+r/2).attr("dy",d).text(u[e]),p.attr("y",n+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),g(p,a)}}function i(e,t,i,n,r,s,a,o){var t=t.append("switch"),l=t.append("foreignObject").attr("x",i).attr("y",n).attr("width",r).attr("height",s).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");l.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(e),c(e,t,i,n,r,s,a,o),g(l,a)}function g(e,t){for(var i in t)i in t&&e.attr(i,t[i])}a6(),lwe=mt(function(e,t){e=e.append("rect");return e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t Line truncated
.section-${e-1} rect, .section-${e-1} path, .section-${e-1} circle, .section-${e-1} path { .section-${e-1} rect, .section-${e-1} path, .section-${e-1} circle, .section-${e-1} path {
fill: ${t["cScale"+e]}; fill: ${t["cScale"+e]};
} }
@@ -1975,13 +1975,13 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},c={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},c={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:return e.getLogger().trace("Found comment",t.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:e.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return e.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:e.getLogger().trace("end icon"),this.popState();break;case 10:return e.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return e.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return e.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return e.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:case 15:case 16:case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:e.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return e.getLogger().trace("description:",t.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),e.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),e.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),e.getLogger().trace("node end ...",t.yytext),"NODE_DEND";case 30:return this.popState(),e.getLogger().trace("node end (("),"NODE_DEND";case 31:case 32:return this.popState(),e.getLogger().trace("node end (-"),"NODE_DEND";case 33:case 34:return this.popState(),e.getLogger().trace("node end (("),"NODE_DEND";case 35:case 36:return e.getLogger().trace("Long description:",t.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}},i.lexer=c,mt(e,"Parser"),(Pwe=new((e.prototype=i).Parser=e)).parser=Pwe,Bwe=Pwe}),Hwe=e(()=>{"use strict";_u(),hh(),t(),Ln(),Fwe={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},jwe=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=Fwe,this.clear(),this.getType=this.getType.bind(this),this.getMindmap=this.getMindmap.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}static{mt(this,"MindmapDB")}clear(){this.nodes=[],this.count=0,this.elements={}}getParent(t){for(let e=this.nodes.length-1;0<=e;e--)if(this.nodes[e].level<t)return this.nodes[e];return null}getMindmap(){return 0<this.nodes.length?this.nodes[0]:null}addNode(e,t,i,n){I.info("addNode",e,t,i,n);let r=N(),s=r.mindmap?.padding??vi.mindmap.padding;switch(n){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:s*=2}t={id:this.count++,nodeId:Pc(t,r),level:e,descr:Pc(i,r),type:n,children:[],width:r.mindmap?.maxNodeWidth??vi.mindmap.maxNodeWidth,padding:s},i=this.getParent(e);if(i)i.children.push(t);else if(0!==this.nodes.length)throw new Error(`There can be only one root. No parent could be found for ("${t.descr}")`);this.nodes.push(t)}getType(e,t){switch(I.debug("In get type",e,t),e){case"[":return this.nodeType.RECT;case"(":return")"===t?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;caseLine truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:return e.getLogger().trace("Found comment",t.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:e.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return e.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:e.getLogger().trace("end icon"),this.popState();break;case 10:return e.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return e.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return e.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return e.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:case 15:case 16:case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:e.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return e.getLogger().trace("description:",t.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),e.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),e.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),e.getLogger().trace("node end ...",t.yytext),"NODE_DEND";case 30:return this.popState(),e.getLogger().trace("node end (("),"NODE_DEND";case 31:case 32:return this.popState(),e.getLogger().trace("node end (-"),"NODE_DEND";case 33:case 34:return this.popState(),e.getLogger().trace("node end (("),"NODE_DEND";case 35:case 36:return e.getLogger().trace("Long description:",t.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}},i.lexer=c,mt(e,"Parser"),(Pwe=new((e.prototype=i).Parser=e)).parser=Pwe,Bwe=Pwe}),Hwe=e(()=>{"use strict";_u(),hh(),t(),Ln(),Fwe={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},jwe=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=Fwe,this.clear(),this.getType=this.getType.bind(this),this.getMindmap=this.getMindmap.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}static{mt(this,"MindmapDB")}clear(){this.nodes=[],this.count=0,this.elements={}}getParent(t){for(let e=this.nodes.length-1;0<=e;e--)if(this.nodes[e].level<t)return this.nodes[e];return null}getMindmap(){return 0<this.nodes.length?this.nodes[0]:null}addNode(e,t,i,n){I.info("addNode",e,t,i,n);let r=N(),s=r.mindmap?.padding??vi.mindmap.padding;switch(n){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:s*=2}t={id:this.count++,nodeId:Pc(t,r),level:e,descr:Pc(i,r),type:n,children:[],width:r.mindmap?.maxNodeWidth??vi.mindmap.maxNodeWidth,padding:s},i=this.getParent(e);if(i)i.children.push(t);else if(0!==this.nodes.length)throw new Error(`There can be only one root. No parent could be found for ("${t.descr}")`);this.nodes.push(t)}getType(e,t){switch(I.debug("In get type",e,t),e){case"[":return this.nodeType.RECT;case"(":return")"===t?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;caseLine truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function r6e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function r6e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function s6e(e,t){var i,n,r,s,a=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a)return n=!(i=!0),{s:mt(function(){a=a.call(e)},"s"),n:mt(function(){var e=a.next();return i=e.done,e},"n"),e:mt(function(e){n=!0,r=e},"e"),f:mt(function(){try{i||null==a.return||a.return()}finally{if(n)throw r}},"f")};if(Array.isArray(e)||(a=t6e(e))||t&&e&&"number"==typeof e.length)return a&&(e=a),s=0,{s:t=mt(function(){},"F"),n:mt(function(){return s>=e.length?{done:!0}:{done:!1,value:e[s++]}},"n"),e:mt(function(e){throw e},"e"),f:t};throw new TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function s6e(e,t){var i,n,r,s,a=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a)return n=!(i=!0),{s:mt(function(){a=a.call(e)},"s"),n:mt(function(){var e=a.next();return i=e.done,e},"n"),e:mt(function(e){n=!0,r=e},"e"),f:mt(function(){try{i||null==a.return||a.return()}finally{if(n)throw r}},"f")};if(Array.isArray(e)||(a=t6e(e))||t&&e&&"number"==typeof e.length)return a&&(e=a),s=0,{s:t=mt(function(){},"F"),n:mt(function(){return s>=e.length?{done:!0}:{done:!1,value:e[s++]}},"n"),e:mt(function(e){throw e},"e"),f:t};throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function a6e(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function o6e(e,t){return e(t={exports:{}},t.exports),t.exports}function l6e(e){for(var t=e.length;t--&&P7e.test(e.charAt(t)););return t}function c6e(e){return e&&e.slice(0,B7e(e)+1).replace(F7e,"")}function h6e(e){var t=z7e.call(e,H7e),i=e[H7e];try{var n=!(e[H7e]=void 0)}catch{}var r=U7e.call(e);return n&&(t?e[H7e]=i:delete e[H7e]),r}function u6e(e){return W7e.call(e)}function d6e(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":(V7e&&V7e in Object(e)?q7e:G7e)(e)}function p6e(e){return null!=e&&"object"==typeof e}function g6e(e){return"symbol"==typeof e||X7e(e)&&"[object Symbol]"==Y7e(e)}function f6e(e){if("number"==typeof e)return e;if(K7e(e))return Z7e;if(I7e(e)&&(t="function"==typeof e.valueOf?e.valueOf():e,e=I7e(t)?t+"":t),"string"!=typeof e)return 0===e?e:+e;e=j7e(e);var t=J7e.test(e);return t||eTe.test(e)?tTe(e.slice(2),t?2:8):Q7e.test(e)?Z7e:+e}function m6e(n,i,e){var r,s,a,o,l,c,h=0,t=!1,u=!1,d=!0;if("function"!=typeof n)throw new TypeError("Expected a function");function p(e){var t=r,i=s;return r=s=void 0,h=e,o=n.apply(i,t)}function g(e){return h=e,l=setTimeout(y,i),t?p(e):o}function f(e){var t=i-(e-c);return u?rTe(t,a-(e-h)):t}function m(e){var t=e-c;return void 0===c||i<=t||t<0||u&&a<=e-h}function y(){var e=O7e();if(m(e))return b(e);l=setTimeout(y,f(e))}function b(e){return l=void 0,d&&r?p(e):(r=s=void 0,o)}function v(){void 0!==l&&clearTimeout(l),r=c=s=l=void(h=0)}function x(){return void 0===l?o:b(O7e())}function w(){var e=O7e(),t=m(e);if(r=arguments,s=this,c=e,t){if(void 0===l)return g(c);if(u)return clearTimeout(l),l=setTimeout(y,i),p(c)}return void 0===l&&(l=setTimeout(y,i)),o}return i=iTe(i)||0,I7e(e)&&(t=!!e.leading,u="maxWait"in e,a=u?nTe(iTe(e.maxWait)||0,i):a,d="trailing"in e?!!e.trailing:d),mt(p,"invokeFunc"),mt(g,"leadingEdge"),mt(f,"remainingWait"),mt(m,"shouldInvoke"),mt(y,"timerExpired"),mt(b,"trailingEdge"),mt(v,"cancel"),mt(x,"flush"),mt(w,"debounced"),w.cancel=v,w.flush=x,w}function y6e(e,t,i,n,r,s){var a=Jke(e)?e:LCe[e]||LCe.euclidean;return 0===t&&Jke(e)?a(r,s):a(t,i,n,r,s)}function b6e(e,t){var i;return!m_e(e)&&(!("number"!=(i=typeof e)&&"symbol"!=i&&"boolean"!=i&&null!=e&&!K7e(e))||b_e.test(e)||!y_e.test(e)||null!=t&&e in Object(t))}function v6e(e){return!!I7e(e)&&("[object Function]"==(e=Y7e(e))||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e)}function x6e(e){return!!w_e&&w_e in e}function w6e(e){if(null!=e){try{return T_e.call(e)}catch{}try{return e+""}catch{}}return""}function k6e(e){return!(!I7e(e)||k_e(e))&&(x_e(e)?__e:C_e).test(S_e(e))}function T6e(e,t){return e?.[t]}function S6e(e,t){e=E_e(e,t);return A_e(e)?e:void 0}function C6e(){this.__data__=L_e?L_e(null):{},this.size=0}function _6e(e){e=this.has(e)&&delete this.__data__[e];return this.size-=e?1:0,e}function A6e(e){var t,i=this.__data__;return L_e?"__lodash_hash_undefined__"===(t=i[e])?void 0:t:R_e.call(i,e)?i[e]:void 0}function E6e(e){var t=this.__data__;return L_e?void 0!==t[e]:M_e.call(t,e)}function $6e(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=L_e&&void 0===t?"__lodash_hash_undefined__":t,this}function L6e(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function R6e(){this.__data__=[],this.size=0}function M6e(e,t){return e===t||e!=e&&t!=t}function I6e(e,t){for(var i=e.length;i--;)if(N_e(e[i][0],t))return i;return-1}function N6e(e){var t=this.__data__,e=D_e(t,e);return!(e<0||(e==t.length-1?t.pop():O_e.call(t,e,1),--this.size,0))}function D6e(e){var t=this.__data__,e=D_e(t,e);return e<0?void 0:t[e][1]}function O6e(e){return-1<D_e(this.__data__,e)}function P6e(e,t){var i=this.__data__,n=D_e(i,e);return n<0?(++this.size,i.push([e,t])):i[n][1]=t,this}function B6e(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function F6e(){this.size=0,this.__data__={hash:new I_e,map:new(B_e||P_e),string:new I_e}}function j6e(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function z6e(e,t){e=e.__data__;return F_e(t)?e["string"==typeof t?"string":"hash"]:e.map}function U6e(e){e=j_e(this,e).delete(e);return this.size-=e?1:0,e}function H6e(e){return j_e(this,e).get(e)}function q6e(e){return j_e(this,e).has(e)}function W6e(e,t){var i=j_e(this,e),n=i.size;return i.set(e,t),this.size+=i.size==n?0:1,this}function G6e(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function V6e(n,r){if("function"!=typeof n||null!=r&&"function"!=typeof r)throw new TypeError(U_e);var s=mt(function(){var e=arguments,t=r?r.apply(this,e):e[0],i=s.cache;return i.has(t)?i.get(t):(e=n.apply(this,e),s.cache=i.set(t,e)||i,e)},"memoized");return s.cache=new(V6e.Cache||z_e),s}function Y6e(e){var e=H_e(e,function(e){return 500===t.size&&t.clear(),e}),t=e.cache Line truncated In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function a6e(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function o6e(e,t){return e(t={exports:{}},t.exports),t.exports}function l6e(e){for(var t=e.length;t--&&P7e.test(e.charAt(t)););return t}function c6e(e){return e&&e.slice(0,B7e(e)+1).replace(F7e,"")}function h6e(e){var t=z7e.call(e,H7e),i=e[H7e];try{var n=!(e[H7e]=void 0)}catch{}var r=U7e.call(e);return n&&(t?e[H7e]=i:delete e[H7e]),r}function u6e(e){return W7e.call(e)}function d6e(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":(V7e&&V7e in Object(e)?q7e:G7e)(e)}function p6e(e){return null!=e&&"object"==typeof e}function g6e(e){return"symbol"==typeof e||X7e(e)&&"[object Symbol]"==Y7e(e)}function f6e(e){if("number"==typeof e)return e;if(K7e(e))return Q7e;if(I7e(e)&&(t="function"==typeof e.valueOf?e.valueOf():e,e=I7e(t)?t+"":t),"string"!=typeof e)return 0===e?e:+e;e=j7e(e);var t=J7e.test(e);return t||eTe.test(e)?tTe(e.slice(2),t?2:8):Z7e.test(e)?Q7e:+e}function m6e(n,i,e){var r,s,a,o,l,c,h=0,t=!1,u=!1,d=!0;if("function"!=typeof n)throw new TypeError("Expected a function");function p(e){var t=r,i=s;return r=s=void 0,h=e,o=n.apply(i,t)}function g(e){return h=e,l=setTimeout(y,i),t?p(e):o}function f(e){var t=i-(e-c);return u?rTe(t,a-(e-h)):t}function m(e){var t=e-c;return void 0===c||i<=t||t<0||u&&a<=e-h}function y(){var e=O7e();if(m(e))return b(e);l=setTimeout(y,f(e))}function b(e){return l=void 0,d&&r?p(e):(r=s=void 0,o)}function v(){void 0!==l&&clearTimeout(l),r=c=s=l=void(h=0)}function x(){return void 0===l?o:b(O7e())}function w(){var e=O7e(),t=m(e);if(r=arguments,s=this,c=e,t){if(void 0===l)return g(c);if(u)return clearTimeout(l),l=setTimeout(y,i),p(c)}return void 0===l&&(l=setTimeout(y,i)),o}return i=iTe(i)||0,I7e(e)&&(t=!!e.leading,u="maxWait"in e,a=u?nTe(iTe(e.maxWait)||0,i):a,d="trailing"in e?!!e.trailing:d),mt(p,"invokeFunc"),mt(g,"leadingEdge"),mt(f,"remainingWait"),mt(m,"shouldInvoke"),mt(y,"timerExpired"),mt(b,"trailingEdge"),mt(v,"cancel"),mt(x,"flush"),mt(w,"debounced"),w.cancel=v,w.flush=x,w}function y6e(e,t,i,n,r,s){var a=Jke(e)?e:LCe[e]||LCe.euclidean;return 0===t&&Jke(e)?a(r,s):a(t,i,n,r,s)}function b6e(e,t){var i;return!m_e(e)&&(!("number"!=(i=typeof e)&&"symbol"!=i&&"boolean"!=i&&null!=e&&!K7e(e))||b_e.test(e)||!y_e.test(e)||null!=t&&e in Object(t))}function v6e(e){return!!I7e(e)&&("[object Function]"==(e=Y7e(e))||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e)}function x6e(e){return!!w_e&&w_e in e}function w6e(e){if(null!=e){try{return T_e.call(e)}catch{}try{return e+""}catch{}}return""}function k6e(e){return!(!I7e(e)||k_e(e))&&(x_e(e)?__e:C_e).test(S_e(e))}function T6e(e,t){return e?.[t]}function S6e(e,t){e=E_e(e,t);return A_e(e)?e:void 0}function C6e(){this.__data__=L_e?L_e(null):{},this.size=0}function _6e(e){e=this.has(e)&&delete this.__data__[e];return this.size-=e?1:0,e}function A6e(e){var t,i=this.__data__;return L_e?"__lodash_hash_undefined__"===(t=i[e])?void 0:t:R_e.call(i,e)?i[e]:void 0}function E6e(e){var t=this.__data__;return L_e?void 0!==t[e]:M_e.call(t,e)}function $6e(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=L_e&&void 0===t?"__lodash_hash_undefined__":t,this}function L6e(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function R6e(){this.__data__=[],this.size=0}function M6e(e,t){return e===t||e!=e&&t!=t}function I6e(e,t){for(var i=e.length;i--;)if(N_e(e[i][0],t))return i;return-1}function N6e(e){var t=this.__data__,e=D_e(t,e);return!(e<0||(e==t.length-1?t.pop():O_e.call(t,e,1),--this.size,0))}function D6e(e){var t=this.__data__,e=D_e(t,e);return e<0?void 0:t[e][1]}function O6e(e){return-1<D_e(this.__data__,e)}function P6e(e,t){var i=this.__data__,n=D_e(i,e);return n<0?(++this.size,i.push([e,t])):i[n][1]=t,this}function B6e(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function F6e(){this.size=0,this.__data__={hash:new I_e,map:new(B_e||P_e),string:new I_e}}function j6e(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function z6e(e,t){e=e.__data__;return F_e(t)?e["string"==typeof t?"string":"hash"]:e.map}function U6e(e){e=j_e(this,e).delete(e);return this.size-=e?1:0,e}function H6e(e){return j_e(this,e).get(e)}function q6e(e){return j_e(this,e).has(e)}function W6e(e,t){var i=j_e(this,e),n=i.size;return i.set(e,t),this.size+=i.size==n?0:1,this}function G6e(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function V6e(n,r){if("function"!=typeof n||null!=r&&"function"!=typeof r)throw new TypeError(U_e);var s=mt(function(){var e=arguments,t=r?r.apply(this,e):e[0],i=s.cache;return i.has(t)?i.get(t):(e=n.apply(this,e),s.cache=i.set(t,e)||i,e)},"memoized");return s.cache=new(V6e.Cache||z_e),s}function Y6e(e){var e=H_e(e,function(e){return 500===t.size&&t.clear(),e}),t=e.cache Line truncated
`),l=e.pstyle("text-max-width").pfValue,c="anywhere"===e.pstyle("text-overflow-wrap").value,h=[],u=/[\s\u200b]+|$/g,d=0;d<o.length;d++){var p=o[d],g=this.calculateLabelDimensions(e,p).width;if(c&&(p=p.split("").join("​")),l<g){var f,m="",y=0,b=s6e(p.matchAll(u));try{for(b.s();!(f=b.n()).done;){var v=f.value,x=v[0],w=p.substring(y,v.index),y=v.index+x.length,k=0===m.length?w:m+w+x;this.calculateLabelDimensions(e,k).width<=l?m+=w+x:(m&&h.push(m),m=w+x)}}catch(e){b.e(e)}finally{b.f()}m.match(/^[\s\u200b]+$/)||h.push(m)}else h.push(p)}s("labelWrapCachedLines",h),t=s("labelWrapCachedText",h.join(` `),l=e.pstyle("text-max-width").pfValue,c="anywhere"===e.pstyle("text-overflow-wrap").value,h=[],u=/[\s\u200b]+|$/g,d=0;d<o.length;d++){var p=o[d],g=this.calculateLabelDimensions(e,p).width;if(c&&(p=p.split("").join("​")),l<g){var f,m="",y=0,b=s6e(p.matchAll(u));try{for(b.s();!(f=b.n()).done;){var v=f.value,x=v[0],w=p.substring(y,v.index),y=v.index+x.length,k=0===m.length?w:m+w+x;this.calculateLabelDimensions(e,k).width<=l?m+=w+x:(m&&h.push(m),m=w+x)}}catch(e){b.e(e)}finally{b.f()}m.match(/^[\s\u200b]+$/)||h.push(m)}else h.push(p)}s("labelWrapCachedLines",h),t=s("labelWrapCachedText",h.join(`
`)),s("labelWrapKey",a)}else if("ellipsis"===r){var T=e.pstyle("text-max-width").pfValue,S="",C=!1;if(this.calculateLabelDimensions(e,t).width<T)return t;for(var _=0;_<t.length;_++){if(T<this.calculateLabelDimensions(e,S+t[_]+"…").width)break;S+=t[_],_===t.length-1&&(C=!0)}return C||(S+="…"),S}return t},QEe.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,i=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(i){case"left":return"right";case"right":return"left";default:return"center"}},QEe.calculateLabelDimensions=function(e,t){var i=this.cy.window().document,n=bTe(t,e._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),s=r[n];if(null!=s)return s;var s=e.pstyle("font-style").strValue,a=e.pstyle("font-size").pfValue,o=e.pstyle("font-family").strValue,e=e.pstyle("font-weight").strValue,l=this.labelCalcCanvas,c=this.labelCalcCanvasContext;l||(l=this.labelCalcCanvas=i.createElement("canvas"),c=this.labelCalcCanvasContext=l.getContext("2d"),(i=l.style).position="absolute",i.left="-9999px",i.top="-9999px",i.zIndex="-1",i.visibility="hidden",i.pointerEvents="none"),c.font="".concat(s," ").concat(e," ").concat(a,"px ").concat(o);for(var h=0,u=0,d=t.split(` `)),s("labelWrapKey",a)}else if("ellipsis"===r){var T=e.pstyle("text-max-width").pfValue,S="",C=!1;if(this.calculateLabelDimensions(e,t).width<T)return t;for(var _=0;_<t.length;_++){if(T<this.calculateLabelDimensions(e,S+t[_]+"…").width)break;S+=t[_],_===t.length-1&&(C=!0)}return C||(S+="…"),S}return t},ZEe.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,i=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(i){case"left":return"right";case"right":return"left";default:return"center"}},ZEe.calculateLabelDimensions=function(e,t){var i=this.cy.window().document,n=bTe(t,e._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),s=r[n];if(null!=s)return s;var s=e.pstyle("font-style").strValue,a=e.pstyle("font-size").pfValue,o=e.pstyle("font-family").strValue,e=e.pstyle("font-weight").strValue,l=this.labelCalcCanvas,c=this.labelCalcCanvasContext;l||(l=this.labelCalcCanvas=i.createElement("canvas"),c=this.labelCalcCanvasContext=l.getContext("2d"),(i=l.style).position="absolute",i.left="-9999px",i.top="-9999px",i.zIndex="-1",i.visibility="hidden",i.pointerEvents="none"),c.font="".concat(s," ").concat(e," ").concat(a,"px ").concat(o);for(var h=0,u=0,d=t.split(`
`),p=0;p<d.length;p++){var g=d[p],g=c.measureText(g),g=Math.ceil(g.width),f=a,h=Math.max(g,h);u+=f}return r[n]={width:h+=0,height:u+=0}},QEe.calculateLabelAngle=function(e,t){var i=e._private.rscratch,n=e.isEdge(),e=e.pstyle((t?t+"-":"")+"text-rotation"),t=e.strValue;return"none"===t?0:n&&"autorotate"===t?i.labelAutoAngle:"autorotate"===t?0:e.pfValue},QEe.calculateLabelAngles=function(e){var t=e.isEdge(),i=e._private.rscratch;i.labelAngle=this.calculateLabelAngle(e),t&&(i.sourceLabelAngle=this.calculateLabelAngle(e,"source"),i.targetLabelAngle=this.calculateLabelAngle(e,"target"))},_Ee=!28,AEe={},[VEe,YEe,XEe,KEe,ZEe,QEe,{getNodeShape:function(e){var t=e.pstyle("shape").value;return"cutrectangle"===t&&(e.width()<28||e.height()<28)?(_Ee||(RTe("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),_Ee=!0),"rectangle"):e.isParent()?"rectangle"===t||"roundrectangle"===t||"round-rectangle"===t||"cutrectangle"===t||"cut-rectangle"===t||"barrel"===t?t:"rectangle":"polygon"===t?(e=e.pstyle("shape-polygon-points").value,this.nodeShapes.makePolygon(e).name):t}},{registerCalculationListeners:function(){var a=this.cy,o=a.collection(),l=this,c=mt(function(e){var t=!(1<arguments.length&&void 0!==arguments[1])||arguments[1];if(o.merge(e),t)for(var i=0;i<e.length;i++){var n=e[i]._private.rstyle;n.clean=!1,n.cleanConnected=!1}},"enqueue"),e=(l.binder(a).on("bounds.* dirty.*",mt(function(e){e=e.target;c(e)},"onDirtyBounds")).on("style.* background.*",mt(function(e){e=e.target;c(e,!1)},"onDirtyStyle")),mt(function(e){if(e){var t=l.onUpdateEleCalcsFns;o.cleanStyle();for(var i=0;i<o.length;i++){var n=o[i],r=n._private.rstyle;n.isNode()&&!r.cleanConnected&&(c(n.connectedEdges()),r.cleanConnected=!0)}if(t)for(var s=0;s<t.length;s++)(0,t[s])(e,o);l.recalculateRenderedStyle(o),o=a.collection()}},"updateEleCalcs"));l.flushRenderedStyleQueue=function(){e(!0)},l.beforeRender(e,l.beforeRenderPriorities.eleCalcs)},onUpdateEleCalcs:function(e){(this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[]).push(e)},recalculateRenderedStyle:function(e,t){var i=mt(function(e){return e._private.rstyle.cleanConnected},"isCleanConnected"),n=[],r=[];if(!this.destroyed){void 0===t&&(t=!0);for(var s=0;s<e.length;s++){var a=e[s],o=a._private,l=o.rstyle;!a.isEdge()||i(a.source())&&i(a.target())||(l.clean=!1),t&&l.clean||a.removed()||"none"===a.pstyle("display").value||(("nodes"===o.group?r:n).push(a),l.clean=!0)}for(var c=0;c<r.length;c++){var h=r[c],u=h._private.rstyle,d=h.position();this.recalculateNodeLabelProjection(h),u.nodeX=d.x,u.nodeY=d.y,u.nodeW=h.pstyle("width").pfValue,u.nodeH=h.pstyle("height").pfValue}this.recalculateEdgeProjections(n);for(var p=0;p<n.length;p++){var g=n[p]._private,f=g.rstyle,g=g.rscratch;f.srcX=g.arrowStartX,f.srcY=g.arrowStartY,f.tgtX=g.arrowEndX,f.tgtY=g.arrowEndY,f.midX=g.midX,f.midY=g.midY,f.labelAngle=g.labelAngle,f.sourceLabelAngle=g.sourceLabelAngle,f.targetLabelAngle=g.targetLabelAngle}}}},{updateCachedGrabbedEles:function(){var e=this.cachedZSortedEles;if(e){e.drag=[],e.nondrag=[];for(var t=[],i=0;i<e.length;i++){var n=(r=e[i])._private.rscratch;(r.grabbed()&&!r.isParent()?t:n.inDragLayer?e.drag:e.nondrag).push(r)}for(i=0;i<t.length;i++){var r=t[i];e.drag.push(r)}}},invalidateCachedZSortedEles:function(){this.cachedZSortedEles=null},getCachedZSortedEles:function(e){var t;return e||!this.cachedZSortedEles?((t=this.cy.mutableElements().toArray()).sort(c9e),t.interactive=t.filter(function(e){return e.interactive()}),this.cachedZSortedEles=t,this.updateCachedGrabbedEles()):t=this.cachedZSortedEles,t}}].forEach(function(e){S7e(AEe,e)}),h$e={getCachedImage:function(e,t,i){var n,r=this.imageCache=this.imageCache||{},s=r[e];return s?(s.image.complete||s.image.addEventListener("load",i),s.image):((n=(s=r[e]=r[e]||{}).image=new Image).addEventListener("load",i),n.addEventListener("error",function(){n.error=!0}),"data:"!==e.substring(0,"data:".length).toLowerCase()&&(n.crossOrigin=t="null"===t?null:t),n.src=e,n)}},y$e={registerBinding:function(e,t,i,n){var r=Array.prototype.slice.apply(arguments,[1]);if(Array.isArray(e)){for(var s=[],a=0;a<e.length;a++){var o,l=e[a];void 0!==l&&(o=this.binder(l),s.push(o.on.apply(o,r)))}return s}return(o=this.binder(e)).on.apply(o,r)},binder:function(r){var s=this,e=s.cy.window(),a=r===e||r===e.document||r===e.document.body||d7e(r);if(null==s.supportsPassiveEvents){var t=!1;try{var i=Object.defineProperty({},"passive",{get:mt(function(){return t=!0},"get")});e.addEventListener("test",null,i)}catch{}s.supportsPassiveEvents=t}e=mt(function(e,t,i){var n=Array.prototype.slice.call(arguments);return a&&s.supportsPassiveEvents&&(n[2]={capture:i??!1,passive:!1,once:!1}),s.bindings.push({target:r,args:n}),(r.addEventListener||r.on).apply(r,n),this},"on");return{on:e,addEventListener:e,addListener:e,bind:e}},nodeIsDraggable:function(e){return e&&e.isNode()&&!e.locked()&&e.grabbable()},nodeIsGrabbable:function(e){return this.nodeIsDraggable(e)&&e.interactive()}, Line truncated `),p=0;p<d.length;p++){var g=d[p],g=c.measureText(g),g=Math.ceil(g.width),f=a,h=Math.max(g,h);u+=f}return r[n]={width:h+=0,height:u+=0}},ZEe.calculateLabelAngle=function(e,t){var i=e._private.rscratch,n=e.isEdge(),e=e.pstyle((t?t+"-":"")+"text-rotation"),t=e.strValue;return"none"===t?0:n&&"autorotate"===t?i.labelAutoAngle:"autorotate"===t?0:e.pfValue},ZEe.calculateLabelAngles=function(e){var t=e.isEdge(),i=e._private.rscratch;i.labelAngle=this.calculateLabelAngle(e),t&&(i.sourceLabelAngle=this.calculateLabelAngle(e,"source"),i.targetLabelAngle=this.calculateLabelAngle(e,"target"))},_Ee=!28,AEe={},[VEe,YEe,XEe,KEe,QEe,ZEe,{getNodeShape:function(e){var t=e.pstyle("shape").value;return"cutrectangle"===t&&(e.width()<28||e.height()<28)?(_Ee||(RTe("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),_Ee=!0),"rectangle"):e.isParent()?"rectangle"===t||"roundrectangle"===t||"round-rectangle"===t||"cutrectangle"===t||"cut-rectangle"===t||"barrel"===t?t:"rectangle":"polygon"===t?(e=e.pstyle("shape-polygon-points").value,this.nodeShapes.makePolygon(e).name):t}},{registerCalculationListeners:function(){var a=this.cy,o=a.collection(),l=this,c=mt(function(e){var t=!(1<arguments.length&&void 0!==arguments[1])||arguments[1];if(o.merge(e),t)for(var i=0;i<e.length;i++){var n=e[i]._private.rstyle;n.clean=!1,n.cleanConnected=!1}},"enqueue"),e=(l.binder(a).on("bounds.* dirty.*",mt(function(e){e=e.target;c(e)},"onDirtyBounds")).on("style.* background.*",mt(function(e){e=e.target;c(e,!1)},"onDirtyStyle")),mt(function(e){if(e){var t=l.onUpdateEleCalcsFns;o.cleanStyle();for(var i=0;i<o.length;i++){var n=o[i],r=n._private.rstyle;n.isNode()&&!r.cleanConnected&&(c(n.connectedEdges()),r.cleanConnected=!0)}if(t)for(var s=0;s<t.length;s++)(0,t[s])(e,o);l.recalculateRenderedStyle(o),o=a.collection()}},"updateEleCalcs"));l.flushRenderedStyleQueue=function(){e(!0)},l.beforeRender(e,l.beforeRenderPriorities.eleCalcs)},onUpdateEleCalcs:function(e){(this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[]).push(e)},recalculateRenderedStyle:function(e,t){var i=mt(function(e){return e._private.rstyle.cleanConnected},"isCleanConnected"),n=[],r=[];if(!this.destroyed){void 0===t&&(t=!0);for(var s=0;s<e.length;s++){var a=e[s],o=a._private,l=o.rstyle;!a.isEdge()||i(a.source())&&i(a.target())||(l.clean=!1),t&&l.clean||a.removed()||"none"===a.pstyle("display").value||(("nodes"===o.group?r:n).push(a),l.clean=!0)}for(var c=0;c<r.length;c++){var h=r[c],u=h._private.rstyle,d=h.position();this.recalculateNodeLabelProjection(h),u.nodeX=d.x,u.nodeY=d.y,u.nodeW=h.pstyle("width").pfValue,u.nodeH=h.pstyle("height").pfValue}this.recalculateEdgeProjections(n);for(var p=0;p<n.length;p++){var g=n[p]._private,f=g.rstyle,g=g.rscratch;f.srcX=g.arrowStartX,f.srcY=g.arrowStartY,f.tgtX=g.arrowEndX,f.tgtY=g.arrowEndY,f.midX=g.midX,f.midY=g.midY,f.labelAngle=g.labelAngle,f.sourceLabelAngle=g.sourceLabelAngle,f.targetLabelAngle=g.targetLabelAngle}}}},{updateCachedGrabbedEles:function(){var e=this.cachedZSortedEles;if(e){e.drag=[],e.nondrag=[];for(var t=[],i=0;i<e.length;i++){var n=(r=e[i])._private.rscratch;(r.grabbed()&&!r.isParent()?t:n.inDragLayer?e.drag:e.nondrag).push(r)}for(i=0;i<t.length;i++){var r=t[i];e.drag.push(r)}}},invalidateCachedZSortedEles:function(){this.cachedZSortedEles=null},getCachedZSortedEles:function(e){var t;return e||!this.cachedZSortedEles?((t=this.cy.mutableElements().toArray()).sort(c9e),t.interactive=t.filter(function(e){return e.interactive()}),this.cachedZSortedEles=t,this.updateCachedGrabbedEles()):t=this.cachedZSortedEles,t}}].forEach(function(e){S7e(AEe,e)}),h$e={getCachedImage:function(e,t,i){var n,r=this.imageCache=this.imageCache||{},s=r[e];return s?(s.image.complete||s.image.addEventListener("load",i),s.image):((n=(s=r[e]=r[e]||{}).image=new Image).addEventListener("load",i),n.addEventListener("error",function(){n.error=!0}),"data:"!==e.substring(0,"data:".length).toLowerCase()&&(n.crossOrigin=t="null"===t?null:t),n.src=e,n)}},y$e={registerBinding:function(e,t,i,n){var r=Array.prototype.slice.apply(arguments,[1]);if(Array.isArray(e)){for(var s=[],a=0;a<e.length;a++){var o,l=e[a];void 0!==l&&(o=this.binder(l),s.push(o.on.apply(o,r)))}return s}return(o=this.binder(e)).on.apply(o,r)},binder:function(r){var s=this,e=s.cy.window(),a=r===e||r===e.document||r===e.document.body||d7e(r);if(null==s.supportsPassiveEvents){var t=!1;try{var i=Object.defineProperty({},"passive",{get:mt(function(){return t=!0},"get")});e.addEventListener("test",null,i)}catch{}s.supportsPassiveEvents=t}e=mt(function(e,t,i){var n=Array.prototype.slice.call(arguments);return a&&s.supportsPassiveEvents&&(n[2]={capture:i??!1,passive:!1,once:!1}),s.bindings.push({target:r,args:n}),(r.addEventListener||r.on).apply(r,n),this},"on");return{on:e,addEventListener:e,addListener:e,bind:e}},nodeIsDraggable:function(e){return e&&e.isNode()&&!e.locked()&&e.grabbable()},nodeIsGrabbable:function(e){return this.nodeIsDraggable(e)&&e.interactive()}, Line truncated
precision highp float; precision highp float;
uniform mat3 uPanZoomMatrix; uniform mat3 uPanZoomMatrix;
@@ -2182,7 +2182,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
`).concat(e.picking?`if(outColor.a == 0.0) discard; `).concat(e.picking?`if(outColor.a == 0.0) discard;
else outColor = vIndex;`:"",` else outColor = vIndex;`:"",`
} }
`));r.aPosition=t.getAttribLocation(r,"aPosition"),r.aIndex=t.getAttribLocation(r,"aIndex"),r.aVertType=t.getAttribLocation(r,"aVertType"),r.aAtlasId=t.getAttribLocation(r,"aAtlasId"),r.aTex1=t.getAttribLocation(r,"aTex1"),r.aTex2=t.getAttribLocation(r,"aTex2"),r.aScaleRotate1=t.getAttribLocation(r,"aScaleRotate1"),r.aTranslate1=t.getAttribLocation(r,"aTranslate1"),r.aScaleRotate2=t.getAttribLocation(r,"aScaleRotate2"),r.aTranslate2=t.getAttribLocation(r,"aTranslate2"),r.aPointAPointB=t.getAttribLocation(r,"aPointAPointB"),r.aPointCPointD=t.getAttribLocation(r,"aPointCPointD"),r.aLineWidth=t.getAttribLocation(r,"aLineWidth"),r.aEdgeColor=t.getAttribLocation(r,"aEdgeColor"),r.uPanZoomMatrix=t.getUniformLocation(r,"uPanZoomMatrix"),r.uAtlasSize=t.getUniformLocation(r,"uAtlasSize"),r.uBGColor=t.getUniformLocation(r,"uBGColor"),r.uTextures=[];for(var s=0;s<this.atlasManager.maxAtlases;s++)r.uTextures.push(t.getUniformLocation(r,"uTexture".concat(s)));return r},"createShaderProgram")},{key:"createVAO",value:mt(function(){var e=[0,0,1,0,1,1,0,0,1,1,0,1],e=[].concat(e,e),t=(this.vertexCount=e.length/2,this.maxInstances),i=this.gl,n=this.program,r=i.createVertexArray();return i.bindVertexArray(r),pke(i,"vec2",n.aPosition,e),this.indexBuffer=gke(i,t,"vec4",n.aIndex),this.vertTypeBuffer=gke(i,t,"int",n.aVertType),this.atlasIdBuffer=gke(i,t,"int",n.aAtlasId),this.tex1Buffer=gke(i,t,"vec4",n.aTex1),this.tex2Buffer=gke(i,t,"vec4",n.aTex2),this.scaleRotate1Buffer=gke(i,t,"vec4",n.aScaleRotate1),this.translate1Buffer=gke(i,t,"vec2",n.aTranslate1),this.scaleRotate2Buffer=gke(i,t,"vec4",n.aScaleRotate2),this.translate2Buffer=gke(i,t,"vec2",n.aTranslate2),this.pointAPointBBuffer=gke(i,t,"vec4",n.aPointAPointB),this.pointCPointDBuffer=gke(i,t,"vec4",n.aPointCPointD),this.lineWidthBuffer=gke(i,t,"float",n.aLineWidth),this.edgeColorBuffer=gke(i,t,"vec4",n.aEdgeColor),i.bindVertexArray(null),r},"createVAO")},{key:"buffers",get:mt(function(){var t=this;return this._buffers||(this._buffers=Object.keys(this).filter(function(e){return e.endsWith("Buffer")}).map(function(e){return t[e]})),this._buffers},"get")},{key:"startFrame",value:mt(function(e,t){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:i$e.SCREEN;this.panZoomMatrix=e,this.debugInfo=t,this.renderTarget=i,this.startBatch()},"startFrame")},{key:"startBatch",value:mt(function(){this.instanceCount=0,this.atlasManager.startBatch()},"startBatch")},{key:"endFrame",value:mt(function(){this.endBatch()},"endFrame")},{key:"getTempMatrix",value:mt(function(){return this.tempMatrix=this.tempMatrix||mke()},"getTempMatrix")},{key:"drawTexture",value:mt(function(e,t,i){var n=this.atlasManager;if(n.isRenderable(e,i)){n.canAddToCurrentBatch(e,i)||this.endBatch();var r=this.instanceCount;this.vertTypeBuffer.getView(r)[0]=0;oke(t,this.indexBuffer.getView(r));var s=n.getAtlasInfo(e,i,s),t=s.atlasID,i=s.tex1,a=s.tex2,t=(this.atlasIdBuffer.getView(r)[0]=t,this.tex1Buffer.getView(r)),t=(t[0]=i.x,t[1]=i.y,t[2]=i.w,t[3]=i.h,this.tex2Buffer.getView(r));t[0]=a.x,t[1]=a.y,t[2]=a.w,t[3]=a.h;for(var o=this.getTempMatrix(),l=0,c=[1,2];l<c.length;l++){var h=c[l],u=(n.setTransformMatrix(o,s,e,1===h),this["scaleRotate".concat(h,"Buffer")].getView(r)),u=(u[0]=o[0],u[1]=o[1],u[2]=o[3],u[3]=o[4],this["translate".concat(h,"Buffer")].getView(r));u[0]=o[6],u[1]=o[7]}this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},"drawTexture")},{key:"drawEdgeArrow",value:mt(function(e,t,i){var n,r,s,a,o=e._private.rscratch,o="source"===i?(r=o.arrowStartX,s=o.arrowStartY,o.srcArrowAngle):(r=o.arrowEndX,s=o.arrowEndY,o.tgtArrowAngle);isNaN(r)||null==r||isNaN(s)||null==s||isNaN(o)||null==o||"none"!==e.pstyle(i+"-arrow-shape").value&&(i=e.pstyle(i+"-arrow-color").value,n=e.pstyle("opacity").value*e.pstyle("line-opacity").value,a=e.pstyle("width").pfValue,e=e.pstyle("arrow-scale").value,a=this.r.getArrowWidth(a,e),yke(e=this.getTempMatrix()),vke(e,e,[r,s]),wke(e,e,[a,a]),xke(e,e,o),r=this.instanceCount,this.vertTypeBuffer.getView(r)[0]=3,oke(t,this.indexBuffer.getView(r)),ake(i,n,this.edgeColorBuffer.getView(r)),(s=this.scaleRotate1Buffer.getView(r))[0]=e[0],s[1]=e[1],s[2]=e[3],s[3]=e[4],(a=this.translate1Buffer.getView(r))[0]=e[6],a[1]=e[7],this.instanceCount++,this.instanceCount>=this.maxInstances)&&this.endBatch()},"drawEdgeArrow")},{key:"drawEdgeLine",value:mt(function(e,t){var i=e.pstyle("opacity").value,n=e.pstyle("line-opacity").value,r=e.pstyle("width").pfValue,s=e.pstyle("line-color").value,a=i*n,o=this.getEdgePoints(e);if(o.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),4==o.length){i=this.instanceCount;this.vertTypeBuffer.getView(i)[0]=1,oke(t,this.indexBuffer.getView(i)),ake(s,a,this.edgeColorBuffer.getView(i));this.lineWidthBuffer.getView(i)[0]=r;n=this.pointAPointBBuffer.getView(i);n[0]=o[0],n[1]=o[1],n[2]=o[2],n[3]=o[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var l=0;l<o.length-2;l+=2){var c=this.instanceCount; Line truncated `));r.aPosition=t.getAttribLocation(r,"aPosition"),r.aIndex=t.getAttribLocation(r,"aIndex"),r.aVertType=t.getAttribLocation(r,"aVertType"),r.aAtlasId=t.getAttribLocation(r,"aAtlasId"),r.aTex1=t.getAttribLocation(r,"aTex1"),r.aTex2=t.getAttribLocation(r,"aTex2"),r.aScaleRotate1=t.getAttribLocation(r,"aScaleRotate1"),r.aTranslate1=t.getAttribLocation(r,"aTranslate1"),r.aScaleRotate2=t.getAttribLocation(r,"aScaleRotate2"),r.aTranslate2=t.getAttribLocation(r,"aTranslate2"),r.aPointAPointB=t.getAttribLocation(r,"aPointAPointB"),r.aPointCPointD=t.getAttribLocation(r,"aPointCPointD"),r.aLineWidth=t.getAttribLocation(r,"aLineWidth"),r.aEdgeColor=t.getAttribLocation(r,"aEdgeColor"),r.uPanZoomMatrix=t.getUniformLocation(r,"uPanZoomMatrix"),r.uAtlasSize=t.getUniformLocation(r,"uAtlasSize"),r.uBGColor=t.getUniformLocation(r,"uBGColor"),r.uTextures=[];for(var s=0;s<this.atlasManager.maxAtlases;s++)r.uTextures.push(t.getUniformLocation(r,"uTexture".concat(s)));return r},"createShaderProgram")},{key:"createVAO",value:mt(function(){var e=[0,0,1,0,1,1,0,0,1,1,0,1],e=[].concat(e,e),t=(this.vertexCount=e.length/2,this.maxInstances),i=this.gl,n=this.program,r=i.createVertexArray();return i.bindVertexArray(r),pke(i,"vec2",n.aPosition,e),this.indexBuffer=gke(i,t,"vec4",n.aIndex),this.vertTypeBuffer=gke(i,t,"int",n.aVertType),this.atlasIdBuffer=gke(i,t,"int",n.aAtlasId),this.tex1Buffer=gke(i,t,"vec4",n.aTex1),this.tex2Buffer=gke(i,t,"vec4",n.aTex2),this.scaleRotate1Buffer=gke(i,t,"vec4",n.aScaleRotate1),this.translate1Buffer=gke(i,t,"vec2",n.aTranslate1),this.scaleRotate2Buffer=gke(i,t,"vec4",n.aScaleRotate2),this.translate2Buffer=gke(i,t,"vec2",n.aTranslate2),this.pointAPointBBuffer=gke(i,t,"vec4",n.aPointAPointB),this.pointCPointDBuffer=gke(i,t,"vec4",n.aPointCPointD),this.lineWidthBuffer=gke(i,t,"float",n.aLineWidth),this.edgeColorBuffer=gke(i,t,"vec4",n.aEdgeColor),i.bindVertexArray(null),r},"createVAO")},{key:"buffers",get:mt(function(){var t=this;return this._buffers||(this._buffers=Object.keys(this).filter(function(e){return e.endsWith("Buffer")}).map(function(e){return t[e]})),this._buffers},"get")},{key:"startFrame",value:mt(function(e,t){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:i$e.SCREEN;this.panZoomMatrix=e,this.debugInfo=t,this.renderTarget=i,this.startBatch()},"startFrame")},{key:"startBatch",value:mt(function(){this.instanceCount=0,this.atlasManager.startBatch()},"startBatch")},{key:"endFrame",value:mt(function(){this.endBatch()},"endFrame")},{key:"getTempMatrix",value:mt(function(){return this.tempMatrix=this.tempMatrix||mke()},"getTempMatrix")},{key:"drawTexture",value:mt(function(e,t,i){var n=this.atlasManager;if(n.isRenderable(e,i)){n.canAddToCurrentBatch(e,i)||this.endBatch();var r=this.instanceCount;this.vertTypeBuffer.getView(r)[0]=0;oke(t,this.indexBuffer.getView(r));var s=n.getAtlasInfo(e,i,s),t=s.atlasID,i=s.tex1,a=s.tex2,t=(this.atlasIdBuffer.getView(r)[0]=t,this.tex1Buffer.getView(r)),t=(t[0]=i.x,t[1]=i.y,t[2]=i.w,t[3]=i.h,this.tex2Buffer.getView(r));t[0]=a.x,t[1]=a.y,t[2]=a.w,t[3]=a.h;for(var o=this.getTempMatrix(),l=0,c=[1,2];l<c.length;l++){var h=c[l],u=(n.setTransformMatrix(o,s,e,1===h),this["scaleRotate".concat(h,"Buffer")].getView(r)),u=(u[0]=o[0],u[1]=o[1],u[2]=o[3],u[3]=o[4],this["translate".concat(h,"Buffer")].getView(r));u[0]=o[6],u[1]=o[7]}this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},"drawTexture")},{key:"drawEdgeArrow",value:mt(function(e,t,i){var n,r,s,a,o=e._private.rscratch,o="source"===i?(r=o.arrowStartX,s=o.arrowStartY,o.srcArrowAngle):(r=o.arrowEndX,s=o.arrowEndY,o.tgtArrowAngle);isNaN(r)||null==r||isNaN(s)||null==s||isNaN(o)||null==o||"none"!==e.pstyle(i+"-arrow-shape").value&&(i=e.pstyle(i+"-arrow-color").value,n=e.pstyle("opacity").value*e.pstyle("line-opacity").value,a=e.pstyle("width").pfValue,e=e.pstyle("arrow-scale").value,a=this.r.getArrowWidth(a,e),yke(e=this.getTempMatrix()),vke(e,e,[r,s]),wke(e,e,[a,a]),xke(e,e,o),r=this.instanceCount,this.vertTypeBuffer.getView(r)[0]=3,oke(t,this.indexBuffer.getView(r)),ake(i,n,this.edgeColorBuffer.getView(r)),(s=this.scaleRotate1Buffer.getView(r))[0]=e[0],s[1]=e[1],s[2]=e[3],s[3]=e[4],(a=this.translate1Buffer.getView(r))[0]=e[6],a[1]=e[7],this.instanceCount++,this.instanceCount>=this.maxInstances)&&this.endBatch()},"drawEdgeArrow")},{key:"drawEdgeLine",value:mt(function(e,t){var i=e.pstyle("opacity").value,n=e.pstyle("line-opacity").value,r=e.pstyle("width").pfValue,s=e.pstyle("line-color").value,a=i*n,o=this.getEdgePoints(e);if(o.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),4==o.length){i=this.instanceCount;this.vertTypeBuffer.getView(i)[0]=1,oke(t,this.indexBuffer.getView(i)),ake(s,a,this.edgeColorBuffer.getView(i));this.lineWidthBuffer.getView(i)[0]=r;n=this.pointAPointBBuffer.getView(i);n[0]=o[0],n[1]=o[1],n[2]=o[2],n[3]=o[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var l=0;l<o.length-2;l+=2){var c=this.instanceCount; Line truncated
a${o},${o} 1 0,1 ${.4*n},${-1*n*.1} a${o},${o} 1 0,1 ${.4*n},${-1*n*.1}
a${a},${a} 1 0,1 ${.35*n},${.2*+n} a${a},${a} 1 0,1 ${.35*n},${.2*+n}
@@ -2215,7 +2215,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
a${s},${s} 1 0,0 ${.1*n},${-1*r*.33} a${s},${s} 1 0,0 ${.1*n},${-1*r*.33}
H0 V0 Z`)},"bangBkg"),O$e=mt(function(e,t,i){t.append("circle").attr("id","node-"+i.id).attr("class","node-bkg node-"+e.type2Str(i.type)).attr("r",i.width/2)},"circleBkg"),mt(R$e,"insertPolygonShape"),P$e=mt(function(e,t,i){var n=i.height,r=n/4,s=i.width-i.padding+2*r;R$e(t,s,n,[{x:r,y:0},{x:s-r,y:0},{x:s,y:-n/2},{x:s-r,y:-n},{x:r,y:-n},{x:0,y:-n/2}],i)},"hexagonBkg"),B$e=mt(function(e,t,i){t.append("rect").attr("id","node-"+i.id).attr("class","node-bkg node-"+e.type2Str(i.type)).attr("height",i.height).attr("rx",i.padding).attr("ry",i.padding).attr("width",i.width)},"roundedRectBkg"),F$e=mt(async function(e,t,i,n,r){var s=r.htmlLabels,a=n%11,n=t.append("g");let o="section-"+(i.section=a);a<0&&(o+=" section-root"),n.attr("class",(i.class?i.class+" ":"")+"mindmap-node "+o);var l=n.append("g"),t=n.append("g"),c=i.descr.replace(/(<br\/*>)/g,` H0 V0 Z`)},"bangBkg"),O$e=mt(function(e,t,i){t.append("circle").attr("id","node-"+i.id).attr("class","node-bkg node-"+e.type2Str(i.type)).attr("r",i.width/2)},"circleBkg"),mt(R$e,"insertPolygonShape"),P$e=mt(function(e,t,i){var n=i.height,r=n/4,s=i.width-i.padding+2*r;R$e(t,s,n,[{x:r,y:0},{x:s-r,y:0},{x:s,y:-n/2},{x:s-r,y:-n},{x:r,y:-n},{x:0,y:-n/2}],i)},"hexagonBkg"),B$e=mt(function(e,t,i){t.append("rect").attr("id","node-"+i.id).attr("class","node-bkg node-"+e.type2Str(i.type)).attr("height",i.height).attr("rx",i.padding).attr("ry",i.padding).attr("width",i.width)},"roundedRectBkg"),F$e=mt(async function(e,t,i,n,r){var s=r.htmlLabels,a=n%11,n=t.append("g");let o="section-"+(i.section=a);a<0&&(o+=" section-root"),n.attr("class",(i.class?i.class+" ":"")+"mindmap-node "+o);var l=n.append("g"),t=n.append("g"),c=i.descr.replace(/(<br\/*>)/g,`
`),c=(await J$(t,c,{useHtmlLabels:s,width:i.width,classes:"mindmap-node-label"},r),s||t.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),t.node().getBBox()),[r]=e_(r.fontSize);switch(i.height=c.height+1.1*r*.5+i.padding,i.width=c.width+2*i.padding,i.icon?i.type===e.nodeType.CIRCLE?(i.height+=50,i.width+=50,n.append("foreignObject").attr("height","50px").attr("width",i.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+a+" "+i.icon),t.attr("transform","translate("+i.width/2+", "+(i.height/2-1.5*i.padding)+")")):(i.width+=50,r=i.height,i.height=Math.max(r,60),r=Math.abs(i.height-r),n.append("foreignObject").attr("width","60px").attr("height",i.height).attr("style","text-align: center;margin-top:"+r/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+a+" "+i.icon),t.attr("transform","translate("+(25+i.width/2)+", "+(r/2+i.padding/2)+")")):s?(r=(i.width-c.width)/2,s=(i.height-c.height)/2,t.attr("transform","translate("+r+", "+s+")")):(c=i.width/2,r=i.padding/2,t.attr("transform","translate("+c+", "+r+")")),i.type){case e.nodeType.DEFAULT:M$e(e,l,i,a);break;case e.nodeType.ROUNDED_RECT:B$e(e,l,i,a);break;case e.nodeType.RECT:I$e(e,l,i,a);break;case e.nodeType.CIRCLE:l.attr("transform","translate("+i.width/2+", "+ +i.height/2+")"),O$e(e,l,i,a);break;case e.nodeType.CLOUD:N$e(e,l,i,a);break;case e.nodeType.BANG:D$e(e,l,i,a);break;case e.nodeType.HEXAGON:P$e(e,l,i,a)}return e.setElementForId(i.id,n),i.height},"drawNode"),j$e=mt(function(e,t){var e=e.getElementById(t.id),i=t.x||0,t=t.y||0;e.attr("transform","translate("+i+","+t+")")},"positionNode")});async function U$e(i,n,e,r,s){await F$e(i,n,e,r,s),e.children&&await Promise.all(e.children.map((e,t)=>U$e(i,n,e,r<0?t:r,s)))}function H$e(n,e){e.edges().map((e,t)=>{var i=e.data();e[0]._private.bodyBounds&&(e=e[0]._private.rscratch,I.trace("Edge: ",t,i),n.insert("path").attr("d",`M ${e.startX},${e.startY} L ${e.midX},${e.midY} L${e.endX},${e.endY} `).attr("class","edge section-edge-"+i.section+" edge-depth-"+i.depth))})}function q$e(t,i,n,r){i.add({group:"nodes",data:{id:t.id.toString(),labelText:t.descr,height:t.height,width:t.width,level:r,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach(e=>{q$e(e,i,n,r+1),i.add({group:"edges",data:{id:t.id+"_"+e.id,source:t.id,target:e.id,depth:r,section:e.section}})})}function W$e(n,r){return new Promise(t=>{let e=V("body").append("div").attr("id","cy").attr("style","display:none"),i=_$e({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});e.remove(),q$e(n,i,r,0),i.nodes().forEach(function(t){t.layoutDimensions=()=>{var e=t.data();return{w:e.width,h:e.height}}}),i.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),i.ready(e=>{I.info("Ready",e),t(i)})})}function G$e(r,e){e.nodes().map((e,t)=>{var i=e.data(),n=(i.x=e.position().x,i.y=e.position().y,j$e(r,i),r.getElementById(i.nodeId));I.info("id:",t,"Position: (",e.position().x,", ",e.position().y,")",i),n.attr("transform",`translate(${e.position().x-i.width/2}, ${e.position().y-i.height/2})`),n.attr("attr",`apa-${t})`)})}var V$e,Y$e,X$e,K$e,Z$e,Q$e=e(()=>{"use strict";A$e(),V$e=ie(L$e(),1),a6(),_u(),t(),Mye(),uh(),z$e(),Ln(),_$e.use(V$e.default),mt(U$e,"drawNodes"),mt(H$e,"drawEdges"),mt(q$e,"addNodes"),mt(W$e,"layoutMindmap"),mt(G$e,"positionNodes"),V$e=mt(async(e,t,i,n)=>{I.debug(`Rendering mindmap diagram `),c=(await J$(t,c,{useHtmlLabels:s,width:i.width,classes:"mindmap-node-label"},r),s||t.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),t.node().getBBox()),[r]=e_(r.fontSize);switch(i.height=c.height+1.1*r*.5+i.padding,i.width=c.width+2*i.padding,i.icon?i.type===e.nodeType.CIRCLE?(i.height+=50,i.width+=50,n.append("foreignObject").attr("height","50px").attr("width",i.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+a+" "+i.icon),t.attr("transform","translate("+i.width/2+", "+(i.height/2-1.5*i.padding)+")")):(i.width+=50,r=i.height,i.height=Math.max(r,60),r=Math.abs(i.height-r),n.append("foreignObject").attr("width","60px").attr("height",i.height).attr("style","text-align: center;margin-top:"+r/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+a+" "+i.icon),t.attr("transform","translate("+(25+i.width/2)+", "+(r/2+i.padding/2)+")")):s?(r=(i.width-c.width)/2,s=(i.height-c.height)/2,t.attr("transform","translate("+r+", "+s+")")):(c=i.width/2,r=i.padding/2,t.attr("transform","translate("+c+", "+r+")")),i.type){case e.nodeType.DEFAULT:M$e(e,l,i,a);break;case e.nodeType.ROUNDED_RECT:B$e(e,l,i,a);break;case e.nodeType.RECT:I$e(e,l,i,a);break;case e.nodeType.CIRCLE:l.attr("transform","translate("+i.width/2+", "+ +i.height/2+")"),O$e(e,l,i,a);break;case e.nodeType.CLOUD:N$e(e,l,i,a);break;case e.nodeType.BANG:D$e(e,l,i,a);break;case e.nodeType.HEXAGON:P$e(e,l,i,a)}return e.setElementForId(i.id,n),i.height},"drawNode"),j$e=mt(function(e,t){var e=e.getElementById(t.id),i=t.x||0,t=t.y||0;e.attr("transform","translate("+i+","+t+")")},"positionNode")});async function U$e(i,n,e,r,s){await F$e(i,n,e,r,s),e.children&&await Promise.all(e.children.map((e,t)=>U$e(i,n,e,r<0?t:r,s)))}function H$e(n,e){e.edges().map((e,t)=>{var i=e.data();e[0]._private.bodyBounds&&(e=e[0]._private.rscratch,I.trace("Edge: ",t,i),n.insert("path").attr("d",`M ${e.startX},${e.startY} L ${e.midX},${e.midY} L${e.endX},${e.endY} `).attr("class","edge section-edge-"+i.section+" edge-depth-"+i.depth))})}function q$e(t,i,n,r){i.add({group:"nodes",data:{id:t.id.toString(),labelText:t.descr,height:t.height,width:t.width,level:r,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach(e=>{q$e(e,i,n,r+1),i.add({group:"edges",data:{id:t.id+"_"+e.id,source:t.id,target:e.id,depth:r,section:e.section}})})}function W$e(n,r){return new Promise(t=>{let e=V("body").append("div").attr("id","cy").attr("style","display:none"),i=_$e({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});e.remove(),q$e(n,i,r,0),i.nodes().forEach(function(t){t.layoutDimensions=()=>{var e=t.data();return{w:e.width,h:e.height}}}),i.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),i.ready(e=>{I.info("Ready",e),t(i)})})}function G$e(r,e){e.nodes().map((e,t)=>{var i=e.data(),n=(i.x=e.position().x,i.y=e.position().y,j$e(r,i),r.getElementById(i.nodeId));I.info("id:",t,"Position: (",e.position().x,", ",e.position().y,")",i),n.attr("transform",`translate(${e.position().x-i.width/2}, ${e.position().y-i.height/2})`),n.attr("attr",`apa-${t})`)})}var V$e,Y$e,X$e,K$e,Q$e,Z$e=e(()=>{"use strict";A$e(),V$e=ie(L$e(),1),a6(),_u(),t(),Mye(),uh(),z$e(),Ln(),_$e.use(V$e.default),mt(U$e,"drawNodes"),mt(H$e,"drawEdges"),mt(q$e,"addNodes"),mt(W$e,"layoutMindmap"),mt(G$e,"positionNodes"),V$e=mt(async(e,t,i,n)=>{I.debug(`Rendering mindmap diagram
`+e);var r,s,a,e=n.db,n=e.getMindmap();n&&((r=N()).htmlLabels=!1,(s=(t=Cye(t)).append("g")).attr("class","mindmap-edges"),(a=t.append("g")).attr("class","mindmap-nodes"),await U$e(e,a,n,-1,r),H$e(s,a=await W$e(n,r)),G$e(e,a),sh(void 0,t,r.mindmap?.padding??vi.mindmap.padding,r.mindmap?.useMaxWidth??vi.mindmap.useMaxWidth))},"draw"),Y$e={draw:V$e}}),J$e=e(()=>{"use strict";xn(),X$e=mt(t=>{let i="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)t["lineColor"+e]=t["lineColor"+e]||t["cScaleInv"+e],Wt(t["lineColor"+e])?t["lineColor"+e]=s(t["lineColor"+e],20):t["lineColor"+e]=Kt(t["lineColor"+e],20);for(let e=0;e<t.THEME_COLOR_LIMIT;e++){var n=""+(17-3*e);i+=` `+e);var r,s,a,e=n.db,n=e.getMindmap();n&&((r=N()).htmlLabels=!1,(s=(t=Cye(t)).append("g")).attr("class","mindmap-edges"),(a=t.append("g")).attr("class","mindmap-nodes"),await U$e(e,a,n,-1,r),H$e(s,a=await W$e(n,r)),G$e(e,a),sh(void 0,t,r.mindmap?.padding??vi.mindmap.padding,r.mindmap?.useMaxWidth??vi.mindmap.useMaxWidth))},"draw"),Y$e={draw:V$e}}),J$e=e(()=>{"use strict";xn(),X$e=mt(t=>{let i="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)t["lineColor"+e]=t["lineColor"+e]||t["cScaleInv"+e],Wt(t["lineColor"+e])?t["lineColor"+e]=s(t["lineColor"+e],20):t["lineColor"+e]=Kt(t["lineColor"+e],20);for(let e=0;e<t.THEME_COLOR_LIMIT;e++){var n=""+(17-3*e);i+=`
.section-${e-1} rect, .section-${e-1} path, .section-${e-1} circle, .section-${e-1} polygon, .section-${e-1} path { .section-${e-1} rect, .section-${e-1} path, .section-${e-1} circle, .section-${e-1} polygon, .section-${e-1} path {
fill: ${t["cScale"+e]}; fill: ${t["cScale"+e]};
@@ -2271,7 +2271,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
dominant-baseline: middle; dominant-baseline: middle;
text-align: center; text-align: center;
} }
`,"getStyles"),Z$e=K$e}),eLe={};G(eLe,{diagram:()=>tLe});var tLe,iLe,nLe,rLe,sLe,aLe,oLe,lLe,cLe,hLe,uLe,dLe,pLe,gLe,fLe,mLe,yLe,bLe,vLe,xLe,wLe,kLe,TLe,SLe,CLe,_Le=e(()=>{"use strict";Uwe(),Hwe(),Q$e(),J$e(),tLe={get db(){return new jwe},renderer:Y$e,parser:Bwe,styles:Z$e}}),ALe=e(()=>{"use strict";function e(){this.yy={}}var t,i,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y,b,v,x;t=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),i=[1,4],n=[1,13],r=[1,12],s=[1,15],a=[1,16],o=[1,20],l=[1,19],c=[6,7,8],h=[1,26],u=[1,24],d=[1,25],p=[6,7,11],g=[1,31],f=[6,7,11,24],m=[1,6,13,16,17,20,23],y=[1,35],b=[1,36],v=[1,6,7,11,13,16,17,20,23],x=[1,38],i={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 6:case 7:return n;case 8:n.getLogger().trace("Stop NL ");break;case 9:n.getLogger().trace("Stop EOF ");break;case 11:n.getLogger().trace("Stop NL2 ");break;case 12:n.getLogger().trace("Stop EOF2 ");break;case 15:n.getLogger().info("Node: ",s[o-1].id),n.addNode(s[o-2].length,s[o-1].id,s[o-1].descr,s[o-1].type,s[o]);break;case 16:n.getLogger().info("Node: ",s[o].id),n.addNode(s[o-1].length,s[o].id,s[o].descr,s[o].type);break;case 17:n.getLogger().trace("Icon: ",s[o]),n.decorateNode({icon:s[o]});break;case 18:case 23:n.decorateNode({class:s[o]});break;case 19:n.getLogger().trace("SPACELIST");break;case 20:n.getLogger().trace("Node: ",s[o-1].id),n.addNode(0,s[o-1].id,s[o-1].descr,s[o-1].type,s[o]);break;case 21:n.getLogger().trace("Node: ",s[o].id),n.addNode(0,s[o].id,s[o].descr,s[o].type);break;case 22:n.decorateNode({icon:s[o]});break;case 27:n.getLogger().trace("node found ..",s[o-2]),this.$={id:s[o-1],descr:s[o-1],type:n.getType(s[o-2],s[o])};break;case 28:this.$={id:s[o],descr:s[o],type:0};break;case 29:n.getLogger().trace("node found ..",s[o-3]),this.$={id:s[o-3],descr:s[o-1],type:n.getType(s[o-2],s[o])};break;case 30:this.$=s[o-1]+s[o];break;case 31:this.$=s[o]}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:i},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:i},{6:n,7:[1,10],9:9,12:11,13:r,14:14,16:s,17:a,18:17,19:18,20:o,23:l},t(c,[2,3]),{1:[2,2]},t(c,[2,4]),t(c,[2,5]),{1:[2,6],6:n,12:21,13:r,14:14,16:s,17:a,18:17,19:18,20:o,23:l},{6:n,9:22,12:11,13:r,14:14,16:s,17:a,18:17,19:18,20:o,23:l},{6:h,7:u,10:23,11:d},t(p,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:o,23:l}),t(p,[2,19]),t(p,[2,21],{15:30,24:g}),t(p,[2,22]),t(p,[2,23]),t(f,[2,25]),t(f,[2,26]),t(f,[2,28],{20:[1,32]}),{21:[1,33]},{6:h,7:u,10:34,11:d},{1:[2,7],6:n,12:21,13:r,14:14,16:s,17:a,18:17,19:18,20:o,23:l},t(m,[2,14],{7:y,11:b}),t(v,[2,8]),t(v,[2,9]),t(v,[2,10]),t(p,[2,16],{15:37,24:g}),t(p,[2,17]),t(p,[2,18]),t(p,[2,20],{24:x}),t(f,[2,31]),{21:[1,39]},{22:[1,40]},t(m,[2,13],{7:y,11:b}),t(v,[2,11]),t(v,[2,12]),t(p,[2,15],{24:x}),t(f,[2,30]),{22:[1,41]},t(f,[2,27]),t(f,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:mt(function(e,t){var i;if(!t.recoverable)throw(i=new Error(e)).hash=t,i;this.trace(e)},"parseError"),parse:mt(function(e){var t,i=this,n=[0],r=[],s=[null],a=[],o=this.table,l="",c=0,h=0,u=0,d=1,p=a.slice.call(arguments,1),g=Object.create(this.lexer),f={yy:{}};for(t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,t)&&(f.yy[t]=this.yy[t]);g.setInput(e,f.yy),f.yy.lexer=g,f.yy.parser=this,"u"<typeof g.yylloc&&(g.yylloc={});var m=g.yylloc,y=(a.push(m),g.options&&g.options.ranges);function b(){var e=r.pop()||g.lex()||d;return"number"!=typeof e&&(e instanceof Array&&(e=(r=e).pop()),e=i.symbols_[e]||e),e}"function"==typeof f.yy.parseError?this.parseError=f.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,mt(function(e){n.length=n.length-2*e,s.length=s.length-e,a.length=a.length-e},"popStack"),mt(b,"lex");for(var v,x,w,k,T,S,C,_={};;){if(w=n[n.length-1],"u"<typeof(k=this.defaultActions[w]||((null===v||"u"<typeof v)&&(v=b()),o[w]&&o[w][v]))||!k.length||!k[0]){var A="",E=[];for(T in o[w])this.terminals_[T]&&2<T&&E.push("'"+this.terminals_[T]+"'");A=g.showPosition?"Parse error on line "+(c+1)+`: `,"getStyles"),Q$e=K$e}),eLe={};G(eLe,{diagram:()=>tLe});var tLe,iLe,nLe,rLe,sLe,aLe,oLe,lLe,cLe,hLe,uLe,dLe,pLe,gLe,fLe,mLe,yLe,bLe,vLe,xLe,wLe,kLe,TLe,SLe,CLe,_Le=e(()=>{"use strict";Uwe(),Hwe(),Z$e(),J$e(),tLe={get db(){return new jwe},renderer:Y$e,parser:Bwe,styles:Q$e}}),ALe=e(()=>{"use strict";function e(){this.yy={}}var t,i,n,r,s,a,o,l,c,h,u,d,p,g,f,m,y,b,v,x;t=mt(function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},"o"),i=[1,4],n=[1,13],r=[1,12],s=[1,15],a=[1,16],o=[1,20],l=[1,19],c=[6,7,8],h=[1,26],u=[1,24],d=[1,25],p=[6,7,11],g=[1,31],f=[6,7,11,24],m=[1,6,13,16,17,20,23],y=[1,35],b=[1,36],v=[1,6,7,11,13,16,17,20,23],x=[1,38],i={trace:mt(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:mt(function(e,t,i,n,r,s,a){var o=s.length-1;switch(r){case 6:case 7:return n;case 8:n.getLogger().trace("Stop NL ");break;case 9:n.getLogger().trace("Stop EOF ");break;case 11:n.getLogger().trace("Stop NL2 ");break;case 12:n.getLogger().trace("Stop EOF2 ");break;case 15:n.getLogger().info("Node: ",s[o-1].id),n.addNode(s[o-2].length,s[o-1].id,s[o-1].descr,s[o-1].type,s[o]);break;case 16:n.getLogger().info("Node: ",s[o].id),n.addNode(s[o-1].length,s[o].id,s[o].descr,s[o].type);break;case 17:n.getLogger().trace("Icon: ",s[o]),n.decorateNode({icon:s[o]});break;case 18:case 23:n.decorateNode({class:s[o]});break;case 19:n.getLogger().trace("SPACELIST");break;case 20:n.getLogger().trace("Node: ",s[o-1].id),n.addNode(0,s[o-1].id,s[o-1].descr,s[o-1].type,s[o]);break;case 21:n.getLogger().trace("Node: ",s[o].id),n.addNode(0,s[o].id,s[o].descr,s[o].type);break;case 22:n.decorateNode({icon:s[o]});break;case 27:n.getLogger().trace("node found ..",s[o-2]),this.$={id:s[o-1],descr:s[o-1],type:n.getType(s[o-2],s[o])};break;case 28:this.$={id:s[o],descr:s[o],type:0};break;case 29:n.getLogger().trace("node found ..",s[o-3]),this.$={id:s[o-3],descr:s[o-1],type:n.getType(s[o-2],s[o])};break;case 30:this.$=s[o-1]+s[o];break;case 31:this.$=s[o]}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:i},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:i},{6:n,7:[1,10],9:9,12:11,13:r,14:14,16:s,17:a,18:17,19:18,20:o,23:l},t(c,[2,3]),{1:[2,2]},t(c,[2,4]),t(c,[2,5]),{1:[2,6],6:n,12:21,13:r,14:14,16:s,17:a,18:17,19:18,20:o,23:l},{6:n,9:22,12:11,13:r,14:14,16:s,17:a,18:17,19:18,20:o,23:l},{6:h,7:u,10:23,11:d},t(p,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:o,23:l}),t(p,[2,19]),t(p,[2,21],{15:30,24:g}),t(p,[2,22]),t(p,[2,23]),t(f,[2,25]),t(f,[2,26]),t(f,[2,28],{20:[1,32]}),{21:[1,33]},{6:h,7:u,10:34,11:d},{1:[2,7],6:n,12:21,13:r,14:14,16:s,17:a,18:17,19:18,20:o,23:l},t(m,[2,14],{7:y,11:b}),t(v,[2,8]),t(v,[2,9]),t(v,[2,10]),t(p,[2,16],{15:37,24:g}),t(p,[2,17]),t(p,[2,18]),t(p,[2,20],{24:x}),t(f,[2,31]),{21:[1,39]},{22:[1,40]},t(m,[2,13],{7:y,11:b}),t(v,[2,11]),t(v,[2,12]),t(p,[2,15],{24:x}),t(f,[2,30]),{22:[1,41]},t(f,[2,27]),t(f,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:mt(function(e,t){var i;if(!t.recoverable)throw(i=new Error(e)).hash=t,i;this.trace(e)},"parseError"),parse:mt(function(e){var t,i=this,n=[0],r=[],s=[null],a=[],o=this.table,l="",c=0,h=0,u=0,d=1,p=a.slice.call(arguments,1),g=Object.create(this.lexer),f={yy:{}};for(t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,t)&&(f.yy[t]=this.yy[t]);g.setInput(e,f.yy),f.yy.lexer=g,f.yy.parser=this,"u"<typeof g.yylloc&&(g.yylloc={});var m=g.yylloc,y=(a.push(m),g.options&&g.options.ranges);function b(){var e=r.pop()||g.lex()||d;return"number"!=typeof e&&(e instanceof Array&&(e=(r=e).pop()),e=i.symbols_[e]||e),e}"function"==typeof f.yy.parseError?this.parseError=f.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,mt(function(e){n.length=n.length-2*e,s.length=s.length-e,a.length=a.length-e},"popStack"),mt(b,"lex");for(var v,x,w,k,T,S,C,_={};;){if(w=n[n.length-1],"u"<typeof(k=this.defaultActions[w]||((null===v||"u"<typeof v)&&(v=b()),o[w]&&o[w][v]))||!k.length||!k[0]){var A="",E=[];for(T in o[w])this.terminals_[T]&&2<T&&E.push("'"+this.terminals_[T]+"'");A=g.showPosition?"Parse error on line "+(c+1)+`:
`+g.showPosition()+` `+g.showPosition()+`
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},c={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},c={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
@@ -2281,7 +2281,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
`:`{ `:`{
`+r+` `+r+`
}`;t=FE(e,{schema:BE});if(t.shape&&(t.shape!==t.shape.toLowerCase()||t.shape.includes("_")))throw new Error(`No such shape: ${t.shape}. Shape names should be lowercase.`);t?.shape&&"kanbanItem"===t.shape&&(n.shape=t?.shape),t?.label&&(n.label=t?.label),t?.icon&&(n.icon=t?.icon.toString()),t?.assigned&&(n.assigned=t?.assigned.toString()),t?.ticket&&(n.ticket=t?.ticket.toString()),t?.priority&&(n.priority=t?.priority)}i=cLe(e);i?n.parentId=i.id||"kbn"+aLe++:sLe.push(n),rLe.push(n)},"addNode"),pLe={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},gLe=mt((e,t)=>{switch(I.debug("In get type",e,t),e){case"[":return pLe.RECT;case"(":return")"===t?pLe.ROUNDED_RECT:pLe.CLOUD;case"((":return pLe.CIRCLE;case")":return pLe.CLOUD;case"))":return pLe.BANG;case"{{":return pLe.HEXAGON;default:return pLe.DEFAULT}},"getType"),fLe=mt((e,t)=>{oLe[e]=t},"setElementForId"),mLe=mt(e=>{var t,i;e&&(t=N(),i=rLe[rLe.length-1],e.icon&&(i.icon=Pc(e.icon,t)),e.class)&&(i.cssClasses=Pc(e.class,t))},"decorateNode"),yLe=mt(e=>{switch(e){case pLe.DEFAULT:return"no-border";case pLe.RECT:return"rect";case pLe.ROUNDED_RECT:return"rounded-rect";case pLe.CIRCLE:return"circle";case pLe.CLOUD:return"cloud";case pLe.BANG:return"bang";case pLe.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),bLe=mt(()=>I,"getLogger"),vLe=mt(e=>oLe[e],"getElementById"),xLe={clear:lLe,addNode:dLe,getSections:hLe,getData:uLe,nodeType:pLe,getType:gLe,setElementForId:fLe,decorateNode:mLe,type2Str:yLe,getLogger:bLe,getElementById:vLe}}),$Le=e(()=>{"use strict";_u(),t(),Mye(),uh(),Ln(),eD(),KD(),wLe=mt(async(e,t,i,n)=>{I.debug(`Rendering kanban diagram }`;t=FE(e,{schema:BE});if(t.shape&&(t.shape!==t.shape.toLowerCase()||t.shape.includes("_")))throw new Error(`No such shape: ${t.shape}. Shape names should be lowercase.`);t?.shape&&"kanbanItem"===t.shape&&(n.shape=t?.shape),t?.label&&(n.label=t?.label),t?.icon&&(n.icon=t?.icon.toString()),t?.assigned&&(n.assigned=t?.assigned.toString()),t?.ticket&&(n.ticket=t?.ticket.toString()),t?.priority&&(n.priority=t?.priority)}i=cLe(e);i?n.parentId=i.id||"kbn"+aLe++:sLe.push(n),rLe.push(n)},"addNode"),pLe={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},gLe=mt((e,t)=>{switch(I.debug("In get type",e,t),e){case"[":return pLe.RECT;case"(":return")"===t?pLe.ROUNDED_RECT:pLe.CLOUD;case"((":return pLe.CIRCLE;case")":return pLe.CLOUD;case"))":return pLe.BANG;case"{{":return pLe.HEXAGON;default:return pLe.DEFAULT}},"getType"),fLe=mt((e,t)=>{oLe[e]=t},"setElementForId"),mLe=mt(e=>{var t,i;e&&(t=N(),i=rLe[rLe.length-1],e.icon&&(i.icon=Pc(e.icon,t)),e.class)&&(i.cssClasses=Pc(e.class,t))},"decorateNode"),yLe=mt(e=>{switch(e){case pLe.DEFAULT:return"no-border";case pLe.RECT:return"rect";case pLe.ROUNDED_RECT:return"rounded-rect";case pLe.CIRCLE:return"circle";case pLe.CLOUD:return"cloud";case pLe.BANG:return"bang";case pLe.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),bLe=mt(()=>I,"getLogger"),vLe=mt(e=>oLe[e],"getElementById"),xLe={clear:lLe,addNode:dLe,getSections:hLe,getData:uLe,nodeType:pLe,getType:gLe,setElementForId:fLe,decorateNode:mLe,type2Str:yLe,getLogger:bLe,getElementById:vLe}}),$Le=e(()=>{"use strict";_u(),t(),Mye(),uh(),Ln(),eD(),KD(),wLe=mt(async(e,t,i,n)=>{I.debug(`Rendering kanban diagram
`+e);var r,s=n.db.getData(),a=N(),e=(a.htmlLabels=!1,Cye(t)),o=e.append("g"),l=(o.attr("class","sections"),e.append("g"));l.attr("class","items");let c=s.nodes.filter(e=>e.isGroup),h=0,u=[],d=25;for(r of c){var p=a?.kanban?.sectionWidth||200,p=(h+=1,r.x=p*h+10*(h-1)/2,r.width=p,r.y=0,r.height=3*p,r.rx=5,r.ry=5,r.cssClasses=r.cssClasses+" section-"+h,await YN(o,r));d=Math.max(d,p?.labelBBox?.height),u.push(p)}let g=0;for(let r of c){var f,m=u[g];g+=1;let e=a?.kanban?.sectionWidth||200,t=3*-e/2+d,i=t,n=s.nodes.filter(e=>e.parentId===r.id);for(f of n){if(f.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");f.x=r.x,f.width=e-15;var y=(await qD(l,f,{config:a})).node().getBBox();f.y=i+y.height/2,await YD(f),i=f.y+y.height/2+5}var m=m.cluster.select("rect"),b=Math.max(i-t+30,50)+(d-25);m.attr("height",b)}sh(void 0,e,a.mindmap?.padding??vi.kanban.padding,a.mindmap?.useMaxWidth??vi.kanban.useMaxWidth)},"draw"),kLe={draw:wLe}}),LLe=e(()=>{"use strict";xn(),iZ(),TLe=mt(i=>{let t="";for(let e=0;e<i.THEME_COLOR_LIMIT;e++)i["lineColor"+e]=i["lineColor"+e]||i["cScaleInv"+e],Wt(i["lineColor"+e])?i["lineColor"+e]=s(i["lineColor"+e],20):i["lineColor"+e]=Kt(i["lineColor"+e],20);var n=mt((e,t)=>(i.darkMode?Kt:s)(e,t),"adjuster");for(let e=0;e<i.THEME_COLOR_LIMIT;e++){var r=""+(17-3*e);t+=` `+e);var r,s=n.db.getData(),a=N(),e=(a.htmlLabels=!1,Cye(t)),o=e.append("g"),l=(o.attr("class","sections"),e.append("g"));l.attr("class","items");let c=s.nodes.filter(e=>e.isGroup),h=0,u=[],d=25;for(r of c){var p=a?.kanban?.sectionWidth||200,p=(h+=1,r.x=p*h+10*(h-1)/2,r.width=p,r.y=0,r.height=3*p,r.rx=5,r.ry=5,r.cssClasses=r.cssClasses+" section-"+h,await YN(o,r));d=Math.max(d,p?.labelBBox?.height),u.push(p)}let g=0;for(let r of c){var f,m=u[g];g+=1;let e=a?.kanban?.sectionWidth||200,t=3*-e/2+d,i=t,n=s.nodes.filter(e=>e.parentId===r.id);for(f of n){if(f.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");f.x=r.x,f.width=e-15;var y=(await qD(l,f,{config:a})).node().getBBox();f.y=i+y.height/2,await YD(f),i=f.y+y.height/2+5}var m=m.cluster.select("rect"),b=Math.max(i-t+30,50)+(d-25);m.attr("height",b)}sh(void 0,e,a.mindmap?.padding??vi.kanban.padding,a.mindmap?.useMaxWidth??vi.kanban.useMaxWidth)},"draw"),kLe={draw:wLe}}),LLe=e(()=>{"use strict";xn(),iQ(),TLe=mt(i=>{let t="";for(let e=0;e<i.THEME_COLOR_LIMIT;e++)i["lineColor"+e]=i["lineColor"+e]||i["cScaleInv"+e],Wt(i["lineColor"+e])?i["lineColor"+e]=s(i["lineColor"+e],20):i["lineColor"+e]=Kt(i["lineColor"+e],20);var n=mt((e,t)=>(i.darkMode?Kt:s)(e,t),"adjuster");for(let e=0;e<i.THEME_COLOR_LIMIT;e++){var r=""+(17-3*e);t+=`
.section-${e-1} rect, .section-${e-1} path, .section-${e-1} circle, .section-${e-1} polygon, .section-${e-1} path { .section-${e-1} rect, .section-${e-1} path, .section-${e-1} circle, .section-${e-1} polygon, .section-${e-1} path {
fill: ${n(i["cScale"+e],10)}; fill: ${n(i["cScale"+e],10)};
stroke: ${n(i["cScale"+e],10)}; stroke: ${n(i["cScale"+e],10)};
@@ -2364,11 +2364,11 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},i={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},i={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}},r.lexer=i,mt(e,"Parser"),(ILe=new((e.prototype=r).Parser=e)).parser=ILe,NLe=ILe}),XLe=e(()=>{"use strict";_u(),hh(),Cu(),DLe=[],OLe=[],PLe=new Map,BLe=mt(()=>{DLe=[],OLe=[],PLe=new Map,bh()},"clear"),FLe=class{constructor(e,t,i=0){this.source=e,this.target=t,this.value=i}static{mt(this,"SankeyLink")}},jLe=mt((e,t,i)=>{DLe.push(new FLe(e,t,i))},"addLink"),zLe=class{constructor(e){this.ID=e}static{mt(this,"SankeyNode")}},ULe=mt(e=>{e=$.sanitizeText(e,N());let t=PLe.get(e);return void 0===t&&(t=new zLe(e),PLe.set(e,t),OLe.push(t)),t},"findOrCreateNode"),HLe=mt(()=>OLe,"getNodes"),qLe=mt(()=>DLe,"getLinks"),WLe=mt(()=>({nodes:OLe.map(e=>({id:e.ID})),links:DLe.map(e=>({source:e.source.ID,target:e.target.ID,value:e.value}))}),"getGraph"),GLe={nodesMap:PLe,getConfig:mt(()=>N().sankey,"getConfig"),getNodes:HLe,getLinks:qLe,getGraph:WLe,addLink:jLe,findOrCreateNode:ULe,getAccTitle:xh,setAccTitle:vh,getAccDescription:kh,setAccDescription:wh,getDiagramTitle:Sh,setDiagramTitle:Th,clear:BLe}});function KLe(t,i){let n;if(void 0===i)for(var e of t)null!=e&&(n<e||void 0===n&&e>=e)&&(n=e);else{let e=-1;for(var r of t)null!=(r=i(r,++e,t))&&(n<r||void 0===n&&r>=r)&&(n=r)}return n}var ZLe=e(()=>{"use strict";mt(KLe,"max")});function QLe(t,i){let n;if(void 0===i)for(var e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let e=-1;for(var r of t)null!=(r=i(r,++e,t))&&(n>r||void 0===n&&r>=r)&&(n=r)}return n}var JLe=e(()=>{"use strict";mt(QLe,"min")});function eRe(t,i){let n=0;if(void 0===i)for(var e of t)(e=+e)&&(n+=e);else{let e=-1;for(var r of t)(r=+i(r,++e,t))&&(n+=r)}return n}var tRe=e(()=>{"use strict";mt(eRe,"sum")}),iRe=e(()=>{"use strict";ZLe(),JLe(),tRe()});function nRe(e){return e.target.depth}function rRe(e){return e.depth}function sRe(e,t){return t-1-e.height}function aRe(e,t){return e.sourceLinks.length?e.depth:t-1}function oRe(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?QLe(e.sourceLinks,nRe)-1:0}var lRe=e(()=>{"use strict";iRe(),mt(nRe,"targetDepth"),mt(rRe,"left"),mt(sRe,"right"),mt(aRe,"justify"),mt(oRe,"center")});function cRe(e){return function(){return e}}var hRe=e(()=>{"use strict";mt(cRe,"constant")});function uRe(e,t){return pRe(e.source,t.source)||e.index-t.index}function dRe(e,t){return pRe(e.target,t.target)||e.index-t.index}function pRe(e,t){return e.y0-t.y0}function gRe(e){return e.value}function fRe(e){return e.index}function mRe(e){return e.nodes}function yRe(e){return e.links}function bRe(e,t){e=e.get(t);if(e)return e;throw new Error("missing: "+t)}function vRe({nodes:e}){for(var i of e){let e=i.y0,t=e;for(var n of i.sourceLinks)n.y0=e+n.width/2,e+=n.width;for(var r of i.targetLinks)r.y1=t+r.width/2,t+=r.width}}function xRe(){let o=0,l=0,c=1,h=1,u=24,r=8,d,p=fRe,g=aRe,f,m,t=mRe,i=yRe,s=6;function n(){var e={nodes:t.apply(null,arguments),links:i.apply(null,arguments)};return a(e),y(e),b(e),v(e),k(e),vRe(e),e}function a({nodes:i,links:e}){for(var[t,n]of i.entries())n.index=t,n.sourceLinks=[],n.targetLinks=[];var r,s,a=new Map(i.map((e,t)=>[p(e,t,i),e]));for([r,s]of e.entries()){s.index=r;let{source:e,target:t}=s;"object"!=typeof e&&(e=s.source=bRe(a,e)),"object"!=typeof t&&(t=s.target=bRe(a,t)),e.sourceLinks.push(s),t.targetLinks.push(s)}if(null!=m)for(var{sourceLinks:o,targetLinks:l}of i)o.sort(m),l.sort(m)}function y({nodes:e}){for(var t of e)t.value=void 0===t.fixedValue?Math.max(eRe(t.sourceLinks,gRe),eRe(t.targetLinks,gRe)):t.fixedValue}function b({nodes:e}){let t=e. Line truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:mt(function(e,t,i,n){switch(i){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}},r.lexer=i,mt(e,"Parser"),(ILe=new((e.prototype=r).Parser=e)).parser=ILe,NLe=ILe}),XLe=e(()=>{"use strict";_u(),hh(),Cu(),DLe=[],OLe=[],PLe=new Map,BLe=mt(()=>{DLe=[],OLe=[],PLe=new Map,bh()},"clear"),FLe=class{constructor(e,t,i=0){this.source=e,this.target=t,this.value=i}static{mt(this,"SankeyLink")}},jLe=mt((e,t,i)=>{DLe.push(new FLe(e,t,i))},"addLink"),zLe=class{constructor(e){this.ID=e}static{mt(this,"SankeyNode")}},ULe=mt(e=>{e=$.sanitizeText(e,N());let t=PLe.get(e);return void 0===t&&(t=new zLe(e),PLe.set(e,t),OLe.push(t)),t},"findOrCreateNode"),HLe=mt(()=>OLe,"getNodes"),qLe=mt(()=>DLe,"getLinks"),WLe=mt(()=>({nodes:OLe.map(e=>({id:e.ID})),links:DLe.map(e=>({source:e.source.ID,target:e.target.ID,value:e.value}))}),"getGraph"),GLe={nodesMap:PLe,getConfig:mt(()=>N().sankey,"getConfig"),getNodes:HLe,getLinks:qLe,getGraph:WLe,addLink:jLe,findOrCreateNode:ULe,getAccTitle:xh,setAccTitle:vh,getAccDescription:kh,setAccDescription:wh,getDiagramTitle:Sh,setDiagramTitle:Th,clear:BLe}});function KLe(t,i){let n;if(void 0===i)for(var e of t)null!=e&&(n<e||void 0===n&&e>=e)&&(n=e);else{let e=-1;for(var r of t)null!=(r=i(r,++e,t))&&(n<r||void 0===n&&r>=r)&&(n=r)}return n}var QLe=e(()=>{"use strict";mt(KLe,"max")});function ZLe(t,i){let n;if(void 0===i)for(var e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let e=-1;for(var r of t)null!=(r=i(r,++e,t))&&(n>r||void 0===n&&r>=r)&&(n=r)}return n}var JLe=e(()=>{"use strict";mt(ZLe,"min")});function eRe(t,i){let n=0;if(void 0===i)for(var e of t)(e=+e)&&(n+=e);else{let e=-1;for(var r of t)(r=+i(r,++e,t))&&(n+=r)}return n}var tRe=e(()=>{"use strict";mt(eRe,"sum")}),iRe=e(()=>{"use strict";QLe(),JLe(),tRe()});function nRe(e){return e.target.depth}function rRe(e){return e.depth}function sRe(e,t){return t-1-e.height}function aRe(e,t){return e.sourceLinks.length?e.depth:t-1}function oRe(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?ZLe(e.sourceLinks,nRe)-1:0}var lRe=e(()=>{"use strict";iRe(),mt(nRe,"targetDepth"),mt(rRe,"left"),mt(sRe,"right"),mt(aRe,"justify"),mt(oRe,"center")});function cRe(e){return function(){return e}}var hRe=e(()=>{"use strict";mt(cRe,"constant")});function uRe(e,t){return pRe(e.source,t.source)||e.index-t.index}function dRe(e,t){return pRe(e.target,t.target)||e.index-t.index}function pRe(e,t){return e.y0-t.y0}function gRe(e){return e.value}function fRe(e){return e.index}function mRe(e){return e.nodes}function yRe(e){return e.links}function bRe(e,t){e=e.get(t);if(e)return e;throw new Error("missing: "+t)}function vRe({nodes:e}){for(var i of e){let e=i.y0,t=e;for(var n of i.sourceLinks)n.y0=e+n.width/2,e+=n.width;for(var r of i.targetLinks)r.y1=t+r.width/2,t+=r.width}}function xRe(){let o=0,l=0,c=1,h=1,u=24,r=8,d,p=fRe,g=aRe,f,m,t=mRe,i=yRe,s=6;function n(){var e={nodes:t.apply(null,arguments),links:i.apply(null,arguments)};return a(e),y(e),b(e),v(e),k(e),vRe(e),e}function a({nodes:i,links:e}){for(var[t,n]of i.entries())n.index=t,n.sourceLinks=[],n.targetLinks=[];var r,s,a=new Map(i.map((e,t)=>[p(e,t,i),e]));for([r,s]of e.entries()){s.index=r;let{source:e,target:t}=s;"object"!=typeof e&&(e=s.source=bRe(a,e)),"object"!=typeof t&&(t=s.target=bRe(a,t)),e.sourceLinks.push(s),t.targetLinks.push(s)}if(null!=m)for(var{sourceLinks:o,targetLinks:l}of i)o.sort(m),l.sort(m)}function y({nodes:e}){for(var t of e)t.value=void 0===t.fixedValue?Math.max(eRe(t.sourceLinks,gRe),eRe(t.targetLinks,gRe)):t.fixedValue}function b({nodes:e}){let t=e. Line truncated
`+g+Math.round(100*t)/100+f:e,"getText"),n=(c.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(y.nodes).join("text").attr("x",e=>e.x0<h/2?e.x1+6:e.x0-6).attr("y",e=>(e.y1+e.y0)/2).attr("dy",`${m?"0":"0.35"}em`).attr("text-anchor",e=>e.x0<h/2?"start":"end").text(t),c.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(y.links).join("g").attr("class","link").style("mix-blend-mode","multiply")),x=s?.linkColor??"gradient";"gradient"===x&&((t=n.append("linearGradient").attr("id",e=>(e.uid=VRe.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",e=>e.source.x1).attr("x2",e=>e.target.x0)).append("stop").attr("offset","0%").attr("stop-color",e=>v(e.source.id)),t.append("stop").attr("offset","100%").attr("stop-color",e=>v(e.target.id)));let w;switch(x){case"gradient":w=mt(e=>e.uid,"coloring");break;case"source":w=mt(e=>v(e.source.id),"coloring");break;case"target":w=mt(e=>v(e.target.id),"coloring");break;default:w=x}n.append("path").attr("d",GRe()).attr("stroke",w).attr("stroke-width",e=>Math.max(1,e.width)),sh(void 0,c,0,d)},"draw"),KRe={draw:XRe}}),rMe=e(()=>{"use strict";ZRe=mt(e=>e.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` `+g+Math.round(100*t)/100+f:e,"getText"),n=(c.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(y.nodes).join("text").attr("x",e=>e.x0<h/2?e.x1+6:e.x0-6).attr("y",e=>(e.y1+e.y0)/2).attr("dy",`${m?"0":"0.35"}em`).attr("text-anchor",e=>e.x0<h/2?"start":"end").text(t),c.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(y.links).join("g").attr("class","link").style("mix-blend-mode","multiply")),x=s?.linkColor??"gradient";"gradient"===x&&((t=n.append("linearGradient").attr("id",e=>(e.uid=VRe.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",e=>e.source.x1).attr("x2",e=>e.target.x0)).append("stop").attr("offset","0%").attr("stop-color",e=>v(e.source.id)),t.append("stop").attr("offset","100%").attr("stop-color",e=>v(e.target.id)));let w;switch(x){case"gradient":w=mt(e=>e.uid,"coloring");break;case"source":w=mt(e=>v(e.source.id),"coloring");break;case"target":w=mt(e=>v(e.target.id),"coloring");break;default:w=x}n.append("path").attr("d",GRe()).attr("stroke",w).attr("stroke-width",e=>Math.max(1,e.width)),sh(void 0,c,0,d)},"draw"),KRe={draw:XRe}}),rMe=e(()=>{"use strict";QRe=mt(e=>e.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,`
`).trim(),"prepareTextForParsing")}),sMe=e(()=>{"use strict";QRe=mt(e=>`.label { `).trim(),"prepareTextForParsing")}),sMe=e(()=>{"use strict";ZRe=mt(e=>`.label {
font-family: ${e.fontFamily}; font-family: ${e.fontFamily};
}`,"getStyles"),JRe=QRe}),aMe={};G(aMe,{diagram:()=>lMe});var oMe,lMe,cMe,hMe,uMe,dMe,pMe,gMe,fMe,mMe,yMe,bMe,vMe,xMe,wMe,kMe,TMe,SMe,CMe=e(()=>{"use strict";YLe(),XLe(),nMe(),rMe(),sMe(),oMe=NLe.parse.bind(NLe),NLe.parse=e=>oMe(ZRe(e)),lMe={styles:JRe,parser:NLe,db:GLe,renderer:KRe}}),_Me=e(()=>{"use strict";Mn(),Ln(),s_(),Cu(),cMe={packet:[]},hMe=structuredClone(cMe),uMe=vi.packet,dMe=mt(()=>{var e=EC({...uMe,...Ii().packet});return e.showBits&&(e.paddingY+=10),e},"getConfig"),pMe=mt(()=>hMe.packet,"getPacket"),gMe=mt(e=>{0<e.length&&hMe.packet.push(e)},"pushWord"),fMe=mt(()=>{bh(),hMe=structuredClone(cMe)},"clear"),mMe={pushWord:gMe,getPacket:pMe,getConfig:dMe,clear:fMe,setAccTitle:vh,getAccTitle:xh,setDiagramTitle:Th,getDiagramTitle:Sh,getAccDescription:kh,setAccDescription:wh}}),AMe=e(()=>{"use strict";hfe(),t(),gfe(),_Me(),yMe=mt(e=>{ufe(e,mMe);let t=-1,i=[],n=1,r=mMe.getConfig()["bitsPerRow"];for(var{start:s,end:a,bits:o,label:l}of e.blocks){if(void 0!==s&&void 0!==a&&a<s)throw new Error(`Packet block ${s} - ${a} is invalid. End must be greater than start.`);if((s??=t+1)!==t+1)throw new Error(`Packet block ${s} - ${a??s} is not contiguous. It should start from ${t+1}.`);if(0===o)throw new Error(`Packet block ${s} is invalid. Cannot have a zero bit field.`);for(a??=s+(o??1)-1,o??=a-s+1,t=a,I.debug(`Packet block ${s} - ${t} with label `+l);i.length<=r+1&&mMe.getPacket().length<1e4;){var[c,h]=bMe({start:s,end:a,bits:o,label:l},n,r);if(i.push(c),c.end+1===n*r&&(mMe.pushWord(i),i=[],n++),!h)break;({start:s,end:a,bits:o,label:l}=h)}}mMe.pushWord(i)},"populate"),bMe=mt((e,t,i)=>{if(void 0===e.start)throw new Error("start should have been set during first phase");if(void 0===e.end)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);var n;return e.end+1<=t*i?[e,void 0]:[{start:e.start,end:n=t*i-1,label:e.label,bits:n-e.start},{start:n=t*i,end:e.end,label:e.label,bits:e.end-n}]},"getNextFittingBlock"),vMe={parse:mt(async e=>{e=await afe("packet",e);I.debug(e),yMe(e)},"parse")}}),EMe=e(()=>{"use strict";Mye(),uh(),xMe=mt((e,t,i,n)=>{var r,s,n=n.db,a=n.getConfig(),{rowHeight:o,paddingY:l,bitWidth:c,bitsPerRow:h}=a,u=n.getPacket(),n=n.getDiagramTitle(),l=o+l,o=l*(u.length+1)-(n?0:o),c=c*h+2,d=Cye(t);d.attr("viewbox",`0 0 ${c} `+o),rh(d,o,c,a.useMaxWidth);for([r,s]of u.entries())wMe(d,s,r,a);d.append("text").text(n).attr("x",c/2).attr("y",o-l/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),wMe=mt((e,t,i,{rowHeight:n,paddingX:r,paddingY:s,bitWidth:a,bitsPerRow:o,showBits:l})=>{var c,h=e.append("g"),u=i*(n+s)+s;for(c of t){var d,p,g=c.start%o*a+1,f=(c.end-c.start+1)*a-r;h.append("rect").attr("x",g).attr("y",u).attr("width",f).attr("height",n).attr("class","packetBlock"),h.append("text").attr("x",g+f/2).attr("y",u+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(c.label),l&&(d=c.end===c.start,p=u-2,h.append("text").attr("x",g+(d?f/2:0)).attr("y",p).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",d?"middle":"start").text(c.start),d||h.append("text").attr("x",g+f).attr("y",p).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(c.end))}},"drawWord"),kMe={draw:xMe}}),$Me=e(()=>{"use strict";s_(),TMe={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},SMe=mt(({packet:e}={})=>{e=EC(TMe,e);return` }`,"getStyles"),JRe=ZRe}),aMe={};G(aMe,{diagram:()=>lMe});var oMe,lMe,cMe,hMe,uMe,dMe,pMe,gMe,fMe,mMe,yMe,bMe,vMe,xMe,wMe,kMe,TMe,SMe,CMe=e(()=>{"use strict";YLe(),XLe(),nMe(),rMe(),sMe(),oMe=NLe.parse.bind(NLe),NLe.parse=e=>oMe(QRe(e)),lMe={styles:JRe,parser:NLe,db:GLe,renderer:KRe}}),_Me=e(()=>{"use strict";Mn(),Ln(),s_(),Cu(),cMe={packet:[]},hMe=structuredClone(cMe),uMe=vi.packet,dMe=mt(()=>{var e=EC({...uMe,...Ii().packet});return e.showBits&&(e.paddingY+=10),e},"getConfig"),pMe=mt(()=>hMe.packet,"getPacket"),gMe=mt(e=>{0<e.length&&hMe.packet.push(e)},"pushWord"),fMe=mt(()=>{bh(),hMe=structuredClone(cMe)},"clear"),mMe={pushWord:gMe,getPacket:pMe,getConfig:dMe,clear:fMe,setAccTitle:vh,getAccTitle:xh,setDiagramTitle:Th,getDiagramTitle:Sh,getAccDescription:kh,setAccDescription:wh}}),AMe=e(()=>{"use strict";hfe(),t(),gfe(),_Me(),yMe=mt(e=>{ufe(e,mMe);let t=-1,i=[],n=1,r=mMe.getConfig()["bitsPerRow"];for(var{start:s,end:a,bits:o,label:l}of e.blocks){if(void 0!==s&&void 0!==a&&a<s)throw new Error(`Packet block ${s} - ${a} is invalid. End must be greater than start.`);if((s??=t+1)!==t+1)throw new Error(`Packet block ${s} - ${a??s} is not contiguous. It should start from ${t+1}.`);if(0===o)throw new Error(`Packet block ${s} is invalid. Cannot have a zero bit field.`);for(a??=s+(o??1)-1,o??=a-s+1,t=a,I.debug(`Packet block ${s} - ${t} with label `+l);i.length<=r+1&&mMe.getPacket().length<1e4;){var[c,h]=bMe({start:s,end:a,bits:o,label:l},n,r);if(i.push(c),c.end+1===n*r&&(mMe.pushWord(i),i=[],n++),!h)break;({start:s,end:a,bits:o,label:l}=h)}}mMe.pushWord(i)},"populate"),bMe=mt((e,t,i)=>{if(void 0===e.start)throw new Error("start should have been set during first phase");if(void 0===e.end)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);var n;return e.end+1<=t*i?[e,void 0]:[{start:e.start,end:n=t*i-1,label:e.label,bits:n-e.start},{start:n=t*i,end:e.end,label:e.label,bits:e.end-n}]},"getNextFittingBlock"),vMe={parse:mt(async e=>{e=await afe("packet",e);I.debug(e),yMe(e)},"parse")}}),EMe=e(()=>{"use strict";Mye(),uh(),xMe=mt((e,t,i,n)=>{var r,s,n=n.db,a=n.getConfig(),{rowHeight:o,paddingY:l,bitWidth:c,bitsPerRow:h}=a,u=n.getPacket(),n=n.getDiagramTitle(),l=o+l,o=l*(u.length+1)-(n?0:o),c=c*h+2,d=Cye(t);d.attr("viewbox",`0 0 ${c} `+o),rh(d,o,c,a.useMaxWidth);for([r,s]of u.entries())wMe(d,s,r,a);d.append("text").text(n).attr("x",c/2).attr("y",o-l/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),wMe=mt((e,t,i,{rowHeight:n,paddingX:r,paddingY:s,bitWidth:a,bitsPerRow:o,showBits:l})=>{var c,h=e.append("g"),u=i*(n+s)+s;for(c of t){var d,p,g=c.start%o*a+1,f=(c.end-c.start+1)*a-r;h.append("rect").attr("x",g).attr("y",u).attr("width",f).attr("height",n).attr("class","packetBlock"),h.append("text").attr("x",g+f/2).attr("y",u+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(c.label),l&&(d=c.end===c.start,p=u-2,h.append("text").attr("x",g+(d?f/2:0)).attr("y",p).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",d?"middle":"start").text(c.start),d||h.append("text").attr("x",g+f).attr("y",p).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(c.end))}},"drawWord"),kMe={draw:xMe}}),$Me=e(()=>{"use strict";s_(),TMe={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},SMe=mt(({packet:e}={})=>{e=EC(TMe,e);return`
.packetByte { .packetByte {
font-size: ${e.byteFontSize}; font-size: ${e.byteFontSize};
} }
@@ -2391,7 +2391,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
stroke-width: ${e.blockStrokeWidth}; stroke-width: ${e.blockStrokeWidth};
fill: ${e.blockFillColor}; fill: ${e.blockFillColor};
} }
`},"styles")}),LMe={};G(LMe,{diagram:()=>RMe});var RMe,MMe,IMe,NMe,DMe,OMe,PMe,BMe,FMe,jMe,zMe,UMe,HMe,qMe,WMe,GMe,VMe,YMe=e(()=>{"use strict";_Me(),AMe(),EMe(),$Me(),RMe={parser:vMe,db:mMe,renderer:kMe,styles:SMe}}),XMe=e(()=>{"use strict";Mn(),Ln(),s_(),Cu(),IMe={axes:[],curves:[],options:MMe={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"}},NMe=structuredClone(IMe),DMe=vi.radar,OMe=mt(()=>EC({...DMe,...Ii().radar}),"getConfig"),PMe=mt(()=>NMe.axes,"getAxes"),BMe=mt(()=>NMe.curves,"getCurves"),FMe=mt(()=>NMe.options,"getOptions"),jMe=mt(e=>{NMe.axes=e.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),zMe=mt(e=>{NMe.curves=e.map(e=>({name:e.name,label:e.label??e.name,entries:UMe(e.entries)}))},"setCurves"),UMe=mt(i=>{if(null==i[0].axis)return i.map(e=>e.value);var e=PMe();if(0===e.length)throw new Error("Axes must be populated before curves for reference entries");return e.map(t=>{var e=i.find(e=>e.axis?.$refText===t.name);if(void 0===e)throw new Error("Missing entry for axis "+t.label);return e.value})},"computeCurveEntries"),HMe=mt(e=>{e=e.reduce((e,t)=>(e[t.name]=t,e),{});NMe.options={showLegend:e.showLegend?.value??MMe.showLegend,ticks:e.ticks?.value??MMe.ticks,max:e.max?.value??MMe.max,min:e.min?.value??MMe.min,graticule:e.graticule?.value??MMe.graticule}},"setOptions"),qMe=mt(()=>{bh(),NMe=structuredClone(IMe)},"clear"),WMe={getAxes:PMe,getCurves:BMe,getOptions:FMe,setAxes:jMe,setCurves:zMe,setOptions:HMe,getConfig:OMe,clear:qMe,setAccTitle:vh,getAccTitle:xh,setDiagramTitle:Th,getDiagramTitle:Sh,getAccDescription:kh,setAccDescription:wh}}),KMe=e(()=>{"use strict";hfe(),t(),gfe(),XMe(),GMe=mt(e=>{ufe(e,WMe);var{axes:e,curves:t,options:i}=e;WMe.setAxes(e),WMe.setCurves(t),WMe.setOptions(i)},"populate"),VMe={parse:mt(async e=>{e=await afe("radar",e);I.debug(e),GMe(e)},"parse")}});function ZMe(i,e,t,n,r,s,a){let o=e.length,l=Math.min(a.width,a.height)/2;t.forEach((e,t)=>{e.entries.length===o&&(e=e.entries.map((e,t)=>{t=2*Math.PI*t/o-Math.PI/2,e=QMe(e,n,r,l);return{x:e*Math.cos(t),y:e*Math.sin(t)}}),"circle"===s?i.append("path").attr("d",JMe(e,a.curveTension)).attr("class","radarCurve-"+t):"polygon"===s&&i.append("polygon").attr("points",e.map(e=>e.x+","+e.y).join(" ")).attr("class","radarCurve-"+t))})}function QMe(e,t,i,n){return n*(Math.min(Math.max(e,t),i)-t)/(i-t)}function JMe(t,i){let n=t.length,r=`M${t[0].x},`+t[0].y;for(let e=0;e<n;e++){var s=t[(e-1+n)%n],a=t[e],o=t[(e+1)%n],l=t[(e+2)%n],s={x:a.x+(o.x-s.x)*i,y:a.y+(o.y-s.y)*i},l={x:o.x-(l.x-a.x)*i,y:o.y-(l.y-a.y)*i};r+=` C${s.x},${s.y} ${l.x},${l.y} ${o.x},`+o.y}return r+" Z"}function eIe(s,e,t,i){if(t){let n=3*(i.width/2+i.marginRight)/4,r=3*-(i.height/2+i.marginTop)/4;e.forEach((e,t)=>{var i=s.append("g").attr("transform",`translate(${n}, ${r+20*t})`);i.append("rect").attr("width",12).attr("height",12).attr("class","radarLegendBox-"+t),i.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(e.label)})}}var tIe,iIe,nIe,rIe,sIe,aIe,oIe,lIe,cIe=e(()=>{"use strict";Mye(),tIe=mt((e,t,i,n)=>{var n=n.db,r=n.getAxes(),s=n.getCurves(),a=n.getOptions(),o=n.getConfig(),n=n.getDiagramTitle(),t=Cye(t),t=iIe(t,o),l=a.max??Math.max(...s.map(e=>Math.max(...e.entries))),c=a.min,h=Math.min(o.width,o.height)/2;nIe(t,r,h,a.ticks,a.graticule),rIe(t,r,h,o),ZMe(t,r,s,c,l,a.graticule,o),eIe(t,s,a.showLegend,o),t.append("text").attr("class","radarTitle").text(n).attr("x",0).attr("y",-o.height/2-o.marginTop)},"draw"),iIe=mt((e,t)=>{let i=t.width+t.marginLeft+t.marginRight,n=t.height+t.marginTop+t.marginBottom,r=t.marginLeft+t.width/2,s=t.marginTop+t.height/2;return e.attr("viewbox",`0 0 ${i} `+n).attr("width",i).attr("height",n),e.append("g").attr("transform",`translate(${r}, ${s})`)},"drawFrame"),nIe=mt((r,s,a,o,e)=>{if("circle"===e)for(let e=0;e<o;e++){var t=a*(e+1)/o;r.append("circle").attr("r",t).attr("class","radarGraticule")}else if("polygon"===e){let n=s.length;for(let t=0;t<o;t++){let i=a*(t+1)/o,e=s.map((e,t)=>{t=2*t*Math.PI/n-Math.PI/2;return i*Math.cos(t)+","+i*Math.sin(t)}).join(" ");r.append("polygon").attr("points",e).attr("class","radarGraticule")}}},"drawGraticule"),rIe=mt((t,i,n,r)=>{var s=i.length;for(let e=0;e<s;e++){var a=i[e].label,o=2*e*Math.PI/s-Math.PI/2;t.append("line").attr("x1",0).attr("y1",0).attr("x2",n*r.axisScaleFactor*Math.cos(o)).attr("y2",n*r.axisScaleFactor*Math.sin(o)).attr("class","radarAxisLine"),t.append("text").text(a).attr("x",n*r.axisLabelFactor*Math.cos(o)).attr("y",n*r.axisLabelFactor*Math.sin(o)).attr("class","radarAxisLabel")}},"drawAxes"),mt(ZMe,"drawCurves"),mt(QMe,"relativeRadius"),mt(JMe,"closedRoundCurve"),mt(eIe,"drawLegend"),sIe={draw:tIe}}),hIe=e(()=>{"use strict";s_(),Cn(),Mn(),aIe=mt((t,i)=>{let n="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++){var r=t["cScale"+e];n+=` `},"styles")}),LMe={};G(LMe,{diagram:()=>RMe});var RMe,MMe,IMe,NMe,DMe,OMe,PMe,BMe,FMe,jMe,zMe,UMe,HMe,qMe,WMe,GMe,VMe,YMe=e(()=>{"use strict";_Me(),AMe(),EMe(),$Me(),RMe={parser:vMe,db:mMe,renderer:kMe,styles:SMe}}),XMe=e(()=>{"use strict";Mn(),Ln(),s_(),Cu(),IMe={axes:[],curves:[],options:MMe={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"}},NMe=structuredClone(IMe),DMe=vi.radar,OMe=mt(()=>EC({...DMe,...Ii().radar}),"getConfig"),PMe=mt(()=>NMe.axes,"getAxes"),BMe=mt(()=>NMe.curves,"getCurves"),FMe=mt(()=>NMe.options,"getOptions"),jMe=mt(e=>{NMe.axes=e.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),zMe=mt(e=>{NMe.curves=e.map(e=>({name:e.name,label:e.label??e.name,entries:UMe(e.entries)}))},"setCurves"),UMe=mt(i=>{if(null==i[0].axis)return i.map(e=>e.value);var e=PMe();if(0===e.length)throw new Error("Axes must be populated before curves for reference entries");return e.map(t=>{var e=i.find(e=>e.axis?.$refText===t.name);if(void 0===e)throw new Error("Missing entry for axis "+t.label);return e.value})},"computeCurveEntries"),HMe=mt(e=>{e=e.reduce((e,t)=>(e[t.name]=t,e),{});NMe.options={showLegend:e.showLegend?.value??MMe.showLegend,ticks:e.ticks?.value??MMe.ticks,max:e.max?.value??MMe.max,min:e.min?.value??MMe.min,graticule:e.graticule?.value??MMe.graticule}},"setOptions"),qMe=mt(()=>{bh(),NMe=structuredClone(IMe)},"clear"),WMe={getAxes:PMe,getCurves:BMe,getOptions:FMe,setAxes:jMe,setCurves:zMe,setOptions:HMe,getConfig:OMe,clear:qMe,setAccTitle:vh,getAccTitle:xh,setDiagramTitle:Th,getDiagramTitle:Sh,getAccDescription:kh,setAccDescription:wh}}),KMe=e(()=>{"use strict";hfe(),t(),gfe(),XMe(),GMe=mt(e=>{ufe(e,WMe);var{axes:e,curves:t,options:i}=e;WMe.setAxes(e),WMe.setCurves(t),WMe.setOptions(i)},"populate"),VMe={parse:mt(async e=>{e=await afe("radar",e);I.debug(e),GMe(e)},"parse")}});function QMe(i,e,t,n,r,s,a){let o=e.length,l=Math.min(a.width,a.height)/2;t.forEach((e,t)=>{e.entries.length===o&&(e=e.entries.map((e,t)=>{t=2*Math.PI*t/o-Math.PI/2,e=ZMe(e,n,r,l);return{x:e*Math.cos(t),y:e*Math.sin(t)}}),"circle"===s?i.append("path").attr("d",JMe(e,a.curveTension)).attr("class","radarCurve-"+t):"polygon"===s&&i.append("polygon").attr("points",e.map(e=>e.x+","+e.y).join(" ")).attr("class","radarCurve-"+t))})}function ZMe(e,t,i,n){return n*(Math.min(Math.max(e,t),i)-t)/(i-t)}function JMe(t,i){let n=t.length,r=`M${t[0].x},`+t[0].y;for(let e=0;e<n;e++){var s=t[(e-1+n)%n],a=t[e],o=t[(e+1)%n],l=t[(e+2)%n],s={x:a.x+(o.x-s.x)*i,y:a.y+(o.y-s.y)*i},l={x:o.x-(l.x-a.x)*i,y:o.y-(l.y-a.y)*i};r+=` C${s.x},${s.y} ${l.x},${l.y} ${o.x},`+o.y}return r+" Z"}function eIe(s,e,t,i){if(t){let n=3*(i.width/2+i.marginRight)/4,r=3*-(i.height/2+i.marginTop)/4;e.forEach((e,t)=>{var i=s.append("g").attr("transform",`translate(${n}, ${r+20*t})`);i.append("rect").attr("width",12).attr("height",12).attr("class","radarLegendBox-"+t),i.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(e.label)})}}var tIe,iIe,nIe,rIe,sIe,aIe,oIe,lIe,cIe=e(()=>{"use strict";Mye(),tIe=mt((e,t,i,n)=>{var n=n.db,r=n.getAxes(),s=n.getCurves(),a=n.getOptions(),o=n.getConfig(),n=n.getDiagramTitle(),t=Cye(t),t=iIe(t,o),l=a.max??Math.max(...s.map(e=>Math.max(...e.entries))),c=a.min,h=Math.min(o.width,o.height)/2;nIe(t,r,h,a.ticks,a.graticule),rIe(t,r,h,o),QMe(t,r,s,c,l,a.graticule,o),eIe(t,s,a.showLegend,o),t.append("text").attr("class","radarTitle").text(n).attr("x",0).attr("y",-o.height/2-o.marginTop)},"draw"),iIe=mt((e,t)=>{let i=t.width+t.marginLeft+t.marginRight,n=t.height+t.marginTop+t.marginBottom,r=t.marginLeft+t.width/2,s=t.marginTop+t.height/2;return e.attr("viewbox",`0 0 ${i} `+n).attr("width",i).attr("height",n),e.append("g").attr("transform",`translate(${r}, ${s})`)},"drawFrame"),nIe=mt((r,s,a,o,e)=>{if("circle"===e)for(let e=0;e<o;e++){var t=a*(e+1)/o;r.append("circle").attr("r",t).attr("class","radarGraticule")}else if("polygon"===e){let n=s.length;for(let t=0;t<o;t++){let i=a*(t+1)/o,e=s.map((e,t)=>{t=2*t*Math.PI/n-Math.PI/2;return i*Math.cos(t)+","+i*Math.sin(t)}).join(" ");r.append("polygon").attr("points",e).attr("class","radarGraticule")}}},"drawGraticule"),rIe=mt((t,i,n,r)=>{var s=i.length;for(let e=0;e<s;e++){var a=i[e].label,o=2*e*Math.PI/s-Math.PI/2;t.append("line").attr("x1",0).attr("y1",0).attr("x2",n*r.axisScaleFactor*Math.cos(o)).attr("y2",n*r.axisScaleFactor*Math.sin(o)).attr("class","radarAxisLine"),t.append("text").text(a).attr("x",n*r.axisLabelFactor*Math.cos(o)).attr("y",n*r.axisLabelFactor*Math.sin(o)).attr("class","radarAxisLabel")}},"drawAxes"),mt(QMe,"drawCurves"),mt(ZMe,"relativeRadius"),mt(JMe,"closedRoundCurve"),mt(eIe,"drawLegend"),sIe={draw:tIe}}),hIe=e(()=>{"use strict";s_(),Cn(),Mn(),aIe=mt((t,i)=>{let n="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++){var r=t["cScale"+e];n+=`
.radarCurve-${e} { .radarCurve-${e} {
color: ${r}; color: ${r};
fill: ${r}; fill: ${r};
@@ -2438,7 +2438,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},d={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(v==d?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[v]||v,line:g.yylineno,loc:m,expected:E})}if(k[0]instanceof Array&&1<k.length)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+v);switch(k[0]){case 1:n.push(v),s.push(g.yytext),a.push(g.yylloc),n.push(k[1]),v=null,x?(v=x,x=null):(h=g.yyleng,l=g.yytext,c=g.yylineno,m=g.yylloc,0<u&&u--);break;case 2:if(S=this.productions_[k[1]][1],_.$=s[s.length-S],_._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),typeof(C=this.performAction.apply(_,[l,h,c,f.yy,k[1],s,a].concat(p)))<"u")return C;S&&(n=n.slice(0,-1*S*2),s=s.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[k[1]][0]),s.push(_.$),a.push(_._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0},"parse")},d={EOF:1,parseError:mt(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:mt(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:mt(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:mt(function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g),e=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,this.match.split(/(?:\r\n?|\n)/g)),n=(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===e.length?this.yylloc.first_column:0)+e[e.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:mt(function(){return this._more=!0,this},"more"),reject:mt(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+` `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:mt(function(e){this.unput(this.match.slice(e))},"less"),pastInput:mt(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:mt(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:mt(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+`
`+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+t+"^"},"showPosition"),test_match:mt(function(e,t){var i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)&&(n.yylloc.range=this.yylloc.range.slice(0)),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:mt(function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length;s++)if((i=this._input.match(this.rules[r[s]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:mt(function(e,t,i,n){switch(i){case 0:return 10;case 1:return e.getLogger().debug("Found space-block"),31;case 2:return e.getLogger().debug("Found nl-block"),31;case 3:return e.getLogger().debug("Found space-block"),29;case 4:e.getLogger().debug(".",t.yytext);break;case 5:e.getLogger().debug("_",t.yytext);break;case 6:return 5;case 7:return t.yytext=-1,28;case 8:return t.yytext=t.yytext.replace(/columns\s+/,""),e.getLogger().debug("COLUMNS (LEX)",t.yytext),28;case 9:this.pushState("md_string");break;case 10:return"MD_STR";case 11:this.popState();break;case 12:this.pushState("string");break;case 13:e.getLogger().debug("LEX: POPPING STR:",t.yytext),this.popState();break;case 14:return e.getLogger().debug("LEX: STR end:",t.yytext),"STR";case 15:return t.yytext=t.yytext.replace(/space\:/,""),e.getLogger().debug("SPACE NUM (LEX)",t.yytext),21;case 16:return t.yytext="1",e.getLogger().debug("COLUMNS (LEX)",t.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 35:this.popState();break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:case 39:return this.popState(),e.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),e.getLogger().debug("Lex: ))"),"NODE_DEND";case 41:case 42:return this.popState(),e.getLogger().debug("Lex: (("),"NODE_DEND";case 43:return this.popState(),e.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),e.getLogger().debug("Lex: -)"),"NODE_DEND";case 45:return this.popState(),e.getLogger().debug("Lex: (("),"NODE_DEND";case 46:return this.popState(),e.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),e.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),e.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:case 50:return this.popState(),e.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),e.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),e.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),e.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),e.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return e.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return e.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return e.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:return e.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return e.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 60:case 61:case 62:return e.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 63:return e.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return e.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 65:return e.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 66:case 67:case 68:case 69:case 70:case 71:case 72:return this.pushState("NODE"),36;case 73:return e.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),e.getLogger().debug("LEX ARR START"),38;case 75:return e.getLogger().debug("Lex: NODE_ID",t.yytext),32;case 76:return e.getLogger().debug("Lex: EOF",t.yytext),8;case 77:case 78:this.pushState("md_string");break;case 79:return"NODE_DESCR";case 80:this.popState();break;case 81:e.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:e.getLogger().de Line truncated `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:mt(function(){return this.next()||this.lex()},"lex"),begin:mt(function(e){this.conditionStack.push(e)},"begin"),popState:mt(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:mt(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:mt(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:mt(function(e){this.begin(e)},"pushState"),stateStackSize:mt(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:mt(function(e,t,i,n){switch(i){case 0:return 10;case 1:return e.getLogger().debug("Found space-block"),31;case 2:return e.getLogger().debug("Found nl-block"),31;case 3:return e.getLogger().debug("Found space-block"),29;case 4:e.getLogger().debug(".",t.yytext);break;case 5:e.getLogger().debug("_",t.yytext);break;case 6:return 5;case 7:return t.yytext=-1,28;case 8:return t.yytext=t.yytext.replace(/columns\s+/,""),e.getLogger().debug("COLUMNS (LEX)",t.yytext),28;case 9:this.pushState("md_string");break;case 10:return"MD_STR";case 11:this.popState();break;case 12:this.pushState("string");break;case 13:e.getLogger().debug("LEX: POPPING STR:",t.yytext),this.popState();break;case 14:return e.getLogger().debug("LEX: STR end:",t.yytext),"STR";case 15:return t.yytext=t.yytext.replace(/space\:/,""),e.getLogger().debug("SPACE NUM (LEX)",t.yytext),21;case 16:return t.yytext="1",e.getLogger().debug("COLUMNS (LEX)",t.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 35:this.popState();break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:case 39:return this.popState(),e.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),e.getLogger().debug("Lex: ))"),"NODE_DEND";case 41:case 42:return this.popState(),e.getLogger().debug("Lex: (("),"NODE_DEND";case 43:return this.popState(),e.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),e.getLogger().debug("Lex: -)"),"NODE_DEND";case 45:return this.popState(),e.getLogger().debug("Lex: (("),"NODE_DEND";case 46:return this.popState(),e.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),e.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),e.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:case 50:return this.popState(),e.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),e.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),e.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),e.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),e.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return e.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return e.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return e.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:return e.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return e.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 60:case 61:case 62:return e.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 63:return e.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return e.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 65:return e.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 66:case 67:case 68:case 69:case 70:case 71:case 72:return this.pushState("NODE"),36;case 73:return e.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),e.getLogger().debug("LEX ARR START"),38;case 75:return e.getLogger().debug("Lex: NODE_ID",t.yytext),32;case 76:return e.getLogger().debug("Lex: EOF",t.yytext),8;case 77:case 78:this.pushState("md_string");break;case 79:return"NODE_DESCR";case 80:this.popState();break;case 81:e.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:e.getLogger().de Line truncated
font-family: ${e.fontFamily}; font-family: ${e.fontFamily};
color: ${e.nodeTextColor||e.textColor}; color: ${e.nodeTextColor||e.textColor};
} }
@@ -2551,10 +2551,10 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
fill: ${e.textColor}; fill: ${e.textColor};
} }
${GK()} ${GK()}
`,"getStyles"),VIe=GIe}),lNe=e(()=>{"use strict";t(),YIe=mt((t,e,i,n)=>{e.forEach(e=>{rNe[e](t,i,n)})},"insertMarkers"),XIe=mt((e,t,i)=>{I.trace("Making markers for ",i),e.append("defs").append("marker").attr("id",i+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),KIe=mt((e,t,i)=>{e.append("defs").append("marker").attr("id",i+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),ZIe=mt((e,t,i)=>{e.append("defs").append("marker").attr("id",i+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),QIe=mt((e,t,i)=>{e.append("defs").append("marker").attr("id",i+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),JIe=mt((e,t,i)=>{e.append("defs").append("marker").attr("id",i+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",i+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),eNe=mt((e,t,i)=>{e.append("marker").attr("id",i+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",i+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),tNe=mt((e,t,i)=>{e.append("marker").attr("id",i+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",i+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),iNe=mt((e,t,i)=>{e.append("marker").attr("id",i+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-das Line truncated `,"getStyles"),VIe=GIe}),lNe=e(()=>{"use strict";t(),YIe=mt((t,e,i,n)=>{e.forEach(e=>{rNe[e](t,i,n)})},"insertMarkers"),XIe=mt((e,t,i)=>{I.trace("Making markers for ",i),e.append("defs").append("marker").attr("id",i+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),KIe=mt((e,t,i)=>{e.append("defs").append("marker").attr("id",i+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),QIe=mt((e,t,i)=>{e.append("defs").append("marker").attr("id",i+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),ZIe=mt((e,t,i)=>{e.append("defs").append("marker").attr("id",i+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",i+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),JIe=mt((e,t,i)=>{e.append("defs").append("marker").attr("id",i+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",i+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),eNe=mt((e,t,i)=>{e.append("marker").attr("id",i+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",i+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),tNe=mt((e,t,i)=>{e.append("marker").attr("id",i+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",i+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),iNe=mt((e,t,i)=>{e.append("marker").attr("id",i+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-das Line truncated
outsidePoint: ${JSON.stringify(n)} outsidePoint: ${JSON.stringify(n)}
insidePoint : ${JSON.stringify(r)} insidePoint : ${JSON.stringify(r)}
node : x:${e.x} y:${e.y} w:${e.width} h:`+e.height);let s=e.x,t=e.y,i=Math.abs(s-r.x),a=e.width/2,o=r.x<n.x?a-i:a+i,l=e.height/2,c=Math.abs(n.y-r.y),h=Math.abs(n.x-r.x);var u;if(Math.abs(t-n.y)*a>Math.abs(s-n.x)*l)return e=r.y<n.y?n.y-l-t:t-l-n.y,o=h*e/c,u={x:r.x<n.x?r.x+o:r.x-h+o,y:r.y<n.y?r.y+c-e:r.y-c+e},0===o&&(u.x=n.x,u.y=n.y),0===h&&(u.x=n.x),0===c&&(u.y=n.y),I.debug(`abc89 topp/bott calc, Q ${c}, q ${e}, R ${h}, r `+o,u),u;{let e=c*(o=r.x<n.x?n.x-a-s:s-a-n.x)/h,t=r.x<n.x?r.x+h-o:r.x-h+o,i=r.y<n.y?r.y+e:r.y-e;return I.debug(`sides calc abc89, Q ${c}, q ${e}, R ${h}, r `+o,{_x:t,_y:i}),0===o&&(t=n.x,i=n.y),0===h&&(t=n.x),0===c&&(i=n.y),{x:t,y:i}}},"intersection"),INe=mt((e,n)=>{I.debug("abc88 cutPathAtIntersect",e,n);let r=[],s=e[0],a=!1;return e.forEach(e=>{if(RNe(n,e)||a)s=e,a||r.push(e);else{let t=MNe(n,s,e),i=!1;r.forEach(e=>{i=i||e.x===t.x&&e.y===t.y}),r.some(e=>e.x===t.x&&e.y===t.y)||r.push(t),a=!0}}),r},"cutPathAtIntersect"),NNe=mt(function(e,t,i,n,r,s,a){let o=i.points,l=(I.debug("abc88 InsertEdge: edge=",i,"e=",t),!1),c=s.node(t.v);s=s.node(t.w);s?.intersect&&c?.intersect&&((o=o.slice(1,i.points.length-1)).unshift(c.intersect(o[0])),o.push(s.intersect(o[o.length-1]))),i.toCluster&&(I.debug("to cluster abc88",n[i.toCluster]),o=INe(i.points,n[i.toCluster].node),l=!0),i.fromCluster&&(I.debug("from cluster abc88",n[i.fromCluster]),o=INe(o.reverse(),n[i.fromCluster].node).reverse(),l=!0);let h=o.filter(e=>!Number.isNaN(e.y)),u=x5,{x:d,y:p}=(!i.curve||"graph"!==r&&"flowchart"!==r||(u=i.curve),rD(i)),g=r5().x(d).y(p).curve(u),f;switch(i.thickness){case"normal":f="edge-thickness-normal";break;case"thick":case"invisible":f="edge-thickness-thick";break;default:f=""}switch(i.pattern){case"solid":f+=" edge-pattern-solid";break;case"dotted":f+=" edge-pattern-dotted";break;case"dashed":f+=" edge-pattern-dashed"}let m=e.append("path").attr("d",g(h)).attr("id",i.id).attr("class"," "+f+(i.classes?" "+i.classes:"")).attr("style",i.style),y="";(N().flowchart.arrowMarkerAbsolute||N().state.arrowMarkerAbsolute)&&(y=Hc(!0)),wNe(m,i,y,a,r);t={};return l&&(t.updatedPath=o),t.originalPath=i.points,t},"insertEdge")}),BNe=e(()=>{"use strict";DNe=mt(e=>{var t,i=new Set;for(t of e)switch(t){case"x":i.add("right"),i.add("left");break;case"y":i.add("up"),i.add("down");break;default:i.add(t)}return i},"expandAndDeduplicateDirections"),ONe=mt((e,t,i)=>{var e=DNe(e),n=t.height+2*i.padding,r=n/2,t=t.width+2*r+i.padding,i=i.padding/2;return e.has("right")&&e.has("left")&&e.has("up")&&e.has("down")?[{x:0,y:0},{x:r,y:0},{x:t/2,y:2*i},{x:t-r,y:0},{x:t,y:0},{x:t,y:-n/3},{x:t+2*i,y:-n/2},{x:t,y:-2*n/3},{x:t,y:-n},{x:t-r,y:-n},{x:t/2,y:-n-2*i},{x:r,y:-n},{x:0,y:-n},{x:0,y:-2*n/3},{x:-2*i,y:-n/2},{x:0,y:-n/3}]:e.has("right")&&e.has("left")&&e.has("up")?[{x:r,y:0},{x:t-r,y:0},{x:t,y:-n/2},{x:t-r,y:-n},{x:r,y:-n},{x:0,y:-n/2}]:e.has("right")&&e.has("left")&&e.has("down")?[{x:0,y:0},{x:r,y:-n},{x:t-r,y:-n},{x:t,y:0}]:e.has("right")&&e.has("up")&&e.has("down")?[{x:0,y:0},{x:t,y:-r},{x:t,y:r-n},{x:0,y:-n}]:e.has("left")&&e.has("up")&&e.has("down")?[{x:t,y:0},{x:0,y:-r},{x:0,y:r-n},{x:t,y:-n}]:e.has("right")&&e.has("left")?[{x:r,y:0},{x:r,y:-i},{x:t-r,y:-i},{x:t-r,y:0},{x:t,y:-n/2},{x:t-r,y:-n},{x:t-r,y:i-n},{x:r,y:i-n},{x:r,y:-n},{x:0,y:-n/2}]:e.has("up")&&e.has("down")?[{x:t/2,y:0},{x:0,y:-i},{x:r,y:-i},{x:r,y:i-n},{x:0,y:i-n},{x:t/2,y:-n},{x:t,y:i-n},{x:t-r,y:i-n},{x:t-r,y:-i},{x:t,y:-i}]:e.has("right")&&e.has("up")?[{x:0,y:0},{x:t,y:-r},{x:0,y:-n}]:e.has("right")&&e.has("down")?[{x:0,y:0},{x:t,y:0},{x:0,y:-n}]:e.has("left")&&e.has("up")?[{x:t,y:0},{x:0,y:-r},{x:t,y:-n}]:e.has("left")&&e.has("down")?[{x:t,y:0},{x:0,y:0},{x:t,y:-n}]:e.has("right")?[{x:r,y:-i},{x:r,y:-i},{x:t-r,y:-i},{x:t-r,y:0},{x:t,y:-n/2},{x:t-r,y:-n},{x:t-r,y:i-n},{x:r,y:i-n},{x:r,y:i-n}]:e.has("left")?[{x:r,y:0},{x:r,y:-i},{x:t-r,y:-i},{x:t-r,y:i-n},{x:r,y:i-n},{x:r,y:-n},{x:0,y:-n/2}]:e.has("up")?[{x:r,y:-i},{x:r,y:i-n},{x:0,y:i-n},{x:t/2,y:-n},{x:t,y:i-n},{x:t-r,y:i-n},{x:t-r,y:-i}]:e.has("down")?[{x:t/2,y:0},{x:0,y:-i},{x:r,y:-i},{x:r,y:i-n},{x:t-r,y:i-n},{x:t-r,y:-i},{x:t,y:-i}]:[{x:0,y:0}]},"getArrowPoints")});function FNe(e,t){return e.intersect(t)}var jNe,zNe=e(()=>{"use strict";mt(FNe,"intersectNode"),jNe=FNe});function UNe(e,t,i,n){var r=e.x,e=e.y,s=r-n.x,a=e-n.y,o=Math.sqrt(t*t*a*a+i*i*s*s),s=Math.abs(t*i*s/o),t=(n.x<r&&(s=-s),Math.abs(t*i*a/o));return{x:r+s,y:e+(t=n.y<e?-t:t)}}var HNe,qNe=e(()=>{"use strict";mt(UNe,"intersectEllipse"),HNe=UNe});function WNe(e,t,i){return HNe(e,t,t,i)}var GNe,VNe=e(()=>{"use strict";qNe(),mt(WNe,"intersectCircle"),GNe=WNe});function YNe(e,t,i,n){var r,s,a,o,l=t.y-e.y,c=e.x-t.x,h=t.x*e.y-e.x*t.y,u=l*i.x+c*i.y+h,d=l*n.x+c*n.y+h;if(!(0!=u&&0!=d&&0<u*d||(r=n.y-i.y,s=i.x-n.x,a=n.x*i.y-i.x*n.y,u=r*e.x+s*e.y+a,d=r*t.x+s*t.y+a,0!==u&&0!==d&&0<u*d)||0===(o=l*s-r*c)))return i=Math.abs(o/2),{x:(n=c*a-s*h)<0?(n-i)/o:(n+i)/o,y:(n=r*h-l*a)<0?(n-i)/o:(n+i)/o}}function XNe(e,t){return 0<e*t}var KNe,ZNe=e(()=>{"use strict";mt(YNe,"i Line truncated node : x:${e.x} y:${e.y} w:${e.width} h:`+e.height);let s=e.x,t=e.y,i=Math.abs(s-r.x),a=e.width/2,o=r.x<n.x?a-i:a+i,l=e.height/2,c=Math.abs(n.y-r.y),h=Math.abs(n.x-r.x);var u;if(Math.abs(t-n.y)*a>Math.abs(s-n.x)*l)return e=r.y<n.y?n.y-l-t:t-l-n.y,o=h*e/c,u={x:r.x<n.x?r.x+o:r.x-h+o,y:r.y<n.y?r.y+c-e:r.y-c+e},0===o&&(u.x=n.x,u.y=n.y),0===h&&(u.x=n.x),0===c&&(u.y=n.y),I.debug(`abc89 topp/bott calc, Q ${c}, q ${e}, R ${h}, r `+o,u),u;{let e=c*(o=r.x<n.x?n.x-a-s:s-a-n.x)/h,t=r.x<n.x?r.x+h-o:r.x-h+o,i=r.y<n.y?r.y+e:r.y-e;return I.debug(`sides calc abc89, Q ${c}, q ${e}, R ${h}, r `+o,{_x:t,_y:i}),0===o&&(t=n.x,i=n.y),0===h&&(t=n.x),0===c&&(i=n.y),{x:t,y:i}}},"intersection"),INe=mt((e,n)=>{I.debug("abc88 cutPathAtIntersect",e,n);let r=[],s=e[0],a=!1;return e.forEach(e=>{if(RNe(n,e)||a)s=e,a||r.push(e);else{let t=MNe(n,s,e),i=!1;r.forEach(e=>{i=i||e.x===t.x&&e.y===t.y}),r.some(e=>e.x===t.x&&e.y===t.y)||r.push(t),a=!0}}),r},"cutPathAtIntersect"),NNe=mt(function(e,t,i,n,r,s,a){let o=i.points,l=(I.debug("abc88 InsertEdge: edge=",i,"e=",t),!1),c=s.node(t.v);s=s.node(t.w);s?.intersect&&c?.intersect&&((o=o.slice(1,i.points.length-1)).unshift(c.intersect(o[0])),o.push(s.intersect(o[o.length-1]))),i.toCluster&&(I.debug("to cluster abc88",n[i.toCluster]),o=INe(i.points,n[i.toCluster].node),l=!0),i.fromCluster&&(I.debug("from cluster abc88",n[i.fromCluster]),o=INe(o.reverse(),n[i.fromCluster].node).reverse(),l=!0);let h=o.filter(e=>!Number.isNaN(e.y)),u=x5,{x:d,y:p}=(!i.curve||"graph"!==r&&"flowchart"!==r||(u=i.curve),rD(i)),g=r5().x(d).y(p).curve(u),f;switch(i.thickness){case"normal":f="edge-thickness-normal";break;case"thick":case"invisible":f="edge-thickness-thick";break;default:f=""}switch(i.pattern){case"solid":f+=" edge-pattern-solid";break;case"dotted":f+=" edge-pattern-dotted";break;case"dashed":f+=" edge-pattern-dashed"}let m=e.append("path").attr("d",g(h)).attr("id",i.id).attr("class"," "+f+(i.classes?" "+i.classes:"")).attr("style",i.style),y="";(N().flowchart.arrowMarkerAbsolute||N().state.arrowMarkerAbsolute)&&(y=Hc(!0)),wNe(m,i,y,a,r);t={};return l&&(t.updatedPath=o),t.originalPath=i.points,t},"insertEdge")}),BNe=e(()=>{"use strict";DNe=mt(e=>{var t,i=new Set;for(t of e)switch(t){case"x":i.add("right"),i.add("left");break;case"y":i.add("up"),i.add("down");break;default:i.add(t)}return i},"expandAndDeduplicateDirections"),ONe=mt((e,t,i)=>{var e=DNe(e),n=t.height+2*i.padding,r=n/2,t=t.width+2*r+i.padding,i=i.padding/2;return e.has("right")&&e.has("left")&&e.has("up")&&e.has("down")?[{x:0,y:0},{x:r,y:0},{x:t/2,y:2*i},{x:t-r,y:0},{x:t,y:0},{x:t,y:-n/3},{x:t+2*i,y:-n/2},{x:t,y:-2*n/3},{x:t,y:-n},{x:t-r,y:-n},{x:t/2,y:-n-2*i},{x:r,y:-n},{x:0,y:-n},{x:0,y:-2*n/3},{x:-2*i,y:-n/2},{x:0,y:-n/3}]:e.has("right")&&e.has("left")&&e.has("up")?[{x:r,y:0},{x:t-r,y:0},{x:t,y:-n/2},{x:t-r,y:-n},{x:r,y:-n},{x:0,y:-n/2}]:e.has("right")&&e.has("left")&&e.has("down")?[{x:0,y:0},{x:r,y:-n},{x:t-r,y:-n},{x:t,y:0}]:e.has("right")&&e.has("up")&&e.has("down")?[{x:0,y:0},{x:t,y:-r},{x:t,y:r-n},{x:0,y:-n}]:e.has("left")&&e.has("up")&&e.has("down")?[{x:t,y:0},{x:0,y:-r},{x:0,y:r-n},{x:t,y:-n}]:e.has("right")&&e.has("left")?[{x:r,y:0},{x:r,y:-i},{x:t-r,y:-i},{x:t-r,y:0},{x:t,y:-n/2},{x:t-r,y:-n},{x:t-r,y:i-n},{x:r,y:i-n},{x:r,y:-n},{x:0,y:-n/2}]:e.has("up")&&e.has("down")?[{x:t/2,y:0},{x:0,y:-i},{x:r,y:-i},{x:r,y:i-n},{x:0,y:i-n},{x:t/2,y:-n},{x:t,y:i-n},{x:t-r,y:i-n},{x:t-r,y:-i},{x:t,y:-i}]:e.has("right")&&e.has("up")?[{x:0,y:0},{x:t,y:-r},{x:0,y:-n}]:e.has("right")&&e.has("down")?[{x:0,y:0},{x:t,y:0},{x:0,y:-n}]:e.has("left")&&e.has("up")?[{x:t,y:0},{x:0,y:-r},{x:t,y:-n}]:e.has("left")&&e.has("down")?[{x:t,y:0},{x:0,y:0},{x:t,y:-n}]:e.has("right")?[{x:r,y:-i},{x:r,y:-i},{x:t-r,y:-i},{x:t-r,y:0},{x:t,y:-n/2},{x:t-r,y:-n},{x:t-r,y:i-n},{x:r,y:i-n},{x:r,y:i-n}]:e.has("left")?[{x:r,y:0},{x:r,y:-i},{x:t-r,y:-i},{x:t-r,y:i-n},{x:r,y:i-n},{x:r,y:-n},{x:0,y:-n/2}]:e.has("up")?[{x:r,y:-i},{x:r,y:i-n},{x:0,y:i-n},{x:t/2,y:-n},{x:t,y:i-n},{x:t-r,y:i-n},{x:t-r,y:-i}]:e.has("down")?[{x:t/2,y:0},{x:0,y:-i},{x:r,y:-i},{x:r,y:i-n},{x:t-r,y:i-n},{x:t-r,y:-i},{x:t,y:-i}]:[{x:0,y:0}]},"getArrowPoints")});function FNe(e,t){return e.intersect(t)}var jNe,zNe=e(()=>{"use strict";mt(FNe,"intersectNode"),jNe=FNe});function UNe(e,t,i,n){var r=e.x,e=e.y,s=r-n.x,a=e-n.y,o=Math.sqrt(t*t*a*a+i*i*s*s),s=Math.abs(t*i*s/o),t=(n.x<r&&(s=-s),Math.abs(t*i*a/o));return{x:r+s,y:e+(t=n.y<e?-t:t)}}var HNe,qNe=e(()=>{"use strict";mt(UNe,"intersectEllipse"),HNe=UNe});function WNe(e,t,i){return HNe(e,t,t,i)}var GNe,VNe=e(()=>{"use strict";qNe(),mt(WNe,"intersectCircle"),GNe=WNe});function YNe(e,t,i,n){var r,s,a,o,l=t.y-e.y,c=e.x-t.x,h=t.x*e.y-e.x*t.y,u=l*i.x+c*i.y+h,d=l*n.x+c*n.y+h;if(!(0!=u&&0!=d&&0<u*d||(r=n.y-i.y,s=i.x-n.x,a=n.x*i.y-i.x*n.y,u=r*e.x+s*e.y+a,d=r*t.x+s*t.y+a,0!==u&&0!==d&&0<u*d)||0===(o=l*s-r*c)))return i=Math.abs(o/2),{x:(n=c*a-s*h)<0?(n-i)/o:(n+i)/o,y:(n=r*h-l*a)<0?(n-i)/o:(n+i)/o}}function XNe(e,t){return 0<e*t}var KNe,QNe=e(()=>{"use strict";mt(YNe,"i Line truncated
.edge { .edge {
stroke-width: ${e.archEdgeWidth}; stroke-width: ${e.archEdgeWidth};
stroke: ${e.archEdgeColor}; stroke: ${e.archEdgeColor};
@@ -2585,11 +2585,11 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
display: -webkit-box; display: -webkit-box;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
} }
`,"getStyles"),GOe=WOe}),iPe=W((i,n)=>{"use strict";mt(function(e,t){"object"==typeof i&&"object"==typeof n?n.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof i?i.layoutBase=t():e.layoutBase=t()},"webpackUniversalModuleDefinition")(i,function(){return i=[function(e,t,i){function n(){}mt(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_HALF_SIZE=(n.SIMPLE_NODE_SIZE=40)/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.INITIAL_WORLD_BOUNDARY=(n.WORLD_BOUNDARY=1e6)/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,e.exports=n},function(e,t,i){var n,r=i(2),s=i(8),a=i(9);function o(e,t,i){r.call(this,i),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=i,this.bendpoints=[],this.source=e,this.target=t}for(n in mt(o,"LEdge"),o.prototype=Object.create(r.prototype),r)o[n]=r[n];o.prototype.getSource=function(){return this.source},o.prototype.getTarget=function(){return this.target},o.prototype.isInterGraph=function(){return this.isInterGraph},o.prototype.getLength=function(){return this.length},o.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},o.prototype.getBendpoints=function(){return this.bendpoints},o.prototype.getLca=function(){return this.lca},o.prototype.getSourceInLca=function(){return this.sourceInLca},o.prototype.getTargetInLca=function(){return this.targetInLca},o.prototype.getOtherEnd=function(e){if(this.source===e)return this.target;if(this.target===e)return this.source;throw"Node is not incident with this edge"},o.prototype.getOtherEndInGraph=function(e,t){for(var i=this.getOtherEnd(e),n=t.getGraphManager().getRoot();;){if(i.getOwner()==t)return i;if(i.getOwner()==n)break;i=i.getOwner().getParent()}return null},o.prototype.updateLength=function(){var e=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),e),this.isOverlapingSourceAndTarget||(this.lengthX=e[0]-e[2],this.lengthY=e[1]-e[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},o.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},e.exports=o},function(e,t,i){function n(e){this.vGraphObject=e}mt(n,"LGraphObject"),e.exports=n},function(e,t,i){var n,r=i(2),s=i(10),a=i(13),o=i(0),l=i(16),c=i(5);function h(e,t,i,n){r.call(this,n=null==i&&null==n?t:n),null!=e.graphManager&&(e=e.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=n,this.edges=[],this.graphManager=e,this.rect=null!=i&&null!=t?new a(t.x,t.y,i.width,i.height):new a}for(n in mt(h,"LNode"),h.prototype=Object.create(r.prototype),r)h[n]=r[n];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(e){this.rect.width=e},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(e){this.rect.height=e},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new c(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new c(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(e,t){this.rect.x=e.x,this.rect.y=e.y,this.rect.width=t.width,this.rect.height=t.height},h.prototype.setCenter=function(e,t){this.rect.x=e-this.rect.width/2,this.rect.y=t-this.rect.height/2},h.prototype.setLocation=function(e,t){this.rect.x=e,this.rect.y=t},h.prototype.moveBy=function(e,t){this.rect.x+=e,this.rect.y+=t},h.prototype.getEdgeListToNode=function(t){var i=[],n=this;return n.edges.forEach(function(e){if(e.target==t){if(e.source!=n)throw"Incorrect edge source!";i.push(e)}}),i},h.prototype.getEdgesBetween=function(t){var i=[],n=this;return n.edges.forEach(function(e){if(e.source!=n&&e.target!=n)throw"Incorrect edge source and/or target";e.target!=t&&e. Line truncated `,"getStyles"),GOe=WOe}),iPe=W((i,n)=>{"use strict";mt(function(e,t){"object"==typeof i&&"object"==typeof n?n.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof i?i.layoutBase=t():e.layoutBase=t()},"webpackUniversalModuleDefinition")(i,function(){return i=[function(e,t,i){function n(){}mt(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_HALF_SIZE=(n.SIMPLE_NODE_SIZE=40)/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.INITIAL_WORLD_BOUNDARY=(n.WORLD_BOUNDARY=1e6)/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,e.exports=n},function(e,t,i){var n,r=i(2),s=i(8),a=i(9);function o(e,t,i){r.call(this,i),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=i,this.bendpoints=[],this.source=e,this.target=t}for(n in mt(o,"LEdge"),o.prototype=Object.create(r.prototype),r)o[n]=r[n];o.prototype.getSource=function(){return this.source},o.prototype.getTarget=function(){return this.target},o.prototype.isInterGraph=function(){return this.isInterGraph},o.prototype.getLength=function(){return this.length},o.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},o.prototype.getBendpoints=function(){return this.bendpoints},o.prototype.getLca=function(){return this.lca},o.prototype.getSourceInLca=function(){return this.sourceInLca},o.prototype.getTargetInLca=function(){return this.targetInLca},o.prototype.getOtherEnd=function(e){if(this.source===e)return this.target;if(this.target===e)return this.source;throw"Node is not incident with this edge"},o.prototype.getOtherEndInGraph=function(e,t){for(var i=this.getOtherEnd(e),n=t.getGraphManager().getRoot();;){if(i.getOwner()==t)return i;if(i.getOwner()==n)break;i=i.getOwner().getParent()}return null},o.prototype.updateLength=function(){var e=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),e),this.isOverlapingSourceAndTarget||(this.lengthX=e[0]-e[2],this.lengthY=e[1]-e[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},o.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},e.exports=o},function(e,t,i){function n(e){this.vGraphObject=e}mt(n,"LGraphObject"),e.exports=n},function(e,t,i){var n,r=i(2),s=i(10),a=i(13),o=i(0),l=i(16),c=i(5);function h(e,t,i,n){r.call(this,n=null==i&&null==n?t:n),null!=e.graphManager&&(e=e.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=n,this.edges=[],this.graphManager=e,this.rect=null!=i&&null!=t?new a(t.x,t.y,i.width,i.height):new a}for(n in mt(h,"LNode"),h.prototype=Object.create(r.prototype),r)h[n]=r[n];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(e){this.rect.width=e},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(e){this.rect.height=e},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new c(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new c(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(e,t){this.rect.x=e.x,this.rect.y=e.y,this.rect.width=t.width,this.rect.height=t.height},h.prototype.setCenter=function(e,t){this.rect.x=e-this.rect.width/2,this.rect.y=t-this.rect.height/2},h.prototype.setLocation=function(e,t){this.rect.x=e,this.rect.y=t},h.prototype.moveBy=function(e,t){this.rect.x+=e,this.rect.y+=t},h.prototype.getEdgeListToNode=function(t){var i=[],n=this;return n.edges.forEach(function(e){if(e.target==t){if(e.source!=n)throw"Incorrect edge source!";i.push(e)}}),i},h.prototype.getEdgesBetween=function(t){var i=[],n=this;return n.edges.forEach(function(e){if(e.source!=n&&e.target!=n)throw"Incorrect edge source and/or target";e.target!=t&&e. Line truncated
translate(${d}, ${p-i.height/2}) translate(${d}, ${p-i.height/2})
translate(${y*v.width/2}, ${b*v.height/2}) translate(${y*v.width/2}, ${b*v.height/2})
rotate(${-1*y*b*45}, 0, ${i.height/2}) rotate(${-1*y*b*45}, 0, ${i.height/2})
`))}}}))},"drawEdges"),KOe=mt(async function(l,e){let c=.75*SOe("padding"),h=SOe("fontSize"),u=SOe("iconSize")/2;await Promise.all(e.nodes().map(async n=>{var r=wOe(n);if("group"===r.type){var{h:n,w:s,x1:a,y1:o}=n.boundingBox();l.append("rect").attr("x",a+u).attr("y",o+u).attr("width",s).attr("height",n).attr("class","node-bkg");let e=l.append("g"),t=a,i=o;r.icon&&((n=e.append("g")).html(`<g>${await je(r.icon,{height:c,width:c,fallbackPrefix:YOe.prefix})}</g>`),n.attr("transform","translate("+(t+u+1)+", "+(i+u+1)+")"),t+=c,i+=h/2-1-2),r.label&&(a=e.append("g"),await J$(a,r.label,{useHtmlLabels:!1,width:s,classes:"architecture-service-label"},N()),a.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),a.attr("transform","translate("+(t+u+4)+", "+(i+u+2)+")"))}}))},"drawGroups"),ZOe=mt(async function(e,t,i){for(var n of i){var r=t.append("g"),s=SOe("iconSize"),a=(n.title&&(a=r.append("g"),await J$(a,n.title,{useHtmlLabels:!1,width:1.5*s,classes:"architecture-service-label"},N()),a.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),a.attr("transform","translate("+s/2+", "+s+")")),r.append("g")),{width:o,height:l}=(n.icon?a.html(`<g>${await je(n.icon,{height:s,width:s,fallbackPrefix:YOe.prefix})}</g>`):n.iconText?(a.html(`<g>${await je("blank",{height:s,width:s,fallbackPrefix:YOe.prefix})}</g>`),o=a.append("g").append("foreignObject").attr("width",s).attr("height",s).append("div").attr("class","node-icon-text").attr("style",`height: ${s}px;`).append("div").html(n.iconText),l=parseInt(window.getComputedStyle(o.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16,o.attr("style",`-webkit-line-clamp: ${Math.floor((s-2)/l)};`)):a.append("path").attr("class","node-bkg").attr("id","node-"+n.id).attr("d",`M0 ${s} v${-s} q0,-5 5,-5 h${s} q5,0 5,5 v${s} H0 Z`),r.attr("class","architecture-service"),r._groups[0][0].getBBox());n.width=o,n.height=l,e.setElementForId(n.id,r)}return 0},"drawServices"),QOe=mt(function(r,s,e){e.forEach(e=>{var t=s.append("g"),i=SOe("iconSize"),{width:i,height:n}=(t.append("g").append("rect").attr("id","node-"+e.id).attr("fill-opacity","0").attr("width",i).attr("height",i),t.attr("class","architecture-junction"),t._groups[0][0].getBBox());t.width=i,t.height=n,r.setElementForId(e.id,t)})},"drawJunctions")});function oPe(e,t){e.forEach(e=>{t.add({group:"nodes",data:{type:"service",id:e.id,icon:e.icon,label:e.title,parent:e.in,width:zOe().iconSize,height:zOe().iconSize},classes:"node-service"})})}function lPe(e,t){e.forEach(e=>{t.add({group:"nodes",data:{type:"junction",id:e.id,parent:e.in,width:zOe().iconSize,height:zOe().iconSize},classes:"node-junction"})})}function cPe(i,e){e.nodes().map(e=>{var t=wOe(e);"group"!==t.type&&(t.x=e.position().x,t.y=e.position().y,i.getElementById(t.id).attr("transform","translate("+(t.x||0)+","+(t.y||0)+")"))})}function hPe(e,t){e.forEach(e=>{t.add({group:"nodes",data:{type:"group",id:e.id,icon:e.icon,label:e.title,parent:e.in},classes:"node-group"})})}function uPe(e,h){e.forEach(e=>{var{lhsId:t,rhsId:i,lhsInto:n,lhsGroup:r,rhsInto:s,lhsDir:a,rhsDir:o,rhsGroup:l,title:c}=e,e=uOe(e.lhsDir,e.rhsDir)?"segments":"straight";h.add({group:"edges",data:{id:t+"-"+i,label:c,source:t,sourceDir:a,sourceArrow:n,sourceGroup:r,sourceEndpoint:"L"===a?"0 50%":"R"===a?"100% 50%":"T"===a?"50% 0":"50% 100%",target:i,targetDir:o,targetArrow:s,targetGroup:l,targetEndpoint:"L"===o?"0 50%":"R"===o?"100% 50%":"T"===o?"50% 0":"50% 100%"},classes:e})})}function dPe(a,e,u){let t=mt((e,h)=>Object.entries(e).reduce((i,[n,e])=>{let r=0,s=Object.entries(e);if(1===s.length)i[n]=s[0][1];else for(let t=0;t<s.length-1;t++)for(let e=t+1;e<s.length;e++){var[a,o]=s[t],[l,c]=s[e];u[a]?.[l]===h||"default"===a||"default"===l?(i[n]??=[],i[n]=[...i[n],...o,...c]):(i[n+"-"+r++]=o,i[n+"-"+r++]=c)}return i},{}),"flattenAlignments"),i=e.map(e=>{let r={},s={};return Object.entries(e).forEach(([e,[t,i]])=>{var n=a.getNode(e)?.in??"default";r[i]??={},r[i][n]??=[],r[i][n].push(e),s[t]??={},s[t][n]??=[],s[t][n].push(e)}),{horiz:Object.values(t(r,"horizontal")).filter(e=>1<e.length),vert:Object.values(t(s,"vertical")).filter(e=>1<e.length)}}),[n,r]=i.reduce(([e,t],{horiz:i,vert:n})=>[[...e,...i],[...t,...n]],[[],[]]);return{horizontal:n,vertical:r}}function pPe(e){let l=[],c=mt(e=>e[0]+","+e[1],"posToStr"),h=mt(e=>e.split(",").map(e=>parseInt(e)),"strToPos");return e.forEach(e=>{let s=Object.fromEntries(Object.entries(e).map(([e,t])=>[c(t),e])),a=[c([0,0])],o={},t={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;0<a.length;){var i=a.shift();if(i){o[i]=1;let r=s[i];if(r){let n=h(i);Object.entries(t).forEach(([e,t])=>{var t=c([n[0]+t[0],n[1]+t[1]]),i=s[t];i&&!o[t]&&(a.push(t),l.push({[rOe[e]]:i,[rOe[oOe(e)]]:r,gap:1.5*zOe().iconSize}))})}}}}),l}function gPe(r,s,l,c,h,{spatialMaps:u,groupAlignments:d}){return new Promise(t=>{let e=V("body").append("div").attr("id","cy").attrLine truncated `))}}}))},"drawEdges"),KOe=mt(async function(l,e){let c=.75*SOe("padding"),h=SOe("fontSize"),u=SOe("iconSize")/2;await Promise.all(e.nodes().map(async n=>{var r=wOe(n);if("group"===r.type){var{h:n,w:s,x1:a,y1:o}=n.boundingBox();l.append("rect").attr("x",a+u).attr("y",o+u).attr("width",s).attr("height",n).attr("class","node-bkg");let e=l.append("g"),t=a,i=o;r.icon&&((n=e.append("g")).html(`<g>${await je(r.icon,{height:c,width:c,fallbackPrefix:YOe.prefix})}</g>`),n.attr("transform","translate("+(t+u+1)+", "+(i+u+1)+")"),t+=c,i+=h/2-1-2),r.label&&(a=e.append("g"),await J$(a,r.label,{useHtmlLabels:!1,width:s,classes:"architecture-service-label"},N()),a.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),a.attr("transform","translate("+(t+u+4)+", "+(i+u+2)+")"))}}))},"drawGroups"),QOe=mt(async function(e,t,i){for(var n of i){var r=t.append("g"),s=SOe("iconSize"),a=(n.title&&(a=r.append("g"),await J$(a,n.title,{useHtmlLabels:!1,width:1.5*s,classes:"architecture-service-label"},N()),a.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),a.attr("transform","translate("+s/2+", "+s+")")),r.append("g")),{width:o,height:l}=(n.icon?a.html(`<g>${await je(n.icon,{height:s,width:s,fallbackPrefix:YOe.prefix})}</g>`):n.iconText?(a.html(`<g>${await je("blank",{height:s,width:s,fallbackPrefix:YOe.prefix})}</g>`),o=a.append("g").append("foreignObject").attr("width",s).attr("height",s).append("div").attr("class","node-icon-text").attr("style",`height: ${s}px;`).append("div").html(n.iconText),l=parseInt(window.getComputedStyle(o.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16,o.attr("style",`-webkit-line-clamp: ${Math.floor((s-2)/l)};`)):a.append("path").attr("class","node-bkg").attr("id","node-"+n.id).attr("d",`M0 ${s} v${-s} q0,-5 5,-5 h${s} q5,0 5,5 v${s} H0 Z`),r.attr("class","architecture-service"),r._groups[0][0].getBBox());n.width=o,n.height=l,e.setElementForId(n.id,r)}return 0},"drawServices"),ZOe=mt(function(r,s,e){e.forEach(e=>{var t=s.append("g"),i=SOe("iconSize"),{width:i,height:n}=(t.append("g").append("rect").attr("id","node-"+e.id).attr("fill-opacity","0").attr("width",i).attr("height",i),t.attr("class","architecture-junction"),t._groups[0][0].getBBox());t.width=i,t.height=n,r.setElementForId(e.id,t)})},"drawJunctions")});function oPe(e,t){e.forEach(e=>{t.add({group:"nodes",data:{type:"service",id:e.id,icon:e.icon,label:e.title,parent:e.in,width:zOe().iconSize,height:zOe().iconSize},classes:"node-service"})})}function lPe(e,t){e.forEach(e=>{t.add({group:"nodes",data:{type:"junction",id:e.id,parent:e.in,width:zOe().iconSize,height:zOe().iconSize},classes:"node-junction"})})}function cPe(i,e){e.nodes().map(e=>{var t=wOe(e);"group"!==t.type&&(t.x=e.position().x,t.y=e.position().y,i.getElementById(t.id).attr("transform","translate("+(t.x||0)+","+(t.y||0)+")"))})}function hPe(e,t){e.forEach(e=>{t.add({group:"nodes",data:{type:"group",id:e.id,icon:e.icon,label:e.title,parent:e.in},classes:"node-group"})})}function uPe(e,h){e.forEach(e=>{var{lhsId:t,rhsId:i,lhsInto:n,lhsGroup:r,rhsInto:s,lhsDir:a,rhsDir:o,rhsGroup:l,title:c}=e,e=uOe(e.lhsDir,e.rhsDir)?"segments":"straight";h.add({group:"edges",data:{id:t+"-"+i,label:c,source:t,sourceDir:a,sourceArrow:n,sourceGroup:r,sourceEndpoint:"L"===a?"0 50%":"R"===a?"100% 50%":"T"===a?"50% 0":"50% 100%",target:i,targetDir:o,targetArrow:s,targetGroup:l,targetEndpoint:"L"===o?"0 50%":"R"===o?"100% 50%":"T"===o?"50% 0":"50% 100%"},classes:e})})}function dPe(a,e,u){let t=mt((e,h)=>Object.entries(e).reduce((i,[n,e])=>{let r=0,s=Object.entries(e);if(1===s.length)i[n]=s[0][1];else for(let t=0;t<s.length-1;t++)for(let e=t+1;e<s.length;e++){var[a,o]=s[t],[l,c]=s[e];u[a]?.[l]===h||"default"===a||"default"===l?(i[n]??=[],i[n]=[...i[n],...o,...c]):(i[n+"-"+r++]=o,i[n+"-"+r++]=c)}return i},{}),"flattenAlignments"),i=e.map(e=>{let r={},s={};return Object.entries(e).forEach(([e,[t,i]])=>{var n=a.getNode(e)?.in??"default";r[i]??={},r[i][n]??=[],r[i][n].push(e),s[t]??={},s[t][n]??=[],s[t][n].push(e)}),{horiz:Object.values(t(r,"horizontal")).filter(e=>1<e.length),vert:Object.values(t(s,"vertical")).filter(e=>1<e.length)}}),[n,r]=i.reduce(([e,t],{horiz:i,vert:n})=>[[...e,...i],[...t,...n]],[[],[]]);return{horizontal:n,vertical:r}}function pPe(e){let l=[],c=mt(e=>e[0]+","+e[1],"posToStr"),h=mt(e=>e.split(",").map(e=>parseInt(e)),"strToPos");return e.forEach(e=>{let s=Object.fromEntries(Object.entries(e).map(([e,t])=>[c(t),e])),a=[c([0,0])],o={},t={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;0<a.length;){var i=a.shift();if(i){o[i]=1;let r=s[i];if(r){let n=h(i);Object.entries(t).forEach(([e,t])=>{var t=c([n[0]+t[0],n[1]+t[1]]),i=s[t];i&&!o[t]&&(a.push(t),l.push({[rOe[e]]:i,[rOe[oOe(e)]]:r,gap:1.5*zOe().iconSize}))})}}}}),l}function gPe(r,s,l,c,h,{spatialMaps:u,groupAlignments:d}){return new Promise(t=>{let e=V("body").append("div").attr("id","cy").attrLine truncated
.treemapNode.section { .treemapNode.section {
stroke: ${e.sectionStrokeColor}; stroke: ${e.sectionStrokeColor};
stroke-width: ${e.sectionStrokeWidth}; stroke-width: ${e.sectionStrokeWidth};
@@ -2612,14 +2612,14 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
fill: ${e.titleColor}; fill: ${e.titleColor};
font-size: ${e.titleFontSize}; font-size: ${e.titleFontSize};
} }
`},"getStyles"),MPe=RPe}),PPe={};G(PPe,{diagram:()=>BPe});var BPe,FPe=e(()=>{"use strict";kPe(),NPe(),DPe(),OPe(),BPe={parser:_Pe,get db(){return new xPe},renderer:$Pe,styles:MPe}}),W={},jPe=(G(W,{default:()=>eje}),Ge(),zi(),qi(),{id:"c4",detector:mt(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(M_(),L_)))["diagram"];return{id:"c4",diagram:e}},"loader")}),zPe={id:"flowchart",detector:mt((e,t)=>"dagre-wrapper"!==t?.flowchart?.defaultRenderer&&"elk"!==t?.flowchart?.defaultRenderer&&/^\s*graph/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(cZ(),rZ)))["diagram"];return{id:"flowchart",diagram:e}},"loader")},UPe="flowchart-v2",e=mt((e,t)=>"dagre-d3"!==t?.flowchart?.defaultRenderer&&("elk"===t?.flowchart?.defaultRenderer&&(t.layout="elk"),!(!/^\s*graph/.test(e)||"dagre-wrapper"!==t?.flowchart?.defaultRenderer)||/^\s*flowchart/.test(e)),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(cZ(),rZ)))["diagram"];return{id:UPe,diagram:e}},"loader"),HPe={id:UPe,detector:e,loader:G},qPe={id:"er",detector:mt(e=>/^\s*erDiagram/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(wZ(),vZ)))["diagram"];return{id:"er",diagram:e}},"loader")},WPe={id:"gitGraph",detector:mt(e=>/^\s*gitGraph/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(Ome(),Mme)))["diagram"];return{id:"gitGraph",diagram:e}},"loader")},GPe={id:"gantt",detector:mt(e=>/^\s*gantt/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(Eye(),bye)))["diagram"];return{id:"gantt",diagram:e}},"loader")},VPe={id:"info",detector:mt(e=>/^\s*info/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(ebe(),Nye)))["diagram"];return{id:"info",diagram:e}},"loader")},YPe={id:"pie",detector:mt(e=>/^\s*pie/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(ube(),sbe)))["diagram"];return{id:"pie",diagram:e}},"loader")},XPe="quadrantChart",e=mt(e=>/^\s*quadrantChart/.test(e),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(Gbe(),Ube)))["diagram"];return{id:XPe,diagram:e}},"loader"),KPe={id:XPe,detector:e,loader:G},ZPe={id:"xychart",detector:mt(e=>/^\s*xychart-beta/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(c2e(),i2e)))["diagram"];return{id:"xychart",diagram:e}},"loader")},QPe="requirement",e=mt(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(n4e(),m2e)))["diagram"];return{id:QPe,diagram:e}},"loader"),JPe={id:QPe,detector:e,loader:G},eBe={id:"sequence",detector:mt(e=>/^\s*sequenceDiagram/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(V4e(),R4e)))["diagram"];return{id:"sequence",diagram:e}},"loader")},tBe={id:"class",detector:mt((e,t)=>"dagre-wrapper"!==t?.class?.defaultRenderer&&/^\s*classDiagram/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(txe(),J4e)))["diagram"];return{id:"class",diagram:e}},"loader")},iBe="classDiagram",e=mt((e,t)=>!(!/^\s*classDiagram/.test(e)||"dagre-wrapper"!==t?.class?.defaultRenderer)||/^\s*classDiagram-v2/.test(e),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(Hxe(),ixe)))["diagram"];return{id:iBe,diagram:e}},"loader"),nBe={id:iBe,detector:e,loader:G},rBe={id:"state",detector:mt((e,t)=>"dagre-wrapper"!==t?.state?.defaultRenderer&&/^\s*stateDiagram/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(z3e(),F3e)))["diagram"];return{id:"state",diagram:e}},"loader")},sBe="stateDiagram",e=mt((e,t)=>!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&"dagre-wrapper"===t?.state?.defaultRenderer),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(x5e(),U3e)))["diagram"];return{id:sBe,diagram:e}},"loader"),aBe={id:sBe,detector:e,loader:G},oBe={id:"journey",detector:mt(e=>/^\s*journey/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(U5e(),B5e)))["diagram"];return{id:"journey",diagram:e}},"loader")};t(),Mye(),uh();var e={draw:mt((e,t,i)=>{I.debug(`rendering svg for syntax error `},"getStyles"),MPe=RPe}),PPe={};G(PPe,{diagram:()=>BPe});var BPe,FPe=e(()=>{"use strict";kPe(),NPe(),DPe(),OPe(),BPe={parser:_Pe,get db(){return new xPe},renderer:$Pe,styles:MPe}}),W={},jPe=(G(W,{default:()=>eje}),Ge(),zi(),qi(),{id:"c4",detector:mt(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(M_(),L_)))["diagram"];return{id:"c4",diagram:e}},"loader")}),zPe={id:"flowchart",detector:mt((e,t)=>"dagre-wrapper"!==t?.flowchart?.defaultRenderer&&"elk"!==t?.flowchart?.defaultRenderer&&/^\s*graph/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(cQ(),rQ)))["diagram"];return{id:"flowchart",diagram:e}},"loader")},UPe="flowchart-v2",e=mt((e,t)=>"dagre-d3"!==t?.flowchart?.defaultRenderer&&("elk"===t?.flowchart?.defaultRenderer&&(t.layout="elk"),!(!/^\s*graph/.test(e)||"dagre-wrapper"!==t?.flowchart?.defaultRenderer)||/^\s*flowchart/.test(e)),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(cQ(),rQ)))["diagram"];return{id:UPe,diagram:e}},"loader"),HPe={id:UPe,detector:e,loader:G},qPe={id:"er",detector:mt(e=>/^\s*erDiagram/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(wQ(),vQ)))["diagram"];return{id:"er",diagram:e}},"loader")},WPe={id:"gitGraph",detector:mt(e=>/^\s*gitGraph/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(Ome(),Mme)))["diagram"];return{id:"gitGraph",diagram:e}},"loader")},GPe={id:"gantt",detector:mt(e=>/^\s*gantt/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(Eye(),bye)))["diagram"];return{id:"gantt",diagram:e}},"loader")},VPe={id:"info",detector:mt(e=>/^\s*info/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(ebe(),Nye)))["diagram"];return{id:"info",diagram:e}},"loader")},YPe={id:"pie",detector:mt(e=>/^\s*pie/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(ube(),sbe)))["diagram"];return{id:"pie",diagram:e}},"loader")},XPe="quadrantChart",e=mt(e=>/^\s*quadrantChart/.test(e),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(Gbe(),Ube)))["diagram"];return{id:XPe,diagram:e}},"loader"),KPe={id:XPe,detector:e,loader:G},QPe={id:"xychart",detector:mt(e=>/^\s*xychart-beta/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(c2e(),i2e)))["diagram"];return{id:"xychart",diagram:e}},"loader")},ZPe="requirement",e=mt(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(n4e(),m2e)))["diagram"];return{id:ZPe,diagram:e}},"loader"),JPe={id:ZPe,detector:e,loader:G},eBe={id:"sequence",detector:mt(e=>/^\s*sequenceDiagram/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(V4e(),R4e)))["diagram"];return{id:"sequence",diagram:e}},"loader")},tBe={id:"class",detector:mt((e,t)=>"dagre-wrapper"!==t?.class?.defaultRenderer&&/^\s*classDiagram/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(txe(),J4e)))["diagram"];return{id:"class",diagram:e}},"loader")},iBe="classDiagram",e=mt((e,t)=>!(!/^\s*classDiagram/.test(e)||"dagre-wrapper"!==t?.class?.defaultRenderer)||/^\s*classDiagram-v2/.test(e),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(Hxe(),ixe)))["diagram"];return{id:iBe,diagram:e}},"loader"),nBe={id:iBe,detector:e,loader:G},rBe={id:"state",detector:mt((e,t)=>"dagre-wrapper"!==t?.state?.defaultRenderer&&/^\s*stateDiagram/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(z3e(),F3e)))["diagram"];return{id:"state",diagram:e}},"loader")},sBe="stateDiagram",e=mt((e,t)=>!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&"dagre-wrapper"===t?.state?.defaultRenderer),"detector"),G=mt(async()=>{var e=(await Promise.resolve().then(()=>(x5e(),U3e)))["diagram"];return{id:sBe,diagram:e}},"loader"),aBe={id:sBe,detector:e,loader:G},oBe={id:"journey",detector:mt(e=>/^\s*journey/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(U5e(),B5e)))["diagram"];return{id:"journey",diagram:e}},"loader")};t(),Mye(),uh();var e={draw:mt((e,t,i)=>{I.debug(`rendering svg for syntax error
`);var t=Cye(t),n=t.append("g");t.attr("viewBox","0 0 2412 512"),rh(t,100,512,!0),n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text("mermaid version "+i)},"draw")},lBe=e,cBe={db:{},renderer:e,parser:{parse:mt(()=>{},"parse")}},hBe="flowchart-elk",G=mt((e,t={})=>!!(/^\s*flowchart-elk/.test(e)||/^\s*flowchart|graph/.test(e)&&"elk"===t?.flowchart?.defaultRenderer)&&(t.layout="elk",!0),"detector"),e=mt(async()=>{var e=(await Promise.resolve().then(()=>(cZ(),rZ)))["diagram"];return{id:hBe,diagram:e}},"loader"),uBe={id:hBe,detector:G,loader:e},dBe={id:"timeline",detector:mt(e=>/^\s*timeline/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(zwe(),Dwe)))["diagram"];return{id:"timeline",diagram:e}},"loader")},pBe={id:"mindmap",detector:mt(e=>/^\s*mindmap/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(_Le(),eLe)))["diagram"];return{id:"mindmap",diagram:e}},"loader")},gBe={id:"kanban",detector:mt(e=>/^\s*kanban/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(VLe(),RLe)))["diagram"];return{id:"kanban",diagram:e}},"loader")},fBe={id:"sankey",detector:mt(e=>/^\s*sankey-beta/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(CMe(),aMe)))["diagram"];return{id:"sankey",diagram:e}},"loader")},mBe={id:"packet",detector:mt(e=>/^\s*packet(-beta)?/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(YMe(),LMe)))["diagram"];return{id:"packet",diagram:e}},"loader")},yBe={id:"radar",detector:mt(e=>/^\s*radar-beta/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(fIe(),uIe)))["diagram"];return{id:"radar",diagram:e}},"loader")},bBe={id:"block",detector:mt(e=>/^\s*block-beta/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(kOe(),iOe)))["diagram"];return{id:"block",diagram:e}},"loader")},vBe="architecture",G=mt(e=>/^\s*architecture/.test(e),"detector"),e=mt(async()=>{var e=(await Promise.resolve().then(()=>(wPe(),bPe)))["diagram"];return{id:vBe,diagram:e}},"loader"),xBe={id:vBe,detector:G,loader:e},wBe=(qi(),_u(),{id:"treemap",detector:mt(e=>/^\s*treemap/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(FPe(),PPe)))["diagram"];return{id:"treemap",diagram:e}},"loader")}),kBe=!1,TBe=mt(()=>{kBe||(kBe=!0,Ih("error",cBe,e=>"error"===e.toLowerCase().trim()),Ih("---",{db:{clear:mt(()=>{},"clear")},styles:{},renderer:{draw:mt(()=>{},"draw")},parser:{parse:mt(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:mt(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),et(uBe,pBe,xBe),et(jPe,gBe,nBe,tBe,qPe,GPe,VPe,YPe,JPe,eBe,HPe,zPe,dBe,WPe,aBe,rBe,oBe,KPe,fBe,mBe,ZPe,bBe,yBe,wBe))},"addDiagrams"),SBe=(t(),qi(),_u(),mt(async()=>{I.debug("Loading registered diagrams");var e=(await P Line truncated `);var t=Cye(t),n=t.append("g");t.attr("viewBox","0 0 2412 512"),rh(t,100,512,!0),n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text("mermaid version "+i)},"draw")},lBe=e,cBe={db:{},renderer:e,parser:{parse:mt(()=>{},"parse")}},hBe="flowchart-elk",G=mt((e,t={})=>!!(/^\s*flowchart-elk/.test(e)||/^\s*flowchart|graph/.test(e)&&"elk"===t?.flowchart?.defaultRenderer)&&(t.layout="elk",!0),"detector"),e=mt(async()=>{var e=(await Promise.resolve().then(()=>(cQ(),rQ)))["diagram"];return{id:hBe,diagram:e}},"loader"),uBe={id:hBe,detector:G,loader:e},dBe={id:"timeline",detector:mt(e=>/^\s*timeline/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(zwe(),Dwe)))["diagram"];return{id:"timeline",diagram:e}},"loader")},pBe={id:"mindmap",detector:mt(e=>/^\s*mindmap/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(_Le(),eLe)))["diagram"];return{id:"mindmap",diagram:e}},"loader")},gBe={id:"kanban",detector:mt(e=>/^\s*kanban/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(VLe(),RLe)))["diagram"];return{id:"kanban",diagram:e}},"loader")},fBe={id:"sankey",detector:mt(e=>/^\s*sankey-beta/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(CMe(),aMe)))["diagram"];return{id:"sankey",diagram:e}},"loader")},mBe={id:"packet",detector:mt(e=>/^\s*packet(-beta)?/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(YMe(),LMe)))["diagram"];return{id:"packet",diagram:e}},"loader")},yBe={id:"radar",detector:mt(e=>/^\s*radar-beta/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(fIe(),uIe)))["diagram"];return{id:"radar",diagram:e}},"loader")},bBe={id:"block",detector:mt(e=>/^\s*block-beta/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(kOe(),iOe)))["diagram"];return{id:"block",diagram:e}},"loader")},vBe="architecture",G=mt(e=>/^\s*architecture/.test(e),"detector"),e=mt(async()=>{var e=(await Promise.resolve().then(()=>(wPe(),bPe)))["diagram"];return{id:vBe,diagram:e}},"loader"),xBe={id:vBe,detector:G,loader:e},wBe=(qi(),_u(),{id:"treemap",detector:mt(e=>/^\s*treemap/.test(e),"detector"),loader:mt(async()=>{var e=(await Promise.resolve().then(()=>(FPe(),PPe)))["diagram"];return{id:"treemap",diagram:e}},"loader")}),kBe=!1,TBe=mt(()=>{kBe||(kBe=!0,Ih("error",cBe,e=>"error"===e.toLowerCase().trim()),Ih("---",{db:{clear:mt(()=>{},"clear")},styles:{},renderer:{draw:mt(()=>{},"draw")},parser:{parse:mt(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:mt(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),et(uBe,pBe,xBe),et(jPe,gBe,nBe,tBe,qPe,GPe,VPe,YPe,JPe,eBe,HPe,zPe,dBe,WPe,aBe,rBe,oBe,KPe,fBe,mBe,QPe,bBe,yBe,wBe))},"addDiagrams"),SBe=(t(),qi(),_u(),mt(async()=>{I.debug("Loading registered diagrams");var e=(await P Line truncated
`;try{Nh(n)}catch{var r=it(n);if(!r)throw new Ze(`Diagram ${n} not found.`);var{id:r,diagram:s}=await r();Ih(r,s)}var{db:r,parser:s,renderer:a,init:o}=Nh(n);return s.parser&&(s.parser.yy=r),r.clear?.(),o?.(i),t.title&&r.setDiagramTitle?.(t.title),await s.parse(e),new tje(n,e,r,s,a)}async render(e,t){await this.renderer.draw(this.text,e,t,this)}getParser(){return this.parser}getType(){return this.type}},mFe=(hh(),[]),yFe=mt(()=>{mFe.forEach(e=>{e()}),mFe=[]},"attachFunctions"),bFe=(t(),mt(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments"));function vFe(e){var t,i,n=e.match(Ye);return n?(i={},(t="object"!=typeof(t=FE(n[1],{schema:BE})??{})||Array.isArray(t)?{}:t).displayMode&&(i.displayMode=t.displayMode.toString()),t.title&&(i.title=t.title.toString()),t.config&&(i.config=t.config),{text:e.slice(n[0].length),metadata:i}):{text:e,metadata:{}}}Ui(),jE(),mt(vFe,"extractFrontMatter"),s_();var xFe=mt(e=>e.replace(/\r\n?/g,` `;try{Nh(n)}catch{var r=it(n);if(!r)throw new Qe(`Diagram ${n} not found.`);var{id:r,diagram:s}=await r();Ih(r,s)}var{db:r,parser:s,renderer:a,init:o}=Nh(n);return s.parser&&(s.parser.yy=r),r.clear?.(),o?.(i),t.title&&r.setDiagramTitle?.(t.title),await s.parse(e),new tje(n,e,r,s,a)}async render(e,t){await this.renderer.draw(this.text,e,t,this)}getParser(){return this.parser}getType(){return this.type}},mFe=(hh(),[]),yFe=mt(()=>{mFe.forEach(e=>{e()}),mFe=[]},"attachFunctions"),bFe=(t(),mt(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments"));function vFe(e){var t,i,n=e.match(Ye);return n?(i={},(t="object"!=typeof(t=FE(n[1],{schema:BE})??{})||Array.isArray(t)?{}:t).displayMode&&(i.displayMode=t.displayMode.toString()),t.title&&(i.title=t.title.toString()),t.config&&(i.config=t.config),{text:e.slice(n[0].length),metadata:i}):{text:e,metadata:{}}}Ui(),jE(),mt(vFe,"extractFrontMatter"),s_();var xFe=mt(e=>e.replace(/\r\n?/g,`
`).replace(/<(\w+)([^>]*)>/g,(e,t,i)=>"<"+t+i.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),wFe=mt(e=>{var{text:e,metadata:t}=vFe(e),{displayMode:t,title:i,config:n={}}=t;return t&&(n.gantt||(n.gantt={}),n.gantt.displayMode=t),{title:i,config:n,text:e}},"processFrontmatter"),kFe=mt(e=>{var t=t_.detectInit(e)??{},i=t_.detectDirective(e,"wrap");return Array.isArray(i)?t.wrap=i.some(({type:e})=>"wrap"===e):"wrap"===i?.type&&(t.wrap=!0),{text:OC(e),directive:t}},"processDirectives");function TFe(e){var t=xFe(e),t=wFe(t),i=kFe(t.text),n=EC(t.config,i.directive);return{code:e=bFe(i.text),title:t.title,config:n}}function SFe(e){e=(new TextEncoder).encode(e),e=Array.from(e,e=>String.fromCodePoint(e)).join("");return btoa(e)}mt(TFe,"preprocessDiagram"),dh(),En(),s_(),mt(SFe,"toBase64");var CFe=["foreignobject"],_Fe=["dominant-baseline"];function AFe(e){e=TFe(e);return Oi(),Di(e.config??{}),e}async function EFe(e,t){TBe();try{var{code:i,config:n}=AFe(e);return{diagramType:(await BFe(i)).type,config:n}}catch(e){if(t?.suppressErrors)return!1;throw e}}mt(AFe,"processAndSetConfigs"),mt(EFe,"parse");var $Fe=mt((e,t,i=[])=>` `).replace(/<(\w+)([^>]*)>/g,(e,t,i)=>"<"+t+i.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),wFe=mt(e=>{var{text:e,metadata:t}=vFe(e),{displayMode:t,title:i,config:n={}}=t;return t&&(n.gantt||(n.gantt={}),n.gantt.displayMode=t),{title:i,config:n,text:e}},"processFrontmatter"),kFe=mt(e=>{var t=t_.detectInit(e)??{},i=t_.detectDirective(e,"wrap");return Array.isArray(i)?t.wrap=i.some(({type:e})=>"wrap"===e):"wrap"===i?.type&&(t.wrap=!0),{text:OC(e),directive:t}},"processDirectives");function TFe(e){var t=xFe(e),t=wFe(t),i=kFe(t.text),n=EC(t.config,i.directive);return{code:e=bFe(i.text),title:t.title,config:n}}function SFe(e){e=(new TextEncoder).encode(e),e=Array.from(e,e=>String.fromCodePoint(e)).join("");return btoa(e)}mt(TFe,"preprocessDiagram"),dh(),En(),s_(),mt(SFe,"toBase64");var CFe=["foreignobject"],_Fe=["dominant-baseline"];function AFe(e){e=TFe(e);return Oi(),Di(e.config??{}),e}async function EFe(e,t){TBe();try{var{code:i,config:n}=AFe(e);return{diagramType:(await BFe(i)).type,config:n}}catch(e){if(t?.suppressErrors)return!1;throw e}}mt(AFe,"processAndSetConfigs"),mt(EFe,"parse");var $Fe=mt((e,t,i=[])=>`
.${e} ${t} { ${i.join(" !important; ")} !important; }`,"cssImportantStyles"),LFe=mt((t,i=new Map)=>{let n="";if(void 0!==t.themeCSS&&(n+=` .${e} ${t} { ${i.join(" !important; ")} !important; }`,"cssImportantStyles"),LFe=mt((t,i=new Map)=>{let n="";if(void 0!==t.themeCSS&&(n+=`
`+t.themeCSS),void 0!==t.fontFamily&&(n+=` `+t.themeCSS),void 0!==t.fontFamily&&(n+=`
:root { --mermaid-font-family: ${t.fontFamily}}`),void 0!==t.altFontFamily&&(n+=` :root { --mermaid-font-family: ${t.fontFamily}}`),void 0!==t.altFontFamily&&(n+=`
:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),i instanceof Map){let e=t.htmlLabels??t.flowchart?.htmlLabels?["> *","span"]:["rect","polygon","ellipse","circle","path"];i.forEach(t=>{gq(t.styles)||e.forEach(e=>{n+=$Fe(t.id,e,t.styles)}),gq(t.textStyles)||(n+=$Fe(t.id,"tspan",(t?.textStyles||[]).map(e=>e.replace("color","fill"))))})}return n},"createCssStyles"),RFe=mt((e,t,i,n)=>{i=LFe(e,i);return uFe(aFe(n+`{${ch(t,i,e.themeVariables)}}`),dFe)},"createUserStyles"),MFe=mt((e="",t,i)=>{let n=e;return i||t||(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=(n=n_(n)).replace(/<br>/g,"<br/>")},"cleanUpSvgCode"),IFe=mt((e="",t)=>{return`<iframe style="width:100%;height:${t?.viewBox?.baseVal?.height?t.viewBox.baseVal.height+"px":"100%"};border:0;margin:0;" src="data:text/html;charset=UTF-8;base64,${SFe(`<body style="margin:0">${e}</body>`)}" sandbox="allow-top-navigation-by-user-activation allow-popups"> :root { --mermaid-alt-font-family: ${t.altFontFamily}}`),i instanceof Map){let e=t.htmlLabels??t.flowchart?.htmlLabels?["> *","span"]:["rect","polygon","ellipse","circle","path"];i.forEach(t=>{gq(t.styles)||e.forEach(e=>{n+=$Fe(t.id,e,t.styles)}),gq(t.textStyles)||(n+=$Fe(t.id,"tspan",(t?.textStyles||[]).map(e=>e.replace("color","fill"))))})}return n},"createCssStyles"),RFe=mt((e,t,i,n)=>{i=LFe(e,i);return uFe(aFe(n+`{${ch(t,i,e.themeVariables)}}`),dFe)},"createUserStyles"),MFe=mt((e="",t,i)=>{let n=e;return i||t||(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=(n=n_(n)).replace(/<br>/g,"<br/>")},"cleanUpSvgCode"),IFe=mt((e="",t)=>{return`<iframe style="width:100%;height:${t?.viewBox?.baseVal?.height?t.viewBox.baseVal.height+"px":"100%"};border:0;margin:0;" src="data:text/html;charset=UTF-8;base64,${SFe(`<body style="margin:0">${e}</body>`)}" sandbox="allow-top-navigation-by-user-activation allow-popups">
The "iframe" tag is not supported by your browser. The "iframe" tag is not supported by your browser.
</iframe>`},"putIntoIFrame"),NFe=mt((e,t,i,n,r)=>{var s=e.append("div"),i=(s.attr("id",i),n&&s.attr("style",n),s.append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg"));return r&&i.attr("xmlns:xlink",r),i.append("g"),e},"appendDivSvgG");function DFe(e,t){return e.append("iframe").attr("id",t).attr("style","width: 100%; height: 100%;").attr("sandbox","")}mt(DFe,"sandboxedIframe");var OFe=mt((e,t,i,n)=>{e.getElementById(t)?.remove(),e.getElementById(i)?.remove(),e.getElementById(n)?.remove()},"removeExistingElements"),G=mt(async function(t,i,e){TBe();var n=AFe(i),r=(i=n.code,Ii());I.debug(r),i.length>(r?.maxTextSize??5e4)&&(i="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa");let s="#"+t,a="i"+t,o="#"+a,l="d"+t,c="#"+l,h=mt(()=>{var e=V(d?o:c).node();e&&"remove"in e&&e.remove()},"removeTempElements"),u=V("body"),d="sandbox"===r.securityLevel,p="loose"===r.securityLevel,g=r.fontFamily;void 0!==e?(e&&(e.innerHTML=""),d?(y=DFe(V(e),a),(u=V(y.nodes()[0].contentDocument.body)).node().style.margin=0):u=V(e),NFe(u,t,l,"font-family: "+g,"http://www.w3.org/1999/xlink")):(OFe(document,t,l,a),d?(y=DFe(V("body"),a),(u=V(y.nodes()[0].contentDocument.body)).node().style.margin=0):u=V("body"),NFe(u,t,l));let f,m;try{f=await fFe.fromText(i,{title:n.title})}catch(e){if(r.suppressErrorRendering)throw h(),e;f=await fFe.fromText("error"),m=e}var e=u.select(c).node(),y=f.type,n=e.firstChild,e=n.firstChild,b=f.renderer.getClasses?.(i,f),b=RFe(r,y,b,s),v=document.createElement("style");v.innerHTML=b,n.insertBefore(v,e);try{await f.renderer.draw(i,t,wye.version,f)}catch(e){throw r.suppressErrorRendering?h():lBe.draw(i,t,wye.version),e}FFe(y,u.select(c+" svg"),f.db.getAccTitle?.(),f.db.getAccDescription?.()),u.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let x=u.select(c).node().innerHTML;if(I.debug("config.arrowMarkerAbsolute",r.arrowMarkerAbsolute),x=MFe(x,d,qc(r.arrowMarkerAbsolute)),d?(b=u.select(c+" svg").node(),x=IFe(x,b)):p||(x=Dr.sanitize(x,{ADD_TAGS:CFe,ADD_ATTR:_Fe,HTML_INTEGRATION_POINTS:{foreignobject:!0}})),yFe(),m)throw m;return h(),{diagramType:y,svg:x,bindFunctions:f.db.bindFunctions}},"render");function PFe(e={}){e=at({},e),e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),$i(e),e?.theme&&e.theme in gi?e.themeVariables=gi[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=gi.default.getThemeVariables(e.themeVariables)),e="object"==typeof e?Ei(e):Ri();T(e.logLevel),TBe()}mt(PFe,"initialize");var BFe=mt((e,t={})=>{e=TFe(e).code;return fFe.fromText(e,t)},"getDiagramFromText");function FFe(e,t,i,n){pFe(t,e),gFe(t,i,n,t.attr("id"))}mt(FFe,"addA11yInfo");var jFe=Object.freeze({render:G,parse:EFe,getDiagramFromText:BFe,initialize:PFe,getConfig:Ii,setConfig:Mi,getSiteConfig:Ri,updateSiteConfig:Li,reset:mt(()=>{Oi()},"reset"),globalReset:mt(()=>{Oi(ki)},"globalReset"),defaultConfig:ki}),zFe=(T(Ii().logLevel),Oi(Ii()),ZK(),s_(),mt((e,t,i)=>{I.warn(e),AC(e)?(i&&i(e.str,e.hash),t.push({...e,message:e.str,error:e})):(i&&i(e),e instanceof Error&&t.push({str:e.message,message:e.message,hash:e.name,error:e}))},"handleError")),UFe=mt(async function(t={querySelector:".mermaid"}){try{await HFe(t)}catch(e){if(AC(e)&&I.error(e.str),JFe.parseError&&JFe.parseError(e),!t.suppressErrors)throw I.error("Use the suppressErrors option to suppress these errors"),e}},"run"),HFe=mt(async function({postRenderCallback:e,querySelector:t,nodes:i}={querySelector:".mermaid"}){var n=jFe.getConfig();I.debug(`${e?"":"No "}Callback function found`);let r;if(i)r=i;else{if(!t)throw new Error("Nodes and querySelector are both undefined");r=document.querySelectorAll(t)}I.debug(`Found ${r.length} diagrams`),void 0!==n?.startOnLoad&&(I.debug("Start On Load: "+n?.startOnLoad),jFe.updateSiteConfig({startOnLoad:n?.startOnLoad}));var s,a=new t_.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed),o=[];for(s of Array.from(r))if(I.info("Rendering diagram: "+s.id),!s.getAttribute("data-processed")){s.setAttribute("data-processed","true");var l="mermaid-"+a.next(),c=s.innerHTML,h=(c=Ve(t_.entityDecode(c)).trim().replace(/<br\s*\/?>/gi,"<br/>"),t_.detectInit(c));h&&I.debug("Detected early reinit: ",h);try{var{svg:u,bindFunctions:d}=await ZFe(l,c,s);s.innerHTML=u,e&&await e(l),d&&d(s)}catch(e){zFe(e,o,JFe.parseError)}}if(0<o.length)throw o[0]},"runThrowsErrors"),qFe=mt(function(e){jFe.initialize(e)},"initialize"),e=mt(async function(e,t,i){I.warn("mermaid.init is deprecated. Please use run instead."),e&&qFe(e);e={postRenderCallback:i,querySelector:".mermaid"};"string"==typeof t?e.querySelector=t:t&&(t instanceof HTMLElement?e.nodes=[t]:e.nodes=t),await UFe(e)},"init"),G=mt(async(e,{lazyLoad:t=!0}={})=>{TBe(),et(...e),!1===t&&await SBe()},"registerExternalDiagrams"),WFe=mt(function(){var e;JFe.startOnLoad&&(e=jFe.getConfig()["startOnLoad"],e)&&JFe.run().catch(e=>I.error Line truncated </iframe>`},"putIntoIFrame"),NFe=mt((e,t,i,n,r)=>{var s=e.append("div"),i=(s.attr("id",i),n&&s.attr("style",n),s.append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg"));return r&&i.attr("xmlns:xlink",r),i.append("g"),e},"appendDivSvgG");function DFe(e,t){return e.append("iframe").attr("id",t).attr("style","width: 100%; height: 100%;").attr("sandbox","")}mt(DFe,"sandboxedIframe");var OFe=mt((e,t,i,n)=>{e.getElementById(t)?.remove(),e.getElementById(i)?.remove(),e.getElementById(n)?.remove()},"removeExistingElements"),G=mt(async function(t,i,e){TBe();var n=AFe(i),r=(i=n.code,Ii());I.debug(r),i.length>(r?.maxTextSize??5e4)&&(i="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa");let s="#"+t,a="i"+t,o="#"+a,l="d"+t,c="#"+l,h=mt(()=>{var e=V(d?o:c).node();e&&"remove"in e&&e.remove()},"removeTempElements"),u=V("body"),d="sandbox"===r.securityLevel,p="loose"===r.securityLevel,g=r.fontFamily;void 0!==e?(e&&(e.innerHTML=""),d?(y=DFe(V(e),a),(u=V(y.nodes()[0].contentDocument.body)).node().style.margin=0):u=V(e),NFe(u,t,l,"font-family: "+g,"http://www.w3.org/1999/xlink")):(OFe(document,t,l,a),d?(y=DFe(V("body"),a),(u=V(y.nodes()[0].contentDocument.body)).node().style.margin=0):u=V("body"),NFe(u,t,l));let f,m;try{f=await fFe.fromText(i,{title:n.title})}catch(e){if(r.suppressErrorRendering)throw h(),e;f=await fFe.fromText("error"),m=e}var e=u.select(c).node(),y=f.type,n=e.firstChild,e=n.firstChild,b=f.renderer.getClasses?.(i,f),b=RFe(r,y,b,s),v=document.createElement("style");v.innerHTML=b,n.insertBefore(v,e);try{await f.renderer.draw(i,t,wye.version,f)}catch(e){throw r.suppressErrorRendering?h():lBe.draw(i,t,wye.version),e}FFe(y,u.select(c+" svg"),f.db.getAccTitle?.(),f.db.getAccDescription?.()),u.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let x=u.select(c).node().innerHTML;if(I.debug("config.arrowMarkerAbsolute",r.arrowMarkerAbsolute),x=MFe(x,d,qc(r.arrowMarkerAbsolute)),d?(b=u.select(c+" svg").node(),x=IFe(x,b)):p||(x=Dr.sanitize(x,{ADD_TAGS:CFe,ADD_ATTR:_Fe,HTML_INTEGRATION_POINTS:{foreignobject:!0}})),yFe(),m)throw m;return h(),{diagramType:y,svg:x,bindFunctions:f.db.bindFunctions}},"render");function PFe(e={}){e=at({},e),e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),$i(e),e?.theme&&e.theme in gi?e.themeVariables=gi[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=gi.default.getThemeVariables(e.themeVariables)),e="object"==typeof e?Ei(e):Ri();T(e.logLevel),TBe()}mt(PFe,"initialize");var BFe=mt((e,t={})=>{e=TFe(e).code;return fFe.fromText(e,t)},"getDiagramFromText");function FFe(e,t,i,n){pFe(t,e),gFe(t,i,n,t.attr("id"))}mt(FFe,"addA11yInfo");var jFe=Object.freeze({render:G,parse:EFe,getDiagramFromText:BFe,initialize:PFe,getConfig:Ii,setConfig:Mi,getSiteConfig:Ri,updateSiteConfig:Li,reset:mt(()=>{Oi()},"reset"),globalReset:mt(()=>{Oi(ki)},"globalReset"),defaultConfig:ki}),zFe=(T(Ii().logLevel),Oi(Ii()),QK(),s_(),mt((e,t,i)=>{I.warn(e),AC(e)?(i&&i(e.str,e.hash),t.push({...e,message:e.str,error:e})):(i&&i(e),e instanceof Error&&t.push({str:e.message,message:e.message,hash:e.name,error:e}))},"handleError")),UFe=mt(async function(t={querySelector:".mermaid"}){try{await HFe(t)}catch(e){if(AC(e)&&I.error(e.str),JFe.parseError&&JFe.parseError(e),!t.suppressErrors)throw I.error("Use the suppressErrors option to suppress these errors"),e}},"run"),HFe=mt(async function({postRenderCallback:e,querySelector:t,nodes:i}={querySelector:".mermaid"}){var n=jFe.getConfig();I.debug(`${e?"":"No "}Callback function found`);let r;if(i)r=i;else{if(!t)throw new Error("Nodes and querySelector are both undefined");r=document.querySelectorAll(t)}I.debug(`Found ${r.length} diagrams`),void 0!==n?.startOnLoad&&(I.debug("Start On Load: "+n?.startOnLoad),jFe.updateSiteConfig({startOnLoad:n?.startOnLoad}));var s,a=new t_.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed),o=[];for(s of Array.from(r))if(I.info("Rendering diagram: "+s.id),!s.getAttribute("data-processed")){s.setAttribute("data-processed","true");var l="mermaid-"+a.next(),c=s.innerHTML,h=(c=Ve(t_.entityDecode(c)).trim().replace(/<br\s*\/?>/gi,"<br/>"),t_.detectInit(c));h&&I.debug("Detected early reinit: ",h);try{var{svg:u,bindFunctions:d}=await QFe(l,c,s);s.innerHTML=u,e&&await e(l),d&&d(s)}catch(e){zFe(e,o,JFe.parseError)}}if(0<o.length)throw o[0]},"runThrowsErrors"),qFe=mt(function(e){jFe.initialize(e)},"initialize"),e=mt(async function(e,t,i){I.warn("mermaid.init is deprecated. Please use run instead."),e&&qFe(e);e={postRenderCallback:i,querySelector:".mermaid"};"string"==typeof t?e.querySelector=t:t&&(t instanceof HTMLElement?e.nodes=[t]:e.nodes=t),await UFe(e)},"init"),G=mt(async(e,{lazyLoad:t=!0}={})=>{TBe(),et(...e),!1===t&&await SBe()},"registerExternalDiagrams"),WFe=mt(function(){var e;JFe.startOnLoad&&(e=jFe.getConfig()["startOnLoad"],e)&&JFe.run().catch(e=>I.error Line truncated
`},marked.setOptions({renderer:i,pedantic:!1,gfm:!0,breaks:!1,sanitize:!1,smartLists:!0,smartypants:!1,xhtml:!1,headerIds:!1,katex:katex}),t&&marked.use(baseUrl(t)),marked.use(markedKatex({throwOnError:!1})),marked.use(markedMermaid()),DOMPurify.sanitize(marked.parse(e,{renderer:i}))}angular.module("ngPDFViewer",[]).factory("RecursionHelper",["$compile",function(s){return{compile:function(e,i){angular.isFunction(i)&&(i={post:i});var n,r=e.contents().remove();return{pre:i&&i.pre?i.pre:null,post:function(e,t){(n=n||s(r))(e,function(e){t.append(e)}),i&&i.post&&i.post.apply(null,arguments)}}}}}]).directive("pdfpageviewer",[function(){return{restrict:"E",template:"<canvas></canvas>",scope:{onPageLoad:"=",page:"=",pdfDoc:"="},controller:["$scope","$element",function(n,r){n.scale=1;const s=r.find("canvas")[0];n.$watch("pdfDoc",e=>{e&&n.renderPage(n.page)}),n.renderPage=async function(e){var e=await n.pdfDoc.getPage(e),t=r[0].clientWidth/e.getViewport(1).width,t=e.getViewport(t),i=(s.height=t.height,s.width=t.width,s.getContext("2d"));return await e.render({canvasContext:i,viewport:t}),n.onPageLoad&&n.$apply(function(){n.onPageLoad({page:n.page,total:n.pdfDoc.numPages})}),!0}}]}}]).directive("pdfviewer",["RecursionHelper",function(t){return{restrict:"E",template:"<pdfpageviewer ng-repeat='p in [].constructor(pdfDoc.numPages) track by $index' page='$index + 1' pdf-doc='pdfDoc'></pdfpageviewer>",scope:{onPageLoad:"&",loadProgress:"&",src:"@",id:"="},compile:function(e){return t.compile(e)},controller:["$scope",function(n){n.pdfDoc=null,n.scale=1,n.documentProgress=function(e){n.loadProgress&&n.loadProgress({state:"loading",loaded:e.loaded,total:e.total})},n.loadPDF=function(e){PDFJS.getDocument(e,null,null,n.documentProgress).then(function(e){n.$apply(()=>{n.pdfDoc=e}),n.loadProgress&&n.loadProgress({state:"finished",loaded:0,total:0})},function(e,t){console.log("PDF load error: "+e),n.loadProgress&&n.loadProgress({state:"error",loaded:0,total:0})})},n.$on("pdfviewer.nextPage",function(e,t){null===t&&n.pageNum<n.pdfDoc.numPages&&(n.pageNum++,n.renderPage(n.pageNum))}),n.$on("pdfviewer.prevPage",function(e,t){null===t&&1<n.pageNum&&(n.pageNum--,n.renderPage(n.pageNum))}),n.$on("pdfviewer.gotoPage",function(e,t,i){null===t&&1<=i&&i<=n.pdfDoc.numPages&&(n.pageNum=i,n.renderPage(n.pageNum))}),n.$watch("src",()=>{n.loadPDF(n.src)})}]}}]).service("PDFViewerService",["$rootScope",function(i){var e={nextPage:function(){i.$broadcast("pdfviewer.nextPage")},prevPage:function(){i.$broadcast("pdfviewer.prevPage")},Instance:function(e){var t=e;return{prevPage:function(){i.$broadcast("pdfviewer.prevPage",t)},nextPage:function(){i.$broadcast("pdfviewer.nextPage",t)},gotoPage:function(e){i.$broadcast("pdfviewer.gotoPage",t,e)}}}};return e}]),angular.module("anonymous-github",["ngRoute","ngSanitize","ui.ace","ngPDFViewer","pascalprecht.translate","admin"]).config(["$routeProvider","$locationProvider","$translateProvider",function(e,t,i){i.useStaticFilesLoader({prefix:"/i18n/locale-",suffix:".json"}),i.preferredLanguage("en"),e.when("/",{templateUrl:"/partials/home.htm",controller:"homeController",title:"Anonymous GitHub – Share the code, not the author"}).when("/dashboard",{templateUrl:"/partials/dashboard.htm",controller:"unifiedDashboardController",title:"Your anonymizations – Anonymous GitHub"}).when("/pr-dashboard",{redirectTo:"/dashboard"}).when("/anonymize/:repoId?",{templateUrl:"/partials/anonymize.htm",controller:"anonymizeController",title:"New anonymization – Anonymous GitHub"}).when("/pull-request-anonymize/:pullRequestId?",{templateUrl:"/partials/anonymize.htm",controller:"anonymizeController",title:"Anonymize a pull request – Anonymous GitHub"}).when("/gist-anonymize/:gistId?",{templateUrl:"/partials/anonymize.htm",controller:"anonymizeController",title:"Anonymize a gist – Anonymous GitHub"}).when("/status/:repoId",{templateUrl:"/partials/status.htm",controller:"statusController",title:"Repository status – Anonymous GitHub"}).when("/conferences",{templateUrl:"/partials/conferences.htm",controller:"conferencesController",title:"Your conferences – Anonymous GitHub"}).when("/conference/new",{templateUrl:"/partials/newConference.htm",controller:"newConferenceController",title:"New conference – Anonymous GitHub"}).when("/conference/:conferenceId/edit",{templateUrl:"/partials/newConference.htm",controller:"newConferenceController",title:"Edit conference – Anonymous GitHub"}).when("/conference/:conferenceId",{templateUrl:"/partials/conference.htm",controller:"conferenceController",title:"Conference – Anonymous GitHub"}).when("/faq",{templateUrl:"/partials/faq.htm",controller:"faqController",title:"FAQ – Anonymous GitHub"}).when("/profile",{templateUrl:"/partials/profile.htm",controller:"profileController",title:"Your settings – Anonymous GitHub"}).when("/claim",{templateUrl:"/partials/claim.htm",controller:"claimController",title:"Claim an anonymization – Anonymous GitHub"}).when("/pr/:pullRequestId",{ Line truncated `},marked.setOptions({renderer:i,pedantic:!1,gfm:!0,breaks:!1,sanitize:!1,smartLists:!0,smartypants:!1,xhtml:!1,headerIds:!1,katex:katex}),t&&marked.use(baseUrl(t)),marked.use(markedKatex({throwOnError:!1})),marked.use(markedMermaid()),DOMPurify.sanitize(marked.parse(e,{renderer:i}))}angular.module("ngPDFViewer",[]).factory("RecursionHelper",["$compile",function(s){return{compile:function(e,i){angular.isFunction(i)&&(i={post:i});var n,r=e.contents().remove();return{pre:i&&i.pre?i.pre:null,post:function(e,t){(n=n||s(r))(e,function(e){t.append(e)}),i&&i.post&&i.post.apply(null,arguments)}}}}}]).directive("pdfpageviewer",[function(){return{restrict:"E",template:"<canvas></canvas>",scope:{onPageLoad:"=",page:"=",pdfDoc:"="},controller:["$scope","$element",function(n,r){n.scale=1;const s=r.find("canvas")[0];n.$watch("pdfDoc",e=>{e&&n.renderPage(n.page)}),n.renderPage=async function(e){var e=await n.pdfDoc.getPage(e),t=r[0].clientWidth/e.getViewport(1).width,t=e.getViewport(t),i=(s.height=t.height,s.width=t.width,s.getContext("2d"));return await e.render({canvasContext:i,viewport:t}),n.onPageLoad&&n.$apply(function(){n.onPageLoad({page:n.page,total:n.pdfDoc.numPages})}),!0}}]}}]).directive("pdfviewer",["RecursionHelper",function(t){return{restrict:"E",template:"<pdfpageviewer ng-repeat='p in [].constructor(pdfDoc.numPages) track by $index' page='$index + 1' pdf-doc='pdfDoc'></pdfpageviewer>",scope:{onPageLoad:"&",loadProgress:"&",src:"@",id:"="},compile:function(e){return t.compile(e)},controller:["$scope",function(n){n.pdfDoc=null,n.scale=1,n.documentProgress=function(e){n.loadProgress&&n.loadProgress({state:"loading",loaded:e.loaded,total:e.total})},n.loadPDF=function(e){PDFJS.getDocument(e,null,null,n.documentProgress).then(function(e){n.$apply(()=>{n.pdfDoc=e}),n.loadProgress&&n.loadProgress({state:"finished",loaded:0,total:0})},function(e,t){console.log("PDF load error: "+e),n.loadProgress&&n.loadProgress({state:"error",loaded:0,total:0})})},n.$on("pdfviewer.nextPage",function(e,t){null===t&&n.pageNum<n.pdfDoc.numPages&&(n.pageNum++,n.renderPage(n.pageNum))}),n.$on("pdfviewer.prevPage",function(e,t){null===t&&1<n.pageNum&&(n.pageNum--,n.renderPage(n.pageNum))}),n.$on("pdfviewer.gotoPage",function(e,t,i){null===t&&1<=i&&i<=n.pdfDoc.numPages&&(n.pageNum=i,n.renderPage(n.pageNum))}),n.$watch("src",()=>{n.loadPDF(n.src)})}]}}]).service("PDFViewerService",["$rootScope",function(i){var e={nextPage:function(){i.$broadcast("pdfviewer.nextPage")},prevPage:function(){i.$broadcast("pdfviewer.prevPage")},Instance:function(e){var t=e;return{prevPage:function(){i.$broadcast("pdfviewer.prevPage",t)},nextPage:function(){i.$broadcast("pdfviewer.nextPage",t)},gotoPage:function(e){i.$broadcast("pdfviewer.gotoPage",t,e)}}}};return e}]),angular.module("anonymous-github",["ngRoute","ngSanitize","ui.ace","ngPDFViewer","pascalprecht.translate","admin"]).config(["$routeProvider","$locationProvider","$translateProvider",function(e,t,i){i.useStaticFilesLoader({prefix:"/i18n/locale-",suffix:".json"}),i.preferredLanguage("en"),e.when("/",{templateUrl:"/partials/home.htm",controller:"homeController",title:"Anonymous GitHub – Share the code, not the author"}).when("/dashboard",{templateUrl:"/partials/dashboard.htm",controller:"unifiedDashboardController",title:"Your anonymizations – Anonymous GitHub"}).when("/pr-dashboard",{redirectTo:"/dashboard"}).when("/anonymize/:repoId?",{templateUrl:"/partials/anonymize.htm",controller:"anonymizeController",title:"New anonymization – Anonymous GitHub"}).when("/pull-request-anonymize/:pullRequestId?",{templateUrl:"/partials/anonymize.htm",controller:"anonymizeController",title:"Anonymize a pull request – Anonymous GitHub"}).when("/gist-anonymize/:gistId?",{templateUrl:"/partials/anonymize.htm",controller:"anonymizeController",title:"Anonymize a gist – Anonymous GitHub"}).when("/status/:repoId",{templateUrl:"/partials/status.htm",controller:"statusController",title:"Repository status – Anonymous GitHub"}).when("/conferences",{templateUrl:"/partials/conferences.htm",controller:"conferencesController",title:"Your conferences – Anonymous GitHub"}).when("/conference/new",{templateUrl:"/partials/newConference.htm",controller:"newConferenceController",title:"New conference – Anonymous GitHub"}).when("/conference/:conferenceId/edit",{templateUrl:"/partials/newConference.htm",controller:"newConferenceController",title:"Edit conference – Anonymous GitHub"}).when("/conference/:conferenceId",{templateUrl:"/partials/conference.htm",controller:"conferenceController",title:"Conference – Anonymous GitHub"}).when("/faq",{templateUrl:"/partials/faq.htm",controller:"faqController",title:"FAQ – Anonymous GitHub"}).when("/profile",{templateUrl:"/partials/profile.htm",controller:"profileController",title:"Your settings – Anonymous GitHub"}).when("/claim",{templateUrl:"/partials/claim.htm",controller:"claimController",title:"Claim an anonymization – Anonymous GitHub"}).when("/pr/:pullRequestId",{ Line truncated
+3
View File
@@ -119,6 +119,7 @@ export function startWorker() {
concurrency: 5, concurrency: 5,
connection, connection,
autorun: true, autorun: true,
metrics: { maxDataPoints: 120 },
} }
); );
cacheWorker.on("completed", async (job) => { cacheWorker.on("completed", async (job) => {
@@ -131,6 +132,7 @@ export function startWorker() {
concurrency: 5, concurrency: 5,
connection, connection,
autorun: true, autorun: true,
metrics: { maxDataPoints: 120 },
} }
); );
removeWorker.on("completed", async (job) => { removeWorker.on("completed", async (job) => {
@@ -144,6 +146,7 @@ export function startWorker() {
concurrency: 3, concurrency: 3,
connection, connection,
autorun: true, autorun: true,
metrics: { maxDataPoints: 120 },
} }
); );
if (!downloadWorker.isRunning()) downloadWorker.run(); if (!downloadWorker.isRunning()) downloadWorker.run();
+338 -23
View File
@@ -1,3 +1,5 @@
import * as os from "os";
import { execSync } from "child_process";
import { Queue, JobType } from "bullmq"; import { Queue, JobType } from "bullmq";
import * as express from "express"; import * as express from "express";
import AnonymousError from "../../core/AnonymousError"; import AnonymousError from "../../core/AnonymousError";
@@ -199,21 +201,100 @@ router.post("/queue/:name/drain", async (req, res) => {
} }
}); });
router.post("/queue/:name/pause", async (req, res) => {
const queue = pickQueue(req.params.name);
if (!queue) return res.status(404).json({ error: "queue_not_found" });
try {
await queue.pause();
res.json({ ok: true });
} catch (error) {
handleError(error, res, req);
}
});
router.post("/queue/:name/resume", async (req, res) => {
const queue = pickQueue(req.params.name);
if (!queue) return res.status(404).json({ error: "queue_not_found" });
try {
await queue.resume();
res.json({ ok: true });
} catch (error) {
handleError(error, res, req);
}
});
router.post("/queue/:name/empty", async (req, res) => {
const queue = pickQueue(req.params.name);
if (!queue) return res.status(404).json({ error: "queue_not_found" });
try {
await queue.obliterate({ force: true });
res.json({ ok: true });
} catch (error) {
handleError(error, res, req);
}
});
router.post("/queues/pause-all", async (_req, res) => {
try {
await Promise.all([downloadQueue.pause(), removeQueue.pause(), cacheQueue.pause()]);
res.json({ ok: true });
} catch (error) {
handleError(error, res, _req);
}
});
async function queueStats(queue: Queue) {
const [counts, workers, paused, completedMetrics, failedMetrics] =
await Promise.all([
queue.getJobCounts(...QUEUE_STATES),
queue.getWorkers().catch(() => []),
queue.isPaused().catch(() => false),
queue.getMetrics("completed", 0, 119).catch(() => ({ data: [], count: 0 })),
queue.getMetrics("failed", 0, 119).catch(() => ({ data: [], count: 0 })),
]);
const workerCount = workers.length;
const concurrency = workerCount > 0 ? (workers as any)[0]?.opts?.concurrency ?? null : null;
return {
counts,
paused,
workers: workerCount,
concurrency,
throughput: completedMetrics.data || [],
completed24h: completedMetrics.count || 0,
failed24h: failedMetrics.count || 0,
};
}
router.get("/queues", async (req, res) => { router.get("/queues", async (req, res) => {
const search = req.query.search ? String(req.query.search).toLowerCase() : ""; const search = req.query.search ? String(req.query.search).toLowerCase() : "";
const queueName = req.query.queue ? String(req.query.queue) : "";
const stateFilter: JobType | null = req.query.state ? String(req.query.state) as JobType : null; const stateFilter: JobType | null = req.query.state ? String(req.query.state) as JobType : null;
const states: JobType[] = stateFilter && QUEUE_STATES.includes(stateFilter) const states: JobType[] = stateFilter && QUEUE_STATES.includes(stateFilter)
? [stateFilter] ? [stateFilter]
: QUEUE_STATES; : QUEUE_STATES;
const [download, remove, cache, dCounts, rCounts, cCounts] = await Promise.all([ const allQueues: { key: string; label: string; queue: Queue }[] = [
downloadQueue.getJobs(states), { key: "download", label: "Download", queue: downloadQueue },
removeQueue.getJobs(states), { key: "remove", label: "Remove", queue: removeQueue },
cacheQueue.getJobs(states), { key: "cache", label: "Cache cleanup", queue: cacheQueue },
downloadQueue.getJobCounts(...QUEUE_STATES), ];
removeQueue.getJobCounts(...QUEUE_STATES),
cacheQueue.getJobCounts(...QUEUE_STATES), const statsResults = await Promise.all(
]); allQueues.map(async (q) => ({
key: q.key,
label: q.label,
...(await queueStats(q.queue)),
}))
);
const target = queueName
? allQueues.find((q) => q.key === queueName)
: allQueues[0];
const targetQueue = target ? target.queue : downloadQueue;
const jobs = await targetQueue.getJobs(states);
const matches = (job: { id?: string | undefined; name?: string }) => { const matches = (job: { id?: string | undefined; name?: string }) => {
if (!search) return true; if (!search) return true;
@@ -224,14 +305,9 @@ router.get("/queues", async (req, res) => {
}; };
res.json({ res.json({
downloadQueue: download.filter(matches), queues: statsResults,
removeQueue: remove.filter(matches), selectedQueue: target?.key || "download",
cacheQueue: cache.filter(matches), jobs: jobs.filter(matches),
counts: {
download: dCounts,
remove: rCounts,
cache: cCounts,
},
}); });
}); });
@@ -436,6 +512,187 @@ router.delete("/errors", async (req, res) => {
} }
}); });
// System overview endpoint: process metrics, queue health, DB counts, daily history
router.get("/overview", async (req, res) => {
try {
const mem = process.memoryUsage();
const totalMem = os.totalmem();
const freeMem = os.freemem();
const cpus = os.cpus();
const cpuCount = cpus.length;
// Average CPU load (1-min) as percentage
const loadAvg1m = os.loadavg()[0];
const cpuPercent = Math.round((loadAvg1m / cpuCount) * 100);
// Disk usage via df (root partition)
let diskTotal = 0, diskUsed = 0, diskFree = 0, diskPercent = 0, diskMount = "/";
try {
const dfOut = execSync("df -k / 2>/dev/null", { timeout: 3000 }).toString();
const lines = dfOut.trim().split("\n");
if (lines.length >= 2) {
const cols = lines[1].split(/\s+/);
diskTotal = parseInt(cols[1], 10) * 1024 || 0;
diskUsed = parseInt(cols[2], 10) * 1024 || 0;
diskFree = parseInt(cols[3], 10) * 1024 || 0;
diskPercent = diskTotal ? Math.round((diskUsed / diskTotal) * 100) : 0;
diskMount = cols[cols.length - 1] || "/";
}
} catch {
// df not available or timed out
}
const now24h = new Date(Date.now() - 24 * 3600 * 1000);
const [
statusBreakdown,
totalSize,
recentErrors,
totalUsers,
totalConferences,
totalRepos,
activeRepos24h,
newRepos24h,
newUsers24h,
dCounts,
rCounts,
cCounts,
] = await Promise.all([
AnonymizedRepositoryModel.aggregate([
{ $group: { _id: "$status", count: { $sum: 1 }, storage: { $sum: "$size.storage" } } },
]),
AnonymizedRepositoryModel.aggregate([
{ $group: { _id: null, total: { $sum: "$size.storage" } } },
]),
AnonymizedRepositoryModel.countDocuments({
status: "error",
statusDate: { $gte: now24h },
}),
UserModel.estimatedDocumentCount(),
ConferenceModel.estimatedDocumentCount(),
AnonymizedRepositoryModel.estimatedDocumentCount(),
AnonymizedRepositoryModel.countDocuments({
lastView: { $gte: now24h },
}),
AnonymizedRepositoryModel.countDocuments({
anonymizeDate: { $gte: now24h },
}),
UserModel.countDocuments({
dateOfEntry: { $gte: now24h },
}),
downloadQueue.getJobCounts(...QUEUE_STATES),
removeQueue.getJobCounts(...QUEUE_STATES),
cacheQueue.getJobCounts(...QUEUE_STATES),
]);
// Error stats (from Redis hourly counters)
let errorStats = { last24h: 0, severity: { error: 0, warn: 0, info: 0 } };
try {
const client = await getErrorLogClient();
if (client) {
const nowDate = new Date();
const keys: string[] = [];
for (let i = 23; i >= 0; i--) {
const d = new Date(nowDate.getTime() - i * 3600 * 1000);
const anchor = new Date(
Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate(), d.getUTCHours())
);
const y = anchor.getUTCFullYear();
const m = String(anchor.getUTCMonth() + 1).padStart(2, "0");
const day = String(anchor.getUTCDate()).padStart(2, "0");
const h = String(anchor.getUTCHours()).padStart(2, "0");
keys.push(`${ERROR_LOG_HOURLY_PREFIX}${y}${m}${day}${h}`);
}
const pipe = client.multi();
for (const k of keys) pipe.hGetAll(k);
const results = (await pipe.exec()) as unknown as Record<string, string>[];
let total = 0;
const sev = { error: 0, warn: 0, info: 0 };
for (const h of results) {
const flat = h || {};
total += parseInt(flat.total || "0", 10) || 0;
sev.error += parseInt(flat["bucket:error"] || "0", 10) || 0;
sev.warn += parseInt(flat["bucket:warn"] || "0", 10) || 0;
sev.info += parseInt(flat["bucket:info"] || "0", 10) || 0;
}
errorStats = { last24h: total, severity: sev };
}
} catch {
// Redis unavailable — keep defaults
}
// Daily history (last 30 days) from DailyStatsModel
let history: Array<Record<string, unknown>> = [];
try {
const { default: DailyStatsModel } = await import(
"../../core/model/dailyStats/dailyStats.model"
);
const since = new Date();
since.setUTCDate(since.getUTCDate() - 29);
since.setUTCHours(0, 0, 0, 0);
const docs = await DailyStatsModel.find({ date: { $gte: since } })
.sort({ date: 1 })
.lean();
history = docs.map((d) => ({
date: d.date,
nbRepositories: d.nbRepositories,
nbUsers: d.nbUsers,
nbPageViews: d.nbPageViews,
}));
} catch {
// DailyStats collection might not exist yet
}
res.json({
system: {
platform: os.platform(),
arch: os.arch(),
nodeVersion: process.version,
uptime: process.uptime(),
cpuCount,
cpuPercent,
loadAvg: os.loadavg(),
memTotal: totalMem,
memFree: freeMem,
memUsed: totalMem - freeMem,
memPercent: Math.round(((totalMem - freeMem) / totalMem) * 100),
processRss: mem.rss,
processHeapUsed: mem.heapUsed,
processHeapTotal: mem.heapTotal,
diskTotal,
diskUsed,
diskFree,
diskPercent,
diskMount,
},
repos: {
total: totalRepos,
statusBreakdown,
totalStorage: totalSize[0]?.total || 0,
recentErrors24h: recentErrors,
activeRepos24h,
newRepos24h,
},
users: {
total: totalUsers,
newUsers24h,
},
conferences: {
total: totalConferences,
},
queues: {
download: dCounts,
remove: rCounts,
cache: cCounts,
},
errors: errorStats,
history,
});
} catch (error) {
handleError(error, res, req);
}
});
// Global stats endpoint: counts by status, total disk, recent failures // Global stats endpoint: counts by status, total disk, recent failures
router.get("/stats", async (req, res) => { router.get("/stats", async (req, res) => {
try { try {
@@ -856,23 +1113,81 @@ router.post(
} }
); );
router.post(
"/users/:username/promote",
async (req: express.Request, res: express.Response) => {
try {
const result = await UserModel.updateOne(
{ username: req.params.username },
{ $set: { isAdmin: true } }
);
if (result.matchedCount === 0) {
throw new AnonymousError("user_not_found", { httpStatus: 404 });
}
res.json({ ok: true });
} catch (error) {
handleError(error, res, req);
}
}
);
router.post(
"/users/:username/demote",
async (req: express.Request, res: express.Response) => {
try {
const result = await UserModel.updateOne(
{ username: req.params.username },
{ $set: { isAdmin: false } }
);
if (result.matchedCount === 0) {
throw new AnonymousError("user_not_found", { httpStatus: 404 });
}
res.json({ ok: true });
} catch (error) {
handleError(error, res, req);
}
}
);
router.get("/conferences", async (req, res) => { router.get("/conferences", async (req, res) => {
const page = parseInt(req.query.page as string) || 1; const page = parseInt(req.query.page as string) || 1;
const limit = Math.min(parseInt(req.query.limit as string) || 10, 1000); const limit = Math.min(parseInt(req.query.limit as string) || 10, 1000);
const skipIndex = (page - 1) * limit; const skipIndex = (page - 1) * limit;
const ready = req.query.ready == "true";
const error = req.query.error == "true";
const preparing = req.query.preparing == "true";
const expired = req.query.expired == "true";
const removed = req.query.removed == "true";
const sort = parseSort(req); const sort = parseSort(req);
const filter: Record<string, unknown> = {}; const query: Record<string, unknown>[] = [];
if (req.query.search) { if (req.query.search) {
const escaped = escapeRegex(req.query.search as string); const escaped = escapeRegex(req.query.search as string);
filter.$or = [ const re = { $regex: escaped, $options: "i" };
{ name: { $regex: escaped, $options: "i" } }, query.push({
{ conferenceID: { $regex: escaped, $options: "i" } }, $or: [
]; { name: re },
{ conferenceID: re },
],
});
} }
if (req.query.status) filter.status = req.query.status;
const dateFilter = parseDateRange(req, "startDate"); const dateFilter = parseDateRange(req, "startDate");
if (dateFilter) Object.assign(filter, dateFilter); if (dateFilter) query.push(dateFilter);
const status: { status: string }[] = [];
if (ready) status.push({ status: "ready" });
if (error) status.push({ status: "error" });
if (preparing) status.push({ status: "preparing" });
if (expired) status.push({ status: "expired" });
if (removed) status.push({ status: "removed" });
if (status.length > 0) {
query.push({ $or: status });
}
const filter = query.length ? { $and: query } : {};
if (req.query.format === "csv") { if (req.query.format === "csv") {
const all = await ConferenceModel.find(filter).sort(sort).limit(50000).lean(); const all = await ConferenceModel.find(filter).sort(sort).limit(50000).lean();
+109
View File
@@ -9,6 +9,7 @@ import { downloadQueue } from "../../queue";
import { RepositoryStatus } from "../../core/types"; import { RepositoryStatus } from "../../core/types";
import User from "../../core/User"; import User from "../../core/User";
import { streamAnonymizedZip } from "../../core/zipStream"; import { streamAnonymizedZip } from "../../core/zipStream";
import FileModel from "../../core/model/files/files.model";
import { createLogger, serializeError } from "../../core/logger"; import { createLogger, serializeError } from "../../core/logger";
import gh = require("parse-github-url"); import gh = require("parse-github-url");
@@ -185,6 +186,114 @@ router.get(
} }
); );
router.get(
"/:repoId/files/counts",
async (req: express.Request, res: express.Response) => {
res.header("Cache-Control", "no-cache");
const repo = await getRepo(req, res);
if (!repo) return;
try {
const repoId = repo.repoId;
const results = await FileModel.aggregate([
{ $match: { repoId, size: { $ne: null } } },
{ $project: { path: 1 } },
{ $group: { _id: "$path", count: { $sum: 1 } } },
]).exec();
const directCounts: Record<string, number> = {};
for (const r of results) {
directCounts[r._id ?? ""] = r.count;
}
const folderCounts: Record<string, number> = {};
for (const [folder, count] of Object.entries(directCounts)) {
let p = folder;
folderCounts[p] = (folderCounts[p] || 0) + count;
while (p) {
const idx = p.lastIndexOf("/");
p = idx >= 0 ? p.substring(0, idx) : "";
folderCounts[p] = (folderCounts[p] || 0) + count;
if (!p) break;
}
}
const terms = repo.options?.terms || [];
if (terms.length > 0) {
const { anonymizePathCompiled, compileTerms } = await import(
"../../core/anonymize-utils"
);
const compiled = compileTerms(terms);
const anonymized: Record<string, number> = {};
for (const [folder, count] of Object.entries(folderCounts)) {
const anonFolder = anonymizePathCompiled(folder, compiled);
anonymized[anonFolder] = (anonymized[anonFolder] || 0) + count;
}
return res.json(anonymized);
}
res.json(folderCounts);
} catch (error) {
handleError(error, res, req);
}
}
);
router.get(
"/:repoId/files/search",
async (req: express.Request, res: express.Response) => {
res.header("Cache-Control", "no-cache");
const repo = await getRepo(req, res);
if (!repo) return;
try {
const query = ((req.query.q as string) || "").trim();
if (!query || query.length < 2) {
return res.json([]);
}
const allFiles = await repo.anonymizedFiles({
includeSha: false,
recursive: true,
});
const q = query.toLowerCase();
// Collect folder paths whose name segment matches the query
const matchingFolders = new Set<string>();
for (const f of allFiles) {
const segments = (f.path || "").split("/").filter(Boolean);
let accumulated = "";
for (const seg of segments) {
accumulated = accumulated ? `${accumulated}/${seg}` : seg;
if (seg.toLowerCase().includes(q)) {
matchingFolders.add(accumulated);
}
}
}
const matches = allFiles.filter((f) => {
// File name matches
if (f.name?.toLowerCase().includes(q)) return true;
// File is inside a matching folder
const fullPath = f.path ? `${f.path}/${f.name}` : f.name;
let found = false;
matchingFolders.forEach((folder) => {
if (fullPath?.startsWith(folder + "/") || fullPath === folder) found = true;
})
if (found) return true;
return false;
});
res.json(
matches.slice(0, 500).map((f) => ({
name: f.name,
path: f.path,
size: f.size,
}))
);
} catch (error) {
handleError(error, res, req);
}
}
);
router.get( router.get(
"/:repoId/options", "/:repoId/options",
async (req: express.Request, res: express.Response) => { async (req: express.Request, res: express.Response) => {