@coolon/angular-ui-powerups 12.4.0 → 12.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/coolon-angular-ui-powerups-cypress.umd.js +14 -34
- package/bundles/coolon-angular-ui-powerups-cypress.umd.js.map +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.js +111 -110
- package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/cypress/coolon-angular-ui-powerups-cypress.metadata.json +1 -1
- package/esm2015/cypress/component-builder.js +3 -3
- package/esm2015/cypress/component-builder.js.map +1 -1
- package/esm2015/cypress/component-builder.metadata.json +1 -1
- package/esm2015/cypress/components/aup-abstract-table.js +3 -3
- package/esm2015/cypress/components/aup-abstract-table.js.map +1 -1
- package/esm2015/cypress/components/aup-abstract-table.metadata.json +1 -1
- package/esm2015/cypress/components/aup-command.js +2 -2
- package/esm2015/cypress/components/aup-command.js.map +1 -1
- package/esm2015/cypress/components/aup-command.metadata.json +1 -1
- package/esm2015/cypress/components/aup-tree-table.js +1 -1
- package/esm2015/cypress/components/aup-tree-table.js.map +1 -1
- package/esm2015/cypress/components/aup-tree-table.metadata.json +1 -1
- package/esm2015/cypress/page-element.js +3 -3
- package/esm2015/cypress/page-element.js.map +1 -1
- package/esm2015/cypress/page-element.metadata.json +1 -1
- package/esm2015/cypress/page.js +3 -3
- package/esm2015/cypress/page.js.map +1 -1
- package/esm2015/cypress/page.metadata.json +1 -1
- package/esm2015/lib/components/busy-overlay/busy-overlay.component.js +1 -1
- package/esm2015/lib/components/busy-overlay/busy-overlay.component.metadata.json +1 -1
- package/esm2015/lib/components/cards/card-container/card-container.component.js +4 -4
- package/esm2015/lib/components/cards/card-container/card-container.component.js.map +1 -1
- package/esm2015/lib/components/cards/card-container/card-container.component.metadata.json +1 -1
- package/esm2015/lib/components/commands/command/command.component.js +2 -2
- package/esm2015/lib/components/commands/command/command.component.js.map +1 -1
- package/esm2015/lib/components/commands/command/command.component.metadata.json +1 -1
- package/esm2015/lib/components/commands/command-face.js +8 -8
- package/esm2015/lib/components/commands/command-face.js.map +1 -1
- package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +3 -3
- package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.metadata.json +1 -1
- package/esm2015/lib/components/tables/abstract-table-model.js +3 -3
- package/esm2015/lib/components/tables/abstract-table-model.js.map +1 -1
- package/esm2015/lib/components/tables/abstract-table-model.metadata.json +1 -1
- package/esm2015/lib/components/tables/column-list-model.js +2 -2
- package/esm2015/lib/components/tables/column-list-model.js.map +1 -1
- package/esm2015/lib/components/tables/column-list-model.metadata.json +1 -1
- package/esm2015/lib/components/tables/table/column-model.js +12 -12
- package/esm2015/lib/components/tables/table/column-model.js.map +1 -1
- package/esm2015/lib/components/tables/table/column-model.metadata.json +1 -1
- package/esm2015/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.js.map +1 -1
- package/esm2015/lib/components/tables/tree-table/decorated-tree-node.js +3 -3
- package/esm2015/lib/components/tables/tree-table/decorated-tree-node.js.map +1 -1
- package/esm2015/lib/components/tables/tree-table/tree-label-column-model.js +2 -2
- package/esm2015/lib/components/tables/tree-table/tree-label-column-model.js.map +1 -1
- package/esm2015/lib/components/tables/tree-table/tree-label-column-model.metadata.json +1 -1
- package/esm2015/lib/components/tables/tree-table/tree-table-model.js +2 -2
- package/esm2015/lib/components/tables/tree-table/tree-table-model.js.map +1 -1
- package/esm2015/lib/components/tables/tree-table/tree-table-model.metadata.json +1 -1
- package/esm2015/lib/components/text/markdown/markdown.component.js +3 -3
- package/esm2015/lib/components/text/markdown/markdown.component.js.map +1 -1
- package/esm2015/lib/components/text/markdown/markdown.component.metadata.json +1 -1
- package/esm2015/lib/directives/highlight.pipe.js +2 -2
- package/esm2015/lib/directives/highlight.pipe.js.map +1 -1
- package/esm2015/lib/directives/highlight.pipe.metadata.json +1 -1
- package/esm2015/lib/interaction/abstract-interaction-context.js.map +1 -1
- package/esm2015/lib/interaction/alert.js +3 -3
- package/esm2015/lib/interaction/alert.js.map +1 -1
- package/esm2015/lib/interaction/components/abstract-dialog.component.js +2 -2
- package/esm2015/lib/interaction/components/abstract-dialog.component.js.map +1 -1
- package/esm2015/lib/interaction/components/activity-body/activity-body.component.js.map +1 -1
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +3 -3
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
- package/esm2015/lib/interaction/components/activity-title/activity-title.component.js +2 -2
- package/esm2015/lib/interaction/components/activity-title/activity-title.component.js.map +1 -1
- package/esm2015/lib/interaction/components/activity-title/activity-title.component.metadata.json +1 -1
- package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js +2 -2
- package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js.map +1 -1
- package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.metadata.json +1 -1
- package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +1 -1
- package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js.map +1 -1
- package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.metadata.json +1 -1
- package/esm2015/lib/interaction/components/input-activities/input-activity.js +2 -2
- package/esm2015/lib/interaction/components/input-activities/input-activity.js.map +1 -1
- package/esm2015/lib/interaction/components/input-activities/input-activity.metadata.json +1 -1
- package/esm2015/lib/interaction/directives/interaction-context-trigger-for.directive.js +2 -2
- package/esm2015/lib/interaction/directives/interaction-context-trigger-for.directive.js.map +1 -1
- package/esm2015/lib/interaction/directives/interaction-context-trigger-for.directive.metadata.json +1 -1
- package/esm2015/lib/place/components/abstract-place-navigation.component.js +1 -1
- package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -1
- package/esm2015/lib/place/components/abstract-place-navigation.component.metadata.json +1 -1
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +8 -5
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.metadata.json +1 -1
- package/esm2015/lib/place/guards/consolidated-param-map.js +3 -3
- package/esm2015/lib/place/guards/consolidated-param-map.js.map +1 -1
- package/esm2015/lib/place/guards/consolidated-param-map.metadata.json +1 -1
- package/esm2015/lib/place/navigation/place-component-deactivation-handler.js +2 -2
- package/esm2015/lib/place/navigation/place-component-deactivation-handler.js.map +1 -1
- package/esm2015/lib/place/navigation/place-component-deactivation-handler.metadata.json +1 -1
- package/esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js +2 -2
- package/esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js.map +1 -1
- package/esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.metadata.json +1 -1
- package/esm2015/lib/place/place-component.js +3 -3
- package/esm2015/lib/place/place-component.js.map +1 -1
- package/esm2015/lib/place/place-component.metadata.json +1 -1
- package/esm2015/lib/place/place-definition.js +5 -5
- package/esm2015/lib/place/place-definition.js.map +1 -1
- package/esm2015/lib/place/place-definition.metadata.json +1 -1
- package/esm2015/lib/place/place-history.js +8 -8
- package/esm2015/lib/place/place-history.js.map +1 -1
- package/esm2015/lib/place/place-history.metadata.json +1 -1
- package/esm2015/lib/place/place.decorator.js +2 -2
- package/esm2015/lib/place/place.decorator.js.map +1 -1
- package/esm2015/lib/place/place.decorator.metadata.json +1 -1
- package/esm2015/lib/place/route/formatter.js +3 -3
- package/esm2015/lib/place/route/formatter.js.map +1 -1
- package/esm2015/lib/place/route/parameter-definition.js +8 -8
- package/esm2015/lib/place/route/parameter-definition.js.map +1 -1
- package/esm2015/lib/place/route/parameter-definition.metadata.json +1 -1
- package/esm2015/lib/place/url-snapshot.js +3 -3
- package/esm2015/lib/place/url-snapshot.js.map +1 -1
- package/esm2015/lib/place/url-snapshot.metadata.json +1 -1
- package/esm2015/lib/place/visit.js +5 -5
- package/esm2015/lib/place/visit.js.map +1 -1
- package/esm2015/lib/place/visit.metadata.json +1 -1
- package/fesm2015/coolon-angular-ui-powerups-cypress.js +10 -10
- package/fesm2015/coolon-angular-ui-powerups-cypress.js.map +1 -1
- package/fesm2015/coolon-angular-ui-powerups.js +84 -82
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/package.json +10 -9
- package/schematics/place-routes/place-class-scanner.js +5 -5
- package/schematics/place-routes/place-class-scanner.js.map +1 -1
- package/schematics/place-routes/place-def.js +5 -5
- package/schematics/place-routes/place-def.js.map +1 -1
- package/schematics/utils/import-def.js +4 -4
- package/schematics/utils/import-def.js.map +1 -1
- package/schematics/utils/method-scanner.js +6 -6
- package/schematics/utils/method-scanner.js.map +1 -1
- package/schematics/utils/path-helper.js +4 -4
- package/schematics/utils/path-helper.js.map +1 -1
- package/schematics/utils/source-file-scanner.js +5 -5
- package/schematics/utils/source-file-scanner.js.map +1 -1
- package/schematics/utils/source-file-utilities.js +2 -2
- package/schematics/utils/source-file-utilities.js.map +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Stringy, Mixin } from '@coolon/typescript-utilities';
|
|
2
|
-
import
|
|
2
|
+
import { isNil, isString, isFunction, isEmpty } from 'lodash-es';
|
|
3
3
|
import { __decorate, __metadata } from 'tslib';
|
|
4
|
-
import { Memoize } from '@typescript-plus/fast-memoize-decorator
|
|
4
|
+
import { Memoize } from '@typescript-plus/fast-memoize-decorator';
|
|
5
5
|
import { DefaultUrlSerializer } from '@angular/router';
|
|
6
6
|
|
|
7
7
|
var ElementLocator;
|
|
@@ -23,9 +23,9 @@ var ElementLocator;
|
|
|
23
23
|
class PageElement {
|
|
24
24
|
constructor(parent, selectorOrLocator) {
|
|
25
25
|
this.parent = parent;
|
|
26
|
-
this.domElementLocator =
|
|
26
|
+
this.domElementLocator = isNil(selectorOrLocator) ?
|
|
27
27
|
this.getDefaultElementLocator() :
|
|
28
|
-
|
|
28
|
+
isString(selectorOrLocator) ?
|
|
29
29
|
ElementLocator.findByCssSelector(selectorOrLocator) :
|
|
30
30
|
selectorOrLocator;
|
|
31
31
|
}
|
|
@@ -87,7 +87,7 @@ class AupCommandFace extends PageElement {
|
|
|
87
87
|
class AupCommand extends PageElement {
|
|
88
88
|
constructor(parent, faceOrSelector) {
|
|
89
89
|
super(parent, parentElement => {
|
|
90
|
-
if (
|
|
90
|
+
if (isString(faceOrSelector)) {
|
|
91
91
|
return parentElement.dom().find(faceOrSelector);
|
|
92
92
|
}
|
|
93
93
|
else {
|
|
@@ -319,7 +319,7 @@ __decorate([
|
|
|
319
319
|
}
|
|
320
320
|
AupAbstractTable.cssSelectorForNthTableRow = cssSelectorForNthTableRow;
|
|
321
321
|
function cssSelectorForColumnCellRendererById(columnOrId) {
|
|
322
|
-
const columnId =
|
|
322
|
+
const columnId = isString(columnOrId) ? columnOrId : columnOrId.columnId;
|
|
323
323
|
return `aup-table-cell-renderer[column-id=${columnId}]`;
|
|
324
324
|
}
|
|
325
325
|
AupAbstractTable.cssSelectorForColumnCellRendererById = cssSelectorForColumnCellRendererById;
|
|
@@ -489,8 +489,8 @@ class ComponentBuilder {
|
|
|
489
489
|
return this.component(AupEmptyState, selectorOrBuilder, optionalBuilder);
|
|
490
490
|
}
|
|
491
491
|
component(klass, selectorOrBuilder, optionalBuilder) {
|
|
492
|
-
const selector =
|
|
493
|
-
const builder =
|
|
492
|
+
const selector = isString(selectorOrBuilder) ? selectorOrBuilder : undefined;
|
|
493
|
+
const builder = isFunction(selectorOrBuilder) ? selectorOrBuilder : optionalBuilder;
|
|
494
494
|
const element = new klass(this.parentPageElement, selector);
|
|
495
495
|
if (builder) {
|
|
496
496
|
// create the B&E type that the builder has access to
|
|
@@ -737,8 +737,8 @@ class Page extends PageElement {
|
|
|
737
737
|
(function (Page) {
|
|
738
738
|
function create(pathOrPathBuilder, builder) {
|
|
739
739
|
const pathBuilder = new Path.Builder();
|
|
740
|
-
if (
|
|
741
|
-
pathOrPathBuilder.split('/').filter(p => !
|
|
740
|
+
if (isString(pathOrPathBuilder)) {
|
|
741
|
+
pathOrPathBuilder.split('/').filter(p => !isEmpty(p)).forEach(p => pathBuilder.segment(p));
|
|
742
742
|
}
|
|
743
743
|
else {
|
|
744
744
|
pathOrPathBuilder(pathBuilder);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coolon-angular-ui-powerups-cypress.js","sources":["../../../../libs/angular-ui-powerups/cypress/src/element-locator.ts","../../../../libs/angular-ui-powerups/cypress/src/page-element.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-command-face.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-command.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-empty-state.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-input.ts","../../../../libs/angular-ui-powerups/cypress/src/components/popup/aup-popup-menu-panel.ts","../../../../libs/angular-ui-powerups/cypress/src/components/popup/aup-abstract-popup-menu.ts","../../../../libs/angular-ui-powerups/cypress/src/components/popup/aup-more-menu.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-navigation.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-cell.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-column.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-selection-column.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-abstract-table.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-row.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-table.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-tree-table.ts","../../../../libs/angular-ui-powerups/cypress/src/components/form-element-mixin.ts","../../../../libs/angular-ui-powerups/cypress/src/components/button.ts","../../../../libs/angular-ui-powerups/cypress/src/components/mat-checkbox.ts","../../../../libs/angular-ui-powerups/cypress/src/component-builder.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-abstract-activity.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-alert.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-modal-mixin.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-alert-dialog.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-confirm.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-confirm-dialog.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-activity.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-modal-activity.ts","../../../../libs/angular-ui-powerups/cypress/src/page-builder.ts","../../../../libs/angular-ui-powerups/cypress/src/path.ts","../../../../libs/angular-ui-powerups/cypress/src/page.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-command-group.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-tool-bar.ts","../../../../libs/angular-ui-powerups/cypress/src/components/popup/aup-popup-menu.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-selection-cell.ts","../../../../libs/angular-ui-powerups/cypress/src/exports.ts","../../../../libs/angular-ui-powerups/cypress/src/coolon-angular-ui-powerups-cypress.ts"],"sourcesContent":["import { PageElement } from './page-element';\n\nexport type ElementLocator = (parent: PageElement) => Cypress.Chainable<JQuery>;\n\nexport namespace ElementLocator {\n\n export function findByCssSelector(selector: string): ElementLocator {\n return parent => parent.dom().find(selector)\n }\n\n export function findByTextContent(text: string): ElementLocator {\n return parent => parent.dom().contains(text);\n }\n\n export function findBySelectorAndTextContent(selector: string, text: string): ElementLocator {\n return parent => parent.dom().contains(selector, text);\n }\n\n}\n","/* tslint:disable:unified-signatures */\nimport Chainable = Cypress.Chainable;\nimport { Stringy } from '@coolon/typescript-utilities';\nimport * as _ from 'lodash';\nimport { ElementLocator } from './element-locator';\n\nexport class PageElement<P extends PageElement<any> = PageElement<any>> {\n\n readonly domElementLocator: ElementLocator;\n\n constructor(parent: P, selector?: string)\n constructor(parent: P, locator?: ElementLocator)\n constructor(parent: P, selectorOrLocator?: string | ElementLocator)\n constructor(readonly parent: P, selectorOrLocator?: string | ElementLocator) {\n this.domElementLocator = _.isNil(selectorOrLocator) ?\n this.getDefaultElementLocator() :\n _.isString(selectorOrLocator) ?\n ElementLocator.findByCssSelector(selectorOrLocator) :\n selectorOrLocator;\n }\n\n getDefaultElementLocator(): ElementLocator {\n return ElementLocator.findByCssSelector(this.getDefaultElementSelector());\n }\n\n getDefaultElementSelector() {\n return Stringy.from(this.constructor.name).dasherize().toString();\n }\n\n dom(): Chainable<JQuery> {\n return this.domElementLocator(this.parent);\n }\n\n find(selector: string): PageElement {\n return new PageElement(this, selector);\n }\n\n click(text?: string) {\n text ? this.dom().contains(text).click() : this.dom().click();\n }\n\n get should() {\n return this.getShoulder(this.getShouldElement());\n }\n\n getShoulder(element: Chainable<JQuery>) {\n return element.should.bind(element);\n }\n\n getShouldElement(): Chainable<JQuery> {\n return this.dom();\n }\n\n shouldBeVisible() {\n this.should('be.visible');\n }\n\n shouldNotBeVisible() {\n this.should('not.be.visible');\n }\n\n shouldExist() {\n this.dom().should('exist');\n }\n\n shouldNotExist() {\n this.dom().should('not.exist');\n }\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { Types } from './types';\n\nexport class AupCommandFace extends PageElement {\n\n constructor(parentElement: PageElement, face: Types.CommandFace) {\n super(parentElement, AupCommandFace.createElementLocator(face));\n }\n\n static createElementLocator(face: Types.CommandFace): ElementLocator {\n const locator = parent => {\n return face.text ?\n parent.dom().contains(`aup-command-face`, face.text()) :\n face.icon ?\n parent.dom().find(`aup-icon[ng-reflect-icon=${face.icon()}]`).closest('aup-command-face') :\n undefined;\n\n };\n // aot compiler doesn't like lambas\n return locator;\n }\n}\n\n","import { PageElement } from '../page-element';\nimport { AupCommandFace } from './aup-command-face';\nimport { Types } from './types';\nimport * as _ from 'lodash';\n\nexport class AupCommand extends PageElement {\n\n constructor(parent: PageElement, faceOrSelector: string | Types.CommandFace) {\n super(parent, parentElement => {\n if (_.isString(faceOrSelector)) {\n return parentElement.dom().find(faceOrSelector);\n } else {\n return AupCommandFace.createElementLocator(faceOrSelector)(parentElement).closest('aup-command');\n }\n });\n }\n\n click() {\n this.getButton().click();\n }\n\n getShouldElement(): Cypress.Chainable<JQuery> {\n return this.getButton();\n }\n\n shouldBeDisabled() {\n this.getButton().should('be.disabled');\n }\n\n shouldBeEnabled() {\n this.getButton().should('not.be.disabled');\n }\n\n private getButton() {\n return this.dom().find('button');\n }\n\n}\n\n","import { PageElement } from '../page-element';\n\nexport class AupEmptyState extends PageElement {\n\n shouldContainText(text:string) {\n this.dom().should(\"contain.text\", text)\n }\n}\n","import { PageElement } from '../page-element';\nimport Chainable = Cypress.Chainable;\n\nexport abstract class AupInput<T> extends PageElement {\n\n label() {\n return this.dom().find('label');\n }\n\n hint() {\n return this.dom().find('mat-hint');\n }\n\n error() {\n return this.dom().find('mat-error');\n }\n\n get labelShould() {\n return this.getShoulder(this.label())\n }\n\n get hintShould() {\n return this.getShoulder(this.hint());\n }\n\n get errorShould() {\n return this.getShoulder(this.error());\n }\n\n labelShouldBe(text: string) {\n return this.labelShould(\"have.text\", text);\n }\n\n hintShouldBe(text: string) {\n return this.hintShould(\"have.text\", text);\n }\n\n errorShouldBe(text: string) {\n return this.errorShould(\"have.text\", text);\n }\n\n shouldBeFocused() {\n this.input().should(\"have.focus\");\n }\n\n shouldNotBeFocused() {\n this.input().should(\"not.have.focus\");\n }\n\n type(characters:string) {\n this.input().type(characters);\n }\n\n hitEnter() {\n this.type(\"{enter}\")\n }\n\n abstract input(): Chainable<JQuery>\n abstract clear();\n abstract setValue(value: T);\n\n}\n\nexport namespace AupInput {\n export class HtmlInput<T> extends AupInput<T> {\n input() {\n return this.dom().find('input');\n }\n\n clear() {\n this.input().clear();\n }\n\n setValue(value: T) {\n const input = this.input();\n input.clear();\n input.type(`${value}`);\n this.input().should('have.value', `${value}`);\n }\n\n getShouldElement(): Cypress.Chainable<JQuery> {\n return this.input();\n }\n\n }\n\n export class TextAreaInput<T> extends AupInput<T> {\n\n getShouldElement(): Cypress.Chainable<JQuery> {\n return this.input();\n }\n\n input() {\n return this.dom().find('textarea');\n }\n\n clear() {\n this.input().clear();\n }\n\n setValue(value: T) {\n const input = this.input();\n input.clear();\n input.type(`${value}`);\n this.input().should('have.value', value);\n }\n }\n\n}\n","import { PageElement } from '../../page-element';\n\nexport class AupPopupMenuPanel extends PageElement {\n\n}\n","import { ElementLocator } from '../../element-locator';\nimport { PageElement } from '../../page-element';\nimport { AupPopupMenuPanel } from './aup-popup-menu-panel';\n\nexport class AupAbstractPopupMenu extends PageElement {\n\n private popup: AupPopupMenuPanel;\n\n constructor(parent: PageElement, locator: ElementLocator) {\n super(parent, locator);\n this.popup = new AupPopupMenuPanel(this, p => this.findPopupIn(p));\n }\n\n protected findPopupIn(p: PageElement) {\n return this.getOverlay().find('.mat-menu-panel');\n }\n\n protected getOverlay() {\n return this.dom().closest('body').find('.cdk-overlay-container');\n }\n\n protected getBackdrop() {\n return this.getOverlay().find('.cdk-overlay-backdrop');\n }\n\n openPopup(): AupPopupMenuPanel {\n this.shouldNotBeOpen();\n this.click();\n return this.popup;\n }\n\n closePopup() {\n this.shouldBeOpen();\n this.getBackdrop().click();\n }\n\n shouldBeOpen() {\n this.popup.shouldBeVisible();\n }\n\n shouldNotBeOpen() {\n this.dom().closest('body').find('.mat-menu-panel').should(\"not.exist\");\n }\n\n\n}\n","import { ElementLocator } from '../../element-locator';\nimport { PageElement } from '../../page-element';\nimport { AupAbstractPopupMenu } from './aup-abstract-popup-menu';\n\nexport class AupMoreMenu extends AupAbstractPopupMenu {\n\n static create(parent: PageElement, selector?: string) {\n return new AupMoreMenu(parent, ElementLocator.findByCssSelector(selector ?? 'aup-more-menu'));\n }\n}\n","import { PageElement } from '../page-element';\nimport { AupCommandFace } from './aup-command-face';\n\nexport class AupNavigation extends PageElement {\n\n click(label: string) {\n return super.click(label);\n }\n\n face(label: string): AupCommandFace {\n return new AupCommandFace(this, { text: () => label });\n }\n\n shouldHaveLink(label: string) {\n this.face(label).shouldBeVisible();\n }\n\n shouldNotHaveLink(label: string) {\n this.face(label).shouldNotExist();\n }\n}\n","import { PageElement } from '../../page-element';\nimport { AupAbstractTable } from '../aup-abstract-table';\nimport { AupTableRow } from './aup-table-row';\nimport Chainable = Cypress.Chainable;\n\nexport class AupTableCell<TR extends AupTableRow> extends PageElement<AupAbstractTable<TR>> {\n\n rowId(): Chainable<string> {\n return this.dom().closest('tr').invoke('attr', 'aup-row-id');\n }\n\n row(): TR {\n const self = this;\n return this.parent.createRow(parent => {\n return self.rowId().then(rowId => parent.dom().find(AupAbstractTable.cssSelectorForTableRowById(rowId)));\n });\n }\n}\n","import { PageElement } from '../../page-element';\nimport { AupAbstractTable } from '../aup-abstract-table';\nimport { AupTableCell } from './aup-table-cell';\nimport { AupTableRow } from './aup-table-row';\n\nexport class AupTableColumn<TR extends AupTableRow> extends PageElement<AupAbstractTable<TR>> {\n\n constructor(table: AupAbstractTable<any>, readonly columnId: string) {\n super(table, AupAbstractTable.cssSelectorForColumnCellRendererById(columnId));\n }\n\n cellContaining(content: string): AupTableCell<TR> {\n const self = this;\n return new AupTableCell(this.parent,parent => {\n return parent.dom().contains(AupAbstractTable.cssSelectorForColumnCellRendererById(self.columnId), content);\n });\n }\n\n rowContaining(content: string): TR {\n return this.cellContaining(content).row();\n }\n}\n","import { AupTableColumn } from './aup-table-column';\nimport { AupTableRow } from './aup-table-row';\n\nexport class AupTableSelectionColumn<TR extends AupTableRow> extends AupTableColumn<TR> {\n selectAll() {\n }\n}\n","/* tslint:disable:unified-signatures */\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';\nimport * as _ from 'lodash';\nimport { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupTableColumn } from './table/aup-table-column';\nimport { AupTableRow } from './table/aup-table-row';\nimport { AupTableSelectionColumn } from './table/aup-table-selection-column';\n\nexport abstract class AupAbstractTable<TR extends AupTableRow> extends PageElement {\n\n row(rowId: any): TR {\n return this.createRow(parent => {\n return parent.dom().find(AupAbstractTable.cssSelectorForTableRowById(rowId));\n });\n }\n\n rowNumber(rowNumber: number): TR {\n return this.createRow(parent => {\n return parent.dom().find(AupAbstractTable.cssSelectorForNthTableRow(rowNumber));\n });\n }\n\n column(columnId: string): AupTableColumn<TR> {\n return new AupTableColumn(this, columnId);\n }\n\n @Memoize()\n get selectionColumn(): AupTableSelectionColumn<TR> {\n return new AupTableSelectionColumn(this, 'selection-column');\n }\n\n abstract createRow(locator: ElementLocator): TR\n\n}\n\nexport namespace AupAbstractTable {\n\n\n export function cssSelectorForTableRowById(rowId: string) {\n return `tbody tr[aup-row-id=${rowId}]`;\n }\n\n export function cssSelectorForNthTableRow(rowNumber: number) {\n return `tbody tr:nth-child(${rowNumber})`;\n }\n\n export function cssSelectorForColumnCellRendererById(columnOrId: AupTableColumn<any> | string) {\n const columnId = _.isString(columnOrId) ? columnOrId : columnOrId.columnId;\n return `aup-table-cell-renderer[column-id=${columnId}]`;\n }\n\n export function cssSelectorForCell(rowId: string, columnOrId: string | AupTableColumn<any>) {\n return `${cssSelectorForTableRowById(rowId)} ${cssSelectorForColumnCellRendererById(columnOrId)}`;\n }\n\n}\n","/* tslint:disable:unified-signatures */\nimport { PageElement } from '../../page-element';\nimport { AupAbstractTable } from '../aup-abstract-table';\nimport { AupTableCell } from './aup-table-cell';\nimport { AupTableColumn } from './aup-table-column';\nimport { AupTableSelectionCell } from './aup-table-selection-cell';\nimport { AupTableSelectionColumn } from './aup-table-selection-column';\nimport Chainable = Cypress.Chainable;\n\nexport class AupTableRow extends PageElement<AupAbstractTable<any>> {\n\n rowId(): Chainable<string> {\n return this.dom()\n .invoke('attr', 'aup-row-id');\n }\n\n shouldHaveRowId(rowId: string) {\n this.rowId().should('eq', rowId);\n }\n\n cell(columnId: string): AupTableCell<this>\n cell(column: AupTableColumn<this>): AupTableCell<this>\n cell(column: AupTableSelectionColumn<this>): AupTableSelectionCell<this>\n cell(columnOrId: string | AupTableColumn<this>): AupTableCell<this> {\n const self = this;\n return new AupTableCell(this.parent, parent => {\n return self.rowId()\n .then(rowId => AupAbstractTable.cssSelectorForCell(rowId, columnOrId))\n .then(selector => parent.dom().find(selector));\n });\n }\n\n shouldBeSelected() {\n this.dom().should('have.class', 'aup-row-selected');\n }\n\n shouldNotBeSelected() {\n this.dom().should('not.have.class', 'aup-row-selected');\n }\n\n}\n","/* tslint:disable:unified-signatures */\nimport { ElementLocator } from '../element-locator';\nimport { AupAbstractTable } from './aup-abstract-table';\nimport { AupTableRow } from './table/aup-table-row';\n\nexport class AupTable extends AupAbstractTable<AupTableRow> {\n createRow(locator: ElementLocator): AupTableRow {\n return new AupTableRow(this, locator);\n }\n}\n","/* tslint:disable:unified-signatures */\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';\nimport { ElementLocator } from '../element-locator';\nimport { AupAbstractTable } from './aup-abstract-table';\nimport { AupTableColumn } from './table/aup-table-column';\nimport { AupTableRow } from './table/aup-table-row';\n\nexport class AupTreeTable extends AupAbstractTable<AupTreeTable.Row> {\n\n @Memoize()\n get treeControlColumn(): AupTreeTable.TreeControlColumn {\n return new AupTreeTable.TreeControlColumn(this, 'tree-label');\n }\n\n createRow(locator: ElementLocator): AupTreeTable.Row {\n return new AupTreeTable.Row(this, locator);\n }\n\n}\n\nexport namespace AupTreeTable {\n\n export class Row extends AupTableRow {\n shouldBeExpanded() {\n this.dom().should(\"not.have.class\", \"aup-node-collapsed\")\n }\n shouldBeCollapsed() {\n this.dom().should(\"have.class\", \"aup-node-collapsed\")\n }\n }\n\n export class TreeControlColumn extends AupTableColumn<Row> {\n }\n\n}\n","import { Constructable } from '@coolon/typescript-utilities';\nimport { PageElement } from '../page-element';\n\nexport function FormElementMixin<T, BC extends Constructable<PageElement>>(Base: BC) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n }\n\n shouldBeDisabled() {\n this.should(\"be.disabled\");\n }\n\n };\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { FormElementMixin } from './form-element-mixin';\n\nexport class Button extends FormElementMixin(PageElement) {\n\n constructor(parentElementAccessor: PageElement, buttonText: string) {\n super(parentElementAccessor, ElementLocator.findBySelectorAndTextContent('button', buttonText));\n }\n\n}\n\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { FormElementMixin } from './form-element-mixin';\n\nexport class MatCheckbox extends FormElementMixin(PageElement) {\n\n constructor(parentElementAccessor: PageElement, text: string) {\n super(parentElementAccessor, ElementLocator.findBySelectorAndTextContent('mat-checkbox', text));\n }\n\n shouldBeChecked() {\n this.hiddenCheckBoxElement().should('be.checked');\n }\n\n shouldNotBeChecked() {\n this.hiddenCheckBoxElement().should('not.be.checked');\n }\n\n hiddenCheckBoxElement() {\n return this.dom().find('input[type=checkbox]');\n }\n\n check() {\n this.hiddenCheckBoxElement().then(el => {\n if (!el.prop('checked')) {\n this.click();\n this.shouldBeChecked();\n }\n });\n }\n\n uncheck() {\n this.hiddenCheckBoxElement().then(el => {\n if (el.prop('checked')) {\n this.click();\n this.shouldNotBeChecked();\n }\n })\n }\n\n}\n\n","import { E, T } from '@angular/cdk/keycodes';\nimport { Constructable } from '@coolon/pectin';\nimport { lang, Mixin as CreateMixin } from '@coolon/typescript-utilities';\nimport * as _ from 'lodash';\nimport { AupCommand } from './components/aup-command';\nimport { AupEmptyState } from './components/aup-empty-state';\nimport { AupInput } from './components/aup-input';\nimport { AupMoreMenu } from './components/popup/aup-more-menu';\nimport { AupNavigation } from './components/aup-navigation';\nimport { AupTable } from './components/aup-table';\nimport { AupTreeTable } from './components/aup-tree-table';\nimport { Button } from './components/button';\nimport { MatCheckbox } from './components/mat-checkbox';\nimport { Types } from './components/types';\nimport { ElementLocator } from './element-locator';\nimport { PageElement } from './page-element';\n\nexport class ComponentBuilder {\n\n constructor(readonly parentPageElement: PageElement) {\n }\n\n find(selector: string): PageElement {\n return new PageElement(this.parentPageElement, selector);\n }\n\n section<T extends object>(selector: string, builder: ComponentBuilder.ContainerCallback<T>): T & PageElement {\n return this.component(PageElement, selector, builder);\n }\n\n contains(text: string): PageElement {\n return new PageElement(this.parentPageElement, ElementLocator.findByTextContent(text));\n }\n\n button(text: string): Button {\n return new Button(this.parentPageElement, text);\n }\n\n matCheckbox(text: string): MatCheckbox {\n return new MatCheckbox(this.parentPageElement, text);\n }\n\n aupStringInput(selector?: string): AupInput<string> {\n return new AupInput.HtmlInput(this.parentPageElement, selector ?? 'aup-string-input');\n }\n\n aupTextInput(selector?: string): AupInput<string> {\n return new AupInput.TextAreaInput(this.parentPageElement, selector ?? 'aup-text-input');\n }\n\n aupPasswordInput(selector?: string): AupInput<string> {\n return new AupInput.HtmlInput(this.parentPageElement, selector ?? 'aup-password-input');\n }\n\n aupNumberInput(selector?: string): AupInput<number> {\n return new AupInput.HtmlInput(this.parentPageElement, selector ?? 'aup-number-input');\n }\n\n aupCommand(selector: string): AupCommand\n // tslint:disable-next-line:unified-signatures\n aupCommand(face: Types.CommandFace): AupCommand\n aupCommand(faceOrSelector: string | Types.CommandFace): AupCommand {\n return new AupCommand(this.parentPageElement, faceOrSelector);\n }\n\n aupTabbedNavigation<T extends object>(): AupNavigation {\n return new AupNavigation(this.parentPageElement, 'aup-tabbed-place-navigation');\n }\n\n aupSideNavigation<T extends object>(): AupNavigation {\n return new AupNavigation(this.parentPageElement, 'aup-list-place-nav');\n }\n\n aupMoreMenu<T extends object>(selector?: string): AupMoreMenu {\n return AupMoreMenu.create(this.parentPageElement, selector);\n }\n\n aupTable(selector?: string): AupTable\n aupTable<T extends object>(builder: ComponentBuilder.ContainerCallback<T, AupTable>): AupTable & T\n aupTable<T extends object>(selector: string, builder: ComponentBuilder.ContainerCallback<T, AupTable>): AupTable & T\n aupTable<T extends object>(selectorOrBuilder?: string | ComponentBuilder.ContainerCallback<T, AupTable>,\n optionalBuilder?: ComponentBuilder.ContainerCallback<T, AupTable>): AupTable & T {\n return this.component(AupTable, selectorOrBuilder, optionalBuilder);\n }\n\n aupTreeTable(selector?: string): AupTreeTable\n aupTreeTable<T extends object>(builder: ComponentBuilder.ContainerCallback<T, AupTreeTable>): AupTreeTable & T\n aupTreeTable<T extends object>(selector: string, builder: ComponentBuilder.ContainerCallback<T, AupTreeTable>): AupTreeTable & T\n aupTreeTable<T extends object>(selectorOrBuilder?: string | ComponentBuilder.ContainerCallback<T, AupTreeTable>,\n optionalBuilder?: ComponentBuilder.ContainerCallback<T, AupTreeTable>): AupTreeTable & T {\n return this.component(AupTreeTable, selectorOrBuilder, optionalBuilder);\n }\n\n aupEmptyState(selector?: string): AupEmptyState\n aupEmptyState<T extends object>(builder: ComponentBuilder.ContainerCallback<T, AupEmptyState>): AupEmptyState & T\n aupEmptyState<T extends object>(selector: string,\n builder: ComponentBuilder.ContainerCallback<T, AupEmptyState>): AupEmptyState & T\n aupEmptyState<T extends object>(selectorOrBuilder?: string | ComponentBuilder.ContainerCallback<T, AupEmptyState>,\n optionalBuilder?: ComponentBuilder.ContainerCallback<T, AupEmptyState>): AupEmptyState & T {\n return this.component(AupEmptyState, selectorOrBuilder, optionalBuilder);\n }\n\n component<E extends PageElement>(klass: Constructable<E>, selector: string): E\n component<T extends object, E extends PageElement>(klass: Constructable<E>, builder: ComponentBuilder.ContainerCallback<T, E>): E & T\n component<T extends object, E extends PageElement>(klass: Constructable<E>, selector: string, builder: ComponentBuilder.ContainerCallback<T, E>): E & T\n component<T extends object, E extends PageElement>(klass: Constructable<E>, selectorOrBuilder?: string | ComponentBuilder.ContainerCallback<T, E>, optionalBuilder?: ComponentBuilder.ContainerCallback<T, E>): E & T\n component<T extends object, E extends PageElement>(klass: Constructable<E>, selectorOrBuilder?: string | ComponentBuilder.ContainerCallback<T, E>, optionalBuilder?: ComponentBuilder.ContainerCallback<T, E>): E & T {\n\n const selector = _.isString(selectorOrBuilder) ? selectorOrBuilder : undefined;\n const builder = _.isFunction(selectorOrBuilder) ? selectorOrBuilder : optionalBuilder;\n\n const element = new klass(this.parentPageElement, selector);\n\n if (builder) {\n // create the B&E type that the builder has access to\n const decoratedElement = CreateMixin.createProxy(element, new ComponentBuilder(element));\n // create final type that has the E & T type\n return CreateMixin.createProxy(decoratedElement, builder(decoratedElement));\n } else {\n return element as E & T;\n }\n }\n\n}\n\n\nexport namespace ComponentBuilder {\n export type ElementCallback<T, E extends PageElement = PageElement> = (section: E) => T;\n export type ContainerCallback<T, E extends PageElement = PageElement, B extends ComponentBuilder = ComponentBuilder> = (section: B & E) => T;\n\n export interface HasBuilder {\n readonly builder: ComponentBuilder;\n }\n\n export function Mixin<T, BC extends Constructable<PageElement>>(Base: BC) {\n return class extends Base implements HasBuilder {\n readonly builder: ComponentBuilder;\n constructor(...args: any[]) {\n super(...args);\n this.builder = new ComponentBuilder(this);\n }\n };\n }\n\n}\n","import { ComponentBuilder } from '../component-builder';\nimport { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupCommand } from './aup-command';\n\nexport class AupAbstractActivity extends ComponentBuilder.Mixin(PageElement) {\n\n protected _confirmCommand: AupCommand;\n protected _cancelCommand: AupCommand;\n\n readonly title: PageElement;\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n // @ts-ignore\n super(parent, selector);\n this.title = this.find('aup-activity-title');\n this._confirmCommand = this.builder.aupCommand('[data-cy=confirm-command]');\n this._cancelCommand = this.builder.aupCommand('[data-cy=cancel-command]');\n }\n\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupAbstractActivity } from './aup-abstract-activity';\nimport { AupCommand } from './aup-command';\n\nexport class AupAlert extends AupAbstractActivity {\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n super(parent, selector);\n }\n\n get closeCommand(): AupCommand {\n return this._confirmCommand;\n }\n\n clickClose() {\n this.closeCommand.click();\n }\n\n}\n","import { Constructable } from '@coolon/pectin';\nimport { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\n\nexport function AupModalMixin<T, BC extends Constructable<PageElement>>(Base: BC) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n }\n\n getDefaultElementLocator(): ElementLocator {\n return (parent: PageElement) => {\n return parent.dom().closest('body').find(this.getDefaultElementSelector());\n };\n }\n\n clickBackdrop() {\n this.dom()\n .closest(`.cdk-overlay-container`)\n .find(`.cdk-overlay-backdrop`).click(-50, -50, { force: true });\n }\n\n };\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupAlert } from './aup-alert';\nimport { AupModalMixin } from './aup-modal-mixin';\n\nexport class AupAlertDialog extends AupModalMixin(AupAlert) {\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n super(parent, selector);\n }\n\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupAbstractActivity } from './aup-abstract-activity';\nimport { AupCommand } from './aup-command';\n\nexport class AupConfirm extends AupAbstractActivity {\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n super(parent, selector);\n }\n\n get confirmCommand(): AupCommand {\n return this._confirmCommand;\n }\n\n clickConfirm() {\n this.confirmCommand.click();\n }\n\n get cancelCommand(): AupCommand {\n return this._cancelCommand;\n }\n\n clickCancel() {\n this.cancelCommand.click();\n }\n\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupAlert } from './aup-alert';\nimport { AupConfirm } from './aup-confirm';\nimport { AupModalMixin } from './aup-modal-mixin';\n\nexport class AupConfirmDialog extends AupModalMixin(AupConfirm) {\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n super(parent, selector);\n }\n\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupAbstractActivity } from './aup-abstract-activity';\nimport { AupCommand } from './aup-command';\n\nexport class AupActivity extends AupAbstractActivity {\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n super(parent, selector);\n }\n\n get confirmCommand(): AupCommand {\n return this._confirmCommand;\n }\n\n get cancelCommand(): AupCommand {\n return this._cancelCommand;\n }\n\n}\n","import { AupActivity } from './aup-activity';\nimport { AupModalMixin } from './aup-modal-mixin';\n\nexport class AupModalActivity extends AupModalMixin(AupActivity) {\n\n}\n","import { ComponentBuilder } from './component-builder';\nimport { AupAlertDialog } from './components/aup-alert-dialog';\nimport { AupConfirmDialog } from './components/aup-confirm-dialog';\nimport { AupModalActivity } from './components/aup-modal-activity';\n\nexport class PageBuilder extends ComponentBuilder {\n\n\n aupModalActivity<T extends object>(selector: string, builder: ComponentBuilder.ContainerCallback<T, AupModalActivity>): T & AupModalActivity {\n return this.component(AupModalActivity, selector, builder);\n }\n\n aupModalAlert<T extends object>(builder?: ComponentBuilder.ContainerCallback<T, AupAlertDialog>): T & AupAlertDialog {\n return this.component(AupAlertDialog, builder);\n }\n\n aupModelConfirm<T extends object>(builder?: ComponentBuilder.ContainerCallback<T, AupConfirmDialog>): T & AupConfirmDialog {\n return this.component(AupConfirmDialog, builder);\n }\n}\n","import { DefaultUrlSerializer, UrlSerializer } from '@angular/router';\n\nlet urlSerialiser: UrlSerializer = new DefaultUrlSerializer();\n\nexport class Path {\n\n constructor(readonly segments: Path.Segment[]) {\n }\n\n static extractVisitParameters(url: string): object {\n let result = {};\n const urlTree = urlSerialiser.parse(url);\n const urlSegments = urlTree.root.children.primary?.segments ?? [];\n urlSegments?.forEach(s => {\n result = { ...result, ...s.parameters }\n });\n return result;\n }\n\n toUrl(matrixParams: object): string {\n return this.segments.map(s => s.toUrlPart(matrixParams)).join('/');\n }\n\n}\n\nexport namespace Path {\n\n export function setUrlSerialiser(serialiser: UrlSerializer) {\n urlSerialiser = serialiser;\n }\n\n export class Segment {\n\n private routeId: string | undefined;\n private visitParams: string[];\n\n constructor(readonly path: string, params: SegmentParams = {}) {\n this.routeId = params?.routeId;\n this.visitParams = params?.visitParams ?? [];\n }\n\n toUrlPart(params: object) {\n let path: string = this.path;\n this.visitParams.forEach(p => {\n const value = params[p];\n if (value) {\n path = `${path};${p}=${value}`;\n }\n });\n if (this.routeId && params[this.routeId]) {\n path = path + '/' + params[this.routeId];\n }\n return path;\n }\n\n }\n\n export class Builder {\n\n private segments: Segment[] = [];\n\n segment(name: string, params?: SegmentParams): this {\n const builder = new Segment(name, params);\n this.segments.push(builder);\n return this;\n }\n\n getPath(): Path {\n return new Path(this.segments);\n }\n }\n\n export interface SegmentParams {\n routeId?: string;\n visitParams?: string[]\n }\n}\n","import { Mixin } from '@coolon/typescript-utilities';\nimport * as _ from 'lodash';\nimport { ComponentBuilder } from './component-builder';\nimport { PageBuilder } from './page-builder';\nimport { PageElement } from './page-element';\nimport { Path } from './path';\n\nexport class Page extends PageElement {\n\n protected rootElementSelector = 'body';\n\n constructor(readonly path: Path) {\n super(undefined, undefined);\n }\n\n dom(): Cypress.Chainable<JQuery<HTMLElement>> {\n return cy.get(this.rootElementSelector);\n }\n\n visit(visitParams?: object, queryParams?: { [key: string]: string }) {\n this.tryAndVisit(visitParams, queryParams);\n this.shouldBeActive(visitParams);\n }\n\n tryAndVisit(params?: object, queryParams?: { [key: string]: string }) {\n const path = this.path.toUrl(params ?? {});\n const queryString = queryParams ? `?${new URLSearchParams(queryParams).toString()}` : '';\n const fullPath = `/${path}${queryString}`;\n cy.log(`Visiting -> ${fullPath}`);\n cy.visit(fullPath);\n }\n\n shouldHaveActivityIds(...ids: string[]) {\n cy.location('search').should('contain', `?aup-interactions=${ids.join('--')}`);\n }\n\n shouldNotHaveActivityIds() {\n cy.location('search').should('not.contain', `?aup-interactions`);\n }\n\n shouldHaveTitle(title: string) {\n cy.title().should('eq', title);\n }\n\n shouldBeActive(withParameters?: object) {\n // Note: cy.window() doesn't return a promise... it's a chainable.\n cy['waitUntil'](() => {\n return cy.window().then(window => {\n return window['aup.PlaceRouter'] && !window['aup.PlaceRouter'].isNavigating();\n });\n });\n\n if (withParameters) {\n this.shouldIncludeParameters(withParameters);\n }\n }\n\n shouldIncludeParameters(parameters: object) {\n cy.location('pathname').then(path => {\n const urlParams = Path.extractVisitParameters(path);\n Object.keys(parameters).forEach(param => {\n const expected = parameters[param];\n const actual = urlParams[param];\n // cy.log(`${actual} - ${expected}`);\n expect(urlParams[param]).to.equal(expected);\n });\n });\n }\n\n shouldNotHaveParameter(name: string) {\n this.getUrlParameters().then(params => {\n expect(params[name]).to.be.undefined;\n });\n }\n\n getUrlParameters() {\n return cy.location('pathname').then(path => Path.extractVisitParameters(path));\n }\n\n}\n\n\nexport namespace Page {\n\n export function create<T extends object>(path: string, builder: ComponentBuilder.ContainerCallback<T, Page, PageBuilder>): T & Page\n // tslint:disable-next-line:unified-signatures\n export function create<T extends object>(pathBuilder: ((pathBuilder: Path.Builder) => void), builder: ComponentBuilder.ContainerCallback<T, Page, PageBuilder>): T & Page\n export function create<T extends object>(pathOrPathBuilder: string | ((pathBuilder: Path.Builder) => void), builder: ComponentBuilder.ContainerCallback<T, Page, PageBuilder>): T & Page {\n const pathBuilder = new Path.Builder();\n if (_.isString(pathOrPathBuilder)) {\n pathOrPathBuilder.split('/').filter(p => !_.isEmpty(p)).forEach(p => pathBuilder.segment(p));\n } else {\n pathOrPathBuilder(pathBuilder);\n }\n const instance = new Page(pathBuilder.getPath());\n const content = builder.call(instance, new PageBuilder(instance));\n return Mixin.createProxy(content, instance) as T & Page;\n }\n}\n","import { PageElement } from '../page-element';\n\nexport class AupCommandGroup extends PageElement {\n\n}\n","\nimport { PageElement } from '../page-element';\nimport { Types } from './types';\n\nexport class AupToolBar extends PageElement {\n\n static create(parent: PageElement, face: Types.CommandFace) {\n // const findFace = AupCommandFace.createFinder(() => parent.element(), face)\n // return new AupCommandGroup(() => findFace().closest('button'));\n }\n}\n","import { lang } from '@coolon/typescript-utilities';\nimport { PageElement } from '../../page-element';\nimport { AupCommandFace } from '../aup-command-face';\nimport { Types } from '../types';\nimport { AupAbstractPopupMenu } from './aup-abstract-popup-menu';\n\nexport class AupPopupMenu extends AupAbstractPopupMenu {\n\n constructor(parentElementAccessor: PageElement, face: Types.CommandFace) {\n const locator = AupCommandFace.createElementLocator(face)\n super(parentElementAccessor, parent => locator(parent).closest('button'));\n }\n\n static create(parent: PageElement, face: Types.CommandFace) {\n return new AupPopupMenu(parent, face);\n }\n}\n","import { AupTableCell } from './aup-table-cell';\nimport { AupTableRow } from './aup-table-row';\n\nexport class AupTableSelectionCell<TR extends AupTableRow> extends AupTableCell<TR> {\n selectAll() {\n }\n}\n","/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./component-builder\";\nexport * from \"./element-locator\";\nexport * from \"./page-builder\";\nexport * from \"./page-element\";\nexport * from \"./page\";\nexport * from \"./path\";\nexport * from \"./components/aup-abstract-activity\";\nexport * from \"./components/aup-abstract-table\";\nexport * from \"./components/aup-activity\";\nexport * from \"./components/aup-alert-dialog\";\nexport * from \"./components/aup-alert\";\nexport * from \"./components/aup-command-face\";\nexport * from \"./components/aup-command-group\";\nexport * from \"./components/aup-command\";\nexport * from \"./components/aup-confirm-dialog\";\nexport * from \"./components/aup-confirm\";\nexport * from \"./components/aup-empty-state\";\nexport * from \"./components/aup-input\";\nexport * from \"./components/aup-modal-activity\";\nexport * from \"./components/aup-modal-mixin\";\nexport * from \"./components/aup-navigation\";\nexport * from \"./components/aup-table\";\nexport * from \"./components/aup-tool-bar\";\nexport * from \"./components/aup-tree-table\";\nexport * from \"./components/button\";\nexport * from \"./components/form-element-mixin\";\nexport * from \"./components/mat-checkbox\";\nexport * from \"./components/types\";\nexport * from \"./components/popup/aup-abstract-popup-menu\";\nexport * from \"./components/popup/aup-more-menu\";\nexport * from \"./components/popup/aup-popup-menu-panel\";\nexport * from \"./components/popup/aup-popup-menu\";\nexport * from \"./components/table/aup-table-cell\";\nexport * from \"./components/table/aup-table-column\";\nexport * from \"./components/table/aup-table-row\";\nexport * from \"./components/table/aup-table-selection-cell\";\nexport * from \"./components/table/aup-table-selection-column\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './exports';\n\nexport {Types as ɵa} from './components/types';"],"names":["CreateMixin"],"mappings":";;;;;;IAIiB,eAchB;AAdD,WAAiB,cAAc;IAE7B,SAAgB,iBAAiB,CAAC,QAAgB;QAChD,OAAO,MAAM,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;KAC7C;IAFe,gCAAiB,oBAEhC,CAAA;IAED,SAAgB,iBAAiB,CAAC,IAAY;QAC5C,OAAO,MAAM,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC9C;IAFe,gCAAiB,oBAEhC,CAAA;IAED,SAAgB,4BAA4B,CAAC,QAAgB,EAAE,IAAY;QACzE,OAAO,MAAM,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;KACxD;IAFe,2CAA4B,+BAE3C,CAAA;AAEH,CAAC,EAdgB,cAAc,KAAd,cAAc;;MCElB,WAAW;IAOtB,YAAqB,MAAS,EAAE,iBAA2C;QAAtD,WAAM,GAAN,MAAM,CAAG;QAC5B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;YACjD,IAAI,CAAC,wBAAwB,EAAE;YAC/B,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBAC3B,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CAAC;gBACnD,iBAAiB,CAAC;KACvB;IAED,wBAAwB;QACtB,OAAO,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;KAC3E;IAED,yBAAyB;QACvB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC;KACnE;IAED,GAAG;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC5C;IAED,IAAI,CAAC,QAAgB;QACnB,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KACxC;IAED,KAAK,CAAC,IAAa;QACjB,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;KAC/D;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;KAClD;IAED,WAAW,CAAC,OAA0B;QACpC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACrC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;KACnB;IAED,eAAe;QACb,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;KAC3B;IAED,kBAAkB;QAChB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;KAC/B;IAED,WAAW;QACT,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KAC5B;IAED,cAAc;QACZ,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;KAChC;;;MC/DU,cAAe,SAAQ,WAAW;IAE7C,YAAY,aAA0B,EAAE,IAAuB;QAC7D,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;KACjE;IAED,OAAO,oBAAoB,CAAC,IAAuB;QACjD,MAAM,OAAO,GAAG,MAAM;YACpB,OAAO,IAAI,CAAC,IAAI;gBACd,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtD,IAAI,CAAC,IAAI;oBACP,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,4BAA4B,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;oBACzF,SAAS,CAAC;SAEf,CAAC;;QAEF,OAAO,OAAO,CAAC;KAChB;;;MChBU,UAAW,SAAQ,WAAW;IAEzC,YAAY,MAAmB,EAAE,cAA0C;QACzE,KAAK,CAAC,MAAM,EAAE,aAAa;YACzB,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBAC9B,OAAO,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACjD;iBAAM;gBACL,OAAO,cAAc,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;aAClG;SACF,CAAC,CAAC;KACJ;IAED,KAAK;QACH,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC;KAC1B;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;KACzB;IAED,gBAAgB;QACd,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;KACxC;IAED,eAAe;QACb,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;KAC5C;IAEO,SAAS;QACf,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAClC;;;MCjCU,aAAc,SAAQ,WAAW;IAE5C,iBAAiB,CAAC,IAAW;QAC3B,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;KACxC;;;MCHmB,QAAY,SAAQ,WAAW;IAEnD,KAAK;QACH,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACjC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACpC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACrC;IAED,IAAI,WAAW;QACb,OAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;KACvC;IAED,IAAI,UAAU;QACZ,OAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;KACvC;IAED,IAAI,WAAW;QACb,OAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;KACxC;IAED,aAAa,CAAC,IAAY;QACxB,OAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;KAC7C;IAED,YAAY,CAAC,IAAY;QACvB,OAAQ,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;KAC5C;IAED,aAAa,CAAC,IAAY;QACxB,OAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;KAC7C;IAED,eAAe;QACb,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;KACnC;IAED,kBAAkB;QAChB,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;KACvC;IAED,IAAI,CAAC,UAAiB;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC/B;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;KACrB;CAMF;AAED,WAAiB,QAAQ;IACvB,MAAa,SAAa,SAAQ,QAAW;QAC3C,KAAK;YACH,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACjC;QAED,KAAK;YACH,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;SACtB;QAED,QAAQ,CAAC,KAAQ;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;SAC/C;QAED,gBAAgB;YACd,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;SACrB;KAEF;IApBY,kBAAS,YAoBrB,CAAA;IAED,MAAa,aAAiB,SAAQ,QAAW;QAE/C,gBAAgB;YACd,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;SACrB;QAED,KAAK;YACH,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACpC;QAED,KAAK;YACH,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;SACtB;QAED,QAAQ,CAAC,KAAQ;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;SAC1C;KACF;IApBY,sBAAa,gBAoBzB,CAAA;AAEH,CAAC,EA7CgB,QAAQ,KAAR,QAAQ;;MC7DZ,iBAAkB,SAAQ,WAAW;;;MCErC,oBAAqB,SAAQ,WAAW;IAInD,YAAY,MAAmB,EAAE,OAAuB;QACtD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;KACpE;IAES,WAAW,CAAC,CAAc;QAClC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KAClD;IAES,UAAU;QAClB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;KAClE;IAES,WAAW;QACnB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;KACxD;IAED,SAAS;QACP,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;IAED,UAAU;QACR,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;KAC5B;IAED,YAAY;QACV,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;KAC9B;IAED,eAAe;QACb,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;KACxE;;;MCtCU,WAAY,SAAQ,oBAAoB;IAEnD,OAAO,MAAM,CAAC,MAAmB,EAAE,QAAiB;QAClD,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,iBAAiB,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,eAAe,CAAC,CAAC,CAAC;KAC/F;;;MCLU,aAAc,SAAQ,WAAW;IAE5C,KAAK,CAAC,KAAa;QACjB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC3B;IAED,IAAI,CAAC,KAAa;QAChB,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC;KACxD;IAED,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;KACpC;IAED,iBAAiB,CAAC,KAAa;QAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC;KACnC;;;MCdU,YAAqC,SAAQ,WAAiC;IAEzF,KAAK;QACH,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KAC9D;IAED,GAAG;QACD,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM;YACjC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC1G,CAAC,CAAC;KACJ;;;MCXU,cAAuC,SAAQ,WAAiC;IAE3F,YAAY,KAA4B,EAAW,QAAgB;QACjE,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,oCAAoC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAD7B,aAAQ,GAAR,QAAQ,CAAQ;KAElE;IAED,cAAc,CAAC,OAAe;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAC,MAAM;YACxC,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,oCAAoC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;SAC7G,CAAC,CAAC;KACJ;IAED,aAAa,CAAC,OAAe;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;KAC3C;;;MCjBU,uBAAgD,SAAQ,cAAkB;IACrF,SAAS;KACR;;;MCImB,gBAAyC,SAAQ,WAAW;IAEhF,GAAG,CAAC,KAAU;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM;YAC1B,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC;SAC9E,CAAC,CAAC;KACJ;IAED,SAAS,CAAC,SAAiB;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM;YAC1B,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC;SACjF,CAAC,CAAC;KACJ;IAED,MAAM,CAAC,QAAgB;QACrB,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KAC3C;IAGD,IAAI,eAAe;QACjB,OAAO,IAAI,uBAAuB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;KAC9D;CAIF;AANC;IADC,OAAO,EAAE;8BACa,uBAAuB;;uDAE7C;AAMH,WAAiB,gBAAgB;IAG/B,SAAgB,0BAA0B,CAAC,KAAa;QACtD,OAAO,uBAAuB,KAAK,GAAG,CAAC;KACxC;IAFe,2CAA0B,6BAEzC,CAAA;IAED,SAAgB,yBAAyB,CAAC,SAAiB;QACzD,OAAO,sBAAsB,SAAS,GAAG,CAAC;KAC3C;IAFe,0CAAyB,4BAExC,CAAA;IAED,SAAgB,oCAAoC,CAAC,UAAwC;QAC3F,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC3E,OAAO,qCAAqC,QAAQ,GAAG,CAAC;KACzD;IAHe,qDAAoC,uCAGnD,CAAA;IAED,SAAgB,kBAAkB,CAAC,KAAa,EAAE,UAAwC;QACxF,OAAO,GAAG,0BAA0B,CAAC,KAAK,CAAC,IAAI,oCAAoC,CAAC,UAAU,CAAC,EAAE,CAAC;KACnG;IAFe,mCAAkB,qBAEjC,CAAA;AAEH,CAAC,EApBgB,gBAAgB,KAAhB,gBAAgB;;ACpCjC;MASa,WAAY,SAAQ,WAAkC;IAEjE,KAAK;QACH,OAAO,IAAI,CAAC,GAAG,EAAE;aACd,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KACjC;IAED,eAAe,CAAC,KAAa;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAClC;IAKD,IAAI,CAAC,UAAyC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM;YACzC,OAAO,IAAI,CAAC,KAAK,EAAE;iBAChB,IAAI,CAAC,KAAK,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;iBACrE,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;SAClD,CAAC,CAAC;KACJ;IAED,gBAAgB;QACd,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;KACrD;IAED,mBAAmB;QACjB,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;KACzD;;;MCjCU,QAAS,SAAQ,gBAA6B;IACzD,SAAS,CAAC,OAAuB;QAC/B,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACvC;;;MCDU,YAAa,SAAQ,gBAAkC;IAGlE,IAAI,iBAAiB;QACnB,OAAO,IAAI,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;KAC/D;IAED,SAAS,CAAC,OAAuB;QAC/B,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAC5C;CAEF;AARC;IADC,OAAO,EAAE;8BACe,YAAY,CAAC,iBAAiB;;qDAEtD;AAQH,WAAiB,YAAY;IAE3B,MAAa,GAAI,SAAQ,WAAW;QAClC,gBAAgB;YACd,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAA;SAC1D;QACD,iBAAiB;YACf,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAA;SACtD;KACF;IAPY,gBAAG,MAOf,CAAA;IAED,MAAa,iBAAkB,SAAQ,cAAmB;KACzD;IADY,8BAAiB,oBAC7B,CAAA;AAEH,CAAC,EAdgB,YAAY,KAAZ,YAAY;;SCjBb,gBAAgB,CAA2C,IAAQ;IACjF,OAAO,cAAc,IAAI;QACvB,YAAY,GAAG,IAAW;YACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;SAChB;QAED,gBAAgB;YACd,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;SAC5B;KAEF,CAAC;AACJ;;MCVa,MAAO,SAAQ,gBAAgB,CAAC,WAAW,CAAC;IAEvD,YAAY,qBAAkC,EAAE,UAAkB;QAChE,KAAK,CAAC,qBAAqB,EAAE,cAAc,CAAC,4BAA4B,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;KACjG;;;MCJU,WAAY,SAAQ,gBAAgB,CAAC,WAAW,CAAC;IAE5D,YAAY,qBAAkC,EAAE,IAAY;QAC1D,KAAK,CAAC,qBAAqB,EAAE,cAAc,CAAC,4BAA4B,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;KACjG;IAED,eAAe;QACb,IAAI,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;KACnD;IAED,kBAAkB;QAChB,IAAI,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;KACvD;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KAChD;IAED,KAAK;QACH,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACvB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,eAAe,EAAE,CAAC;aACxB;SACF,CAAC,CAAC;KACJ;IAED,OAAO;QACL,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,EAAE;YAClC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACtB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC3B;SACF,CAAC,CAAA;KACH;;;MCrBU,gBAAgB;IAE3B,YAAqB,iBAA8B;QAA9B,sBAAiB,GAAjB,iBAAiB,CAAa;KAClD;IAED,IAAI,CAAC,QAAgB;QACnB,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;KAC1D;IAED,OAAO,CAAmB,QAAgB,EAAE,OAA8C;QACxF,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KACvD;IAED,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;KACxF;IAED,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;KACjD;IAED,WAAW,CAAC,IAAY;QACtB,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;KACtD;IAED,cAAc,CAAC,QAAiB;QAC9B,OAAO,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,kBAAkB,CAAC,CAAC;KACvF;IAED,YAAY,CAAC,QAAiB;QAC5B,OAAO,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,gBAAgB,CAAC,CAAC;KACzF;IAED,gBAAgB,CAAC,QAAiB;QAChC,OAAO,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,oBAAoB,CAAC,CAAC;KACzF;IAED,cAAc,CAAC,QAAiB;QAC9B,OAAO,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,kBAAkB,CAAC,CAAC;KACvF;IAKD,UAAU,CAAC,cAA0C;QACnD,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;KAC/D;IAED,mBAAmB;QACjB,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,6BAA6B,CAAC,CAAC;KACjF;IAED,iBAAiB;QACf,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;KACxE;IAED,WAAW,CAAmB,QAAiB;QAC7C,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;KAC7D;IAKD,QAAQ,CAAmB,iBAA4E,EAC5E,eAAiE;QAC1F,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;KACrE;IAKD,YAAY,CAAmB,iBAAgF,EACpF,eAAqE;QAC9F,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;KACzE;IAMD,aAAa,CAAmB,iBAAiF,EACjF,eAAsE;QACpG,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;KAC1E;IAMD,SAAS,CAA0C,KAAuB,EAAE,iBAAqE,EAAE,eAA0D;QAE3M,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,GAAG,SAAS,CAAC;QAC/E,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,GAAG,eAAe,CAAC;QAEtF,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAE5D,IAAI,OAAO,EAAE;;YAEX,MAAM,gBAAgB,GAAGA,KAAW,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;;YAEzF,OAAOA,KAAW,CAAC,WAAW,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;SAC7E;aAAM;YACL,OAAO,OAAgB,CAAC;SACzB;KACF;CAEF;AAGD,WAAiB,gBAAgB;IAQ/B,SAAgB,KAAK,CAA2C,IAAQ;QACtE,OAAO,cAAc,IAAI;YAEvB,YAAY,GAAG,IAAW;gBACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;gBACf,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;aAC3C;SACF,CAAC;KACH;IARe,sBAAK,QAQpB,CAAA;AAEH,CAAC,EAlBgB,gBAAgB,KAAhB,gBAAgB;;MCzHpB,mBAAoB,SAAQ,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC;IAO1E,YAAY,MAAmB,EAAE,QAAiC;;QAEhE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;KAC3E;;;MCbU,QAAS,SAAQ,mBAAmB;IAE/C,YAAY,MAAmB,EAAE,QAAiC;QAChE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KACzB;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;KAC7B;IAED,UAAU;QACR,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;KAC3B;;;SCba,aAAa,CAA2C,IAAQ;IAC9E,OAAO,cAAc,IAAI;QACvB,YAAY,GAAG,IAAW;YACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;SAChB;QAED,wBAAwB;YACtB,OAAO,CAAC,MAAmB;gBACzB,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;aAC5E,CAAC;SACH;QAED,aAAa;YACX,IAAI,CAAC,GAAG,EAAE;iBACP,OAAO,CAAC,wBAAwB,CAAC;iBACjC,IAAI,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;SACnE;KAEF,CAAC;AACJ;;MClBa,cAAe,SAAQ,aAAa,CAAC,QAAQ,CAAC;IAEzD,YAAY,MAAmB,EAAE,QAAiC;QAChE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KACzB;;;MCJU,UAAW,SAAQ,mBAAmB;IAEjD,YAAY,MAAmB,EAAE,QAAiC;QAChE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KACzB;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;KAC7B;IAED,YAAY;QACV,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;KAC7B;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;IAED,WAAW;QACT,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KAC5B;;;MCnBU,gBAAiB,SAAQ,aAAa,CAAC,UAAU,CAAC;IAE7D,YAAY,MAAmB,EAAE,QAAiC;QAChE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KACzB;;;MCLU,WAAY,SAAQ,mBAAmB;IAElD,YAAY,MAAmB,EAAE,QAAiC;QAChE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KACzB;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;KAC7B;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;;;MCdU,gBAAiB,SAAQ,aAAa,CAAC,WAAW,CAAC;;;MCEnD,WAAY,SAAQ,gBAAgB;IAG/C,gBAAgB,CAAmB,QAAgB,EAAE,OAAgE;QACnH,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KAC5D;IAED,aAAa,CAAmB,OAA+D;QAC7F,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;KAChD;IAED,eAAe,CAAmB,OAAiE;QACjG,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;KAClD;;;AChBH,IAAI,aAAa,GAAkB,IAAI,oBAAoB,EAAE,CAAC;MAEjD,IAAI;IAEf,YAAqB,QAAwB;QAAxB,aAAQ,GAAR,QAAQ,CAAgB;KAC5C;IAED,OAAO,sBAAsB,CAAC,GAAW;;QACvC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,MAAA,MAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,0CAAE,QAAQ,mCAAI,EAAE,CAAC;QAClE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAC,CAAC;YACpB,MAAM,mCAAQ,MAAM,GAAK,CAAC,CAAC,UAAU,CAAE,CAAA;SACxC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;KACf;IAED,KAAK,CAAC,YAAoB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACpE;CAEF;AAED,WAAiB,IAAI;IAEnB,SAAgB,gBAAgB,CAAC,UAAyB;QACxD,aAAa,GAAG,UAAU,CAAC;KAC5B;IAFe,qBAAgB,mBAE/B,CAAA;IAED,MAAa,OAAO;QAKlB,YAAqB,IAAY,EAAE,SAAwB,EAAE;;YAAxC,SAAI,GAAJ,IAAI,CAAQ;YAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,mCAAI,EAAE,CAAC;SAC9C;QAED,SAAS,CAAC,MAAc;YACtB,IAAI,IAAI,GAAW,IAAI,CAAC,IAAI,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACxB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,KAAK,EAAE;oBACT,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;iBAChC;aACF,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBACxC,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC1C;YACD,OAAO,IAAI,CAAC;SACb;KAEF;IAxBY,YAAO,UAwBnB,CAAA;IAED,MAAa,OAAO;QAApB;YAEU,aAAQ,GAAc,EAAE,CAAC;SAWlC;QATC,OAAO,CAAC,IAAY,EAAE,MAAsB;YAC1C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC;SACb;QAED,OAAO;YACL,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAChC;KACF;IAbY,YAAO,UAanB,CAAA;AAMH,CAAC,EAnDgB,IAAI,KAAJ,IAAI;;MClBR,IAAK,SAAQ,WAAW;IAInC,YAAqB,IAAU;QAC7B,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QADT,SAAI,GAAJ,IAAI,CAAM;QAFrB,wBAAmB,GAAG,MAAM,CAAC;KAItC;IAED,GAAG;QACD,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;KACzC;IAED,KAAK,CAAC,WAAoB,EAAE,WAAuC;QACjE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;KAClC;IAED,WAAW,CAAC,MAAe,EAAE,WAAuC;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,WAAW,GAAG,IAAI,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC;QACzF,MAAM,QAAQ,GAAG,IAAI,IAAI,GAAG,WAAW,EAAE,CAAC;QAC1C,EAAE,CAAC,GAAG,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;QAClC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;KACpB;IAED,qBAAqB,CAAC,GAAG,GAAa;QACpC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,qBAAqB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAChF;IAED,wBAAwB;QACtB,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;KAClE;IAED,eAAe,CAAC,KAAa;QAC3B,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAChC;IAED,cAAc,CAAC,cAAuB;;QAEpC,EAAE,CAAC,WAAW,CAAC,CAAC;YACd,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM;gBAC5B,OAAO,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,YAAY,EAAE,CAAC;aAC/E,CAAC,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;SAC9C;KACF;IAED,uBAAuB,CAAC,UAAkB;QACxC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI;YAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK;gBACnC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;;gBAEhC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAC7C,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ;IAED,sBAAsB,CAAC,IAAY;QACjC,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,MAAM;YACjC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;SACtC,CAAC,CAAC;KACJ;IAED,gBAAgB;QACd,OAAO,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;KAChF;CAEF;AAGD,WAAiB,IAAI;IAKnB,SAAgB,MAAM,CAAmB,iBAAiE,EAAE,OAAiE;QAC3K,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACvC,IAAI,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;YACjC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9F;aAAM;YACL,iBAAiB,CAAC,WAAW,CAAC,CAAC;SAChC;QACD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAa,CAAC;KACzD;IAVe,WAAM,SAUrB,CAAA;AACH,CAAC,EAhBgB,IAAI,KAAJ,IAAI;;MChFR,eAAgB,SAAQ,WAAW;;;MCEnC,UAAW,SAAQ,WAAW;IAEzC,OAAO,MAAM,CAAC,MAAmB,EAAE,IAAuB;;;KAGzD;;;MCHU,YAAa,SAAQ,oBAAoB;IAEpD,YAAY,qBAAkC,EAAE,IAAuB;QACrE,MAAM,OAAO,GAAG,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;QACzD,KAAK,CAAC,qBAAqB,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;KAC3E;IAED,OAAO,MAAM,CAAC,MAAmB,EAAE,IAAuB;QACxD,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KACvC;;;MCZU,qBAA8C,SAAQ,YAAgB;IACjF,SAAS;KACR;;;ACLH;;;;ACAA;;;;;;"}
|
|
1
|
+
{"version":3,"file":"coolon-angular-ui-powerups-cypress.js","sources":["../../../../libs/angular-ui-powerups/cypress/src/element-locator.ts","../../../../libs/angular-ui-powerups/cypress/src/page-element.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-command-face.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-command.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-empty-state.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-input.ts","../../../../libs/angular-ui-powerups/cypress/src/components/popup/aup-popup-menu-panel.ts","../../../../libs/angular-ui-powerups/cypress/src/components/popup/aup-abstract-popup-menu.ts","../../../../libs/angular-ui-powerups/cypress/src/components/popup/aup-more-menu.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-navigation.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-cell.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-column.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-selection-column.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-abstract-table.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-row.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-table.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-tree-table.ts","../../../../libs/angular-ui-powerups/cypress/src/components/form-element-mixin.ts","../../../../libs/angular-ui-powerups/cypress/src/components/button.ts","../../../../libs/angular-ui-powerups/cypress/src/components/mat-checkbox.ts","../../../../libs/angular-ui-powerups/cypress/src/component-builder.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-abstract-activity.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-alert.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-modal-mixin.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-alert-dialog.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-confirm.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-confirm-dialog.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-activity.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-modal-activity.ts","../../../../libs/angular-ui-powerups/cypress/src/page-builder.ts","../../../../libs/angular-ui-powerups/cypress/src/path.ts","../../../../libs/angular-ui-powerups/cypress/src/page.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-command-group.ts","../../../../libs/angular-ui-powerups/cypress/src/components/aup-tool-bar.ts","../../../../libs/angular-ui-powerups/cypress/src/components/popup/aup-popup-menu.ts","../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-selection-cell.ts","../../../../libs/angular-ui-powerups/cypress/src/exports.ts","../../../../libs/angular-ui-powerups/cypress/src/coolon-angular-ui-powerups-cypress.ts"],"sourcesContent":["import { PageElement } from './page-element';\n\nexport type ElementLocator = (parent: PageElement) => Cypress.Chainable<JQuery>;\n\nexport namespace ElementLocator {\n\n export function findByCssSelector(selector: string): ElementLocator {\n return parent => parent.dom().find(selector)\n }\n\n export function findByTextContent(text: string): ElementLocator {\n return parent => parent.dom().contains(text);\n }\n\n export function findBySelectorAndTextContent(selector: string, text: string): ElementLocator {\n return parent => parent.dom().contains(selector, text);\n }\n\n}\n","/* tslint:disable:unified-signatures */\nimport Chainable = Cypress.Chainable;\nimport { Stringy } from '@coolon/typescript-utilities';\nimport { isNil, isString } from 'lodash-es';\n\nimport { ElementLocator } from './element-locator';\n\nexport class PageElement<P extends PageElement<any> = PageElement<any>> {\n\n readonly domElementLocator: ElementLocator;\n\n constructor(parent: P, selector?: string)\n constructor(parent: P, locator?: ElementLocator)\n constructor(parent: P, selectorOrLocator?: string | ElementLocator)\n constructor(readonly parent: P, selectorOrLocator?: string | ElementLocator) {\n this.domElementLocator = isNil(selectorOrLocator) ?\n this.getDefaultElementLocator() :\n isString(selectorOrLocator) ?\n ElementLocator.findByCssSelector(selectorOrLocator) :\n selectorOrLocator;\n }\n\n getDefaultElementLocator(): ElementLocator {\n return ElementLocator.findByCssSelector(this.getDefaultElementSelector());\n }\n\n getDefaultElementSelector() {\n return Stringy.from(this.constructor.name).dasherize().toString();\n }\n\n dom(): Chainable<JQuery> {\n return this.domElementLocator(this.parent);\n }\n\n find(selector: string): PageElement {\n return new PageElement(this, selector);\n }\n\n click(text?: string) {\n text ? this.dom().contains(text).click() : this.dom().click();\n }\n\n get should() {\n return this.getShoulder(this.getShouldElement());\n }\n\n getShoulder(element: Chainable<JQuery>) {\n return element.should.bind(element);\n }\n\n getShouldElement(): Chainable<JQuery> {\n return this.dom();\n }\n\n shouldBeVisible() {\n this.should('be.visible');\n }\n\n shouldNotBeVisible() {\n this.should('not.be.visible');\n }\n\n shouldExist() {\n this.dom().should('exist');\n }\n\n shouldNotExist() {\n this.dom().should('not.exist');\n }\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { Types } from './types';\n\nexport class AupCommandFace extends PageElement {\n\n constructor(parentElement: PageElement, face: Types.CommandFace) {\n super(parentElement, AupCommandFace.createElementLocator(face));\n }\n\n static createElementLocator(face: Types.CommandFace): ElementLocator {\n const locator = parent => {\n return face.text ?\n parent.dom().contains(`aup-command-face`, face.text()) :\n face.icon ?\n parent.dom().find(`aup-icon[ng-reflect-icon=${face.icon()}]`).closest('aup-command-face') :\n undefined;\n\n };\n // aot compiler doesn't like lambas\n return locator;\n }\n}\n\n","import { isString } from 'lodash-es';\nimport { PageElement } from '../page-element';\nimport { AupCommandFace } from './aup-command-face';\nimport { Types } from './types';\n\n\nexport class AupCommand extends PageElement {\n\n constructor(parent: PageElement, faceOrSelector: string | Types.CommandFace) {\n super(parent, parentElement => {\n if (isString(faceOrSelector)) {\n return parentElement.dom().find(faceOrSelector);\n } else {\n return AupCommandFace.createElementLocator(faceOrSelector)(parentElement).closest('aup-command');\n }\n });\n }\n\n click() {\n this.getButton().click();\n }\n\n getShouldElement(): Cypress.Chainable<JQuery> {\n return this.getButton();\n }\n\n shouldBeDisabled() {\n this.getButton().should('be.disabled');\n }\n\n shouldBeEnabled() {\n this.getButton().should('not.be.disabled');\n }\n\n private getButton() {\n return this.dom().find('button');\n }\n\n}\n\n","import { PageElement } from '../page-element';\n\nexport class AupEmptyState extends PageElement {\n\n shouldContainText(text:string) {\n this.dom().should(\"contain.text\", text)\n }\n}\n","import { PageElement } from '../page-element';\nimport Chainable = Cypress.Chainable;\n\nexport abstract class AupInput<T> extends PageElement {\n\n label() {\n return this.dom().find('label');\n }\n\n hint() {\n return this.dom().find('mat-hint');\n }\n\n error() {\n return this.dom().find('mat-error');\n }\n\n get labelShould() {\n return this.getShoulder(this.label())\n }\n\n get hintShould() {\n return this.getShoulder(this.hint());\n }\n\n get errorShould() {\n return this.getShoulder(this.error());\n }\n\n labelShouldBe(text: string) {\n return this.labelShould(\"have.text\", text);\n }\n\n hintShouldBe(text: string) {\n return this.hintShould(\"have.text\", text);\n }\n\n errorShouldBe(text: string) {\n return this.errorShould(\"have.text\", text);\n }\n\n shouldBeFocused() {\n this.input().should(\"have.focus\");\n }\n\n shouldNotBeFocused() {\n this.input().should(\"not.have.focus\");\n }\n\n type(characters:string) {\n this.input().type(characters);\n }\n\n hitEnter() {\n this.type(\"{enter}\")\n }\n\n abstract input(): Chainable<JQuery>\n abstract clear();\n abstract setValue(value: T);\n\n}\n\nexport namespace AupInput {\n export class HtmlInput<T> extends AupInput<T> {\n input() {\n return this.dom().find('input');\n }\n\n clear() {\n this.input().clear();\n }\n\n setValue(value: T) {\n const input = this.input();\n input.clear();\n input.type(`${value}`);\n this.input().should('have.value', `${value}`);\n }\n\n getShouldElement(): Cypress.Chainable<JQuery> {\n return this.input();\n }\n\n }\n\n export class TextAreaInput<T> extends AupInput<T> {\n\n getShouldElement(): Cypress.Chainable<JQuery> {\n return this.input();\n }\n\n input() {\n return this.dom().find('textarea');\n }\n\n clear() {\n this.input().clear();\n }\n\n setValue(value: T) {\n const input = this.input();\n input.clear();\n input.type(`${value}`);\n this.input().should('have.value', value);\n }\n }\n\n}\n","import { PageElement } from '../../page-element';\n\nexport class AupPopupMenuPanel extends PageElement {\n\n}\n","import { ElementLocator } from '../../element-locator';\nimport { PageElement } from '../../page-element';\nimport { AupPopupMenuPanel } from './aup-popup-menu-panel';\n\nexport class AupAbstractPopupMenu extends PageElement {\n\n private popup: AupPopupMenuPanel;\n\n constructor(parent: PageElement, locator: ElementLocator) {\n super(parent, locator);\n this.popup = new AupPopupMenuPanel(this, p => this.findPopupIn(p));\n }\n\n protected findPopupIn(p: PageElement) {\n return this.getOverlay().find('.mat-menu-panel');\n }\n\n protected getOverlay() {\n return this.dom().closest('body').find('.cdk-overlay-container');\n }\n\n protected getBackdrop() {\n return this.getOverlay().find('.cdk-overlay-backdrop');\n }\n\n openPopup(): AupPopupMenuPanel {\n this.shouldNotBeOpen();\n this.click();\n return this.popup;\n }\n\n closePopup() {\n this.shouldBeOpen();\n this.getBackdrop().click();\n }\n\n shouldBeOpen() {\n this.popup.shouldBeVisible();\n }\n\n shouldNotBeOpen() {\n this.dom().closest('body').find('.mat-menu-panel').should(\"not.exist\");\n }\n\n\n}\n","import { ElementLocator } from '../../element-locator';\nimport { PageElement } from '../../page-element';\nimport { AupAbstractPopupMenu } from './aup-abstract-popup-menu';\n\nexport class AupMoreMenu extends AupAbstractPopupMenu {\n\n static create(parent: PageElement, selector?: string) {\n return new AupMoreMenu(parent, ElementLocator.findByCssSelector(selector ?? 'aup-more-menu'));\n }\n}\n","import { PageElement } from '../page-element';\nimport { AupCommandFace } from './aup-command-face';\n\nexport class AupNavigation extends PageElement {\n\n click(label: string) {\n return super.click(label);\n }\n\n face(label: string): AupCommandFace {\n return new AupCommandFace(this, { text: () => label });\n }\n\n shouldHaveLink(label: string) {\n this.face(label).shouldBeVisible();\n }\n\n shouldNotHaveLink(label: string) {\n this.face(label).shouldNotExist();\n }\n}\n","import { PageElement } from '../../page-element';\nimport { AupAbstractTable } from '../aup-abstract-table';\nimport { AupTableRow } from './aup-table-row';\nimport Chainable = Cypress.Chainable;\n\nexport class AupTableCell<TR extends AupTableRow> extends PageElement<AupAbstractTable<TR>> {\n\n rowId(): Chainable<string> {\n return this.dom().closest('tr').invoke('attr', 'aup-row-id');\n }\n\n row(): TR {\n const self = this;\n return this.parent.createRow(parent => {\n return self.rowId().then(rowId => parent.dom().find(AupAbstractTable.cssSelectorForTableRowById(rowId)));\n });\n }\n}\n","import { PageElement } from '../../page-element';\nimport { AupAbstractTable } from '../aup-abstract-table';\nimport { AupTableCell } from './aup-table-cell';\nimport { AupTableRow } from './aup-table-row';\n\nexport class AupTableColumn<TR extends AupTableRow> extends PageElement<AupAbstractTable<TR>> {\n\n constructor(table: AupAbstractTable<any>, readonly columnId: string) {\n super(table, AupAbstractTable.cssSelectorForColumnCellRendererById(columnId));\n }\n\n cellContaining(content: string): AupTableCell<TR> {\n const self = this;\n return new AupTableCell(this.parent,parent => {\n return parent.dom().contains(AupAbstractTable.cssSelectorForColumnCellRendererById(self.columnId), content);\n });\n }\n\n rowContaining(content: string): TR {\n return this.cellContaining(content).row();\n }\n}\n","import { AupTableColumn } from './aup-table-column';\nimport { AupTableRow } from './aup-table-row';\n\nexport class AupTableSelectionColumn<TR extends AupTableRow> extends AupTableColumn<TR> {\n selectAll() {\n }\n}\n","/* tslint:disable:unified-signatures */\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator';\nimport { isString } from 'lodash-es';\n\nimport { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupTableColumn } from './table/aup-table-column';\nimport { AupTableRow } from './table/aup-table-row';\nimport { AupTableSelectionColumn } from './table/aup-table-selection-column';\n\nexport abstract class AupAbstractTable<TR extends AupTableRow> extends PageElement {\n\n row(rowId: any): TR {\n return this.createRow(parent => {\n return parent.dom().find(AupAbstractTable.cssSelectorForTableRowById(rowId));\n });\n }\n\n rowNumber(rowNumber: number): TR {\n return this.createRow(parent => {\n return parent.dom().find(AupAbstractTable.cssSelectorForNthTableRow(rowNumber));\n });\n }\n\n column(columnId: string): AupTableColumn<TR> {\n return new AupTableColumn(this, columnId);\n }\n\n @Memoize()\n get selectionColumn(): AupTableSelectionColumn<TR> {\n return new AupTableSelectionColumn(this, 'selection-column');\n }\n\n abstract createRow(locator: ElementLocator): TR\n\n}\n\nexport namespace AupAbstractTable {\n\n\n export function cssSelectorForTableRowById(rowId: string) {\n return `tbody tr[aup-row-id=${rowId}]`;\n }\n\n export function cssSelectorForNthTableRow(rowNumber: number) {\n return `tbody tr:nth-child(${rowNumber})`;\n }\n\n export function cssSelectorForColumnCellRendererById(columnOrId: AupTableColumn<any> | string) {\n const columnId = isString(columnOrId) ? columnOrId : columnOrId.columnId;\n return `aup-table-cell-renderer[column-id=${columnId}]`;\n }\n\n export function cssSelectorForCell(rowId: string, columnOrId: string | AupTableColumn<any>) {\n return `${cssSelectorForTableRowById(rowId)} ${cssSelectorForColumnCellRendererById(columnOrId)}`;\n }\n\n}\n","/* tslint:disable:unified-signatures */\nimport { PageElement } from '../../page-element';\nimport { AupAbstractTable } from '../aup-abstract-table';\nimport { AupTableCell } from './aup-table-cell';\nimport { AupTableColumn } from './aup-table-column';\nimport { AupTableSelectionCell } from './aup-table-selection-cell';\nimport { AupTableSelectionColumn } from './aup-table-selection-column';\nimport Chainable = Cypress.Chainable;\n\nexport class AupTableRow extends PageElement<AupAbstractTable<any>> {\n\n rowId(): Chainable<string> {\n return this.dom()\n .invoke('attr', 'aup-row-id');\n }\n\n shouldHaveRowId(rowId: string) {\n this.rowId().should('eq', rowId);\n }\n\n cell(columnId: string): AupTableCell<this>\n cell(column: AupTableColumn<this>): AupTableCell<this>\n cell(column: AupTableSelectionColumn<this>): AupTableSelectionCell<this>\n cell(columnOrId: string | AupTableColumn<this>): AupTableCell<this> {\n const self = this;\n return new AupTableCell(this.parent, parent => {\n return self.rowId()\n .then(rowId => AupAbstractTable.cssSelectorForCell(rowId, columnOrId))\n .then(selector => parent.dom().find(selector));\n });\n }\n\n shouldBeSelected() {\n this.dom().should('have.class', 'aup-row-selected');\n }\n\n shouldNotBeSelected() {\n this.dom().should('not.have.class', 'aup-row-selected');\n }\n\n}\n","/* tslint:disable:unified-signatures */\nimport { ElementLocator } from '../element-locator';\nimport { AupAbstractTable } from './aup-abstract-table';\nimport { AupTableRow } from './table/aup-table-row';\n\nexport class AupTable extends AupAbstractTable<AupTableRow> {\n createRow(locator: ElementLocator): AupTableRow {\n return new AupTableRow(this, locator);\n }\n}\n","/* tslint:disable:unified-signatures */\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator';\nimport { ElementLocator } from '../element-locator';\nimport { AupAbstractTable } from './aup-abstract-table';\nimport { AupTableColumn } from './table/aup-table-column';\nimport { AupTableRow } from './table/aup-table-row';\n\nexport class AupTreeTable extends AupAbstractTable<AupTreeTable.Row> {\n\n @Memoize()\n get treeControlColumn(): AupTreeTable.TreeControlColumn {\n return new AupTreeTable.TreeControlColumn(this, 'tree-label');\n }\n\n createRow(locator: ElementLocator): AupTreeTable.Row {\n return new AupTreeTable.Row(this, locator);\n }\n\n}\n\nexport namespace AupTreeTable {\n\n export class Row extends AupTableRow {\n shouldBeExpanded() {\n this.dom().should(\"not.have.class\", \"aup-node-collapsed\")\n }\n shouldBeCollapsed() {\n this.dom().should(\"have.class\", \"aup-node-collapsed\")\n }\n }\n\n export class TreeControlColumn extends AupTableColumn<Row> {\n }\n\n}\n","import { Constructable } from '@coolon/typescript-utilities';\nimport { PageElement } from '../page-element';\n\nexport function FormElementMixin<T, BC extends Constructable<PageElement>>(Base: BC) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n }\n\n shouldBeDisabled() {\n this.should(\"be.disabled\");\n }\n\n };\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { FormElementMixin } from './form-element-mixin';\n\nexport class Button extends FormElementMixin(PageElement) {\n\n constructor(parentElementAccessor: PageElement, buttonText: string) {\n super(parentElementAccessor, ElementLocator.findBySelectorAndTextContent('button', buttonText));\n }\n\n}\n\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { FormElementMixin } from './form-element-mixin';\n\nexport class MatCheckbox extends FormElementMixin(PageElement) {\n\n constructor(parentElementAccessor: PageElement, text: string) {\n super(parentElementAccessor, ElementLocator.findBySelectorAndTextContent('mat-checkbox', text));\n }\n\n shouldBeChecked() {\n this.hiddenCheckBoxElement().should('be.checked');\n }\n\n shouldNotBeChecked() {\n this.hiddenCheckBoxElement().should('not.be.checked');\n }\n\n hiddenCheckBoxElement() {\n return this.dom().find('input[type=checkbox]');\n }\n\n check() {\n this.hiddenCheckBoxElement().then(el => {\n if (!el.prop('checked')) {\n this.click();\n this.shouldBeChecked();\n }\n });\n }\n\n uncheck() {\n this.hiddenCheckBoxElement().then(el => {\n if (el.prop('checked')) {\n this.click();\n this.shouldNotBeChecked();\n }\n })\n }\n\n}\n\n","import { E, T } from '@angular/cdk/keycodes';\nimport { Constructable } from '@coolon/pectin';\nimport { lang, Mixin as CreateMixin } from '@coolon/typescript-utilities';\nimport { isFunction, isString } from 'lodash-es';\n\nimport { AupCommand } from './components/aup-command';\nimport { AupEmptyState } from './components/aup-empty-state';\nimport { AupInput } from './components/aup-input';\nimport { AupMoreMenu } from './components/popup/aup-more-menu';\nimport { AupNavigation } from './components/aup-navigation';\nimport { AupTable } from './components/aup-table';\nimport { AupTreeTable } from './components/aup-tree-table';\nimport { Button } from './components/button';\nimport { MatCheckbox } from './components/mat-checkbox';\nimport { Types } from './components/types';\nimport { ElementLocator } from './element-locator';\nimport { PageElement } from './page-element';\n\nexport class ComponentBuilder {\n\n constructor(readonly parentPageElement: PageElement) {\n }\n\n find(selector: string): PageElement {\n return new PageElement(this.parentPageElement, selector);\n }\n\n section<T extends object>(selector: string, builder: ComponentBuilder.ContainerCallback<T>): T & PageElement {\n return this.component(PageElement, selector, builder);\n }\n\n contains(text: string): PageElement {\n return new PageElement(this.parentPageElement, ElementLocator.findByTextContent(text));\n }\n\n button(text: string): Button {\n return new Button(this.parentPageElement, text);\n }\n\n matCheckbox(text: string): MatCheckbox {\n return new MatCheckbox(this.parentPageElement, text);\n }\n\n aupStringInput(selector?: string): AupInput<string> {\n return new AupInput.HtmlInput(this.parentPageElement, selector ?? 'aup-string-input');\n }\n\n aupTextInput(selector?: string): AupInput<string> {\n return new AupInput.TextAreaInput(this.parentPageElement, selector ?? 'aup-text-input');\n }\n\n aupPasswordInput(selector?: string): AupInput<string> {\n return new AupInput.HtmlInput(this.parentPageElement, selector ?? 'aup-password-input');\n }\n\n aupNumberInput(selector?: string): AupInput<number> {\n return new AupInput.HtmlInput(this.parentPageElement, selector ?? 'aup-number-input');\n }\n\n aupCommand(selector: string): AupCommand\n // tslint:disable-next-line:unified-signatures\n aupCommand(face: Types.CommandFace): AupCommand\n aupCommand(faceOrSelector: string | Types.CommandFace): AupCommand {\n return new AupCommand(this.parentPageElement, faceOrSelector);\n }\n\n aupTabbedNavigation<T extends object>(): AupNavigation {\n return new AupNavigation(this.parentPageElement, 'aup-tabbed-place-navigation');\n }\n\n aupSideNavigation<T extends object>(): AupNavigation {\n return new AupNavigation(this.parentPageElement, 'aup-list-place-nav');\n }\n\n aupMoreMenu<T extends object>(selector?: string): AupMoreMenu {\n return AupMoreMenu.create(this.parentPageElement, selector);\n }\n\n aupTable(selector?: string): AupTable\n aupTable<T extends object>(builder: ComponentBuilder.ContainerCallback<T, AupTable>): AupTable & T\n aupTable<T extends object>(selector: string, builder: ComponentBuilder.ContainerCallback<T, AupTable>): AupTable & T\n aupTable<T extends object>(selectorOrBuilder?: string | ComponentBuilder.ContainerCallback<T, AupTable>,\n optionalBuilder?: ComponentBuilder.ContainerCallback<T, AupTable>): AupTable & T {\n return this.component(AupTable, selectorOrBuilder, optionalBuilder);\n }\n\n aupTreeTable(selector?: string): AupTreeTable\n aupTreeTable<T extends object>(builder: ComponentBuilder.ContainerCallback<T, AupTreeTable>): AupTreeTable & T\n aupTreeTable<T extends object>(selector: string, builder: ComponentBuilder.ContainerCallback<T, AupTreeTable>): AupTreeTable & T\n aupTreeTable<T extends object>(selectorOrBuilder?: string | ComponentBuilder.ContainerCallback<T, AupTreeTable>,\n optionalBuilder?: ComponentBuilder.ContainerCallback<T, AupTreeTable>): AupTreeTable & T {\n return this.component(AupTreeTable, selectorOrBuilder, optionalBuilder);\n }\n\n aupEmptyState(selector?: string): AupEmptyState\n aupEmptyState<T extends object>(builder: ComponentBuilder.ContainerCallback<T, AupEmptyState>): AupEmptyState & T\n aupEmptyState<T extends object>(selector: string,\n builder: ComponentBuilder.ContainerCallback<T, AupEmptyState>): AupEmptyState & T\n aupEmptyState<T extends object>(selectorOrBuilder?: string | ComponentBuilder.ContainerCallback<T, AupEmptyState>,\n optionalBuilder?: ComponentBuilder.ContainerCallback<T, AupEmptyState>): AupEmptyState & T {\n return this.component(AupEmptyState, selectorOrBuilder, optionalBuilder);\n }\n\n component<E extends PageElement>(klass: Constructable<E>, selector: string): E\n component<T extends object, E extends PageElement>(klass: Constructable<E>, builder: ComponentBuilder.ContainerCallback<T, E>): E & T\n component<T extends object, E extends PageElement>(klass: Constructable<E>, selector: string, builder: ComponentBuilder.ContainerCallback<T, E>): E & T\n component<T extends object, E extends PageElement>(klass: Constructable<E>, selectorOrBuilder?: string | ComponentBuilder.ContainerCallback<T, E>, optionalBuilder?: ComponentBuilder.ContainerCallback<T, E>): E & T\n component<T extends object, E extends PageElement>(klass: Constructable<E>, selectorOrBuilder?: string | ComponentBuilder.ContainerCallback<T, E>, optionalBuilder?: ComponentBuilder.ContainerCallback<T, E>): E & T {\n\n const selector = isString(selectorOrBuilder) ? selectorOrBuilder : undefined;\n const builder = isFunction(selectorOrBuilder) ? selectorOrBuilder : optionalBuilder;\n\n const element = new klass(this.parentPageElement, selector);\n\n if (builder) {\n // create the B&E type that the builder has access to\n const decoratedElement = CreateMixin.createProxy(element, new ComponentBuilder(element));\n // create final type that has the E & T type\n return CreateMixin.createProxy(decoratedElement, builder(decoratedElement));\n } else {\n return element as E & T;\n }\n }\n\n}\n\n\nexport namespace ComponentBuilder {\n export type ElementCallback<T, E extends PageElement = PageElement> = (section: E) => T;\n export type ContainerCallback<T, E extends PageElement = PageElement, B extends ComponentBuilder = ComponentBuilder> = (section: B & E) => T;\n\n export interface HasBuilder {\n readonly builder: ComponentBuilder;\n }\n\n export function Mixin<T, BC extends Constructable<PageElement>>(Base: BC) {\n return class extends Base implements HasBuilder {\n readonly builder: ComponentBuilder;\n constructor(...args: any[]) {\n super(...args);\n this.builder = new ComponentBuilder(this);\n }\n };\n }\n\n}\n","import { ComponentBuilder } from '../component-builder';\nimport { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupCommand } from './aup-command';\n\nexport class AupAbstractActivity extends ComponentBuilder.Mixin(PageElement) {\n\n protected _confirmCommand: AupCommand;\n protected _cancelCommand: AupCommand;\n\n readonly title: PageElement;\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n // @ts-ignore\n super(parent, selector);\n this.title = this.find('aup-activity-title');\n this._confirmCommand = this.builder.aupCommand('[data-cy=confirm-command]');\n this._cancelCommand = this.builder.aupCommand('[data-cy=cancel-command]');\n }\n\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupAbstractActivity } from './aup-abstract-activity';\nimport { AupCommand } from './aup-command';\n\nexport class AupAlert extends AupAbstractActivity {\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n super(parent, selector);\n }\n\n get closeCommand(): AupCommand {\n return this._confirmCommand;\n }\n\n clickClose() {\n this.closeCommand.click();\n }\n\n}\n","import { Constructable } from '@coolon/pectin';\nimport { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\n\nexport function AupModalMixin<T, BC extends Constructable<PageElement>>(Base: BC) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n }\n\n getDefaultElementLocator(): ElementLocator {\n return (parent: PageElement) => {\n return parent.dom().closest('body').find(this.getDefaultElementSelector());\n };\n }\n\n clickBackdrop() {\n this.dom()\n .closest(`.cdk-overlay-container`)\n .find(`.cdk-overlay-backdrop`).click(-50, -50, { force: true });\n }\n\n };\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupAlert } from './aup-alert';\nimport { AupModalMixin } from './aup-modal-mixin';\n\nexport class AupAlertDialog extends AupModalMixin(AupAlert) {\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n super(parent, selector);\n }\n\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupAbstractActivity } from './aup-abstract-activity';\nimport { AupCommand } from './aup-command';\n\nexport class AupConfirm extends AupAbstractActivity {\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n super(parent, selector);\n }\n\n get confirmCommand(): AupCommand {\n return this._confirmCommand;\n }\n\n clickConfirm() {\n this.confirmCommand.click();\n }\n\n get cancelCommand(): AupCommand {\n return this._cancelCommand;\n }\n\n clickCancel() {\n this.cancelCommand.click();\n }\n\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupAlert } from './aup-alert';\nimport { AupConfirm } from './aup-confirm';\nimport { AupModalMixin } from './aup-modal-mixin';\n\nexport class AupConfirmDialog extends AupModalMixin(AupConfirm) {\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n super(parent, selector);\n }\n\n}\n","import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { AupAbstractActivity } from './aup-abstract-activity';\nimport { AupCommand } from './aup-command';\n\nexport class AupActivity extends AupAbstractActivity {\n\n constructor(parent: PageElement, selector: string | ElementLocator) {\n super(parent, selector);\n }\n\n get confirmCommand(): AupCommand {\n return this._confirmCommand;\n }\n\n get cancelCommand(): AupCommand {\n return this._cancelCommand;\n }\n\n}\n","import { AupActivity } from './aup-activity';\nimport { AupModalMixin } from './aup-modal-mixin';\n\nexport class AupModalActivity extends AupModalMixin(AupActivity) {\n\n}\n","import { ComponentBuilder } from './component-builder';\nimport { AupAlertDialog } from './components/aup-alert-dialog';\nimport { AupConfirmDialog } from './components/aup-confirm-dialog';\nimport { AupModalActivity } from './components/aup-modal-activity';\n\nexport class PageBuilder extends ComponentBuilder {\n\n\n aupModalActivity<T extends object>(selector: string, builder: ComponentBuilder.ContainerCallback<T, AupModalActivity>): T & AupModalActivity {\n return this.component(AupModalActivity, selector, builder);\n }\n\n aupModalAlert<T extends object>(builder?: ComponentBuilder.ContainerCallback<T, AupAlertDialog>): T & AupAlertDialog {\n return this.component(AupAlertDialog, builder);\n }\n\n aupModelConfirm<T extends object>(builder?: ComponentBuilder.ContainerCallback<T, AupConfirmDialog>): T & AupConfirmDialog {\n return this.component(AupConfirmDialog, builder);\n }\n}\n","import { DefaultUrlSerializer, UrlSerializer } from '@angular/router';\n\nlet urlSerialiser: UrlSerializer = new DefaultUrlSerializer();\n\nexport class Path {\n\n constructor(readonly segments: Path.Segment[]) {\n }\n\n static extractVisitParameters(url: string): object {\n let result = {};\n const urlTree = urlSerialiser.parse(url);\n const urlSegments = urlTree.root.children.primary?.segments ?? [];\n urlSegments?.forEach(s => {\n result = { ...result, ...s.parameters }\n });\n return result;\n }\n\n toUrl(matrixParams: object): string {\n return this.segments.map(s => s.toUrlPart(matrixParams)).join('/');\n }\n\n}\n\nexport namespace Path {\n\n export function setUrlSerialiser(serialiser: UrlSerializer) {\n urlSerialiser = serialiser;\n }\n\n export class Segment {\n\n private routeId: string | undefined;\n private visitParams: string[];\n\n constructor(readonly path: string, params: SegmentParams = {}) {\n this.routeId = params?.routeId;\n this.visitParams = params?.visitParams ?? [];\n }\n\n toUrlPart(params: object) {\n let path: string = this.path;\n this.visitParams.forEach(p => {\n const value = params[p];\n if (value) {\n path = `${path};${p}=${value}`;\n }\n });\n if (this.routeId && params[this.routeId]) {\n path = path + '/' + params[this.routeId];\n }\n return path;\n }\n\n }\n\n export class Builder {\n\n private segments: Segment[] = [];\n\n segment(name: string, params?: SegmentParams): this {\n const builder = new Segment(name, params);\n this.segments.push(builder);\n return this;\n }\n\n getPath(): Path {\n return new Path(this.segments);\n }\n }\n\n export interface SegmentParams {\n routeId?: string;\n visitParams?: string[]\n }\n}\n","import { Mixin } from '@coolon/typescript-utilities';\nimport { isEmpty, isString } from 'lodash-es';\n\nimport { ComponentBuilder } from './component-builder';\nimport { PageBuilder } from './page-builder';\nimport { PageElement } from './page-element';\nimport { Path } from './path';\n\nexport class Page extends PageElement {\n\n protected rootElementSelector = 'body';\n\n constructor(readonly path: Path) {\n super(undefined, undefined);\n }\n\n dom(): Cypress.Chainable<JQuery<HTMLElement>> {\n return cy.get(this.rootElementSelector);\n }\n\n visit(visitParams?: object, queryParams?: { [key: string]: string }) {\n this.tryAndVisit(visitParams, queryParams);\n this.shouldBeActive(visitParams);\n }\n\n tryAndVisit(params?: object, queryParams?: { [key: string]: string }) {\n const path = this.path.toUrl(params ?? {});\n const queryString = queryParams ? `?${new URLSearchParams(queryParams).toString()}` : '';\n const fullPath = `/${path}${queryString}`;\n cy.log(`Visiting -> ${fullPath}`);\n cy.visit(fullPath);\n }\n\n shouldHaveActivityIds(...ids: string[]) {\n cy.location('search').should('contain', `?aup-interactions=${ids.join('--')}`);\n }\n\n shouldNotHaveActivityIds() {\n cy.location('search').should('not.contain', `?aup-interactions`);\n }\n\n shouldHaveTitle(title: string) {\n cy.title().should('eq', title);\n }\n\n shouldBeActive(withParameters?: object) {\n // Note: cy.window() doesn't return a promise... it's a chainable.\n cy['waitUntil'](() => {\n return cy.window().then(window => {\n return window['aup.PlaceRouter'] && !window['aup.PlaceRouter'].isNavigating();\n });\n });\n\n if (withParameters) {\n this.shouldIncludeParameters(withParameters);\n }\n }\n\n shouldIncludeParameters(parameters: object) {\n cy.location('pathname').then(path => {\n const urlParams = Path.extractVisitParameters(path);\n Object.keys(parameters).forEach(param => {\n const expected = parameters[param];\n const actual = urlParams[param];\n // cy.log(`${actual} - ${expected}`);\n expect(urlParams[param]).to.equal(expected);\n });\n });\n }\n\n shouldNotHaveParameter(name: string) {\n this.getUrlParameters().then(params => {\n expect(params[name]).to.be.undefined;\n });\n }\n\n getUrlParameters() {\n return cy.location('pathname').then(path => Path.extractVisitParameters(path));\n }\n\n}\n\n\nexport namespace Page {\n\n export function create<T extends object>(path: string, builder: ComponentBuilder.ContainerCallback<T, Page, PageBuilder>): T & Page\n // tslint:disable-next-line:unified-signatures\n export function create<T extends object>(pathBuilder: ((pathBuilder: Path.Builder) => void), builder: ComponentBuilder.ContainerCallback<T, Page, PageBuilder>): T & Page\n export function create<T extends object>(pathOrPathBuilder: string | ((pathBuilder: Path.Builder) => void), builder: ComponentBuilder.ContainerCallback<T, Page, PageBuilder>): T & Page {\n const pathBuilder = new Path.Builder();\n if (isString(pathOrPathBuilder)) {\n pathOrPathBuilder.split('/').filter(p => !isEmpty(p)).forEach(p => pathBuilder.segment(p));\n } else {\n pathOrPathBuilder(pathBuilder);\n }\n const instance = new Page(pathBuilder.getPath());\n const content = builder.call(instance, new PageBuilder(instance));\n return Mixin.createProxy(content, instance) as T & Page;\n }\n}\n","import { PageElement } from '../page-element';\n\nexport class AupCommandGroup extends PageElement {\n\n}\n","\nimport { PageElement } from '../page-element';\nimport { Types } from './types';\n\nexport class AupToolBar extends PageElement {\n\n static create(parent: PageElement, face: Types.CommandFace) {\n // const findFace = AupCommandFace.createFinder(() => parent.element(), face)\n // return new AupCommandGroup(() => findFace().closest('button'));\n }\n}\n","import { lang } from '@coolon/typescript-utilities';\nimport { PageElement } from '../../page-element';\nimport { AupCommandFace } from '../aup-command-face';\nimport { Types } from '../types';\nimport { AupAbstractPopupMenu } from './aup-abstract-popup-menu';\n\nexport class AupPopupMenu extends AupAbstractPopupMenu {\n\n constructor(parentElementAccessor: PageElement, face: Types.CommandFace) {\n const locator = AupCommandFace.createElementLocator(face)\n super(parentElementAccessor, parent => locator(parent).closest('button'));\n }\n\n static create(parent: PageElement, face: Types.CommandFace) {\n return new AupPopupMenu(parent, face);\n }\n}\n","import { AupTableCell } from './aup-table-cell';\nimport { AupTableRow } from './aup-table-row';\n\nexport class AupTableSelectionCell<TR extends AupTableRow> extends AupTableCell<TR> {\n selectAll() {\n }\n}\n","/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./component-builder\";\nexport * from \"./element-locator\";\nexport * from \"./page-builder\";\nexport * from \"./page-element\";\nexport * from \"./page\";\nexport * from \"./path\";\nexport * from \"./components/aup-abstract-activity\";\nexport * from \"./components/aup-abstract-table\";\nexport * from \"./components/aup-activity\";\nexport * from \"./components/aup-alert-dialog\";\nexport * from \"./components/aup-alert\";\nexport * from \"./components/aup-command-face\";\nexport * from \"./components/aup-command-group\";\nexport * from \"./components/aup-command\";\nexport * from \"./components/aup-confirm-dialog\";\nexport * from \"./components/aup-confirm\";\nexport * from \"./components/aup-empty-state\";\nexport * from \"./components/aup-input\";\nexport * from \"./components/aup-modal-activity\";\nexport * from \"./components/aup-modal-mixin\";\nexport * from \"./components/aup-navigation\";\nexport * from \"./components/aup-table\";\nexport * from \"./components/aup-tool-bar\";\nexport * from \"./components/aup-tree-table\";\nexport * from \"./components/button\";\nexport * from \"./components/form-element-mixin\";\nexport * from \"./components/mat-checkbox\";\nexport * from \"./components/types\";\nexport * from \"./components/popup/aup-abstract-popup-menu\";\nexport * from \"./components/popup/aup-more-menu\";\nexport * from \"./components/popup/aup-popup-menu-panel\";\nexport * from \"./components/popup/aup-popup-menu\";\nexport * from \"./components/table/aup-table-cell\";\nexport * from \"./components/table/aup-table-column\";\nexport * from \"./components/table/aup-table-row\";\nexport * from \"./components/table/aup-table-selection-cell\";\nexport * from \"./components/table/aup-table-selection-column\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './exports';\n\nexport {Types as ɵa} from './components/types';"],"names":["CreateMixin"],"mappings":";;;;;;IAIiB,eAchB;AAdD,WAAiB,cAAc;IAE7B,SAAgB,iBAAiB,CAAC,QAAgB;QAChD,OAAO,MAAM,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;KAC7C;IAFe,gCAAiB,oBAEhC,CAAA;IAED,SAAgB,iBAAiB,CAAC,IAAY;QAC5C,OAAO,MAAM,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC9C;IAFe,gCAAiB,oBAEhC,CAAA;IAED,SAAgB,4BAA4B,CAAC,QAAgB,EAAE,IAAY;QACzE,OAAO,MAAM,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;KACxD;IAFe,2CAA4B,+BAE3C,CAAA;AAEH,CAAC,EAdgB,cAAc,KAAd,cAAc;;MCGlB,WAAW;IAOtB,YAAqB,MAAS,EAAE,iBAA2C;QAAtD,WAAM,GAAN,MAAM,CAAG;QAC5B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;YAC/C,IAAI,CAAC,wBAAwB,EAAE;YAC/B,QAAQ,CAAC,iBAAiB,CAAC;gBACzB,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CAAC;gBACnD,iBAAiB,CAAC;KACvB;IAED,wBAAwB;QACtB,OAAO,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;KAC3E;IAED,yBAAyB;QACvB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC;KACnE;IAED,GAAG;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC5C;IAED,IAAI,CAAC,QAAgB;QACnB,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KACxC;IAED,KAAK,CAAC,IAAa;QACjB,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;KAC/D;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;KAClD;IAED,WAAW,CAAC,OAA0B;QACpC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACrC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;KACnB;IAED,eAAe;QACb,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;KAC3B;IAED,kBAAkB;QAChB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;KAC/B;IAED,WAAW;QACT,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KAC5B;IAED,cAAc;QACZ,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;KAChC;;;MChEU,cAAe,SAAQ,WAAW;IAE7C,YAAY,aAA0B,EAAE,IAAuB;QAC7D,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;KACjE;IAED,OAAO,oBAAoB,CAAC,IAAuB;QACjD,MAAM,OAAO,GAAG,MAAM;YACpB,OAAO,IAAI,CAAC,IAAI;gBACd,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtD,IAAI,CAAC,IAAI;oBACP,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,4BAA4B,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;oBACzF,SAAS,CAAC;SAEf,CAAC;;QAEF,OAAO,OAAO,CAAC;KAChB;;;MCfU,UAAW,SAAQ,WAAW;IAEzC,YAAY,MAAmB,EAAE,cAA0C;QACzE,KAAK,CAAC,MAAM,EAAE,aAAa;YACzB,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE;gBAC5B,OAAO,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACjD;iBAAM;gBACL,OAAO,cAAc,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;aAClG;SACF,CAAC,CAAC;KACJ;IAED,KAAK;QACH,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC;KAC1B;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;KACzB;IAED,gBAAgB;QACd,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;KACxC;IAED,eAAe;QACb,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;KAC5C;IAEO,SAAS;QACf,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAClC;;;MClCU,aAAc,SAAQ,WAAW;IAE5C,iBAAiB,CAAC,IAAW;QAC3B,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;KACxC;;;MCHmB,QAAY,SAAQ,WAAW;IAEnD,KAAK;QACH,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACjC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACpC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACrC;IAED,IAAI,WAAW;QACb,OAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;KACvC;IAED,IAAI,UAAU;QACZ,OAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;KACvC;IAED,IAAI,WAAW;QACb,OAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;KACxC;IAED,aAAa,CAAC,IAAY;QACxB,OAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;KAC7C;IAED,YAAY,CAAC,IAAY;QACvB,OAAQ,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;KAC5C;IAED,aAAa,CAAC,IAAY;QACxB,OAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;KAC7C;IAED,eAAe;QACb,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;KACnC;IAED,kBAAkB;QAChB,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;KACvC;IAED,IAAI,CAAC,UAAiB;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC/B;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;KACrB;CAMF;AAED,WAAiB,QAAQ;IACvB,MAAa,SAAa,SAAQ,QAAW;QAC3C,KAAK;YACH,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACjC;QAED,KAAK;YACH,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;SACtB;QAED,QAAQ,CAAC,KAAQ;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;SAC/C;QAED,gBAAgB;YACd,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;SACrB;KAEF;IApBY,kBAAS,YAoBrB,CAAA;IAED,MAAa,aAAiB,SAAQ,QAAW;QAE/C,gBAAgB;YACd,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;SACrB;QAED,KAAK;YACH,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACpC;QAED,KAAK;YACH,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;SACtB;QAED,QAAQ,CAAC,KAAQ;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;SAC1C;KACF;IApBY,sBAAa,gBAoBzB,CAAA;AAEH,CAAC,EA7CgB,QAAQ,KAAR,QAAQ;;MC7DZ,iBAAkB,SAAQ,WAAW;;;MCErC,oBAAqB,SAAQ,WAAW;IAInD,YAAY,MAAmB,EAAE,OAAuB;QACtD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;KACpE;IAES,WAAW,CAAC,CAAc;QAClC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KAClD;IAES,UAAU;QAClB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;KAClE;IAES,WAAW;QACnB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;KACxD;IAED,SAAS;QACP,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;IAED,UAAU;QACR,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;KAC5B;IAED,YAAY;QACV,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;KAC9B;IAED,eAAe;QACb,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;KACxE;;;MCtCU,WAAY,SAAQ,oBAAoB;IAEnD,OAAO,MAAM,CAAC,MAAmB,EAAE,QAAiB;QAClD,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,iBAAiB,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,eAAe,CAAC,CAAC,CAAC;KAC/F;;;MCLU,aAAc,SAAQ,WAAW;IAE5C,KAAK,CAAC,KAAa;QACjB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC3B;IAED,IAAI,CAAC,KAAa;QAChB,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC;KACxD;IAED,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;KACpC;IAED,iBAAiB,CAAC,KAAa;QAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC;KACnC;;;MCdU,YAAqC,SAAQ,WAAiC;IAEzF,KAAK;QACH,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KAC9D;IAED,GAAG;QACD,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM;YACjC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC1G,CAAC,CAAC;KACJ;;;MCXU,cAAuC,SAAQ,WAAiC;IAE3F,YAAY,KAA4B,EAAW,QAAgB;QACjE,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,oCAAoC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAD7B,aAAQ,GAAR,QAAQ,CAAQ;KAElE;IAED,cAAc,CAAC,OAAe;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAC,MAAM;YACxC,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,oCAAoC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;SAC7G,CAAC,CAAC;KACJ;IAED,aAAa,CAAC,OAAe;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;KAC3C;;;MCjBU,uBAAgD,SAAQ,cAAkB;IACrF,SAAS;KACR;;;MCKmB,gBAAyC,SAAQ,WAAW;IAEhF,GAAG,CAAC,KAAU;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM;YAC1B,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC;SAC9E,CAAC,CAAC;KACJ;IAED,SAAS,CAAC,SAAiB;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM;YAC1B,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC;SACjF,CAAC,CAAC;KACJ;IAED,MAAM,CAAC,QAAgB;QACrB,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KAC3C;IAGD,IAAI,eAAe;QACjB,OAAO,IAAI,uBAAuB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;KAC9D;CAIF;AANC;IADC,OAAO,EAAE;8BACa,uBAAuB;;uDAE7C;AAMH,WAAiB,gBAAgB;IAG/B,SAAgB,0BAA0B,CAAC,KAAa;QACtD,OAAO,uBAAuB,KAAK,GAAG,CAAC;KACxC;IAFe,2CAA0B,6BAEzC,CAAA;IAED,SAAgB,yBAAyB,CAAC,SAAiB;QACzD,OAAO,sBAAsB,SAAS,GAAG,CAAC;KAC3C;IAFe,0CAAyB,4BAExC,CAAA;IAED,SAAgB,oCAAoC,CAAC,UAAwC;QAC3F,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC;QACzE,OAAO,qCAAqC,QAAQ,GAAG,CAAC;KACzD;IAHe,qDAAoC,uCAGnD,CAAA;IAED,SAAgB,kBAAkB,CAAC,KAAa,EAAE,UAAwC;QACxF,OAAO,GAAG,0BAA0B,CAAC,KAAK,CAAC,IAAI,oCAAoC,CAAC,UAAU,CAAC,EAAE,CAAC;KACnG;IAFe,mCAAkB,qBAEjC,CAAA;AAEH,CAAC,EApBgB,gBAAgB,KAAhB,gBAAgB;;ACrCjC;MASa,WAAY,SAAQ,WAAkC;IAEjE,KAAK;QACH,OAAO,IAAI,CAAC,GAAG,EAAE;aACd,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KACjC;IAED,eAAe,CAAC,KAAa;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAClC;IAKD,IAAI,CAAC,UAAyC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM;YACzC,OAAO,IAAI,CAAC,KAAK,EAAE;iBAChB,IAAI,CAAC,KAAK,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;iBACrE,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;SAClD,CAAC,CAAC;KACJ;IAED,gBAAgB;QACd,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;KACrD;IAED,mBAAmB;QACjB,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;KACzD;;;MCjCU,QAAS,SAAQ,gBAA6B;IACzD,SAAS,CAAC,OAAuB;QAC/B,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACvC;;;MCDU,YAAa,SAAQ,gBAAkC;IAGlE,IAAI,iBAAiB;QACnB,OAAO,IAAI,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;KAC/D;IAED,SAAS,CAAC,OAAuB;QAC/B,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAC5C;CAEF;AARC;IADC,OAAO,EAAE;8BACe,YAAY,CAAC,iBAAiB;;qDAEtD;AAQH,WAAiB,YAAY;IAE3B,MAAa,GAAI,SAAQ,WAAW;QAClC,gBAAgB;YACd,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAA;SAC1D;QACD,iBAAiB;YACf,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAA;SACtD;KACF;IAPY,gBAAG,MAOf,CAAA;IAED,MAAa,iBAAkB,SAAQ,cAAmB;KACzD;IADY,8BAAiB,oBAC7B,CAAA;AAEH,CAAC,EAdgB,YAAY,KAAZ,YAAY;;SCjBb,gBAAgB,CAA2C,IAAQ;IACjF,OAAO,cAAc,IAAI;QACvB,YAAY,GAAG,IAAW;YACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;SAChB;QAED,gBAAgB;YACd,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;SAC5B;KAEF,CAAC;AACJ;;MCVa,MAAO,SAAQ,gBAAgB,CAAC,WAAW,CAAC;IAEvD,YAAY,qBAAkC,EAAE,UAAkB;QAChE,KAAK,CAAC,qBAAqB,EAAE,cAAc,CAAC,4BAA4B,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;KACjG;;;MCJU,WAAY,SAAQ,gBAAgB,CAAC,WAAW,CAAC;IAE5D,YAAY,qBAAkC,EAAE,IAAY;QAC1D,KAAK,CAAC,qBAAqB,EAAE,cAAc,CAAC,4BAA4B,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;KACjG;IAED,eAAe;QACb,IAAI,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;KACnD;IAED,kBAAkB;QAChB,IAAI,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;KACvD;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KAChD;IAED,KAAK;QACH,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACvB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,eAAe,EAAE,CAAC;aACxB;SACF,CAAC,CAAC;KACJ;IAED,OAAO;QACL,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,EAAE;YAClC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACtB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC3B;SACF,CAAC,CAAA;KACH;;;MCpBU,gBAAgB;IAE3B,YAAqB,iBAA8B;QAA9B,sBAAiB,GAAjB,iBAAiB,CAAa;KAClD;IAED,IAAI,CAAC,QAAgB;QACnB,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;KAC1D;IAED,OAAO,CAAmB,QAAgB,EAAE,OAA8C;QACxF,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KACvD;IAED,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;KACxF;IAED,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;KACjD;IAED,WAAW,CAAC,IAAY;QACtB,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;KACtD;IAED,cAAc,CAAC,QAAiB;QAC9B,OAAO,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,kBAAkB,CAAC,CAAC;KACvF;IAED,YAAY,CAAC,QAAiB;QAC5B,OAAO,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,gBAAgB,CAAC,CAAC;KACzF;IAED,gBAAgB,CAAC,QAAiB;QAChC,OAAO,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,oBAAoB,CAAC,CAAC;KACzF;IAED,cAAc,CAAC,QAAiB;QAC9B,OAAO,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,kBAAkB,CAAC,CAAC;KACvF;IAKD,UAAU,CAAC,cAA0C;QACnD,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;KAC/D;IAED,mBAAmB;QACjB,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,6BAA6B,CAAC,CAAC;KACjF;IAED,iBAAiB;QACf,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;KACxE;IAED,WAAW,CAAmB,QAAiB;QAC7C,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;KAC7D;IAKD,QAAQ,CAAmB,iBAA4E,EAC5E,eAAiE;QAC1F,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;KACrE;IAKD,YAAY,CAAmB,iBAAgF,EACpF,eAAqE;QAC9F,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;KACzE;IAMD,aAAa,CAAmB,iBAAiF,EACjF,eAAsE;QACpG,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;KAC1E;IAMD,SAAS,CAA0C,KAAuB,EAAE,iBAAqE,EAAE,eAA0D;QAE3M,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,GAAG,SAAS,CAAC;QAC7E,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,GAAG,eAAe,CAAC;QAEpF,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAE5D,IAAI,OAAO,EAAE;;YAEX,MAAM,gBAAgB,GAAGA,KAAW,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;;YAEzF,OAAOA,KAAW,CAAC,WAAW,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;SAC7E;aAAM;YACL,OAAO,OAAgB,CAAC;SACzB;KACF;CAEF;AAGD,WAAiB,gBAAgB;IAQ/B,SAAgB,KAAK,CAA2C,IAAQ;QACtE,OAAO,cAAc,IAAI;YAEvB,YAAY,GAAG,IAAW;gBACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;gBACf,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;aAC3C;SACF,CAAC;KACH;IARe,sBAAK,QAQpB,CAAA;AAEH,CAAC,EAlBgB,gBAAgB,KAAhB,gBAAgB;;MC1HpB,mBAAoB,SAAQ,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC;IAO1E,YAAY,MAAmB,EAAE,QAAiC;;QAEhE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;KAC3E;;;MCbU,QAAS,SAAQ,mBAAmB;IAE/C,YAAY,MAAmB,EAAE,QAAiC;QAChE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KACzB;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;KAC7B;IAED,UAAU;QACR,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;KAC3B;;;SCba,aAAa,CAA2C,IAAQ;IAC9E,OAAO,cAAc,IAAI;QACvB,YAAY,GAAG,IAAW;YACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;SAChB;QAED,wBAAwB;YACtB,OAAO,CAAC,MAAmB;gBACzB,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;aAC5E,CAAC;SACH;QAED,aAAa;YACX,IAAI,CAAC,GAAG,EAAE;iBACP,OAAO,CAAC,wBAAwB,CAAC;iBACjC,IAAI,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;SACnE;KAEF,CAAC;AACJ;;MClBa,cAAe,SAAQ,aAAa,CAAC,QAAQ,CAAC;IAEzD,YAAY,MAAmB,EAAE,QAAiC;QAChE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KACzB;;;MCJU,UAAW,SAAQ,mBAAmB;IAEjD,YAAY,MAAmB,EAAE,QAAiC;QAChE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KACzB;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;KAC7B;IAED,YAAY;QACV,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;KAC7B;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;IAED,WAAW;QACT,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KAC5B;;;MCnBU,gBAAiB,SAAQ,aAAa,CAAC,UAAU,CAAC;IAE7D,YAAY,MAAmB,EAAE,QAAiC;QAChE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KACzB;;;MCLU,WAAY,SAAQ,mBAAmB;IAElD,YAAY,MAAmB,EAAE,QAAiC;QAChE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KACzB;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;KAC7B;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;;;MCdU,gBAAiB,SAAQ,aAAa,CAAC,WAAW,CAAC;;;MCEnD,WAAY,SAAQ,gBAAgB;IAG/C,gBAAgB,CAAmB,QAAgB,EAAE,OAAgE;QACnH,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KAC5D;IAED,aAAa,CAAmB,OAA+D;QAC7F,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;KAChD;IAED,eAAe,CAAmB,OAAiE;QACjG,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;KAClD;;;AChBH,IAAI,aAAa,GAAkB,IAAI,oBAAoB,EAAE,CAAC;MAEjD,IAAI;IAEf,YAAqB,QAAwB;QAAxB,aAAQ,GAAR,QAAQ,CAAgB;KAC5C;IAED,OAAO,sBAAsB,CAAC,GAAW;;QACvC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,MAAA,MAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,0CAAE,QAAQ,mCAAI,EAAE,CAAC;QAClE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAC,CAAC;YACpB,MAAM,mCAAQ,MAAM,GAAK,CAAC,CAAC,UAAU,CAAE,CAAA;SACxC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;KACf;IAED,KAAK,CAAC,YAAoB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACpE;CAEF;AAED,WAAiB,IAAI;IAEnB,SAAgB,gBAAgB,CAAC,UAAyB;QACxD,aAAa,GAAG,UAAU,CAAC;KAC5B;IAFe,qBAAgB,mBAE/B,CAAA;IAED,MAAa,OAAO;QAKlB,YAAqB,IAAY,EAAE,SAAwB,EAAE;;YAAxC,SAAI,GAAJ,IAAI,CAAQ;YAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,mCAAI,EAAE,CAAC;SAC9C;QAED,SAAS,CAAC,MAAc;YACtB,IAAI,IAAI,GAAW,IAAI,CAAC,IAAI,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACxB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,KAAK,EAAE;oBACT,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;iBAChC;aACF,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBACxC,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC1C;YACD,OAAO,IAAI,CAAC;SACb;KAEF;IAxBY,YAAO,UAwBnB,CAAA;IAED,MAAa,OAAO;QAApB;YAEU,aAAQ,GAAc,EAAE,CAAC;SAWlC;QATC,OAAO,CAAC,IAAY,EAAE,MAAsB;YAC1C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC;SACb;QAED,OAAO;YACL,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAChC;KACF;IAbY,YAAO,UAanB,CAAA;AAMH,CAAC,EAnDgB,IAAI,KAAJ,IAAI;;MCjBR,IAAK,SAAQ,WAAW;IAInC,YAAqB,IAAU;QAC7B,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QADT,SAAI,GAAJ,IAAI,CAAM;QAFrB,wBAAmB,GAAG,MAAM,CAAC;KAItC;IAED,GAAG;QACD,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;KACzC;IAED,KAAK,CAAC,WAAoB,EAAE,WAAuC;QACjE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;KAClC;IAED,WAAW,CAAC,MAAe,EAAE,WAAuC;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,WAAW,GAAG,IAAI,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC;QACzF,MAAM,QAAQ,GAAG,IAAI,IAAI,GAAG,WAAW,EAAE,CAAC;QAC1C,EAAE,CAAC,GAAG,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;QAClC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;KACpB;IAED,qBAAqB,CAAC,GAAG,GAAa;QACpC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,qBAAqB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAChF;IAED,wBAAwB;QACtB,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;KAClE;IAED,eAAe,CAAC,KAAa;QAC3B,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAChC;IAED,cAAc,CAAC,cAAuB;;QAEpC,EAAE,CAAC,WAAW,CAAC,CAAC;YACd,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM;gBAC5B,OAAO,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,YAAY,EAAE,CAAC;aAC/E,CAAC,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;SAC9C;KACF;IAED,uBAAuB,CAAC,UAAkB;QACxC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI;YAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK;gBACnC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;;gBAEhC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAC7C,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ;IAED,sBAAsB,CAAC,IAAY;QACjC,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,MAAM;YACjC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;SACtC,CAAC,CAAC;KACJ;IAED,gBAAgB;QACd,OAAO,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;KAChF;CAEF;AAGD,WAAiB,IAAI;IAKnB,SAAgB,MAAM,CAAmB,iBAAiE,EAAE,OAAiE;QAC3K,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACvC,IAAI,QAAQ,CAAC,iBAAiB,CAAC,EAAE;YAC/B,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5F;aAAM;YACL,iBAAiB,CAAC,WAAW,CAAC,CAAC;SAChC;QACD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAa,CAAC;KACzD;IAVe,WAAM,SAUrB,CAAA;AACH,CAAC,EAhBgB,IAAI,KAAJ,IAAI;;MCjFR,eAAgB,SAAQ,WAAW;;;MCEnC,UAAW,SAAQ,WAAW;IAEzC,OAAO,MAAM,CAAC,MAAmB,EAAE,IAAuB;;;KAGzD;;;MCHU,YAAa,SAAQ,oBAAoB;IAEpD,YAAY,qBAAkC,EAAE,IAAuB;QACrE,MAAM,OAAO,GAAG,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;QACzD,KAAK,CAAC,qBAAqB,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;KAC3E;IAED,OAAO,MAAM,CAAC,MAAmB,EAAE,IAAuB;QACxD,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KACvC;;;MCZU,qBAA8C,SAAQ,YAAgB;IACjF,SAAS;KACR;;;ACLH;;;;ACAA;;;;;;"}
|