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
+2803 -489

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
* 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)
*/.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>
<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/conferences" class="active"><i class="fas fa-chalkboard-teacher"></i> Conferences</a>
<a href="/admin/queues"><i class="fas fa-tasks"></i> Queues</a>
@@ -12,11 +13,11 @@
<div class="admin-summary">
<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 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 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" 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.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 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.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.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.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.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 class="alert alert-danger" ng-if="fetchError" style="margin: 8px 0;">
@@ -60,7 +61,7 @@
<div
class="paper-table-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">
<span class="type-badge type-repo">Conf</span>
@@ -110,7 +111,7 @@
</div>
<span class="admin-filter-inline">
<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>
</div>
</div>
+2 -1
View File
@@ -10,7 +10,8 @@
</header>
<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/conferences"><i class="fas fa-chalkboard-teacher"></i> Conferences</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>
+131 -77
View File
@@ -1,102 +1,156 @@
<div class="container paper-page admin-page">
<div class="paper-crumbs">Admin &nbsp;/&nbsp; <span class="here">Queues</span></div>
<h1 class="paper-page-title">Queues</h1>
<div class="q-header">
<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">
<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/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/errors"><i class="fas fa-bug"></i> Errors</a>
</nav>
<div class="admin-summary">
<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>
<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>
<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>
<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="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>
<!-- Queue overview cards -->
<div class="q-cards">
<div class="q-card" ng-repeat="q in queueList" ng-class="{selected: selectedQueue == q.key, paused: q.paused}" ng-click="selectQueue(q.key)">
<div class="q-card-head">
<span class="q-dot" ng-class="{'q-dot-red': q.paused || q.counts.failed > 0}"></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>
<form class="w-100 admin-filter-toolbar" aria-label="Queue filters">
<div class="admin-filter-row">
<div class="search-wrap">
<input type="search" class="form-control" placeholder="Search by job/repo id…" ng-model="query.search" autocomplete="off" />
<span class="admin-search-hint" ng-if="!query.search">/</span>
<!-- Detail: throughput chart + stats panel -->
<div class="q-detail" ng-if="selectedStats">
<div class="q-throughput">
<div class="q-section-label">{{selectedQueue}}&middot;throughput <span class="q-section-right">COMPLETED / MIN &middot; {{range | uppercase}}</span></div>
<canvas id="q-throughput-chart" height="180"></canvas>
</div>
<div class="q-stats-panel">
<div class="q-section-label">{{selectedQueue}}&middot;stats</div>
<div class="q-stats-grid">
<div class="q-stat">
<div class="q-stat-label">WAITING</div>
<div class="q-stat-value" ng-bind="selectedStats.counts.waiting || 0"></div>
</div>
<div class="q-stat">
<div class="q-stat-label">ACTIVE</div>
<div class="q-stat-value" ng-bind="selectedStats.counts.active || 0"></div>
</div>
<div class="q-stat">
<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>
<span class="admin-filter-inline">
<label>State</label>
<select class="form-control form-control-sm" ng-model="query.state">
<option value="">Any</option>
<option value="waiting">Waiting</option>
<option value="active">Active</option>
<option value="completed">Completed</option>
<option value="failed">Failed</option>
<option value="delayed">Delayed</option>
</select>
</span>
<span class="admin-filter-spacer"></span>
<label class="admin-filter-inline" style="cursor:pointer;">
<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" />
Auto-refresh
</label>
<button class="btn btn-sm" type="button" ng-click="refreshNow()" title="Refresh now"><i class="fas fa-sync"></i></button>
</div>
</form>
<div ng-repeat="qInfo in [
{key: 'download', label: 'Download jobs', icon: 'fa-download', jobs: downloadJobs, counts: counts.download},
{key: 'remove', label: 'Remove jobs', icon: 'fa-trash', jobs: removeJobs, counts: counts.remove},
{key: 'cache', label: 'Cache cleanup jobs', icon: 'fa-broom', jobs: removeCaches, counts: counts.cache}
]">
<div class="admin-section-header">
<h2><i class="fas {{qInfo.icon}}"></i> {{qInfo.label}}</h2>
<span class="section-count">{{qInfo.jobs.length || 0}}</span>
<span class="queue-state-pills">
<span class="pill pill-waiting" ng-if="qInfo.counts.waiting">{{qInfo.counts.waiting}} waiting</span>
<span class="pill pill-active" ng-if="qInfo.counts.active">{{qInfo.counts.active}} active</span>
<span class="pill pill-completed" ng-if="qInfo.counts.completed">{{qInfo.counts.completed}} done</span>
<span class="pill pill-failed" ng-if="qInfo.counts.failed">{{qInfo.counts.failed}} failed</span>
<span class="pill pill-delayed" ng-if="qInfo.counts.delayed">{{qInfo.counts.delayed}} delayed</span>
</span>
<span style="margin-left: auto; display: inline-flex; gap: 6px;">
<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>
<button class="btn btn-sm text-danger" type="button" ng-click="bulkDrain(qInfo.key)"><i class="fas fa-eraser"></i> Drain</button>
</span>
<table class="q-table" ng-if="jobs.length > 0">
<thead>
<tr>
<th>JOB ID</th>
<th>PAYLOAD</th>
<th>ATTEMPTS</th>
<th>DURATION</th>
<th>PROGRESS</th>
<th></th>
</tr>
</thead>
<tbody>
<tr ng-repeat="job in jobs" ng-class="{'q-row-failed': job.failedReason || job.stacktrace.length}">
<td class="q-cell-id">
<a target="_blank" ng-href="/r/{{job.id}}" ng-bind="'job:' + (job.id | limitTo:6)"></a>
</td>
<td class="q-cell-payload">
<span ng-bind="job.name || 'anonymize'"></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 class="queue-job-card" ng-repeat="job in qInfo.jobs | filter:jobMatchesState as filteredJobs">
<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);">
<div class="paper-table-empty" ng-if="jobs.length == 0" style="border:1px solid var(--border-color);border-radius:10px;background:var(--paper-card);">
<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 || query.state">No jobs match the current filters.</span>
<span ng-if="!query.search">No {{query.state}} jobs in the {{selectedQueue}} queue.</span>
<span ng-if="query.search">No jobs match the current filters.</span>
</div>
</div>
</div>
+2 -1
View File
@@ -3,7 +3,8 @@
<h1 class="paper-page-title">Repositories</h1>
<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/conferences"><i class="fas fa-chalkboard-teacher"></i> Conferences</a>
<a href="/admin/queues"><i class="fas fa-tasks"></i> Queues</a>
+61 -57
View File
@@ -3,7 +3,8 @@
<h1 class="paper-page-title">{{userInfo.username || 'User'}}</h1>
<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/conferences"><i class="fas fa-chalkboard-teacher"></i> Conferences</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;">
<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.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>
@@ -46,6 +49,15 @@
</a>
</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-value">
{{userInfo.repositories.length}} repositories
@@ -122,86 +134,76 @@
<span class="section-count">{{repositories.length}}</span>
</div>
<form class="w-100 dashboard-filter-row" aria-label="Repositories" accept-charset="UTF-8">
<div class="search-wrap">
<input
type="search"
class="form-control"
aria-label="Search repositories"
placeholder="Search repositories…"
autocomplete="off"
ng-model="search"
/>
</div>
<div class="d-flex flex-wrap" style="gap: 8px;">
<div class="dropdown">
<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="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>
<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>
<form class="w-100 admin-filter-toolbar" aria-label="Repositories" accept-charset="UTF-8">
<div class="admin-filter-row">
<div class="search-wrap">
<input
type="search"
class="form-control"
aria-label="Search repositories"
placeholder="Search repoId, source repo, error message…"
autocomplete="off"
ng-model="search"
/>
</div>
<span class="admin-filter-spacer"></span>
<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>
</div>
</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 role="columnheader">Repository</div>
<div role="columnheader">Status</div>
<div role="columnheader" class="num">Views</div>
<div role="columnheader">Anonymized</div>
<div role="columnheader" style="width: 28px;">
<input type="checkbox" ng-click="selectAllOnPage()" ng-checked="allSelected" aria-label="Select all on page" />
</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>
<div
class="paper-table-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"
>
<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">
<span class="type-badge type-repo">Repo</span>
<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">
<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 class="cell-status" role="cell">
<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>
<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 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-actions" role="cell">
<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="/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="#" ng-click="fetchGithubInfo(repo)"><i class="fab fa-github"></i> Live GitHub info</a>
<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 == '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>
<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>
@@ -224,7 +228,7 @@
</div>
<div class="paper-table-empty" ng-if="filteredRepositories.length == 0">
<i class="fas fa-inbox"></i>
<span>No repositories to display.</span>
<span>No repositories match the current filters.</span>
</div>
</div>
</div>
+2 -1
View File
@@ -3,7 +3,8 @@
<h1 class="paper-page-title">Users</h1>
<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/conferences"><i class="fas fa-chalkboard-teacher"></i> Conferences</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>
</button>
</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
ng-if="options.truncatedFolders.length > 0"
@@ -25,7 +50,7 @@
<i class="fas fa-exclamation-triangle"></i>
{{ 'WARNINGS.repo_truncated' | translate }}
</div>
<tree class="files" file="files"></tree>
<tree class="files" file="files" search-query="fileSearchQuery" search-results="fileSearchResults"></tree>
</div>
<div class="leftCol-foot">
<span
+427 -82
View File
@@ -452,11 +452,14 @@ angular
$scope.userInfo;
$scope.repositories = [];
$scope.search = "";
$scope.selected = {};
$scope.allSelected = false;
const adminUserPrefsKey = "admin.user.filterPrefs";
const adminUserDefaults = {
filters: { status: { ready: true, expired: true, removed: true, error: true, preparing: true } },
orderBy: "-anonymizeDate",
sort: "anonymizeDate",
direction: "desc",
};
const savedAdminUserPrefs = loadFilterPrefs(adminUserPrefsKey) || {};
$scope.filters = {
@@ -466,25 +469,49 @@ angular
(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, {
filters: $scope.filters,
orderBy: $scope.orderBy,
sort: $scope.query.sort,
direction: $scope.query.direction,
});
});
}, true);
$scope.$watch(
"filters",
() => {
saveFilterPrefs(adminUserPrefsKey, {
filters: $scope.filters,
orderBy: $scope.orderBy,
sort: $scope.query.sort,
direction: $scope.query.direction,
});
},
true
);
$scope.statusCountFor = (s) => {
return ($scope.repositories || []).filter((r) => r.status === s).length;
};
$scope.repoFiler = (repo) => {
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.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;
};
// -------- 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) {
$http.get("/api/admin/users/" + username + "/repos", {}).then(
(res) => {
@@ -530,6 +631,18 @@ angular
.post(`/api/admin/users/${$routeParams.username}/activate`)
.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.tokenForm = { name: "", plaintext: null };
@@ -667,7 +780,9 @@ angular
};
$scope.chips = [];
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) => {
@@ -699,9 +814,13 @@ angular
sort: "name",
direction: "asc",
search: "",
status: "",
dateFrom: "",
dateTo: "",
ready: false,
expired: false,
removed: false,
error: true,
preparing: true,
};
const savedConfAdminPrefs = loadFilterPrefs(confAdminPrefsKey) || {};
$scope.query = Object.assign({}, confAdminDefaults, savedConfAdminPrefs, {
@@ -709,6 +828,38 @@ angular
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 = () => {
const params = new URLSearchParams(
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.conferences = res.data.results;
$scope.statusCounts = res.data.statusCounts || [];
$scope.$apply();
},
(err) => {
$scope.fetchError = (err && err.data && err.data.error) || "Failed to load conferences";
@@ -757,39 +907,24 @@ angular
"$http",
"$location",
"$interval",
function ($scope, $http, $location, $interval) {
"$timeout",
function ($scope, $http, $location, $interval, $timeout) {
$scope.$watch("user.status", () => {
if ($scope.user == null) {
$location.url("/");
}
if ($scope.user == null) $location.url("/");
});
if ($scope.user == null) {
$location.url("/");
}
if ($scope.user == null) $location.url("/");
$scope.downloadJobs = [];
$scope.removeJobs = [];
$scope.removeCaches = [];
$scope.counts = { download: {}, remove: {}, cache: {} };
$scope.queueList = [];
$scope.jobs = [];
$scope.selectedQueue = "download";
$scope.selectedStats = null;
$scope.range = "1h";
$scope.query = {
search: "",
state: "",
state: "active",
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) => {
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)));
@@ -800,31 +935,42 @@ angular
return null;
};
$scope.bulkRetryFailed = (queue) => {
if (!confirm(`Retry all failed jobs in the ${queue} queue?`)) return;
$http.post(`/api/admin/queue/${queue}/retry-failed`).then(getQueues, (err) => console.error(err));
$scope.jobDuration = (job) => {
if (!job.processedOn) return "-";
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;
$http.post(`/api/admin/queue/${queue}/drain`).then(getQueues, (err) => console.error(err));
$scope.selectQueue = (key) => {
$scope.selectedQueue = key;
getQueues();
};
$scope.setRange = (r) => {
$scope.range = r;
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) => {
$scope.downloadJobs = res.data.downloadQueue;
$scope.removeJobs = res.data.removeQueue;
$scope.removeCaches = res.data.cacheQueue;
$scope.counts = res.data.counts || $scope.counts;
$scope.queueList = res.data.queues || [];
$scope.jobs = res.data.jobs || [];
$scope.selectedStats = $scope.queueList.find((q) => q.key === $scope.selectedQueue) || $scope.queueList[0] || null;
$timeout(drawChart, 0);
},
(err) => {
console.error(err);
}
(err) => console.error(err)
);
}
getQueues();
// auto-refresh every 5 seconds while autoRefresh is on
const stop = $interval(() => {
if ($scope.query.autoRefresh) getQueues();
}, 5000);
@@ -832,45 +978,126 @@ angular
$scope.refreshNow = getQueues;
$scope.removeJob = function (queue, job) {
$http
.delete(`/api/admin/queue/${queue}/${job.id}`, {
params: $scope.query,
})
.then(
(res) => {
getQueues();
},
(err) => {
console.error(err);
}
);
$scope.removeJob = (job) => {
$http.delete(`/api/admin/queue/${$scope.selectedQueue}/${job.id}`).then(getQueues, (err) => console.error(err));
};
$scope.retryJob = function (queue, job) {
$http
.post(`/api/admin/queue/${queue}/${job.id}`, {
params: $scope.query,
})
.then(
(res) => {
getQueues();
},
(err) => {
console.error(err);
}
);
$scope.retryJob = (job) => {
$http.post(`/api/admin/queue/${$scope.selectedQueue}/${job.id}`).then(getQueues, (err) => console.error(err));
};
$scope.retryFailed = () => {
if (!confirm(`Retry all failed jobs in ${$scope.selectedQueue}?`)) return;
$http.post(`/api/admin/queue/${$scope.selectedQueue}/retry-failed`).then(getQueues, (err) => console.error(err));
};
$scope.drainSelected = () => {
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;
$scope.$watch(
"query.search",
() => {
clearTimeout(searchClear);
searchClear = setTimeout(getQueues, 350);
}
);
$scope.$watch("query.search", () => {
clearTimeout(searchClear);
searchClear = setTimeout(getQueues, 350);
});
$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", [
@@ -1310,4 +1537,122 @@ angular
$scope.$watch("query.sort", 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); });
},
]);
+388 -81
View File
@@ -113,6 +113,11 @@ angular
reloadOnUrl: false,
})
.when("/admin/", {
templateUrl: "/partials/admin/overview.htm",
controller: "overviewAdminController",
title: "Admin · Overview – Anonymous GitHub",
})
.when("/admin/repositories", {
templateUrl: "/partials/admin/repositories.htm",
controller: "repositoriesAdminController",
title: "Admin · Repositories – Anonymous GitHub",
@@ -469,7 +474,7 @@ angular
function () {
return {
restrict: "E",
scope: { file: "=", parent: "@" },
scope: { file: "=", parent: "@", searchQuery: "=", searchResults: "=" },
controller: [
"$element",
"$scope",
@@ -491,26 +496,44 @@ angular
const toArray = function (arr) {
const 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) {
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}`;
if (fPath.startsWith("/")) {
fPath = fPath.substring(1);
}
if (file.size != null) {
// it is a file
current.push({
name: file.name,
size: file.size,
sha: file.sha,
});
} else {
const dir = {
name: file.name,
child: [],
};
keys[fPath] = dir;
current.push(dir);
if (!keys[fPath]) {
const dir = {
name: file.name,
child: [],
};
keys[fPath] = dir;
current.push(dir);
}
}
}
return output;
@@ -520,7 +543,7 @@ angular
const f1d = !!f1.child;
const f2d = !!f2.child;
if (f1d && f2d) {
return f1.name - f2.name;
return f1.name.localeCompare(f2.name);
}
if (f1d) {
return -1;
@@ -528,9 +551,18 @@ angular
if (f2d) {
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) {
const truncated =
($scope.$parent.options &&
@@ -543,40 +575,82 @@ angular
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 "";
current = current.sort(sortFiles);
const afiles = current;
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 name = f.name;
let size = f.size;
let collapsed = f;
if (dir) {
let test = name;
current = f.child;
while (current && current.length == 1) {
test += "/" + current[0].name;
size = current[0].size;
current = current[0].child;
let inner = f.child;
while (inner && inner.length == 1) {
test += "/" + inner[0].name;
size = inner[0].size;
inner = inner[0].child;
}
name = test;
collapsed = inner ? { child: inner } : f;
if (size != null && size >= 0) {
dir = false;
}
}
if (size != null) {
size = `Size: ${humanFileSize(size || 0)}`;
} else {
size = "";
}
const sizeTitle = size != null ? `Size: ${humanFileSize(size || 0)}` : "";
const path = `${parentPath}/${name}`;
const fileCount = dir ? getFileCount(path) : 0;
const isOpen = filterSet ? ($scope.opens[path] !== false) : $scope.opens[path];
const cssClasses = ["file"];
if (dir) {
cssClasses.push("folder");
}
if ($scope.opens[path]) {
if (isOpen) {
cssClasses.push("open");
}
if ($scope.isActive(path)) {
@@ -589,48 +663,54 @@ angular
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) {
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>`;
if (truncated) {
output += `<span class="truncated-warning" title="{{ 'WARNINGS.folder_truncated' | translate }}"><i class="fas fa-exclamation-triangle"></i></span>`;
}
if (fileCount > 0) {
output += `<span class="tree-count">${fileCount}</span>`;
}
output += `</a>`;
} else {
const needsSpacer = parentPath !== "";
output += `<a href='/r/${$scope.repoId}${encodePathForUrl(
path
)}'>${name}</a>`;
)}'>${needsSpacer ? '<span class="tree-spacer"></span>' : ''}<span class="tree-icon-file"></span><span class="tree-name">${escapeHtml(name)}</span></a>`;
}
if (truncated) {
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 (f.child.length > 1) {
output += generate(f.child, path);
if (isOpen && collapsed.child) {
const children = collapsed.child;
if (children.length > 1) {
output += generate(children, path, filterSet);
} else if (dir) {
current = f.child;
while (current && current.length == 1) {
current = current[0].child;
let inner = children;
while (inner && inner.length == 1) {
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>";
}
function display() {
$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) => {
$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) {
if (!nodes) return;
for (const f of nodes) {
@@ -656,24 +736,148 @@ angular
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) {
return $routeParams.path == name.substring(1);
};
$scope.openFolder = async function (folder, event) {
$scope.opens[folder] = !$scope.opens[folder];
const sib = event.srcElement.nextSibling;
// Lazy-load when there's no sibling (folder never expanded) or
// when the sibling is an empty <ul> from a pre-expanded folder
// whose children weren't fetched yet (#496-followup).
$scope.openFolder = function (folder, event) {
var currentlyOpen = $scope.opens[folder];
if (currentlyOpen === undefined && $scope.searchQuery) {
currentlyOpen = true;
}
$scope.opens[folder] = !currentlyOpen;
const li = event.target.closest("li");
const childUl = li ? li.querySelector(":scope > ul") : null;
const needsLoad =
sib == null ||
(sib.tagName === "UL" && sib.children.length === 0);
childUl == null ||
childUl.children.length === 0;
if (needsLoad) {
await $scope.$parent.getFiles(folder.substring(1));
$scope.$apply();
$scope.$parent.getFiles(folder.substring(1));
}
};
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",
"$routeParams",
"$sce",
"$q",
"PDFViewerService",
function ($scope, $http, $location, $routeParams, $sce, PDFViewerService) {
function ($scope, $http, $location, $routeParams, $sce, $q, PDFViewerService) {
$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 = {
yml: "yaml",
txt: "text",
@@ -2270,21 +2565,30 @@ angular
);
}
}
$scope.getFiles = async function (path) {
try {
const res = await $http.get(
`/api/repo/${$scope.repoId}/files/?path=${encodeURIComponent(path)}&v=${$scope.options.lastUpdateDate}`
);
$scope.fileCounts = null;
$scope.getFiles = function (path) {
return $http.get(
`/api/repo/${$scope.repoId}/files/?path=${encodeURIComponent(path)}&v=${$scope.options.lastUpdateDate}`
).then(function (res) {
const normalized = path || "";
$scope.files = $scope.files.filter((f) => f.path !== normalized);
$scope.files.push(...res.data);
return res.data;
} catch (err) {
}, function (err) {
$scope.type = "error";
$scope.content = (err && err.data && err.data.error) || "unknown_error";
$scope.files = [];
}
});
};
function fetchFileCounts() {
$http.get(
`/api/repo/${$scope.repoId}/files/counts`
).then(function (res) {
$scope.fileCounts = res.data;
}, function () {
$scope.fileCounts = {};
});
}
function getSelectedFile() {
return $scope.files.filter(
@@ -2592,25 +2896,28 @@ angular
$scope.filePath = $routeParams.path || "";
$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++) {
const path = i > 0 ? $scope.paths.slice(0, i).join("/") : "";
await $scope.getFiles(path);
if ($scope.type === "error") {
$scope.$apply();
return;
}
}
if ($scope.files.length == 1 && $scope.files[0].name == "") {
$scope.files = [];
$scope.type = "empty";
$scope.$apply();
} else {
$scope.$apply(() => {
selectFile();
updateContent();
chain = chain.then(function () {
return $scope.getFiles(path);
}).then(function () {
if ($scope.type === "error") {
return $q.reject("error");
}
});
}
chain.then(function () {
if ($scope.files.length == 1 && $scope.files[0].name == "") {
$scope.files = [];
$scope.type = "empty";
} else {
selectFile();
updateContent();
}
});
});
}
+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>
`}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>
@@ -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>
${e}</tr>
`}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,`
`)})),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(`
`).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,`
`);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
`)),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(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()+`
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()+`
`+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
`+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
`+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&&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
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
@@ -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
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,
-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
-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=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
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-size: ${i.fontSize};
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}
${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,`
`)},"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
`,"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
`},"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"),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")}},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};
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+`
`)+(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+`
`;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(`
`,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+=`
@@ -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(`
`,c+1)):0===c?a&&(e.result+=" "):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(`
`,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`
@@ -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.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+`
`:""}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
\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
`:""}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"),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(`
`)}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
]`).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,`
`)}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||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],`
`)}}blockquote(e){e=this.rules.block.blockquote.exec(e);if(e){let n=VE(e[0],`
`).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+`
`,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)===`
`?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+=`
`: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+=`
@@ -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.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.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>
`:"<pre><code>"+(i?e:qE(e,!0))+`</code></pre>
`}blockquote({tokens:e}){return`<blockquote>
@@ -441,20 +441,20 @@ ${this.parser.parse(e)}</blockquote>
`}tablerow({text:e}){return`<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}>
`}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+=`
`+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
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,`
`}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||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(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,`
`));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(`
`).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(`
`));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=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,`
`),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
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
`),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
point:`,e,`
node:
`,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,`
`),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}
l${i},0
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}
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},${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+`
@@ -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.
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)}
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
L20,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,`
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()+`
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()+`
`+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
`);return HK.parse(e)},WK=qK}),iZ=e(()=>{"use strict";GK=mt(()=>`
`+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}),iQ=e(()=>{"use strict";GK=mt(()=>`
/* Font Awesome icon styling - consolidated */
.label-icon {
display: inline-block;
@@ -499,7 +499,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
stroke: 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};
color: ${e.nodeTextColor||e.textColor};
}
@@ -646,12 +646,12 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
text-align: center;
}
${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()+`
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()+`
`+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 {
fill: ${e.mainBkg};
stroke: ${e.nodeBorder};
@@ -667,7 +667,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
}
.labelBkg {
background-color: ${gZ(e.tertiaryColor,.5)};
background-color: ${gQ(e.tertiaryColor,.5)};
}
.edgeLabel .label {
@@ -705,7 +705,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
stroke: ${e.lineColor} !important;
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("\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`
@@ -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":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}}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=!!`
`.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.
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?`
@@ -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}
Failed parsing: < ${t.toString()} >
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",`
`],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.
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.
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 '$'
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 '^'
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.
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_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.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,
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
@@ -751,8 +751,8 @@ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`,s.
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.
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:[`
`,"\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.
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),(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.
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:
@@ -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.
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:
`+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.
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=`
`+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(),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:
`+v(e,(e,t)=>` ${t+1}. `+e).join(`
`))+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:
${t+" --\x3e "+v(e.leftRecursionPath,e=>e.name).concat([t]).join(" --\x3e ")}
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(`
`).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
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
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
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
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`,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:
@@ -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.
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
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.
`;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)===`
`&&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
`;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
`&&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=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?`{${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 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
`.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
`):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
`)}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: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
`)} `+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},${y-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+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
`,"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=>`
${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;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-msg,
.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).
`+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.
`+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 {
font-family: ${e.fontFamily};
}
@@ -1164,7 +1164,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
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
`+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{
stroke: ${e.pieStrokeColor};
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-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
`+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
`,"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=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()+`
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()+`
@@ -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).
`+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.
`+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
`+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
`+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: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()+`
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()+`
@@ -1268,7 +1268,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
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()+`
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()+`
@@ -1389,12 +1389,12 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
fill: ${e.actorBkg};
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()+`
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()+`
`+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};
stroke: none;
font-family: ${e.fontFamily};
@@ -1553,12 +1553,12 @@ g.classGroup line {
fill: ${e.textColor};
}
${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()+`
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()+`
`+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 {
fill: ${e.transitionColor};
stroke: ${e.transitionColor};
@@ -1772,12 +1772,12 @@ g.stateGroup line {
font-size: 18px;
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()+`
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()+`
`+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};
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).
`+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.
`+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 {
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).
`+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.
`+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 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(`
`)),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(`
`),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
`)),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}},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;
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;
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${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}
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+=`
.section-${e-1} rect, .section-${e-1} path, .section-${e-1} circle, .section-${e-1} polygon, .section-${e-1} path {
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;
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()+`
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()+`
@@ -2281,7 +2281,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
`:`{
`+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
`+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 {
fill: ${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).
`+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.
`+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
`+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,`
`).trim(),"prepareTextForParsing")}),sMe=e(()=>{"use strict";QRe=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: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";QRe=mt(e=>e.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,`
`).trim(),"prepareTextForParsing")}),sMe=e(()=>{"use strict";ZRe=mt(e=>`.label {
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 {
font-size: ${e.byteFontSize};
}
@@ -2391,7 +2391,7 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
stroke-width: ${e.blockStrokeWidth};
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} {
color: ${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).
`+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.
`+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};
color: ${e.nodeTextColor||e.textColor};
}
@@ -2551,10 +2551,10 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
fill: ${e.textColor};
}
${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)}
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 {
stroke-width: ${e.archEdgeWidth};
stroke: ${e.archEdgeColor};
@@ -2585,11 +2585,11 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
display: -webkit-box;
-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(${y*v.width/2}, ${b*v.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 {
stroke: ${e.sectionStrokeColor};
stroke-width: ${e.sectionStrokeWidth};
@@ -2612,14 +2612,14 @@ Expecting `+E.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on l
fill: ${e.titleColor};
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
`);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
`;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,`
`},"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(()=>(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 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=[])=>`
.${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+=`
: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">
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
`},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
</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
+3
View File
@@ -119,6 +119,7 @@ export function startWorker() {
concurrency: 5,
connection,
autorun: true,
metrics: { maxDataPoints: 120 },
}
);
cacheWorker.on("completed", async (job) => {
@@ -131,6 +132,7 @@ export function startWorker() {
concurrency: 5,
connection,
autorun: true,
metrics: { maxDataPoints: 120 },
}
);
removeWorker.on("completed", async (job) => {
@@ -144,6 +146,7 @@ export function startWorker() {
concurrency: 3,
connection,
autorun: true,
metrics: { maxDataPoints: 120 },
}
);
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 * as express from "express";
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) => {
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 states: JobType[] = stateFilter && QUEUE_STATES.includes(stateFilter)
? [stateFilter]
: QUEUE_STATES;
const [download, remove, cache, dCounts, rCounts, cCounts] = await Promise.all([
downloadQueue.getJobs(states),
removeQueue.getJobs(states),
cacheQueue.getJobs(states),
downloadQueue.getJobCounts(...QUEUE_STATES),
removeQueue.getJobCounts(...QUEUE_STATES),
cacheQueue.getJobCounts(...QUEUE_STATES),
]);
const allQueues: { key: string; label: string; queue: Queue }[] = [
{ key: "download", label: "Download", queue: downloadQueue },
{ key: "remove", label: "Remove", queue: removeQueue },
{ key: "cache", label: "Cache cleanup", queue: cacheQueue },
];
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 }) => {
if (!search) return true;
@@ -224,14 +305,9 @@ router.get("/queues", async (req, res) => {
};
res.json({
downloadQueue: download.filter(matches),
removeQueue: remove.filter(matches),
cacheQueue: cache.filter(matches),
counts: {
download: dCounts,
remove: rCounts,
cache: cCounts,
},
queues: statsResults,
selectedQueue: target?.key || "download",
jobs: jobs.filter(matches),
});
});
@@ -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
router.get("/stats", async (req, res) => {
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) => {
const page = parseInt(req.query.page as string) || 1;
const limit = Math.min(parseInt(req.query.limit as string) || 10, 1000);
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 filter: Record<string, unknown> = {};
const query: Record<string, unknown>[] = [];
if (req.query.search) {
const escaped = escapeRegex(req.query.search as string);
filter.$or = [
{ name: { $regex: escaped, $options: "i" } },
{ conferenceID: { $regex: escaped, $options: "i" } },
];
const re = { $regex: escaped, $options: "i" };
query.push({
$or: [
{ name: re },
{ conferenceID: re },
],
});
}
if (req.query.status) filter.status = req.query.status;
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") {
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 User from "../../core/User";
import { streamAnonymizedZip } from "../../core/zipStream";
import FileModel from "../../core/model/files/files.model";
import { createLogger, serializeError } from "../../core/logger";
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(
"/:repoId/options",
async (req: express.Request, res: express.Response) => {